var orig_lat = 44.22158376545796;
var orig_lng = 0.24169921875;
var zoom_orig = 7;

var map = null;
var geocoder = null;
var tab_marker = new Array();
var tab_default = new Array();
var nb_marker = null
var mescoord = new Array()
var icon = null;
var icons = {"w" : 41, "h" : 57, "f":"/fileadmin/templates/img/ico-struct-map.png"};

function results(param)
{
	textResults(param);
	resetPoints();
	GMAPResults(param);
}

function GMAPResults(param)
{

	defUrl = 'typo3conf/ext/tx_alienor_gmap/pi1/gmap-results.php';
	var data = param;

  var http_request = getHTTPObject();
	
	http_request.onreadystatechange = function(){
	if (http_request.readyState == 4) 
	{
	 eval(http_request.responseText);
	}
	};
	
	http_request.open('POST', defUrl, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", data.length);
	
	http_request.send(data);
}

function TEXTDefaut(id)
{
	
	defUrl = 'typo3conf/ext/tx_alienor_gmap/pi1/text-defaut.php';
	var data = 'id='+id;

  var http_request = getHTTPObject();
	
	http_request.onreadystatechange = function(){
	if (http_request.readyState == 4) 
	{
	 //eval(http_request.responseText);
	 document.getElementById("resultats").innerHTML = http_request.responseText;
	}
	};
	
	http_request.open('POST', defUrl, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", data.length);
	
	http_request.send(data);
	
}



function GMAPDefaut(id)
{

	defUrl = 'typo3conf/ext/tx_alienor_gmap/pi1/gmap-defaut.php';
	var data = 'id='+id;

  var http_request = getHTTPObject();
	
	http_request.onreadystatechange = function(){
	if (http_request.readyState == 4) 
	{
		//alert(http_request.responseText);
	 
	 //document.getElementById("temp").innerHTML = http_request.responseText;
	 eval(http_request.responseText);
	}
	};
	
	http_request.open('POST', defUrl, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", data.length);
	
	http_request.send(data);
}






function textResults(param)
{
	id_calque = 'resultats';
//	param = 'a=test';
	defUrl = 'typo3conf/ext/tx_alienor_gmap/pi1/text-results.php';

	var data = param;


	 var divresult = document.getElementById(id_calque);//div mis a jour
	
	
	 var http_request = getHTTPObject();
	
	 http_request.onreadystatechange = function(){
	 if (http_request.readyState == 4) 
	 {
		 divresult.innerHTML = http_request.responseText;
		
	 }
	 if (http_request.readyState == 1)
	 {
		 divresult.innerHTML = '<p class="content-center" style="margin:5px;"><img src="/fileadmin/templates/img/ajax-loader.gif" alt=""></p>';
	 }
	
	 if (http_request.readyState == 2)
	 {
	 
	 divresult.innerHTML = '<p class="content-center" style="margin:5px;"><img src="/fileadmin/templates/img/ajax-loader.gif" alt=""></p>';
	 
	 }
	 };
	
	http_request.open('POST', defUrl, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", data.length);
	
	http_request.send(data);
}

function recordPoint(point,uid){
alert(point+'-'+uid);
	if(point != null){	
 		param = 'id='+uid+'&lng='+point.lng()+'&lat='+point.lat();
 		defUrl = 'typo3conf/ext/tx_alienor_gmap/pi1/maj-coord.php';
		var data = param;
 		var http_request = getHTTPObject();
		http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) 
		{
			 document.getElementById("temp").innerHTML = http_request.responseText;
		}
		};
			
		http_request.open('POST', defUrl, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", data.length);
		http_request.send(data);
	}
}

function GMapAffichPoint(address,nb,details,longit,latit,uid)
{
	if(longit == 0 && latit == 0)
	{
		GMapSearchAddress (address,nb,details);	
		
		var rez = geocoder.getLatLng(
			address,
			function(point)
			{
					if(point != null)
					{	
 						param = 'id='+uid+'&lng='+point.lng()+'&lat='+point.lat();
 						defUrl = 'typo3conf/ext/tx_alienor_gmap/pi1/maj-coord.php';
						var data = param;
 						var http_request = getHTTPObject();
						http_request.onreadystatechange = function(){
						if (http_request.readyState == 4) 
						{
			 					document.getElementById("temp").innerHTML = http_request.responseText;
						}
						};
			
						http_request.open('POST', defUrl, true);
						http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
						http_request.setRequestHeader("Content-length", data.length);
						http_request.send(data);
					}
				}
		);
		
		if(!rez)
		{ 
			taddress = address.split(',');
			GMapSearchAddress (taddress[1],nb,details);	

			var rez2 = geocoder.getLatLng(
			taddress[1],
			function(point)
			{
					if(point != null)
					{	
 						param = 'id='+uid+'&lng='+point.lng()+'&lat='+point.lat();
 						defUrl = 'typo3conf/ext/tx_alienor_gmap/pi1/maj-coord.php';
						var data = param;
 						var http_request = getHTTPObject();
						http_request.onreadystatechange = function(){
						if (http_request.readyState == 4) 
						{
			 					document.getElementById("temp").innerHTML = http_request.responseText;
						}
						};
			
						http_request.open('POST', defUrl, true);
						http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
						http_request.setRequestHeader("Content-length", data.length);
						http_request.send(data);
					}
				}
		);
		}
		
	}
	else
	{
			tab_marker[nb] = GMapCreateMarkerFromPoint(new GLatLng(latit,longit), icon, details);
  		map.addOverlay(tab_marker[nb]);
	}
}


function GMapCreateMarkerFromPoint(point, icon, info)
{
  var marker = new GMarker(point, icon);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(info);
  });
  return marker;
}

function showInfo(num,info){
	var marker = tab_marker[num];
	if(marker != null)
		marker.openInfoWindowHtml(info);
}



function GMapSearchAddress (address,compt,details) {

	//var address_marker = null;
	//alert(address);
	nb_marker = compt;
	if (address) {
	  geocoder.getLatLng(
	    address,
	    function(point) {
	      if (point) {
	 
	      		tab_marker[compt] = GMapCreateMarkerFromPoint(point,icon,details);
	      			map.addOverlay(tab_marker[compt]);
	      } 
	    }
	  );
	}
}

function resetPoints()
{
	
	//nb_marker+1

		for(i=0;i<tab_marker.length;i++){
			if(tab_marker[i] != null)
			{
			map.removeOverlay(tab_marker[i]);
			}
		}
	
	

		for(i=0;i<tab_default.length;i++){
			if(tab_default[i] != null)
			{
			map.removeOverlay(tab_tab_default[i]);
			}
		}
	
	
}


function gup(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}


function GMapLoad() {
	
	var id = gup('id');

  if (GBrowserIsCompatible()) {
  	
    map = new GMap2(document.getElementById("mapgmap"));
    geocoder = new GClientGeocoder();
    
    map.setCenter(new GLatLng(orig_lat, orig_lng), zoom_orig);
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
	
    icon = GMapCreateIcon(icons.f, icons.w, icons.h);
   GMAPDefaut(id);
   TEXTDefaut(id);
	}

}

function GMapCreateIcon(f, w, h) {
	var ico = new GIcon();

	ico.iconSize = new GSize(w, h);
	ico.iconAnchor = new GPoint(w/2, h/2);
	ico.infoWindowAnchor = new GPoint(w/2, h/2);
	ico.image = f;

	return ico;
}

function GMapUnLoad() {
	GUnload();
}