//<![CDATA[ 
//variables globales ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
var maplat = 43.649988; var maplon = 5.347595; var mapzoom = 8;
var mapmarkers = "++"; var mapsponsors = "";
var showOnceSelectedValues = 1;
var useOnceMapParams = 2;
var vecesRight = 1;
var mapZoomFromMenu = 0; var mapCoordenadesFromMenu = "";
var boolVilleSelected = false;
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



var strIDS = "";
//datos temporales para sponsors
var gmarkers = []; var i = 0;
function createMarker(point, title, content) {  
	var marker = new GMarker(point);  
	GEvent.addListener(marker, "click",	function() { marker.openInfoWindowHtml("<strong>" + title + "</strong><br/>" + content); });
	return marker;
}
function redirectDetails(params){
	params += 	"&mapZoom="+document.getElementById("map_zoom").value+
			"&mapCenter="+document.getElementById("map_coordenades").value+
			"&txtSearch="+document.getElementById("textSearch").value;
	document.location = params;
}
function stringToNumber(n1){ if(n1){ return parseFloat(n1.split(",").join(".")); }else{ return 0; }}
function checkAll(field){
for (i = 0; i < field.length; i++)
	field[i].checked = true ;
}
function uncheckAll(field){
for (i = 0; i < field.length; i++)
	field[i].checked = false ;
}
function Left(str, n){
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else
		return String(str).substring(0,n);
}
function Right(str, n){
	if (n <= 0)
	   return "";
	else if (n > String(str).length)
	   return str;
	else {
	   var iLen = String(str).length;
	   return String(str).substring(iLen, iLen - n);
	}
}
function trim(cadena){
	for(i=0; i<cadena.length; ){
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}
	for(i=cadena.length-1; i>=0; i=cadena.length-1){
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(0,i);
		else
			break;
	}
	return cadena;
}
function KeyPress(){

		$("#btnSubmit").trigger('click');
		return false;
	
}
function setDropDownSelectedValue(elemID,valueToSet){
	var dropDown = document.getElementById(elemID);
	for (var i = 0; i < dropDown.length; i++){
		if (parseInt(dropDown.options[i].value) == parseInt(valueToSet)){
			dropDown.selectedIndex = i;
			//dropDown.options[i].selected = true;
			return;
		}
	}
	dropDown.selectedIndex = 0;
	//dropDown.options[0].selected = true;
	return;
}
function getDropDownSelectedValue(elemID){
	var dropDown = document.getElementById(elemID);
	if (dropDown.selectedIndex==-1){ 
		return 0;	
	}else{
		return dropDown.options[dropDown.selectedIndex].value;
	}
}
function ajaxCallForSelectIssue(hiddenID,visibleID,valueToSelect){
	$.ajax({
	   type: "POST",
	   url: "process.asp",
	   async: false,
	   data: "action=filleLittleThingForIEIssue",
	   success: function(txt){
			//alert(txt);
			options1 = "<option value='"+ txt +"'>"+ txt +"</option>";
			$("#"+hiddenID).prepend(options1);
				//document.getElementById("area").options[0].selected = true;
				setDropDownSelectedValue(visibleID,valueToSelect);

		}
	});
}						
function load(lat,lon,size,mmakers,boolerase,paramZoom,paramCenter,boolFirstMap,catSelected) { 
	if (GBrowserIsCompatible()){
		boolFirstMap = true;
		var arrayMarkers = new Array(); var strMarkers = mmakers;
		if (size=="" || size==0){ size=7; } //default ZOOM
		/*
		var mapopt = {size: new GSize(512,460)}; 
		var map = new GMap2(document.getElementById("divmap"), mapopt);
		*/
		map.setCenter(new GLatLng(lat, lon), size);
		map.enableScrollWheelZoom();
		map.setMapType(G_NORMAL_MAP);
		if (strMarkers!="++" && strMarkers!=""){ var bounds = new GLatLngBounds(); }
		//alert(strMarkers);
		if (boolerase == 1) { map.clearOverlays(); }
		var Icon = new GIcon();
		Icon.iconSize=new GSize(32,32);
		Icon.shadowSize=new GSize(56,32);
		Icon.iconAnchor=new GPoint(16,32);
		Icon.infoWindowAnchor=new GPoint(16,0);

		function createMarker(point,html,icon,typeOfMarker) {
			var marker = new GMarker(point,icon);
			
			GEvent.addListener(marker, "click", function() {
					//marker.openInfoWindowHtml(html);
					show_annonce(typeOfMarker);
					
					for(var a=0;a<gmarkers.length;a++){
						gmarkers[a].setImage("http://maps.google.com/mapfiles/kml/pal3/icon55.png");
					}
					
					// change marker image
					marker.setImage("http://maps.google.com/mapfiles/kml/pal5/icon6.png");
					map.setCenter(point, 15);
			}); 
			/*
			GEvent.addListener(map, "infowindowclose", function() {
					var zoomOnClick = document.getElementById("map_zoom").value;
					var coordenadeOnClick = document.getElementById("map_coordenades").value;
					
					var arrayCoordenades = coordenadeOnClick.split(",");
					var paramLat = parseFloat(  Right(  trim(arrayCoordenades[0]), (arrayCoordenades[0].length - 1)  ) );
					var paramLon = parseFloat(  Left(  trim(arrayCoordenades[1]), (arrayCoordenades[1].length - 1)  )  );
					map.setCenter(new GLatLng(paramLat, paramLon), parseInt(zoomOnClick));
			});
			*/
	        /*
			GEvent.addListener(map, "zoomend", function() {
				
					document.getElementById("map_zoom").value = map.getZoom();
					document.getElementById("map_coordenades").value = map.getCenter();
				
			});
			*/
			return marker;
		}
		arrayMarkers = strMarkers.split("*");
		i = 0;
		var center_on_the_marker = false;
		
		for (var index in arrayMarkers){
			var arrayEachMarker = arrayMarkers[index].split("+");
			var markerLat = stringToNumber(arrayEachMarker[0]); var markerLon = stringToNumber(arrayEachMarker[1]);
			var markerData = arrayEachMarker[2]; 
					
			if (arrayEachMarker[3]=="C" || arrayEachMarker[3]=="A" || arrayEachMarker[3]=="S"){
				var pushpin = new GIcon(Icon, arrayEachMarker[4], null, arrayEachMarker[5]);			
			}else{
				var pushpin = new GIcon(Icon, "http://maps.google.com/mapfiles/kml/pal3/icon55.png", null, "http://maps.google.com/mapfiles/kml/pal3/icon55s.png");			
			}
			if (arrayEachMarker[3]==window.sID){	
				var pushpin = new GIcon(Icon, "http://maps.google.com/mapfiles/kml/pal5/icon6.png", null, "http://maps.google.com/mapfiles/kml/pal3/icon55s.png");
				center_on_the_marker = true;
				var real_mapLat = markerLat;
				var real_mapLon = markerLon;
				
			}
			
			var location = new GLatLng(markerLat,markerLon);

			var marker = createMarker(location, markerData, pushpin,arrayEachMarker[3])				    

			if (markerLat!=0 || markerLon!=0){ 
				map.addOverlay(marker);
				gmarkers[i] = marker;
				i++;
				if (boolFirstMap){ bounds.extend(location); }

			}
			
		}
		
		map.addControl(new GLargeMapControl()); 
		map.addControl(new GMapTypeControl());
		map.enableContinuousZoom(); 

		// SET MAP CENTER---------------------------------------------------------------------------------------------------------------------
		
		if (!boolFirstMap){
				//alert("size:"+size+"|lat:"+lat+"|lon:"+lon);
				//alert("mapCoordenadesFromMenu: "+mapCoordenadesFromMenu); alert("mapZoomFromMenu: "+mapZoomFromMenu);
				var coordToSetNotFirstMap; var zoomToSetNotFirstMap;
				if (mapZoomFromMenu!=0){ zoomToSetNotFirstMap = mapZoomFromMenu; }else{ zoomToSetNotFirstMap =  map.getZoom(); }
				if (mapCoordenadesFromMenu!=""){ 
					coordToSetNotFirstMap = mapCoordenadesFromMenu;
					var arrayCoordenades = mapCoordenadesFromMenu.split(",");
					lat = parseFloat(  Right(  trim(arrayCoordenades[0]), (arrayCoordenades[0].length - 1)  ) );
					lon = parseFloat(  Left(  trim(arrayCoordenades[1]), (arrayCoordenades[1].length - 1)  )  );
				}else{ 
					coordToSetNotFirstMap = map.getCenter(); 
				}
				//alert("lat: "+lat+"-lon: "+lon); alert("zoom: "+zoomToSetNotFirstMap);
				map.setCenter(new GLatLng(lat, lon), zoomToSetNotFirstMap);
				document.getElementById("map_zoom").value = zoomToSetNotFirstMap;
				document.getElementById("map_coordenades").value = map.getCenter();
		}else{
				if (!center_on_the_marker){
					map.setZoom(map.getBoundsZoomLevel(bounds));
					map.setCenter(bounds.getCenter());
				}else{
					/*
					map.setZoom(map.getBoundsZoomLevel(bounds));
					map.setCenter(bounds.getCenter());
					*/
					map.setCenter(new GLatLng(real_mapLat, real_mapLon), 15);
				}
		}
		//----------------------------------------------------------------------------------------------------------------------------------------
		
	}else{
		document.getElementById("divmap").innerHTML = "Browser is not compatible";
	}
} 
// This function picks up the click and opens the corresponding info window
function myclick(i) {
	GEvent.trigger(gmarkers[i], "click");
}
//]]> 	
function ParseTextToAjaxSend(val){
		var arrayValToParse = new Array(); var parsedText = "";
		arrayValToParse = val.split(" "); 
		for (var index in arrayValToParse){
			if (parsedText!=""){ parsedText+="|"; }
			parsedText+=arrayValToParse[index];
		}
		return parsedText;
}
function show_annonce(id){
	//alert(id);
	document.getElementById("fset_map").style.display = "";
	$("#fset_map2").css("display", "");
	
	$("#markercontact").html("Chargement...");
	$("#markerresult").html("Chargement...");
	$("#markerdata").html("");
	$.ajax({
	   type: "POST",
	   url: "/xmlprocess_site.php",
	   data: "action=getvente&idVENTE="+id,
	   success: function(xml){
			//alert(txtxml);
			var result = $("result",xml).text();
			var a_result = result.split("|");
			
			var latcoord = a_result[0];
			var loncoord = a_result[1];
			var contact = a_result[2];
			var texte = a_result[3];
			var result = a_result[4];
			
			$("#markerresult").html(result);
			$("#markercontact").html(contact);
			$("#markerdata").html(texte);
			
		}
	});
	
}





$(document).ready(function(){
	//alert(window.markers);
	mapmarkers = window.markers;
	load(maplat,maplon,mapzoom,mapmarkers,0);
	
});
