// JavaScript Document


///////////////////////////////////////////////////////////////////////
////////////////////////// SCRIPT COURANT /////////////////////////////

//REND VISIBLE 1 CALQUE OU UN ENSEMBLE DE CALQUE
function rend_visible(nomdesbalises) {
	tableau = nomdesbalises.split("+");  
	nbtableau=tableau.length;
	for (n=0;n<nbtableau;n++) {
		document.getElementById(tableau[n]).style.visibility="visible";
	}
}

//REND INVISIBLE 1 CALQUE OU UN ENSEMBLE DE CALQUE
function rend_invisible(nomdesbalises) {
	tableau = nomdesbalises.split("+");  
	nbtableau=tableau.length;
	for (n=0;n<nbtableau;n++) {
		document.getElementById(tableau[n]).style.visibility="hidden";
	}
}

//REND VISIBLE ET/OU INVISIBLE 1 CALQUE OU UN ENSEMBLE DE CALQUE
function rend_switch(affiche,masque) {
	rend_visible(affiche);
	rend_invisible(masque);
}

//CHANGER LA CSS D'UN ELEMENT
function change_css (element,css) {
	document.getElementById(element).className  = css;
}

//CHANGE LE BACKGROUND IMAGE D'UN ELEMENT
function change_style (element,image) {
	
	document.getElementById(element).style.backgroundImage = image;
	
}

//CHANGE LA SOURCE D'UNE IMAGE
function change_img(element,url) {
	document.getElementById(element).src  = url;
}

//CHANGE LA COULEUR D'UN CHAMP TEXTE
function setColor(el, bg) { 
	if (el.style) el.style.backgroundColor = bg
} 

//ECRIRE DANS UN DIV
function ecrire(texte,nomdudiv) {
	document.getElementById(nomdudiv).innerHTML = texte;
}
	



///////////////////////////////////////////////////////////////////////
////////////////////////// SCRIPT NAVIGATION //////////////////////////

//CHANGEMENT DE PAGE
function envoieRequete(url,id) {
	var xhr_object = null;
	var position = id;
	if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
	else
	if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");

	// On ouvre la requete vers la page désirée
	xhr_object.open("GET", url, true);
	xhr_object.onreadystatechange = function(){
	if ( xhr_object.readyState == 4 )
		{
		// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
		document.getElementById(position).innerHTML = xhr_object.responseText;
		}
	}
	// dans le cas du get
	xhr_object.send(null);
} 

//SPECIAL MENU DYNAMIQUE
function ouvre_menu (image,div) {
	
	//roll de l'image
	url='library/images/menu/'+image+'_over.jpg';
	change_img(image,url);
	change_css(div,'menu_deroulant_over');
}

function ferme_menu (image,div) {
	
	//roll de l'image
	url='library/images/menu/'+image+'_up.jpg';
	change_img(image,url);
	change_css(div,'menu_deroulant');
}




///////////////////////////////////////////////////////////////////////
////////////////////////// SCRIPT FORMULAIRE //////////////////////////


//CREATION DYNAMIQUE D'UN FORMULAIRE POUR ENVOI DE VARIABLE EN POST
function form_post (nomdiv,url,nomvariable,valeurvariable) {
	
	var tab_nom_variable=nomvariable.split('+');
	var tab_valeur_variable=valeurvariable.split('+');
	var contenu='<form name="formulaire_post" method="post" action="'+url+'" enctype="multipart/form-data">';
	
	for (var i=0; i<tab_nom_variable.length; i++) {
 		contenu+='<input name="'+tab_nom_variable[i]+'" type="hidden" value="'+tab_valeur_variable[i]+'">';
		//document.write("tableau[" + i + "] = " + tableau[i] + "<BR>");
	}	
	
	contenu+='<input name="'+nomvariable+'" type="hidden" value="'+valeurvariable+'">';
	contenu+='</form>';
	
	document.getElementById(nomdiv).innerHTML = contenu;
	document.forms['formulaire_post'].submit();
}

//PERMET DE VALIDER UN FORMULAIRE DEPUIS UN LIEN TEXTE
function submitform(nomduformulaire) {
	if(document.forms[nomduformulaire].onsubmit()) { 
		document.forms[nomduformulaire].submit(); 
	} 
} 

//AJAX INTERROGATION FICHIER EN GET	
function file(fichier)
     {
     if(window.XMLHttpRequest) // FIREFOX
          xhr_object = new XMLHttpRequest(); 
     else if(window.ActiveXObject) // IE
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
     else 
          return(false); 
     xhr_object.open("GET", fichier, false); 
     xhr_object.send(null); 
     if(xhr_object.readyState == 4) return(xhr_object.responseText);
     else return(false);
     }
	 
//VALIDE UN FORMULAIRE (CHAMP OBLIGATOIRE + DATE)
function valid_obligatoire (nomduformulaire,champsduformulaire,champerreur) {
	//Déclaration des variables
	var err_oblig='Merci de renseigner tous les champs teintés';
	var err_date='La date doit-être au format jj/mm/aaaa';
	var couleur='#dddc93'
	var erreur="";
	var erreur1="";
	var erreur2="";
	leschamps=champsduformulaire.split("&");
	
	//Traitement de la requête
	for (i=0;i<leschamps.length;i++) {
		lechamp=document.forms[nomduformulaire].elements[leschamps[i]];
		lechamp_nom=lechamp.name;

		var reg=new RegExp("^"+lechamp_nom+".*$","i");
		if (lechamp.value=='') { setColor(lechamp, couleur);   erreur1=err_oblig; } else { setColor(lechamp, ''); }
		if (typeof(lechamp_nom)!='undefined' && lechamp_nom.indexOf("date_")!=-1 && !verif_date(lechamp.value)) { erreur2=err_date; }
		if (typeof(leschamps[i])!='undefined' && leschamps[i].indexOf("radio_")!=-1 && !verif_radio(leschamps[i],nomduformulaire)) {  change_style(leschamps[i]+'_class','text_saisi');  erreur1=err_oblig; }

	}
	
	//Formatage de l'erreur
	if (erreur1!="" && erreur2!="") { erreur=erreur1+' / '+erreur2; }
	else if (erreur1!="" && erreur2=="") { erreur=erreur1; }
	else if (erreur1=="" && erreur2!="") { erreur=erreur2; }

	//Resultat de la requete
	if (erreur=="") { return true; }
	else {  ecrire(erreur,champerreur); return false;}	
}

//FORMULAIRE DE CONTACT
function valid_form(nomduformulaire,champsduformulaire,champerreur,fichier) {
	
		
	/*var reg = new RegExp('&',"gi")
 	var variable=champsduformulaire.replace(reg,',');
	*/
	
	//SI TOUT EST RENSEIGNE
	if (!valid_obligatoire(nomduformulaire,champsduformulaire,champerreur)) { return false; } else 
	{ reponse = form_ajax(fichier,nomduformulaire,champsduformulaire,champerreur); }	
	
}

//ENVOI DU FORMULAIRE EN AJAXs POUR TRAITEMENT
function form_ajax (fichier,nomduformulaire,valeur,champerreur){

	
	var leschamps=valeur.split("&");
	var sendvaleur="";	
	//Traitement de la requête
	for (i=0;i<leschamps.length;i++) {
		//var sendvaleur=sendvaleur+"\"&"+leschamps[i]+"=\""+document.getElementById(leschamps[i]).value;
		//alert (leschamps[i] + document.getElementById(leschamps[i]).value);
		var sendvaleur=sendvaleur+"\"&"+leschamps[i]+"=\""+document.getElementById(leschamps[i]).value;
	}
	sendvaleur=sendvaleur.replace("&","");
		//alert (sendvaleur);
		
	var xhr_object = null; 
	     
	// ### Construction de l’objet XMLHttpRequest selon le type de navigateur
	if(window.XMLHttpRequest) 
	   	xhr_object = new XMLHttpRequest(); 
	else if(window.ActiveXObject)
	  	 xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { 
                // XMLHttpRequest non supporté par le navigateur 
	   	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		 return; 
	} 
	 
	xhr_object.open("POST", fichier, true);
	
	//  Définition du comportement à adopter sur le changement d’état de l’objet XMLHttpRequest
	xhr_object.onreadystatechange=function(){
		if(xhr_object.readyState==4) { 
			if(xhr_object.status==200) { 
			
				reponse=xhr_object.responseText; retour_form(reponse,nomduformulaire,valeur,champerreur);
			}
			
			//else { reponse=xhr_object.status; alert (reponse); }
		}
	}; 
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	//  Envoi de la requête
	//alert (sendvaleur);
	//xhr_object.send(sendvaleur);
	/*valeuremail=document.getElementById('email').value;
	valeurnom=document.getElementById('nom').value;
	valeurtelephone=document.getElementById('tel').value;
	valeuradresse=document.getElementById('adresse').value;
	valeurmessage=document.getElementById('message').value;
	
	xhr_object.send("email="+valeuremail+"&nom="+valeurnom+"&telephone="+valeurtelephone+"&adresse="+valeuradresse+"&message="+valeurmessage);*/
	xhr_object.send("email="+document.getElementById('email').value+"&nom="+document.getElementById('nom').value+"&tel="+document.getElementById('tel').value+"&adresse="+document.getElementById('adresse').value+"&message="+document.getElementById('message').value);
}

//RETOUR DU FORMULAIRE AJAX
function retour_form(reponse,nomduformulaire,valeur,champerreur) {
		texte='';
		if (reponse==1) { texte='Votre message a bien &eacute;t&eacute; envoy&eacute;'; 
			document.forms[nomduformulaire].reset();
			}
		if (reponse==2) { texte='Une erreur est survenue.<br>Merci de bien vouloir r&eacute;essayer.'; }
		if (reponse==3) { texte='La saisie de votre adresse e-mail est incorrecte.';   }	
	document.getElementById(champerreur).innerHTML = texte;
	 	return false;
}

//IDENTIFICATION
function identification(champerreur,fichier) {

	login=document.getElementById('login').value;
	password=document.getElementById('password').value;
		
     if(login != '' && password != '') { 
	 	reponse = file(fichier+'?login='+login+'&password='+password);
		//alert (reponse);
		//on attribut un texte en fonction du résultat et on remet l'adresse e-mail dans le champ e-mail si celle-ci contient une erreur
		if (reponse=="inconnu") { texte='Ces codes d\'accès n\'existe pas';} else { texte='Identification réussie'; document.forms['form_identification'].reset(); }
	  }

	 else { texte = ('Vous devez renseigner votre login<br />et votre mot de passe'); }
	 
	 ecrire (texte,champerreur);
	 envoieRequete('support/support.php?repertoire=commercial&rubrique=Version Commerciale','frame_milieu3')
	

return false;
}

//INSCRIPTION A LA NEWSLETTER
function register_news(email,nomdudiv) {
	//on vide le contenu du champ e-mail
	document.inscription.email.value="";
     if(email != '') { 
	 	reponse = file('library/script/inscription.php?email='+email);
		
		//on attribut un texte en fonction du résultat et on remet l'adresse e-mail dans le champ e-mail si celle-ci contient une erreur
		if (reponse==1) { texte='Votre inscription a bien &eacute;t&eacute; prise en compte';}
		if (reponse==2) { texte='Une erreur est survenue. Merci de bien vouloir r&eacute;essayer.'; document.inscription.email.value=email; }
		if (reponse==3) { texte='La saisie de votre adresse est incorrecte.'; document.inscription.email.value=email; }
		if (reponse==4) { texte='Cette adresse est d&eacute;j&agrave; enregistr&eacute;e dans notre base.'; document.inscription.email.value=email; }
	  }

	 else { texte = ('Vous devez renseigner votre adresse e-mail'); }
	 
	 writediv (texte,nomdudiv);
	

return false;
}

//DESINSCRIPTION A LA NEWSLETTER
function unregister_news(email,nomdudiv) {
	//on vide le contenu du champ e-mail
	document.inscription.email.value="";

     if(email != '') { 
	 	reponse = file('library/script/desinscription.php?email='+email);
		//on attribut un texte en fonction du résultat et on remet l'adresse e-mail dans le champ e-mail si celle-ci contient une erreur
		if (reponse==1) { texte='Votre désinscription a bien &eacute;t&eacute; prise en compte';}
		if (reponse==2) { texte='Une erreur est survenue. Merci de bien vouloir r&eacute;essayer.'; document.inscription.email.value=email; }
		if (reponse==3) { texte='La saisie de votre adresse est incorrecte.'; document.inscription.email.value=email; }
		if (reponse==4) { texte='Cette adresse n\'existe pas dans notre base.'; document.inscription.email.value=email; }
	  }

	 else { texte = ('Vous devez renseigner votre adresse e-mail'); }
	 
	 writediv (texte,nomdudiv);
	 return false;
}

//IDENTIFICATION JAVASCRIPT
function login(id,rubrique,album) {
	
	
	var saisi=document.getElementById('log_'+id).value;
	var mdp=document.getElementById('cache_'+id).value;
	
	if (saisi==mdp) {
		envoieRequete(rubrique+'/album.php?rubrique='+rubrique+'&album='+album,'div_conteneur');
	} else {
		alert ('Le login saisi est incorrect.');	
	}
	
}

///////////////////////////////////////////////////////////////////////
////////////////////////// SCRIPT D'ANIMATION //////////////////////////

//OUVRE DIV
function ouvrediv(nomdudiv) {
	//on récupère la valeur de la div "ouvert"
	var div_ouvert=document.getElementById('ouvert').innerHTML;
	
	//SI DIV QU'ON SOUHAITE OUVRIR != LA DIV OUVERT
	if (nomdudiv!=div_ouvert) {
	
	//on défini les variables
	var vitesse=10;
	var nomhauteur="h_"+nomdudiv;
	var hauteur=document.getElementById(div_ouvert).offsetHeight;
	var hauteur2=document.getElementById(nomdudiv).offsetHeight;
	var hauteur_max=document.getElementById(nomhauteur).innerHTML;
	var bouton='bout_'+div_ouvert;
	var bouton2='bout_'+nomdudiv;
	var hauteur_mini=0;
	var img=div_ouvert+"_img";
	var img2=nomdudiv+"_img";


				//on ferme le div ouvert
				if (hauteur>hauteur_mini) {
					var new_hauteur=hauteur-vitesse;
					document.getElementById(div_ouvert).style.height=new_hauteur+'px';
					setTimeout(function() { ouvrediv(nomdudiv); },5);		
				}
					
				//on agrandit le div
				else {
					/*switch(nomdudiv) {
						case "divnum1" : hauteur_max=240; break;
						case "divnum2" : hauteur_max=240; break;
						case "divnum3" : hauteur_max=220; break;
						case "divnum4" : hauteur_max=220; break;
					}	*/
		
				if (hauteur2<hauteur_max) {
					var new_hauteur=hauteur2+vitesse;
					document.getElementById(nomdudiv).style.height=new_hauteur+'px';
					setTimeout(function() { ouvrediv(nomdudiv); },5);
				}
				else {
					//on modifie la valeur de la div "ouvert"
					document.getElementById('ouvert').innerHTML=nomdudiv;
				}
			//on remplace les images
			document.getElementById(img).src='library/images/bouton/roue-fleche-up.gif';
			document.getElementById(img2).src='library/images/bouton/roue-fleche-over.gif';

			}
			
	} //fin si div ouvert != div qu'on souhaite ouvrir
}


//DEFILE CONTENU DANS DIV
var stop=false;

function defile_start(div,sens,horigine,pas) {
	stop = false;
	setTimeout( function() { defile(div,sens,horigine,pas) },1);
}

function defile_stop(div,sens,horigine,pas) {
	stop = true;
}

function defile (div,sens,horigine,pas) {

		if (stop) return;
		
		var posactuel=document.getElementById(div).style.top;
		posactuel=posactuel.replace("px","");
		
		
		//calcul du nombre de pas possible suivant la hauteur du div
		var nbpas=Math.round((document.getElementById(div).offsetHeight)/parseInt(pas));
			
		if (sens=="suite" && posactuel>-(nbpas*parseInt(pas)-horigine+parseInt(pas))+39) {
			document.getElementById(div).style.top=posactuel-parseInt(pas)+'px';
		}
		
		if (sens=="retour" && posactuel<0) {
			document.getElementById(div).style.top=parseInt(posactuel)+parseInt(pas)+'px';
		}
		setTimeout( function() { defile(div,sens,horigine,pas) },1);

}


///////////////////////////////////////////////////////////////////////
////////////////////////// SCRIPT DE DEBUG //////////////////////////

//TRANSPARENCE PNG IE
function setpng(img) { if(document.all && (IEver=parseFloat(navigator.appVersion.split("MSIE")[1])) && (IEver>=5.5) && (IEver<7) && document.body.filters && img) {
	imgName=img.src.toUpperCase();
	if(imgName.substring(imgName.length-3,imgName.length)=="PNG") img.outerHTML=
		"<span "+(img.id?"id='"+img.id+"' ":"")+(img.className?"class='"+img.className+"' ":"")+(img.title?"title=\""+img.title+"\" ":"")
		+"style=\"width:"+img.width+"px;height:"+img.height+"px;"+(img.align=="left"?"float:left;":(img.align=="right"?"float:right;":""))
		+(img.parentElement.href?"cursor:hand;":"")+"display:inline-block;"+img.style.cssText+";"
		+"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img.src+"',sizingMethod='scale');\"></span>";
		
		
}}




///////////////////////////////////////////////////////////////////////
////////////////////////// SPECIAL KANDIRATON //////////////////////////
function envoieRequete_js(url,id) {
	var new_var=document.getElementById('div_vignette').offsetTop;
	url=url+'&top='+new_var;
	envoieRequete(url,id);
} 
