var menuSlider=function(){
	var m,e,g,s,q,i; e=[]; q=8; i=8;
	return{
		init:function(j,k){
			m=document.getElementById(j); e=m.getElementsByTagName('li');
			var i,l,w,p; i=0; l=e.length;
			for(i;i<l;i++){
				var c,v; c=e[i]; v=c.value; if(v==1){s=c; w=c.offsetWidth; p=c.offsetLeft}
				c.onmouseover=function(){menuSlider.mo(this)}; c.onmouseout=function(){menuSlider.mo(s)};
			}
			g=document.getElementById(k); g.style.width=w+'px'; g.style.left=p+'px';
		},
		mo:function(d){
			clearInterval(m.tm);
			var el,ew; el=parseInt(d.offsetLeft); ew=parseInt(d.offsetWidth);
			m.tm=setInterval(function(){menuSlider.mv(el,ew)},i);
		},
		mv:function(el,ew){
			var l,w; l=parseInt(g.offsetLeft); w=parseInt(g.offsetWidth);
			if(l!=el||w!=ew){
				if(l!=el){var ld,lr,li; ld=(l>el)?-1:1; lr=Math.abs(el-l); li=(lr<q)?ld*lr:ld*q; g.style.left=(l+li)+'px'}
				if(w!=ew){var wd,wr,wi; wd=(w>ew)?-1:1; wr=Math.abs(ew-w); wi=(wr<q)?wd*wr:wd*q; g.style.width=(w+wi)+'px'}
			}else{clearInterval(m.tm)}
}};}();

var send = new Array(1,1,1,1,1);
			
function F_addListener(element, baseName, handler){
	if (element.addEventListener)
		element.addEventListener(baseName, handler, false);
	else if(element.attachEvent)
		element.attachEvent("on"+baseName, handler);
}

function sendMsg(subject, color, msg){
	document.getElementById("response_"+subject).innerHTML = msg;
	document.getElementById(subject).style.border = "1px solid #"+color;
}
/**
*
* Cryptage mail
*/
function getMailTo(obj, user, domaine){
	obj.href='mailto:'+user+'@'+domaine+'?subject=Informations%20requises%20en%20provenance%20du%20site%20ELiXiiR.fr';
}

function checkType(type,str){
	var exp = '';
	var msg = '';
	switch(type){
		case 'Alpha':
			exp = new RegExp("^([a-zàáâãäòóôõöèéêëçìíîïùúûüÿñ]|[-']){1,}$","gi");
			msg = 'Uniquement caractères alphabétiques';
		break;
		case 'AlphaNum':
			exp = new RegExp("^[0-9a-z]{1,}$","gi");
			msg = 'Uniquement caractères alphanumériques';
		break;
		case 'Digit':
			exp = new RegExp("^[0-9]{1,}$","g");
			msg = 'Uniquement caractères numériques';
		break;
		case 'Mail':
			exp = /^.+@[a-z]([0-9]|[a-z]|[-_])*(\.([0-9]|[a-z]|[-_])+)*\.[a-z]{2,5}$/;
			msg = 'Cette adresse semble incorrect';
		break;
	}
	if (!exp.test(str))
		return msg;
	else
		return false;
}

function F_initEventHandlers(){
	document.forms["contact"].onsubmit = function(){return false;};
	F_addListener(document.getElementById("name"),"blur",function(){
		var v = document.getElementById("name").value;
		if (v != ""){
			if (v.length < 3){
				sendMsg("name", "F00", "&nbsp;Longueur minimum de 3 caractères.");
				send[0] = 0;
			}else{
				sendMsg("name", "A4B97F", "");
				send[0] = 1;
			}
		}
		if (v != "" && send[0] == 1){
			var response = checkType("Alpha",v);
			if (response){
				sendMsg("name", "F00", "&nbsp;"+response);
				send[0] = 0;
			}else{
				sendMsg("name", "A4B97F", "");
				send[0] = 1;
			}
		}
	});
	F_addListener(document.getElementById("firstname"),"blur",function(){
		var v = document.getElementById("firstname").value;
		if (v != ""){
			if (v.length < 3){
				sendMsg("firstname", "F00", "&nbsp;Longueur minimum de 3 caractères.");
				send[1] = 0;
			}else{
				sendMsg("firstname", "A4B97F", "");
				send[1] = 1;
			}
		}
		if (v != "" && send[1] == 1){
			var response = checkType("Alpha",v);
			if (response){
				sendMsg("firstname", "F00", "&nbsp;"+response);
				send[1] = 0;
			}else{
				sendMsg("firstname", "A4B97F", "");
				send[1] = 1;
			}
		}
	});
	F_addListener(document.getElementById("mail"),"blur",function(){
		var v = document.getElementById("mail").value;
		if (v != ""){
			if (v.length < 6){
				sendMsg("mail", "F00", "&nbsp;Longueur minimum de 6 caractères.");
				send[2] = 0;
			}else{
				sendMsg("mail", "A4B97F", "");
				send[2] = 1;
			}
		}
		if (v != "" && send[2] == 1){
			var response = checkType("Mail",v);
			if (response){
				sendMsg("mail", "F00", "&nbsp;"+response);
				send[2] = 0;
			}else{
				sendMsg("mail", "A4B97F", "");
				send[2] = 1;
			}
		}
	});
	F_addListener(document.getElementById("text"),"blur",function(){
		var v = document.getElementById("text").value;
		if (v != ""){
			sendMsg("text", "A4B97F", "");
			send[3] = 1;
		}
	});
	
	F_addListener(document.getElementById("code"),"blur",function(){
		var v = document.getElementById("code").value;
		if (v != ""){
			if (v.length < 3){
				sendMsg("code", "F00", "&nbsp;Longueur minimum de 3 caractères.");
				send[4] = 0;
			}else{
				sendMsg("code", "A4B97F", "");
				send[4] = 1;
			}
		}
		if (v != "" && send[4] == 1){
			var response = checkType("Digit",v);
			if (response){
				sendMsg("code", "F00", "&nbsp;"+response);
				send[4] = 0;
			}else{
				sendMsg("code", "A4B97F", "");
				send[4] = 1;
			}
		}
	});
	F_addListener(document.forms["contact"],"submit",function(){
		if (send[0] == 1){
			if (document.getElementById("name").value == "") {
				sendMsg("name", "F00", "&nbsp;Information requise.");
				send[0] = 0;
			}else{
				sendMsg("name", "A4B97F", "");
				send[0] = 1;
			}
		}
		if (send[1] == 1){
			if (document.getElementById("firstname").value == "") {
				sendMsg("firstname", "F00", "&nbsp;Information requise.");
				send[1] = 0;
			}else{
				sendMsg("firstname", "A4B97F", "");
				send[1] = 1;
			}
		}
		if (send[2] == 1){
			if (document.getElementById("mail").value == "") {
				sendMsg("mail", "F00", "&nbsp;Information requise.");
				send[2] = 0;
			}else{
				sendMsg("mail", "A4B97F", "");
				send[2] = 1;
			}
		}
		if (send[3] == 1){
			if (document.getElementById("text").value == "") {
				sendMsg("text", "F00", "&nbsp;Information requise.");
				send[3] = 0;
			}else{
				sendMsg("text", "A4B97F", "");
				send[3] = 1;
			}
		}
		if (send[4] == 1){
			if (document.getElementById("code").value == "") {
				sendMsg("code", "F00", "&nbsp;Information requise.");
				send[4] = 0;
			}else{
				sendMsg("code", "A4B97F", "");
				send[4] = 1;
			}
		}
		var test_envoi = false;
		for (var i = 0; i < send.length; i++){
			if (send[i] == 0)
				test_envoi = true;
		}
		if (test_envoi){
			return false;
			}
		else
			document.forms["contact"].submit();
	});
};
