var icon_ville1 = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/push_rouge.png', new google.maps.Size(16, 28), new google.maps.Point(0,0), new google.maps.Point(8, 28));
var icon_ville2 = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/push_bleu.png', new google.maps.Size(14, 24), new google.maps.Point(0,0), new google.maps.Point(7, 24));

var icon_photo = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/photo.png', new google.maps.Size(18, 18), new google.maps.Point(0,0), new google.maps.Point(9, 9));
var icon_photo2 = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/photo2.png', new google.maps.Size(25, 25), new google.maps.Point(0,0), new google.maps.Point(12, 12));

var icon_hotel = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/hotel_gg.png', new google.maps.Size(33, 33), new google.maps.Point(0,0), new google.maps.Point(16, 16));
var icon_hotel2 = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/hotel.png', new google.maps.Size(21, 21), new google.maps.Point(0,0), new google.maps.Point(10, 10));

var icon_parking = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/parking_gg.png', new google.maps.Size(18, 18), new google.maps.Point(0,0), new google.maps.Point(9, 9));
var icon_gare = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/gare_gg.png', new google.maps.Size(18, 18), new google.maps.Point(0,0), new google.maps.Point(9, 9));
var icon_aero = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/aero_gg.gif', new google.maps.Size(21, 21), new google.maps.Point(0,0), new google.maps.Point(10, 10));
var icon_porte = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/porte_gg.png', new google.maps.Size(18, 18), new google.maps.Point(0,0), new google.maps.Point(9, 9));
var icon_metro = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/metro_gg.png', new google.maps.Size(18, 18), new google.maps.Point(0,0), new google.maps.Point(9, 9));

var icon_visit360 = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/virtual360.png', new google.maps.Size(21, 21), new google.maps.Point(0,0), new google.maps.Point(10, 10));

var icon_annonce = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/push_bleu.png', new google.maps.Size(14, 24), new google.maps.Point(0,0), new google.maps.Point(7, 24));
var icon_annonce2 = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/push_rouge2.png', new google.maps.Size(14, 24), new google.maps.Point(0,0), new google.maps.Point(7, 24));

var icon_poly = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/maison.png', new google.maps.Size(32, 32), new google.maps.Point(0,0), new google.maps.Point(16, 16));

var icon_rue = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/icon_rue.gif', new google.maps.Size(21, 18), new google.maps.Point(0,0), new google.maps.Point(10, 9));

var icon_drapeau = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/drapeau.png', new google.maps.Size(21, 32), new google.maps.Point(0,0), new google.maps.Point(0, 32));

var icon_tour_paris = [];
for(var h=1; h<=17; h++){
	icon_tour_paris[h] = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/paris_c' + h + '.png', new google.maps.Size(18, 18), new google.maps.Point(0,0), new google.maps.Point(9, 9));
}

var icon_arrdt = [];
for(var i=1; i<=20; i++){
	icon_arrdt[i] = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/label_arrdt_' + i + '.png', new google.maps.Size(32, 32), new google.maps.Point(0,0), new google.maps.Point(16, 16));
}

var icon_prov = [];
for(var i=0; i<=36; i++){
	icon_prov[i] = new google.maps.MarkerImage('http://www.cybevasion.fr/lib/icones/tourisme/google/' + i + '.png', new google.maps.Size(18, 18), new google.maps.Point(0,0), new google.maps.Point(9, 9));
}

var icon_num = [];
for(var i=1; i<=50; i++){
	icon_num[i] = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/push_' + i + '.png', new google.maps.Size(22, 37), new google.maps.Point(0,0), new google.maps.Point(11, 37));
}

var icon_num2 = [];
for(var i=1; i<=15; i++){
	icon_num2[i] = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/push2_' + i + '.png', new google.maps.Size(22, 37), new google.maps.Point(0,0), new google.maps.Point(11, 37));
}

var icon_num3 = [];
for(var i=1; i<=15; i++){
	icon_num3[i] = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/push3_' + i + '.png', new google.maps.Size(22, 37), new google.maps.Point(0,0), new google.maps.Point(11, 37));
}

var icon_labelnum = [];
for(var i=1; i<=25; i++){
	icon_labelnum[i] = new google.maps.MarkerImage('http://www.cybevasion.fr/lib2/google/labels/label_' + i + '.gif', new google.maps.Size(17, 17), new google.maps.Point(0,0), new google.maps.Point(8, 8));
}


var map;
var ma_carte;

function changeType(a){
	if(a=='satellite'){
		map.setMapTypeId(google.maps.MapTypeId.SATELLITE);
	}

	if(a=='map'){
		map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
	}

	if(a=='hybrid'){
		map.setMapTypeId(google.maps.MapTypeId.HYBRID);
	}

	if(a=='relief'){
		map.setMapTypeId(google.maps.MapTypeId.TERRAIN);
	}
}

function createMarker(my_map, my_position, contenu_html, type_icon, index_gg) {
	var marker = new google.maps.Marker({ position: my_position, map: my_map, icon: type_icon });

	if(contenu_html!=""){
		google.maps.event.addListener(marker, 'click', function() { infoBulle.setContent(contenu_html); infoBulle.open(my_map, marker) } );
	}

	return marker;
}

function createMarker2(my_map, my_position, contenu_html, type_icon, index_gg) {
	var marker = new google.maps.Marker({ position: my_position, map: my_map, icon: type_icon });

	if(contenu_html!=""){
		google.maps.event.addListener(marker, 'click', function() { infoBulle.setContent(contenu_html); infoBulle.open(my_map, marker) } );
	}

	return marker;
}

function affiche_marker(my_marker){
	google.maps.event.trigger(marqueur[my_marker], 'click');
	marqueur[my_marker].setIcon(icon_annonce2);
	marqueur[my_marker].setZIndex(999);
}

function affiche_marker2(my_marker){
	google.maps.event.trigger(marqueur[my_marker], 'click');
	marqueur[my_marker].setZIndex(999);
}

function revert_marker(my_marker) {
	marqueur[my_marker].setIcon(icon_annonce);
	marqueur[my_marker].setZIndex(undefined);
}

function revert_marker2(my_marker) {
	marqueur[my_marker].setZIndex(undefined);
}

var panorama;

function createSvMarker(point, contenu_html, type_icon, my_yaw, my_pitch, my_zoom, my_width, my_height) {
	var marker = new GMarker(point, type_icon);
	var contentNode = document.createElement('div');
	contentNode.style.textAlign = 'center';
	contentNode.style.width = '600px';
	contentNode.style.height = '400px';
	contentNode.innerHTML = 'Street View en cours de chargement...';
	var smallNode = document.createElement('div');
	smallNode.style.width = my_width + 'px';
	smallNode.style.height = my_height + 'px';
	smallNode.id = 'pano';

	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindow(smallNode);
	});
	GEvent.addListener(marker, "infowindowopen", function() {
		panorama = new GStreetviewPanorama(smallNode);
		myPOV = {yaw:my_yaw,pitch:my_pitch,zoom:my_zoom};
		panorama.setLocationAndPOV(point, myPOV);
		panorama.checkResize();
	});
	return marker;
}

function createSvPano(latp, lonp, my_yaw, my_pitch, my_zoom) {
	panorama = new GStreetviewPanorama(document.getElementById("panoSV"));
	panorama.setLocationAndPOV(new GLatLng(latp, lonp), {yaw: my_yaw, pitch: my_pitch, zoom: my_zoom});
}

function createDragMarker(my_map, my_position, contenu_html, index_gg) {
	var marker = new google.maps.Marker({ position: my_position, map: my_map, draggable: true});

	if(contenu_html!=""){
		google.maps.event.addListener(marker, 'click', function() { infoBulle.setContent(contenu_html); infoBulle.open(my_map, marker) } );
	}

	return marker;
}

var infoBulle = new google.maps.InfoWindow();
var marqueur = new Array();
var bounds = new google.maps.LatLngBounds();

function max_zoom(zoom_level, my_map){
	var zoomListner = google.maps.event.addListener(my_map, 'zoom_changed', function() {
		google.maps.event.removeListener(zoomListner);
		if (this.getZoom()>zoom_level){
			this.setZoom(zoom_level);
		}
	});
}

var directionDisplay;
var directionsService = new google.maps.DirectionsService();

function initIti(){
	directionsDisplay = new google.maps.DirectionsRenderer();
	directionsDisplay.setMap(ma_carte);
	directionsDisplay.setPanel(document.getElementById('directionsPanel'));
}

function calcIti() {
	var start = document.getElementById('start_iti').value;
	var end = document.getElementById('end_iti').value;
	var request = {
		origin:start, 
		destination:end,
		travelMode: google.maps.DirectionsTravelMode.DRIVING
	};
	directionsService.route(request, function(response, status) {
		if (status == google.maps.DirectionsStatus.OK) {
			directionsDisplay.setDirections(response);
		}else{
			alert('Error: ' + status);
		}
	});
}
