myHost = "/cgi-bin/clubmed55/SP/";//  a modifier et a mettre en chemin relatife selon le chemin de price.do+telecom.do
/*________________________________________________________________________________ fonctions de base : */
function formToTab(form){
	var fields = $ES("#"+form+" [id^=field]");
	var tab = [];
	for(j=0;j<fields.length;j++){
		if(fields[j].getProperty('class').indexOf('obligatoryField') != -1){
			if(fields[j].getProperty('class').indexOf('EMAIL') != -1)
			tab[tab.length] = 2;
			
			else if(fields[j].getProperty('class').indexOf('CODEPOSTAL') != -1)
			tab[tab.length] = 3;
			
			else
			tab[tab.length] = 1;
		}else{
				tab[tab.length] = 0;
		}
		tab[tab.length] = fields[j].getProperty('id');
		tab[tab.length] = fields[j].getValue();	
	}
	return tab;
}
/*________________________________________________________________________________*/
function getParamsFromForm(form,params){
	var elements = formToTab(form);
	var myParams = "";
	var toQueryString = "";
	var nbParticipants = 0;
	var additionalParams = "";
	var parcoursActive = false;
	var rechercheActive = false;
	var Node25 = "";
	var Node26_36 = "";
	var Node37_54 = "";
	var	joueur_debutant = "";
	if(form != "formSearchMulticriteria") rechercheActive = true;
	for(i=0;i<elements.length;i+=3){
		if(elements[i+2] != false){
			elements[i+2] = elements[i+2].replace(/\\/g,""); // supprimer les "\"
			elements[i+2] = elements[i+2].replace(/\'/g,"\\\'"); //ajouter les antislashes
		}
		elements[i+1] = elements[i+1].replace(/field/g,""); //ajouter les antislashes		
		myParams += elements[i+1]+" : ['"+elements[i]+"','"+elements[i+2]+"'],";
		
		if(form == "formSearchMulticriteria"){
			if(parcoursActive != false && elements[i+1].indexOf('NB_PARCOURS') != -1) elements[i+2] = true;
			if (elements[i+2] != false && elements[i+1].indexOf('NB_PARCOURS') != -1){
				parcoursActive = true;
			}
			//if(elements[i+1].indexOf('ENSEIGNEMENT_INITIATION_COLLECTIF') == 0)  rechercheActive = true// pour eliminer elements avant ENSEIGNEMENT_INITIATION_COLLECTIF  de la recherche 
			if(elements[i+1].indexOf('ENSEIGNEMENT_INITIATION_COLLECTIF') == 0)  rechercheActive = true// pour eliminer elements avant ENSEIGNEMENT_INITIATION_COLLECTIF  de la recherche 
			if(elements[i+1].indexOf('HANDICAP_CLIENT') != -1){
				if(elements[i+2] == "37" ){Node37_54 = "Node37_54=on&"}
				if(elements[i+2] == "26" ){Node26_36 = "Node26_36=on&"}
				if(elements[i+2] == "25" ){Node25 = "Node25=on&"}

			}
			if(elements[i+1].indexOf('JOUEUR_DEBUTANT') != -1){
				if(elements[i+2] != false ){joueur_debutant = "JOUEUR_DEBUTANT=on"}
			}
		}
		if(elements[i+2] != false && elements[i+2] != "-1" && elements[i+2] != "" && rechercheActive == true){
			toQueryString += elements[i+1]+"="+elements[i+2]+"&";
		}
	}
	toQueryString += joueur_debutant+Node37_54+Node26_36+Node25;
	if(toQueryString !="") toQueryString = toQueryString.substring(0,toQueryString.length-1);
	
	for (var e in params){
		additionalParams += e+":'"+params[e]+"',";
	}
	myParams += "length : '"+elements.length/3+"',form : '"+form+"',toQueryString : '"+toQueryString+"',"+additionalParams;
	myParams = myParams.substring(0,myParams.lastIndexOf(','));
	myParams = "var myParams = { "+myParams+" }";
	createCookie('myParams',myParams);
	eval(myParams);// to Object
	return myParams;	
}

function verifyObligatoryFields(myParams){
for (var e in myParams){
	if (e =='length') break;
		var valeur = myParams[e];
		if(valeur[0] == 2){
			if(!is_email(valeur[1])) return false;
		}
		else if(valeur[0] == 3){
			if(!is_numeric(valeur[1])) return false;
		}		
		else if((valeur[0] == 1 && valeur[1] =="") ||  valeur[1] == "JJ/MM/AAAA"){
			alert("Veuillez renseigner tous les champs obligatoires");
			return false;
		}
	}
	return true;
}
	/*________________________________________________________________________________*/
function searchMulticriteria(){
	var action ="search";
	var maDate = new Date();
	maDate = maDate.getTime();
	var params = {
		urlTpl : './tpl/resultatsRecherche.html',
		//urlXml : './xml/xml.jsp?type=dispo',
		urlXml : myHost+"prices.do?PAYS=133&LANG=FR&d="+maDate+"&DATEDEP=__DATEDEP__&duration=0&delta=0&transport=false",
		tag : 'prices',
		racin : '.'
	}
	params = getParamsFromForm("formSearchMulticriteria",params);
	if(this.verifyObligatoryFields(params)){
		$ES("#CmdSearch")[0].setHTML('<a onclick="return false;" href="#" class="bold wColor">RECHERCHER</a>');	
		$("formSearchMulticriteria").setHTML('<div class="loading"></div>');	
		
		var clubMedGolfInstance = new clubMedGolf(action,params)
		clubMedGolfInstance.executeAction();	
	}
}
/*________________________________________________________________________________*/
function returnToSearch(){
	var action ="search";
	myParams = readCookie('myParams');
	var returnToSearch = readCookie('returnToSearch');
	if(returnToSearch){
		eval(myParams);
		myParams.urlTpl = "../."+myParams.urlTpl;
		myParams.urlXml = "../."+myParams.urlXml;
		myParams.racin = "../..";
		var clubMedGolfInstance = new clubMedGolf(action,myParams)
		clubMedGolfInstance.executeAction();
		eraseCookie('returnToSearch');
	}else{
		history.back(0);
	}
}
/*________________________________________________________________________________*/
function greenFeeGetDetail(e){
	var myDiv = $ES('.bGreenBorder2')[e].className.indexOf('hidden');
	$ES('.bGreenBorder2').addClass('hidden');
	$ES('.go5').addClass('go2_1');
	$ES('.go2_1').removeClass('go5');
	
	$ES('.bGreenBorder2')[e].removeClass('hidden');
	$ES('.go2_1')[e].addClass('go5');
	$ES('.go2_1')[e].removeClass('go2_1');
	
	if(myDiv == -1){
		$ES('.bGreenBorder2').addClass('hidden');
		$ES('.go5').addClass('go2_1');
		$ES('.go2_1').removeClass('go5');
	}
}
/*________________________________________________________________________________*/
function getParamsParcours(id,action){
	new Ajax("../xml/xml_fiche_parcours.php", {
		method: 'get',
		onComplete: function(txt,xml) {
			params = xml;
			var clubMedGolfInstance = new clubMedGolf(action,params)
			clubMedGolfInstance.executeAction();
		}
	}).request();
}
/*________________________________________________________________________________*/
function inscriptionNewsletter(){

	var action ="inscription";
	var params = {
		url : '../news_letter/inscription.php'
	}
	params = getParamsFromForm("formAbonnementForm",params);
	if(this.verifyObligatoryFields(params)){
		var clubMedGolfInstance = new clubMedGolf(action,params)
		clubMedGolfInstance.executeAction();	
	}	
}
/*________________________________________________________________________________*/
function getReservation(){
	var action ="reservation";
	var params = getParamsFromForm("formQuickSearch");
	if(this.verifyObligatoryFields(params)){
		var clubMedGolfInstance = new clubMedGolf(action,params)
		clubMedGolfInstance.executeAction();	
	}
}
/*________________________________________________________________________________*/
function getPopupParcours(codeParcours){
	window.open("../popup/index.html?var="+codeParcours,"Description","width=412px,height=290px");
}/*________________________________________________________________________________*/
function getBigParcours(codeParcours){
	window.open("../plan/index.html?var="+codeParcours,"Parcours","width=800px,height=600px");
}
function getPopupEnseignement(popupEnseignement){
	popupEnseignement = popupEnseignement.replace('?CMCID=00470126FR_133','');
	if(popupEnseignement == 'none') window.location = "/enseignement/index.html";
	else window.open("../popup/popup_enseignement.html?var="+popupEnseignement,"Parcours","width=412px,height=290px");
}
/*________________________________________________________________________________*/
function generateParcours(golf){
	var action = "parcours";
	var params = {
		urlTpl : '../../tpl/parcours.html',
		urlXml : "../../xml/parcours/xml_" + golf + ".xml",
		tag : 'PARCOURS',
		codeGolf: golf
	};
	var clubMedGolfInstance = new clubMedGolf(action,params);
	clubMedGolfInstance.executeAction();	
}
/*________________________________________________________________________________*/
function generateVillage(village){
	var action = "village";
	var params = {
		urlTpl : '../../tpl/village.html',
		urlXml : "../../xml/villages/xml_" + village + ".xml",
		tag : 'VILLAGES',
		codeGolf: village
	};
	var clubMedGolfInstance = new clubMedGolf(action,params);
	clubMedGolfInstance.executeAction();	
}
/*________________________________________________________________________________*/
function generatePopupParcours(popUpParcours){
	var action = "popUpParcours";
	var params = {
		urlTpl : '../../tpl/popup_parcours.html',
		urlXml : "../../xml/popup/xml_" + popUpParcours + ".xml",
		tag : 'POPUP',
		codeGolf: popUpParcours
	};
	var clubMedGolfInstance = new clubMedGolf(action,params);
	clubMedGolfInstance.executeAction();	
}
/*________________________________________________________________________________*/
function generatePopupEnseignement(popupEnseignement){
	var action = "popupEnseignement";
	var params = {
		urlTpl : '../../tpl/popup_enseignement.html',
		urlXml : "../../xml/enseignement/" + popupEnseignement + ".xml",
		tag : 'ENSEIGNEMENT',
		codeGolf: popupEnseignement
	};
	var clubMedGolfInstance = new clubMedGolf(action,params);
	clubMedGolfInstance.executeAction();	
}
/*________________________________________________________________________________*/
function setGalleryImage(n){
	var myBigImg = $ES('#BigImg')[0].getProperty('src');
	myBigImg = myBigImg.replace('.png','');
	myBigImg = myBigImg.substr(0,myBigImg.length-1);
	$ES('#BigImg').setProperty('src',myBigImg+n+".png");
}
/*________________________________________________________________________________*/
function addNiveau(){
	var niveau = '<div class="clear floatL tMarginSm" style="width: 600px!important;"><div class="clear"></div><span class="floatL" style="margin-left:160px;width: 60px;margin-top: 3px;">Etes-vous</span><input id="fieldJOUEUR_DEBUTANT__REPLACE-ME__"  onclick="removeMySelect(__I__);" type="radio" name="radioExp__REPLACE-ME__" class="optionalField checkboxOrRadio floatL"/><span class="floatL" style="width: 55px;margin-top: 3px;">d&eacute;butant</span><input id="fieldJOUEUR_CONFIRME__REPLACE-ME__"  onclick="getMySelect(__I__);" type="radio" name="radioExp__REPLACE-ME__" class="optionalField checkboxOrRadio floatL"/><span class="floatL" style="width: 55px;margin-top: 3px;">confirm&eacute; ?</span><span class="floatL hidden MyIndex"style="margin-left:36px;">Quel est votre index ?</span><div class="HANDICAP_CLIENT"></div></div>';
	var niveauAAjouter = "";
	var option = "";
	var nbr = $ES("#fieldNB_ADULTE").getValue();
	var nbr1 = $ES("#fieldNB_ENFANT").getValue();
	if(nbr == "1" ||nbr == "2" ||nbr == "3" ||nbr == "4" ||nbr == "5" ||nbr == "6"){
		for(i=0;i<nbr-1;i++){
			var niv = niveau;
			niveauAAjouter += niv.replace(/__REPLACE-ME__/g,i+1).replace(/__I__/g,i+1);
		}
		i += 1;
		$83 = 83;
		if(nbr1 == "5")$83 = 93;
		$ES("#niveau").setStyle("height",""+(i*22)+"px");
		$ES(".formBg1")[0].setStyle("height",""+((i*22)+$83)+"px");
		$ES("#niveau1").setHTML(niveauAAjouter);	
	}
}
/*________________________________________________________________________________*/
function addDateNaissance1(){
	var dateSupplimentaire =  '<input id="fieldDate_Naissance__REPLACE-ME__" onblur="verfyEmpty(this)" onfocus="makeEmpty(this)" value="JJ/MM/AAAA" type="text" class="ObligatoryField floatL rMarginSm bMarginSm" style="width: 75px;text-align:center" />'
	var nbr = $ES("#fieldnbEnfants").getValue();
	var dateSupplimentaireAAjouter = "";
	if(nbr != "0" && nbr != ""){
		for(i=0;i<nbr;i++){
			var dateS = dateSupplimentaire;
			dateSupplimentaireAAjouter += dateS.replace(/__REPLACE-ME__/g,i);
		}
		var H = 173+(Math.ceil(i/2)*22);
		$ES("#formQuickSearch")[0].setStyle("height",H+"px");
		$ES("#datesSup").setHTML("<div class='floatL clear' style='width:170px;height:5px;font-size:0px;'></div>"+dateSupplimentaireAAjouter);
	}else{
		$ES("#datesSup").setHTML("");
		$ES("#formQuickSearch")[0].setStyle("height","173px");
	}
}
/*________________________________________________________________________________*/
function addDateNaissance(){
	var dateSupplimentaire = '<input id="fieldDateNaissance__REPLACE-ME__" onblur="verfyEmpty(this)" onfocus="makeEmpty(this)" value="JJ/MM/AAAA" type="text" class="ObligatoryField floatL rMarginSm" style="width: 75px;text-align:center" />';
	var dateSupplimentaire1 = '<input id="fieldDateNaissance__REPLACE-ME__" onblur="verfyEmpty(this)" onfocus="makeEmpty(this)" value="JJ/MM/AAAA" type="text" class="ObligatoryField floatL rMarginSm" style="width: 75px;text-align:center;margin-left:0px" />';
	var nbr = $ES("#fieldNB_ENFANT").getValue();
	var dateSupplimentaireAAjouter = "";
	if(nbr != "0" || nbr != ""){
		$ES(".dateNiassance1").removeClass('hidden');
		for(i=0;i<nbr;i++){
			var dateS = dateSupplimentaire;
			if(i == 4){
			var dateS = dateSupplimentaire1;
			dateSupplimentaireAAjouter += "<br /><br />"+dateS.replace(/__REPLACE-ME__/g,i);
			$ES(".formBg1")[0].setStyle("height",($ES(".formBg1")[0].getSize().size.y+10)+"px");
			}else{
				dateSupplimentaireAAjouter += dateS.replace('__REPLACE-ME__',i);
				if($ES(".formBg1")[0].getSize().size.y==130)$ES(".formBg1")[0].setStyle("height","105px");
			}
		}	
		$ES("#dateSupplimentaire").setHTML(dateSupplimentaireAAjouter);
	}
	if(nbr <= 4){
		if(nbr == 0)$ES(".dateNiassance1").addClass('hidden');
		if($ES(".formBg1")[0].getSize().size.y==115)$ES(".formBg1")[0].setStyle("height","105px");
	}
}
/*________________________________________________________________________________*/
function calendrierDateDebut(){
if(readCookie('MaDateDebutAnnee')){
	MaDateDebut = {
		annee : parseInt(readCookie('MaDateDebutAnnee')),
		mois : parseInt(readCookie('MaDateDebutMois')),
		jour : parseInt(readCookie('MaDateDebutJour'))
	}
cal.bounds.start = new Date(parseInt(readCookie('MaDateDebutAnnee')),parseInt(readCookie('MaDateDebutMois')),parseInt(readCookie('MaDateDebutJour')));	
}
}
/*________________________________________________________________________________*/
function getMyDestination(val,params){
	action = "destination";
	if(!val){
		val = $ES("#fieldvillage").getValue();
		if(val == "none") val = "AGAC";
	}
	var params = {
		//urlXml : './xml/xml.jsp?type=telecom',
		urlXml : myHost+'telecom.do?PAYS=133&LANG=FR',
		tag : 'root',
		func : 'myDestination',
		className : 'clubMedGolfSearch',
		code : '"'+val+'"',
		params : params
	}
	var clubMedGolfInstance = new clubMedGolf(action,params);
	clubMedGolfInstance.executeAction();	
}
/*________________________________________________________________________________*/
function makeEmpty(_this){
	if(_this.value == "JJ/MM/AAAA") _this.value = "";
}
function verfyEmpty(_this){
	if(_this.value == "") _this.value = "JJ/MM/AAAA";
}
/*________________________________________________________________________________*/
function getMySelect(id){
	select = '<select style="margin-left: 10px;" class="optionalField floatL wSelect3" id="fieldHANDICAP_CLIENT'+id+'"><option value="37">37 à 54</option><option value="26">26 à 36</option><option value="25">< 25</option></select>';
	$ES(".MyIndex")[id].removeClass('hidden');
	$ES(".HANDICAP_CLIENT")[id].setHTML(select);
}
function removeMySelect(id){
	input = '<input type="text" style="margin-left: 10px; width: 59px;" class="optionalField floatL" id="HANDICAP_CLIENT" />';
	$ES(".HANDICAP_CLIENT")[id].setHTML('');
	$ES(".MyIndex")[id].addClass('hidden');
}
/*________________________________________________________________________________*/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
/*________________________________________________________________________________*/
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
/*________________________________________________________________________________*/
function eraseCookie(name) {
	createCookie(name,"",-1);
}
/*________________________________________________________________________________*/
function is_numeric(Value) {
	var val = Value;
     if (!val.match (/^[0-9]{5}/gi)){
		alert('Veuillez verifier Code Postal SVP!')
          return false;
     }
     return true
}
/*________________________________________________________________________________*/
function supprimerClickParcours(img){
new Ajax('../img/parcours/plans/visuel_petit/'+img+'.png', {				
	method: 'get',
	onFailure : function(){
		$ES('#planParcours')[0].addClass('hidden');
	}
}).request();
}
/*________________________________________________________________________________*/
function is_email (Value){
	var val = Value;
	if (!val.match (/^[a-z0-9\-\._]+@[a-z0-9\-_\.]+\.[a-z]{2,4}$/gi)){
		alert('Veuillez verifier adresse email SVP!')
		return false;
	}
	return true;
}