/* deb fonctions de base */
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function commitFlashObject(_obj, _container){
	_output=""
	_paramoutput=""
	_src=""
	_ver=""
	for(_cO in _obj){
		_output+=_cO+"=\""+_obj[_cO]+"\" "
		_paramoutput+="<param name="+_cO+" value=\""+_obj[_cO]+"\">";
		if(_cO=="movie")_src="src=\""+_obj[_cO]+"\"";
		if(_cO=="version")_ver=_obj[_cO];
	}
	if(_ver=="")_ver="8,0,0,0"
	ihtm="<object classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+_ver+" "+_output+">\n"
	ihtm+=_paramoutput+"\n"
	ihtm+="<embed "+_src+" pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash type=application/x-shockwave-flash "+_output+">\n";
	ihtm+="</embed>\n";
	ihtm+="</object>\n";
	document.getElementById(_container).innerHTML=ihtm	
}	
/* fin fonctions de base */

function new_window(page){
	window.open(page);
}

/* deb fonctions de diaporama */
	function lance_slideshow(name_div1,name_div2,name_div3,tab_image,tab_lien,tab_text,compteur,sleep,aleatoire){	
		eval("trans"+compteur+" = new Array();");
		eval("fading"+compteur+"=''");
	
		if(aleatoire==1){// aleatoire
			nbimages = tab_image.length;
			var a=Math.floor(nbimages*Math.random());
			var b=1;
			var g=a;
			while(g==a){
				var g=Math.floor(nbimages*Math.random());
			}
			var b = g;
		} else {
			var a = 0;
			var b = 1;
		}
		
		back0 = document.getElementById(name_div1);
		front0 = document.getElementById(name_div2);
		txt0 = document.getElementById(name_div3);	
		
		var taille_w = front0.style.width;
		var taille_h = front0.style.height;
		
		if(tab_lien[a]){
			front0.innerHTML='<a href="'+tab_lien[a]+'"><img src="images/x.gif" width="'+taille_w+'" height="'+taille_h+'" border="0"></a>';
		} else {
			front0.innerHTML='<img src="images/x.gif" width="'+taille_w+'" height="'+taille_h+'" border="0">';
		}
		if(tab_text[a]){
			txt0.innerHTML='<div style="width: '+taille_w+'px;" align="left">'+tab_text[a]+'</div>';
		}
	
		back0.style.backgroundImage = 'url(' + '\'' + tab_image[a] + '\'' + ')';
		front0.style.backgroundImage = 'url(' + '\'' + tab_image[b] + '\'' + ')';	
		setTimeout(function() { fade_loop(a, b,name_div1,name_div2,name_div3,tab_image,tab_lien,tab_text,compteur,sleep,aleatoire); }, sleep * 1000);
	}
	
	function fade_in(a, b,name_div1,name_div2,name_div3,tab_image,tab_lien,tab_text,compteur,sleep,aleatoire) {
		if (eval("trans"+compteur+"["+b+"]") < 100) {
			eval("trans"+compteur+"["+b+"] = trans"+compteur+"["+b+"]+2");
			front0 = document.getElementById(name_div2);
			if (document.all) { front0.filters.alpha.opacity = eval("trans"+compteur+"["+b+"]"); }
			front0.style.MozOpacity = Math.min(parseFloat(front0.style.MozOpacity) + 0.02, 0.99);
			front0.style.opacity = Math.min(parseFloat(front0.style.opacity) + 0.02, 0.99);
	
			if (eval("trans"+compteur+"["+b+"]") == 100) {
				eval("clearInterval(fading"+compteur+")");
				if(aleatoire==1){// aleatoire
					nbimages = tab_image.length;
					var g=b;
					while(g==b){
						var g=Math.floor(nbimages*Math.random());
					}
					var c = g;
				} else {
					var c = b + 1; if (!tab_image[c]) { var c = 0; }
				}
				setTimeout(function() { fade_loop(b, c,name_div1,name_div2,name_div3,tab_image,tab_lien,tab_text,compteur,sleep,aleatoire); }, sleep * 1000);			
			}
		}
	}
	
	function fade_loop(a,b,name_div1,name_div2,name_div3,tab_image,tab_lien,tab_text,compteur,sleep,aleatoire) {
		if(eval("fading"+compteur)){eval("clearInterval(fading"+compteur+");");}
		back0 = document.getElementById(name_div1);
		front0 = document.getElementById(name_div2);
		txt0 = document.getElementById(name_div3);	
		txt0.style.display='none';
		var taille_w = front0.style.width;
		var taille_h = front0.style.height;	
		if(tab_lien[b]){
			front0.innerHTML='<a href="'+tab_lien[b]+'"><img src="images/x.gif" width="'+taille_w+'" height="'+taille_h+'" border="0"></a>';
		} else {
			front0.innerHTML='<img src="images/x.gif" width="'+taille_w+'" height="'+taille_h+'" border="0">';
		}
		if(tab_text[b]){
		//	front0.innerHTML+='<div>'+tab_text[b]+'</div>';
			front0.innerHTML+='<div style="width: '+taille_w+'px;" align="left">'+tab_text[b]+'</div>';
		}
		back0.style.backgroundImage = 'url(' + '\'' + tab_image[a] + '\'' + ')';
		front0.style.backgroundImage = 'url(' + '\'' + tab_image[b] + '\'' + ')';
	
		eval("trans"+compteur+"["+a+"]=0");
		eval("trans"+compteur+"["+b+"]=0");
	
		if (document.all) { front0.filters.alpha.opacity = 0;}
		front0.style.MozOpacity = 0;
		front0.style.opacity = 0;
		gfds = setInterval(function(){fade_in(a,b,name_div1,name_div2,name_div3,tab_image,tab_lien,tab_text,compteur,sleep,aleatoire); }, sleep);
		eval("fading"+compteur+"="+gfds);
	}
/* fin fonctions de diaporama */

/* deb fonctions de planche contact */
	function afficherImage(id,lien,nom_img,m_larg,m_haut,g_larg,g_haut){
		val_txt="";
		val_txt = eval("planche_txt_"+id+"['"+nom_img+"']");
		if (document.images){
			document.images['planche_contact'+id].src = "miniature.php?pic="+lien+"/img_base/planche_contact/"+nom_img+"&w_max="+m_larg+"&h_max="+m_haut;
			var new_lien ="miniature.php?pic=img_base/planche_contact/"+nom_img+"&w_max="+g_larg+"&h_max="+g_haut+"&id_planche_contact="+id+"','"+g_larg+"','"+g_haut+"');";
			document.getElementById('lien_planche_contact'+id).href = new_lien;
			document.getElementById('lien_planche_contact'+id).title = val_txt;
		}
	}
	function popup_diapo(page,largeur,hauteur) {
	  var top=(screen.height-hauteur)/2;
	  var left=(screen.width-largeur)/2;
	  var page = "/globalflexit/clients/utils/modules/"+page;
	  var options = "menubar=no,scrollbars=yes,statusbar=no";
	  window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
	}
/* fin fonctions de planche contact */

/* deb fonctions de formulaire */
	function MM_validateForm() { //v4.0
	  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
	  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		if (val) { nm=val.name;nm1=val.title;if(nm1!="")nm=nm1; if ((val=val.value)!="") {
		  if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
			if (p<1 || p==(val.length-1)) errors+='Le champ '+nm+' doit contenir une adresse email.\n';
		  } else if (test!='R') { num = parseFloat(val);
			if (isNaN(val)) errors+='Le champ '+nm+' doit contenir un nombre.\n';
			if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
			  min=test.substring(8,p); max=test.substring(p+1);
			  if (num<min || max<num) errors+='Le champ '+nm+' doit contenir un nombre entre '+min+' et '+max+'.\n';
		} } } else if (test.charAt(0) == 'R') errors += 'Le champ '+nm+' est requis.\n'; }
	  } if (errors) alert('Erreur(s) rencontrée(s) :\n'+errors);
	  document.MM_returnValue = (errors == '');
	}
   function verifiermail(mail) {
      if ((mail.indexOf("@")>0)&&(mail.indexOf(".")>2)) {
         return true
      } else {
         return false
      }
   }	
/* fin fonctions de formulaire */

function HideSelect_v1(){
	oSelects = document.getElementsByTagName('SELECT');
	if (oSelects.length > 0) {
		for (i = 0; i < oSelects.length; i++) {
			oSelects[i].style.visibility = 'hidden';
		}
	}
}
function ShowSelect_v1(){
	oSelects = document.getElementsByTagName('SELECT');
	if (oSelects.length > 0) {
		for (i = 0; i < oSelects.length; i++) {
			oSelects[i].style.visibility = 'visible';
		}
	}
}

function show_hide_tr(id,etat){
	if(navigator.appName!="Microsoft Internet Explorer" && etat=="block")valeur="table-row";
	if(document.getElementById(id))document.getElementById(id).style.display=etat;			
}
function show_hide_div(id,etat){
	if(document.getElementById(id))document.getElementById(id).style.display=etat;	
}


/* fonction ajax et formulaire */
function getDataFromForm_final(Form) {
    if(Form){
		var data="";
		var key=0;
		for (key=0;key<Form.elements.length;key++) {      
			 if(Form.elements[key].tagName.toLowerCase()=="select"){
				 var currentValue = getSelectValue_final(Form.elements[key]);
			 } else if(Form.elements[key].type=="checkbox"){
				 var currentValue = getCheckboxValue_final(Form.elements[key]);
			 } else if(Form.elements[key].type=="radio"){
				 var currentValue = getCheckboxValue_final(Form.elements[key]);
			 } else {
				 var currentValue = Form.elements[key].value;
			 }
			 if(encodeURIComponent(currentValue)!=""){
				 if(data!="")data+="&";
				data+=encodeURIComponent(Form.elements[key].name)+"="+encodeURIComponent(currentValue);
			 }
		}
		//alert(data);
		return data;
	}
}
function getSelectValue_final(select) {
	if(select.length>0){
		var ligne_sel = select.selectedIndex;
		if(select.options[ligne_sel].value!=""){
			return(select.options[ligne_sel].value);
		}
	}
	return ('');
}
function getCheckboxValue_final(select) {
	if(select.checked==true){
		return(select.value);
	} else {
		return('');
	}
}
function loadajax_final(divId, url, loader, data){
	// gestion du signe +
	var plusEscape = "%" + "+".charCodeAt(0).toString(16).toUpperCase();
	var data = data.split("+").join(plusEscape);
	
	var xhr_object = null;
	if(window.XMLHttpRequest) // Firefox
	  xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // Internet Explorer
	  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { // XMLHttpRequest non supporté par le navigateur
	  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	  return;
	}
	xhr_object.open("POST", url, true);
	xhr_object.onreadystatechange = function() {
	  if(xhr_object.readyState == 4){
		 var tmp = xhr_object.responseText.split(":");
		 document.getElementById(divId).innerHTML=xhr_object.responseText;
		 try{
			var l=document.getElementById(divId).getElementsByTagName('script').length
			for(var j=0;j<l;j++){
				var script = document.createElement('script');
				script.type = 'text/javascript';
				script.text = document.getElementById(divId).getElementsByTagName('script').item(j).text;
				document.getElementsByTagName('head')[0].appendChild(script); }
			}catch(e){
				//alert(e);
			}
	  }	else {
		  document.getElementById(divId).innerHTML=loader;
	  }
	}
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");   
	xhr_object.send(data);
}
//	recuperation du checked d'un tableau de checkbox
function recup_tab_radio_final(nom_form,nom_checkbox){
	var formulaire1 = document.forms[nom_form].getElementsByTagName("input");
	var valeur_final="";
	for(i=0;i<formulaire1.length;i++){
		if(document.forms[nom_form].getElementsByTagName("input")[i].type == "radio" && document.forms[nom_form].getElementsByTagName("input")[i].name==nom_checkbox){
			if(formulaire1[i].checked==true)valeur_final+=formulaire1[i].value+",";
		}	
	}
	
	if(valeur_final!="")valeur_final=valeur_final.substr(0,valeur_final.length-1);
	
	return valeur_final;
}
function change_month(divId,date,param){
	// on recharge en ajax
	url = '/globalflexit/clients/utils/common.php'; // 'HTML file to be called' ext *.php, *.inc, ...
	loadajax_final(divId, url, '', 'module=agenda&param='+param+'&date='+date);
}


/* nettoyage des colonnes */
function flexitUpdate() {
	flexitUpdateItems = $$('.flexitUpdate');
	allItems = new Array();
	for(i = 0; i < flexitUpdateItems.length; i++) {
		// Je récupère d'abord les variables de base du conteneur
		items = new Array();
		items = flexitUpdateItems[i];
		items.width = flexitUpdateItems[i].getStyle("width");
		items.height = flexitUpdateItems[i].getStyle("height");
		items.totalwidth = flexitUpdateItems[i].getStyle("width").toInt() + (flexitUpdateItems[i].getStyle("padding-left").toInt()+flexitUpdateItems[i].getStyle("padding-right").toInt());
		items.totalheight = flexitUpdateItems[i].getStyle("height").toInt() + (flexitUpdateItems[i].getStyle("padding-top").toInt()+flexitUpdateItems[i].getStyle("padding-bottom").toInt());
		items.paddingLeft = flexitUpdateItems[i].getStyle("padding-left");
		items.paddingRight = flexitUpdateItems[i].getStyle("padding-right");
		items.paddingTop = flexitUpdateItems[i].getStyle("padding-top");
		items.paddingBottom = flexitUpdateItems[i].getStyle("padding-bottom");
		
		allItems.push(items);
	}
	
	flexitUpdateImages(allItems);
	allResizeLikeParent = $$('.flexitRLP');
	if(allResizeLikeParent.length > 0) {
		resizeLikeParent($$('.flexitRLP'));
	}
}

window.addEvent('domready', function() {
    flexitUpdate();
});

// Restriction de la taille de l'image à la taille du conteneur parent maximum

function flexitUpdateImages(allItems) {
	for(i=0; i < allItems.length; i++) {
		allPictures = $(allItems[i]).getElements("img");

		for(j=0; j < allPictures.length; j++) {
			if(allPictures[j].hasClass("fNoMargesHori")) {
				allPictures[j].removeProperty("height");
				allPictures[j].setStyle("margin-left", "-"+allItems[i].paddingLeft);
				if((allPictures[j].getStyle("width").toInt() > allItems[i].totalwidth) || (allPictures[j].getProperty("width") > allItems[i].totalwidth)) {
					allPictures[j].removeProperty("width");
					allPictures[j].setStyle("width", allItems[i].totalwidth );
					
				}
			} else if(allPictures[j].hasClass("fNoMargesVert")) {
				allPictures[j].setStyle("margin-top", 0);
				allPictures[j].setStyle("margin-bottom", 0);
				if(1) {
					allPictures[j].setStyle("margin-top", "-"+allItems[i].paddingTop);
				}
			} else if(allPictures[j].hasClass("fNoMarges")) {
				allPictures[j].removeProperty("height");
				allPictures[j].setStyle("margin-left", "-"+allItems[i].paddingLeft);
				allPictures[j].setStyle("margin-top", "-"+allItems[i].paddingTop);
				allPictures[j].setStyle("margin-bottom", 0);
				if((allPictures[j].getStyle("width").toInt() > allItems[i].totalwidth) || (allPictures[j].getProperty("width") > allItems[i].totalwidth)) {
					allPictures[j].removeProperty("width");
					allPictures[j].setStyle("width", allItems[i].totalwidth );
				}
			} else {
				if((allPictures[j].getStyle("width").toInt() > allItems[i].width.toInt()) || (allPictures[j].getProperty("width") > allItems[i].width.toInt())) {
					allPictures[j].removeProperty("width");
					allPictures[j].removeProperty("height");
					marginItem = allPictures[j].getStyle("margin-left").toInt() + allPictures[j].getStyle("margin-right").toInt();
					finalWidth = allItems[i].width.toInt() - marginItem;
					allPictures[j].setStyle("width", finalWidth+"px");
				}
			}
		}
	}
}

function pair(nombre){
   return ((nombre-1)%2);
}

// Egalisation de la taille d'objets en hauteur a l'aide d'un selecteur mootools
// selecteurMootools = une liste d'objet avec un selecteur mootools
// useOffset = tiens compte de l'offset de l'objet en hauteur
// usePadding = dimensionne le conteneur avec des paddings en haut et en bas plutôt que la propriété height (utile pour centrer le texte en hauteur)

function flexitUpdateHauteur(selecteurMootools, usePadding, useOffset) {
    // Si on ne précise pas que l'on veut utiliser l'Offset, par défaut on en tient compte
    if(!selecteurMootools || selecteurMootools.length <= 0) {
        return false;
    }
    
    // Si on ne précise pas que l'on veut utiliser l'Offset, par défaut on en tient compte
    if(useOffset != false) {
        useOffset = true;
    }
    
    var plus_haut = new Array();
	var groupe = new Array();
    
    // liste des objets
    var listeConteneurs = selecteurMootools;
    
    // Récupération des tailles en fonction de leur offset
	for(var i=0; i < listeConteneurs.length ; i++) {
        taille = listeConteneurs[i].getSize();
        pos = listeConteneurs[i].getPosition();
        if( useOffset == true && (taille.y > plus_haut[pos.y] || !plus_haut[pos.y]) ) {
			if(!pair(taille.y))taille.y+=1; 
            plus_haut[pos.y] = taille.y;
        } else if( useOffset == false && (taille.y > plus_haut[0] || !plus_haut[0])) {
            plus_haut[0] = taille.y;
        }
		groupe[i] = pos.y;
    }

    if(listeConteneurs.length > 1){
		for(var i=0; i < listeConteneurs.length ; i++) {
            taille = listeConteneurs[i].getSize();
            pos = listeConteneurs[i].getPosition();

            if( useOffset ) {
                positionObjet = groupe[i];
            } else {
                positionObjet = 0;
            }
            if(taille.y < plus_haut[positionObjet]) {

                paddingtopItem = listeConteneurs[i].getStyle('padding-top').toInt();
                paddingbotItem = listeConteneurs[i].getStyle('padding-bottom').toInt();
                
                finalsize = plus_haut[positionObjet]-paddingbotItem-paddingtopItem;
                
                if(usePadding == false) {
                    listeConteneurs[i].setStyle('height', finalsize);
                } else {
                    paddingToApply = Math.floor((plus_haut[positionObjet] - taille.y) / 2);
					
                    paddingtopItemFinal = paddingtopItem + paddingToApply;
                    paddingbotItemFinal = paddingbotItem + paddingToApply;
					// Pour corriger les erreurs de 1 pixel a cause de l'arrondi au dessus
                    if((paddingtopItem + paddingbotItem + finalsize) > plus_haut[positionObjet]) {
                        patchBottom = (paddingtopItem + paddingbotItem + finalsize) - plus_haut[positionObjet];
                        patchBottom = patchBottom - paddingbotItem;
                        paddingbotItemFinal = paddingbotItem - patchBottom;
                    }
                    
                    listeConteneurs[i].setStyle('padding-top', paddingtopItemFinal);
                    listeConteneurs[i].setStyle('padding-bottom', paddingbotItemFinal);
                }
            }
        }
    }
}

// Redimensionnement d'un conteneur à la taille de son parent
// selecteurMootools = une liste d'objet avec un selecteur mootools
// usePadding = dimensionne le conteneur avec des paddings en haut et en bas plutôt que la propriété height (utile pour centrer le texte en hauteur)

function flexitResizeLikeParent(selecteurMootools, usePadding) {
	listeCibles = selecteurMootools;

	for(i=0; i < listeCibles.length; i++) {
		parentCible = listeCibles[i].getParent();
		parentSize = parentCible.getSize().y;

		if(parentSize > listeCibles[i].getSize().y) {

			paddingTopCible = listeCibles[i].getStyle('padding-top').toInt();
			paddingBotCible = listeCibles[i].getStyle('padding-bottom').toInt();
			marginTopCible = listeCibles[i].getStyle('margin-top').toInt();
			marginBotCible = listeCibles[i].getStyle('margin-bottom').toInt();
			borderTopCible = listeCibles[i].getStyle('border-top-width').toInt();
			borderBotCible = listeCibles[i].getStyle('border-bottom-width').toInt();
			offsetCible = listeCibles[i].getPosition(parentCible).y;
			
			paddingTotal = paddingTopCible + paddingBotCible + marginTopCible + marginBotCible;
			
			finalSize = parentSize - paddingTotal;
			
			if(offsetCible > 0) {
				finalSize = finalSize - offsetCible;
			}

			if(usePadding == false) {
				listeCibles[i].setStyle('height', finalSize);
			} else {
				paddingToApply = Math.floor((parentSize - listeCibles[i].getSize().y) /2);
				paddingtopItemFinal = paddingToApply - paddingTopCible - borderTopCible;
				paddingbotItemFinal = paddingToApply - paddingBotCible - borderBotCible;
				
				// Pour corriger les erreurs de 1 pixel a cause de l'arrondi au dessus
				if((paddingTopCible + paddingBotCible + finalSize) > parentSize) {
					patchBottom = (paddingtopItem + paddingbotItem + finalSize) - parentSize;
					patchBottom = patchBottom - paddingBotCible;
					paddingbotItemFinal = paddingBotCible - patchBottom;
				}
				
				listeCibles[i].setStyle('padding-top', paddingtopItemFinal);
				listeCibles[i].setStyle('padding-bottom', paddingbotItemFinal);
			}
		}
	}
}

// Création d'un slider basé sur la librairie noobslide
// selecteurMootools = l'objet parent pour le slider
// widthSlider = largeur en pixel
// actionRollOver = si true, le script crée les action de pause au rollover

indexNoobslidePage = 0;
arrayNoobslidePage = new Array();

function flexitCreateNoobslide(selecteurMootools, widthSlider, actionRollOver, sensAnim, hasHandles, isAutoPlaying, delayAnim, customFuncOnWalk ) {
	if(selecteurMootools){

		if(sensAnim != "") {
			sensNoobslide = sensAnim;
		} else {
			sensNoobslide = "horizontal";
		}

		if(delayAnim > 0) {
			sliderDelay = delayAnim;
		} else {
			sliderDelay = 5000;
		}
		if(isAutoPlaying != false && isAutoPlaying != true) {
			isAutoPlaying = true;
		}
		
		for(u=0; u < selecteurMootools.length; u++) {
			var currentElement = selecteurMootools[u];
			
			arrayNoobslidePage[indexNoobslidePage] = new noobSlide({
				box: currentElement.getElement('.nsNeftisItemContainer'),
				items: currentElement.getElements('.item'),
				mode: sensNoobslide,
				size: widthSlider,
				autoPlay: isAutoPlaying,
				handles: currentElement.getElements('.nsNeftisBtns .itemNum'),
				interval: sliderDelay,
				addButtons: {
					previous: currentElement.getElements('.nsNeftisBtns .prev'),
					next: currentElement.getElements('.nsNeftisBtns .next') 
				},
				onWalk: function(currentItem,currentHandle){
					//style for handles
					if(hasHandles == true && currentHandle) {
						this.handles.removeClass('itemNumActive');
						currentHandle.addClass('itemNumActive');
					}
					
					if(customFuncOnWalk != "") {
						eval(customFuncOnWalk);
					}
				}
			});
				
			// Action rollover
			if(actionRollOver == true) {
				flexitCreateNoobslide_actionRollOver(currentElement,indexNoobslidePage,sliderDelay);
			}
				
			// Incrémentation pour l'array des différents éléments
			indexNoobslidePage++;
		}
		
		return arrayNoobslidePage;
	}
}

function flexitCreateNoobslide_actionRollOver(currentElement,indexNoobslidePage,sliderDelay){
	currentElement.addEvents({
		'mouseenter': function(){
			arrayNoobslidePage[indexNoobslidePage].stop();
		},
		'mouseleave': function(){
			if(arrayNoobslidePage[indexNoobslidePage].autoPlay) {
				arrayNoobslidePage[indexNoobslidePage].play(sliderDelay,'next',true);
			}
		}
	});		
}

indexFloomPage = 0;
arrayFloomPage = new Array();

function flexitCreateFloom(selecteurMootools) {
	console.log( selecteurMootools );
	if(selecteurMootools){
		console.log( selecteurMootools );
		for(u=0; u < selecteurMootools.length; u++) {
			var currentElement = selecteurMootools[u];
			var slides = currentElement.getElements('.floomBlinds img');
			if( slides.length > 0 ) {
				arrayFloomPage[indexFloomPage] = currentElement.getElement('div.floomBlinds').floom(slides, {
					sliceFxIn: { top: [0,100] }
				});
			}
			indexNoobslidePage++;
		}
	}
}

function flexitShowOverlay(idcontenttoinject, widthContentOverlay, heightContentOverlay, coloroverlay, modeContenu, ajaxUrlFile, ajaxPostValue) {
	// On vérifie qu'on a bien un selecteur de contenu et qu'il existe dans le code html
	if(idcontenttoinject != "" || (ajaxUrlFile != "" && ajaxPostValue != "")) {

		sizeWindow = $(window).getSize();
		scrollPosition = $(window).getScroll();
	
		// CREATION DE L'OVERLAY DE COULEUR
		if($('flexitOverlay')) {
			$('flexitOverlay').setStyle('display','block');
			$('flexitOverlayContent').destroy();
		} else {
			var overlayBG = new Element('div', {'class': 'flexitOverlayBG','id':'flexitOverlay'});
			overlayBG.setStyle('width',sizeWindow.x);
			overlayBG.setStyle('height',sizeWindow.y);
			overlayBG.setStyle('top',scrollPosition.y);
			if(coloroverlay != "") {
				overlayBG.setStyle('background-color',coloroverlay);
			}
			
			overlayBG.inject($(document.body));
			
			$('flexitOverlay').setStyle('display','block');
			
			window.addEvent('resize', function() {
				flexitUpdateOverlay();
			});
			
			window.addEvent('scroll', function() {
				flexitUpdateOverlay();
			});
		}
	
		// CREATION DU CONTENU DE L'OVERLAY
		var overlayContent = new Element('div', {'class': 'flexitOverlayContent','id':'flexitOverlayContent'});
		
		// MODE ADOPTION OU SET HTML
		if(!ajaxUrlFile) {
			if(modeContenu == "") {
				overlayContent.set('html', idcontenttoinject.get('html'));
			} else if(modeContenu == "adoption") {
				overlayContent.adopt(idcontenttoinject);
			}
		// MODE AJAX
		} else if(ajaxUrlFile != "" && ajaxPostValue != "") {
			var overlayRequest = new Request({
				method: 'post',
				url: ajaxUrlFile,
				data: ajaxPostValue,
				onComplete: function(response) {
					overlayContent.set('html',response);
				}
			}).send();
		}
		
		overlayTopPosition = Math.floor(((sizeWindow.y/2) - (heightContentOverlay/2)) + scrollPosition.y);
		overlayLeftPosition = Math.floor((sizeWindow.x/2) - (widthContentOverlay/2));

		overlayContent.setStyle('width',widthContentOverlay);
		overlayContent.setStyle('height',heightContentOverlay);
		overlayContent.setStyle('top', overlayTopPosition);
		overlayContent.setStyle('left', overlayLeftPosition);
		overlayContent.inject($(document.body));
		
		if(!ajaxUrlFile && modeContenu == "adoption") {
			if($('flexitOverlayContent').getFirst().getStyle('display') == "none") {
				$('flexitOverlayContent').getFirst().setStyle('display','block');
			}
		}
	}

}

function flexitUpdateOverlay() {
	sizeWindow = $(window).getSize();
	scrollPosition = $(window).getScroll();
	widthContentOverlay = $('flexitOverlayContent').getSize().x;
	heightContentOverlay = $('flexitOverlayContent').getSize().y;
	overlayTopPosition = Math.floor(((sizeWindow.y/2) - (heightContentOverlay/2)) + scrollPosition.y);
	overlayLeftPosition = Math.floor((sizeWindow.x/2) - (widthContentOverlay/2));

	if($('flexitOverlay')) {
		$('flexitOverlay').setStyle('width',sizeWindow.x);
		$('flexitOverlay').setStyle('height',sizeWindow.y);
		$('flexitOverlay').setStyle('top',scrollPosition.y);
		$('flexitOverlayContent').setStyle('top', overlayTopPosition);
		$('flexitOverlayContent').setStyle('left', overlayLeftPosition);
	}
}

function flexitHideOverlay() {
	$('flexitOverlay').setStyle('display','none');
	$('flexitOverlayContent').setStyle('display','none');
}

function flexitSetCook(name,value,days) {
	if(days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else var expires = "";
	
	document.cookie = name+"="+value+expires+"; path=/";
}

function flexitGetCook(nom) {
	deb = document.cookie.indexOf(nom + "=")
	if (deb >= 0) {
		deb += nom.length + 1
		fin = document.cookie.indexOf(";",deb)
		if (fin < 0) fin = document.cookie.length
		return unescape(document.cookie.substring(deb,fin))
	}
	return ""
}

// function qui ajoute des classes sur un structure d'éléments
function flexit_add_class(selector,prefix){
	if(!selector)return;
	
	nb_elem = selector.length;
	selector.each(function(elem,index){
		// premier element
		if(index==0)elem.addClass(prefix+"start");
		
		// dernier element
		if(index==(nb_elem-1))elem.addClass(prefix+"end");
	});
}

// Centrage de la page si on a une barre de scroll. Pour les problèmes d'ombre sur un affichage en 1024 par exemple.
function flexitPageAutoCenter() {
		var doc_size = document.getSize();
		var scroll_size = document.getScrollSize();
		if (scroll_size.x > doc_size.x) $(document.body).scrollTo((scroll_size.x - doc_size.x)/2, 0);
}

function flexit_charge_form(form){
	if(!form)return '';
	
	var querystring = form.toQueryString();
//	alert(querystring);
	var version = 1;
//	alert(querystring);
//	if(ereg('%5B',querystring))version = 2;
	if(querystring.match('%5B'))version = 2;

	if(version==1){
//		var t_querystring = "&"+str_replace("[]","",querystring);
//		var t_querystring = "&"+str_replace("[]","",querystring);		
		var t_querystring = "&"+querystring.replace("[]", ""); 
	} else if(version==2){
		var t_querystring = "&"+querystring;		
	}

	// on recupere tous les champs que l'on devrai récupérer
	var tab = form.getElements('input,textarea');
	for(var i=0; i <tab.length ; i++) {
		if(version==1){
//			var name = str_replace("[]","",tab[i].name);
			var name = tab[i].name.replace("[]", ""); 
			if(name!=""){
				//if(!ereg("&"+name+"=",t_querystring) && tab[i].value==""){
				if(!t_querystring.match("&"+name+"=") && tab[i].value==""){
					if(querystring)querystring+="&";
					querystring+=name+"=";
				}
			}			
		} else if(version==2){
			var name = tab[i].name.replace("[", "%5B"); 
//			var name = str_replace("[","%5B",tab[i].name);
			var name = name.replace("]", "%5D");
	//		var name = str_replace("]","%5D",name);			
			if(name!=""){
//				if(!ereg("&"+name+"=",t_querystring)){				
				if(!t_querystring.match("&"+name+"=")){
					if(querystring)querystring+="&";
					querystring+=tab[i].name+"=";
				}
			}			
		}

	}
	return querystring;
}

function flexitTrackGAEvent (evCategory, evLabel,evValue) {
	if( typeof _gaq != "undefined" ) {
		if(evValue != '') {
			_gaq.push(['_trackEvent', evCategory, evLabel, evValue]);
		} else {
			_gaq.push(['_trackEvent', evCategory, evLabel]);
		}
	}
}
