/*
	JavaScript Document
	Une création Média Camp
	www.média-camp.fr
	Tous droits réservé
	Logiciel sous licence
	Développeur : Olivier DENEUVIS
*/

// Fonction de test d'un champ de formulaire vide avec alerte simple
// <![CDATA[
function texte_vide(thingId) {

	var champ = thingId.value;
	var valid=true;
	var mes="\nERREUR DE SAISIE\n\n";

	if (thingId == "") {
		mes+=('Vous devez saisir un message précis sur l\'objet de votre demande avant de valider le formulaire\n\nPensez à cocher les catégories de publicité qui vous intéressent\n\n');
		valid=false;
	}

		if (!valid) {
			alert(mes);
			return false;
		}

	return true;

}
// ]]>


// <![CDATA[
//fonction qui va générer les statistiques de fréquentation des sites
function afficher_stats(id_camp, referer, year) {

	var xhr=creeXHR();//création de l'instance

	var url="include/fonction/generate_stats_graph.php?id_camp="+id_camp+"&referer="+referer+"&year="+year; //ID va servir a la page inscription pour tester le contenu du formulaire
	xhr.open( "GET", url, true );//ouverture du fichier

		xhr.onreadystatechange=function() {

		if (xhr.readyState <= 3) {
				document.getElementById ('loadstat').innerHTML = '<img src="include/gestion_villes/load/loadingAnimationv2.gif" alt="" />';
			}

			if(xhr.readyState  == 4) { //une fois les données chargées

				if (xhr.status == 200) { //qu'il n'y a pas d'erreur

					var doc2=xhr.responseText;
					document.getElementById("loadstat").innerHTML=doc2; //envoi les donnees dans le div avec l'ID 'other_camp'								
					document.getElementById('loadstat').style.display = '';
				}

			 }
	 };

	//envoi des donnée au script search_reg_dep.php
	xhr.send("id_camp="+id_camp+"&referer="+referer+"&year="+year);

}
// ]]>


// <![CDATA[
//fonction qui va générer les statistiques de fréquentation des sites
function afficher_stats_admin(id_camp, referer, year, month, day) {

	var xhr=creeXHR();//création de l'instance

	var url="include/fonction/generate_admin_stats_graph.php?id_camp="+id_camp+"&referer="+referer+"&year="+year+"&month="+month+"&day="+day; //ID va servir a la page inscription pour tester le contenu du formulaire
	xhr.open( "GET", url, true );//ouverture du fichier

		xhr.onreadystatechange=function() {

		if (xhr.readyState <= 3) {
				document.getElementById ('loadstat').innerHTML = '<img src="http://www.camping-tour.fr/espace-pro/include/gestion_villes/load/loadingAnimationv2.gif" alt="" />';
			}

			if(xhr.readyState  == 4) { //une fois les données chargées

				if (xhr.status == 200) { //qu'il n'y a pas d'erreur

					var doc2=xhr.responseText;
					document.getElementById("loadstat").innerHTML=doc2; //envoi les donnees dans le div avec l'ID 'other_camp'								
					document.getElementById('loadstat').style.display = '';
				}

			 }
	 };

	//envoi des donnée au script search_reg_dep.php
	xhr.send("id_camp="+id_camp+"&referer="+referer+"&year="+year+"&month="+month+"&day="+day);

}
// ]]>


// Fonction de redirection vers la console d'un camping après sélection dans une liste déroulante
// <![CDATA[
function select_camp(id) {

	var id = id.value;
	document.location.href="http://www.camping-tour.fr/espace-pro/modifier-un-camping.php?camp="+id;

}
// ]]>

// Fonction d'affichage la liste de choix des chaines camping lors du choix du statut du client
// <![CDATA[
function afficheChaine(thingId) {

	var targetElement;
	targetElement = document.getElementById(thingId) ;

	if (targetElement.style.display == "none") {
		targetElement.style.display = "" ;
	}

}
// ]]>
// Fonction pour masquer la liste de choix des chaines camping lors du choix du statut du client
// <![CDATA[
function hideChaine(thingId) {

	var targetElement;
	targetElement = document.getElementById(thingId) ;

	if (targetElement.style.display == "") {
			targetElement.style.display = "none";
	}

}
// ]]>



// <![CDATA[ 
// Fonction d'affichage d'un DIV, notamment pour la liste de recherche auto Villes / CP
var show = true;

function hide(divid) {

	if(show) {

		document.getElementById(divid).style.display='none';
		show = false

	}

		else {

			document.getElementById(divid).style.display='block';
			show = true

		}

}
// ]]>


// <![CDATA[ 
// Fonction de gestion "cocher tout | tout décocher"
function checkAllInput(form, action) {

	var i = document.forms[form].getElementsByTagName("input");

		for ( var cpt = 0; cpt < i.length; cpt++)
			i[cpt].checked = (action)? true : false ;

}
// ]]>


// <![CDATA[
// On test si les champs sont exclusivement numériques avec un mini/maxi de 10 chiffres (telephone)
function isTelephone(champ, form) {

	var champ = champ.value;
	var champ2 = champ.length;

	if ( isNaN ( champ ) ) {

		form.elements["tel"].style.backgroundColor = "#ff0000";
		document.getElementById('divhidetel').style.display = '';
		document.getElementById('divhidetel').innerHTML = 'Seuls les chiffres sans ponctuation ni espaces sont autorisés - Corrigez SVP';
		return false;

	}

	if ( champ2 != 10 ) {

			form.elements["tel"].style.backgroundColor = "#ff0000";
			document.getElementById('divhidetel').style.display = '';
			document.getElementById('divhidetel').innerHTML = 'Votre N° de téléphone doit comporter 10 chiffres - Corrigez SVP';
			return false;

	}

		else {

			form.elements["tel"].style.backgroundColor = "#ffffff";
			document.getElementById('divhidetel').style.display = 'none';
			document.getElementById('divhidetel').innerHTML = '';
			return true;

		}

}
// ]]>


// <![CDATA[
// On test si les champs sont exclusivement numériques (CP + telephone)
function isFax(champ, form) {

	var champ = champ.value;
	var champ2 = champ.length;

	if ( isNaN ( champ ) ) {

		form.elements["fax"].style.backgroundColor = "#ff0000";
		document.getElementById('divhidefax').style.display = '';
		document.getElementById('divhidefax').innerHTML = 'Seuls les chiffres sans ponctuation ni espaces sont autorisés - Corrigez SVP';
		return false;

	}

	if ( (champ2 != 10) && ((champ2 != 0)) ) {

			form.elements["fax"].style.backgroundColor = "#ff0000";
			document.getElementById('divhidefax').style.display = '';
			document.getElementById('divhidefax').innerHTML = 'Votre N° de Fax doit comporter 10 chiffres - Corrigez SVP';
			return false;

		}

		else {

			form.elements["fax"].style.backgroundColor = "#ffffff";
			document.getElementById('divhidefax').style.display = 'none';
			document.getElementById('divhidefax').innerHTML = '';
			return true;

		}

}
// ]]>


// <![CDATA[
function isEmail(champ, form) {

	var mail = champ.value;
	var reg = /^[^@]+@(([\w\-]+\.){1,4}[a-zA-Z]{2,4}|(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]))$/;
	var result = ((reg.exec(mail)!=null));

	if ( mail == "" ) {

		form.elements["email"].style.backgroundColor = '#ff0000';
		document.getElementById('divhidemail').style.display = '';
		document.getElementById('divhidemail').innerHTML = 'Vous devez saisir votre adresse email - Corrigez SVP';
		return false;

	}

		if ( result==false ) { //si l'email n'est pas valide

			form.elements["email"].style.backgroundColor = '#ff0000';
			document.getElementById('divhidemail').style.display = '';
			document.getElementById('divhidemail').innerHTML = 'Le format de votre email n\'est pas valide - Corrigez SVP';
			return false;

		}

		else {

			form.elements["email"].style.backgroundColor = '#ffffff';
			document.getElementById('divhidemail').style.display = 'none';
			document.getElementById('divhidemail').innerHTML = '';
			return true;

		}


}
// ]]>


// Fonction de contrôle du formulaire d'ajout des infos du profil du compte client
// <![CDATA[ 
function checkUserComp(form) {

	var valid=true;
	var mes="\nERREUR DE SAISIE\n\n";

		if (form.elements["nom"].value == "") {
			mes+=('Merci de saisir votre nom de famille\n\n'); valid=false;
			form.elements["nom"].style.backgroundColor = "#ff0000";
		}
		if (form.elements["prenom"].value == "") {
			mes+=('Merci de saisir votre Prénom\n\n'); valid=false;
			form.elements["prenom"].style.backgroundColor = "#ff0000";
		}
		if (form.elements["raison_sociale"].value == "") {
			mes+=('Merci de renseigner la raison sociale de votre société\n\n'); valid=false;
			form.elements["raison_sociale"].style.backgroundColor = "#ff0000";
		}
		if (form.elements["adresse"].value == "") {
			mes+=('Vous devez renseigner l\'adresse de votre société\n\n'); valid=false;
			form.elements["adresse"].style.backgroundColor = "#ff0000";
		}
		if (form.elements["cp"].value == "") {
			mes+=('Vous devez renseigner le code postal\n\n'); valid=false;
			form.elements["cp"].style.backgroundColor = "#ff0000";
		}
			if ( isNaN(form.elements["cp"].value) ){
				mes+=("Le code postal ne peut être que numérique (5 chiffres)\n\n"); valid=false;
				form.elements["cp"].style.backgroundColor = "#ff0000";
			}
		if (form.elements["ville"].value == "") {
			mes+=('Vous devez renseigner la ville\n\n'); valid=false;
			form.elements["ville"].style.backgroundColor = "#ff0000";
		}
		if (form.elements["tel"].value == "") {
			mes+=('Vous devez renseigner le téléphone de votre société\n\n'); valid=false;
			form.elements["tel"].style.backgroundColor = "#ff0000";
		}

	if (!valid) {
		alert(mes);
		return false;
	}

return true;

}
// ]]> 


// Fonction de réinitialisation de la couleur de fond des champs de formulaire (après erreur)
// <![CDATA[ 
function couleur(obj) {

	if ( obj.disabled == true ) { obj.style.backgroundColor = ""; }

		else { obj.style.backgroundColor = "#FFFFFF"; }

}
// ]]> 


// <![CDATA[
//fonction qui met en majuscule la première lettre de chaque mot
function FirstLetterWord2UpperCase(texte) {
var t = new Array();
  for(j=0 ; j < texte.length ;j++) {
    t[j] = texte.substr(j,1).toLowerCase();
    if((j == 0)||(t[j-1]==" ")) t[j] = texte.substr(j,1).toUpperCase();
  }
  return t.join('');
}
// ]]>


// <![CDATA[
//fonction qui met en miniscule le texte
function First2UpperCase(texte) {
var t = new Array();
	for(j=0 ; j < texte.length ;j++) {
		if(j == 0) t[j] = texte.substr(j,1).toUpperCase();
		else t[j] = texte.substr(j,1).toLowerCase();
	}
	return t.join('');
}
// ]]>


// Compte les caractères dans un champ de formulaire
// <![CDATA[ 
function Comptage(texte, compteur, maximum) {
	var longueur = maximum - parseInt(texte.value.length);
	if (longueur <= 0){
		compteur.value = 0;
		texte.value = texte.value.substring (0,maximum);
	}
	else { compteur.value = longueur; }
}
// ]]>


// On génère un cookie
// <![CDATA[ 
function setCookie(nom,valeur,jours) {
	var expDate = new Date()
	expDate.setTime(expDate.getTime() + (jours * 24 * 3600 * 1000))
		document.cookie = nom + "=" + escape(valeur)
			+ ";expires=" + expDate.toGMTString()
}
// ]]>


// On détruit un cookie
// <![CDATA[ 
function delCookie(nom) {
	setCookie(nom, "", -1)
}
// ]]>

/*-------------------SCRIPS DE GESTION DES DEVIS-----------------------*/

// Fonction de prévisualisation du bon
// <![CDATA[ 
function Popup(page, formulaire, popW, popH) {

	var preview = 'ok';
	var ser = $(formulaire).serialize(); // On serialise les données du formulaire automatiquement
	//document.write(ser+'tetetetete'); return false;
	var winleft=(screen.width-popW)/2;
	var winup=(screen.height-popH)/2;
	window.open(page+'?'+ser,'popup','width='+popW+',height='+popH+',toolbar=false,scrollbars=false,left='+winleft+',top='+winup);  

}
// ]]>


// Fonction de prévisualisation du bon de commande
// <![CDATA[
function soumettre(formulaire, cible, nomdepage) { 
	document.forms[formulaire].action = nomdepage; 
	document.forms[formulaire].target = cible; 
	//document.forms[formulaire].submit();
}
// ]]>


// <![CDATA[ 
// Fonction de réinitialisation des valeurs du formulaire
function InitFormDevis() {

	// Reset values on form.
	document.form.elements['totalHT'].value = '0.00';
	document.form.elements['tauxreduc'].value = '0.00';
	document.form.elements['reduc'].value = '0.00';
	document.form.elements['tva'].value = '0.00';
	document.form.elements['totalTTC'].value = '0.00';

	// Set all checkboxes and radio buttons on form to unchecked.
	for ( var i = 0; i < document.form.elements.length; i++) {
		if ( document.form.elements[i].type == 'radio' ) { document.form.elements[i].checked = false; }
	}
}
// ]]>


// <![CDATA[ 
// Fonction de gestion du devis "Bon de commande" d'un pack
function devisPackRef(form, Id, boleen) {

	var total = 0;
	var nbLignes = 0;
	var reduction = 0;
	var IdTab = document.getElementById('tr_'+Id);

	if ( (form.elements['pre_'+Id].checked == true) && (boleen == true) ) {

		form.elements['pre_'+Id].checked = false; //--Décoche radio
		document.getElementById('tr_'+Id).style.backgroundColor = "";
		document.getElementById('comptage').innerHTML = '<strong>Vous avez sélectionné '+nbLignes+' camping(s)</strong>';
	}

	else if ( (form.elements['int_'+Id].checked == true) && (boleen == true) ) {

		form.elements['int_'+Id].checked = false; //--Décoche radio
		document.getElementById('tr_'+Id).style.backgroundColor = "";
		document.getElementById('comptage').innerHTML = '<strong>Vous avez sélectionné '+nbLignes+' camping(s)</strong>';
	}

	for ( var i = 0; i < form.elements.length; i++) { //-- Boucle For

		if ( form.elements[i].checked ) { //-- 1er IF

			nbLignes++;
			total = total + eval(form.elements[i].value); //-- Calcul du total
			document.getElementById('comptage').innerHTML = '<strong>Vous avez sélectionné '+nbLignes+' camping(s)</strong>'; //-- On affiche le nbre de sélections

			if ( boleen == false ) { IdTab.style.backgroundColor = "#FFCC99"; } //-- Si le clic n'est pas une Supp de ligne, on teinte la ligne en orange

		} //-- Fin 1er IF

	} //-- Fin Boucle For

		//-- On prend en compte le nombre d'établissements pour proposer une réduction
		if ( (nbLignes >= "2") && (nbLignes < "5") ) { reduction = "15"; }
		if ( (nbLignes >= "5") && (nbLignes < "10") ) { reduction = "25"; }
		if ( (nbLignes >= "10") && (nbLignes < "15") ) { reduction = "30"; }
		if ( (nbLignes >= "15") && (nbLignes < "20") ) { reduction = "35"; }
		if ( (nbLignes >= "20") && (nbLignes < "30") ) { reduction = "40"; }
		if ( (nbLignes >= "30") && (nbLignes < "40") ) { reduction = "45"; }
		if ( nbLignes >= "40" ) { reduction = "50"; }

		if ( nbLignes >= "2" && total >= "100" ) { //-- Si au moins 2 campings ET TOTAL >= 100 POUR DEGUGUER ERREURS DE COMPTAGE

			totalForever = total;
			reduc = total - ( Math.round(((reduction*total/100)*100))/100 );
			total = reduc; //-- S'il y a réduction, on affecte la valeur réduite à total pour le calcul final (TVA + TTC)
			form.elements['totalHT'].style.backgroundColor = "#333333"; //-- On teinte la couleur de fond si une réduction est proposée pour la mettre en évidence
			form.elements['totalHT'].style.color = "#fff"; //-- On teinte la couleur de fond si une réduction est proposée pour la mettre en évidence
			document.getElementById('prixbarre').innerHTML = '<strong><strike>Prix Hors Taxe&nbsp;</strike></strong>'; //-- On affiche le nbre de sélections
			document.getElementById('montantreduc').innerHTML = '<br /><span class="Style3">-'+reduction+'%</span>'; //-- On affiche le nbre de sélections
			document.getElementById('ecorealisee').innerHTML = '<span class="Style3">Soit une économie de '+(totalForever-reduc).toFixed(2)+' € HT</span><br />Soit 1 prix moyen par camping de '+(reduc/nbLignes).toFixed(2)+' € HT/an'; //-- On affiche le nbre de sélections
			document.getElementById('reducview').style.display = ""; //-- On affiche le TR de la réduction
			document.getElementById('ecoview').style.display = ""; //-- On affiche le TR du montant economise
			form.elements['reduc'].value = reduc.toFixed(2); //-- On affiche le nouveau prix dans le champ reduction
			form.elements['tauxreduc'].value = reduction; //-- On place le taux de réduction dans un champ caché pour transmission sur le bon de commande

		}

			else { //-- Sinon, si moins de 2 campings, on réinitialise toutes les valeurs

				totalForever = total;
				form.elements['totalHT'].style.backgroundColor = ""; //-- Si pas de réduction, on restitue la couleur de fond d'origine
				form.elements['totalHT'].style.color = ""; //-- Si pas de réduction, on restitue la couleur du texte d'origine
				document.getElementById('prixbarre').innerHTML = '<strong>Prix Hors Taxe&nbsp;</strong>'; //-- On affiche à nouveau "prix HT" non barré si pas de réduction
				document.getElementById('reducview').style.display = "none"; //-- On masque le TR de la réduction
				document.getElementById('ecoview').style.display = "none"; //-- On masque le TR du montant economise
				form.elements['reduc'].value = '0.00';
				form.elements['tauxreduc'].value = '0.00';

			}

	// Calcule et affiche la TVA
	tva = Math.round(((19.6*total/100)*100))/100;

	form.elements['totalHT'].value = totalForever.toFixed(2);
	form.elements['tva'].value = tva.toFixed(2);
	form.elements['totalTTC'].value = (total+tva).toFixed(2);

}
// ]]>


// <![CDATA[ 
// Fonction qui modifie la couleur de fond du formulaire de gestion des photos lorsque le file input n'est pas vide (repérage du formulaire actif)
function photoBackgroundColor(elm, elmBis){

		var div = elm;
		var file = elmBis;

	if (document.getElementById(file).value != "") {

		document.getElementById(div).style.backgroundColor = "#ffffff";

	}

		else { document.getElementById(div).style.backgroundColor = ""; }

}
// ]]>
