// JavaScript Document

// retourne hauteurs
function getWinDimensions() {
  var  height = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    height = window.innerHeight;    //Non-IE
    width = window.innerWidth;    
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    height = document.documentElement.clientHeight;
    width = document.documentElement.clientWidth;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    height = document.body.clientHeight;//IE 4 compatible
    width = document.body.clientWidth;
  }
   return [ height, width  ];
}


function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  } 
  return [ scrOfY, scrOfX  ];
}
//


function centrer(obj){
	
		var hauteurAff=getWinDimensions()[0];
		var largeurAff=getWinDimensions()[1];
		
		var hauteurScroll=getScrollXY()[0];
		var hauteurWin=hauteurScroll+hauteurAff;
	
		// positionnement du calque
		var l=obj.offsetWidth;
		var h=obj.offsetHeight;
		
		var pos=getScrollXY();
		var posY=pos[0]+hauteurAff-hauteurAff/2-h/2;
		var posX=pos[1]+largeurAff-largeurAff/2-l/2;
		
		
		obj.style.top=posY+"px";
		obj.style.left=posX+"px";
		//
}


// fonction de creation du pave log
var paveLog=null;
var leTitre=null;

function creerLog(supportClick){
	
	try {
		
		paveLog = document.createElement("div");
		paveLog.setAttribute("id","paveLog");

		
		var formulaire = document.createElement("form");
		formulaire.setAttribute("action",root+"query/login.php");
		formulaire.setAttribute("method","post");
		
		var fond = document.createElement("div");
		fond.setAttribute("id","paveLogFond");
		
		// fond png
		fond.style.backgroundRepeat = "no-repeat";
		fond.style.backgroundPosition = "center center";
		fond.style.backgroundImage="url("+root+"back_office/img/pave_log.png)";
		
		if(navigator.appName=="Microsoft Internet Explorer")fond.style.backgroundImage = "none";
		fond.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+root+"back_office/img/pave_log.png')";
		
		document.body.appendChild(paveLog);
		paveLog.appendChild(fond);
		fond.appendChild(formulaire);
		
		// centre objet
		centrer(paveLog);
		
		
		// creation des champs
		// titre strong
 		leTitre = document.createElement("strong");
		
		var txtTitre = document.createTextNode("Veuillez vous identifier");	
  		formulaire.appendChild(leTitre);
  		leTitre.appendChild(txtTitre);
		//
		
		
		// login
		var lLogin=document.createElement("label");
		lLogin.setAttribute("title","Votre identifiant");
		
		var sLogin=document.createElement("span");
		var txtLogin=document.createTextNode("Identifiant :");

		
		var inLogin=document.createElement("input");
		inLogin.setAttribute("name","login");
		inLogin.setAttribute("id","login");
		inLogin.setAttribute("title","votre identifiant");
		inLogin.setAttribute("type","text");
		inLogin.setAttribute("value","");
		inLogin.className = "input";
		
		formulaire.appendChild(lLogin);
		lLogin.appendChild(sLogin);
		sLogin.appendChild(txtLogin);
		lLogin.appendChild(inLogin);
		//

		
		// pass
		var lPass=document.createElement("label");
		lPass.setAttribute("title","Votre mot de passe");
		
		var sPass=document.createElement("span");
		var txtPass=document.createTextNode("Mot de passe :");
		
		var inPass=document.createElement("input");
		inPass.setAttribute("name","password");
		inPass.setAttribute("id","password");
		inPass.setAttribute("title","votre mot de passe");
		inPass.setAttribute("type","password");
		inPass.setAttribute("value","");
		inPass.className = "input";
		
		formulaire.appendChild(lPass);
		lPass.appendChild(sPass);
		sPass.appendChild(txtPass);
		lPass.appendChild(inPass);
		//
		
		
		// submit
		var lSubmit=document.createElement("label");
		lSubmit.setAttribute("title","Connexion");
		
		var sSubmit=document.createElement("span");
		
		var inSubmit=document.createElement("input");
		inSubmit.setAttribute("class","submit");
		inSubmit.className="submit";
		inSubmit.setAttribute("type","button");
		inSubmit.setAttribute("value","Connexion");
		
		formulaire.appendChild(lSubmit);
		lSubmit.appendChild(sSubmit);
		lSubmit.appendChild(inSubmit);
		//
		

		// focus sur champ login
		inLogin.focus();
	
		inSubmit.onclick=function(){
			if(valider(formulaire,inLogin,inPass)){
				if(messageRetour)messageRetour.innerHTML="Authentification en cours...";
				if(leTitre)leTitre.innerHTML="Authentification en cours...";
				formulaire.submit();
				}
			}
		//
		
		
	// comportement support click
			supportClick.onclick=function(event){
				document.body.removeChild(paveLog);
				document.body.removeChild(supportClick);
		
		// affiche les champs select
		var champsSelect = document.getElementsByTagName("select");
	
			for(var i=0; i<champsSelect.length; i++){
				var champ = champsSelect[i];
				champ.style.visibility='visible';
			}

		}
		
	// centrer le log
		if(paveLog){
			window.onresize = window.onscroll = function(event){ 
			centrer(paveLog); 
			}
		}


	} catch(e){};
}


// gestion boutons cnx / dcnx
function login(){
	try{
		
	 // creation du support de click	
	var supportClick=creerSupportClick();
	opacifier(20,supportClick);
	
	// creation du pave de log
	creerLog(supportClick);
	} catch(e){};
}



function logout(){
	if(messageRetour)messageRetour.innerHTML="Déconnexion en cours ...";
	window.location.href=root+'query/logout.php';
	}







/*********************** connexion espace pros ******************************/

// declarations
var supportClick =null;

if(document.getElementById("espace_pro"))var espace_pro = document.getElementById("espace_pro"); // container
if(document.getElementById("espace_pro_login"))var espace_pro_login = document.getElementById("espace_pro_login");
if(document.getElementById("espace_pro_inscription"))var espace_pro_inscription = document.getElementById("espace_pro_inscription");
if(document.getElementById("espace_pro_oubli"))var espace_pro_oubli = document.getElementById("espace_pro_oubli");
if(document.getElementById("espace_pro_retour"))var espace_pro_retour = document.getElementById("espace_pro_retour");

function initialiserLogEspacePro(){
	if(supportClick!=null){document.body.removeChild(supportClick);}
	
	if(espace_pro_login) espace_pro_login.style.display = "block";
	if(espace_pro_inscription) espace_pro_inscription.style.display="none";
	if(espace_pro_oubli) espace_pro_oubli.style.display="none";
	if(espace_pro_retour) espace_pro_retour.style.display="none";
	if(espace_pro) espace_pro.style.display="none";

		// affiche les champs select
		if(document.getElementsByTagName("select")){
			var champsSelect = document.getElementsByTagName("select");
	
			for(var i=0; i<champsSelect.length; i++){
				var champ = champsSelect[i];
				champ.style.visibility='visible';
			}
		}
		//
}



function afficherLoginPro(supportClick, sens){
	try {
		
		if(document.getElementById("espace_pro")){
		
			// centre objet
			if(espace_pro){
				espace_pro.style.display="block";
				centrer(espace_pro);
				
				if(sens=="retour"){
					espace_pro_retour.style.display='';
					espace_pro_login.style.display='none';
				}

				// login
				if(espace_pro_login && espace_pro_login.style.display!='none'){
					// focus sur champ login
					var login_pro = document.getElementById("login_pro");
					login_pro.focus();
				}
				//
			}
		}
		
		
		
	// comportement support click
	supportClick.onclick=function(event){
		initialiserLogEspacePro();
	}
		
	// centrer le log
		if(espace_pro){
			window.onresize = window.onscroll = function(event){ 
			centrer(espace_pro); 
				// hauteur et largeur max
				var hauteurAff=getWinDimensions()[0];
				var largeurAff=getWinDimensions()[1];
				
				var hauteurScroll=getScrollXY()[0];
				var hauteurWin=hauteurScroll+hauteurAff;
			
				supportClick.style.height=hauteurWin+"px";

			}
		}

	} catch(e){};
}



function espace_pros(){
	try{
	
	if(document.getElementById("messageEspacePro"))document.getElementById("messageEspacePro").innerHTML="";
	if(document.getElementById("messageRetour"))document.getElementById("messageRetour").innerHTML="";
	if(document.getElementById("messageErreur"))document.getElementById("messageErreur").innerHTML="";
	
	
	if(arguments.length>0)var sens="retour";
	else sens="aller";
	
	 // creation du support de click	
	supportClick=creerSupportClick();
	opacifier(20,supportClick);
	
	// appel du pave de login
	afficherLoginPro(supportClick, sens);
	} catch(e){};
	
}



function switcher(parent, cible){
	parent.style.display = 'none';
	cible.style.display = '';	
	if(espace_pro)centrer(espace_pro); 
	if(document.getElementById("messageEspacePro"))document.getElementById("messageEspacePro").innerHTML="";
}

/******************** fonctions Espace Pro ********************************/







function creerCnx(){
	if(document.getElementById("cnx")){
		var divCnx = document.getElementById("cnx");
		
		if(divCnx){
			if(divCnx.className=="cnx"){etatCnx='connect';title='Déconnexion';action='logout'; fonction='logout()';}
			else {etatCnx='disconnect';title='Connexion';action='login'; fonction='login()';}
			
			var lienCnx = document.createElement('a');
			lienCnx.setAttribute('href','javascript:'+fonction);
			lienCnx.setAttribute('title',title);
			
			var textCnx = document.createTextNode(title);
			lienCnx.appendChild(textCnx);
		
			lienCnx.setAttribute('class',etatCnx);
			lienCnx.className=etatCnx;
			divCnx.appendChild(lienCnx);
		}
	}
}


function creerSupportClick(){
	
	cible=arguments[0];
	
	var supportClick = document.createElement('div');
	supportClick.className = "supportClick";
	
	if(!cible){cible=document.body.childNodes[2];supportClick.style.zIndex = 1;}

	cible.parentNode.insertBefore(supportClick, cible);
	
	// hauteur et largeur max
	var hauteurAff=getWinDimensions()[0];
	var largeurAff=getWinDimensions()[1];
	
	var hauteurScroll=getScrollXY()[0];
	var hauteurWin=hauteurScroll+hauteurAff;

	supportClick.style.height=hauteurWin+"px";
	
	// masque les champs select
	var champsSelect = document.getElementsByTagName("select");
	
		for(var i=0; i<champsSelect.length; i++){
			var champ = champsSelect[i];
			if(champ.className!="selectPro")champ.style.visibility='hidden';
		}
	
	
	return supportClick;
	
}

creerCnx();


/*****************************************************************************/

