
var map='';
var lanote='';
var lastover='';
var bouge = [];
var added = [];
var page=1;
var baseIcon = new GIcon();
baseIcon.iconSize = new GSize(30, 40);
baseIcon.iconAnchor = new GPoint(15, 40);
baseIcon.infoWindowAnchor = new GPoint(15, 40); 
var gicons = []; var gicons2 = [];
gicons["p"] = new GIcon(baseIcon, "http://www.geolid.com/quel/images/quelgaragiste/picto.png");
gicons["home"] = new GIcon(baseIcon, "http://www.geolid.com/quel/images/quelgaragiste/home.png");

function openavis() { document.getElementById('login').style.display = 'block'; }

function v(note) {
	document.getElementById('cnote').className = 's'+note;
    writediv(note, 'manot');
}

function r(note) { lanote=note; document.getElementById('lanote').value=note;}

function m(note) {
	if(lanote!='')
    	v(lanote);
       else
       v(0);
}

function pr(id) { popupcentree("http://www.geolid.com/quel/php/page_print_reduc.php?id="+id+"&c2=333333",610,230,""); }

function gal(lien) { popupcentree("http://www.geolid.com/quel/images/commerces/"+lien+"-a.jpg",660,500,""); }
function gal2(lien) { popupcentree("http://www.geolid.com/images/commerce/"+lien+"-a.jpg",660,500,""); }

function add(id) { popupcentree("http://www.geolid.com/quel/php/page_ajout_com.php?id="+id,470,570,"menubar=no,scrollbars=yes,statusbar=no"); }

function pop_it(the_form,url) {
   my_form = eval(the_form)
   var erreur='';
   if (document.getElementById('lanote').value=='')
   		erreur='- Veuillez donner une note<br />';
   if (document.getElementById('txtavis').value=='' || document.getElementById('txtavis').value=='Ecrivez ici votre avis')
   		erreur=erreur+'- Veuillez écrire un avis dans le champs texte ci-dessous<br />';
   if (document.getElementById('prenom').value=='')
   		erreur=erreur+'- Veuillez entrer votre prénom ou pseudo<br />';
   if (document.getElementById('reduc').checked==true && document.getElementById('lemail').value=='')
   		erreur=erreur+'- Veuillez entrer votre email pour recevoir les réductions<br />';
   if (test_email(document.getElementById('lemail').value)==false && document.getElementById('lemail').value!='')
   		erreur=erreur+'- Veuillez entrer une adresse email valide<br />';
   if (document.getElementById('txtavis').value.length<20)
   		erreur=erreur+'- Votre avis doit faire plus de 20 caractères<br />';
        
   if (erreur=='') {
   		popupcentree("http://www.geolid.com/quel/php/page_avis_wait.php",350,200,"");
   		my_form.target = "popup";
   		my_form.submit();
        writediv('', 'erreur');
        writediv('<br /><div align="center">Votre avis a bien été enregistré !</div><br />', 'ecriavi');
        document.getElementById('ecriavi').style.background = 'none';
        window.setTimeout(function() { 
            window.location.href='http://lyon.quel-garagiste.com/'+url;
		}, 2000);
    } else
    	writediv(erreur+'<br/>', 'erreur');
}

function galri(nbr) {
	for(var i=1;i<=nbr;i++) {
		if (document.getElementById('i'+i)) {
			document.getElementById('i'+i).style.display = 'none';
        }
    }
    if (page<nbr) 
        page++;
    else if (page==nbr)
    	page=1;
        
    document.getElementById('i'+page).style.display = 'block';
    writediv(page, 'numpage');
}

function addhome(lat,long) {
    var point = new GLatLng(lat, long);
	var marker = new GMarker(point, gicons["home"]);  
	map.addOverlay(marker);
}

function test_email (mailteste) {
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]­{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if(reg.test(mailteste)) {
		return(true);
} else {
	return(false);
}
}

function savemail() {
   var lemail = document.getElementById('askinput').value;
   var idcom = document.getElementById('idcom').value;
   if (lemail !='' && lemail !='Votre email' && test_email(lemail)==true) {
   		popupcentree("http://www.geolid.com/quel/php/page_savemail.php?idcom="+idcom+"&lemail="+lemail,350,200,"");
  	    writediv('<br /><div align="center">Merci, vous serez averti par email<br />des prochaines réductions !</div>', 'inask');
    } else {
    	alert("Veuillez entrer une adresse email valide !");
    }
}

function popupcentree(page,largeur,hauteur,options) { 
	if (options=="") options = "menubar=no,scrollbars=no,statusbar=no";
	var top=(screen.height-hauteur)/2;     
	var left=(screen.width-largeur)/2;     
	window.open(page,"popup","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options); 
}

function ouv (quoi) {
	if (document.getElementById(quoi).style.display=="block")
			document.getElementById(quoi).style.display="none";
	else
			document.getElementById(quoi).style.display="block";
}

function menu(num) {
	for(var i=1;i<=5;i++) {
		if (document.getElementById('c'+i)) {
			document.getElementById('c'+i).style.display = 'none';
			document.getElementById('m'+i).style.background = '#333333';
		}
	}
	
	if (document.getElementById('c'+num)) {
		document.getElementById('c'+num).style.display = 'block';
		document.getElementById('m'+num).style.background = '#cc201e';
	}
}

function vote(id,num,idcom) {
	if (document.getElementById('v'+id)) {
        document.getElementById('v'+id).className = 'avote';
        document.getElementById('v'+id).innerHTML =Number(num)+Number(1);
        file('index.php?vote='+escape(idcom));
    }
}

function grab(variables, fichier, div) {
	writediv('Veuillez patienter ...', div); 
	texte = file(fichier+'?var='+escape(variables));
	writediv(texte, div);
}

function writediv(texte, div){
	document.getElementById(div).innerHTML = texte;
}

function select_all() {
document.getElementById("cod").focus();
document.getElementById("cod").select();
}

function file(fichier) {
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);

	if(xhr_object.readyState == 4) return(xhr_object.responseText);
	else return(false);
}

function a(lat,long,id) {
	
	var point = new GLatLng(lat, long);
	var marker = new GMarker(point, gicons["p"]);  
	map.addOverlay(marker);
	added[id]=1;
}

function windo(lat,long,nom,id,tel,adresse,addpoint) {
 	if (lastover=='' || lastover!=id) {
		bouge[id] = window.setTimeout(function() { 
			var pointinfo = new GLatLng(lat,long);
            if (document.getElementById('infomap'))  document.getElementById('infomap').style.display = 'none';
			map.openInfoWindowHtml(pointinfo,'<div id="nombul">'+nom+'</div><div id="txtbul">Tel : '+tel+'<br />Adresse : '+adresse+'</div>');
            if (addpoint=='1' && added[id]!=1) {
            	 a(lat,long,id);   
             }
			lastover=id;
		}, 200);
	}
}

function sto(id) {
	window.clearTimeout(bouge[id]);
}

    	var latpoint = "";
        var lngpoint = "";
        var address = "";
        var address2 = "";
        var reasons=[];
       
      reasons[G_GEO_SUCCESS]            = "Success";
      reasons[G_GEO_MISSING_ADDRESS]    = "Adresse manquante";
      reasons[G_GEO_UNKNOWN_ADDRESS]    = "Adresse inconnue";
      reasons[G_GEO_UNAVAILABLE_ADDRESS]= "Adresse indisponible";
      reasons[G_GEO_BAD_KEY]            = "Erreur de Clef";
      reasons[G_GEO_TOO_MANY_QUERIES]   = "Trop de visiteurs connectes  !";
      reasons[G_GEO_SERVER_ERROR]       = "Erreur";
		
        geo = new GClientGeocoder();
       
      function addAddressToMap(response) {

      if (!response || response.Status.code != 200) {
        alert(address + " non trouvée ! \n\n Entrez l' adresse comme ci-dessous : \n\n 1 rue de la republique Lyon");
      } else {
		 place = response.Placemark[0];
        ville = place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;   
		document.getElementById('lat').value = latpoint;
		document.getElementById('long').value = lngpoint;
		
       
		EcrireCookie("loc", latpoint+'|'+lngpoint+'|'+address2+'|'+ville, date, "/", "lyon.quel-garagiste.com");
        
        window.location.href='http://lyon.quel-garagiste.com';
      }
    }
   
      
      function creerpoint(lat,lng,address) {
			var point = new GLatLng(lat,lng);
			latpoint = point.lat();
			lngpoint = point.lng();
		   geo.getLocations(address, addAddressToMap);
      }
    

    function storeAddress(tip){
		var address = document.getElementById('adresse').value;
		var country = 'France';
	
        if (address!="") {
        	
            address2=address;
            var address= address+' '+country;
            showAddress(address);
			
        } else {
           document.getElementById('message').innerHTML = '<strong>Adresse vide !</strong>';
           document.getElementById('message').style.display = 'block';
        }
    }
	
	function writeAddress(rue,ville){
		document.getElementById('adresse').value = rue+' '+ville;	
		document.getElementById('message').style.display = 'none';
		storeAddress();
	}
    
    function showAddress(address) {
	   
        geo.getLocations(address, function (result)
          {
            if (result.Status.code == G_GEO_SUCCESS) {
	
              if (result.Placemark.length > 1) {
			  
			  	document.getElementById('message').style.display = 'block';
                document.getElementById("message").innerHTML = "<span style='color:#333333;'><b>Veuillez cliquer sur votre adresse :</b></span>";
                for (var i=0; i<result.Placemark.length; i++) {
                  var p = result.Placemark[i].Point.coordinates;
                  document.getElementById("message").innerHTML += "<br>"+(i+1)+": <a href=\"javascript:writeAddress('" +addslashes(result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare.ThoroughfareName)+"', '"+addslashes(result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName)+"')\" >"+result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare.ThoroughfareName+' '+result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName+"</a>";
                }
							
              }
              else {
			  
                var p = result.Placemark[0].Point.coordinates;
                creerpoint(p[1],p[0],address);
	              }
            }
            else {
              var reason="Code "+result.Status.code;
              if (reasons[result.Status.code]) 
                reason = reasons[result.Status.code]
                document.getElementById('message').innerHTML = '<b>" '+address+ '" : ' + reason+'</b>';
           		document.getElementById('message').style.display = 'block';
            }
          }
        );
      }

date=new Date;
date.setFullYear(date.getFullYear()+10);
      
function EcrireCookie(nom, valeur) {
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function EffaceCookie(nom) {
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	EcrireCookie(nom,null,date);
}

function getCookieVal(offset)
{
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1) endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function LireCookie(nom)
{
var arg=nom+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen)
{
var j=i+alen;
if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;

}
return null;
}

function ResetCookie(nom) {
	var ancien="";
    ancien=LireCookie("loc");
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	EcrireCookie(nom,null,date, "/",".quel-garagiste.com");
    date=new Date;
	date.setFullYear(date.getFullYear()+10);
    EcrireCookie(nom, ancien, date, "/", "lyon.quel-garagiste.com");
}

function addslashes(str) {
    return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");
}
