// JavaScript Document

// --- Preload des images de rollover css  ---- //

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// --- FIN Preload des images de rollover css  ---- //

function switchfaqanswer(idfaq) {
	if (document.getElementById('faqanswer_' + idfaq).style.display == 'none') document.getElementById('faqanswer_' + idfaq).style.display = '';
	else document.getElementById('faqanswer_' + idfaq).style.display = 'none';	
}

function showhideLayer(layerID,action) {
document.getElementById(layerID).style.display=action;
}

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 ajouteCourriel(email,type) {
	lafonct = function() {
		if(ajaxOk()){
			//do nothing
		}
	}
	if(validMail(email)){
		callAjax(url+'script/addmail.php?mail='+email+'&type='+type,null,lafonct);
		document.getElementById("btnGO").style.display = "none";
		document.getElementById("email").readOnly = true;
		document.getElementById("email").value="Votre adresse à été ajouté!";
		//document.getElementById("email").size = 28;
	} else {
		alert("veuillez entrer une adresse courriel valide");
		document.getElementById("email").focus();document.getElementById("email").value="";
	}
}

function ajouteCourrielEn(email,type) {
	lafonct = function() {
		if(ajaxOk()){
			//do nothing
		}
	}
	if(validMail(email)){
		callAjax(url+'script/addmail.php?mail='+email+'&type='+type,null,lafonct);
		document.getElementById("btnGO").style.display = "none";
		document.getElementById("email").readOnly = true;
		document.getElementById("email").value="Thank you";
		//document.getElementById("email").size = 28;
	} else {
		alert("enter an email adress");
		document.getElementById("email").focus();document.getElementById("email").value="";
	}
}

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;
}

function SendToFriend(email,nom,type) {
	lafonct = function() {
		if(ajaxOk()){
			//do nothing
		}
	}
	if(validMail(email)){
		callAjax(url+'script/sendtofriend.php?mail='+email+'&type='+type+'&nom='+nom,null,lafonct);
		document.getElementById("btnGOSend").style.display = "none";
		document.getElementById("mailSend").readOnly = true;
		document.getElementById("mailSend").value="Le message a été envoyé";
		document.getElementById("nomSend").value="";
	} else {
		alert("veuillez entrer une adresse courriel valide");
		document.getElementById("mailSend").focus();document.getElementById("mailSend").value="";
	}
}

function SendToFriendEn(email,nom,type) {
	lafonct = function() {
		if(ajaxOk()){
			//do nothing
		}
	}
	if(validMail(email)){
		callAjax(url+'script/sendtofriend.php?lan=en&mail='+email+'&type='+type+'&nom='+nom,null,lafonct);
		document.getElementById("btnGOSend").style.display = "none";
		document.getElementById("mailSend").readOnly = true;
		document.getElementById("mailSend").value="Message sent";
		document.getElementById("nomSend").value="";
	} else {
		alert("Enter an email adress");
		document.getElementById("mailSend").focus();document.getElementById("mailSend").value="";
	}
}

//pour les modals
function addModal() {
	//clearTimers();
	
	try {  $('modal').parentNode.removeChild($('modal'));	}
	catch(e) { }
	var wheight;
	if (document.documentElement && document.documentElement.scrollHeight) wheight = document.documentElement.scrollHeight;
	else if (document.body && document.body.scrollHeight) wheight = document.body.scrollHeight;
	
	var div = document.createElement('div');
	div.id = 'modal';
	div.style.position = 'absolute';
	div.style.top = '0';
	div.style.left = '0';
	div.style.zIndex = 999997;
	div.style.width = '100%';
	div.style.height = wheight+'px';
	div2=document.createElement('div');
	div2.style.position = 'absolute';
	div2.style.top = '0';
	div2.style.left = '0';
	div2.style.zIndex = 999998;
	div2.style.width = '100%';
	div2.style.backgroundColor = '#fff';
	div2.style.height = wheight+'px';
	if (document.all) div2.style.filter='alpha(opacity=50)';
	else Element.setOpacity(div2,.5);
	div.appendChild(div2);
	document.getElementsByTagName('body')[0].appendChild(div);	
	if (navigator.userAgent.match(/msie 6/i)) hideselects();	

}


function removeModal() {
	try {  $('modal').parentNode.removeChild($('modal'));	}
	catch(e) { }
	if (navigator.userAgent.match(/msie 6/i)) showselects();	
	window.onscroll = function () { 
		return;
	}; 

	//enableTimers();
}

function hideselects() {
	var selects = document.getElementsByTagName('select');
	for(var x=0;x<selects.length;x++) {
		//selects[x].setAttribute('oldvisibility',selects[x].currentStyle.visibility);
		selects[x].style.visibility = 'hidden';
	}
}

function showselects() {
	var selects = document.getElementsByTagName('select');
	for(var x=0;x<selects.length;x++) {
		selects[x].style.visibility = 'visible';
	}	
}

function uneAlerte(titre,html) {
	//alert(html);
	addModal();
	
	var box = '<div class="teaser" id="warningbox" style="position:absolute; filter:alpha(opacity=0); -moz-opacity:0;z-index:999999; background-color:#FFFFFF; border:1px solid #000000; width:300px;"><div><div  style="padding: 10px;"><h1 style="padding: 0;margin: 0; color: #e23131;">'+titre+'</h1>'+html+'<div class="dvBtn" style="text-align: center;"><input type="button" value="O K" id="omaxAlertBtn" onclick="removeModal();" class="btn" style="padding: 3px 16px; margin: 20px 0 0 0; color: #fff; background: #e23131; font-size: 11px; border-top: solid #E23131 1px; border: #ffcc33 1px solid;" /></div><div style="clear:both"></div></div></div></div>';
	$('modal').innerHTML += box;
	Effect.Center('warningbox'); 
	window.onscroll = function () { 
		Effect.Center('warningbox'); 
	}; 
	
	$('warningbox').style.display='none';
	if (document.all) $('warningbox').style.filter='';
	else Element.setOpacity($('warningbox'),100);
		
	
	new Effect.Appear('warningbox',{ duration : 1 });
	//$('omaxAlertBtn').focus();
	
}

