// JavaScript Document
//ensemble des fcts qui permmettent l'animation de derniére minute le message est passé en 
//paramétre à partir de la base de donnée
function remplaceStr(chaine1,chaine2,chaine3)
{
  if ((chaine1 == "") || (chaine2 == "")) return false;
  valeur = chaine1.indexOf(chaine2);
  if (valeur == -1) return chaine1;
  strFinale = "";
  strTmp = chaine1;
  while (valeur != -1)
  {
    strFinale = strFinale.concat(strTmp.substring(0,valeur)).concat(chaine3);
    strTmp = strTmp.substr(valeur+chaine2.length);
    valeur = strTmp.indexOf(chaine2);
  }
  strFinale = strFinale.concat(strTmp);
  return strFinale;
}
function ecritCalque(idCalque,texte)
{
  if (document.all) document.all[idCalque].innerHTML = texte;
  if (document.layers) 
  {
    document.layers[idCalque].document.open();
    document.layers[idCalque].document.write(texte);
    document.layers[idCalque].document.close();
  }
  if (document.getElementById) 
  document.getElementById(idCalque).innerHTML = texte;
}
function styleCalque(idCalque)
{
  if (document.all) calqueStyle = document.all[idCalque].style;
  if (document.layers) calqueStyle = document.layers[idCalque];
  if (document.getElementById) calqueStyle = 
  document.getElementById(idCalque).style;
  return calqueStyle;
}
indScrollH = 0;
function scrollH(idCalque,taille,classe,messageScrollH)
{
  strTmp = "";
  while (strTmp.length < taille)
  {
    strTmp = strTmp + " ";
  }
  strFin = strTmp + messageScrollH;
  strAff = strFin.substr(indScrollH,taille);
  if (strAff.length < taille) strAff = strAff + 
  strTmp.substr(0,taille-strAff.length);
  strAff = remplaceStr(strAff," ","&nbsp;");
  strAff = "<SPAN CLASS='" + classe + "'>" + strAff + "</SPAN>";
  ecritCalque(idCalque,strAff);
  if (indScrollH < strFin.length-1) indScrollH++;
  else indScrollH = 0;
  setTimeout("scrollH('"+idCalque+"',"+taille+",'"+classe+"','"+messageScrollH+"')",130);
}
//fonctions qui permettent l'animation du logo
/**********************************************************************************
fonction qui permet de deplacer un calque d'un pas de x pixels sur l'axe des X 
et x pixels sur l'axe des Y .En entree ID du calque et le pas sur X et le pas sur Y
************************************************************************************/
function deplaceCalqueDe(idCalque,stepX,stepY)
{
  calqueStyle = styleCalque(idCalque);
  calqueStyle.left = parseInt(calqueStyle.left) + stepX;//parseInt transforme la chaine de caractere retournée par .left en integer
  calqueStyle.top = parseInt(calqueStyle.top) + stepY;
}
/*************************************************************************************
fonction qui permet de deplacer un calque vers un point donné
En entree iD du calque et les coordonnées du point à atteindre en pixel
**************************************************************************************/
function deplaceCalque(idCalque,posX,posY)
{
  calqueStyle = styleCalque(idCalque);
  calqueStyle.left = posX;
  calqueStyle.top = posY;
}
/**************************************************************************************
fonction qui permet de creer le mvt du calque jusqu'à ce quele nombre de pas voulus
soit réalisé.
En entree on passe ID calque,le pas sur les X , le pas sur les Y , et le nombre de répétition
La fct settimeOut permet le rappel de de la fct animTransMot()
Dans cette fct on passe en paramétre l'expression que l'on veut rappeller et l'intervalle
en milisec du rappel
****************************************************************************************/
function animTransMot(idCalque,stepLeft,stepTop,nbre)
{
  deplaceCalqueDe(idCalque,stepLeft,stepTop);
  nbre = nbre - 1;
  if (nbre > 0) setTimeout("animTransMot('"+idCalque+"',"+stepLeft+","+stepTop+","+nbre+")",2);
}
/************************************************************************************************
La fonction animTrans() qui permet d'effectuer la translation complete du calque avec en parametre 
les points à atteindre et le nbre de fois où l'on repete l'action animTransMot()
***************************************************************************************************/
function animTrans(idCalque,destX,destY,nbre)
{
  calqueStyle = styleCalque(idCalque);
  stepLeft = parseInt((destX-parseInt(calqueStyle.left))/nbre);//Calcul du pas sur les X en faisant la difference entre la position arrivvéee et la position de déprt divisé par le nombre de repetition
  stepTop = parseInt((destY-parseInt(calqueStyle.top))/nbre);//calcul du pas sur les y
  animTransMot(idCalque,stepLeft,stepTop,nbre);
}
/*************************************************************************************************
fonctions qui permettent de jouer le fichier son sur un click
************************************************************************************************/
function VerifPlugIn(ExtensionFile)
	{
	var IsEnabled = true;
  if (navigator.appName == "Netscape")
  	{
    IsEnabled = false;
		for(var x=0;(x<navigator.mimeTypes.length && !IsEnabled);x++)
			{
			if(navigator.mimeTypes[x].suffixes.indexOf(ExtensionFile)>=0)
				IsEnabled = navigator.mimeTypes[x].enabledPlugin;
 			}
    }
	return IsEnabled;
	}

		
function PlaySound(MyName,MyExtension,MyLoop)
	{
	
	var AudioEnable = VerifPlugIn(MyExtension),TheLoop = '';
	
    if (navigator.appName == "Netscape" && MyLoop==0) TheLoop='true';
  	
	if (AudioEnable) eval('document.'+MyName+'.play('+TheLoop+')');
  }
 /**********************************************************************************************
 creation de la fonction changeImage qui permet de changer la source d'une image
 entree : String nom de la balise image,String la nouvelle source
 ***********************************************************************************************/
 function changeImage(lenom,src)
 	{	
	
		document.images[lenom].src=src;
		
	}
/**************************************************************************************************
fonctions diaporama qui permettent de faire un diaporama de 2 ou plusieurs photos*
entree : String nom de la balise <img>, le tableau contenant les images du diaporama
**************************************************************************************************/
function diaporama1(nomImage,tabImage)
  {
  	
  	countDiap1++;
	tableImages1=tabImage;
	if(countDiap1==tableImages1.length) countDiap1=0;
	changeImage(nomImage,tableImages1[countDiap1].src);
	setTimeout("diaporama1('"+nomImage+"',tableImages1)",4000);
  }
 function diaporama2(nomImage,tabImage)
  {
  	
  	countDiap2++;
	tableImages2=tabImage;
	if(countDiap2==tableImages2.length) countDiap2=0;
	changeImage(nomImage,tableImages2[countDiap2].src);
	setTimeout("diaporama2('"+nomImage+"',tableImages2)",2000);
  }
  function diaporama3(nomImage,tabImage)
  {
  	
  	countDiap3++;
	tableImages3=tabImage;
	if(countDiap3==tableImages3.length) countDiap3=0;
	changeImage(nomImage,tableImages3[countDiap3].src);
	setTimeout("diaporama3('"+nomImage+"',tableImages3)",2500);
  }
  function diaporama(nomImage,tabImage)//pour le diaporama des maisons
  {	
  	countDiap++;
	tableImages=tabImage;
	if(countDiap==tableImages.length) countDiap=0;
	changeImage(nomImage,tableImages[countDiap].src);
	setTimeout("diaporama('"+nomImage+"',tableImages)",2000);
  }
/*********************************************************************************************************************************
fonction pop_up pour ouverture d'une pop up avec le nom du plan passé en paramétre
*********************************************************************************************************************************/
function pop_up(lenomPlan)
	{
		window.open("../scripts_php/plan.php?leNomPlan="+lenomPlan,"Plan_Maison","toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=yes,copyhistory=no,width=600,height=500,innerHeight=500,innerWidth=600,left=0,right=0");
	}
/*********************************************************************************************************************************
fonction diap_stage pour ouverture d'une pop up (diaporama) avec le nom du stage passé en paramétre
*********************************************************************************************************************************/
function diap_stage(nomStage)
	{
		window.open("../scripts_php/Affiche_mag.php?nomSej="+nomStage,""+nomStage,"");
	}
/******************************************************************************************************************
fonction lancer_fichier : fct utilisé pour selectionné l'URL correspondant au bouton sur lequel on clic
dans le template aff_titre_contenu.tpl
entree: le nom du fichier String
************************************************************************************************************/
function lancer_fichier(lefichier)
	{
		document.forms[0].action=lefichier;
	}
/***********************************************************************************************
ajout de la fonction verif formulaire mod_cont.tpl pour la vérification côté client de l'intégrité des données
envoyées par l'interface admin suite à pb du 16/10/03
************************************************************************************************/
function verif_formulaire_modCont(leNomform,champTitre,champDescriptif)
	{
		
		if (document.forms[leNomform].elements[champDescriptif].value=="")
		 	{
				alert ("Il est obligatoire de mettre un contenu pour ce produit");
				document.forms[leNomform].elements[champDescriptif].focus();
		 		return false;
			}
		else if (document.forms[leNomform].elements[champTitre].value=="")
			{
				alert ("Il est obligatoire de mettre un TITRE pour ce produit");
				document.forms[leNomform].elements[champTitre].focus();
		 		return false;
			}
		 
		else
			{
				if(control(leNomform,champTitre))
				{
					return true;
				}
				else
				{
					return false;
				}	
			}
	}
/**********************************************************************************************************
creation de la fct control(lenomForm,lenomChamp)
entree : le nom du formulaire, le nom du champ de saisie titre
sortie: booleen
Permet de controler l'absence de caractére de type ',",/,\ et de double espace dans le champ passé en paramétre;
var etat=true;
L=longueur de la chaine
Tant que (i<L) alors
	je prend le caractére avec index i de la chaine
	si le caractere= ' ou " ou / ou \ alors
		alors alert("interdit d'utiliser des caracétres du type ' , \", /, \\");
		etat=false;
		break;
	finsi
	i++
fin tantque
return (etat);
************************************************************************************************************/
function control(leNomform,lenomChampTitre)
	{	
		//var etat=true;
		var i=0;
		var lachaine=document.forms[leNomform].elements[lenomChampTitre].value;
		L=lachaine.length;
				while(i<L)
				{
					if ((lachaine.charAt(i)=='"') || (lachaine.charAt(i)=="'" )|| (lachaine.charAt(i)=="/")||(lachaine.charAt(i)=="\\"))
						{
							alert("Vous ne pouvez pas utiliser les caractéres ',\",/,\\ dans le titre");
							document.forms[leNomform].elements[lenomChampTitre].value="";
							document.forms[leNomform].elements[lenomChampTitre].focus();
							return false;
							break;
						}
					if (i!=L)
						{
							if((lachaine.charAt(i)==' ') && (lachaine.charAt(i+1)==" " ))
							{
								alert("Attention vous avez utilisez un double espace dans le titre");
								document.forms[leNomform].elements[lenomChampTitre].value="";
								document.forms[leNomform].elements[lenomChampTitre].focus();
								return false;
								break;
							}
						}
					i++;
				}
				return true;
			
			
	}
/***********************************************************************************************
ajout de la fonction testForm pour la vérification côté client du remplissage des champs obligatoires
************************************************************************************************/	
function testForm()
	{
		
		if(document.forms["formulaire"].elements["adress"].value=="")
		 	{
				alert ("Il est obligatoire de mettre une adresse pour pouvoir vous recontacter");
				document.forms["formulaire"].elements["adress"].focus();
		 		return false;
			}
		if (document.forms["formulaire"].elements["resp"].value=="")
		 	{
				alert ("Il est obligatoire de nous fournir le nom d'un interlocuteur");
				document.forms["formulaire"].elements["resp"].focus();
		 		return false;
			}
		if (document.forms["formulaire"].elements["tel"].value=="")
		 	{
				alert ("Merci de nous donner un numero pour un contact téléphonique ");
				document.forms["formulaire"].elements["tel"].focus();
		 		return false;
			}
		else
			{
				return true;
			}
	}
/************************************************************************************************
creation d'une fonction qui permet d'ajouter un lien dans un text area pour le diaporama lors 
d'un clic sur ajout lien
**************************************************************************************************/
function ajout_lien(lenomform,lenomtextarea)
	{
		//je récupére la valeur du texte area
		
		var valeur=document.forms[lenomform].elements[lenomtextarea].value ;
		//alert(valeur);
		//j'ajoute le texte à écrire
		var valeur_new=valeur+ "<a href='javascript:diap_stage(\"lenom du stage\")'>lenom du stage</a>";
		//je reecris l'ensemble du texte dans la zone
		document.forms[lenomform].elements[lenomtextarea].value=valeur_new;	
	}