// JavaScript Document

var xMouse, yMouse;
document.onmousemove = posSouris;

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------

function verifHformat(val) 	//retourne true si format obj du style hh:mm (ou éventuellement h:mm)
							// obj : objet champs texte
	{
	var pCret=true;       // parametre code retour
	var p2=val.indexOf(":");
	if (((p2==1) || (p2==2)))
		{
		var h=val.substring(0,p2);
		var m=val.substring((p2+1),val.length);
		if ((h<0) || (h>23) || isNaN(h) || (m<0) || (m>59) || isNaN(m))
			{
			pCret=false;
			}
		}
	else
		{
		pCret=false;
		}
	return pCret;
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function verifDate(val)    // retourne true si la date contenue dans obj est valide
	{
	var str=val;
	var pCret=true;
	var p1=str.indexOf("/");
	var p2=str.lastIndexOf("/");
	if(p1<1 || p2<1)
		pCret=false;
	else
		{
		var j=eval(str.substring(0,p1));
		var m=eval(str.substring(p1+1,p2));
		var a=eval(str.substring(p2+1,str.length));
		if (a<=1900)
			pCret=false;
		var bissext=(a % 4 == 0);
		switch (m)
			{
			case 1 :
				if (j<0 || j>31)
					{
					pCret=false;
					}
			break;
			case 3 :
				if (j<0 || j>31)
					{
					pCret=false;
					}
			break;
			case 5 :
				if (j<0 || j>31)
					{
					pCret=false;
					}
			break;
			case 7 :
				if (j<0 || j>31)
					{
					pCret=false;
					}
			break;
			case 8 :
				if (j<0 || j>31)
					{
					pCret=false;
					}
			break;
			case 10 :
				if (j<0 || j>31)
					{
					pCret=false;
					}
			break;
			case 12 :
				if (j<0 || j>31)
					{
					pCret=false;
					}
			break;   
			case 4 :
				if (j<0 || j>30)
					{
					pCret=false;
					}
			break;
			case 6 :
				if (j<0 || j>30)
					{
					pCret=false;
					}
			break;
			case 9 :
				if (j<0 || j>30)
					{
					pCret=false;
					}
			break;
			case 11 :
				if (j<0 || j>30)
					{
					pCret=false;
					}
			break;
			case 2 :
				if (bissext)
					{
					if (j<0 || j>29)
						{
						pCret=false;
						}
					}
				else
					{
					if (j<0 || j>28)
						{
						pCret=false;
						}
					}
	//			alert(j);
			break;
			default :
				pCret=false;
			break;
			}
		}
	return (pCret);
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function euroToF()
	{
	var mtE=document.getElementById("ch_cotisE").value;
	if (!isNaN(mtE))
		{
		var mtF=mtE * 6.55957;
		document.getElementById("ch_cotisF").value=Math.floor(100*mtF)/100;
		}
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function FtoEuro()
	{
	var mtF=document.getElementById("ch_cotisF").value;
	if (!isNaN(mtF))
		{
		var mtE=mtF / 6.55957;
		document.getElementById("ch_cotisE").value=Math.floor(100*mtE)/100;
		}
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function cDate(val)	// classe extrayant j,m,a d'une variable texte sous la forme jj/mm/aaaa
	{
	var str=val;
	var p1=str.indexOf("/");
	var p2=str.lastIndexOf("/");
	this.j=eval(str.substring(0,p1));
	this.m=eval(str.substring(p1+1,p2));
	this.a=eval(str.substring(p2+1,str.length));
	this.toObject=new Date(this.a, this.m-1, this.j);
	}
	
// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function isDate(j_, m_, a_) // retourne true si date contenue dans trois zones nommées "j_", m_" et "a_"
	{
	var j=parseInt(document.getElementById(j_).value, 10);
	var m=parseInt(document.getElementById(m_).value, 10);
	var a=parseInt(document.getElementById(a_).value, 10);
	var pCret=true;
	document.getElementById(j_).className="";
	document.getElementById(m_).className="";
	document.getElementById(a_).className="";

	if (isNaN(j) || isNaN(m) || isNaN(a))
		pCret=false;

	if (a<1900)
		pCret=false;

	var bissext=(a % 4 == 0);

	switch (m)
		{
		case 1 :
			if (j<0 || j>31)
				{
				pCret=false;
				}
		break;
		case 3 :
			if (j<0 || j>31)
				{
				pCret=false;
				}
		break;
		case 5 :
			if (j<0 || j>31)
				{
				pCret=false;
				}
		break;
		case 7 :
			if (j<0 || j>31)
				{
				pCret=false;
				}
		break;
		case 8 :
			if (j<0 || j>31)
				{
				pCret=false;
				}
		break;
		case 10 :
			if (j<0 || j>31)
				{
				pCret=false;
				}
		break;
		case 12 :
			if (j<0 || j>31)
				{
				pCret=false;
				}
		break;   
		case 4 :
			if (j<0 || j>30)
				{
				pCret=false;
				}
		break;
		case 6 :
			if (j<0 || j>30)
				{
				pCret=false;
				}
		break;
		case 9 :
			if (j<0 || j>30)
				{
				pCret=false;
				}
		break;
		case 11 :
			if (j<0 || j>30)
				{
				pCret=false;
				}
		break;
		case 2 :
			if (bissext)
				{
				if (j<0 || j>29)
					{
					pCret=false;
					}
				}
			else
				{
				if (j<0 || j>28)
					{
					pCret=false;
					}
				}
//			alert(j);
		break;
		default :
//			alert("default");
			pCret=false;
		break;
		}
		
	if (!pCret)
		{
		document.getElementById(j_).className="erreur";
		document.getElementById(m_).className="erreur";
		document.getElementById(a_).className="erreur";
		}
		
	return(pCret);
	}
	
// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function isTime(h_, m_) 	//
	{
	var h=parseInt(document.getElementById(h_).value, 10);
	var m=parseInt(document.getElementById(m_).value, 10);
	var pCret=true;       // parametre code retour 
	
	document.getElementById(h_).className="";
	document.getElementById(m_).className="";
	
	if (isNaN(document.getElementById(h_).value) || isNaN(document.getElementById(m_).value))
		pCret=false;
		
	if ((h<0) || (h>23) || isNaN(h) || (m<0) || (m>59) || isNaN(m))
		pCret=false;
	
	if (!pCret)
		{
		document.getElementById(h_).className="erreur";
		document.getElementById(m_).className="erreur";
		}

	return pCret;
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function isValid(fieldId, critere, errMess)
	{
	var pCret=false;
	switch (critere)
		{
		case "noEmpty" :
			if (document.getElementById(fieldId).value=="")
				pCret=true;
				textErr+=errMess;
			break;
		}
	return pCret;
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function isEmpty(fieldId)
	{
	var pCret=false;
	document.getElementById(fieldId).className="";
	if (document.getElementById(fieldId).value=="")
		{
		document.getElementById(fieldId).className="erreur";
		pCret=true;
		}
	return pCret;
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function isEmptyOrNaN(fieldId)
	{
	var pCret=false;
	document.getElementById(fieldId).className="";
	if (document.getElementById(fieldId).value=="" || isNaN(document.getElementById(fieldId).value))
		{
		document.getElementById(fieldId).className="erreur";
		pCret=true;
		}
	return pCret;
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function isAtelNumber(fieldId)
	{
	var pCret=false;
	var bid=document.getElementById(fieldId).value;
	bid=bid.replace(/\s/g, "");
	bid=bid.replace(/\./g, "");
	bid=bid.replace(/\//g, "");
	bid=bid.replace(/-/g, "");
	document.getElementById(fieldId).value=bid;

	pCret=!isEmptyOrNaN(fieldId);
	
	
	return pCret;
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function show(divId)
	{
	document.getElementById(divId).style.visibility="visible";
	document.getElementById(divId).style.display="inline";
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function hide(divId)
	{
	document.getElementById(divId).style.visibility="hidden";
	document.getElementById(divId).style.display="none";
	}

// -----------------------------------------------------------------------------------------------------------------------
// function isAnterior(j_, m_, a_)
// return true si la date contenue dans j_, m_, a_ est antérieure à la date du jour
// -----------------------------------------------------------------------------------------------------------------------
function isAnterior(j_, m_, a_)
	{
	var pCret=false;
	var dd=(document.getElementById(a_).value*10000) + (document.getElementById(m_).value*100) + parseInt(document.getElementById(j_).value, 10);
	var today=new Date();
	var dToday=today.getFullYear() * 10000 + (today.getMonth()+1)*100 + today.getDate();
	document.getElementById(j_).className="";
	document.getElementById(m_).className="";
	document.getElementById(a_).className="";
	if (dd<dToday)
		{
		//alert("ant");
		pCret=true;
		document.getElementById(j_).className="erreur";
		document.getElementById(m_).className="erreur";
		document.getElementById(a_).className="erreur";
		}
	return pCret;
	}
		
// -----------------------------------------------------------------------------------------------------------------------
// function isAnterior(j_, m_, a_)
// return true si la date contenue dans j_, m_, a_ est antérieure à la date du jour
// -----------------------------------------------------------------------------------------------------------------------
function isPosterior(j_, m_, a_)
	{
	var pCret=false;
	var dd=document.getElementById(a_).value*10000 + document.getElementById(m_).value*100 + parseInt(document.getElementById(j_).value, 10);
	var today=new Date();
	var dToday=today.getFullYear() * 10000 + (today.getMonth()+1)*100 + today.getDate();
	document.getElementById(j_).className="";
	document.getElementById(m_).className="";
	document.getElementById(a_).className="";
	if (dd>today)
		{
		pCret=true;
		document.getElementById(j_).className="erreur";
		document.getElementById(m_).className="erreur";
		document.getElementById(a_).className="erreur";
		}
	return pCret;
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function resetClass()
	{
	for (var i=0; i<resetClass.arguments.length; i++)
		{
		document.getElementById(resetClass.arguments[i]).className="";
		}
	}

// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function isRIBvalid()
	{
	
	if (isRIBvalid.arguments.length>=3)
		{
		var bqe=isRIBvalid.arguments[0];
		var gui=isRIBvalid.arguments[1];
		var cpt=isRIBvalid.arguments[2].toUpperCase();

		var tab= "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		var tab1="123456789123456789234567890123456789".split("");
		while (cpt.match(/\D/) != null)
			cpt=cpt.replace(/\D/, tab1[tab.indexOf(cpt.match(/\D/))]);
		var cp=parseInt	(cpt, 10);
		
		a=bqe%97;
		a=a*100000+parseInt(gui, 10);
		a=a%97;
		a=a*Math.pow(10, 11) + cp;
		a=a%97
		a=a*100;
		a=a%97
		a=97-a;
		if (isRIBvalid.arguments.length>3)
			return isRIBvalid.arguments[3]==a;
		else
			return a;
		}
	else
		{
		return false;
		}
	}
	
// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function myPopup(idAide)
	{
	/*var obj=null;
	obj=(navigator.appName.substring(0,3) == "Net")?evt.target:window.event.srcElement;*/
	//alert(obj.id);
	var x, y;
	var obj=document.getElementById(idAide);
	obj.style.visibility="visible";
	obj.style.display="inline";
	x=xMouse-400;
	y=yMouse+20;
	if (x<0) x=0;
	if (y<0) y=0;
	obj.style.left=x;
	obj.style.top=y;
	}
	
// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function hidePopup(idAide)
	{
	var obj=document.getElementById(idAide);
	obj.style.visibility="hidden";
	obj.style.display="none";
	}
	
// -----------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------
function posSouris(e)
	{
	try
		{
			xMouse = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
			yMouse = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;
		}
	catch(e)
		{
		}
	}

