

var xml = xml_file['now'];
var prev_index = '';
var map_type = '';
var forced_search = '';
var map;

function changeXML(xml_to_load) {
	
	xml = xml_file[xml_to_load];
	hl_index = xml_to_load;
	if ( xml_to_load != 'now' ) {
		prev_index = 'prevision-J-'+xml_to_load;
	}
	else {
		prev_index = '';
	}
    map.clearOverlays();
	
	document.getElementById('prevjnow').className = '';
	
	for (i = 0; i<= 7; i++ ) {
		if ( document.getElementById('prevj'+i) ) {
			document.getElementById('prevj'+i).className = '';
		}
	}
	document.getElementById('prevj'+hl_index).className = 'active';
	
	initiateXML();
}

function switchIcon() {
	if ( default_icon == 'neb' ) {
		default_icon = 'temp';
	}
	else {
		default_icon = 'neb';
	}
	map.clearOverlays();
	createMarkers();
}

function load() {

	if (GBrowserIsCompatible()) {
       	map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(center_x,center_y), center_zoom); // center on France

		map.setMapType(default_map_type);
		
		if ( map_type == 'country' ) {
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			var options = {
				suppressZoomToBounds : true,
			    onIdleCallback : function() {
										document.getElementById('searchstatus').innerHTML = '';
									},
				onSearchCompleteCallback : function(searcher){
													document.getElementById('searchstatus').innerHTML = '';
													if ( searcher.results.length == 0 ) {
														alert("Votre recherche n'a donné aucun résultat. Veuillez réessayer.");
													}

				                                 }
			      };
 			map.lsc = new google.maps.LocalSearch(options); 
			map.addControl(map.lsc);
			map.setMapType(G_HYBRID_MAP);
			if ( forced_search != '' ) {
				show_loader();
				map.lsc.execute(forced_search);
			}
			
		}
		else if ( map_type == 'userdefined' ) {
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			window.setTimeout(initiateXML, 0);
		}
		else {
			window.setTimeout(initiateXML, 0);
			map.addControl(new GSmallMapControl());
			map.enableContinuousZoom();
		}
	
	}
}




function initiateXML() {
	var request = GXmlHttp.create();
	ts= new Date();
	request.open("GET", xml+'?ts='+ts.getTime(), true);
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			var xmlDoc = request.responseXML;
			xml_markers = xmlDoc.documentElement.getElementsByTagName("city");
			createMarkers();
		}
	}
	request.send(null);
	return false;
}

function createMarkers() {

	for (var i = 0; i < xml_markers.length; i++) {
			var pt_lon		= xml_markers[i].getAttribute("lon");
			var	pt_lat		= xml_markers[i].getAttribute("lat");
			var pt_level 	= xml_markers[i].getAttribute("level");
			var pt_id		= xml_markers[i].getAttribute("id");
			var pt_templo	= xml_markers[i].getAttribute("templo");
			var pt_temphi	= xml_markers[i].getAttribute("temphi");
			var pt_icon		= xml_markers[i].getAttribute("icon");
			var pt_name		= xml_markers[i].getAttribute("name");
			var pt_urlname	= xml_markers[i].getAttribute("urlname");
			
			var dest_url 	= '/meteo/previsions-ville/'+url_prev+'/'+ pt_urlname + '-' + pt_id + '/'+prev_index;
			
			var point = new GPoint( parseFloat(pt_lon), parseFloat(pt_lat) );
			/*pt_html  = '<b>Météo de '+pt_name+'<br/>';
			pt_html += '<a href="'+dest_url+'" style="text-decoration:none;color:black"><img src="/styles/img/icones/' + pt_icon + '.gif" width="64" style="float:left;margin-right:10px;"/>';
			pt_html += '<span class="cold" style="font-size:24px; line-height:64px">'+pt_templo+'°C</span>';
			if ( pt_temphi ) {
				pt_html += '<span style="font-size:24px"> / </span><span class="hot" style="font-size:24px">'+pt_temphi+'°C</span>';
			}
			pt_html += '</a></b>';
			pt_html += '<div class="breaker" style="width:100px"></div>';
			pt_html += '<div style="text-align:center"><a href="'+dest_url+'" style="color:black">Voir les prévisions pour cette ville</a></div>';*/
			pt_html  = '<div style="text-align:center"><a href="'+dest_url+'" style="color:black;text-decoration:none"><b style="font-size:14px">Météo de '+pt_name+'</b>';
			pt_html += '<br/><br/>Quel temps fait-il à '+pt_name+' ? </a><br/><br/>';
			pt_html += '<a href="'+dest_url+'" style="color:black">Voir les prévisions pour cette ville</a></div>';
			
			if ( default_icon == 'neb' ) {
				marker = createMarker(point, pt_name, pt_html, getIcon(pt_icon) ,dest_url);
			}
			else {
				if ( pt_temphi ) {
					marker = createMarker(point, pt_name, pt_html, getTempIcon(pt_temphi), dest_url);
				}
				else {
					marker = createMarker(point, pt_name, pt_html, getTempIcon(pt_templo), dest_url);
				}
			}
	 		map.addOverlay(marker);
		
	}	

}


function getIcon(icon_number) {

	// Avoid re-creating the same icon twice
	if ( ! icons_array[icon_number] ) {
		var icon = new GIcon();
		var prefix = "/styles/img/icones/small/";
		icon.image = prefix + icon_number + ".png";

		icon.shadow = "";
		icon.iconSize = new GSize(32, 32);
		icon.shadowSize = new GSize(22, 20);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(4, 15);	
		icons_array[icon_number] = icon;
	}
	
	return icons_array[icon_number];	
}


function getTempIcon(icon_number) {
	// Avoid re-creating the same icon twice
	if ( !icons_temp_array[icon_number] ) {
		var icon = new GIcon();
		var prefix = "/styles/img/icones/temp/";
		icon.image = prefix + icon_number + ".png";

		icon.shadow = "";
		icon.iconSize = new GSize(41, 24);
		icon.shadowSize = new GSize(22, 20);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(10, 15);	
		icons_temp_array[icon_number] = icon;
	}
	
	return icons_temp_array[icon_number];	
}

function createMarker(point,name,html,icon, url) {
// TWCi removal of forecast

	if ( map_type == 'userdefined' ) {
		var marker = new GMarker(point, {icon:icon});		
	}
	else { 
		var marker = new GMarker(point);
	}
	GEvent.addListener(marker, "mouseover", function() {
          marker.openInfoWindowHtml(html);
    });

	GEvent.addListener(marker, "click", function() {
		loadornot();
		window.location = url;
	});
	return marker;
}

function show_loader() {
	document.getElementById('searchstatus').innerHTML = '<img src="/styles/img/ajax-loader.gif"/>';
}