$(document).ready(function()
{
	var inputArray=new Array('mailContact');
	var textareaArray=new Array('messageContact');
	
	none=function(){}	
	inArray=function(needle,haystack,argStrict){var key='',strict=!!argStrict;if(strict){for(key in haystack){if(haystack[key]===needle){return true;}}}else{for(key in haystack){if(haystack[key]==needle){return true;}}}return false;}	
	highlightElementError=function(element){$(element).css('border','1px solid #D13D3D').focus(function(){$(element).css('border','1px solid #8EA2AF');});}
	highlightElementValid=function(element){$(element).css('border','1px solid #00DD33').focus(function(){$(element).css('border','1px solid #8EA2AF');});}	
	
	verifMail=function(mail)
	{
		var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|fr)$/;
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars+'+';
		var word="("+atom+"|"+quotedUser+")";
		var userPat=new RegExp("^"+word+"(\\."+word+")*$");
		var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");
		var matchArray=mail.match(emailPat);
		if (matchArray==null){return false;}
		var user=matchArray[1];
		var domain=matchArray[2];
		for(i=0;i<user.length;i++){if(user.charCodeAt(i)>127){return false;}}
		for(i=0;i<domain.length;i++){if(domain.charCodeAt(i)>127){return false;}}
		if (user.match(userPat) == null){return false;}
		var IPArray=domain.match(ipDomainPat);
		if(IPArray != null){for(var i=1; i<=4; i++){if(IPArray[i]>255){return false;}}return true;}
		var atomPat = new RegExp("^" + atom + "$");
		var domArr = domain.split(".");
		var len = domArr.length;
		for(i=0;i<len;i++){if(domArr[i].search(atomPat)==-1){return false;}}
		if(checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1){return false;}
		if(len<2){return false;}
		return true;
	}	
	
	$(function(){
		$('.illustrationContent a').lightBox({fixedNavigation:false});
		$('a.picContent').lightBox({fixedNavigation:false});
	});	
	
	$("input").focusout(function()
	{
		var name=$(this).attr("name");
		
		if(inArray(name,inputArray))
		{
			var value=$(this).attr('value');
			
			if(value!="")
			{
				if(name=="mailContact")
				{
					if(!verifMail(value))
					{
						highlightElementError(this);
						$("#canSubmitMail").attr('value','Non');
					}
					else
					{
						highlightElementValid(this);
						$("#canSubmitMail").attr('value','Oui');
					}
				}
			}
			else
			{
				highlightElementError(this);
			}
		}
	});	
	
	$("input[name=submitInscriptionNewsletter]").click(function()
	{
		var mail=$("input[name=inscriptionNewsletter]").attr('value');
				
		if(mail!=""||mail!="Entrez votre adresse mail...")
		{
			if(verifMail(mail))
			{
				$.post("script/ajax.php",{'action':'inscriptionNewsletter','mail':mail},function(data)
				{
					if(data)
					{						
						if(data=="ok") $("input[name=inscriptionNewsletter]").css('color','#30b759').css('fontWeight','bold').attr('value','Inscription effectuée !').attr('readonly','readonly');
						else if(data="inscrit") $("input[name=inscriptionNewsletter]").css('color','#cf2727').css('fontWeight','bold').attr('value','Vous êtes déjà inscrit').click(function(){$(this).css('color','#116EB1').css('fontWeight','normal').attr('value','');});
						else $("input[name=inscriptionNewsletter]").css('color','#cf2727').css('fontWeight','bold').attr('value','Erreur durant l\'inscription').click(function(){$(this).css('color','#116EB1').css('fontWeight','normal').attr('value','');});
					}
				});
			}
			else $("input[name=inscriptionNewsletter]").css('color','#cf2727').css('fontWeight','bold').attr('value','Adresse email non valide').click(function(){$(this).css('color','#116EB1').css('fontWeight','normal').attr('value','');});
		}
		else $("input[name=inscriptionNewsletter]").css('color','#cf2727').css('fontWeight','bold').attr('value','Spécifiez une adresse email').click(function(){$(this).css('color','#116EB1').css('fontWeight','normal').attr('value','');});
	});
	
	$("textarea").focusout(function()
	{
		var name=$(this).attr("name");
		
		if(inArray(name,textareaArray))
		{
			var value=$(this).attr('value');
			
			if(value=="")highlightElementError(this);
			else highlightElementValid(this);
		}
	});
	
	verifFormContact=function()
	{
		var canSubmit=true;
		var messageErreur = "Vous avez oublié de remplir les champs suivants:<br /><br />";
		
		if($("#mailContact").attr('value')=="")
		{
			messageErreur+="- <label for='mailContact'>Votre adresse email</label><br />";
			canSubmit=false;
		}
		if($("#canSubmitMail").attr('value')=="Non"&&$("#mailContact").attr('value')!="")
		{
			messageErreur+="- <label for='mailContact'>Votre adresse email n'est pas valide</label><br />";
			canSubmit=false;
		}
		if($("#messageContact").attr('value')=="")
		{
			messageErreur+="- <label for='messageContact'>Votre message</label><br />";
			canSubmit=false;
		}
		
		if(!canSubmit)
		{
			window.location.href="#messageErreur";			
			$("#messageErreurContact").html(messageErreur).fadeIn();
		}
		
		return canSubmit;		
	}	
});
