//Menu kriesi.at
function mainmenu(){
	$("#menu ul").css({display: "none"});
	$("#menu li").hover(
		function(){
			$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(250);
			}
		,function(){
			$(this).find('ul:first').css({visibility: "hidden"});
			}
	);
}
 
$(document).ready(function(){					
	mainmenu();
});

// slideshow JS Grafikart

//objet qui contient toutes les caractéristiques et les fonctions nécessaires

var slideshow= {
	nbSlide:0,
	nbCurrent:1,
	elemCurrent:null,
	timer:null,
	
	init:function(elem) {
		//calcul du nombre de slides
		this.nbSlide=elem.find(".slide").length;
		
		//créer la pagination
		elem.append('<div class="navigation"></div>');
		for(var i=1;i<=this.nbSlide;i++) {
			elem.find(".navigation").append("<span>"+i+"</span>");
		}
		elem.find(".navigation span").click(function() {slideshow.gotoSlide($(this).text(),false);})
		
		//initialisation du slideshow
		this.elem=elem;
		elem.find(".slide").hide();//cacher tous les slides
		elem.find(".slide:first").show();//afficher le premier slide
		this.elemCurrent = elem.find(".slide:first");
		elem.find(".navigation span:first").addClass("active");//ajouter la classe active au premier slide
		
		//création timer
		slideshow.play();	
		
		//pause au passage du curseur
		$('#slideshow').mouseover(slideshow.stop);
		$('#slideshow').mouseout(slideshow.play);
	},
	
	gotoSlide : function(num,direction){
		if(num==this.nbCurrent){return false;}//si on clique sur l'element courant
		var sens=1;
		if(direction==false && num<this.nbCurrent){sens=-1;}
		var cssDeb={"left":sens*this.elem.width()};//proprietes css de l'objet qui va arriver
		var cssFin={"left":-sens*this.elem.width()};//proprietes css de l'endroit ou l'objet doit finir
		this.elem.find("#slide"+num).show().css(cssDeb);
		this.elem.find("#slide"+num).animate({"top":0,"left":0},900);
		this.elemCurrent.animate(cssFin,900);
		this.elem.find(".navigation span").removeClass("active");
		this.elem.find(".navigation span:eq("+(num-1)+")").addClass("active");
		this.nbCurrent=num;
		this.elemCurrent=this.elem.find("#slide"+num);
	},
	
	next : function(){
		var num = Number(this.nbCurrent)+1;
		if(num>this.nbSlide){
			num=1;
		}
		this.gotoSlide(num, true);
	},
	
	stop : function() {
		try{
			window.clearInterval(slideshow.timer);
		}catch(e){}
	},
	
	play : function() {
		try{
			window.clearInterval(slideshow.timer);
		}catch(e){}
		slideshow.timer=window.setInterval("slideshow.next()",5000);
	}

}

$(function() {
	slideshow.init($("#slideshow"));
});


function checkEmail(strMail) {
	//vérifie la validité d'une adresse mail
	tabMail = strMail.split('@');
	if (tabMail.length!=2) return false;
	posPoint = tabMail[1].lastIndexOf('.')+1; 
	lgExtension = tabMail[1].length-posPoint; 
	lgDomaine = tabMail[1].length-lgExtension-1; 
	if(tabMail[0].length<3 || lgDomaine<3 || lgExtension<2) return false;
	else return true;
}

function validateFrm(frm){
	//vérifie si les champs du formulaire de la page contact ont été correctement complétés et envoie une alerte si nécessaire
	errors="";
	if (frm.name.value=="") errors+="1";	//empty name = error1
	if (frm.mail.value=="") errors+="2"; 	//empty mail = error2
	if (frm.msg.value=="") errors+="3"; //empty content = error3
	if (!checkEmail(frm.mail.value)) errors+="4"; //mail error = error4
	if (errors=="") return true;
	else {
		if (errors=="4" || errors=="24") {
			alert("L'adresse e-mail n'est pas valide.");
			return false;
		} else {
			message="Veuillez compléter/vérifier le(s) champ(s) obligatoire(s) suivant(s) : \n";
			if (errors.indexOf('1')!=-1) {
				message+="- Nom \n";
			}
			if (errors.indexOf('2')!=-1 || errors.indexOf('4')!=-1) {
				message+="- Adresse e-mail \n";	
			}
			if (errors.indexOf('3')!=-1) {
				message+="- Message";
				frm.msg.focus();
			}
			if (errors.indexOf('2')!=-1 || errors.indexOf('4')!=-1) {
				frm.mail.focus();
			}
			if (errors.indexOf('1')!=-1) {
				frm.name.focus();
			}	
			alert(message);
			return false;
		}
	}
}
