
  //
  // Ce fichier de script peut être utilisé pour toutes les fonctions javascript
  // que l'on doit développer ponctuellement et spécifiquement dans les applications
  // cadres et jd
  //
  // Merci de bien commenter vos méthodes en expliquant sur quelles pages elles sont
  // utilisées et pourquoi
  //

  //
  // Utilisé dans
  // /Accueil/Inscription/ApecSubscribeFicheIdentite.jsp
  // /Accueil/GestionCompte/ApecUpdateFicheIdentite.jsp
  //
  // Sert à cacher ou afficher la combo "Votre situation professionnelle actuelle"
  // en fonction de ce qui a été sélectionné dans la combo "Vous êtes".
  //
  // Sert aussi à afficher la box de saisie de l'indExpMob en fonction de la spr :
  // Si le cadre etait anciennement en simple veille, et qu'apres modification il n'est ni jd, ni etudiant, ni en simple veille,
  // il doit saisir l'indExpMob.
  //
  // 
  // demande 8606: Evolution sur l'experience de la mobilité
  // Le javascript n'affiche plus la box sitEnVeilleActive / sitSansEmploiOuRechercheActive quelque soit le cas
  // La box a été retirée de la jsp
  // Du coup ce javascript sert à demander si le cadre a déjà été dans le secteur privé (isAEteCadreDuSecteurPriveNeeded)
  function setComboSituationProfessionelle() {
		
    // Cadre privé
    if(document.forms['form'].statut.value == "3"){
      document.getElementById('sitJD').style.display="none";
      document.getElementById('sitEtud').style.display="none";
      document.getElementById('sitCadres').style.display="";
      if(document.getElementById('isAEteCadreDuSecteurPriveNeeded') != null){
	      document.getElementById('isAEteCadreDuSecteurPriveNeeded').style.display="none";
      }
	    /*if(document.forms['form'].oldSprSimpleVeille.value == "0"){
      document.getElementById('sitEnVeilleActive').style.display="none";
      document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
  	  }else{
				if(document.forms['form'].spr.value == "2"){
	      document.getElementById('sitEnVeilleActive').style.display="none";
  	    document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
				}else if(document.forms['form'].spr.value == "1"
        	|| document.forms['form'].spr.value == "4"){
    	  document.getElementById('sitEnVeilleActive').style.display="none";
      	document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
				}else{
    	  document.getElementById('sitEnVeilleActive').style.display="none";
      	document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
				}

  	  }*/

    }else

    // Cadre autre
    if (document.forms['form'].statut.value == "4"
    || document.forms['form'].statut.value == "5"
    || document.forms['form'].statut.value == "6"
    || document.forms['form'].statut.value == "7") {
      document.getElementById('sitJD').style.display="none";
      document.getElementById('sitEtud').style.display="none";
      document.getElementById('sitCadres').style.display="";
      if(document.getElementById('isAEteCadreDuSecteurPriveNeeded') != null){
	      document.getElementById('isAEteCadreDuSecteurPriveNeeded').style.display="";
      }
	    /*if(document.forms['form'].oldSprSimpleVeille.value == "0"){
      document.getElementById('sitEnVeilleActive').style.display="none";
      document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
  	  }else{
				if(document.forms['form'].spr.value == "2"){
	      document.getElementById('sitEnVeilleActive').style.display="none";
  	    document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
				}else if(document.forms['form'].spr.value == "1"
        	|| document.forms['form'].spr.value == "4"){
    	  document.getElementById('sitEnVeilleActive').style.display="none";
      	document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
				}else{
    	  document.getElementById('sitEnVeilleActive').style.display="none";
      	document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
				}
  	  }*/
    } else
    // Etudiant
    if (document.forms['form'].statut.value == "1") {
      document.getElementById('sitEtud').style.display="none";
      document.getElementById('sitJD').style.display="none";
      document.getElementById('sitCadres').style.display="none";
      if(document.getElementById('isAEteCadreDuSecteurPriveNeeded') != null){
	      document.getElementById('isAEteCadreDuSecteurPriveNeeded').style.display="none";
      }
      //document.getElementById('sitEnVeilleActive').style.display="none";
      //document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
    } else
    // Jd
    if (document.forms['form'].statut.value == "2") {
      document.getElementById('sitJD').style.display="none";
      document.getElementById('sitEtud').style.display="none";
      document.getElementById('sitCadres').style.display="none";
      if(document.getElementById('isAEteCadreDuSecteurPriveNeeded') != null){
	      document.getElementById('isAEteCadreDuSecteurPriveNeeded').style.display="none";
      }
      //document.getElementById('sitEnVeilleActive').style.display="none";
      //document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
    } else {
    // NULL
      document.getElementById('sitJD').style.display="none";
      document.getElementById('sitEtud').style.display="none";
      document.getElementById('sitCadres').style.display="none";
      if(document.getElementById('isAEteCadreDuSecteurPriveNeeded') != null){
	      document.getElementById('isAEteCadreDuSecteurPriveNeeded').style.display="none";
      }
      //document.getElementById('sitEnVeilleActive').style.display="none";
      //document.getElementById('sitSansEmploiOuRechercheActive').style.display="none";
    }
  }

  //
  // Utilisé dans
  // /Accueil/Inscription/ApecSubscribeFicheIdentite.jsp
  // /Accueil/GestionCompte/ApecUpdateFicheIdentite.jsp
  //
  // Sert à cacher ou afficher les champ "Code postal" et "Ville"
  // en fonction du pays (france = afficher, le reste = cacher)
  //
  function setTextfieldCPVille() {
  	document.getElementById('complement').style.display="none";
  
    if (document.forms['form'].pays.value == "799"){
      document.getElementById('cpFrance').style.display="";
      document.getElementById('villeFrance').style.display="";
      document.getElementById('complement').style.display="none";
      document.getElementById('complement').style.color='white';
    } else {          	
      document.getElementById('cpFrance').style.display="none";
      document.getElementById('villeFrance').style.display="none";
      document.getElementById('complement').style.display="";
      document.getElementById('complement').style.color='black';
    }
  }

 //
  // Utilisé dans
  // /Accueil/GestionCompte/ApecUpdateFicheIdentitePPAE.jsp
  //
  // Sert à cacher ou afficher le choix du type de contrat
  // en fonction de ce qui a été sélectionné dans la combo "votre nouvel emploi"
  //
  function setComboNouvelEmploi() {
  // Cadre ou autre
  if (document.forms['form'].statut.value == "003"
  || document.forms['form'].statut.value == "004"
  || document.forms['form'].statut.value == "014"
  || document.forms['form'].statut.value == "032"
  || document.forms['form'].statut.value == "033") {
  document.getElementById('typContrat').style.display="";
    if(getTypContratChecked().value == "CDI"){
      document.getElementById('finContrat').style.display="none";
    }
  } else {
    document.getElementById('typContrat').style.display="none";
    document.getElementById('finContrat').style.display="none";
  }
  }

//
  // Utilisé dans
  // /Accueil/GestionCompte/ApecUpdateFicheIdentitePPAE.jsp
  //
  // Sert à cacher ou afficher le date de fin de contrat
  // en fonction de ce qui a été sélectionné dans la combo "type de contrat"
  //
 function setDatContrat(radio) {
  // Cadre ou autre
 if (radio.value == "CDD" || radio.value == "INT") {
  document.getElementById('finContrat').style.display="";
  } else {
  document.getElementById('finContrat').style.display="none";
  }
  }

// Retourne une référence vers le bouton radio sélectionné

function getTypContratChecked() {

var radioButtons = new Array();
radioButtons = document.getElementById("typContrat").getElementsByTagName("input");

for (var i = 0; i < radioButtons.length; i++) {

if (radioButtons[i].checked) return radioButtons[i];

}

}

//CANDIDAPEC V2
  //
  // Utilisé dans
  // /MesCv/Candidapec/ApecDefineCriteres.jsp
  // Sert à cacher ou afficher le bloc "Taille moyenne d équipe"
  // en fonction de la selection dans le bloc "Experience du management d équipe"
  //
  
function setTailleMoyEquipe() {
  if(document.forms['createResume'].expManEqu[0].checked == true || document.forms['createResume'].expManEqu[0].checked == false && document.forms['createResume'].expManEqu[1].checked == false) {
    document.getElementById('taiMoyEquLabel').style.display="none";
	  document.getElementById('taiMoyEqu').style.display="none";
    document.forms['createResume'].taiMoyEqu.value="";
  }
  else if(document.forms['createResume'].expManEqu[0].checked == true){ // Non
    document.getElementById('taiMoyEquLabel').style.display="none";
	  document.getElementById('taiMoyEqu').style.display="none";
    document.forms['createResume'].taiMoyEqu.value="";
  } 
  else if(document.forms['createResume'].expManEqu[1].checked == true) { // Oui
  	document.getElementById('taiMoyEquLabel').style.display="";
    document.getElementById('taiMoyEqu').style.display="";
	}
}

	
// Utilisé dans
// /MesOffres/RechercheOffres/passiveSearchSimpleOffres.jsp
//
// Sert à afficher ou à cacher les box pour la recherches simple.
// Se déclenche sur un onClick sur le radiobouton "typeOff" (Emploi ou Stage)
//  visible uniquement sous JD.

function displayRechSimpleCampus(radio) {

  if (radio.value == "E") {
    document.getElementById("fonctionsEmploi").className = "display";
    document.getElementById("fonctionsStage").className = "hide";
  } else {
    document.getElementById("fonctionsStage").className = "display";
    document.getElementById("fonctionsEmploi").className = "hide";
  } 
}

function checkDisplayRechSimpleCampus(site) {

  if (site == "isJd") {
  	var fields = document.forms["critereRechercheSimpleOffres"].getElementsByTagName("input");
  	for (var i = 0; i < fields.length; i++) {
			if ((fields[i].type == "radio") && fields[i].checked) {
				displayRechSimpleCampus(fields[i]);
				return;
			}
  	}
  }
  
}

// Utilisé dans
// /core/common/site/RechercheOffres/boxes/boxRechercheOffres.jsp
//
// Sert à afficher ou à cacher les box pour la recherches avancée.
// Se déclenche sur un onClick sur le radiobouton "typeOff" (Emploi ou Stage)
//  visible uniquement sous JD
function displayRechAvanceeCampus(radio) {
    
  if (radio.value == "E") {
    document.getElementById('criteresRechOffresStage').style.display="none";
    document.getElementById('criteresRechOffresEmploi').style.display="block";          
  } else {
    document.getElementById('criteresRechOffresEmploi').style.display="none";
    document.getElementById('criteresRechOffresStage').style.display="block";      
  } 
}


// Utilisé dans
// /MesOffres/RechercheOffres/ApecSetCriteresRechercheOffres.jsp
//
// Sert à afficher ou à cacher les box pour la recherches avancée.
// Se déclenche sur un onload du <body> de la page. Les élements 
// identifiés ci-dessous sont dans la box de recherche principale
// (/core/common/site/RechercheOffres/boxes/boxRechercheOffres.jsp) 
// et se base sur l'état du radiobouton "typeOff" (Emploi ou Stage)
//  visible uniquement sous JD
function checkDisplayRechAvanceeCampus(site) {
  
  if (site == "isJd") {
  
    var radio = "S"; 
    
    if (document.getElementById('typeOff').checked) {var radio = "E";}
   
    if (radio == "E") {
      document.getElementById('criteresRechOffresStage').style.display="none";
      document.getElementById('criteresRechOffresEmploi').style.display="block";   
        
    } else {
      document.getElementById('criteresRechOffresEmploi').style.display="none";
      document.getElementById('criteresRechOffresStage').style.display="block";     
    }
   }else {
      document.getElementById('criteresRechOffresStage').style.display="none";
      document.getElementById('criteresRechOffresEmploi').style.display="block";   
       
    }
}

// Utilisé dans
// /MesOffres/Recherche/boxes/passiveSearchSimpleOffres.jsp
//
// Sert à afficher ou à cacher la box beta sur la page d'accueil
// Se déclenche sur un onClick sur le radiobouton "typeOff" (Emploi ou Stage)
//  visible uniquement sous JD
function displayRechAvanceeCampusBeta(radio) {
    
  if (radio.value == "E") {
    document.getElementById('criteresRechOffresEmploiBeta').className = "display";          
  } else {
    document.getElementById('criteresRechOffresEmploiBeta').className = "hide";
  } 
}


// Utilisé dans
// /MesOffres/RechercheOffres/ApecSetCriteresRechercheOffres.jsp
//
// Sert à afficher ou à cacher les box pour la recherches avancée.
// Se déclenche sur un onload du <body> de la page. Les élements 
// identifiés ci-dessous sont dans la box de recherche principale
// (/core/common/site/RechercheOffres/boxes/boxRechercheOffres.jsp) 
// et se base sur l'état du radiobouton "typeOff" (Emploi ou Stage)
//  visible uniquement sous JD
function checkDisplayRechAvanceeCampusBeta(site) {
  
  if (site == "isJd") {
  
    var radio = "S"; 
    
    if (document.getElementById('typeOff').checked) {var radio = "E";}
   
    if (radio == "E") {
      document.getElementById('criteresRechOffresEmploiBeta').className = "display";   
        
    } else {
      document.getElementById('criteresRechOffresEmploiBeta').className = "hide";
    }
   }else {
      document.getElementById('criteresRechOffresEmploiBeta').className = "display";   
       
    }
}


// Utilisé dans /MesCV/Candidapec/boxes/passiveCreateLanguesCompetences.jsp
// Si le cadre coche la case, réinitialisation toutes les listes déroulantes
// 'Langue N' à 'Aucune' et toutes les listes déroulantes 'Niveau N' à 'Scolaire'
function resetAllSelectsFromCheckbox(idSelectsContainer, idCheckbox) {
	var checkbox = document.getElementById(idCheckbox);
	if (! checkbox.checked) {
		document.getElementById(idSelectsContainer).style.display = "block";
	} else {
		document.getElementById(idSelectsContainer).style.display = "none";
		
		var selects = document.getElementById(idSelectsContainer).getElementsByTagName("select");
		for (var i = 0; i < selects.length; i++) {
			selects[i].selectedIndex = 0;
		}
	}
}

// Utilisé dans /MesCV/Candidapec/boxes/passiveCreateLanguesCompetences.jsp
// Si le cadre sélectionne une langue dans une des listes déroulantes 'Langue N'
// la case est décochée
function resetCheckboxFromSelect(idCheckbox, selectElement) {
	if (selectElement.selectedIndex > 0) {
		document.getElementById(idCheckbox).checked = false;
	}
}

// Recherche avancée d'une offre
// les boutons radio se comportent comme des liens
function doForwardFromCheckbox(clicked, idList) {
  var list = document.getElementById(idList).getElementsByTagName("a"); // liste des liens vers les lieux
  var selectedIndex = clicked.parentNode.parentNode.cellIndex; // index du bouton radio sélectionné
  var href = list[selectedIndex].href;
  window.location.href = href;
}

// Etape 2 création et modification d'un CV
// réinitialisation des champs de sélection des langues
// suivant l'état de la checkbox "aucune langue pratiquée"
function disableLanguagesFromCheckbox(checkboxId) {
	var checkbox = document.getElementById(checkboxId);
	
  // Recherche de la box contenant la checkbox cliquée
  var container = checkbox;
  while (container.className.indexOf("box2") == -1) {
    if (container == document.body) return;
    container = container.parentNode;
  }
	
	if (checkbox.checked) {
	  // Réinitialisation des champs <select>
	  var comboBoxes = container.getElementsByTagName("select");
	  for (var i = 0; i < comboBoxes.length; i++) {
	  	comboBoxes[i].selectedIndex = 0;
	  }
	  
	  // Réinitialisation des titres
	  var titles = container.getElementsByTagName("h3");
    for (var i = 0; i < titles.length; i++) {
      titles[i].innerHTML = "Langue " + (i+1);
    }
    
    // Cacher le composant accordéon
    var accordion = titles[0];
    while (accordion.className != "accordion") {
      if (accordion == document.body) return;
      accordion = accordion.parentNode;
    }
    accordion.style.display = "none";
    
	} else {
		
		// Afficher le composant accordéon
		for (var i = 0; i < container.childNodes.length; i++) {
		  if (container.childNodes[i].nodeType == 1 && container.childNodes[i].className == "accordion") {
		    container.childNodes[i].style.display = "block";
		    return;
		  }
		}
		
	}
}

// Etape 2 création et modification d'un CV
// le choix "à ce jour" pour la fin d'une expérience
// doit réinitialiser les combo boxes qui le précèdent
function resetDatesFromCheckbox(checkbox) {
	// Ne rien faire si on décoche la case
	if (! checkbox.checked) return;
	
	// Recherche du conteneur commun aux combo boxes et à la checkbox
	var container = checkbox;
	while (container.className.indexOf("fieldLine") == -1) {
		if (container == document.body) return;
		container = container.parentNode;
	}
	
	// Réinitialisation des champs <select>
	var comboboxes = container.getElementsByTagName("select");
	for (var i = 0; i < comboboxes.length; i++) {
		comboboxes[i].selectedIndex = 0;
	}
}

// Etape 2 création et modification d'un CV
// le choix d'une date de fin doit décocher le choix "à ce jour"
function resetCheckboxFromDate(combobox) {
  // Recherche du conteneur commun aux combo boxes et à la checkbox
  var container = combobox;
  while (container.className.indexOf("fieldLine") == -1) {
    if (container == document.body) return;
    container = container.parentNode;
  }
  
  // Réinitialisation du champ <input>
  var comboboxes = container.getElementsByTagName("select");
  var checkboxes = container.getElementsByTagName("input");
  if (comboboxes[0].selectedIndex != 0 || comboboxes[1].selectedIndex != 0) {
    checkboxes[0].checked = false;
  }
}


function Bookmark() {}
Bookmark.prototype.add = function(title, url) {
	try {
		window.sidebar.addPanel(title, url, ""); // Mozilla
	} catch (e) {
		try {
			window.external.AddFavorite(url, title); // IE
		} catch (e) {}
	}
};

//Necessaire pour eviter les cliques multiple lors de la validation de l'etape 1 d'un CV sur CJD
function validateEtape1Form(idForm) {
	if (idForm.froozen != null) {
		if (idForm.froozen.value == 'true') {
			return false;
		} else {
			idForm.froozen.value = true;
			document.body.style.cursor = "Wait";

			document.getElementById('bt_valider').style.display = "none";
			document.getElementById('wait_lingway').style.display = "block";

			return true;
		}
	} else {
		return false;
	}
}
