/* Loïc Pennamen */


// derouler amélioré : le bloc conteneur est modifié, le délai s'arrête quand la hauteur du bloc conteneur est supérieure à celle du contenant. 
// cette version  est modifiée pour MBA avec des variables dynamiques
// attention aux noms de div : en un mot
function deroulerHv2(iddiv, sens){
	eval("window.contenant" + iddiv + " = document.getElementById('cont"+iddiv+"');");
	if(sens=='ouvrir'){
		eval("window.vitesse"+iddiv+" = 5");
		eval("if(window.contenant" + iddiv + ".style.display==\"none\"){ window.contenant" + iddiv + ".style.display=\"block\";window.contenant" + iddiv + ".style.height=\"1px\";}");
		eval("window.limite" + iddiv + " = document.getElementById('"+iddiv+"').offsetHeight;");
		
		bouger2(iddiv);
		return true;
	}
	else{
		eval("window.vitesse"+iddiv+" = -5");
		eval("window.limite" + iddiv + " = contenant" + iddiv + ".offsetHeight");
		bouger2(iddiv);
		return true;
	}
}

function bouger2(iddiv){
	eval("newHeight"+iddiv+"=window.contenant" + iddiv + ".offsetHeight + window.vitesse"+iddiv+";");
	eval("if(newHeight"+iddiv+">0) window.contenant" + iddiv + ".style.height=newHeight"+iddiv+" + \"px\";");
	eval("if(newHeight"+iddiv+">0){if(window.limite" + iddiv + " > newHeight"+iddiv+") window.deroulement"+iddiv+"=setTimeout(\"bouger2('"+iddiv+"')\", 5); else window.deroulement"+iddiv+" = false;}else{window.contenant" + iddiv + ".style.display=\"none\";}");
}

function deroulerH(cible, debut, fin, vitesse){
	if(debut<fin){
		debut+=vitesse;
		bloc = document.getElementById(cible);
		//alert(bloc.style.display);
		//bloc.style.width = debut + 'px';
		bloc.style.height= debut + 'px';
		mouvement = window.setTimeout("deroulerH('"+cible+"', "+debut+", "+fin+", "+vitesse+")", 10);
		if(bloc.style.display == 'none'){
			bloc.style.display = 'block';
			//alert('passage en bloc');
		}
	}
	else{
		clearTimeout(); 
	}
}

function changerHref(idLien, href){
	document.getElementById(idLien).href = href;
}
function getSelectedRadioValue (radiobutton){
	var returnValue = "";
	if (radiobutton.length == 1){
		returnValue = radiobutton.value;
	} else {
		for (i=0;i<radiobutton.length;i++){
			if (radiobutton[i].checked==true) {
				returnValue=radiobutton[i].value;
			}
		}
	}
	return returnValue;
}
function redirige(page) {
	location.href=page;
}
function upImage(image, ext){
	image.src=image.src.substr(0, image.src.length - 4) + "-up." + ext;
}
function downImage(image, ext){
	image.src=image.src.substr(0, image.src.length - 7) + "." + ext;
}
///////////
function majInput(inputVise, valeur){
	document.getElementById(inputVise).value=valeur;
}
/////////// ajoute la chaine à la valeur de l'input
function majPlusInput(inputVise, valeur){
	if(document.getElementById(inputVise).value != ''){
		document.getElementById(inputVise).value = document.getElementById(inputVise).value + ' ; ' + valeur;
	}
	else{
		document.getElementById(inputVise).value = valeur;
	}
}
///////////
function changerImage(idImage, srcImage){
	idImage.src=srcImage;
}
///////////
var newWin = null;
function closeWin(){
	if (newWin != null){
		if(!newWin.closed)
		newWin.close();
	}
}
///////////
function popUp(strURL,strType,strHeight,strWidth) {
closeWin();
var strOptions="";
if (strType=="console") strOptions="resizable,height="+strHeight+",width="+strWidth;
if (strType=="fixed") strOptions="status,height="+strHeight+",width="+strWidth;
if (strType=="elastic") strOptions="toolbar,menubar,scrollbars,resizable,location,height="+strHeight+",width="+strWidth;
newWin = window.open(strURL, 'newWin', strOptions);
newWin.focus();
} 
/////////////////////////////
// switchBlock intervertit l'affichage de deux blocs donnés par leur ID
function switchBlock(afficher, masquer){
	document.getElementById(afficher).style.display='block';
	document.getElementById(masquer).style.display='none';
}
// switchBlock intervertit l'affichage de deux blocs donnés par leur ID
function switchBlockInline(afficher, masquer){
	document.getElementById(afficher).style.display='block';
	document.getElementById(masquer).style.display='inline';
}
// onOffBlock fonctionne comme un interrupteur sur un bloc donné par son id
function onOffBlock(afficher){
	if(document.getElementById(afficher).style.display=='block') {		document.getElementById(afficher).style.display='none';	}
	else if(document.getElementById(afficher).style.display=='none') {	document.getElementById(afficher).style.display='block';	}
}
// onOffParClasse fonctionne comme un interrupteur sur un bloc donné par sa classe et sa balise
function onOffParClasse(className, tag){
	if(elts = getElementsByClassName(className, tag)) {		
		for(i=0 ; i < elts.length ; i++){
			// alert(elts[i]);
			if(elts[i].style.display=='block')	elts[i].style.display='none';
			else if(elts[i].style.display=='none')	elts[i].style.display='block';
		}
	}
}
function masquerParClasse(className, tag){
	if(elts = getElementsByClassName(className, tag)) {		
		for(i=0 ; i < elts.length ; i++){
			// alert(elts[i]);
			elts[i].style.display='none';
		}
	}
}
function afficherParClasse(className, tag){
	if(elts = getElementsByClassName(className, tag)) {		
		for(i=0 ; i < elts.length ; i++){
			// alert(elts[i]);
			elts[i].style.display='block';
		}
	}
}
// unPourTous affiche un bloc au détriment d'une liste de blocs transmise dans une chaine de caracteres, les iID sont séparés par des ;
function unPourTous(afficher, masquer, display){
	if(!display) display = 'block';
	// si la mise en bloc de l'éément à afficher fonctionne
	if(document.getElementById(afficher).style.display=display){
		// création du tableau des ID de blocks à effacer
		mesId = masquer.split(';');
		// boucle
		for(i=0 ; i < mesId.length ; i++){
			document.getElementById(mesId[i]).style.display='none';
		}
	}
}
// pas ON un liens au détriment des autres de la meme liste (meme precinpe que fonction précédente
function onOffLien(liensOn, liensOff){
	// mise sur ON
	if(document.getElementById(liensOn).className='on'){
		// création du tableau des ID de liens à rendre OFF
		mesId = liensOff.split(';');
		// boucle
		for(i=0 ; i < mesId.length ; i++){
			document.getElementById(mesId[i]).className='off';
		}
	}
}

function masquer(idAMasquer){
	if(document.getElementById(idAMasquer)) document.getElementById(idAMasquer).style.display='none';
}
function afficher(idAAfficher){
	if(document.getElementById(idAAfficher)) document.getElementById(idAAfficher).style.display='block';
}
function afficherInline(idAAfficher){
	document.getElementById(idAAfficher).style.display='inline';
}

// formulaires : masque ou affiche un contenu de mot de passe
function switcherMdp(idChamp){
	if(document.getElementById(idChamp).type == 'text') document.getElementById(idChamp).type='password';
	else document.getElementById(idChamp).type='text';
}
// limiter le nombre de caracteres d'un textarea
function limiterTA(monTA,nbCaracteres,temoin){
	nbActuel=monTA.value.length;
	if(nbActuel>=nbCaracteres+1){
		alert('Vous ne pouvez entrer que '+nbCaracteres+' caractères maximum');
		monTA.value=monTA.value.substr(0,nbCaracteres-2);
	}
	document.getElementById(temoin).innerHTML='<sup>'+ (nbCaracteres-nbActuel) + ' caractères restants</sup>';
}

	
	
///////////////// COOKIES	.
function EcrireCookie(nom, valeur){
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}
//
function EffaceCookie(nom){
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	EcrireCookie(nom,null,date);
}
//
function getCookieVal(offset){
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
//
function LireCookie(nom){
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen)
	{
	var j=i+alen;
	if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
	i=document.cookie.indexOf(" ",i)+1;
	if (i==0) break;

	}
	return null;
}
// fonction spéciale : sert à afficher ou masquer une div contenant les infos d'une offre liées au fait qu'elles oit limitée dans le temps ou non
function limiterDansLeTemps(){
	RendreVisible = false;
	// tableau des contrats qui provoquent une durée
	limites = Array('CDD','Stage', 'Interim');
	
	var Chckbox = document.getElementById("div_chck").getElementsByTagName('input');
	// dans la div concernée
	for (i=0; i < Chckbox.length; i++){
		// pour chaque input
		if (Chckbox[i].nodeName=="INPUT"){
			// s'il est coché
			if(document.getElementById(Chckbox[i].getAttribute("id")).checked == true){
				// s'il fait partie des elements qui nécessitent une durée :
				if(in_array(limites, document.getElementById(Chckbox[i].getAttribute("id")).value)){
					RendreVisible = true;
				}
			}
		}
	}
	
	// et donc : si il y a un des contrats selectionnés
	if(RendreVisible){
		// changer le repere de durée déterminée
		document.getElementById('duree_determinee_offre').value='1';
		// afficher le bloc adéquat
		afficher('infosDeDuree');
	}
	else{
		// changer le repere de durée déterminée
		document.getElementById('duree_determinee_offre').value='0';
		// afficher le bloc adéquat
		masquer('infosDeDuree');
	}
}
	
	
	
	
	
	
	
	

// choping
function GereChkbox(conteneur, a_faire){
	var blnEtat=null;
	var Chckbox = document.getElementById(conteneur).getElementsByTagName('input');
	for (i in Chckbox){
		if (Chckbox[i].nodeName=="INPUT"){
			if (Chckbox[i].getAttribute("type")=="checkbox") {
				blnEtat = (a_faire=='0') ? false : (a_faire=='1') ? true : (document.getElementById(Chckbox[i].getAttribute("id")).checked) ? false : true;
				document.getElementById(Chckbox[i].getAttribute("id")).checked =blnEtat;
			}
		}
	}
}	
// CHOPING :
function getElementsByClassName(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 in_array(array, p_val) {
    for(var i = 0, l = array.length; i < l; i++) {
        if(array[i] == p_val) {
            rowid = i;
            return true;
        }
    }
    return false;
}