// JavaScript Document

// ===================================== EFFACE/AFFICHE CONTENU CHAMP RECHERCHE	
	function effaceContenuChamp(champ,message)
	{
		if(champ.value == message)
		{
			champ.value = "";
		}
	}
	
	function retabliContenuChamp(champ,message)
	{
		if(champ.value == "")
		{
			champ.value = message;
		}
	}
// ===================================== EFFACE/AFFICHE CONTENU CHAMP RECHERCHE




// ===================================== FONCTIONNEMENT DU MENU DE GAUCHE
	function moteurMenu()
	{
		items = document.getElementById('leMenu').getElementsByTagName('li');
		liens = document.getElementById('leMenu').getElementsByTagName('a');
		sousMenu = document.getElementById('leMenu').getElementsByTagName('ul');
		liensNiv1 = new Array();
		
		function afficheMasqueMenu(lien)
		{
			for(i=0; i<sousMenu.length; i++)
			{
				// on ferme tous les autres menus
				if(liensNiv1[i] != lien)
				{
					sousMenu[i].className = "invisible";
					liensNiv1[i].className = "rubriqueInactive";
				}
			}
			
			for(i=0; i<sousMenu.length; i++)
			{
				// on ouvre ou on ferme le bon menu
				if(liensNiv1[i] == lien)
				{
					if(liensNiv1[i].className == "rubriqueActive")
					{
						liensNiv1[i].className = "rubriqueInactive";
					}
					else
					{
						liensNiv1[i].className = "rubriqueActive";
					}
					
					
					if(sousMenu[i].className == "visible")
					{
						sousMenu[i].className = "invisible";
					}
					else
					{
						sousMenu[i].className = "visible";
					}
				}
			}
			
		}
		
		for(i=0; i<liens.length; i++)
		{
			if(liens[i].className == "rubriqueActive" || liens[i].className == "rubriqueInactive")
			{
				liensNiv1.push(liens[i]);
			}
		}
		
		for(i=0; i<liensNiv1.length; i++)
		{
			liensNiv1[i].onclick = function() {afficheMasqueMenu(this);return(false);}
		}
	}
// ===================================== FONCTIONNEMENT DU MENU DE GAUCHE



// ===================================== AFFICHAGE DES COLORIAGES A IMPRIMER
	function calculeHauteur()
	{
		var hauteurSite = document.getElementById("site").offsetHeight;
		var hauteurImpression = document.getElementById("affichageImpression").offsetHeight;
		if(hauteurSite > hauteurImpression)
		{
			document.getElementById("masqueImpression").style.height = hauteurSite+"px";
		}
		else
		{
			document.getElementById("masqueImpression").style.height = hauteurImpression+"px";
		}
	}
	
	var imageFond;
	var couleurFond;
	
	function afficheImpression(option)
	{
		var sLanceImpression = 'false';
		if(option == "selection")
		{
			var nColoriages = coloriages.length;
			if (nColoriages > 0)
			{
				sLanceImpression = 'true';
				var tousLesColoriages = "";
				for(i=0 ; i<nColoriages ; i++)
				{
					if(statuts[i] == "coche")
					{
						tousLesColoriages += coloriages[i]+"\n";
						//alert('print -> '+coloriageId[i]);
            initAjax();
            addImpression(coloriageId[i]);
					}
				}
				//alert('tousLesColoriages --> ' + tousLesColoriages);
			}
		}
		else if(option == "unique")
		{
			tousLesColoriages = coloriage[0]+"\n";
			sLanceImpression = 'true';
      //Requete ajax pour augmenter le nombre d'impression
      if (coloriageId[0]) {
        //alert('print -> '+coloriageId[0]);
        initAjax();
        addImpression(coloriageId[0]);
      }
		}
		
		//alert(tousLesColoriages + '\n sLanceImpression => ' + sLanceImpression);
		
		if ((sLanceImpression == 'true') && (tousLesColoriages != ''))
		{
			document.getElementById("masqueImpression").style.display = "block";
			document.getElementById("affichageImpression").style.display = "block";
			document.getElementById("tousLesColoriages").innerHTML = tousLesColoriages;
			
			if(navigator.userAgent.indexOf("MSIE 6")!=-1)
			{
				document.getElementById("masqueImpression").style.position = "absolute";
				timer = setInterval("calculeHauteur()",1000);
			}
			imageFond = document.body.style.backgroundImage;
			document.body.style.backgroundImage="none";
			window.print();
		}
		else{
			alert('Aucun coloriage a imprimer pour le moment');
		}
	}
	
	function fermerImpression()
	{
		document.body.style.backgroundImage=imageFond;
		document.getElementById("masqueImpression").style.display = "none";
		document.getElementById("affichageImpression").style.display = "none";
		if(navigator.userAgent.indexOf("MSIE 6")!=-1)
		{
			clearInterval(timer);
		}
	}
// ===================================== AFFICHAGE DES COLORIAGES A IMPRIMER


// ===================================== AFFICHAGE DU NOMBRE DE COLORIAGES SELECTIONNES
	function afficheNbSelection()
	{
		
		var nbColoriages = 0;
		var message;
		for(i=0; i<statuts.length; i++)
		{
			if (statuts[i] == "coche")
			{
				nbColoriages ++;
			}
		}
		if(nbColoriages < 1)
		{
			message = "Aucun coloriage s&eacute;lectionn&eacute;";
		}
		else if(nbColoriages == 1)
		{
			message = "Le coloriage s&eacute;lectionn&eacute;";
		}
		else if(nbColoriages > 1)
		{
			message = "Les <strong>"+nbColoriages+"</strong> coloriages s&eacute;lectionn&eacute;s";
		}
		document.getElementById("nbCOloriages").innerHTML = message;
	}
// ===================================== AFFICHAGE DU NOMBRE DE COLORIAGES SELECTIONNES


// ===================================== MISE A JOUR DE LA SELECTION
	function majSelection()
	{
		var nCheckbox = cases.length;
		var statut;
		var rang;
		function cocheOuDechoche(laCase)
		{
			if(laCase.checked == true)
			{
				statut = "coche";
			}
			else
			{
				statut = "decoche";
			}
			
			for(i=0; i<nCheckbox; i++)
			{
				if (document.getElementById(cases[i]) == laCase)
				{
					rang = i;
				}
			}
			statuts[rang] = statut;
			afficheNbSelection();
		}
		
		for(i=0; i<nCheckbox; i++)
		{
			document.getElementById(cases[i]).onclick = function() {cocheOuDechoche(this);};
		}
	}
// ===================================== MISE A JOUR DE LA SELECTION


// ===================================== MISE A JOUR DE TOUTE LA SELECTION
	function majSelectionEntiere(valeur)
	{
		if (valeur == "tout")
		{
			
			for(i=0; i<statuts.length; i++)
			{
				statuts[i] = "coche";
				document.getElementById(cases[i]).checked = true;
			}
			nbColoriages  = statuts.length;
			afficheNbSelection();
		}
		else if (valeur == "rien")
		{
			for(i=0; i<statuts.length; i++)
			{
				statuts[i] = "decoche";
				document.getElementById(cases[i]).checked = false;
			}
			nbColoriages  = 0;
			afficheNbSelection();
		}
		else if (valeur == "suppr")
		{
			var maSelection = '';
			// boucle sur les valeurs du tableau de la selection
			for(i=0; i<cases.length; i++)
			{
				// si le coloriage en cours est selectionné
				if (document.getElementById(cases[i]).checked)
				{
					// on ajoute son numéro dans une chaine séparé par |
					if(maSelection != ''){
						maSelection = coloriageId[i] + '|' + maSelection;
					}else{
						maSelection = coloriageId[i];
					}
				}
			}
			// si la selection n'est pas vide
			if(maSelection != ''){
				// appel du script asp de suppression dans le cookie
				// j'ai modifié pour ne faire qu'un seul appel à ce script sinon l'ajax plante
				supprSelection(maSelection);
			}
		}
		
	}
// ===================================== MISE A JOUR DE TOUTE LA SELECTION


// ===================================== AFFICHAGE DU FORMULAIRE ENVOYER A UN AMI
	function calculeHauteur2()
	{
		var hauteurSite = document.getElementById("site").offsetHeight;
		document.getElementById("masqueImpression").style.height = hauteurSite+"px";
	}
	
	function afficheEnvoyerAmi(optionEnvoyerAmi)
	{
		hauteurFenetre = document.getElementById("repere").offsetTop;
		hauteurEnvoyerAmi = 330;
		margeEnvoyerAmi = (hauteurFenetre - hauteurEnvoyerAmi)/2;
		document.getElementById("masqueImpression").style.display = "block";
		document.getElementById(optionEnvoyerAmi).style.marginTop = margeEnvoyerAmi+"px";
		document.getElementById(optionEnvoyerAmi).style.display = "block";
		
		if(navigator.userAgent.indexOf("MSIE 6")!=-1)
		{
			document.getElementById("masqueImpression").style.position = "absolute";
			document.getElementById(optionEnvoyerAmi).style.position = "absolute";
			timer = setInterval("calculeHauteur2()",1000);
		}
	}
	
	function fermerEnvoyerAmi(optionEnvoyerAmi)
	{
		document.getElementById("masqueImpression").style.display = "none";
		document.getElementById(optionEnvoyerAmi).style.display = "none";
		if(navigator.userAgent.indexOf("MSIE 6")!=-1)
		{
			clearInterval(timer);
		}
	}
// ===================================== AFFICHAGE DU FORMULAIRE ENVOYER A UN AMI


// ===================================== AJOUT FAVORIS IE et Firefox
	function favoris(url,title) { 
		if ( navigator.appName != 'Microsoft Internet Explorer' ) 
		{ 
			if ( navigator.appName == 'Opera' ) 
			{ 
			 
			}
			else
			{
				window.sidebar.addPanel(title,url,""); 
			}
		}
		else 
		{ 
			window.external.AddFavorite(url,title);
		}
	}
// ===================================== AJOUT FAVORIS IE et Firefox


// ===================================== VALIDATION DU FORMULAIRE
	function checkFormAndSendMail(monform, listeType, listeColoriages)
	{
		monform.from_firstname.style.backgroundColor = "#fff";
		monform.from_email.style.backgroundColor = "#fff";
		monform.to_firstname.style.backgroundColor = "#fff";
		monform.to_email.style.backgroundColor = "#fff";
		
		var reg_email = /^[A-Za-z0-9\.\-_]+[@][A-Za-z0-9\-\.]+[\.][A-Za-z][A-Za-z][A-Za-z]?$/;

		var result = true
		
		if (monform.from_firstname.value == 'Tapez votre prenom ici')
		{
			alert("Veuillez indiquer votre prenom");
			monform.from_firstname.style.backgroundColor = "#ffeec7";
			result = false;
		}
		
		if (monform.from_email.value=='Tapez votre e-mail ici')
		{
			alert("Veuillez indiquer votre adresse email");
			monform.from_email.style.backgroundColor = "#ffeec7";
			result = false;
		}
		
		if(!reg_email.test(monform.from_email.value))
		{
			alert("Le format de votre adresse email est incorrect");
			monform.from_email.style.backgroundColor = "#ffeec7";
			result = false;
		}
		
		if (monform.to_firstname.value=='Tapez son prenom ici')
		{
			alert("Veuillez indiquer le prenom de votre ami");
			monform.to_firstname.style.backgroundColor = "#ffeec7";
			result = false;
		}
		
		if (monform.to_email.value=='Tapez son e-mail ici')
		{
			alert("Veuillez indiquer l'adresse email de votre ami");
			monform.to_email.style.backgroundColor = "#ffeec7";
			result = false;
		}
		
		if(!reg_email.test(monform.to_email.value))
		{
			alert("Le format de l'adresse email de votre ami est incorrect");
			monform.to_email.style.backgroundColor = "#ffeec7";
			result = false;
		}
		
		if(result){
			/* result = true, formulaire ok, donc envoie du mail */
			sendMailToFriend(monform.from_firstname.value, monform.from_email.value, monform.to_firstname.value, monform.to_email.value, listeType, listeColoriages)
			fermerEnvoyerAmi('affichageEnvoyerAmi')
			afficheEnvoyerAmi('confirmationEnvoyerAmi')
		}
	}
// ===================================== VALIDATION DU FORMULAIRE	

//  =====================================  cookie pour enregistrement de la selection
function EcrireCookie(nom, valeur)
{
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function arguments_cookies(offset){
  var endstr=document.cookie.indexOf (";", offset);
  if (endstr==-1) endstr=document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr)); 
}

function LireCookie(nom) {
  var arg=nom+"=";
  var alen=arg.length;
  var clen=document.cookie.length;
  var i=0;
  while (i<clen){
    var j=i+alen;
    if (document.cookie.substring(i, j)==arg)
       return arguments_cookies(j);
    i=document.cookie.indexOf(" ",i)+1;
    if (i==0) break;
  }
  return ''; 
}

var expireDate = new Date();
expireDate.setTime(expireDate.getTime() + 365*24*3600*1000);
// verifie si le cookie existe deja ou pas
if(document.cookie.indexOf("tfoucoloriage_maselection") == -1){
		// il n'existe pas on le créé
		EcrireCookie("tfoucoloriage_maselection", "", expireDate, "/", null, false);
}
//  =====================================  cookie pour enregistrement de la selection



//  =====================================  insertion du coloriage dans le tableau pour impression
function writeImpressionColTab(sColoriageUrl, sColTitle, iColId, sListRecueColoriage) {
    coloriage = new Array();
    coloriage[0] = '<div class="coloriageImpression"><img src="'+sColoriageUrl+'" style="width:595px;height:842px" alt="'+sColTitle+'" title="'+sColTitle+'" /></div>';
	coloriageId = new Array(); 
    coloriageId[0] = iColId;
    sListType='coloriage';
    sListColoriage=sListRecueColoriage;
}

function writeImpressionColSelTab() {
    sListType='selection';
    sListColoriage='';
    if(document.cookie.indexOf("tfoucoloriage_maselection") != -1){
        var readCookie = LireCookie('tfoucoloriage_maselection');
        if (readCookie!='') {
            var sColDetails = '';
            var colArray = readCookie.split('|');
            for (var item in colArray) {
                if(colArray[item].length > 0){
                    sColDetails = colArray[item].split(',');
                    if(sColDetails.length >= 5){
                        if (sListColoriage!='') {
                            sListColoriage+='|';
                        }
                        sListColoriage+= sColDetails[0]+','+sColDetails[1];
                    }
                }
            }
        }
    }
}

function writeSelectionRecueImpressionColTab(maselection) {
    sListType='selection';
    sListColoriage=maselection;
    element = null;
    if (document.getElementById) {
        element = document.getElementById('listeMaSelection');
    } else if (document.all) {
        element = document.all['listeMaSelection'];
    }
}


//  ===================================== affiche le Tableau Selection Coloriage
function writeImpressionSelectionTab() {
    coloriages = new Array();
    coloriageId = new Array();
    coloriageMedia = new Array();
    coloriageTitle = new Array();
    coloriageCodeUrl = new Array();
    cases = new Array();
    statuts = new Array();
		                    
    iNbColoriage = 0;
    i = 0;
    if(document.cookie.indexOf("tfoucoloriage_maselection") != -1){
        var readCookie = LireCookie('tfoucoloriage_maselection');
        if (readCookie!='') {
            var sColDetails = '';
            var colArray = readCookie.split('|');
            for (var item in colArray) {
                if(colArray[item].length > 0){
                    sColDetails = colArray[item].split(',');
                    if(sColDetails.length >= 5){
	                    coloriageId[i] = sColDetails[0];
	                    coloriages[i] = '<div class="coloriageImpression"><img src="'+sColDetails[5]+'" style="width:592px;height:842px" alt="Coloriage '+sColDetails[3]+'" title="Coloriage '+sColDetails[3]+'" /></div>';
	                    coloriageMedia[i] = sColDetails[2];
	                    coloriageTitle[i] = sColDetails[3];
	                    coloriageCodeUrl[i]= sColDetails[4];
	                    i++;
                    }
                }
                iNbColoriage += 1;
            }
            
        }
    }
    var compteurColLigne = 0
    var tmpTab = new Array();
    var tmpTabChk = new Array();
    for (i=0;i<iNbColoriage;i++) {
        if (compteurColLigne>=4) {
            for(j=0;j<compteurColLigne;j++) {
                document.write(tmpTab[j]);
            }
            document.write("<div class='clear'><span></span></div>");
            for(j=0;j<compteurColLigne;j++) {
                document.write(tmpTabChk[j]);
            }
            document.write("<div class='clear'><span></span></div>");
            compteurColLigne=0;
            tmpTab = new Array();
            tmpTabChk = new Array();
        }
        tmpTab[compteurColLigne] = "<a href='/coloriage-" + coloriageCodeUrl[i] + ".htm' class='vignette107 couleur0' title='Coloriage " + coloriageTitle[i] + "'><img src='" + coloriageMedia[i] + "' class='bordure0' alt='Coloriage " + coloriageTitle[i] + "' title='Coloriage " + coloriageTitle[i] + "' /><br /><span>Coloriage " + coloriageTitle[i] + "</span></a>";
        tmpTabChk[compteurColLigne] = "<div class='caseAcocher'><input type='checkbox' name='selection"+(i+1)+"' id='selection" + (i+1) + "' checked='checked' /></div>";
        cases[i]="selection"+(i+1);
        statuts[i]="coche";
        compteurColLigne++;
    }
    for(j=0;j<compteurColLigne;j++) {
        document.write(tmpTab[j]);
    }
    document.write("<div class='clear'><span></span></div>");
    for(j=0;j<compteurColLigne;j++) {
        document.write(tmpTabChk[j]);
    }
    document.write("<div class='clear'><span></span></div>");
}

function writeMyNewSelection(sMyNewSelection) {
    var expireDate = new Date();
    expireDate.setTime(expireDate.getTime() + 365*24*3600*1000);
    var selection = sMyNewSelection + LireCookie('tfoucoloriage_maselection')
    EcrireCookie('tfoucoloriage_maselection', unescape(sMyNewSelection), expireDate, '/', null, false);
}


function createNewLi(id, img) {
    // creation d'un nouvel element li
    var newLI = document.createElement("li");
    newLI.setAttribute('id',id)
	
    // creation d'un nouvel element image
    var newImg = document.createElement("img");
    newImg.setAttribute('src',img)
	
    // insertion de l'image dans le LI
    newLI.appendChild(newImg);
	
    // recuperation de la position de 1er element li de la liste element
    var refLI = element.getElementsByTagName("li").item(0);
    // insertion du nouveau noeud LI dans la liste
    element.insertBefore(newLI,refLI);
}


/*---- Pour la rotation des editos ----*/
function blend(divId, opacity)
{
	var object = document.getElementById(divId).style;
	
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

//// Fonction de changement des divs (rotation)
var editoActuel = 0;
var editoAvant = 0;
var globalT;
var globaltempsRotation;
function rotationEdito(compteur, tempsRotation) {
	globaltempsRotation = tempsRotation;
  editoActuel=parseInt(editoActuel)
  //alert(compteur);
	if (compteur>=0) {
  	//alert(editoActuel+'>'+compteur);
  	if (editoActuel>compteur) {
    	//alert('on passe editoActuel a 0');
    	editoActuel=0;
    }
  	if (editoActuel==0) {
    	editoAvant=compteur;
    }
    else {
    	editoAvant=editoActuel-1;
    }
    
    //alert(editoAvant + '=' + document.getElementById('divEdito'+editoAvant)+'\n');
    //alert(editoActuel + '=' + document.getElementById('divEdito'+editoActuel)+'\n');
    blend('editoHome', 0);
   	document.getElementById('divEdito'+editoAvant).className='invisible';
    document.getElementById('editoConteneurLink').href=document.getElementById('editoLink'+editoActuel).href;
    document.getElementById('divEdito'+editoActuel).className='visible';
    
    var timer = 0;
  	for(i = 0; i <= 100; i++) {
  			setTimeout("blend('editoHome'," + i + ")", timer*9);
  			timer++;
  	}
    //alert(editoActuel);
    switchEditoButton(editoActuel);
    editoActuel++;
  	globalT = setTimeout("rotationEdito("+compteur+", "+(tempsRotation+timer)+")", tempsRotation);
  }
}

function rotationStop() {
	clearTimeout(globalT);
}

function rotationContinue(compteur) {
	globalT = setTimeout("rotationEdito("+parseInt(compteur)+", "+globaltempsRotation+")", 1000);
}

function switchEdito(editoId, compteur) {
	
	var editoEncours = 0
	if (editoAvant==compteur) {
  	editoEncours=0;
  }
  else {
  	editoEncours=editoActuel-1;
  }
	rotationStop()
  //alert(editoId+'!='+editoEncours);
  if (editoId!=editoEncours) {
    //blend('editoHome', 0);
  	document.getElementById('divEdito'+editoEncours).className='invisible';
    document.getElementById('divEdito'+editoId).className='visible';
    editoAvant=editoId-1;
    if (editoAvant<0) {
    	editoAvant=compteur;
    }
    editoActuel=parseInt(editoId)+1;
    /*var timer = 0;
  	for(i = 0; i <= 100; i++) {
  			setTimeout("blend('editoHome'," + i + ")", timer*9);
  			timer++;
  	}*/
  switchEditoButton(editoId);
  }
  
}

function switchEditoButton(editoId, compteur) {
	for (i=0;i<5;i++) {
  	if (i!=parseInt(editoId)) {
    	if (document.getElementById('imgEdito'+i)) {
	      document.getElementById('imgEdito'+i).src='/img/'+(i+1)+'.gif';
      }
    }
  }
  document.getElementById('imgEdito'+editoId).src='/img/'+(editoId+1)+'o.gif';  
}

function sjs(lien,url) {
  //lien.href = url.substring(1).replace(/\|/g, "\/").replace(/\@/g, ".");
  lien.href = url.replace(/\|/g, "\/").replace(/\@/g, ".");
  if (lien.href.substr(0, 4) != 'http') {
    // Ajout du host pour IE
    lien.href = 'http://' + window.location.host + lien.href;
  }
}
