// JavaScript Document

/**********************************/
/*** FONCTIONS D'INITIALISATION ***/
/**********************************/

if (navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
        window.attachEvent("onload", init);
}else if(window.addEventListener){
	window.addEventListener("load", init, false);
}

function init(){
	document.body.onclick=onclick_ville_liste;
	
}


function onclick_ville_liste(){
	var ville_liste = document.getElementById('ville_liste');
	if(ville_liste)
		ville_liste.className = 'invisible';
}


/**************************/
/*** FONCTIONS DIVERSES ***/
/**************************/

function trim (chaine) {
 	return chaine.replace(/(^\s*)|(\s*$)/g, "");
}

function EffacerEspace(chaine){
	var tmp = "";;
	for(var i = 0; i < chaine.length; i++){
		tmp = tmp + chaine.charAt(i);
		if (chaine.charAt(i) == " "){
			tmp = tmp.replace(" ","");
		}
	}
	return tmp;
}

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}	

function IsNumeric(strString){
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function IsWhithoutSpeChar(strString){
	var strValidChars = "0123456789.-_@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var strChar;
	var blnResult = true;
	
	if (strString.length == 0) return false;
	
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++){
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1){
			blnResult = false;
		}
	}
	return blnResult;
}


function check_email( adressemail){
	var char_vide=adressemail.indexOf(" ");
	var aroba  = adressemail.indexOf("@",1);
	var point = adressemail.indexOf(".",aroba +2);	//on a au moins une(<=>2) lettre entre le arobase et le point
	var fin_adressemail = adressemail.substring(point+1,adressemail.length+1);
	if ( (aroba  > -1) && (adressemail.length >2) && (point > 1) && (fin_adressemail.length>1) && (char_vide==-1) ){
		return(true);
	}
	else{
		return(false);
	}
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function hasClass(ele,cls) {
	if(ele)
		return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
	else
		return '';
}

function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function getStyle(oElm, strCssRule){
	var strValue = "";
	if(document.defaultView && document.defaultView.getComputedStyle){
		strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
	}
	else if(oElm.currentStyle){
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
			return p1.toUpperCase();
		});
		strValue = oElm.currentStyle[strCssRule];
	}
	return strValue;
}

function getStyleValue(el, style){
	var res = getStyle(el,style);
	res = eval(res.substr(0,res.length-2));
	return res;
}


function createAjaxObject() {
	var Try = {
		these: function() {
			var returnValue;
			
			for (var i = 0, length = arguments.length; i < length; i++) {
				var lambda = arguments[i];
				try {
					returnValue = lambda();
					break;
				} catch (e) {}
			}
			
			return returnValue;
		}
	}
	
	return Try.these(
		function() {return new XMLHttpRequest()},
		function() {return new ActiveXObject('Msxml2.XMLHTTP')},
		function() {return new ActiveXObject('Microsoft.XMLHTTP')}
	) || false;
}

function getHeightBlocBgk(el){
	return Math.max(eval(el.clientHeight + getStyleValue(el,'top') + 10), document.body.clientHeight) + 'px';
}

/***************************************/
/*** FONCTIONS DE GESTION DES SELECT ***/
/***************************************/

function show_select_liste(classname){
	var liste = document.getElementById(classname);
	if(liste){
		if(trim(liste.innerHTML) != '')
			liste.className="select_liste";
	}
}

function show_select_liste2(classname){
	var liste = document.getElementById(classname);
	if(liste)
		liste.className="select_tri_liste";
}

function close_select_liste(classname){
	var liste = document.getElementById(classname);
	if(liste)
			liste.className="invisible";
}

function select_txt(classname,el){
	var liste = document.getElementById(classname);
	var txt = document.getElementById(classname+'_txt');
	var input = document.getElementById(classname+'_input');
	if(txt && el && input &&  liste){
		txt.innerHTML = el.innerHTML;
		input.value = el.innerHTML;
	}
	close_select_liste(classname);
}

function select_txt_typlog(classname,el,id_typlog){
	var liste = document.getElementById(classname);
	var txt = document.getElementById(classname+'_txt');
	var input = document.getElementById(classname+'_input');
	var liste2_txt = document.getElementById('liste2_txt');
	var liste2_input_min = document.getElementById('liste2_input_min');
	var liste2_input_max = document.getElementById('liste2_input_max');
	if(txt && el && input &&  liste){
		txt.innerHTML = el.innerHTML;
		input.value = id_typlog;
		getPrixTypeLog(id_typlog);
		if(liste2_txt) liste2_txt.innerHTML = 'PRIX';
		if(liste2_input_min) liste2_input_min.value = '';
		if(liste2_input_max) liste2_input_max.value = '';
	}
	close_select_liste(classname);
}

function select_txt_prix(classname, el, prix_min, prix_max){
	var liste = document.getElementById(classname);
	var txt = document.getElementById(classname+'_txt');
	var input_min = document.getElementById(classname+'_input_min');
	var input_max = document.getElementById(classname+'_input_max');
	if(txt && el && input_min && input_max &&  liste){
		txt.innerHTML = el.innerHTML;
		input_min.value = prix_min;
		input_max.value = prix_max;
	}
	close_select_liste(classname);
}

function roll_select_liste(el){
	if( hasClass(el,"li_on") ){
		removeClass(el,"li_on");
	}else{
		addClass(el,"li_on");
	}
}

function getPrixTypeLog(tprid){
		
	var parameters = 'tprid='+tprid; 
	
	var strurl = "system/process/gettypelog.php"; 
	
	var xhr_object = createAjaxObject();
	
	xhr_object.open("POST",strurl, true);	
	
	xhr_object.onreadystatechange = function() {
		
		var liste2 = document.getElementById('liste2');
		
		if(xhr_object.readyState == 4) {
			if(liste2){
				liste2.innerHTML = xhr_object.responseText;
			}
		}
		
	}
	
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr_object.setRequestHeader("Content-length", parameters.length);
    xhr_object.setRequestHeader("Connection", "close");
	xhr_object.send(parameters);		
}

/*********************************************************/
/*** FONCTIONS DE VERIFICATION DES SAISIES FORMULAIRES ***/
/*********************************************************/

function check_search(){
	
	/*
	var type_log = trim(document.form_search.type_log.value);
	var ville = trim(document.form_search.ville.value);
	var prix_min = trim(document.form_search.prix_min.value);
	var prix_max = trim(document.form_search.prix_max.value);
	var profil = document.form_search.profil;
	var profil_value = trim(getCheckedValue(profil));
	
	if(
	   type_log == ''
	   ||
	   ville == ''
	   ||
	   ville == 'ville*'
	   ||
	   prix_min == ''
	   ||
	   prix_max == ''
	   ||
	   profil_value == ''
	   ){
		var mess_form_search = document.getElementById('mess_form_search');
		mess_form_search.className = 'mess';
		return false;
	}
	*/
	
	var ville = trim(document.form_search.ville.value);
	if(
	   ville == ''
	   ||
	   ville == 'ville*'
	   ){
		var mess_form_search = document.getElementById('mess_form_search');
		mess_form_search.className = 'mess';
		return false;
	}
	
	//return true;
	
	show_form_home();
	return false;
	
}

function show_form_home(){
		
	var parameters = ''; 
	
	var strurl = "popins/pop_home.php"; 
	
	var xhr_object = createAjaxObject();
	
	xhr_object.open("POST",strurl, true);	
	
	xhr_object.onreadystatechange = function() {
		
		var bloc_pop_home = document.getElementById('bloc_pop_home');
		var bkg_pop = document.getElementById('bkg_pop');
		
		if(xhr_object.readyState == 4) {
			var xhr_reponse = xhr_object.responseText;			
			if( trim(xhr_reponse) != 'OK'){
				if(bloc_pop_home){
						bloc_pop_home.innerHTML = xhr_reponse;
						bloc_pop_home.className = 'pop_home';
				}
				if(bkg_pop){ 
					bkg_pop.className = 'bkg_pop';
					bkg_pop.style.height = getHeightBlocBgk(bloc_pop_home);
				}
			}else{
				launch_search();
			}
		}
		
	}
	
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr_object.setRequestHeader("Content-length", parameters.length);
    xhr_object.setRequestHeader("Connection", "close");
	xhr_object.send(parameters);		
	
}


function check_pop_home(){
	
	var telephone = trim(document.form_pop_home.telephone.value);
	var email = trim(document.form_pop_home.email.value);
	
	if (telephone == "") {
		alert("Nous vous prions de bien vouloir saisir votre numéro de téléphone.");
		return;
	}
	
	if( !IsNumeric(telephone) || telephone.length!=10 ){
		alert("Votre numéro de téléphone doit être composé de dix chiffres.");
		return;
	}
	
	if( telephone.charAt(0)!='0' || telephone.charAt(1)=='0' || telephone == '0123456789'){
		alert("Votre numéro n’est pas correct, nous vous invitons à en saisir un de nouveau.")
		return; 
	}
	
	
	if (email == "") {
		alert("Nous vous prions de bien vouloir saisir votre e-mail.");
		return;
	}
	
	if((email != "") && (!check_email(email))){ 
		alert("Votre adresse e-mail semble incorrecte.") 
		return; 
	}
	
	if( !IsWhithoutSpeChar(email) ){
		alert("Votre adresse e-mail semble incorrecte.") 
		return; 
	}
	
	submit_form_home();
	
}

function submit_form_home(){
	
	var telephone = trim(document.form_pop_home.telephone.value);
	var email = trim(document.form_pop_home.email.value);
	
	var parameters = 'telephone='+telephone+'&email='+email; 
	
	var strurl = "system/process/form_home.php"; 
	
	var xhr_object = createAjaxObject();
	
	xhr_object.open("POST",strurl, true);	
	
	xhr_object.onreadystatechange = function() {
		
		//var bloc_pop_home = document.getElementById('bloc_pop_home');
		//var bkg_pop = document.getElementById('bkg_pop');
		
		if(xhr_object.readyState == 4) {
			
			var xhr_reponse = xhr_object.responseText;
			/*if(bloc_pop_home){
					bloc_pop_home.innerHTML = xhr_reponse;
					bloc_pop_home.className = 'pop_home';
			}
			if(bkg_pop){
				bkg_pop.className = 'bkg_pop';
			}
			*/
			if( xhr_reponse == "nok" ){
				alert("Votre numéro n’est pas correct, nous vous invitons à en saisir un de nouveau.");
			}else{
				launch_search();
			}
		}
		
	}
	
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr_object.setRequestHeader("Content-length", parameters.length);
    xhr_object.setRequestHeader("Connection", "close");
	xhr_object.send(parameters);	
	
}

function launch_search(){
	
	document.form_search.submit();	
	
}


/************************/
/*** FONCTIONS SCROLL ***/ 
/************************/

window.addEvent('domready', function(){
											if (document.getElementById("content")){
													 var mySlide = new Slider($('area'), $('knob'), {
														 steps: 100,
														 mode: 'vertical',
														 onChange: function(step){
															var x = document.getElementById("content").offsetHeight;
															var n = document.getElementById("conteneur").offsetHeight;
															document.getElementById("upd").innerHTML = step;
															document.getElementById("content").style.top = "-"+((parseInt(step))*(x-n))/100+"px";
															
														 }
													 }).set(0);
												 }
									 }
 ); 

function haut(i){
var posit = document.getElementById("upd").innerHTML;
window.addEvent('domready', function(){
                                    if (document.getElementById("content")){
                                            var mySlide = new Slider($('area'), $('knob'), {
                                                steps: 100,
                                                mode: 'vertical',
                                                onChange: function(step){
                                                   var x = document.getElementById("content").offsetHeight;
                                                   var n = document.getElementById("conteneur").offsetHeight;
                                                  document.getElementById("upd").innerHTML = step;
                                                  document.getElementById("content").style.top = "-"+((parseInt(step))*(x-n))/100+"px";
                                                                                                   }
                                            }).set(parseInt(posit)-i);
                                        }
                                    }
);
}



function bas(i){
var posit = document.getElementById("upd").innerHTML;
window.addEvent('domready', function(){
                                     if (document.getElementById("content")){
                                            var mySlide = new Slider($('area'), $('knob'), {
                                                steps: 100,
                                                mode: 'vertical',
                                                onChange: function(step){
                                                   var x = document.getElementById("content").offsetHeight;
                                                   var n = document.getElementById("conteneur").offsetHeight;
                                                  document.getElementById("upd").innerHTML = step;
                                                  document.getElementById("content").style.top = "-"+((parseInt(step))*(x-n))/100+"px";
                                                                                                   }
                                            }).set(parseInt(posit)+i);
                                        }
                                    }
);
} 


/**************************************************/
/*** FONCTIONS D'AFFICHAGE DES ANIMATIONS FLASH ***/ 
/**************************************************/

function show_swf(swf,width,height,istransparent){
	var BASEDIR = "ressources/swf/";
	var contenu = "";	
	var transparent_object ='';
	var transparent_embed='';
	if(istransparent && typeof(istransparent)!='undefined'){
		transparent_object ='<param name="wmode" value="transparent" />';
		transparent_embed = 'wmode="transparent"';
	}

	contenu +='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+width+'" height="'+height+'">';
	contenu +='<param name="movie" value="'+BASEDIR+swf+'" />';
	contenu +='<param name="quality" value="high" />';
	contenu += transparent_object;
	contenu +='<embed src="'+BASEDIR+swf+'" '+transparent_embed+' quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'"></embed>';
	contenu +='</object>';
	
	document.write(contenu);	
}


/**********************************************/
/*** FONCTIONS D'AFFICHAGE DE L'OFFRE PROMO ***/ 
/**********************************************/

function show_offre_promo(){
	var bloc_offre_promo = document.getElementById('bloc_offre_promo');
	if(bloc_offre_promo)
		bloc_offre_promo.className = 'offre_promo';
	var decouvrez_offre = document.getElementById('decouvrez_offre');
	if(decouvrez_offre)
		decouvrez_offre.className = 'decouvrez_offre_on';
}

function close_offre_promo(){
	var bloc_offre_promo = document.getElementById('bloc_offre_promo');
	if(bloc_offre_promo)
		bloc_offre_promo.className = 'invisible';
	var decouvrez_offre = document.getElementById('decouvrez_offre');
	if(decouvrez_offre)
		decouvrez_offre.className = 'decouvrez_offre';
}

