// JavaScript Document
/* Ajax Auto */
function getXhr(){
	var xhr = null; 
	
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
	}
	else { // XMLHttpRequest non supportÃ© par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
	
	return xhr;
}

function go(){
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			leselect = xhr.responseText;
			document.getElementById('modelediv').innerHTML = leselect;
		}
	}
	xhr.open("POST","http://www.lokazion.com/ajaxAuto.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	sel = document.getElementById('marque');
	idmarque = sel.options[sel.selectedIndex].value;
	xhr.send("marque="+idmarque);
}

function go2(){
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			leselect = xhr.responseText;
			document.getElementById('modelediv').innerHTML = leselect;
			document.getElementById('modelediv2').innerHTML = leselect;
		}
	}
	xhr.open("POST","http://www.lokazion.com/ajaxAuto2.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	var sel = document.getElementById('marque');
	var idmarque = sel.options[sel.selectedIndex].value;
	xhr.send("v=2&marque="+idmarque);
}

/* Recherche */
function validerForm() {
	document.getElementById('options').value = "";
	for (x=0;x<document.getElementById('form2').selectionchk.length;x++) {
		if (document.getElementById('form2').selectionchk[x].checked)
			document.getElementById('options').value += document.getElementById('form2').selectionchk[x].value + ",";
	}
	document.getElementById('form1').submit();
}

/* Ajax Nb Results */
function rech_ajax() {
	var p = 'ajaxRech.php?';
	
	p += 'marque='+document.getElementById('marque').value;
	p += '&modele='+document.getElementById('modele').value;
	p += '&carburant='+document.getElementById('carburant').value;
	p += '&carosserie='+document.getElementById('carosserie').value;
	p += '&boite='+document.getElementById('boite').value;
	p += '&vitesse='+document.getElementById('vitesse').value;
	p += '&prix='+document.getElementById('prix').value+'&opt_prix=sup';
	p += '&prix2='+document.getElementById('prix2').value+'&opt_prix2=inf';
	p += '&kilometres='+document.getElementById('kilometres').value+'&opt_kilometres=sup';
	p += '&kilometres2='+document.getElementById('kilometres2').value+'&opt_kilometres2=inf';
	p += '&annee='+document.getElementById('annee').value+'&opt_annee=sup';
	p += '&annee2='+document.getElementById('annee2').value+'&opt_annee2=inf';
	p += '&dpt='+document.getElementById('dpt').value;
	if(document.getElementById('image').checked)
		p += '&image=1';
	
	// Initialisation Xhr
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			document.getElementById('nbResultsAjax').innerHTML = xhr.responseText;
		}
	}
	
	// Envoi de la requete au serveur
	xhr.open("GET",p,true);
	xhr.send(null);	
}

/* Callback Popup */
function mblokazion_showPopup()
{
	if(document.getElementById('mblokazion_backgroundPopup').style.visibility != 'visible')
	{
		var height = _getScrollHeight();
		var top = _getScrollTop();
		var client = _getClientHeight();
		
		var t = top+((client-150)/2);

		document.getElementById('mblokazion_backgroundPopup').style.height = height+'px';
		document.getElementById('mblokazion_callbackPopup').style.top = t+'px';
		document.getElementById('mblokazion_backgroundPopup').style.visibility = 'visible';
		document.getElementById('mblokazion_callbackPopup').style.visibility = 'visible';
	}
	else
	{
		document.getElementById('mblokazion_backgroundPopup').style.visibility = 'hidden';
		document.getElementById('mblokazion_callbackPopup').style.visibility = 'hidden';
	}
}

function mblokazion_verifNombre(champ)
{
	var chiffres = new RegExp("[0-9]");
	var verif;
	for(x = 0; x < champ.value.length; x++)
	{
		verif = chiffres.test(champ.value.charAt(x));
		if(verif == false){champ.value = champ.value.substr(0,x) + champ.value.substr(x+1,champ.value.length-x+1); x--;}
	}
}

function mblokazion_sendAbus(id_annonce)
{
	var p = 'http://www.lokazion.com/api/signaler_abus.php?';
	p += 'id='+id_annonce;
	
	// Initialisation Xhr
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200 && xhr.responseText == 'ok'){
			document.getElementById('mblokazion_signalerAbus').innerHTML = 'Abus signal&eacute;, merci.';
		}
	}
	
	// Envoi de la requete au serveur
	xhr.open("GET",p,true);
	xhr.send(null);
}

function mblokazion_saveAnnonce(id_annonce)
{
	var p = 'http://www.lokazion.com/api/ajout_annonce_sauvegardee.php?';
	p += 'id_annonce='+id_annonce;
	
	// Initialisation Xhr
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200 && xhr.responseText == 'ok'){
			if(document.getElementById('nbAnnonce'))
			{			
				document.getElementById('nbAnnonce').innerHTML = parseInt(document.getElementById('nbAnnonce').innerHTML)+1;
			}
			document.getElementById('mblokazion_sauvegarde').innerHTML = 'Annonce Sauvegard&eacute;e';
		}
	}
	
	// Envoi de la requete au serveur
	xhr.open("GET",p,true);
	xhr.send(null);
}

function mblokazion_sendAppel()
{
	var p = 'http://www.lokazion.com/api/tel.php?';
	p += 'tel='+document.getElementById('mblokazion_telAppel').value;
	p += '&id_annonce='+document.getElementById('mblokazion_idAnnonceAppel').value;
	
	// Initialisation Xhr
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			document.getElementById('mblokazion_msgAppel').innerHTML = xhr.responseText;
			mblokazion_hideFormAppel();
		}
	}
	
	// Envoi de la requete au serveur
	xhr.open("GET",p,true);
	xhr.send(null);
}

function mblokazion_getFormAppel()
{
	document.getElementById('mblokazion_msgAppel').style.display = 'none';
	document.getElementById('mblokazion_formAppel').style.display = 'block';
}

function mblokazion_hideFormAppel()
{
	document.getElementById('mblokazion_msgAppel').style.display = 'block';
	document.getElementById('mblokazion_formAppel').style.display = 'none';
}

function mblokazion_sendMail()
{
	var id_voiture = document.getElementById('mblokazion_idVoiture').value;
	var nom = document.getElementById('mblokazion_nom').value;
	var tel = document.getElementById('mblokazion_tel').value;
	var mail = document.getElementById('mblokazion_mail').value;
	var message = document.getElementById('mblokazion_message').value;
	
	// On vérifie les infos rentrées
	var regex = /^\w([-\.]\w|\w)*@\w([-\.]\w|\w)*\.[a-zA-Z]{2,4}$/;
	
	// On vérifie si le nom est rempli
	if (nom.length == 0)
	{
		alert('Merci d\'indiquer votre nom');
		return;
	}
	// On vérifie le mail
	if (!regex.test(mail))
	{
		alert('Merci d\'indiquer une adresse mail valide');
		return;
	}
	if (tel.length == 0)
	{
		alert('Merci d\'indiquer votre numéro de téléphone');
		return;
	}
	if (message.length == 0)
	{
		alert('Merci d\'indiquer votre message');
		return;
	}
	
	var p = 'id_voiture='+id_voiture;
	p += '&nom='+nom;
	p += '&tel='+tel;
	p += '&mail='+mail;
	p += '&message='+message;
	p += '&fromsite=true';
	
	// Initialisation Xhr
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200 && xhr.responseText=='ok'){
			document.getElementById('mblokazion_formulaireMail').innerHTML = 'Votre email a bien &eacute;t&eacute; envoy&eacute;';
		}
	}
	
	// Envoi de la requete au serveur
	xhr.open("GET",'http://www.lokazion.com/api/envoyer_mail.php?'+p,true);
	xhr.send(null);
}

/* Fonctions spéciales */
function _getClientHeight()
{
	var h;
	
	if(window.innerHeight)
	{
		h = window.innerHeight;
	}
	else
	{
		if(document.body)
		{
			h = document.body.offsetHeight;
		}
	}
	
	return h;
}

function _getScrollHeight()
{
	var h;
	
	if(document.body && document.body.scrollHeight)
	{
		h = document.body.scrollHeight;
	}
	else
	{
		if(document.documentElement)
		{
			h = document.documentElement.scrollHeight;
		}
	}
	
	return h;
}

function _getScrollTop()
{
	var t;
	
	if(document.documentElement && document.documentElement.scrollTop)
	{
		t=document.documentElement.scrollTop;
	}
	else
	{
		if(document.body)
		{
			t=document.body.scrollTop;
		}
	}
	
	return t;
}