var glogalTM;

function init_js(){
	
	rollOvers();
	loadMasks();
	
	// fonctions pour IE seulement ...
	if(window.attachEvent){
		startList();
		overBtn();
		highLights();
		ieupdate();
	}
}


function startList(){
	if(document.getElementById("nav")){
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
				this.style.zIndex=200;
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
				this.style.zIndex=10;
			}
		}
	}
}

function rollOvers(){
	if (!document.getElementById) return
	
	var imgOriginSrc;
	var MouseOverHappened;
	var oldtop;
	var imgTemp = new Array();
	var imgarr = document.getElementsByTagName('img');
	
	for (var i = 0; i < imgarr.length; i++) {
		//Attribut hsrc pour Rollovers
		if (imgarr[i].getAttribute('hsrc')) {
			imgTemp[i] = new Image();
			imgTemp[i].src = imgarr[i].getAttribute('hsrc');
			imgarr[i].onmouseover = function() {
				imgOriginSrc = this.getAttribute('src');			
				this.setAttribute('src',this.getAttribute('hsrc'));
				MouseOverHappened=true;
			}
			imgarr[i].onmouseout = function() {
				if(MouseOverHappened)
					this.setAttribute('src',imgOriginSrc);
			}
		}
	
		//Attribut csrc pour action de click comme boutons
		if (imgarr[i].getAttribute('csrc')) {
			imgTemp[i] = new Image();
			imgTemp[i].src = imgarr[i].getAttribute('csrc');
			imgarr[i].onmousedown = function() {
				imgOriginSrc = this.getAttribute('src');			
				this.setAttribute('src',this.getAttribute('csrc'));
				MouseOverHappened=true;
			}
			imgarr[i].onmouseup = function() {
				if(MouseOverHappened)
					this.setAttribute('src',imgOriginSrc);
			}
		}
	}
}

function loadMasks(){
	var tags = new Array('input','textarea','span');
	for (var k = 0; k < tags.length; k++) {
		var inparr = document.getElementsByTagName(tags[k]);
		for (var i = 0; i < inparr.length; i++) {
			if(inparr[i].getAttribute('mask')){
				var div,childs,nfos;
				var image = new Array("qmark.gif","emark.gif");
				nfos = inparr[i].getAttribute('mask').split(";");
				
				if(nfos[0]!=-1){
					div = inparr[i].parentNode;
					div.className = div.className+" nfoLbl";
					div.innerHTML = '<div class="nopad">'+div.innerHTML+'</div><div style="padding-left: 5px;"><img src="/gestion/images/'+image[nfos[0]]+'" width="16" height="16" /><span style="display: none;">'+nfos[1]+'</span></div>';
					
					//Applique le mouseover sur l'image
					div.childNodes[1].childNodes[0].onmouseover = function() {
						pardiv = this.parentNode;
						span = pardiv.getElementsByTagName("span");
					
						span[0].style.display='';
						span[0].style.top=(this.offsetTop-span[0].offsetHeight+20)+'px';
						span[0].style.left=(this.offsetLeft-span[0].offsetWidth+20)+'px';
	
						span[0].onmouseout = function() {span[0].style.display='none';}
						MouseOverHappened=true;
					}
					
					//Applique le mouseout sur l'image
					div.childNodes[1].childNodes[0].onmouseout = function() {
						if(MouseOverHappened){
							pardiv = this.parentNode;
							span = pardiv.getElementsByTagName("span");
				
							span[0].style.display='none';
							span[0].onmouseover = function() {span[0].style.display='';}
						}
					}
				}
			}
		}
	}
}

function overBtn(){
	var tags = new Array("INPUT","TEXTAREA");
	for (var k=0; k<tags.length; k++){
		var sfBtns = document.getElementsByTagName(tags[k]);
		for (var i=0; i<sfBtns.length; i++){
			if(sfBtns[i].className=="btn"){
				sfBtns[i].style.width="0";
				sfBtns[i].onmouseover=function() {
					this.className="btno";
				}
				sfBtns[i].onmouseout=function() {
					this.className="btn";
				}
			}else{
				if(sfBtns[i].className!="nothing"&&sfBtns[i].className!="file"&&sfBtns[i].className!="disabled"){
					sfBtns[i].onmouseover=function() {
						this.className=this.className+"fhover";
					}
					sfBtns[i].onmouseout=function() {
						this.className=this.className.replace("fhover","");
					}
				}
			}
		}
	}
}

function highLights(){
	var tags = new Array("tr","div");
	for (var k=0; k<tags.length; k++){
		var sfElems = document.getElementsByTagName(tags[k]);
		for (var i=0; i<sfElems.length; i++) {
			if(sfElems[i].className.indexOf("highlight")!=-1){
				sfElems[i].onmouseover=function() {
					this.className=this.className.replace(/ highlight/," highlighto");
				}
				sfElems[i].onmouseout=function() {
					this.className=this.className.replace(/ highlighto/," highlight");
				}
			}
		}
	}
}

function ieupdate(){
	objects = document.getElementsByTagName("object");
	for (var i = 0; i < objects.length; i++) {
		objects[i].outerHTML = objects[i].outerHTML;
	}
}

function chgsrc(id,img){
	clearTimeout(glogalTM);
	setTimeout('document.getElementById("'+id+'").style.backgroundImage="url(images/bg-loading.gif)";',1);
	glogalTM = setTimeout('document.getElementById("'+id+'").style.backgroundImage="url(images/realisations/4-'+img+'.jpg)";',1000);
}

//Manual Scroller- © Dynamic Drive 2001
//For full source code, visit http://www.dynamicdrive.com
//Modified by Pierre-Michel Morais-Godin for ADN Communication 2006
//Please visit http://www.adncomm.com
function movedown(crossobj,contentheight,speed,scroller){
	if(!contentheight) getcontent_height(crossobj);
	maxHeight = scroller.offsetHeight;
	if (window.moveupvar) clearTimeout(moveupvar);
	if (parseInt(crossobj.style.top)>=(contentheight*(-1)+maxHeight)) crossobj.style.top=parseInt(crossobj.style.top)-speed+"px";
	movedownvar=setTimeout("movedown(crossobj,contentheight,speed,scroller)",20);
}

function moveup(crossobj,speed){
	if(!contentheight) getcontent_height(crossobj);
	if (window.movedownvar) clearTimeout(movedownvar);
	if (parseInt(crossobj.style.top)<=-speed) crossobj.style.top=parseInt(crossobj.style.top)+speed+"px";
	moveupvar=setTimeout("moveup(crossobj,speed)",20);
}

function stopscroll(){
	if (window.moveupvar) clearTimeout(moveupvar);
	if (window.movedownvar) clearTimeout(movedownvar);
}

function movetop(crossobj){
	stopscroll()
	crossobj.style.top=0+"px";
}

function getcontent_height(crossobj){
	contentheight=crossobj.offsetHeight;
}
//End Manual Scroller- © Dynamic Drive 2001


function IMC(a,b,c,d){
	var myimc = null;
	var p 	= 	document.getElementById(a).value;
	var pp 	= 	document.getElementById(b).value;
	var t 	= 	document.getElementById(c).value;
	var tt	= 	document.getElementById(d).value;
	var tarr;
	
	t=t.replace(/"/,"");
	t=t.replace(/ /,"");
	
	if(pp==1) p = p*0.45359237;
	if(tt==1){
		if(t.indexOf("'")!=-1){
			tarr = t.split("'");
			tarr[0] = parseInt(tarr[0]);
			tarr[1] = parseInt(tarr[1]);
			
			t = (tarr[0]*12)+tarr[1];
		}
		t = t*2.54;
	}
	
	t = t/100;
	
	myimc = p/(t*t);
	myimc = parseFloat(myimc).toFixed(2);
	
	if(myimc=="NaN"){
		myimc = "--";
		document.getElementById("p").value=0;
		document.getElementById("t").value=0;
	}
	document.getElementById("imcr").innerHTML=myimc;
	
	var spans = document.getElementById("graphic").getElementsByTagName("SPAN");
	
	for (var i=0; i<spans.length; i++) {
		spans[i].innerHTML = "&nbsp;";
	}
	
	var trs = document.getElementById("graphic").getElementsByTagName("TR");
	for (var i=0; i<trs.length; i++) {
		if(trs[i].className=="selected") trs[i].className = "";
	}
	
	thetr = null;
	
	if(myimc<18.5) 					thetr = "tr0";
	if(myimc>=18.5 && myimc<=24.9) 	thetr = "tr1";
	if(myimc>24.9 && myimc<=29.9) 	thetr = "tr2";
	if(myimc>29.9 && myimc<=34.9) 	thetr = "tr3";
	if(myimc>34.9 && myimc<=39.9) 	thetr = "tr4";
	if(myimc>39.9) 					thetr = "tr5";
	
	document.getElementById(thetr).className = "selected";
	spans = document.getElementById(thetr).getElementsByTagName("SPAN");
	
	for (var i=0; i<spans.length; i++) {
		spans[i].innerHTML = "&#8226;";
	}
	
	return myimc;
}


function validForm() {
	var tags = new Array('input','textarea','select');
	for (var k=0; k<tags.length; k++){
		var sfElems = document.getElementsByTagName(tags[k]);
		for (var i = 0; i < sfElems.length; i++) {
			if (sfElems[i].value == "" && sfElems[i].getAttribute('obg')=="true") {
				alert(sfElems[i].getAttribute('err'));
				sfElems[i].focus();
				return(false);
			}
		}
	}
return(true);
}

function checkDependency(obg) {
	if (obg.getAttribute('depend')!="")
	{
		var sfElems = document.getElementsByTagName('input');
		for (var i = 0; i < sfElems.length; i++) {
			if (obg.getAttribute('depend')== sfElems[i].name && obg.value=="" && sfElems[i].checked==true && sfElems[i].value=="1") {
				//alert(obg.getAttribute('err'));
				return(false);
			}
		}
		
	}
	return(true);
}

function showFormPanel(holder,el){
	document.getElementById("fset_"+el).className="none";
	document.getElementById(el).style.display="none";
	if(holder.checked){
		document.getElementById(el).style.display="";
		document.getElementById("fset_"+el).className="";
	}
}

function checkAvis(holder,btnid){
	document.getElementById(btnid+"real").style.display="none";
	document.getElementById(btnid+"false").style.display="";
	if(holder.checked){
		document.getElementById(btnid+"real").style.display="";
		document.getElementById(btnid+"false").style.display="none";
	}
}

//Copie de Macromedia MM_preloadImages() v3.0
function prel() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=prel.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src='images/'+a[i];}}
}

function trou(id){
	var divid = id.replace('a','no');
	document.getElementById(divid).style.display='';
	document.getElementById(id).onmouseout=function() {
		var eid = this.id.replace('a','no');
		document.getElementById(eid).style.display='none';
	}
}

function ajouteCourriel(email) {
	lafonct = function() {
		if(ajaxOk()){
			//do nothing
		}
	}
	if(validMail(email)){
		callAjax(url+'script/addMail.php?mail='+email,null,lafonct);
		document.getElementById("btnGO").style.display = "none";
		document.getElementById("email").readOnly = true;
		document.getElementById("email").value="Merci!";
		//document.getElementById("email").size = 28;
	} else {
		alert("veuillez entrer une adresse courriel valide");
		document.getElementById("email").focus();document.getElementById("email").value="";
	}
}

function checkform(theform) {
	var tags = new Array("input","textarea");
	for (var k = 0; k < tags.length; ) {
		var ar = theform.getElementsByTagName(tags[k++]);
		var cc = null;
		for (var i = 0; i < ar.length;) {
			cc = ar[i++];
			var nfos;
			if (cc.getAttribute('obg')) {
				nfos = cc.getAttribute('obg');
				if (nfos!=0) {
					if (cc.value=="") {
						alert(cc.getAttribute("err"));
						cc.focus();
						return false;
					}
					else {
						var isValid;
						var oComments = '';
						switch(cc.getAttribute("special")) {
							case null : 
								isValid = true;
								break;
							case "email" : 	
								isValid = validMail(cc.value);
								oComments = "\nEx.: nom@site.com";
								break;
							case "date" :  	
								isValid = validDate(cc.value);
								oComments = "\nEx.: 1982-03-25";
								break;
							case "nospecial" :  
								isValid = validSpecial(cc.value);
								oComments = "\nCaract&egrave;res autoris&eacute;s : <strong>a-z</strong>, <strong>A-Z</strong>, <strong>0-9</strong>";
								break;
							case "numeric" :  	
								isValid = validNumeric(cc.value);
								oComments = "\nEx.: 0-9";
								break;
							case "money" : 
								isValid = validCurrency(cc.value);
								oComments = "\nEx.: 159 ou 1979.23";
								break;
						}
						if(!isValid){
							alert(cc.getAttribute("err")+oComments);
							cc.focus();
							return false;
						}
					}
				}
			}
		}
	}
	return true;
} 

function validMail(email) {
	var result = false
	var theStr = new String(email)
	var index = theStr.indexOf("@");
	if (index > 0) {
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1)) result = true;
	}
	return result;
}

function validDate(dateaaaammjj) {
	var dt=dateaaaammjj.split("-"),date=new Date(dt[0],dt[1]-1,dt[2]);
	return date.getDate()==dt[2]&&date.getMonth()+1==dt[1]&&date.getFullYear()==dt[0]?date:false;
}

function validSpecial(fStr) {
	myReg = new RegExp("[A-Za-z0-9]+");
	if(myReg.exec(fStr)!=fStr) return false;
	return true;
}

function validNumeric(fStr) {
	myReg = new RegExp("[0-9]+");
	if(myReg.exec(fStr)!=fStr) return false;
	return true;
}

function validCurrency(fStr) {
	return RegExp(/^\$?\d+(\.\d{2})?$/).test(String(fStr).replace(/^\s+|\s+$/g, ""));
}

function buildPostData(form) {
	var returnData = "";
	var tags = new Array("input","textarea","select");
	for (var k = 0; k < tags.length; ) {
		var ar = form.getElementsByTagName(tags[k++]);
		var cc = null;
		for (var i = 0; i < ar.length;) {
			cc = ar[i++];
			if (cc.name != "" && cc.type != "file") {
				if (cc.getAttribute("type") == 'checkbox' || cc.getAttribute('type') == 'radio') {
					if (cc.checked != false) returnData += (returnData != "") ? "&" + cc.name + "=" + escape(cc.value) : cc.name + "=" + escape(cc.value);
				}
				else returnData += (returnData != "") ? "&" + cc.name + "=" + escape(cc.value) : cc.name + "=" + escape(cc.value);					
			}
		}
	}
	return returnData;
}

function callAjax(url,formToPost,fonct) {
	var postData = "";
	
		
		if (!('undefined' == typeof formToPost || formToPost == null)) {
			postData = buildPostData(formToPost);
		}
		if (window.XMLHttpRequest) {
			objAjax = new XMLHttpRequest();
			objAjax.onreadystatechange = fonct;
			if (postData != "") {
				objAjax.open("POST",url,true);
				objAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
				objAjax.send(postData);
			}
			else {
				objAjax.open("GET",url,true);	
				objAjax.send(null);
			}
			
		}
		else if (window.ActiveXObject) {
			objAjax = new ActiveXObject("Microsoft.XMLHTTP");
			objAjax.onreadystatechange = fonct;
			if (postData != "") {
				objAjax.open("POST",url,true);
				objAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
				objAjax.send(postData);
			}
			else {
				objAjax.open("GET",url,true);	
				objAjax.send();
			}
					
		}
		
		else {
			alert("Browser incompatible");
		}
		//alert('writing send');
	
	
}

function ajaxOk() {
	if (objAjax.readyState == 4) {
		//alert(objAjax.status);
		if (objAjax.status == 200) {
			
			return true;
		}
		else if (objAjax.status == 401) {
			//document.location.href = 'login.php';
			return false;
		}
		else if (objAjax.status == 403) {
			var err = objAjax.responseXML;
			objAjax = null;
			alert(err);
			return false;
		}
		else if (objAjax.status == 404) {
			//bypass le probleme d'enregistrement inexistant
			var err = objAjax.responseXML;
			objAjax = null;
			alert(err);
			return false;
		}
		else {
			var err = objAjax.responseXML;
			alert('erreur : '+objAjax.status);
			objAjax = null;
			alert(err);
			return false;
		}
 	}
	else return false;
}