//Javascript lib
//--------------------------------------------------------------------------------------------------------------------
//GLOBALES	

	JOINT_TOP_POS = 63;
	
//--------------------------------------------------------------------------------------------------------------------
	
	function Init()
	{
		
		//MajNbProdPatho();
		//selectTR('ligne0','4');
		if(document.getElementById("panel_ordonnance")) GetPanel('ligne0');
	}

//--------------------------------------------------------------------------------------------------------------------
	
	function changeBG(id)
	{
		
		var nomBrowser = navigator.appName;
		
		if(nomBrowser=="Microsoft Internet Explorer")
		{		
			document.getElementById(id).style.cursor='pointer';
			if(document.getElementById(id).style.backgroundColor!='#8fa0f7' 
			&& document.getElementById(id).style.backgroundColor!='#eb6820'
			&& document.getElementById(id).style.backgroundColor!='#e68b59'
			&& document.getElementById(id).style.backgroundColor!='#d2e6c6'
			&& document.getElementById(id).style.backgroundColor!='#fc8478'
			) 
			{
				if(document.getElementById(id).style.backgroundColor=='#efefef') 
				{
					var no = id.substring(5,id.length);
					/*if(no%2==1)
						document.getElementById(id).style.backgroundColor='#f1ffe3';
					else*/
						document.getElementById(id).style.backgroundColor='#FFFFFF';
				
				}
				else document.getElementById(id).style.backgroundColor='#EFEFEF';
			}
		}
		else
		{
			document.getElementById(id).style.cursor='pointer';
			if(document.getElementById(id).style.backgroundColor!='rgb(143, 160, 247)'
			&& document.getElementById(id).style.backgroundColor!='rgb(235, 104, 32)'
			&& document.getElementById(id).style.backgroundColor!='rgb(230, 139, 89)'
			&& document.getElementById(id).style.backgroundColor!='rgb(210, 230, 198)'
			&& document.getElementById(id).style.backgroundColor!='rgb(252, 132, 120)'
			) 
			{
				if(document.getElementById(id).style.backgroundColor=='rgb(239, 239, 239)') 
				{
					var no = id.substring(5,id.length);
					/*
					if(no%2==1)
						document.getElementById(id).style.backgroundColor='#f1ffe3';
					else*/
						document.getElementById(id).style.backgroundColor='#FFFFFF';
				}
				else document.getElementById(id).style.backgroundColor='#EFEFEF';
			}
		}
		
	}

//--------------------------------------------------------------------------------------------------------------------

	function selectTR(id,tailleList)
	{ 
		var nomId="ligne";
		var num = id.substring(5,6);
		
		for(var i=0;i<tailleList;i++)
		{		
			document.getElementById(nomId+i).style.backgroundColor='#FFF';		
			document.getElementById(nomId+i).style.color='#000';
		}
		
		
		/*
		document.getElementById(id).getElementsByTagName('td')[0].style.borderBottom="2px solid #6578DE";
		document.getElementById(id).getElementsByTagName('td')[1].style.borderBottom="2px solid #6578DE";
		document.getElementById(id).getElementsByTagName('td')[0].style.borderTop="2px solid #6578DE";
		document.getElementById(id).getElementsByTagName('td')[1].style.borderTop="2px solid #6578DE";
		*/
		
		var topPos = JOINT_TOP_POS;
		
		switch(num)
		{
			case "0":
			topPos= topPos -0;
			
			document.getElementById(id).style.backgroundColor='#8FA0F7';
			document.getElementById(id).style.color='#FFF';
		
			document.getElementById("hm_outils").style.background="url(./img/degrade_bleu.gif) top left repeat-x";
			document.getElementById("fenetre_outils").style.borderColor="#6578DE";
			document.getElementById("titre_outils").style.color='#FFF';
			document.getElementById("titre_ppal").style.color='#6578DE';
			/*
			document.getElementById("fenetre_ppal").style.borderColor="#6578DE";
			document.getElementById("hm_ppal").style.background="url(./img/degrade_bleu.gif) top left repeat-x";
			document.getElementById("titre_ppal").style.color='#FFF';
			document.getElementById("joint").style.backgroundColor="#8FA0F7";
			document.getElementById("joint").style.borderTop="2px solid #6578DE";
			document.getElementById("joint").style.borderBottom="2px solid #6578DE";
			*/
			document.getElementById("titre_ppal").innerHTML = "&nbsp;&nbsp;Mon Ordonnance";
			break;
			
			case "1":
			topPos= topPos -0 + 31;
			document.getElementById(id).style.backgroundColor='#e68b59';
			document.getElementById(id).style.color='#FFF';
			document.getElementById("hm_outils").style.background="url(./img/degrade_orange.gif) top left repeat-x";
			document.getElementById("titre_outils").style.color='#FFF';
			document.getElementById("fenetre_outils").style.borderColor="#EB6820";
			document.getElementById("titre_ppal").style.color='#EB6820';
			/*
			document.getElementById("fenetre_ppal").style.borderColor="#EB6820";
			document.getElementById("hm_ppal").style.background="url(./img/degrade_orange.gif) top left repeat-x";
			document.getElementById("titre_ppal").style.color='#FFF';
			*/
			/*
			document.getElementById("joint").style.backgroundColor="#e68b59";
			document.getElementById("joint").style.borderTop="2px solid #EB6820";
			document.getElementById("joint").style.borderBottom="2px solid #EB6820";
			*/
			document.getElementById("titre_ppal").innerHTML = "&nbsp;&nbsp;Ajouter un produit";
			break;
			
			case "2":
			topPos= topPos -0 + 62;
			document.getElementById(id).style.backgroundColor='#fc8478';
			document.getElementById(id).style.color='#FFF';
			document.getElementById("hm_outils").style.background="url(./img/degrade_rouge.gif) top left repeat-x";
			document.getElementById("titre_outils").style.color='#FFF';
			document.getElementById("fenetre_outils").style.borderColor="#DE0404";
			document.getElementById("titre_ppal").style.color='#DE0404';
			document.getElementById("titre_ppal").innerHTML = "&nbsp;&nbsp;Mes pathologies";
			break;
			
			case "3":
			topPos= topPos -0 + 93;
			document.getElementById(id).style.backgroundColor='#D2E6C6';
			document.getElementById(id).style.color='#000';
			document.getElementById("fenetre_outils").style.borderColor="#0fA02f";
			document.getElementById("hm_outils").style.background="url(./img/degrade_vert.gif) top left repeat-x";
			document.getElementById("titre_outils").style.color='#FFF';
			document.getElementById("titre_ppal").style.color='#0fA02f';
			/*
			document.getElementById("fenetre_ppal").style.borderColor="#e5D01F";
			document.getElementById("hm_ppal").style.background="url(./img/degrade_jaune.gif) top left repeat-x";
			document.getElementById("titre_ppal").style.color='#000';
			*/
			/*
			document.getElementById("joint").style.backgroundColor="#e68b59";
			document.getElementById("joint").style.borderTop="2px solid #EB6820";
			document.getElementById("joint").style.borderBottom="2px solid #EB6820";
			*/
			document.getElementById("titre_ppal").innerHTML = "&nbsp;&nbsp;Contrôle de l'ordonnance";
			break;
			
			default:
			break;
		}
		
		
	
		document.getElementById("joint").style.top = topPos + "px";
	}

//--------------------------------------------------------------------------------------------------------------------

	function getNavigatorCode() 
	{
		var detect = navigator.userAgent.toLowerCase();
		var navCode = "";
		var ver = "";
		var pos = "";
		
		if(detect.indexOf('firefox')!=-1)
		{
			pos = detect.indexOf('firefox');
			ver = detect.substring(pos+8,pos+9);
			navCode = "FF"+ver;
		}
		else if(detect.indexOf('msie')!=-1)
		{
			pos = detect.indexOf('msie');
			ver = detect.substring(pos+5,pos+6);
			navCode = "IE"+ver;
		}
		else if(detect.indexOf('safari')!=-1)
		{
			pos = detect.indexOf('safari');
			ver = detect.substring(pos-4,pos-3);
			navCode = "SA"+ver;
		}
		else
		{
			navCode = "AU";
		}
		
		return navCode;
	}

//--------------------------------------------------------------------------------------------------------------------
	
	function AddP(CodeCip)
	{
		var page = "AjoutProduit.asp?CodeCip=" + CodeCip;
		
		var xhr_object = null;
		if(window.XMLHttpRequest)
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else {
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}
		
		xhr_object.open("GET",page, true);
		xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) 
			{
				if(xhr_object.responseText.lastIndexOf("ajout...ok")>=0)
				{
					cach_infos();
				}
				else
				{
					msgbox("Erreur lors de l'ajout du produit dans l'ordonnance !\nVeuillez réessayer.","Ordonnance.org");
				}
				
			}
		}
			
		xhr_object.send(null);	
	}

//--------------------------------------------------------------------------------------------------------------------
	
	function AddPatho(code)
	{
		var page = "AjoutPatho.asp?code=" +code;
		
		var xhr_object = null;
		if(window.XMLHttpRequest)
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else {
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}
		
		xhr_object.open("GET",page, true);
		xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) 
			{
				if(xhr_object.responseText.lastIndexOf("ajout...ok")>=0)
				{
					cach_infos();
					//OpenDynWin('mesPathologies.asp',true,550);
				}
				else if(xhr_object.responseText.lastIndexOf("ajout...exist")>=0)
				{
					msgbox("Cette pathologie fait déjà partie de votre liste !","Ordonnance.org");
				}
				else
				{
					msgbox("Impossible d'ajouter la pathologie !\nVeuillez réessayer.","Ordonnance.org");
				}
				
			}
		}
			
		xhr_object.send(null);	
	}

//--------------------------------------------------------------------------------------------------------------------

	function AddAllergie(code)
	{
		var page = "AjoutAllergie.asp?code=" +code;
		
		var xhr_object = null;
		if(window.XMLHttpRequest)
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else {
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}
		
		xhr_object.open("GET",page, true);
		xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) 
			{
				if(xhr_object.responseText.lastIndexOf("ajout...ok")>=0)
				{
					cach_infos();
					//OpenDynWin('mesAllergies.asp',true,550);
				}
				else if(xhr_object.responseText.lastIndexOf("ajout...exist")>=0)
				{
					msgbox("Cette pathologie fait déjà partie de votre liste !","Ordonnance.org");
				}
				else
				{
					msgbox("Impossible d'ajouter la pathologie !\nVeuillez réessayer.","Ordonnance.org");
				}
				
			}
		}
			
		xhr_object.send(null);	
	}

//--------------------------------------------------------------------------------------------------------------------

	function DelP(indice)
	{
		var page = "SupprProduit.asp";
		var param = "?ind="+indice
					
		var xhr_object = null;
		if(window.XMLHttpRequest)
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else {
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}

		xhr_object.open("GET",page+param, true);
		xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) 
			{
				GetPanel("ligne0");
			}
		}
			
		xhr_object.send(null);	
	
	}

//--------------------------------------------------------------------------------------------------------------------
	
	function DelPatho(indice)
	{
		var page = "SupprPatho.asp";
		var param = "?ind="+indice
		
		var xhr_object = null;
		if(window.XMLHttpRequest)
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else {
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}
		
		xhr_object.open("GET",page+param, true);
		xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) 
			{
				GetPanel("ligne0");
			}
		}
			
		xhr_object.send(null);	
		
	}

//--------------------------------------------------------------------------------------------------------------------

	function DelAllergie(indice)
	{
		var page = "SupprAllergie.asp";
		var param = "?ind="+indice
		
		var xhr_object = null;
		if(window.XMLHttpRequest)
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else {
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}
		
		xhr_object.open("GET",page+param, true);
		xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) 
			{
				GetPanel("ligne0");
			}
		}
			
		xhr_object.send(null);	
		
	}

//--------------------------------------------------------------------------------------------------------------------

	function Valide()
	{
		var record = true;
		
		if(document.getElementById('typeAge').value == 0)
		{
			if(document.getElementById('age').value > 150)
			{
				msgbox("L'âge en années doit être compris entre 0 et 150 !","Ordonnance.org");
				return false;
			}
		}
		else
		{
			if(document.getElementById('age').value < 1 || document.getElementById('age').value > 1800)
			{
				msgbox("L'âge en mois doit être compris entre 1 et 1800 (150 ans) !","Ordonnance.org");
				return false;
			}
		}
		
		if(document.getElementById('grossesse').value >40)
		{
			msgbox("Le nombre de semaines de grossesse ne doit pas dépasser 40 !","Ordonnance.org");
			return false;
		}
		
		if(document.getElementById('grossesse').value==0) document.getElementById('grossesse').value = "";
		
		return true;
	}
	
//--------------------------------------------------------------------------------------------------------------------

	function ActiverGrossesse()
	{
		document.getElementById('grossesse').disabled=true;
		document.getElementById('allait').disabled=true;
		document.getElementById('grossesse').value='';
		document.getElementById('allait').checked=false;
		if(document.getElementById('sexe').value=='0' && document.getElementById('age').value>12 && document.getElementById('age').value<65 && document.getElementById('typeAge').value=='0')
		{
			document.getElementById('grossesse').disabled=false;
			document.getElementById('allait').disabled=false;
		}
	}

//--------------------------------------------------------------------------------------------------------------------

	function InfosBulle(obj,page)
	{
		var divIb = document.getElementById("divInfosBulle");
		var tabIb = document.getElementById("tabInfosBulle");
		this.obj = obj;
		
		if(page=="")
		{
			//On ferme la fenêtre
			tabIb.style.display = "none";
		}
		else
		{
			var h = obj.offsetHeight;
			var offsetTop = obj.offsetTop;
			var offsetLeft = obj.offsetLeft;
			
			while ((obj = obj.offsetParent )!=null) {
				offsetTop += obj.offsetTop;
				offsetLeft += obj.offsetLeft;
			}
			
			var y=offsetTop;
			var x=offsetLeft;
					
			var xhr_object = null;
			if(window.XMLHttpRequest)
			  xhr_object = new XMLHttpRequest();
			else if(window.ActiveXObject)
			  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
			else {
			  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
				return;
			}
			
			xhr_object.open("GET",page, true);
			xhr_object.onreadystatechange = function() {
				if(xhr_object.readyState == 4) 
				{
					if(xhr_object.responseText!="")
					{
						divIb.innerHTML = xhr_object.responseText;
						tabIb.style.left = (x) + "px";
						tabIb.style.top = (y) + "px";
						tabIb.style.display = "block";
					}
				}
			}
			
			xhr_object.send(null);	
		}
		
	}

//--------------------------------------------------------------------------------------------------------------------

	function validerInscription()
	{
		var mail = document.getElementById("inscription_mail").value;
		var accept = document.getElementById("cbx_accept").checked;
				
		if(mail=="") 
		{	
			msgbox("Vous n'avez pas saisi votre adresse e-mail.","Ordonnance.org");
			return false;
		}
		else
		{
			if(isMailFormat(mail)==false)
			{
				msgbox("L'adresse e-mail que vous avez indiqué est incorrecte.","Ordonnance.org");
				return false;
			}
			else
			{
				if(accept==false) 
				{
					msgbox("Pour valider votre insciption, vous devez accepter les conditions d'utilisation.","Ordonnance.org");
					return false;
				}
				else
				{
					//window.location="inscription.asp?mail="+mail+"&p="+GenererPass();
					document.getElementById("p").value = GenererPass();
					return true;
				}
			}
		}
	}
	
	function isMailFormat(input)
    {
   		var exp=new RegExp("^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+.+[a-zA-Z]{2,5}$");
   		//var exp=new RegExp("^[a-z0-9_]([.-]?[a-z0-9_]+)+@[a-z0-9_]([.-]?[a-z0-9_]+)+\.([a-z]{2,4}|[a-z]{6})$");
                 
		if(exp.test(input)) return true;
		else return false;
    } 
	
	function validerRecovery()
	{
		var mail = document.getElementById("recovery_mail").value;
		if(mail=="") 
		{	
			alert("Vous n'avez pas saisi votre adresse e-mail.");
			return false;
		}
		else
		{
			if(isMailFormat(mail)==false)
			{
				alert("L'adresse e-mail que vous avez indiqué est incorrecte.");
				return false;
			}
			else
			{
				return true;
			}
		}
	}
	
	function GenererPass()
	{
		var carMaj = "";
		var carMin = "";
		var carNbr = "";
		var choix = 0;
		var pass = "";
		
		for(var i =1;i<=6;i++)
		{
			carMaj = String.fromCharCode(Math.floor(Math.random()*26)+65);
			carMin = String.fromCharCode(Math.floor(Math.random()*26)+97);
			carNbr = Math.floor(Math.random()*10);
			choix = Math.floor(Math.random()*3);
			
			while(carMaj=="I" || carMaj=="L" || carMaj=="O") 	carMaj = String.fromCharCode(Math.floor(Math.random()*26)+65);
			while(carMin=="i" || carMin=="l" || carMin=="o") 	carMin = String.fromCharCode(Math.floor(Math.random()*26)+97);
			while(carNbr==0 || carNbr==1)						carNbr = Math.floor(Math.random()*10);
			
			if(choix==0) pass = pass + carMaj;
			else if(choix==1) pass = pass + carMin;
			else if(choix==2) pass = pass + carNbr;
			else pass = pass + carMaj;
		}
		
		return pass;
		
	}
	
	function validerModifCompte()
	{
		var pass0 = document.getElementById("compte_pass0").value;
		var pass1 = document.getElementById("compte_pass1").value;
		var pass2 = document.getElementById("compte_pass2").value;
		
		if(pass0=="")
		{
			alert("Vous n'avez pas saisi le mot de passe actuel.");
			return false;
		}
		
		if(pass1!="")
		{
			if(pass1.length==6 || pass1.length==7 || pass1.length==8)
			{
				if(pass1!=pass2)
				{
					alert("Les mots de passe ne correspondent pas.");
					return false;
				}
			}
			else
			{
				alert("Le mot de passe doit contenir 6 à 8 caractères.");
				return false;
			}
		}
		else
		{
			alert("Vous n'avez pas saisi le nouveau mot de passe.");
			return false;
		}
		
		return true;
	}
	
	function trace(typeInfo,cip)
	{
		var xhr_object = null;
		if(window.XMLHttpRequest)
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else {
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}
		
		xhr_object.open("GET","traceInfos.asp?cip="+cip+"&typeInfo="+typeInfo, true);
		xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) 
			{
			
			}
		}
		
		xhr_object.send(null);
	}
	
	function setCookie(nom,valeur,jours) 
	{
		try
		{
			var expDate = new Date();
			expDate.setTime(expDate.getTime() + (jours * 24 * 3600 * 1000));
			document.cookie = nom + "=" + escape(valeur) + ";expires=" + expDate.toGMTString();
		}
		catch(err){}
	}
	
    function getCookie(nom) 
    {
        try
        {
	    	var deb = document.cookie.indexOf(nom + "=");
	        if (deb >= 0) 
	        {
	            deb += nom.length + 1;
	            var fin = document.cookie.indexOf(";",deb);
	            if (fin < 0) fin = document.cookie.length;
	            return unescape(document.cookie.substring(deb,fin));
	        }
	        return "";
        }
        catch(err)
        {
        	return "";
        }
        
    }

	function loadIdentifiants()
	{
		if(getCookie("ordoident")!="")
		{
			window.location="verif.asp?login="+getCookie("ordoident");
		}
		else
		{
			window.location="accueil.asp";
		}
	}

	function msgbox(texte,titre)
	{	
		var obj=document.getElementById("dialog");

		obj.setAttribute("title", titre);
		obj.getElementsByTagName("p")[0].innerHTML=texte;

		$( "#dialog:ui-dialog" ).dialog( "destroy" );

		$( "#dialog" ).dialog({
			resizable: false,
			height:'auto',
			modal: true,
			buttons:  {
				"Ok": function() { $(this).dialog("close");	}
			}
		});
	}
	
//End
