

/*var xml = xml_file['now'];
var xml = '/cache/cities/' + url_prev + '/data.xml';
var prev_index = '';
var map_type = '';
var forced_search = '';
var map;
*/
var xml;
var visibleBubble = '';
var iterator = 0;
var markers = [];
function load() {
	var myOptions = {
		zoom: center_zoom,
		center: new google.maps.LatLng(center_x, center_y),
		scrollwheel: false,
		streetViewControl: false,
		mapTypeControl: false,
		navigationControl:true,
		navigationControlOptions: google.maps.NavigationControlStyle.ZOOM_PAN,
    	mapTypeId: google.maps.MapTypeId.TERRAIN
    };
    map = new google.maps.Map(document.getElementById("map"), myOptions);
	if ( typeof xml == 'undefined' ) {
		xml_to_load = '/cache/cities/' + country + '/data.xml';
	}
	else {
		xml_to_load = xml;
	}

	$.ajax({
		url:  xml_to_load,
		success: function(data) {
			xml_markers = data.documentElement.getElementsByTagName("city");
			/*
			for (var i = 0; i < xml_markers.length; i++) {
				setTimeout(function() {
					createMarkers();
				}, i * 125);

			}*/
			createAllMarkers();
		}
	});
}

function createAllMarkers() {
	marker 	= [];
	batch_a = [];
	batch_b = [];
	batch_c = [];
	var mgr = new MarkerManager(map);

	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_id		= xml_markers[i].getAttribute("id");
		var pt_name		= xml_markers[i].getAttribute("name");
		var pt_urlname	= xml_markers[i].getAttribute("urlname");
		var pt_zoom		= xml_markers[i].getAttribute("level");
		var point = new google.maps.LatLng( parseFloat(pt_lat), parseFloat(pt_lon) );
		
		var dest_url 	= '/meteo/previsions-ville/' + country + '/'+ pt_urlname + '-' + pt_id;
		
		pt_html  = '<div style="text-align:center; height: 100px"><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>';
		
		marker[i] = createMarker(point, pt_name, pt_html, dest_url);

		if ( pt_zoom == 'C' ) {
			batch_c.push(marker[i]);
		}	
		else if ( pt_zoom == 'B' ) {
			batch_b.push(marker[i]);
		}
		else {
			batch_a.push(marker[i]);	
		}

	
	}
	
	google.maps.event.addListener(mgr, 'loaded', function() {
						mgr.addMarkers(batch_a, center_zoom-1 );
						mgr.addMarkers(batch_b, center_zoom + 2);
						mgr.addMarkers(batch_c, center_zoom + 3);
						mgr.refresh();	
					});
}

function createMarkers() {
			i = iterator;

			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/' + country + '/'+ pt_urlname + '-' + pt_id;
			
			var point = new google.maps.LatLng( parseFloat(pt_lat), parseFloat(pt_lon) );
		
			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>';
		
		
			var marker = new google.maps.Marker({
				position: point,
				map: map,
				title: pt_name,
				draggable: false,
      			animation: google.maps.Animation.DROP
				
			});
			attachCustomEvent(marker, pt_html, dest_url);
		 	markers.push(marker);
	 		//map.addOverlay(marker);
		
	
			iterator++;
}

function attachCustomEvent(marker, message, url) {
	var infowindow = new google.maps.InfoWindow({ 
		content: message
      });

  	google.maps.event.addListener(marker, 'mouseover', function() {
		if (visibleBubble != '' ) {
	        visibleBubble.close();
	    }
		infowindow.open(map, marker);
	    visibleBubble = infowindow;
  	});

	google.maps.event.addListener(marker, 'click', function () {
			document.location = url;
	});
}


//function createMarker(point,name,html,icon, url) {
function createMarker(point, name, html, url) {
	var marker = new google.maps.Marker({
            position: point,
  			animation: google.maps.Animation.DROP

           });

	var infowindow = new google.maps.InfoWindow({ 
		content: html
      });

  	google.maps.event.addListener(marker, 'mouseover', function() {
		if (visibleBubble != '' ) {
	        visibleBubble.close();
	    }
		infowindow.open(map, marker);
	    visibleBubble = infowindow;
  	});
	google.maps.event.addListener(marker, 'click', function () {
			document.location = url;
	});

	return marker;
/*// 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() {
		window.location = url;
	});
	return marker;
	*/
	
}

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

function change_animated_map() {
	if ( offset < 10 ) {
		url_offset = '0' + offset;
	}
	else {
		url_offset = offset;
	}
	$('#animated_map').attr('src', '');
	$('#animated_map').attr('src', '/cache/gfs/run' + run + '/' + geozone + '-' + map_type + '-' + url_offset + '.png');
	$('#animated_legend').html(legend[offset]);
}

function animate_prev () {

	if ( offset == 3 ) {
		offset = 180;
	}
	else {
		offset = offset - 3;
	}
	change_animated_map();
}
function animate_next() {

	if ( offset == 180 ) {
		offset = 3;
	}
	else {
		offset = offset + 3;
	}	
	change_animated_map();
}


$(document).ready(function() {
	$('.dropdown').mouseenter(function() {
		$("ul", this).css('display', 'block');
		$("ul", this).mouseenter(function() {
			$('a', $(this).parent()).addClass('rollover');
			});
		$("ul", this).mouseleave(function() {
			$('a', $(this).parent()).removeClass('rollover');
			});
	});

	$('.dropdown').mouseleave(function() {
		$("ul", this).css('display', 'none');
	});
	var cache = jQuery.ajaxSettings.cache;
  	jQuery.ajaxSettings.cache = true;
  	// Load FeatureLoader asynchronously. Once loaded, we execute Facebook init 

  	jQuery.getScript('http://connect.facebook.net/fr_FR/all.js', function() {
    	FB.init({appId: '221970194494411', status: true, cookie: true, xfbml: true});
  	});
  // just Restore jQuery caching setting
  jQuery.ajaxSettings.cache = cache;
});
