//@autor:Vincent Puget
/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||| VARIABLES|||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
var delay;

/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||| MOTEURAJAX||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
function moteurAjax(urlPhp , objData , divRep , toFlash)
{
	$(document).ready(function()
	{
		//var _urlPhp = "fr/" + urlPhp;
		var _urlPhp = urlPhp;
		var dataVar;
		var _toFlash = toFlash;
		
		//traitement des parametres
		if(objData == null)
		{
			dataVar = "action";
		}//fin if
			else
			{
				dataVar = eval(objData);
			}//fin else
		
		$.ajax({ 
			url:_urlPhp,
			cache:false,
			type:"POST" ,	  
			data: dataVar ,
			dataType: "html",
			
			beforeSend : function(XMLHttpRequest)
			{
				//affPage("Attente");
			},
			success: function(data)
			{
				affPage(data , divRep);
			},
			error: function(XmlHttpRequest , textStatus , errorThrown)
			{
				affPage(textStatus , divRep);
			}
		});
		
		if(_toFlash)
			jsToFlash(_urlPhp);
		
		
	});//fin document ready
	
}//fin moteurAjax

/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||| AFFPAGE|||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
//affichage des pages
function affPage(data , divRep)
{
	if ( navigator.appName == "Microsoft Internet Explorer")
	{
		delay = 0;
	}//fin if
		else
		{
			delay = 500;
		}//fin else
	
	var _divRep = "#" + divRep;
	$(_divRep).fadeOut(delay , function()
	{
		$(_divRep).empty();
		$(_divRep).append(data);
		$(_divRep).fadeIn(delay);
	});
}//fin affPage


/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||| JSTOFLASH||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
//fonction de communication avec flash
function jsToFlash (nomPage)
{
	document.getElementById("navigation").fromJs(nomPage);
}//fin jsToFlash



/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||| slideToogleDiv||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/

function slideToogleDiv(divClick , divToggle)
{
	var _divClick = "#" + divClick;
	var _divToggle = "#" + divToggle;
	
	$(_divToggle).slideToggle('medium' , function(){Scroller.scrollToElement(document.getElementById(divClick));});
		$(_divClick).toggleClass("active");
		$(_divClick).siblings(_divClick).removeClass("active");
}//fin slideToogleDiv



/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||fadeInDiv| ||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
function fadeInDiv(div)
{
	var _div = "#" + div;
	document.getElementById(div).style.height = document.body.offsetHeight + "px";
	$(_div).fadeIn(500);
	Scroller.scrollToElement(div);
}//fin fadeDiv

function fadeOutDiv(div)
{
	var _div = "#" + div;
	$(_div).fadeOut(500);
}//fin affLogAdmin

/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||divToAlpha ||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
function divToAlpha(div , alpha)
{
	var _div = "#" + div;
	$(_div).css('opacity' , alpha);
}//fin divToAlpha


/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||| FORMULAIRE||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
function validFormLogAdmin()
{
	$(document).ready(function () {
		
		var userLogAdmin = false;
		var mdpLogAdmin = false;
		
		
		//verification champ idLog
		if($("#userLogAdmin").val() == ""){
			$("#userLogAdmin").css("border-color" , "#990000");//rend la bordure rouge
			$("#userLogAdmin").next(".message-error").fadeIn().text("Renseignez votre identifiant"); //affiche la div caché
		}//fin if
			else{
				$("#userLogAdmin").css("border-color" , "#006633");
				$("#userLogAdmin").next(".message-error").fadeOut("");
				userLogAdmin = true;
			}//fin else
			
		//verification champ mdp
		if($("#mdpLogAdmin").val() == ""){
			$("#mdpLogAdmin").css("border-color" , "#990000");//rend la bordure rouge
			$("#mdpLogAdmin").next(".message-error").fadeIn().text("Renseignez votre mot de passe"); //affiche la div caché
			validLog = false;
		}//fin if
			else{
				$("#mdpLogAdmin").css("border-color" , "#006633");
				$("#mdpLogAdmin").next(".message-error").fadeOut("");
				mdpLogAdmin = true;
			}//fin else
			
		//test pour savoir si tout les champs sont remplis
		if(userLogAdmin == true && mdpLogAdmin == true ){
			var objVarLogAdmin = ({userLogAdmin:document.getElementById('userLogAdmin').value , mdpLogAdmin:document.getElementById('mdpLogAdmin').value});
			moteurAjax('../implementation/logAdminValid.php' , objVarLogAdmin , 'contentLogAdmin' , false);
			
			
		}//fin if
		
	});
}//fin validFormLogAdmin



function validFormMail(dest , titre)
{
	$(document).ready(function () {
		
		 var mailUser = false;
		 var objet = false;
		 var message = false;
		 var captach = false;
		 var _dest = dest;
		 var _titre = titre;

		//vérification du champ mail
		if($("#mailUser").val() == ""){//récupération de la valeur du champ mail
			$("#mailUser").css("border-color" , "#990000");//rend la bordure rouge
			$("#mailUser").next(".message-error").fadeIn().text("de type \"aaa@bbb.ccc \" "); //affiche la div caché
		}//fin if
			else if(!$("#mailUser").val().match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/)) { 
				$("#mailUser").css("border-color" , "#990000");
				$("#mailUser").next(".message-error").fadeIn().text("de type \"aaa@bbb.ccc \" ");
			}//fin else if
				else{
					$("#mailUser").css("border-color" , "#006633");
					$("#mailUser").next(".message-error").fadeOut();
					mailUser = true;
				}//fin else
				
			//verification champ objet
			if($("#objet").val() == ""){//récupération de la valeur du champ sujet
				$("#objet").css("border-color" , "#990000");//rend la bordure rouge
				$("#objet").next(".message-error").fadeIn().text("Renseignez l'objet de votre mail"); //affiche la div caché
			}//fin if
				else{
					$("#objet").css("border-color" , "#006633");
					$("#objet").next(".message-error").fadeOut("");
					objet = true;
				}//fin else
				
			//verification champ message
			if($("#message").val() == ""){//récupération de la valeur du champ sujet
				$("#message").css("border-color" , "#990000");//rend la bordure rouge
				$("#message").next(".message-error").fadeIn().text("Veuillez tapez votre message"); //affiche la div caché
			}//fin if
				else{
					$("#message").css("border-color" , "#006633");
					$("#message").next(".message-error").fadeOut("");
					message = true;
				}//fin else
			
			//verification champ captcha
			if($("#userCode").val() == ""){//récupération de la valeur du champ userCode
				$("#userCode").css("border-color" , "#990000");//rend la bordure rouge
				$("#userCode").next(".message-error").fadeIn().text("Veuillez recopier le code ci-dessus"); //affiche la div caché
			}//fin if
				else if(!$("#userCode").val().match(/^.{5}$/)) { //revoir expression reguliere acceptant uniquement 5 caractères
					$("#userCode").css("border-color" , "#990000");
					$("#userCode").next(".message-error").fadeIn().text("Recopier les 5 caracteres du code");
				}//fin else if
					else{
						$("#userCode").css("border-color" , "#006633");
						$("#userCode").next(".message-error").fadeOut("");
						captcha = true;
					}//fin else
		
		//test pour savoir si tout les champs sont remplis
		if (mailUser == true && objet == true && message == true && captcha == true ){
			
			var objVarFormMail = ({mailUser:document.getElementById('mailUser').value , objet:document.getElementById('objet').value , message:document.getElementById('message').value , userCode:document.getElementById('userCode').value , destMail:_dest , titre:_titre});
			
			moteurAjax('../implementation/formMailValid.php' , objVarFormMail , 'contentFormMail' , false);
			
		}//fin if
	});//fin function
}//fin validFormMail


function validViewImg()
{
	$(document).ready(function () {
		
		var newImg = false;
		
		//verification champ idLog
		if($("#newImg").val() == ""){
			$("#newImg").css("border-color" , "#990000");//rend la bordure rouge
			$("#newImg").next(".message-error").fadeIn().text("Choisissez une image."); //affiche la div caché
		}//fin if
			else{
				$("#newImg").css("border-color" , "#006633");
				$("#newImg").next(".message-error").fadeOut("");
				newImg = true;
			}//fin else
			
		
			
		//test pour savoir si tout les champs sont remplis
		if(newImg == true ){
			var objVarNewImg = ({newImg:document.getElementById('newImg').value});
			//moteurAjax('../implementation/modImgView.php' , objVarNewImg , 'contentModImg' , false);
		}//fin if
		
	});
}//fin validViewImg

/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||| SCROLLER||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
Scroller = {
	// control the speed of the scroller.
	// dont change it here directly, please use Scroller.speed=50;
	speed:80,
	shouldStop: false,

	// returns the Y position of the div
	gy: function (d) {
		gy = d.offsetTop;
		if (d.offsetParent) while (d = d.offsetParent) gy += d.offsetTop;
		return gy;
	},

	// returns the current scroll position
	scrollTop: function (){
		body=document.body;
		d=document.documentElement;
		if (body && body.scrollTop) return body.scrollTop;
		if (d && d.scrollTop) return d.scrollTop;
		if (window.pageYOffset) return window.pageYOffset;
		return 0;
	},

	// attach an event for an element
	// (element, type, function)
	add: function(element, type, d) {
		if (element.addEventListener) return element.addEventListener(type, d,false);
		if (element.attachEvent) return element.attachEvent('on'+type, d);
	},

	// kill an event of an element
	end: function(e){
		if (window.event) {
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			return;
		}
		if (e.preventDefault && e.stopPropagation) {
			e.preventDefault();
			e.stopPropagation();
		}
	},
	
	// move the scroll bar to the particular div.
	scroll: function(d){
		if(Scroller.shouldStop) return;
		i = window.innerHeight || document.documentElement.clientHeight;
		h=document.body.scrollHeight;
		a = Scroller.scrollTop();
		if(d>a)
			if(h-d>i)
				a+=Math.ceil((d-a)/Math.abs(100-Scroller.speed));
			else
				a+=Math.ceil((d-a-(h-d))/Math.abs(100-Scroller.speed));
		else
			a = a+(d-a)/Math.abs(100-Scroller.speed);
		window.scrollTo(0,a);
		if(a==d || Scroller.offsetTop==a) clearInterval(Scroller.interval);
			Scroller.offsetTop=a;
	},
	scrollToElement : function(el){
		this.shouldStop = false; 
		Scroller.end(this); 
		clearInterval(Scroller.interval); 
		Scroller.interval=setInterval('Scroller.scroll('+Scroller.gy(el)+')',10);  
	},
	requestStop : function(){
		Scroller.shouldStop = true;
	},
	init : function(){
		/** Firefox. */
		if (window.addEventListener)
		window.addEventListener('DOMMouseScroll', Scroller.requestStop, false);
		/** IE/Opera. */
		window.onmousewheel = document.onmousewheel = Scroller.requestStop;
	}
}

Scroller.init();
