/*
Fonctions :
-----------
jsAfficherListeStations(pCdRegion)
jsRechercherLibStation(pCd)
jsAfficherToutesStations()

chgpage(formulaire)
MM_swapImgRestore()
MM_preloadImages()
MM_findObj(n, d)
MM_swapImage()
MM_callJS(jsStr)
VoirPhotos(theURL)
MM_jumpMenu(targ,selObj,restore)

ValidLength(item, len)
ValidEmail(item)
ferror(elem, text)

jsAfficMenuContenu

jsAfficherImage

jsValid_date(dd,df)

*/
		
		function jsAfficherListeStations(pCdRegion)
			{
			var i;
			var jsNbOptions;
			var jsLib;
			
			document.recherche.ville.options.length=1;
			
			if(pCdRegion=="")
				{
				jsAfficherToutesStations();
				}
			else
				{
				
				jsNbOptions=1;
				
				for(i=0;i<jsNbLiens;i++)
					{
					jsLib="";
					if(jsTableauLienCdRegion[i]==pCdRegion)
						{
						jsLib=jsRechercherLibStation(jsTableauLienCdStation[i]);
						if(jsLib!=null)
							{
							document.recherche.ville.options.length=(jsNbOptions + 1);
							document.recherche.ville.options[eval(jsNbOptions)].text=jsLib;
							document.recherche.ville.options[eval(jsNbOptions)].value=jsTableauLienCdStation[i];
							jsNbOptions++;
							}
						}
						
					}
				}
			}
		
		function jsRechercherLibStation(pCd)
			{
			var sLib;
			var bTrouve;
			var i;
			
			bTrouve=false;
			i=0;
			while((i<jsNbStations)&&(!bTrouve))
				{
				if(jsTableauCodeStation[i]==pCd)
					{
					sLib=jsTableauLibStation[i];
					bTrouve=true;
					}
				i++;
				}
			return(sLib);
			}
		
		function jsAfficherToutesStations()
			{
			var i;
			for(i=0;i<jsNbStations;i++)
				{
				document.recherche.ville.options.length=(i + 2);
				document.recherche.ville.options[i+1].text=jsTableauLibStation[i];
				document.recherche.ville.options[i+1].value=jsTableauCodeStation[i];
				}
			}


      function chgpage(formulaire)
        {
        if (formulaire.listepages.selectedIndex != 0)
          {
          location.href = formulaire.listepages.options[formulaire.listepages.selectedIndex].value;
          }
        }


      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.0
          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 && document.getElementById) x=document.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 MM_callJS(jsStr) { //v2.0
          return eval(jsStr)
        }

      function VoirPhotos(theURL)
      { 
        window.open(theURL,"Photos",'scrollbars=yes,resizable=yes');
      }

      function MM_jumpMenu(targ,selObj,restore){ //v3.0
        eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
        if (restore) selObj.selectedIndex=0;
      }

      //fonction de validation d'après la longueur de la chaîne
      function ValidLength(item, len) {
         return (item.length >= len);
      }

      //fonction de validation de l'adresse e-mail
      function ValidEmail(item) {
         if (!ValidLength(item, 5)) return false;
         if (item.indexOf ('@', 0) == -1) return false;
         return true;
      }
      // affiche un message d'alerte
      function ferror(elem, text) {
         window.alert(text);
         elem.select();
         elem.focus();
      }


/* -----------------------------------------------------------------------------------------------------
 NOM :      jsValideParent
 DESCRIPTION :  Permet de gérer le contenu d'un page HTML comme un explorateur
 PARAMETRES :  aoBaliseSource  (E) -> Balise source
        asNomBalise    (E) -> Nom de la balise        
 RETOUR : Renvoie la balise parent nommée asNomBalise contenant la balise aoBaliseSource.
      Si échec renvoie null
 ORGANIGRAMME :
 AUTEUR : Sébastien SIRVENT
 DATE DE CREATION :  28/11/2001
 DATE DE MODIFICATION:  
------------------------------------------------------------------------------------------------------ */

function jsValideParent( aoBaliseSource, asNomBalise ) 
{
  while ( aoBaliseSource != null ) 
  {
    if (aoBaliseSource.tagName == asNomBalise) 
      return aoBaliseSource;
    aoBaliseSource = aoBaliseSource.parentElement;
  }
return null;
}
  
/* -----------------------------------------------------------------------------------------------------
 NOM :      jsValideContenu
 DESCRIPTION :  Permet de gérer le contenu d'un page HTML comme un explorateur
 PARAMETRES :  aoBaliseSource  (E) -> Balise source
        asNomBalise    (E) -> Nom de la balise        
 RETOUR : Renvoie la premiere balise nommée asNomBalise contenu dans la balise aoBaliseSource.
      Si échec renvoie null
 ORGANIGRAMME :
 AUTEUR : Sébastien SIRVENT
 DATE DE CREATION :  28/11/2001
 DATE DE MODIFICATION:  
------------------------------------------------------------------------------------------------------ */

function jsValideContenu( aoBaliseSource, asNomBalise ) 
{
  var pos = aoBaliseSource.sourceIndex ;

  while ( ++pos < document.all.length && aoBaliseSource.contains( document.all[pos] ) )
  {
    if ( document.all[pos].tagName == asNomBalise )
      return document.all[pos]; 
  }
return null ;
}

/* ----------------------------------------------------------------------------------------------------
 NOM :      jsAfficMenuContenu
 DESCRIPTION :  Permet de gérer le contenu d'un page HTML comme un explorateur
          ->gère l'évenement onClick sur la partie fixe du menu
-------------------------------------------------------------------------------------------------------

          EXEMPLE D'UTILISATION:
1)  Inclure dans le header de la page HTML concerné le style suivant
  <!------------------------------------------------------------------------------
  Style Utilisé pour la gestion du contenu d'une page HTML comme un explorateur
  -------------------------------------------------------------------------------->
  <STYLE type=text/css>  <!--
    li.oElement { cursor: none; } ;
    li.oParent { cursor: none; } ;
    ul.oStyle {  list-style-type: none; list-style-position:inside; margin-left: 0; padding-left: 0; } ;
    td.oTitre { cursor: hand; } ;
    ul ul { display: none; };
    //
    -->
  </STYLE>
  
2)  <DIV onClick="JavaScript: jsAfficMenuContenu();"> 
    <UL class="oStyle">
      <LI class="oParent">
        ....                    //Insérer ici la partie fixe
        ....
        <UL class="oStyle">              //Par défaut les sous menus sont tous repliés
          <LI class="oElement">
            ....                //Insérer ici la partie repliable
            ....
          </LI>
        </UL>
      </LI>
      ....
      ....
      <LI class="oParent">
        ....                    //Insérer ici la partie fixe
        ....
        <UL class="oStyle" style="display:block">  //On force ici le sous menu à être ouvert par défaut
          <LI class="oElement">
            ....                //Insérer ici la partie repliable
            ....
          </LI>
        </UL>
      </LI>
    </UL>
  </DIV>
------------------------------------------------------------------------------------------------------ */
      
function jsAfficMenuContenu() 
{     
  var source = event.srcElement ;
  var element = jsValideParent( source, "LI" ) ;

  if ( parent != null ) 
  {
    var contenu = jsValideContenu( element, "UL" ) ;

    if ( contenu != null )
      if ( contenu.style.display == "" )
          contenu.style.display = "block" ;
      else
          contenu.style.display = "" ;
  }
event.cancelBubble = true;
}
//-------------------------------------------------------------------
// Impression

	function imprime() {
	if (typeof(window.print) != 'undefined')
 	{ window.print(); }
	} 
//----------------------------------------------------------------
function jsAfficherImage(jsImage)
	{
	if(document.all)
		document.all.divPhotoGrande.innerHTML='<img src="' + jsImage + '" width=400>';
	else
		document.getElementById('divPhotoGrande').innerHTML='<img src="' + jsImage + '" width=400>';
	}

/* -----------------------------------------------------------------------------------------------------
 NOM :      jsValid_date
 DESCRIPTION :  affecte la date de depart et la date de fin dans les variables cachés du formualaire long sejour
 PARAMETRES : dd = date de debut, df = date de fin       
 RETOUR : document.form.submit();  
------------------------------------------------------------------------------------------------------ */

function jsValid_date(dd,df) 
{
document.recherche.DateDep.value = dd;
document.recherche.DateFin.value = df;
document.recherche.submit();
}
  

//----------------------------------------------------------------
// Rollover sur table Menu : gauche.asp
//----------------------------------------------------------------
var ns6=document.getElementById&&!document.all
var ie=document.all

function changeto(e,highlightcolor){
source=ie? event.srcElement : e.target
if (source.tagName=="TR"||source.tagName=="TABLE")
return
while(source.tagName!="TD"&&source.tagName!="HTML")
source=ns6? source.parentNode : source.parentElement
if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
source.style.backgroundColor=highlightcolor
}

function contains_ns6(master, slave) { 
while (slave.parentNode)
if ((slave = slave.parentNode) == master)
return true;
return false;
}

function changeback(e,originalcolor){
if
(ie&&(event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="ignore")||source.tagName=="TR"||source.tagName=="TABLE")
return
else if (ns6&&(contains_ns6(source, e.relatedTarget)||source.id=="ignore"))
return
if (ie&&event.toElement!=source||ns6&&e.relatedTarget!=source)
source.style.backgroundColor=originalcolor
}
//----------------------------------------------------------------


/* -----------------------------------------------------------------------------------------------------
 NOM :      AfficheMsg
 DESCRIPTION : affiche un msg d'avertissement de séléction de quantité à l'internaute qui coche une prestation annexe
 PARAMETRES : aucun       
 RETOUR : - 
------------------------------------------------------------------------------------------------------ */
function AfficheMsg(Presta) {
	var str = "document.reservation.SJNETP" + Presta + ".checked";
	if (eval(str)) {
	 window.alert("Pensez à selectionner une quantité si nécessaire.");
	str = "document.reservation.QTEP" + Presta + ".focus()";
	eval(str);
	}
}
//----------------------------------------------------------------

function ValidateAssOb() {
		//window.alert("dsAssOb:" + document.reservation.Assclient.value);
		if (document.reservation.Assclient.value == "") 
		{
            		window.alert("Merci de nous Indiquer votre assurance, ou de prendre l'assurance annulation");
			document.reservation.Assclient.focus();
			return
		}
		else {
			document.forms[0].submit();
			jsAttendre();
		}
      }
