var couleurfond1Actif = 'white';
var vgCTSel = null;    		// cadre texte courant sélectionné
var vgCM2Sel = null;   		// cadre menu de niveau 2 courant sélectionné
var vgCellSelM1 = null;  	// cellule de menu 1 sélectionnée
var vgCellSelM2 = null;  	// cellule de menu 2 sélectionnée

var vgiCouche = null;
var vgtabCouche = new Array();

var vgtabWindow = new Array();
var vgiWindow = -1; 
var cgNameWindow = 'PortailLGL';

var cgApplWebPLSQL = 'http://iasprod.ig.he-arc.ch/contacts/'; //'http://lgl.ig.he-arc.ch/contacts/';

function initialise() {
  	var posSignet = document.URL.indexOf('#',0) 
    var leCadre = document.URL.substring(posSignet+1);
    
    // Bug ouverture depuis un fichier PDF !
    if (posSignet < 0 ) { 
  	  posSignet = document.URL.indexOf('%23',0) 
      leCadre = document.URL.substring(posSignet+3);
    };
    
    if (posSignet < 0 ) { 
      leCadre = 'CT_Accueil';    
      document.getElementById(leCadre).style.visibility = 'visible';
      vgCTSel = leCadre;
  	  vgiCouche = 0;
  	  vgtabCouche[vgiCouche] = vgCTSel;
  	}  
  	else {
  	  afficheChoixCadre (leCadre);
    };  
  	window.name = cgNameWindow;
  };


function cacheAncienCadre(crtCadre) {
  if (crtCadre != null) {
    document.getElementById(crtCadre).style.visibility = 'hidden';
  };
  return null;
}

function montreNouveauCadre(nouvCadre) {
 var crtCadre; 
 if (nouvCadre != null){
    crtCadre = nouvCadre;
    document.getElementById(crtCadre).style.visibility = 'visible';
    document.getElementById(crtCadre).focus()
  };
return crtCadre;  
} 

function afficheChoixNiv   (laCellSel,leCadreTexte,
							leNiveauMenuCrt,leCadreSousMenu){

  // ------------- Cellule de menu ---------------------------- 
  
  // ------------- Cadre de texte ------------------------------- 
  // Cache dernier cadre texte courant sélectionné (s'il existait)
  vgCTSel = cacheAncienCadre(vgCTSel);
  // Montre nouveau cadre texte sélectionné (s'il existe)
  vgCTSel = montreNouveauCadre(leCadreTexte);
  vgiCouche = 0;
  vgtabCouche[vgiCouche] = vgCTSel;


 
  // ------------- Cadre et cellule demenu ---------------------------- 
  
  switch (leNiveauMenuCrt) {
    case 1 : 
      // Cache dernier cadre menu niv 2 courant sélectionné (s'il existait)
      vgCM2Sel = cacheAncienCadre(vgCM2Sel)
      // Montre nouveau cadre menu niv 2 sélectionné (s'il existe)
      vgCM2Sel = montreNouveauCadre(leCadreSousMenu);
  
      // remet fond de cellule M1 & M2 non sélectionnée
      if (vgCellSelM1 != null) {
        document.getElementById(vgCellSelM1).className = 'CellDesel';
      };
      if (vgCellSelM2 != null) {
        document.getElementById(vgCellSelM2).className = 'CellDesel';
      };

       // Met le fond de cellule sélectionnée
       vgCellSelM1 = laCellSel;   
       document.getElementById(vgCellSelM1).className = 'CellSel';  
       break;
     case 2 : 
       // Cache dernier cadre menu courant sélectionné (s'il existait)
       // vgCM3Sel = cacheAncienCadre(vgCM3Sel)
       // Montre nouveau cadre menu sélectionné (s'il existe)
       // vgCM3Sel = montreNouveauCadre(leCadreSousMenu);
       // remet fond de cellule M1 & M2 non sélectionnée
      if (vgCellSelM2 != null) {
        document.getElementById(vgCellSelM2).className = 'CellDesel';
      };

       // Met le fond de cellule sélectionnée
       vgCellSelM2 = laCellSel;   
       document.getElementById(vgCellSelM2).className = 'CellSel';  
    break;
    
    default:
      window.alert ('Niveau de menu incorrect...');
  }
}

function ajouteCouche(nouvCadre) {
    document.getElementById(vgtabCouche[vgiCouche]).style.visibility = 'hidden';
    vgiCouche++;
    vgtabCouche[vgiCouche] = nouvCadre;
    document.getElementById(vgtabCouche[vgiCouche]).style.visibility = 'visible';
    vgCTSel = vgtabCouche[vgiCouche];
};

function retireCouche() {
    document.getElementById(vgtabCouche[vgiCouche]).style.visibility = 'hidden';
    vgiCouche--;
    document.getElementById(vgtabCouche[vgiCouche]).style.visibility = 'visible';
    vgCTSel = vgtabCouche[vgiCouche];
}; 
   
   
function refWindow (nomWindow, larefWindow){
  this.nomWindow = nomWindow;
  this.refWindow = larefWindow;
};
   
function ouvreSousSite(nomPage, nomWindow) {
  var vlWindowExiste = false;
  var vliWindow = 0;
  
  while (vliWindow <= vgiWindow) {
     if (vgtabWindow[vliWindow].nomWindow == nomWindow ){ 
       vlWindowExiste = true;
       break;
     };
     vliWindow++;                                                          
  };
  
  if ( vlWindowExiste ) {
    /* la fenêtre peut avoir été fermée */
    if (vgtabWindow[vliWindow].refWindow.closed){
      var vlWindow = window.open (nomPage, nomWindow);
      vgtabWindow[vliWindow] = new refWindow(nomWindow,vlWindow);
    }
    else {
      vgtabWindow[vliWindow].refWindow.focus();
      // Repositionne la page d'index
      if (nomPage.indexOf(cgApplWebPLSQL)== -1) {
        vgtabWindow[vliWindow].refWindow.document.location = nomPage;
      };  
    };
  } 
  else {
    var vlWindow = window.open (nomPage, nomWindow);
    vgiWindow++;
    vgtabWindow[vgiWindow] = new refWindow(nomWindow,vlWindow);
    /* Au cas où la fenêtre est déjà existante!
       par exemple après rechargement du code du portail */
    vgtabWindow[vgiWindow].refWindow.focus();
   //Repositionne la page d'index des sous-sites statiques 
    if (nomPage.indexOf(cgApplWebPLSQL)== -1) {
      if (vgtabWindow[vliWindow].refWindow.document.location != nomPage) {
        // Provoque une erreur!
        // vgtabWindow[vliWindow].refWindow.document.location = nomPage;
      };  
    }; 
  }; 
  // traçage Google des ouvertures de pages (sous-sites)
  urchinTracker (nomPage);  
}; 

function ouvreFormulaireContact ()  {
  ouvreSousSite(cgApplWebPLSQL + 'packmess.mess_formajout' +
                '?pe_message=Veuillez saisir votre message et votre adresse e-mail'
                ,'CONTACT');
};


function ouvreDescrManif (fichierManif) {
  ouvreSousSite( 'manifestations/' + fichierManif, 'DESCMANIF');
};
 
function ouvreInscrManif (codeManif) {
  ouvreSousSite(cgApplWebPLSQL + 'packim.im_formajout?pe_code=' 
                + codeManif, 'INSCMANIF');
};

function ouvreListeManifs () {
  afficheChoixCadre ('CT_Manifs');
  ouvreSousSite(cgApplWebPLSQL + 'listemanif$.startup', 'LISTEMANIFS');
};

function ouvreNouveautes ( fichier, nomFenetre, cadre) {
  afficheChoixCadre (cadre);
  ouvreSousSite(fichier, nomFenetre);
}

// Repositionne les choix de menus en fonction d'un cadre 
// à ouvrir; le parcours de la hiérachie des menus est effectué
function afficheChoixCadre (nomCadre) {    
  if (nomCadre != null) {
    switch (nomCadre) {
      case 'CT_Accueil':
  		afficheChoixNiv('TD_Accueil','CT_Accueil',1,null);
        break;  
      case 'CT_Contact':
  		afficheChoixNiv('TD_Contact','CT_Contact',1,null);
        break;  
      case 'CT_Chercher':
  		afficheChoixNiv('TD_Chercher','CT_Chercher',1,null);
        break;  
      case 'CT_Liens':
  		// afficheChoixNiv('TD_Liens','CT_Liens',1,null);
        break; 
      case 'CT_Enseignement':
        afficheChoixNiv('TD_Enseignement','CT_Enseignement',1,'CM2_Enseignement');
        break;  
      case 'CT_EnsAGL':
        afficheChoixCadre('CT_Enseignement');
        afficheChoixNiv('TD_EnsAGL','CT_EnsAGL',2,null)
        break;  
      case 'CT_OraDesigner':
        afficheChoixCadre('CT_Enseignement');
        afficheChoixNiv('TD_EnsAGL','CT_OraDesigner',2,null)
        break;  
      case 'CT_OraDesignerArch':
        afficheChoixCadre('CT_Enseignement');
        afficheChoixNiv('TD_EnsAGL','CT_OraDesignerArch',2,null)
        break;  
      case 'CT_EnsAnaCon':
        afficheChoixCadre('CT_Enseignement');
        afficheChoixNiv('TD_EnsAnaCon','CT_EnsAnaCon',2,null);
        break;  
      case 'CT_EnsAnaConArch':
        afficheChoixCadre('CT_Enseignement');
        afficheChoixNiv('TD_EnsAnaCon','CT_EnsAnaConArch',2,null);
        break;  
      case 'CT_EnsModel':
        afficheChoixCadre('CT_Enseignement');
        afficheChoixNiv('TD_EnsModel','CT_EnsModel',2,null);
        break;  
      case 'CT_EnsModelArch':
        afficheChoixCadre('CT_Enseignement');
        afficheChoixNiv('TD_EnsModel','CT_EnsModelArch',2,null);
        break;  
      case 'CT_Publications':
		afficheChoixNiv('TD_Publications','CT_Publications',1,'CM2_Publications');
		break;
      case 'CT_InfoGest':
        afficheChoixCadre('CT_Publications');
        afficheChoixNiv('TD_InfoGest','CT_InfoGest',2,null);
        break;  
      case 'CT_BesSpec':
        afficheChoixCadre('CT_Publications');
        afficheChoixNiv('TD_BesSpec','CT_BesSpec',2,null);
        break;  
      case 'CT_PubInfo':
        afficheChoixCadre('CT_Publications');
        afficheChoixNiv('TD_PubInfo','CT_PubInfo',2,null);
        break;  
      case 'CT_PubInfo01':
        afficheChoixCadre('CT_Publications');
        afficheChoixNiv('TD_PubInfo','CT_PubInfo01',2,null);
        break;  
      case 'CT_Recherche':
  		afficheChoixNiv('TD_Recherche','CT_Recherche',1,'CM2_Recherche');
        break;  
      case 'CT_ISNet14':
        afficheChoixCadre('CT_Recherche');
        afficheChoixNiv('TD_ISNet14','CT_ISNet14',2,null);
        break;  
      case 'CT_ISNet43':
        afficheChoixCadre('CT_Recherche');
        afficheChoixNiv('TD_ISNet43','CT_ISNet43',2,null);
        break;  
      case 'CT_ISNet72':
        afficheChoixCadre('CT_Recherche');
        afficheChoixNiv('TD_ISNet72','CT_ISNet72',2,null);
        break; 
      case 'CT_SAGEX15997':
        afficheChoixCadre('CT_Recherche');
        afficheChoixNiv('TD_SAGEX15997','CT_SAGEX15997',2,null);
        break; 
      case 'CT_SAGEX18305':
        afficheChoixCadre('CT_Recherche');
        afficheChoixNiv('TD_SAGEX18305','CT_SAGEX18305',2,null);
        break; 
      case 'CT_SAGEX24082':
  //alert ('Ici');
        afficheChoixCadre('CT_Recherche');
        afficheChoixNiv('TD_SAGEX24082','CT_SAGEX24082',2,null);
        break; 
      case 'CT_Partenariat':
  		afficheChoixNiv('TD_Partenariat','CT_Partenariat',1,'CM2_Partenariat');
        break;  
      case 'CT_ORP':
        afficheChoixCadre('CT_Partenariat');
        afficheChoixNiv('TD_ORP','CT_ORP',2,null);
        break;  
      case 'CT_HEP':
        afficheChoixCadre('CT_Partenariat');
        afficheChoixNiv('TD_HEP','CT_HEP',2,null);
        break;  
      case 'CT_Repuis':
        afficheChoixCadre('CT_Partenariat');
        afficheChoixNiv('TD_Repuis','CT_Repuis',2,null);
        break;  
      case 'CT_GMN':
        afficheChoixCadre('CT_Partenariat');
        afficheChoixNiv('TD_GMN','CT_GMN',2,null);
        break;  
      case 'CT_Technologie':
  		afficheChoixNiv('TD_Technologie','CT_Technologie',1,'CM2_Technologie');
        break;  
      case 'CT_TechServAppl':
        afficheChoixCadre('CT_Technologie');
        afficheChoixNiv('TD_TechServAppl','CT_TechServAppl',2,null);
        break;  
      case 'CT_TechServApplArch':
        afficheChoixCadre('CT_Technologie');
        afficheChoixNiv('TD_TechServAppl','CT_TechServApplArch',2,null);
        break;  
      case 'CT_Manifs':
        afficheChoixNiv('TD_Manifs','CT_Manifs',1,null)
        break; 
      case 'CT_Liens':
        afficheChoixNiv('TD_Liens','CT_Liens',1,null)
        break; 
       
     };
  // traçage Google des ouvertures de pages (sous-sites)
  urchinTracker (nomCadre);  
        
  };
};

// effectue simultanément:
// l'ouverture du cadre associé à une option de menu
// l'ouverture d'une fenêtre spécifique à un sous-site
function afficheCadreSite (nomCadre) {    
  if (nomCadre != null) {
    switch (nomCadre) {
      case 'CT_ISNet14':
        afficheChoixNiv('TD_ISNet14','CT_ISNet14',2,null);
        //ouvreSousSite ('isnet14/index.htm','ISNet14');
        break;
      case 'CT_ISNet43':
        afficheChoixNiv('TD_ISNet43','CT_ISNet43',2,null);
        //ouvreSousSite ('isnet43/index.htm','ISNet43');
        break;
      case 'CT_ISNet72':
        afficheChoixNiv('TD_ISNet72','CT_ISNet72',2,null);
        //ouvreSousSite ('isnet72/index.htm','ISNet72');
        break;
      case 'CT_SAGEX15997':
        afficheChoixNiv('TD_SAGEX15997','CT_SAGEX15997',2,null);
        break;
      case 'CT_SAGEX18305':
        afficheChoixNiv('TD_SAGEX18305','CT_SAGEX18305',2,null);
        break;
      case 'CT_SAGEX24082':
        afficheChoixNiv('TD_SAGEX24082','CT_SAGEX24082',2,null);
        break;
      case 'CT_ORP':
        afficheChoixNiv('TD_ORP','CT_ORP',2,null);
        //ouvreSousSite ('orp/index.htm','ORP');
        break;
      case 'CT_HEP':
        afficheChoixNiv('TD_HEP','CT_HEP',2,null);
        ouvreSousSite ('hep_bejune/index.htm','HEP');
        break;
      case 'CT_Repuis':
        afficheChoixNiv('TD_Repuis','CT_Repuis',2,null);
        //ouvreSousSite ('repuis/index.htm','Repuis');
        break;
      case 'CT_GMN':
        afficheChoixNiv('TD_GMN','CT_GMN',2,null);
        ouvreSousSite ('museeNeuchatelois/index.htm','GMN');
        break;
      case 'CT_Developpements':
        afficheChoixNiv('TD_Developpements','CT_Developpements',1,null)
        //ouvreListeManifs ();
        break;
      case 'CT_Manifs':
        afficheChoixNiv('TD_Manifs','CT_Manifs',1,null)
        //ouvreListeManifs ();
        break;
      case 'CT_Contact':
        afficheChoixNiv('TD_Contact','CT_Contact',1,null)
        //ouvreFormulaireContact ();
        break;
         
     };   
  };
};
        


