// Fonctions METEOJOB
function addLoadListener(func) {
  if (window.addEventListener) {
    window.addEventListener("load", func, false);
  } else if (document.addEventListener) {
    document.addEventListener("load", func, false);
  } else if (window.attachEvent) {
    window.attachEvent("onload", func);
  } else if (typeof window.onload != "function") {
    window.onload = func;
  } else {
    var oldonload = window.onload;
    window.onload = function() {
      oldonload();
      func();
    };
  }
}

function resizeLeftPos(widthModalPanel) {
    var widthMP;
    if (window.parent.document.getElementById('iFrameContent') != null) {
      widthMP = window.parent.document.getElementById('iFrameContent').left=window.parent.document.getElementById('iFrameContent').width/2 - widthModalPanel/2;
    } else {
      widthMP = screen.width/2 - widthModalPanel/2;
    }
    return widthMP;
}

function go(link) {
    window.location.href = link;
}
function HideAndShow(divId1,divId2) {
    if (document.getElementById(divId1) != null) {
    document.getElementById(divId1).style.display = 'none';
    }
    if (document.getElementById(divId2) != null) {
    document.getElementById(divId2).style.display = 'block';
    }
}
function HideBox(divId){
    document.getElementById(divId).style.display = 'none';
}
function ShowBox(divId){
    document.getElementById(divId).style.display = 'block';
}
function ShowBoxIfNotNull(divId, value){
    if (value != '') {
        document.getElementById(divId).style.display = 'block';
    } else {
        document.getElementById(divId).style.display = 'none';
    }
}
function Hide2AndShow(divId1,divId2,divId3) {
    document.getElementById(divId1).style.display = 'none';
    document.getElementById(divId2).style.display = 'none';
    document.getElementById(divId3).style.display = 'block';
}
function ToggleBox(divId) {
  if (document.getElementById(divId).style.display == 'none') {
    document.getElementById(divId).style.display = 'block';
  } else if (document.getElementById(divId).style.display == 'block') {
    document.getElementById(divId).style.display = 'none';
  }
}
// Modifie le style des Tab
function switchTab(divId){
  var tabNber = "4";
  var tabPrefix = "tab_";
  var tab;
  for (var i=1; i<=tabNber; i++){
    tab = document.getElementById(tabPrefix + i);
    if (tab != null) {
      tab.className = "elasticTab_OFF";
    }
  }
  document.getElementById(tabPrefix + divId).className = "elasticTab_ON";
}
/* FORMULAIRES */
function emptyInput(target,defaultValue){
    if (target.value == defaultValue) {
        target.value = '';
    }
}
function fillInput(target,defaultValue){
    if (target.value == '') {
        target.value = defaultValue;
    }
}
function focuscol(obj) {
    obj.className = obj.className + ' focused';
}
function blurcol(obj) {
    obj.className = obj.className.substring(0, obj.className.indexOf('focused', 0));
}
function focuscolCustom(obj,type) {
    obj.className = "focused " + type;
}
function blurcolCustom(obj,type) {
    obj.className = "blured " + type;
}
/* Console Entreprise - Creation Offre */
/* Upload Fichier */

function showContentCustomIndex(divIndex, formulaireName) {
    // On initialise le contenu (ne sert pas à grand chose ...)
    document.getElementById('fakeInput_' + divIndex).value = "";
    document.getElementById('fakeInput_' + divIndex).focus;

    // Injecte la valeur dans fakeInput_
    var contenu = document.getElementById(formulaireName + ':' + 'inputContent_' + divIndex).value;
    var fakeInput = document.getElementById('fakeInput_' + divIndex);
    fakeInput.value = contenu;
}
function showContent(divId_1,divId_2) {
    var contenu = document.getElementById(divId_1).value;
    var fakeInput = document.getElementById(divId_2);
    fakeInput.value = contenu;
}

/* Inscription Entreprise - Ajout contacts (step 2) */
/* Verifier Nbre caractères restants */
var nbMax = 3000; //nbre max caracteres contenu
function verifierLongeur(textareaId) {

    var f = document.forms['postulerStep2'];
    var areaText = document.getElementById('postulerStep2:letterContent');
    var txt = areaText.value;

    if (txt.length>nbMax) {
        areaText.value = txt.substring(0,nbMax);
        txt = areaText.value;
    }
f.nbCar.value = nbMax-txt.length;
setTimeout("verifierLongeur()",100);
}
/* CONSOLE */

/* Tri colonne sur colonnes console */
function changeArrow(obj){
    var col = document.getElementById(obj);
    if (col.className == 'arrowUp'){
        col.className = 'arrowDown';
    }
    else {
        col.className = 'arrowUp';
    }
}
/* Passage en bold (sous menu profil) (Pb IE6 ...) */
function boldMe(obj) {
    var menu = document.getElementById('menuProfil');
    var links = menu.getElementsByTagName('a');
    for (var i=1; i<=links.length; i++){
        document.getElementById('profileStep' + i + 'Link').className = "normal";
    }
    document.getElementById(obj).className = "uberlink";
}
/* Affichage des elements dans la deuxieme page du processus de la candidature */
function showElement(value) {
    if (value == 'LETTER_UPLOAD') {  // step 2
        document.getElementById('uploadBox').style.display = 'block';
        document.getElementById('textareaApplication').style.display = 'none';
    } else if (value == 'LETTER_WRITTEN') {
        document.getElementById('uploadBox').style.display = 'none';
        document.getElementById('textareaApplication').style.display = 'block';
    } else if (value == 'CV_UPLOAD') {  // step 1 - CV
        document.getElementById('uploadBox').style.display = 'block';
    } else if (value == 'PHOTO_UPLOAD') {  // step 1 - Photo
        document.getElementById('uploadPhotoBox').style.display = 'block';
    } else if (value == 'PHOTO_NONE' || value == 'PHOTO_METEOJOB') {
        document.getElementById('uploadPhotoBox').style.display = 'none';
    } else {
        if (document.getElementById('textareaApplication')) {
            document.getElementById('textareaApplication').style.display = 'none';
        }
        document.getElementById('uploadBox').style.display = 'none';
    }
}
function showUnpublishElement(value) {
    if (value == 'OTHER') {
        document.getElementById('textArea').style.display = 'block';
    } else {
        document.getElementById('textArea').style.display = 'none';
    }
}
// Selectionne le radio boutton disponible parmis tous les id données
function clickAvailable(formName, valueChoice) {
    for (iCpt = 0; iCpt < document.forms[formName].elements.length; iCpt++) {
        if (document.forms[formName].elements[iCpt].value == valueChoice) {
            document.forms[formName].elements[iCpt].checked = true;
            document.forms[formName].elements[iCpt].onclick();
        }
    }
}
/*** GUIDE EMPLOI ***/
document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}
function getElementsByClassNameCustom(className, tag, elm){
    var testClass = new RegExp("(^|s)" + className + "(s|$)");
    var tag = tag || "*";
    var elm = elm || document;
    var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
    var returnElements = [];
    var current;
    var length = elements.length;
    for(var i=0; i<length; i++){
        current = elements[i ];
        if(testClass.test(current.className)){
            returnElements.push(current);
        }
    }
    return returnElements;
}
function autoSelectRecruitment(){
    for (iCpt = 0; iCpt < document.forms["unpublishReasons"].elements.length; iCpt++) {
        if (document.forms["unpublishReasons"].elements[iCpt].id == 'unpublishReasons:unpublishReason'
            && document.forms["unpublishReasons"].elements[iCpt].value == 'RECRUITMENT') {
            document.forms["unpublishReasons"].elements[iCpt].checked = true;
        }
    }
}
// Function get request parameter
function getParameter(queryString, parameterName) {
    if (parameterName == undefined) {
      parameterName = queryString;
      queryString = window.top.location.search;
    }
    // Add "=" to the parameter name (i.e. parameterName=value)
    var parameterName = parameterName + "=";
    if (queryString.length > 0) {
        // Find the beginning of the string
        begin = queryString.indexOf(parameterName);
        // If the parameter name is not found, skip it, otherwise return the value
        if (begin != -1) {
            // Add the length (integer) to the beginning
            begin += parameterName.length;
            // Multiple parameters are separated by the "&" sign
            end = queryString.indexOf("&", begin);
            if (end == -1) {
                end = queryString.length
            }
            // Return the string
            return unescape(queryString.substring(begin, end));
        }
        // Return "null" if no parameter has been found
        return "null";
    }
}
// Generates a random number between min and max, both included
function randomNberGeneric(min, max) {
  var randNber = min + Math.floor((max - min+1) * Math.random());
  return randNber;
}
function afficheDate() {
  var dateObj = new Date();
  var day = dateObj.getDay();
  var dayFR;
  var monthFR;
  switch (day) {
    case 0 : dayFR = "dimanche"; break;
    case 1 : dayFR = "lundi"; break;
    case 2 : dayFR = "mardi"; break;
    case 3 : dayFR = "mercredi"; break;
    case 4 : dayFR = "jeudi"; break;
    case 5 : dayFR = "vendredi"; break;
    case 6 : dayFR = "samedi"; break;
  }
  var dayNber = dateObj.getDate();
  if (dayNber < 10) {
    dayNber = "0" + dateObj.getDate();
  }
  var month = dateObj.getMonth();
  switch (month) {
    case 0 : monthFR = "janvier"; break;
    case 1 : monthFR = "février"; break;
    case 2 : monthFR = "mars"; break;
    case 3 : monthFR = "avril"; break;
    case 4 : monthFR = "mai"; break;
    case 5 : monthFR = "juin"; break;
    case 6 : monthFR = "juillet"; break;
    case 7 : monthFR = "août"; break;
    case 8 : monthFR = "septembre"; break;
    case 9 : monthFR = "octobre"; break;
    case 10 : monthFR = "novembre"; break;
    case 11 : monthFR = "décembre"; break;
  }
  var year =  dateObj.getFullYear();
  var dmy = dayFR + " " + dayNber + " " + monthFR + " " + year;
  return dmy;
}
// Affiche nbre offres + date
function afficheHeaderInfos() {
  var headerInfos = "";
    headerInfos += afficheDate();
  if (document.getElementById('dateBox')){
    headerInfos += " - ";
    headerInfos += document.getElementById('dateBox').innerHTML + " <span>offres d'emploi</span>";
  }
  if (document.getElementById('dateBox')){
    document.getElementById('dateBox').innerHTML = headerInfos;
  }
}
// Display day on search engine result
function displaySearchResultDay() {
  if (document.getElementById('dateBox2')) {
    document.getElementById('dateBox2').innerHTML = afficheDate();
  }
}

// Affiche une liste définie de logo aléatoirement parmi une liste globale
function displayRandomPartner(originId, targetId, logoIdPrefix, itemTagName, itemNberToDisplay){
	var localDoc = document;
	var originDiv = localDoc.getElementById(originId);

	// Cacher le bloc d'origine
	originDiv.style.display = "none";

	// Définir la liste des éléments à afficher, et contruire la string correspondante
	var items = originDiv.getElementsByTagName(itemTagName);
	var logoStr = new StringBuffer();
    if (itemNberToDisplay < items.length){
	    var usedNumbers = new Array();
	   	while (itemNberToDisplay > 0) {
			// On prend un élément au hasard, et on l'enregistre comme affichée
			// On ne choisira donc ensuite plus que sur les autres éléments
			var random = randomNberGeneric(1, items.length);
			var used = false;
			for (var i = 0; i < usedNumbers.length; i++) {
				if (usedNumbers[i] == random) {
					used = true;
					break;
				}
			}
			if (!used) {
				usedNumbers[usedNumbers.length] = random;
				logoStr.append(outerHTML(document.getElementById(logoIdPrefix + random)));
				itemNberToDisplay--;
			}
		}
  	}

	// Remplir code dans le bloc de destination
	localDoc.getElementById(targetId).innerHTML = logoStr.toString();

}

function outerHTML(element) {
	var outerClone;
	outerClone = document.createElement("div");
	outerClone.appendChild(element.cloneNode(true));
	return outerClone.innerHTML;
}

//Affiche cartes Moteur Avance + nom région
function displayMap(selectValue, selectText){
  var targetMapId = document.getElementById('homeMap');
  var targetRegionId = document.getElementById('regionName');
  var imageRegion = "";
  switch (selectValue) {
          case ("") :
              imageRegion = "/images/home/cartesFrance/France.gif";
              selectText = "France entière"; break;
          case ("42") : imageRegion = "/images/home/cartesFrance/Alsace.gif"; break;
          case ("72") : imageRegion = "/images/home/cartesFrance/Aquitaine.gif"; break;
          case ("83") : imageRegion = "/images/home/cartesFrance/Auvergne.gif"; break;
          case ("25") : imageRegion = "/images/home/cartesFrance/Basse-Normandie.gif"; break;
          case ("26") : imageRegion = "/images/home/cartesFrance/Bourgogne.gif"; break;
          case ("53") : imageRegion = "/images/home/cartesFrance/Bretagne.gif"; break;
          case ("24") : imageRegion = "/images/home/cartesFrance/Centre.gif"; break;
          case ("21") : imageRegion = "/images/home/cartesFrance/Champagne-Ardenne.gif"; break;
          case ("94") : imageRegion = "/images/home/cartesFrance/Corse.gif"; break;
          case ("43") : imageRegion = "/images/home/cartesFrance/Franche-Comte.gif"; break;
          case ("23") : imageRegion = "/images/home/cartesFrance/Haute-Normandie.gif"; break;
          case ("11") : imageRegion = "/images/home/cartesFrance/Ile-de-France.gif"; break;
          case ("91") : imageRegion = "/images/home/cartesFrance/Languedoc-Roussillon.gif"; break;
          case ("74") : imageRegion = "/images/home/cartesFrance/Limousin.gif"; break;
          case ("41") : imageRegion = "/images/home/cartesFrance/Lorraine.gif"; break;
          case ("73") : imageRegion = "/images/home/cartesFrance/Midi-Pyrenees.gif"; break;
          case ("31") : imageRegion = "/images/home/cartesFrance/Nord-Pas-de-Calais.gif"; break;
          case ("52") : imageRegion = "/images/home/cartesFrance/Pays-de-la-Loire.gif"; break;
          case ("22") : imageRegion = "/images/home/cartesFrance/Picardie.gif"; break;
          case ("54") : imageRegion = "/images/home/cartesFrance/Poitou-Charentes.gif"; break;
          case ("93") : imageRegion = "/images/home/cartesFrance/Provence-Alpes-Cote-Azur.gif"; break;
          case ("82") : imageRegion = "/images/home/cartesFrance/Rhone-Alpes.gif"; break;
          case ("1") :
          case ("2") :
          case ("3") :
          case ("4") : imageRegion = "/images/home/cartesFrance/France.gif"; break;
          default :  imageRegion = "/images/home/cartesFrance/France.gif";
  }
  if (targetMapId != null) {
      targetMapId.src = imageRegion;
  }
  if (targetRegionId) {
      targetRegionId.innerHTML = selectText;
  }
}

function displaySearchEngineMap(selectValue, selectText) {
  var imageRegion;
  var targetMapId = document.getElementById('homeMap');
  var targetRegionId = document.getElementById('regionName');
  switch (selectValue) {
      case ("") :
            imageRegion = "/images/retourMoteur/cartesMoteurAvance/France.gif";
            selectText = "France entière";
          break;
          case ("42") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Alsace.gif"; break;
          case ("72") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Aquitaine.gif"; break;
          case ("83") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/auvergne.gif"; break;
          case ("25") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Basse-Normandie.gif"; break;
          case ("26") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/bourgogne.gif"; break;
          case ("53") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Bretagne.gif"; break;
          case ("24") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/centre.gif"; break;
          case ("21") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Champagne-Ardenne.gif"; break;
          case ("94") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/corse.gif"; break;
          case ("43") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Franche-Comte.gif"; break;
          case ("23") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Haute-Normandie.gif"; break;
          case ("11") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/ile-de-France.gif"; break;
          case ("91") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Languedoc-Roussillon.gif"; break;
          case ("74") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/limousin.gif"; break;
          case ("41") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Lorraine.gif"; break;
          case ("73") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Midi-Pyrenees.gif"; break;
          case ("31") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Nord-Pas-de-Calais.gif"; break;
          case ("52") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Pays-de-la-Loire.gif"; break;
          case ("22") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Picardie.gif"; break;
          case ("54") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Poitou-Charentes.gif"; break;
          case ("93") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Provence-Alpes-Cote-Azur.gif"; break;
          case ("82") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/Rhone-Alpes.gif"; break;
          case ("1") :
          case ("2") :
          case ("3") :
          case ("4") : imageRegion = "/images/retourMoteur/cartesMoteurAvance/France.gif"; break;
          default :
            imageRegion = "/images/retourMoteur/cartesMoteurAvance/France.gif";
            selectText = "France entière";
  }
  if (targetMapId != null) {
      targetMapId.src = imageRegion;
  }
  if (targetRegionId) {
      targetRegionId.innerHTML = selectText;
  }
}

var selectedRegionId;
var currentSelectedRegionCode;
function clickMap(regionIndex, regionCode){
    selectedRegionId = null;
    var allCountry = document.getElementById('engine:allCountry:0');
    if (allCountry != null && allCountry.checked) {
        var selectRegion = document.getElementById('engine:allCountry:1');
        if (selectRegion != null) {
            selectRegion.checked = true;
            selectRegion.onclick();
            selectedRegionId = regionIndex;
            currentSelectedRegionCode = regionCode;
        }
    }
    if (selectedRegionId == null) {
      document.forms['engine'].elements['engine:region'].selectedIndex = regionIndex;
      document.forms['engine'].elements['engine:region'].onchange();
      currentSelectedRegionCode = regionCode;
    }
}
function setRegion() {
  if (selectedRegionId != null) {
    document.forms['engine'].elements['engine:region'].selectedIndex = selectedRegionId;
    selectedRegionId = null;
    document.forms['engine'].elements['engine:region'].onchange();
  }
}
// Carte mappée Home
var regionHPSelected = false;
function swapImage(regionId,option,nameArray,nbArray){
    var regionLabel = nameArray[regionId];
    var nbOffers = nbArray[regionId];
    var pictFile = "/images/home/cartesFrance/";
    var mainPictureId = document.getElementById('homeMap');
    var regionNameId = document.getElementById('regionName');
    var regionLinkId = document.getElementById('regionLink');
    var offreNbId = document.getElementById('offreNbSpan');

    switch (regionId) {
          case ("") : pictName = "France"; break;
          case ("42") : pictName = "Alsace"; break;
          case ("72") : pictName = "Aquitaine"; break;
          case ("83") : pictName = "Auvergne"; break;
          case ("25") : pictName = "Basse-Normandie"; break;
          case ("26") : pictName = "Bourgogne"; break;
          case ("53") : pictName = "Bretagne"; break;
          case ("24") : pictName = "Centre"; break;
          case ("21") : pictName = "Champagne-Ardenne"; break;
          case ("94") : pictName = "Corse"; break;
          case ("43") : pictName = "Franche-Comte"; break;
          case ("23") : pictName = "Haute-Normandie"; break;
          case ("11") : pictName = "Ile-de-France"; break;
          case ("91") : pictName = "Languedoc-Roussillon"; break;
          case ("74") : pictName = "Limousin"; break;
          case ("41") : pictName = "Lorraine"; break;
          case ("73") : pictName = "Midi-Pyrenees"; break;
          case ("31") : pictName = "Nord-Pas-de-Calais"; break;
          case ("52") : pictName = "Pays-de-la-Loire"; break;
          case ("22") : pictName = "Picardie"; break;
          case ("54") : pictName = "Poitou-Charentes"; break;
          case ("93") : pictName = "Provence-Alpes-Cote-Azur"; break;
          case ("82") : pictName = "Rhone-Alpes"; break;
          default : pictName = "France";
  }
  //  if option is 1 (onclik), disable mouseover and mouseout
  if(option == "1") {
    regionHPSelected = true;
  }
  // Display new image if option is 1 (onclik) or if option is 0 (onmousover) and an onclick event has not been triggered yet
  if ((option == "0" && regionHPSelected == false) || (option == "1")) {
    mainPictureId.src = pictFile + pictName + ".gif";  // swap
    if (regionNameId != null) {
      regionNameId.innerHTML = regionLabel; // nom region
    }
    if (offreNbId != null) {
      offreNbId.innerHTML = nbOffers; // nb offres
    }
    //regionLinkId.href = "/candidate/offers/candidateOffersSearchEngine.mj?q=region:" + regionId;  // lien
  }
}
function initHomeMap(cookiesId, nbArray, nameArray) {
    if (cookiesId != "" || cookiesId != null) {
        var pictFile = "/images/home/cartesFrance/";
        var mainPictureId = document.getElementById('homeMap');
        var targetRegionId = document.getElementById('regionName');

        if (cookiesId != 0) {
             switch (cookiesId) {
                 case ("") : pictName = "France"; break;
                 case ("42") : pictName = "Alsace"; break;
                 case ("72") : pictName = "Aquitaine"; break;
                 case ("83") : pictName = "Auvergne"; break;
                 case ("25") : pictName = "Basse-Normandie"; break;
                 case ("26") : pictName = "Bourgogne"; break;
                 case ("53") : pictName = "Bretagne"; break;
                 case ("24") : pictName = "Centre"; break;
                 case ("21") : pictName = "Champagne-Ardenne"; break;
                 case ("94") : pictName = "Corse"; break;
                 case ("43") : pictName = "Franche-Comte"; break;
                 case ("23") : pictName = "Haute-Normandie"; break;
                 case ("11") : pictName = "Ile-de-France"; break;
                 case ("91") : pictName = "Languedoc-Roussillon"; break;
                 case ("74") : pictName = "Limousin"; break;
                 case ("41") : pictName = "Lorraine"; break;
                 case ("73") : pictName = "Midi-Pyrenees"; break;
                 case ("31") : pictName = "Nord-Pas-de-Calais"; break;
                 case ("52") : pictName = "Pays-de-la-Loire"; break;
                 case ("22") : pictName = "Picardie"; break;
                 case ("54") : pictName = "Poitou-Charentes"; break;
                 case ("93") : pictName = "Provence-Alpes-Cote-Azur"; break;
                 case ("82") : pictName = "Rhone-Alpes"; break;
                 default : pictName = "France";
             }
             var img = pictFile + pictName + ".gif";
             var nbOffers = nbArray[cookiesId];
             var regionLabel = nameArray[cookiesId];
             var offreNbId = document.getElementById('offreNbSpan');
             mainPictureId.src = img;
             if (targetRegionId != null) {
               targetRegionId.innerHTML = regionLabel;
             }
             if (offreNbId != null) {
               offreNbId.innerHTML = nbOffers;
             }
        }
    }
}

function loadMapRegion(id) {
    var classNameVar;
    switch(id) {
        case (42) : classNameVar = "Alsace"; break;
        case (72) : classNameVar = "Aquitaine"; break;
        case (83) : classNameVar = "Auvergne"; break;
        case (25) : classNameVar = "Basse-Normandie"; break;
        case (26) : classNameVar = "Bourgogne"; break;
        case (53) : classNameVar = "Bretagne"; break;
        case (24) : classNameVar = "Centre"; break;
        case (21) : classNameVar = "Champagne-Ardenne"; break;
        case (94) : classNameVar = "Corse"; break;
        case (43) : classNameVar = "Franche-Comte"; break;
        case (23) : classNameVar = "Haute-Normandie"; break;
        case (11) : classNameVar = "Ile-de-France"; break;
        case (91) : classNameVar = "Languedoc-Roussillon"; break;
        case (74) : classNameVar = "Limousin"; break;
        case (41) : classNameVar = "Lorraine"; break;
        case (73) : classNameVar = "Midi-Pyrenees"; break;
        case (31) : classNameVar = "Nord-Pas-de-Calais"; break;
        case (52) : classNameVar = "Pays-de-la-Loire"; break;
        case (22) : classNameVar = "Picardie"; break;
        case (54) : classNameVar = "Poitou-Charentes"; break;
        case (93) : classNameVar = "Provence-Alpes-Cote-Azur"; break;
        case (82) : classNameVar = "Rhone-Alpes"; break;
        default : classNameVar = "France"; break;
    }
    if(document.getElementById("franceRegionMap")) {
        document.getElementById("franceRegionMap").className = classNameVar;
    }
}
// fonction ouverture PopUp -> Video
var newWin = null;
function closeWin(){
    if (newWin != null){
        if(!newWin.closed)
            newWin.close();
        }
}
function openPopVideo(page) {
    closeWin();
    //var largeur = "520";
  //var hauteur = "382";
  var largeur = "468";
  var hauteur = "286";
  var options = "menubar=no,scrollbars=no,statusbar=no,resizable=no";
    var top = (screen.height-hauteur)/6;
    var left = (screen.width-hauteur)/6;
    newWin = window.open(page,'newWin',"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}
// Drop Down Menu (implemente la pseudo class :hover sur IE6)
activateMenu = function(nav) {
    if(document.all && document.getElementById(nav).currentStyle){ // only MSIE supports document.all
        var navroot = document.getElementById(nav);
        var lis=navroot.getElementsByTagName("LI");
        for(i=0;i<lis.length;i++){
            /* If the LI has another menu level */
            if(lis[i].lastChild.tagName=="UL"){
                /* assign the function to the LI */
                lis[i].onmouseover=function(){
                    /* display the inner menu */
                    this.lastChild.style.display="block";
                }
                lis[i].onmouseout=function(){
                    this.lastChild.style.display="none";
                }
            }
        }
    }
}
// Dectecter IE6
function isIE6(){
    var IE6 = false
    var strChUserAgent = navigator.userAgent;
    var intSplitStart = strChUserAgent.indexOf("(",0);
    var intSplitEnd = strChUserAgent.indexOf(")",0);
    var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
    if (strChMid.indexOf("MSIE 6") != -1) IE6 = true;
    return IE6;
}
function openPopDailyMotion(page) {
  closeWin();
  var largeur = "620";
  var hauteur = "820";
  var options = "menubar=no,scrollbars=auto,statusbar=no,resizable=yes";
  var top = (screen.height-hauteur)/6;
  var left = (screen.width-largeur);
  newWin = window.open(page,'newWin',"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}
function openPopRedirect(page) {
  closeWin();
  var top = 250;
  var left = 50;
  var largeur = screen.width - left;
  var hauteur = screen.height - top;
  var options = "menubar=yes,scrollbars=yes,statusbar=yes,resizable=yes,location=yes";
  newWin = window.open(page,'newWin',"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
  newWin.focus();
}
function hideOrShowExperience(registered){
  var elements = document.getElementById('profileForm:yearNb');
  var selectedOption = elements.options[elements.selectedIndex].value;
  if (selectedOption.indexOf('noSelectionValue', 0) != -1 && !registered) {
      document.getElementById('profileForm:experienceBloc').style.display = 'none';
        document.getElementById('enteteText2').style.display = 'none';
  } else {
      // displays experience block
      document.getElementById('profileForm:experienceBloc').style.display = 'block';
        document.getElementById('enteteText2').style.display = 'block';
    }
}

function resetDegreesOnNone(object) {
  resetCheckboxSelectionOnNone("profileForm:degrees", 0, object);
}

function resetLicensesOnNone(object) {
  resetCheckboxSelectionOnNone("profileForm:licenses", 0, object);
}

function resetCheckboxSelectionOnNone(checkBoxListName, noneIndex, object) {
  if (object.id == checkBoxListName + ":" + noneIndex) {
    var size = document.getElementsByName(checkBoxListName).length;
    for (i=0; i<size; i++) {
      document.getElementsByName(checkBoxListName)[i].checked = false;
    }
    document.getElementsByName(checkBoxListName)[0].checked = true;
  } else {
    document.getElementsByName(checkBoxListName)[0].checked = false;
  }
}

function selectAllCheckbox(dataTableId) {
      var numberOfCheckbox = jQuery("#" + dataTableId + " td.select input:checkbox").length;
      var numberOfCheckboxChecked = jQuery("#" + dataTableId + " td.select input:checkbox:checked").length;
      if (numberOfCheckbox == numberOfCheckboxChecked) {
          jQuery("#" + dataTableId + " .select input[type=checkbox]").attr("checked", "");
      } else {
          jQuery("#" + dataTableId + " .select input[type=checkbox]").attr("checked", "checked");
      }
   }
//check whether all sub-checkbox are checked or no (if so: check also 'main checkbox')
function validateCheckbox(dataTableId) {
  var numberOfCheckbox = jQuery("#" + dataTableId + " td.select input:checkbox").length;
  var numberOfCheckboxChecked = jQuery("#" + dataTableId + " td.select input:checkbox:checked").length;
  if (numberOfCheckboxChecked == (numberOfCheckbox)) {
      jQuery("#" + dataTableId + " th.selectAll input:checkbox").attr("checked", true);
  } else {
      jQuery("#" + dataTableId + " th.selectAll input:checkbox").attr("checked", false);
  }
}
function hideSelectOrderLink(ordersNumber) {
    for (var i = 0; i < ordersNumber; i++) {
        var elt = document.getElementById('ordersAll:repeat:' + i + ':selectOrder');
        if (elt != null) {
          elt.style.display='none';
        }
    }
}
function disableActionLinks(ancestorSelector) {
    var selector = "a.actionLink";
    if (ancestorSelector) {
        selector = ancestorSelector + " a.actionLink";
    }

    jQuery(selector).each(function(i) {
        jQuery(this).data("actionHref", this.href);
        this.onclick = emptyLinkHref;
    });
}
function emptyLinkHref() {
    this.href="javascript:void(0);";
}
function swapButton(activeButton, inactiveButton) {
    button = document.getElementById(activeButton);
    if (button != null) {
      button.style.display = 'none';
    }
    iButton = document.getElementById(inactiveButton);
    if (iButton != null) {
      iButton.style.display = 'block';
    }
}
//Candidate Console
//Google map
function displayGoogleMap(display) {
  var gmMap = document.getElementById("mapScoredOffer");
  var emptyMap = document.getElementById("emptyMap");
  if (gmMap != null) {
    if (display) {
      if (typeof(map2) != "undefined") {
        init_localisation();
      }
    } else {
      gmMap.style.display = "none";
      emptyMap.style.display = "block";
    }
  }
}
function changeClass(scored) {
  if (scored) {
    document.getElementById('console').className = 'map';
  } else {
    document.getElementById('console').className = 'noMap';
  }
  iFrameHeight();
}
function displayPoints(points) {
  if (points == null || points.length == 0) {
    changeClass(false);
    displayGoogleMap(false);
    return;
  }
  var emptyMap = document.getElementById("emptyMap");
  if (emptyMap != null) {
    emptyMap.style.display = "none";
  }
  var gmMap = document.getElementById("mapScoredOffer");
  if (gmMap != null) {
    gmMap.style.display = "inline";
  }
  map2.clearOverlays();
  map2.checkResize();
  var latlng_candidate = new GLatLng(mapCenterLat, mapCenterLng);
  map2.setCenter(latlng_candidate, mapZoom);
  changeClass(true);

  var point;
  var pointImg;
  var pointLink = document.getElementById('candidateOffersLink').href;
  var pointToolTipContent;
  var nbPlacedScoredOffers = 0;

  for (var i = 0; i < points.length; i++) {
    point = points[i];
    nbPlacedScoredOffers += point.nbScoredOffers;
    if (point.nbScoredOffers > 9) {
      pointImg = '/images/candidat/console/gmap/point9AndMore.gif';
    } else {
      pointImg = '/images/candidat/console/gmap/point' + point.nbScoredOffers + '.gif';
    }
    pointToolTipContent = point.communeName + ' : ' + point.nbScoredOffers + ' offre';
    if (point.nbScoredOffers > 1) {
      pointToolTipContent += 's';
    }
    pointLink = "/candidate/offers/candidateOffersSearchResults.mj?q=commune:" + point.communeId + "&my-meteo=true&loggedIn=true";
    displayPoint(map2, pointImg, point.communeLatInDD, point.communeLngInDD, pointToolTipContent, pointLink);
  }
  var legend = '';
  legend += '<p class="geoLoc"><b>';
  legend += nbPlacedScoredOffers + ' offre';
  if (nbPlacedScoredOffers > 1) {
    legend += 's';
  }
  legend += ' géolocalisée'
  if (nbPlacedScoredOffers > 1) {
    legend += 's';
  }
  legend += '</b>';
  document.getElementById('gmapLegend').innerHTML = legend;
}
function displayPoint(map, img, lat, lng, toolTipContent, linkUrl) {
  var myIcon = new GIcon(G_DEFAULT_ICON, img);
  var markerOptions = {icon:myIcon , title:toolTipContent};
  var marker = new GMarker(new GLatLng(lat, lng), markerOptions);
  GEvent.addListener(marker, "click", function(){
    window.location = linkUrl;
  });
  map.addOverlay(marker);
}

function StringBuffer() {
  this.buffer = [];
}

function StringBuffer(string) {
  this.buffer = [];
  this.buffer.push(string);
}

StringBuffer.prototype.append = function append(string) {
  this.buffer.push(string);
  return this;
};

StringBuffer.prototype.toString = function toString() {
  return this.buffer.join("");
};

function countNewLines(textAreaContent) {
    var nbNewLines = 0;
    if (textAreaContent) {
        var matches = textAreaContent.match(/\n/g);
        if (matches) {
            nbNewLines = matches.length;
        }
    }
    return nbNewLines;
}

function setProgressBars(instance) {
    var sizeMax = 70;
    var nbMax = 6000;
    var text = '';
    if( instance.id != null) {
        var id = instance.id;
    } else {
        var id = instance;
    }
    if (id == 'offreCreationStep2:transportDescription' || id == 'offreCreationStep2:benefitsDescription' || id == 'profile:companyDescription') {
          var nbMax = 3000;
    }
    var lengthContent = tinyMCE.get(id).getContent().length;
    var nbNewLines = countNewLines(tinyMCE.get(id).getContent());
    var totalCharacters = lengthContent + nbNewLines;
    var ratio = parseFloat(totalCharacters / nbMax);
    var size = ratio>1 ? sizeMax : Math.round(ratio * sizeMax);
    document.getElementById(id + "Indicator1").style.width = size+'px';
    document.getElementById(id + "Indicator1").className = ratio > 1 ? "indicatorMax" : "indicatorFilled";
    document.getElementById(id + "Indicator2").style.width = (sizeMax-size)+'px';
    setTimeout("setProgressBars('"+id+"')",1600);
}

function setProgressBarsWithoutWYSIWYG(instance) {
    var sizeMax = 70;
    var nbMax = 6000;
    if (instance == 'offreCreationStep2:transportDescription' || instance == 'offreCreationStep2:benefitsDescription' || instance == 'profile:companyDescription') {
          var nbMax = 3000;
    }
    var lengthContent = document.getElementById(instance).value.length;
    var ratio = parseFloat(lengthContent / nbMax);
    var size = ratio>1 ? sizeMax : Math.round(ratio * sizeMax);
    document.getElementById(instance + "Indicator1").style.width = size+'px';
    document.getElementById(instance + "Indicator1").className = ratio > 1 ? "indicatorMax" : "indicatorFilled";
    document.getElementById(instance + "Indicator2").style.width = (sizeMax-size)+'px';
    setTimeout("setProgressBarsWithoutWYSIWYG('"+instance+"')",1600);
}

function launchTextualCounters() {
    var textareas = document.getElementsByTagName("textarea");
    var i = 0;
    while (i<textareas.length) {
        setProgressBarsWithoutWYSIWYG(textareas[i].id);
        i++;
    }
}

function addRule(css, selector, style) {
	if (typeof css.addRule != "undefined") {
		css.addRule(selector,style);
	} else {
		css.insertRule(selector + "{" + style + "}", css.cssRules.length);
	}
}