//Fonctions courantes à utiliser


//----- Gestion des cadres : Michel 09/11/05 -----
//------------------------------------------------
//Toutes les pages saufs les pages de cadres doivent executer cette fonction
//lors du chargement. Ex : <body onLoad="testframe('cadre_produit.htm')">
//Pour accéder aux fonctions, insérer dans toutes les pages (sauf cadres) les fonctions javascript
//Ex : entre <head> et  </head> ajouter <script language="Javascript" src="adequat.js"></script>
//Pour simplifier le code :
// Les pages devront avoir des noms formatés...
// 	- Les pages de cadre doivent s'appeler cadre_XXXXXX.XXX (pour identifiaction d'une page de cadre)
// 	- Les pages d'entête de cadre doivent s'appeler entete_XXXXX.XXX (pour identification d'une page d'entete)
// Le cadre du bas doit s'appeler "bas"...
//
// PRINCIPE :
// Appeler frameTest("adresse de la page de cadre dont dépent cette page")
// Si la page appelée n'est pas dans le cadre demandé (appel en direct ou mauvais cadre),
// la page se chargera d'elle-même dans le bon cadre
// Si la page appelée n'est pas une page d'entête, elle se chargera dans le cadre du bas.


function frameTest(cadre){
//Gestion des pages appelées hors de leur cadre
	var Signet = top.document.location.hash;
	var entete = false;
	//savoir si la page actuelle est une page d'entete
	var pos = self.location.href.indexOf("entete");
	if(pos != -1){entete = true;}
	if (top == self) {
			//cette page a été appelée en direct.
			//Charger le bon cadre et passer l'adresse de cette page si elle n'est pas une 
			//page d'entete
			if(entete){
				top.location = cadre;
			}
			else
			{
				top.location = cadre+'#'+location.href;
			}
	}
	else{
		//cette page est dans un cadre
		if (entete){
			//l'entete est bien dans un cadre
			//vérifier si un signet est passé dans l'adresse du cadre père
			//pas de signet dans des cadres sauf pour redirection de la page du bas
			if (Signet){
				//enlève le # du signet
				Signet=Signet.substring(1,Signet.length)
				//vérifier si la page n'est pas dejà chargée
				if (Signet != top.bas.document.location.href){
					//alert('page appellée dans ce cadre : '+Signet);
					//on ne passe jamais de signet dans une adresse de cadre... 
					//Il faut donc afficher ce faux signet comme page du bas
					top.bas.document.location.href=Signet
				}
			}
		}	//if (entete)
		else{
			//Cette page est bien dans un cadre mais ce n'est peut-être pas le bon
			//par exemple : appelée depuis un cadre de recherche ou un autre cadre
			//conversion adresse de cadre en adresse simple
			var adrcadre =top.location.href
			var pos=adrcadre.indexOf('cadre_'); //début adresse du cadre
			var pos1=adrcadre.indexOf('.');//fin adresse cadre
			if (pos!=-1){
				adrcadre=adrcadre.substring(pos,pos1+4);
			 	//alert('Cadre actuel : '+adrcadre+' Cadre demandé :'+cadre);
				if (adrcadre != cadre){
					//pas le bon cadre
					top.location = cadre+'#'+location.href;
				}
			}
		}//if else entete
	}//else top == self
}//function	
//----- Fin : Gestion des cadres -----
//------------------------------------