/********************************************************
Recherche en ajax des produits avec les layers
********************************************************/

function verif_champ_existe(nom_form){
	len = document.forms[nom_form].elements.length;
	var i=0;
	while(i!=len){
		if (document.forms[nom_form].elements[i].name=='page'){
			return(true);
		}
		i++;
	}
	return(false);
}

function desactive_form(nom_form,tab_pdt_cplt){
	var id_pdt = document.forms[nom_form].elements['id_pdt'].value;
	var taille = tab_pdt_cplt.length;
	var nom_form_tmp = "";
	if(document.forms[nom_form].elements['indice'].value >= 0){
		var indice = document.forms[nom_form].elements['indice'].value;
	}
	for(var i=1;i<taille;i++){
		if (i == 0){
			if(indice){
				nom_form_tmp = 'pdt'+tab_pdt_cplt[i]+'_'+indice;
			}else{
				nom_form_tmp = 'pdt'+tab_pdt_cplt[i];
			}
		}else{
			if(indice){
				nom_form_tmp = 'pdt'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0]+'_'+indice;
			}else {
				nom_form_tmp = 'pdt'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0];
			}
		}		
		if (document.forms[nom_form_tmp].elements['pdt_cplt']){
			if(document.forms[nom_form_tmp].elements['pdt_cplt'].disabled == true){
				document.forms[nom_form_tmp].elements['pdt_cplt'].disabled = false;
			}else{
				document.forms[nom_form_tmp].elements['pdt_cplt'].disabled = true;
			}
		}else{
			if(document.forms[nom_form_tmp].elements['quantite'].disabled == true){
				document.forms[nom_form_tmp].elements['quantite'].disabled = false;
			}else{
				document.forms[nom_form_tmp].elements['quantite'].disabled = true;
			}
		}
	}
}

function verif_max_capacite(nom_form,tab_pdt_cplt) {
	var nb_pdt_cplt = tab_pdt_cplt.length;
	if(document.forms[nom_form].elements['indice'].value != ""){
		var indice = document.forms[nom_form].elements['indice'].value;
	}
	if(indice){
		nom_form_tmp = 'pdt'+tab_pdt_cplt[0]+"_"+indice;
	}else{
		nom_form_tmp = 'pdt'+tab_pdt_cplt[0];
	}
	var quantite_pdt_principal = parseInt(document.forms[nom_form_tmp].elements['quantite'].value);
	var min_capacite = document.forms[nom_form_tmp].elements['min_capacite'].value;
	var max_capacite = document.forms[nom_form_tmp].elements['max_capacite'].value;
	var capacite_totale = (max_capacite-min_capacite)*quantite_pdt_principal;
	
	var quantite_cplt = 0;
	for (var i=1;i<nb_pdt_cplt;i++) {
		if(indice){
			nom_form_cplt = 'pdt'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0]+'_'+indice;
		}else{
			nom_form_cplt = 'pdt'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0];
		}
		var fct_capacite = document.forms[nom_form_cplt].elements['fct_capacite_principale'].value;
		var fct_quantite = document.forms[nom_form_cplt].elements['fct_quantite_principale'].value;
		if (fct_capacite == 1) {
			var quantite = parseInt(document.forms[nom_form_cplt].elements['quantite'].value);
			if(fct_quantite == 1){
				quantite = quantite*quantite_pdt_principal;
			}
			quantite_cplt = parseInt(quantite_cplt)+quantite;
		}
	}
	if(quantite_cplt > capacite_totale) {
		document.forms[nom_form].elements['quantite'].value = 0;
		return (false);
	}else {
		return (true);
	}
}

function createRequestObject(){
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}
	return ro;
}

//Appel du programme
function sndReq(nom_form,tab_pdt_cplt){
	
	if (document.forms[nom_form].elements['fct_capacite_principale'] && document.forms[nom_form].elements['fct_capacite_principale'].value == 1) {
		if(!verif_max_capacite(nom_form,tab_pdt_cplt)){
			alert("Vous avez dépassé la capacité d'accueil du produit principal.");
		}
	}
	if(document.forms[nom_form].elements['indice'].value != ""){
		var indice = document.forms[nom_form].elements['indice'].value;
	}
	if (indice && !document.forms[nom_form].elements['id_pdt_principal']){
		var nom_id = 'prix_global'+document.forms[nom_form].elements['id_pdt'].value+'_'+indice;
		var prix_global_init = formater(document.getElementById(nom_id).innerHTML);
		
	}else{
		var nom_id = 'prix_global'+document.forms[nom_form].elements['id_pdt'].value;
		var prix_global_init = "";		
	}
	//création d'un nouvelle instance public d'objet à chaque appel
	http = createRequestObject();
	var id_pdt = document.forms[nom_form].elements['id_pdt'].value;
	var nb_nuit = document.forms[nom_form].elements['nb_nuit'].value;

	if(document.forms[nom_form].elements['page']) {
		var page = document.forms[nom_form].elements['page'].value;
	}else{
		var page = "";
	}
	var id_categ_pere = document.forms[nom_form].elements['id_categ_pere'].value;
	var package_pdt = document.forms[nom_form].elements['package'].value;
	var package_dynamique_pdt = document.forms[nom_form].elements['package_dynamique'].value;
	
	if(document.forms[nom_form].elements['id_pdt_principal']){
		if (indice){
			var nom_form_tmp = 'pdt'+document.forms[nom_form].elements['id_pdt_principal'].value+'_'+indice;
		}else{
			var nom_form_tmp = 'pdt'+document.forms[nom_form].elements['id_pdt_principal'].value;		
		}
		
		if (indice){
			var nom_form_princ = 'pdt'+tab_pdt_cplt[0]+'_'+indice;
		}else{
			var nom_form_princ = 'pdt'+tab_pdt_cplt[0];		
		}
		
		var date_depart = document.forms[nom_form_princ].elements['date_depart'].value;//old : nom_form_tmp
		var date_retour = document.forms[nom_form_princ].elements['date_retour'].value;//old : nom_form_tmp
		var quantite_pdt_principal = document.forms[nom_form_tmp].elements['quantite'].value;
		var ajout_que_cplt = 1;
	}else{
		var date_depart = document.forms[nom_form].elements['date_depart'].value;
		var date_retour = document.forms[nom_form].elements['date_retour'].value;
		var quantite_pdt_principal = 1;
		var ajout_que_cplt = 0;
	}
	if(verif_champ_existe(nom_form)){
		var page = document.forms[nom_form].elements['page'].value;
	}else{
		var page = "";
	}
	if(document.forms[nom_form].elements['dde_quantite']){
		if(document.forms[nom_form].elements['dde_quantite'].value == 0){
			if(document.forms[nom_form].elements['pdt_cplt'].checked){
				var quantite = document.forms[nom_form].elements['quantite'].value;
			}else{
				var quantite = 0;
			}
		}else{
			var quantite = document.forms[nom_form].elements['quantite'][document.forms[nom_form].elements['quantite'].selectedIndex].value;
		}
	}else{
		var quantite = document.forms[nom_form].elements['quantite'].value;
	}
	
	if(document.forms[nom_form].elements['fct_duree']){
		var fct_duree = document.forms[nom_form].elements['fct_duree'].value;
	}else{
		var fct_duree = "";
	}
	if(document.forms[nom_form].elements['fct_quantite_principale']){
		var fct_quantite_principale = document.forms[nom_form].elements['fct_quantite_principale'].value;
	}else{
		var fct_quantite_principale = "";
	}
	if(document.forms[nom_form].elements['fct_capacite_principale']){
		var fct_capacite_principale = document.forms[nom_form].elements['fct_capacite_principale'].value;
	}else{
		var fct_capacite_principale = "";
	}
	var requete = '/scripts/recuperation_modif_ajax.php?id_pdt='+id_pdt+'&date_depart='+date_depart+'&date_retour='+date_retour+'&nb_nuit='+nb_nuit+'&quantite='+quantite+'&nom_form='+nom_form+'&page='+page+'&id_categ_pere='+id_categ_pere+'&package='+package_pdt+'&fct_duree='+fct_duree+"&quantite_pdt_principal="+quantite_pdt_principal+"&ajout_que_cplt="+ajout_que_cplt+"&tab_pdt_cplt="+tab_pdt_cplt+'&fct_quantite_principale='+fct_quantite_principale+'&fct_capacite_principale='+fct_capacite_principale+'&prix_global_init='+prix_global_init+'&package_dynamique='+package_dynamique_pdt;
	var ok = 1;
	
	if(http.readyState == 4 || http.readyState == 0){
		desactive_form(nom_form,tab_pdt_cplt);
		var id_pdt = document.forms[nom_form].elements['id_pdt'].value;
		if(id_pdt == tab_pdt_cplt[0]){
			reinitialise_pdt_cplt(nom_form,tab_pdt_cplt);
		}
		http.open('GET',requete,true);
		http.onreadystatechange = handleResponse;
		http.send(null);
	}else{
		alert(req_pas_terminee);
		var id_pdt = document.forms[nom_form].elements['id_pdt'].value;
		if(id_pdt == tab_pdt_cplt[0]){
			var prix_tmp = parseFloat(document.forms[nom_form].elements['prix_ttc_pdt'].value);
		}else{
			if(document.forms[nom_form].elements['indice'].value != ""){
				var indice = document.forms[nom_form].elements['indice'].value;
			}
			if (indice){
				var nom_id = 'pdt'+id_pdt_principal+'_'+indice;
			}else{
				var nom_id = 'pdt'+id_pdt_principal;		
			}
			var prix_tmp = parseFloat(document.forms[nom_form].elements['prix_ttc_pdt'].value);
			var id_pdt_principal = document.forms[nom_form].elements['id_pdt_principal'].value;
			var id_pdt_tmp = document.forms[nom_form].elements['id_pdt'].value;
			var prix_global = parseFloat(document.getElementById(nom_id).innerHTML);
			
			prix_global = (prix_global-prix_tmp).toFixed(3);
			prix_global = formater(prix_global);
			document.getElementById(nom_id).innerHTML = prix_global;
		}
	}
}

//Traitement de la reponse en retour
function handleResponse(){
	if(http.readyState == 4){
		var response = http.responseText;
		//alert ('response='+response);
		if(response != ""){
			var param = new Array();
			param = response.split('|');
			//alert(param[17]);
			if ((param[0] != "") && (param[1] != undefined) && (param[5] > 0)){
				if ((param[9] == 0)) {
					var prix_min = param[0];
					var id_pdt = param[1];
					var prix_ttc_pdt = param[4];
					var total_base = param[16];
					//var liste_tarif = param[5];
					var nb_nuit = (param[2]*1);
					var nom_form = param[7];
					var page = param[8];
					var dispo = param[5];
					var id_categ_pere = param[6];
					var package_pdt = param[13];
					var package_dynamique_pdt = param[19];
					var ajout_que_cplt = param[14];
					var quantite_pdt_principal = param[15];
					var prix_global_init = param[18];
					var tab_pdt_cplt = new Array();
					var tab_pdt_cplt_complet = new Array();
					tab_pdt_cplt_complet = 	param[17].split(',');
					tab_pdt_cplt[0] = id_pdt;
					
					if(document.forms[nom_form].elements['indice'].value != ""){
						var indice = document.forms[nom_form].elements['indice'].value;
					}
					if (indice){
						var nom_form_tmp = 'pdt'+id_pdt+'_'+indice;
						var nom_id = id_pdt+'_'+indice;
					}else{
						var nom_form_tmp = 'pdt'+id_pdt;		
						var nom_id = id_pdt;		
					}
					if(page == "commande" || page == "mon_panier") {
						var prix_total_precedent = (parseFloat(document.forms[nom_form].elements['prix_ttc_pdt'].value));
						if(document.forms[nom_form].elements['id_pdt_principal']){
							var id_pdt_principal = document.forms[nom_form].elements['id_pdt_principal'].value;
							if (indice){
								var nom_id_global = id_pdt_principal+'_'+indice;
							}else{
								var nom_id_global = id_pdt_principal;		
							}
						}else{
							if (indice){
								var nom_id_global = id_pdt+'_'+indice;
							}else{
								var nom_id_global = id_pdt;		
							}
						}
						var objet = (parseFloat(document.getElementById('prix_global'+nom_id_global).innerHTML));
						var prix_global = (parseFloat(param[4])+(objet-prix_total_precedent)).toFixed(3);
						prix_global = formater(prix_global);
						//alert("prix_total_precedent : "+prix_total_precedent+" - ancien prix_global : "+objet+" - nouveau prix du pdt : "+param[4]+" - nouveau prixglobal : "+prix_global)
						
					}else {
						if(document.forms[nom_form].elements['id_pdt_principal']){
							var prix_total_precedent = (parseFloat(document.forms[nom_form].elements['prix_ttc_pdt'].value));
							var id_pdt_principal = document.forms[nom_form].elements['id_pdt_principal'].value;
							if (indice){
								var nom_id_global = id_pdt_principal+'_'+indice;
								var nom_form_tmp = 'pdt'+id_pdt_principal+'_'+indice;
							}else{
								var nom_id_global = id_pdt_principal;	
								var nom_form_tmp = 'pdt'+id_pdt_principal;	
							}
							var prix_total_principal = (parseFloat(document.forms[nom_form_tmp].elements['prix_ttc_pdt'].value));
							var objet = (parseFloat(document.getElementById('prix_global'+nom_id_global).innerHTML));
							if (objet == prix_total_principal) { // pour savoir si le prix global est déja renseigné dans le cas ou des dates ont été saisie en page d'accueil
								var prix_global = (parseFloat(param[4])+(objet)).toFixed(3);
							}else{
								var prix_global = (parseFloat(param[4])+(objet-prix_total_precedent)).toFixed(3);
							}
							prix_global = formater(prix_global);
						}else{
							if (indice){
								var nom_id_global = id_pdt+'_'+indice;
								var nom_form_tmp = 'pdt'+id_pdt+'_'+indice;
							}else{
								var nom_id_global = id_pdt;	
								var nom_form_tmp = 'pdt'+id_pdt;	
							}
						}
					}
					if (param[3] != ""){
						var prix_moyen = param[3];
					}
					if (prix_moyen != undefined){
						var texte = prix_moyen;
					}else{
						var texte = prix_min+" €";
					}
					var texteprix = prix_ttc_pdt;
					/*if (page == "commande" || page == "mon_panier"){
						document.getElementById('prix_global'+nom_id_global).innerHTML = prix_global;
						if (document.getElementById('prix_ttc_pdt'+id_pdt+"_"+id_pdt_principal)){
							if (document.getElementById('prix_ttc_pdt'+id_pdt+"_"+id_pdt_principal)){
								document.getElementById('prix_ttc_pdt'+id_pdt+"_"+id_pdt_principal).innerHTML = prix_ttc_pdt;
							}
							document.forms[nom_form].elements['prix_moyen_ajax'].value = prix_moyen+" €";
						}
						document.forms[nom_form].elements['prix_min_pdt'].value = prix_min;
						document.forms[nom_form].elements['prix_moyen_jour_pdt'].value = prix_moyen;
						document.forms[nom_form].elements['prix_ttc_pdt'].value = prix_ttc_pdt;
						document.forms[nom_form].elements['total_base'].value = total_base;
						document.forms[nom_form].elements['dispo'].value = dispo;
						if(document.forms[nom_form].elements['quantite_pdt_principal']){
							document.forms[nom_form].elements['quantite_pdt_principal'].value = quantite_pdt_principal;
						}						
						ajouter_panier(nom_form,tab_pdt_cplt_complet,prix_global_init);
					}else{*/
					if(document.forms[nom_form].elements['quantite_pdt_principal']){
						document.forms[nom_form].elements['quantite_pdt_principal'].value = quantite_pdt_principal;
					}
					
					if ((id_categ_pere == id_categ_hebergement || id_categ_pere == id_categ_restauration || id_categ_pere == id_categ_activite || id_categ_pere == id_categ_transport) && package_pdt != 1 && package_dynamique_pdt != 1 && !document.forms[nom_form].elements['id_pdt_principal']){
						document.getElementById('prix_pdt_'+nom_id).innerHTML = texte;
					}
					if(document.forms[nom_form].elements['id_pdt_principal']){
						document.forms[nom_form].elements['prix_moyen_ajax'].value = prix_moyen+" €";
						//document.getElementById('prix_ttc_pdt'+id_pdt+"_"+id_pdt_principal).innerHTML = prix_ttc_pdt;
						document.forms[nom_form].elements['prix_ttc_pdt'].value = prix_ttc_pdt;
						document.getElementById('prix_global'+nom_id_global).innerHTML = prix_global;
					}else{
						document.forms[nom_form].elements['prix_ttc_pdt'].value = prix_ttc_pdt;
						document.getElementById('prix_global'+nom_id_global).innerHTML = prix_ttc_pdt;
					}
					document.forms[nom_form].elements['prix_min_pdt'].value = prix_min;
					document.forms[nom_form].elements['prix_moyen_jour_pdt'].value = prix_moyen;
					document.forms[nom_form].elements['prix_ttc_pdt'].value = prix_ttc_pdt;
					document.forms[nom_form].elements['total_base'].value = total_base;
					//document.forms[nom_form].elements['liste_tarif'].value = liste_tarif;
					document.forms[nom_form].elements['dispo'].value = dispo;
					if ((page == "commande" || page == "mon_panier") && ajout_que_cplt != 1){
						//ajouter_panier(nom_form,tab_pdt_cplt,prix_global_init);
						ajouter_panier(nom_form,tab_pdt_cplt_complet,prix_global_init);
					}
					/*}*/
					if(ajout_que_cplt == 1 && (page == "commande" || page == "mon_panier")){
						ajouter_panier(nom_form,tab_pdt_cplt_complet,prix_global_init);
					}
					
					if (page != "commande" && page != "mon_panier"){
						if (id_pdt_principal > 0){
							id_pdt = id_pdt_principal;
						}						
						var gratuit_pdt = document.forms[nom_form].elements['gratuit_pdt'].value;	
						if (gratuit_pdt == 1 && prix_ttc_pdt == 0){
							affiche_ajouter('ajouter'+id_pdt);
						}else if(id_categ_pere == id_categ_hebergement && !isNaN(prix_ttc_pdt) && prix_ttc_pdt != 0 && document.forms[nom_form].elements['date_retour'].value != "" && gratuit_pdt == 0){
							affiche_ajouter('ajouter'+id_pdt);
						}else if((id_categ_pere == id_categ_restauration || id_categ_pere == id_categ_activite || id_categ_pere == id_categ_transport || package_pdt == 1 || package_dynamique_pdt == 1) && !isNaN(prix_ttc_pdt) && prix_ttc_pdt != 0 && gratuit_pdt == 0){
							//alert(package_dynamique_pdt);
							affiche_ajouter('ajouter'+id_pdt);
						}
					}
					if(page == "mon_panier"){
						affiche_ajouter('valider_panier');
					}
					
				}else{
					alert (param[10]);
				}
				var tab_pdt_cplt_complet = new Array();
				tab_pdt_cplt_complet = 	param[17].split(',');
				var nom_form = param[7];
				desactive_form(nom_form,tab_pdt_cplt_complet);
			}else{
				var nom_form = param[7];
				var tab_pdt_cplt_complet = new Array();
				tab_pdt_cplt_complet = 	param[17].split(',');
				desactive_form(nom_form,tab_pdt_cplt_complet);
				document.forms[nom_form].elements['dispo'].value = 0;
				reinitialise_form(nom_form);
				alert (param[11]);
			}
		}else{
			alert(erreur_gds);
		}
	}
}

function formater(nombre){	
	if (isNaN(nombre)){ return ("");}
	var chaine = nombre.toString();
	var unite = chaine.substring(0,(chaine.lastIndexOf("."))+1);
	var decimal = chaine.substring((chaine.lastIndexOf("."))+1,chaine.length);
	if(decimal.length == 1){
		decimal = decimal+"0";
	}
	if(decimal.length == 3){
		decimal = decimal.substring(0,2);
	}
	chaine = unite+decimal;
	return chaine;
}