var global_chemin_url = "http://www.snox.com/";
var global_chemin_url_images = "http://www.snox.fr/";





	function dcd_m(val)
	{
		var l_val = val.length;
		var code = "";
		var result = "";
		
		for(i=0; i<l_val; i+=3)
		{
			code = val.substr(i, 3)-3;
			result += String.fromCharCode(code);
		}
		
		return result;
	}


// ******************************** Pour la gestion des flash ******************************** //


// Variables globales
// Version majeure de Flash requise
var requiredMajorVersion = 6;
// Version mineure de Flash requise
var requiredMinorVersion = 0;
// Révision de Flash requise
var requiredRevision = 0;
// Version de javascript prise en charge
var jsVersion = 1.0;

var msg_deja_affiche = false;

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function aff_bal(ch)
{
	document.write(ch);
}

function insert_flash (p_src,p_name,p_width,p_height) {
	
	if (p_src.indexOf(".flv")>=0){
		var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
		if(hasRightVersion) {  // if we've detected an acceptable version
			// embed the flash movie
	
			AC_FL_RunContent(
				'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0',
				'width', p_width,
				'height', p_height,
				'src', 'PlayerVideo',
				'quality', 'high',
				'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
				'align', 'middle',
				'play', 'false',
				'loop', 'true',
				'scale', 'showall',
				'wmode', 'window',
				'devicefont', 'false',
				'id', 'PlayerVideo',
				'bgcolor', '#ffffff',
				'name', 'PlayerVideo',
				'menu', 'true',
				'allowScriptAccess','sameDomain',
				'allowFullScreen','true',
				'movie', 'PlayerVideo',
				'salign', '',
				'flashvars', 'nomflv='+p_src
				); //end AC code
		}	
		else{
			// flash is too old or we can't detect the plugin
			var alternateContent = 'Pour visualiser correctement cette page vous avez besoin du Flash&nbsp;Player&nbsp;'+requiredMajorVersion+'.'
			+ '<br /><a href="http://www.macromedia.com/go/getflash/" class="text-normal-lien" target="_blank">T&eacute;l&eacute;charger Flash&nbsp;Player</a><br />';
			document.write(alternateContent);  // Insérer contenu non-Flash
		}
	}
	else{
		var ch_entrer = "";
		var hasRightVersion = DetectFlashVer2(requiredMajorVersion, requiredMinorVersion, requiredRevision);
		if(!hasRightVersion) {  // si nous avons détecté une version acceptable
			if (!msg_deja_affiche)
			{
				msg_deja_affiche = true;
				
				var alternateContent = 'Pour visualiser correctement cette page vous avez besoin du Flash&nbsp;Player&nbsp;'+requiredMajorVersion+'.'
				+ '<br /><a href="http://www.macromedia.com/go/getflash/" class="text-normal-lien" target="_blank">T&eacute;l&eacute;charger Flash&nbsp;Player</a><br />';
				document.write(alternateContent);  // Insérer contenu non-Flash
			}
		}
		
		// cas aljt
		document.write('<embed src="' + p_src + '" name="' + p_name + '" width="' + p_width + '" height="' + p_height + '" wmode="transparent" quality="high"  align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'+ch_entrer);
	}	
}




// Programme d'assistance JavaScript requis pour détecter les informations de version du plug-in Flash Player
function JSGetSwfVer2(i){
	// Version NS/Opera >= 3 rechercher le plug-in Flash dans le tableau des plug-ins
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	} else {
			flashVer = -1;
		}
	}
	// MSN/WebTV 2.6 prend en charge Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 prend en charge Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// La version antérieure de WebTV prend Flash 2 en charge
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// Détection impossible dans tous les autres cas
	else {
		
		flashVer = -1;
	}
	return flashVer;
} 
// Si elle est appelée sans paramètres,
// cette fonction renvoie une valeur en virgule flottante indiquant la version Flash Player ou 0.0 
// ex : Flash Player 7r14 renvoie 7.14
// Si appelé avec reqMajorVer, reqMinorVer, reqRevision renvoie true si cette version ou une version ultérieure est disponible
function DetectFlashVer2(reqMajorVer, reqMinorVer, reqRevision) 
{
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// Examiner les versions pour détecter la plus récente	
	for (i=25;i>0;i--) {	
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer2(i);		
		}
		if (versionStr == -1 ) { 
			return false;
		} else if (versionStr != 0) {
			if(isIE && isWin && !isOpera) {
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");				
			} else {
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];
			
			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);
        	// est la révision.principale >= révision.principale demandée ET la version mineure >= mineure demandée
        	if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
	return (reqVer ? false : 0.0);
}



// ****************************** Fin pour la gestion des flash ****************************** //



// ******************************* Pour la gestion des formulaires ****************************//

function valider_moteur_recherche()
{
	var f = document.form_moteur_recherche;
	var mot_recherche = f.query_string.value;
	if (valeur==1){stat('snox','','','recherche;'+mot_recherche);}
	if(mot_recherche == "Chercher sur le site..."){
		f.query_string.value = "";
	}
	f.submit();
}

function valider_moteur_recherche_2()
{
	var f = document.form_moteur_recherche_2;
	var mot_recherche = f.query_string.value;
	if (valeur==1){stat('snox','','','recherche;'+mot_recherche);}
	f.submit();
}

// ***************************** Fin pour la gestion des formulaires **************************//

var diapoDelay = 5000;

// Affiche les détails du diapo au survol
function showDetailsDiapo(){
	var conteneursans = document.getElementById('conteneurinfosbannersansimages');
	var conteneuravec = document.getElementById('conteneurinfosbanneravecimages');
	if(conteneursans && conteneuravec){
		conteneursans.style.display='none';
		conteneuravec.style.display='block';
	}
}

// Cache les détails du diapo en fin de survol
function hideDetailsDiapo(){
	var conteneursans = document.getElementById('conteneurinfosbannersansimages');
	var conteneuravec = document.getElementById('conteneurinfosbanneravecimages');
	if(conteneursans && conteneuravec){
		conteneursans.style.display='block';
		conteneuravec.style.display='none';
	}
}


// Affiche l'image précédente dans le diapo
function previousImg(){
	
	var container = document.getElementById("masqueminidiapo");
	
	if(container){
		var first = container.firstChild;
		var last = container.lastChild;
		container.removeChild(first);
		container.appendChild(first);
		for(var i=0; i<container.childNodes.length; i++){
			if(i>2){
				if(container.childNodes[i].childNodes[0]){
					container.childNodes[i].childNodes[0].style.styleFloat = "left";
				}else{
					container.childNodes[i].style.styleFloat = "left";
				}
			}else{
				if(container.childNodes[i].childNodes[0]){
					container.childNodes[i].childNodes[0].style.styleFloat = "none";
				}else{
					container.childNodes[i].style.styleFloat = "none";
				}
			}
		}
	}
	
}

// Affiche l'image suivante dans le diapo
function nextImg(){
	
	var container = document.getElementById("masqueminidiapo");
	
	if(container && container.childNodes.length>1){
		var first = container.firstChild;
		var last = container.lastChild;
		container.removeChild(last);
		container.insertBefore(last,first);
		for(var i=0; i<container.childNodes.length; i++){
			if(i>2){
				if(container.childNodes[i].childNodes[0]){
					container.childNodes[i].childNodes[0].style.styleFloat = "left";
				}else{
					container.childNodes[i].style.styleFloat = "left";
				}
			}else{
				if(container.childNodes[i].childNodes[0]){
					container.childNodes[i].childNodes[0].style.styleFloat = "none";
				}else{
					container.childNodes[i].style.styleFloat = "none";
				}
			}
		}
	}
	
}


// Miniature sélectionnée
var selectedImg = null;

// Modifie l'image de fond de la banniere
function switchBackground(img,imgNode,fromLink){

	if(!selectedImg){	
		var container = document.getElementById("masqueminidiapo");
		if(container){
			selectedImg = container.firstChild.childNodes[0];
		}
	}

	// On réinitialise l'image qui était précédemment sélectionnée
	if(selectedImg != null){
		selectedImg.style.border = "";
		selectedImg.style.marginRight = "10px";
	}
	
	var div = document.getElementById("contenubanner");
	div.style.backgroundImage = "url(http://www.snox.fr/"+img+")";
	imgNode.style.border = "1px solid #FFFFFF";
	imgNode.style.marginRight = "8px";
	
	selectedImg = imgNode;
	
	for(var i=0; i<tabDiaporamas[selectedDiaporama]["minis"].length; i++){
		var re = new RegExp(tabDiaporamas[selectedDiaporama]["minis"][i]+"$");
		if(selectedImg.src.match(re)){
			if(tabDiaporamas[selectedDiaporama]["descriptions_images"][i] != ""){
				changeDescription(tabDiaporamas[selectedDiaporama]["descriptions_images"][i]);
			}else{
				changeDescription(tabDiaporamas[selectedDiaporama]["description"]);
			}
		}
	}
	
	
	if(fromLink){
		clearInterval(interval_slide);
		interval_slide = setInterval("slide()",diapoDelay);
	}
	
}


// Changement de la description
function changeDescription(desc){
	var p_desc = document.getElementById("descriptionimage");
	if(p_desc){
		p_desc.innerHTML = desc;
	}
}


// Changement de la description
function changeTitre(titre){
	var p_titre = document.getElementById("titrediapo");
	var p_titre_si = document.getElementById("titrediaposansimages");
	if(p_titre && p_titre_si){
		p_titre.innerHTML = titre;
		p_titre_si.innerHTML = titre;
	}
}


// Timeout de défilement
var interval_slide = null;

// Lancement du défilement
function beginSlide(){
	interval_slide = setInterval("slide()",diapoDelay);
}


// Fonction de défilement
function slide(){

	// On vérifie que le tableau est correctement initialisé
	if(tabDiaporamas && tabDiaporamas.length > 0 && selectedDiaporama != null && tabDiaporamas[selectedDiaporama] != null){
		
		// On récupère l'index de l'image suivante
		var selectedImgIndex = 0;
		var nextImgIndex = 1;
		if(selectedImg != null){
			for(var i=0; i<tabDiaporamas[selectedDiaporama]["minis"].length; i++){
				var re = new RegExp(tabDiaporamas[selectedDiaporama]["minis"][i]+"$");
				if(selectedImg.src.match(re)){
					selectedImgIndex = i;
				}
			}
		}
		if(selectedImgIndex == tabDiaporamas[selectedDiaporama]["images"].length-1){
			nextImgIndex = 0;
			nextDiapo();
		}else{
			nextImgIndex = selectedImgIndex+1;
		}
		
		// On modifie sélectionne l'image suivante
		var container = document.getElementById("masqueminidiapo");
		if(container){
			for(var i=0; i<container.childNodes.length; i++){
				if(container.childNodes[i].childNodes[0]){
					var re = new RegExp(tabDiaporamas[selectedDiaporama]["minis"][nextImgIndex]+"$");
					if( container.childNodes[i].childNodes[0].src.match(re) ){
						switchBackground(tabDiaporamas[selectedDiaporama]["images"][nextImgIndex],container.childNodes[i].childNodes[0],false);
						if(i == 3){
							previousImg();
						}
					}
				}
			}
		}
	}

}


// Fonction qui passe au diaporama suivant
function nextDiapo(){

	// On stoppe le défilement
	clearInterval(interval_slide);

	var container = document.getElementById("masqueminidiapo");
	if(selectedImg == null && selectedDiaporama != null && container){
		selectedImg = container.firstChild.firstChild;
	}
	container.style.display = "block";

	// On incrémente l'index
	selectedDiaporama++;
	if(selectedDiaporama >= tabDiaporamas.length){
		selectedDiaporama = 0;
	}
	
	changeTitre(tabDiaporamas[selectedDiaporama]["libelle"]);
	if(tabDiaporamas[selectedDiaporama]["descriptions_images"][0] != ""){
		changeDescription(tabDiaporamas[selectedDiaporama]["descriptions_images"][0]);
	}else{
		changeDescription(tabDiaporamas[selectedDiaporama]["description"]);
	}
	
	// Modifications de l'image de fond
	var divcontenu = document.getElementById("contenubanner");
	if(divcontenu){
		divcontenu.style.backgroundImage = "url(http://www.snox.fr/"+tabDiaporamas[selectedDiaporama]["images"][0]+")";
	}
	
	// Modifications du contenu des miniatures	
	var conteneurMinis = document.getElementById("masqueminidiapo");
	if(conteneurMinis){
		
		// On clone le noeud du lien de l'image sélectionnée
		var tmpNode = selectedImg.parentNode.cloneNode(true);
	
		// On vide le conteneur
		while ( conteneurMinis.childNodes.length >= 1 ){
			conteneurMinis.removeChild( conteneurMinis.firstChild );       
		}
		
		// On affiche ou masque les fleches
		var fleche_gauche = document.getElementById("flechegaucheminidiapo");
		var fleche_droite = document.getElementById("flechedroiteminidiapo");
		if(tabDiaporamas[selectedDiaporama]["images"].length < 4){
			fleche_gauche.style.visibility = "hidden";
			fleche_droite.style.visibility = "hidden";
		}else{
			fleche_gauche.style.visibility = "visible";
			fleche_droite.style.visibility = "visible";
		}
		
		// Preloading big pictures for this diaporama
		var newImagesToPreload = new Array();

		// On duplique le noeud pour chacune des images
		for(var i=0; i<tabDiaporamas[selectedDiaporama]["images"].length; i++){
		
			var newNode = tmpNode.cloneNode(true);
			newNode.id = "link_num_"+i;
			
			var img = newNode.firstChild;
			img.src = "http://www.snox.fr/"+tabDiaporamas[selectedDiaporama]["minis"][i];
			if(i == 0){
				img.style.border = "1px solid #FFFFFF";
				selectedImg = img;
			}else{
				img.style.border = "";
			}
			
			var imgTmp = tabDiaporamas[selectedDiaporama]["images"][i];
			newNode.onclick = function(){ clickOnNewLink(this); }
			conteneurMinis.appendChild(newNode);
			
			// Adding big picture to preload
			if(i>0){
				newImagesToPreload.push(tabDiaporamas[selectedDiaporama]["images"][i]);
			}

		}
		
		// Hiding the minis if there is only one picture
		if(tabDiaporamas[selectedDiaporama]["images"].length == 1){
			container.style.display = "none";
		}
		
		// Looping once on the minis
		for(var i=0; i<tabDiaporamas[selectedDiaporama]["images"].length; i++){
			nextImg();
		}
		
		
		
		// Getting the next diaporama for preloading
		var nextDiaporama = selectedDiaporama+1;
		if(nextDiaporama >= tabDiaporamas.length){
			nextDiaporama = 0;
		}
		
		// Treatment for each image of the next diaporama
		for(var i=0; i<tabDiaporamas[nextDiaporama]["images"].length; i++){
			if(i==0){
				newImagesToPreload.push(tabDiaporamas[nextDiaporama]["images"][i]);
			}
			newImagesToPreload.push(tabDiaporamas[nextDiaporama]["minis"][i]);
		}
		
		preloadImages(newImagesToPreload);
		
	}
	

	interval_slide = setInterval("slide()",diapoDelay);
	

}


// Evenemenent onclick sur les nouvelles minis quand changement de diapo (pour compatibilité IE6
function clickOnNewLink(node){
	var num = node.id.replace("link_num_","");
	switchBackground(tabDiaporamas[selectedDiaporama]["images"][num],node.firstChild,true);
}


// Fonction qui fixe le problème des miniatures qui retournent à la ligne sous IE6
function fixIE6float(){

	var container = document.getElementById("masqueminidiapo");
	if(container){
		for(var i=0; i<container.childNodes.length; i++){
			if(i>2){
				if(container.childNodes[i].childNodes[0]){
					container.childNodes[i].childNodes[0].style.styleFloat = "left";
				}else{
					container.childNodes[i].style.styleFloat = "left";
				}
			}else{
				if(container.childNodes[i].childNodes[0]){
					container.childNodes[i].childNodes[0].style.styleFloat = "none";
				}else{
					container.childNodes[i].style.styleFloat = "none";
				}
			}
		}
	}

}


// Function which preloads the images passed as an array
function preloadImages(imgTab){
	
	var container = document.getElementById("preloadContainer");
	if(container && imgTab && imgTab.length > 0){
		for(var i=0; i<imgTab.length; i++){
			var imgSrc = imgTab[i];
			var newImg = document.createElement("img");
			newImg.src = imgSrc;
			container.appendChild(newImg);
		}
	}
	
}

