// JavaScript Document

function showCase(maCase,id) {
	//si on coche maCase, on affiche la case id
	if ($(maCase).checked==true) {
		new Effect.Appear($(id), { duration: 1.0 });
	} else {
		new Effect.Fade($(id), { duration: 1.0 });
	}
//		$(id).style.visibility='visible';
//		document.getElementById(id).style.visibility='hidden';
}

// montre le menu déroulant des niveau et envoie l'ID de la langue à un champ caché
function showNiveau(id,selObj,ls_hidden) {
	new Effect.Appear($(id), { duration: 1.0 });
	// selObj est 'this' donc le select lui-même
	// on envoie donc la valeur sélectionnée (= langue_id) dans le hiddenfield
	$(ls_hidden).value =selObj.options[selObj.selectedIndex].value;
	//alert(selObj.options[selObj.selectedIndex].value);
}
//complète ce champ caché par la sélection du niveau pour ladite langue
function ajoutNiveau(selObj,ls_hidden,nls_hidden){
	$langue_id = $(ls_hidden).value;
	$niveaulangue_id = selObj.options[selObj.selectedIndex].value;
	$(nls_hidden).value = $langue_id + '-' + $niveaulangue_id;
	//alert($(nls_hidden).value);
}

// limiter le nombre de caractères dans un textarea
function maxlength(text,longueur_max,saisie,decompte,alerte,reactivate) {
	if ($(decompte).style.display == 'none') {
		new Effect.Appear($(decompte),{ duration: 1.0 });
	}
	//à chaque caractère saisi, on écrit la taille
	$longueur = $(saisie).value.length;
	$longueur_restante = longueur_max - $longueur;
	if ($longueur_restante > 0) {
		//on écrit la longueur restante
		$(decompte).innerHTML = $longueur_restante;
	} else {
		$(saisie).disable(); //on bloque le textarea
		new Effect.Appear($(reactivate),{ duration: 0.5 });
		$(decompte).innerHTML = '<p class=\'flash_error\'>' + alerte + '</p>';
	}
	
} 
// pour réactiver le textarea qui a atteind son maximum
function reactivate(saisie,decompte,reactivate,maximum){
	$longueur_actuelle = $(saisie).value.length;
	$longueur_raisonnable = maximum - 1;
	$(saisie).value = $(saisie).value.substr(0,$longueur_raisonnable);
	
	$(saisie).enable();			//on réactive
	$(decompte).innerHTML = maximum;	//on change le message du décompte
	new Effect.Fade($(reactivate), { duration: 0.5 });// on masque le reactivate
}


//de MM
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function GP_popupConfirmMsg(msg) { //v1.0
  document.MM_returnValue = confirm(msg);
}
function twAller(_url,_cadre,_target) {
  if (_cadre) {
    parent._cadre.location.href = _url;
  } else if (_target) {
    _target = window.open(_url,_target);
  } else {
    window.location.href = _url;
  }
}
function MM_checkPlugin(plgIn, theURL, altURL, autoGo) { //v4.0
  var ok=false; document.MM_returnValue = false;
//  with (navigator) if (appName.indexOf('Microsoft')==-1 || (plugins && plugins.length)) {
  with (navigator) if (appVersion.indexOf("MSIE") != -1 || (plugins && plugins.length)) {
    ok=(plugins && plugins[plgIn]);
  } else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1
    if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash;
    else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir;
    else ok=autoGo; }
  if (!ok) theURL=altURL; if (theURL) window.location=theURL;
}


//CALCUL DU TEMPS
function date_to_timestamp() {
 //on va chercher la valeur type JJ/MM/AAAA dans le champ
 var date_choisie = document.getElementById(id);
 var date_trouvee = date_choisie.value;
 var maintenant = new Date();
 var temps = maintenant.getTime() / 1000;
 var an_2020 = new Date(2020,0,1,0,0,0);
 var temps_final = an_2020.getTime() / 1000;
 var reste = Math.floor(temps_final - temps);
}

function verifieDate(id) {//id est une valeur de champ
	if (id != '#^\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9]{4}\)$#1#2#3') {
		alert(id);
	}
}

//Obligation de saisir 3 caractères minimum dans un formulaire de recherche
function inscrire3car(id) {
	if (id.value.length <3) {
		alert ('Vous devez saisir un minimum de 3 caractères !');
		return false;
	} else {//assez de caractères : le form est validé
		return true;
	}
}


//-- pour l'affichage du rapport métier par pages
function masqueNav(id,boutonOff,boutonOn,hori,verti) {
	new Effect.Move($(id), { x: -hori, y: -verti, mode: 'relative' });
	new Effect.Fade($(boutonOff),{ duration: 1.0 });
	new Effect.Appear($(boutonOn), { duration: 2.0 });
}
function demasqueNav(id,boutonOff,boutonOn,hori,verti) {
	new Effect.Move($(id), { x: +hori, y: verti, mode: 'relative' });
	new Effect.Fade($(boutonOn), { duration: 1.0 });
	new Effect.Appear($(boutonOff),{ duration: 2.0 });
}