if (window.jQuery) {
	var $j = jQuery.noConflict();
}

/*** Fonction qui permet de changer de langue � partir de la balise LINK ****/
function changeLanguage(){

  if (!document.getElementById) return false;
  if (!document.getElementsByTagName) return false;

	var langue = document.getElementById("mLangue");
	var langueLiens = langue.childNodes;
	var link = document.getElementsByTagName('link');

	for(i=0;i<link.length;i++){
		if(link[i].rel=="Langue"){
			langueLiens[0].href=link[i].href;
		}

	}

}
initmenu=function() {
	parameterMenu = new Array();

	parameterMenu["menuid"]="menuPrincipal"; /* le id du menu */
	parameterMenu["mouvement"]="height"; /* height ou width ou opacity */
	parameterMenu["mouvement2"]=""/* Si on veut avoir deux effets en meme temps - height ou width ou opacity */
	parameterMenu["vitesse1"]=400;
	parameterMenu["vitesse2"]=200;
	parameterMenu["classActive"]="done";
	parameterMenu["opacity"]=0.9;/* si on anime avec 2 mouvements mettre � 1. Si on met opacity dans un ou l'autre des mouvement mettre 0 */

	menu();
}

/*** d�tection de SAFARI ***/
var safari = new String(navigator.appVersion);
var expr=/safari/gi;
Saf = safari.search(expr);

var navigsaf = (Saf!=-1)?true:false;


/**** Fonction qui permet d'afficher ou non le menu d�roulant ****/
var myEffect="";
var myEffect2="";
var myTimer=0;
var parent="";

function menu(){

  if (!document.getElementById) return false;
  if (!document.getElementsByTagName) return false;

	var mElements = document.getElementById(parameterMenu["menuid"]);

	var mElementsLI = mElements.getElementsByTagName("LI");

	for(i=0;i < mElementsLI.length;i++){
		mSmenu = mElementsLI[i].getElementsByTagName("UL");

		if(mSmenu.length>0){

			if(navigsaf){
				mElementsLI[i].appendChild(document.createElement('div'));
				eleDIV=mElementsLI[i].getElementsByTagName("DIV");
				eleDIV[0].style.height="100%";
				eleDIV[0].style.width="100%";
				eleDIV[0].style.position="absolute";
				eleDIV[0].style.cursor="pointer";

	 			mElementsLI[i].onclick=function(){
					link=this.getElementsByTagName("A");
					document.location.href=link[0].href;
				}
			}

		 	mElementsLI[i].myEffect = $(mSmenu[0]).effect(parameterMenu["mouvement"], {duration: parameterMenu["vitesse1"], transition: Fx.Transitions.linear});
		 	mElementsLI[i].myEffect2 = $(mSmenu[0]).effect(parameterMenu["mouvement"], {duration: parameterMenu["vitesse2"],onComplete:function(){parent="";}, transition: Fx.Transitions.linear});

/** parametres pour le premier mouvement **/
			switch(parameterMenu["mouvement"]){
				case "height" :
					mElementsLI[i].valeur = mSmenu[0].offsetHeight;
					mSmenu[0].style.height="0px";
					$(mSmenu[0]).setOpacity(parameterMenu["opacity"])
					break;
				case "width" :
          mElementsLI[i].valeur = mSmenu[0].offsetWidth;
			 		mSmenu[0].style.width="0px";
					$(mSmenu[0]).setOpacity(parameterMenu["opacity"])
					break;
				case "opacity" :
					mElementsLI[i].valeur=1;
					$(mSmenu[0]).setOpacity(0);
					break;
			}

/** s'il y a un deuxime mouvement - parametres pour le deuxieme mouvement **/
			if(parameterMenu["mouvement2"]!=""){
        mElementsLI[i].myEffect = $(mSmenu[0]).effects({duration: parameterMenu["vitesse1"], transition: Fx.Transitions.sineInOut});
		 		mElementsLI[i].myEffect2 = $(mSmenu[0]).effects({duration: parameterMenu["vitesse2"],onComplete:function(){parent="ttt";}, transition: Fx.Transitions.sineInOut});

        switch(parameterMenu["mouvement2"]){
					case "height" :
						mElementsLI[i].valeur2 = mSmenu[0].offsetHeight;
						mSmenu[0].style.height="0px";
						break;
					case "width" :
	          mElementsLI[i].valeur2 = mSmenu[0].offsetWidth;
				 		mSmenu[0].style.width="0px";
						break;
					case "opacity" :
						mElementsLI[i].valeur2=1;
						$(mSmenu[0]).setOpacity(0);
						break;
				}
			}

			var menuClass="";

/************ debut des handles **********/

/*** onmouseover ***/
      mElementsLI[i].onmouseover=function(){
     		node = this;

				if(parent!=this) myTimer=0;

	      menuClass = node.className;
				node.className = parameterMenu["classActive"];

				eleUL = node.getElementsByTagName("UL");

				eleUL[0].style.visibility="visible";

				node.myEffect2.clearTimer();

				if (myTimer == 0){
					if(parameterMenu["mouvement2"]!="")

						switch(parameterMenu["mouvement"]){
							case "height":
								switch(parameterMenu["mouvement2"]){
									case "width":
										node.myEffect.custom({'height':[0, node.valeur],'width':[0,node.valeur2]});
										break;
									case "opacity":
                    node.myEffect.custom({'height':[0, node.valeur],'opacity':[0,node.valeur2]});
										break;
								}
								break;
							case "width":
                switch(parameterMenu["mouvement2"]){
									case "height":
										node.myEffect.custom({'width':[0, node.valeur],'height':[0,node.valeur2]});
										break;
									case "opacity":
                    node.myEffect.custom({'width':[0, node.valeur],'opacity':[0,node.valeur2]});
										break;
								}
								break;
              case "opacity":
                switch(parameterMenu["mouvement2"]){
									case "height":
										node.myEffect.custom({'opacity':[0, node.valeur],'height':[0,node.valeur2]});
										break;
									case "width":
                    node.myEffect.custom({'opacity':[0, node.valeur],'width':[0,node.valeur2]});
										break;
								}
								break;
						}

					else node.myEffect.custom(0, node.valeur);
				}
				else 		myTimer = 0;

		 	}

/*** onmouseout ***/
      mElementsLI[i].onmouseout=function(){
					node = this;
	        if (menuClass=="") node.className = "";
					eleUL = node.getElementsByTagName("UL");
					node.myEffect.clearTimer();
          if(parameterMenu["mouvement2"]!="")

						switch(parameterMenu["mouvement"]){
							case "height":
								switch(parameterMenu["mouvement2"]){
									case "width":
										node.myEffect2.custom({'height':[node.valeur,0],'width':[node.valeur2,0]});
										break;
									case "opacity":
                    node.myEffect2.custom({'height':[node.valeur,0],'opacity':[node.valeur2,0]});
										break;
								}
								break;
							case "width":
                switch(parameterMenu["mouvement2"]){
									case "height":
										node.myEffect2.custom({'width':[node.valeur,0],'height':[node.valeur2,0]});
										break;
									case "opacity":
                    node.myEffect2.custom({'width':[node.valeur,0],'opacity':[node.valeur2,0]});
										break;
								}
								break;
              case "opacity":
                switch(parameterMenu["mouvement2"]){
									case "height":
										node.myEffect2.custom({'opacity':[node.valeur,0],'height':[node.valeur2,0]});
										break;
									case "width":
                    node.myEffect2.custom({'opacity':[node.valeur,0],'width':[node.valeur2,0]});
										break;
								}
								break;
						}

					else node.myEffect2.custom(node.valeur, 0);
				 //	parent="";
			 	}


/*** sousmenu onmouseover ***/
      mSmenu[0].onmouseover=function(){
				ele=this.parentNode;
				ele.myEffect2.clearTimer();
				ele.myEffect.clearTimer();
        if(parameterMenu["mouvement2"]!="")

						switch(parameterMenu["mouvement"]){
							case "height":
								switch(parameterMenu["mouvement2"]){
									case "width":
										node.myEffect.custom({'height':[node.valeur, node.valeur],'width':[node.valeur2,node.valeur2]});
										break;
									case "opacity":
                    node.myEffect.custom({'height':[node.valeur, node.valeur],'opacity':[node.valeur2,node.valeur2]});
										break;
								}
								break;
							case "width":
                switch(parameterMenu["mouvement2"]){
									case "height":
										node.myEffect.custom({'width':[node.valeur, node.valeur],'height':[node.valeur2,node.valeur2]});
										break;
									case "opacity":
                    node.myEffect.custom({'width':[node.valeur, node.valeur],'opacity':[node.valeur2,node.valeur2]});
										break;
								}
								break;
              case "opacity":
                switch(parameterMenu["mouvement2"]){
									case "height":
										node.myEffect.custom({'opacity':[node.valeur, node.valeur],'height':[node.valeur2,node.valeur2]});
										break;
									case "width":
                    node.myEffect.custom({'opacity':[node.valeur, node.valeur],'width':[node.valeur2,node.valeur2]});
										break;
								}
								break;
						}

					else	ele.myEffect.custom(ele.valeur, ele.valeur);
			}

/*** sousmenu onmouseout ***/
      mSmenu[0].onmouseout=function(){
				myTimer = 1;
				parent=this.parentNode;
			}

/************ fin des handles **********/

		}
	}
}

/* Fonction pour mettre les onglets du menu Actif selon la page selectionnee */
function selectNav() {
   if (!document.getElementById) return false;
   if (!document.getElementsByTagName) return false;
   if (document.getElementById("menuPrincipal")) {
       var nav = document.getElementById("menuPrincipal");
       var links = nav.getElementsByTagName("a");
       for ( var i=0; i < links.length; i++) {
           var pageURL = links[i].href;
           var linkParent = links[i].parentNode;
           var linkParent2 = links[i].parentNode.parentNode;
           var linkParent3 = links[i].parentNode.parentNode.parentNode;

           var bodyid=document.getElementsByTagName("body");

           var searchstring=SearchString(bodyid[0].id,linkParent.id)
           if (searchstring != -1) {
              linkParent2.style.display="block";
              linkParent.className = "done";
              linkParent3.className = "done";

           }
       }
    }
	 	if (document.getElementById("menu")) {
			var nav2 = document.getElementById("menu");
			var navElements = nav2.getElementsByTagName("li");
			for ( var i=0; i < navElements.length; i++) {
        var searchstring=SearchString(bodyid[0].id,navElements[i].id)
        if (searchstring != -1) {
					navElements[i].className = "done";
				}

			}
		}
}

function SearchString(chaine,motcherche){
  var maReg = new RegExp( motcherche, "gi" );
  var myString = new String(chaine)
  results = myString.search(maReg)
  return results;
}

/*** fonction qui ouvre une fenetre en mode popup ***/
function openpop(url){
	var winName = "compagnie";
  var features = "scrollbars=yes,status=no,toolbar=no,menubar=no,location=no,width=500,height=500";
  Openpop=window.open(url,winName,features);
	Openpop.focus();
}

function openpop2(url){
	var winName = "compagnie";
  var features = "scrollbars=yes,status=no,toolbar=no,menubar=no,location=no,width=500,height=300";
  Openpop=window.open(url,winName,features);
	Openpop.focus();
}

/*** Fonction qui permet de faire l'accord�on dans la section FAQ ***/
function accordeon(){
	var bodyid=document.getElementsByTagName("body");

	if(bodyid[0].id=="pagemFAQ"){
		var questionsReponses = document.getElementsByClassName('question');

		for(i=0;i<questionsReponses.length;i++){
			var h4Ele = questionsReponses[i].getElementsByTagName("H3");

/** on mouse over **/
			h4Ele[0].onmouseover = function(){
				this.style.cursor="pointer"
			};

/** on mouse out **/
      h4Ele[0].onmouseout = function(){
				this.style.cursor="default"
			};

/** on click **/
			h4Ele[0].onclick = function(){
				var divEle =this.parentNode.getElementsByTagName("DIV");
 				var effetHauteur = new fx.Height(divEle[0], {duration: 300});
        divEle[0].style.visibility="visible";
				divEle[0].style.display="block";
				effetHauteur.toggle();
			};

		}

	}
}

/*** Validation pour les formulaires ***/
function initFormValidation()
{

  var bodyid=document.getElementsByTagName("body");
	var formulaire = document.getElementsByTagName('FORM');

	if((bodyid[0].id=="pagemConcours" || bodyid[0].id=="pagesmInscription1" || bodyid[0].id=="pagesmInscription2" || bodyid[0].id=="pagesmPresentateurs1") && formulaire.length > 0 && formulaire[0].title!="novalidation"){


		var inputFields = document.getElementsByTagName('INPUT');
		var textareaFields = document.getElementsByTagName('TEXTAREA');
		var selectBoxes = document.getElementsByTagName('SELECT');

		var inputs = new Array();

		for(var no=0;no<inputFields.length;no++){
			inputs[inputs.length] = inputFields[no];
		}
		for(var no=0;no<textareaFields.length;no++){
			inputs[inputs.length] = textareaFields[no];
		}
		for(var no=0;no<selectBoxes.length;no++){
			inputs[inputs.length] = selectBoxes[no];
		}

		for(var no=0;no<inputs.length;no++){

			var required = inputs[no].getAttribute('required');
			if(!required)required = inputs[no].required;

			var mask = inputs[no].getAttribute('mask');
			if(!mask)mask = inputs[no].mask;

			var freemask = inputs[no].getAttribute('freemask');
			if(!freemask)freemask = inputs[no].freemask;

			var regexpPattern = inputs[no].getAttribute('regexpPattern');
			if(!regexpPattern)regexpPattern = inputs[no].regexpPattern;

			if(required)inputs[no].className = 'invalidInput';

			addEvent(inputs[no],'blur',validateInput);
			addEvent(inputs[no],'change',validateInput);
			addEvent(inputs[no],'paste',validateInput);
			addEvent(inputs[no],'keyup',validateInput);

			formElementArray[inputs[no].name] = new Array();
			formElementArray[inputs[no].name]['mask'] = mask;
			formElementArray[inputs[no].name]['freemask'] = freemask;
			formElementArray[inputs[no].name]['required'] = required;
			formElementArray[inputs[no].name]['regexpPattern'] = regexpPattern;

			validateInput(false,inputs[no]);

		}
	}
}

/************************************************************/
// Fonction pour le formulaire d'inscription des participants
function supprimerInfoCarteCredit() {
	document.fInscription.creditcard.selectedIndex = 0;
	document.fInscription.nocredit.value = "";
	document.fInscription.noauthentification.value = "";
	document.fInscription.mois.selectedIndex = 0;
	document.fInscription.annee.selectedIndex = 0;
}

function selectionnerModePaiement(leType) {
	document.fInscription.paiement[leType].checked = true;
}

function soumettre(formulaire, bouton) {
	document.getElementById(bouton).disabled = true;
	formulaire.submit();
}
/************************************************************/




