


/**************************************/
/* LIBRAIRIE DE CONTROLES DES SAISIES */
/**************************************/



/********* PARAMETRES **********/

var msgchamp = 'Champ obligatoire';
var msgerreurDATE = 'jj/mm/aaaa';
var msgerreurSELECT = 'Vous devez choisir un élément';
var msgerreurMAIL = 'Vous devez saisir un mail valide';
var valeurs = Array();
var Ccolors = Array();
var validOK = true;

var listeMsgErreur = Array(msgchamp, msgerreurDATE, msgerreurSELECT, msgerreurMAIL);
/************************************/


function FormLoaded(libelle){
	MM_findObj('mySubmit').disabled = false;
	MM_findObj('mySubmit').value = ' - ' + libelle + ' - ';
}

function submitit(formname){
	MM_findObj('mySubmit').disabled = true;

	if (id_t_profil_element = document.getElementById('id_t_profil'))
	{
		if(id_t_profil_element.type == 'select-one'){
		
		if (document.getElementById('id_t_profil').options[document.getElementById('id_t_profil').selectedIndex].value==1)
		{
			var valide = false;
			var IE  = window.ActiveXObject ? true : false;
			var MOZ = window.sidebar       ? true : false;

			var coches;
			if(IE)  {
				var coches = getLcheck2(window.frames['iid_groupe'].document.getElementById('formulary'));
			}  
			if(MOZ) {
				var coches = getLcheck2(document.getElementById('iid_groupe').contentDocument.getElementById('formulary'));
			}
			var j = Array() 
				j = coches.split(':');
			for (i=0;i<j.length ;i++ )
			{
				var k = Array();
				k = j[i].split(',');
				if (k[1] == 82)
				{
					valide = true;
				}
			}
			if(valide){
				subsubmitit(formname);
			}
			else{
				alert('Vous devez choisir un parc dans la liste des éléments administrables');
				MM_findObj('mySubmit').disabled = false;
			}
		}
		else
		{
			subsubmitit(formname);
		}
	}
		else
	{
		subsubmitit(formname);
	}
	}
	else
	{
		subsubmitit(formname);
	}
}

function subsubmitit(formname){

		if(valid(formname)){
		//	alert(MM_findObj(formname).id_t_arbo.value);
			MM_findObj(formname).submit();
		}
		else{
			alert('Tous les champs n\'ont pas été remplis correctement !');
			MM_findObj('mySubmit').disabled = false;
		}		
}



// EVENT exécutée `onfocus` : Rétabli la valeur saisie si obj.value contient un message d'arreur
function resetchamp(obj){
	for(e=0; e<listeMsgErreur.length; e++){
		if(obj.value == listeMsgErreur[e]){
			obj.value = valeurs[obj.name];
			obj.className = 'champ';
		}
	}
}


// CONTROLE DES CHAMPS "TXT"
function verif(obj){
	valeurs[obj.name] = obj.value;

	if(trim(obj.value) == '' || trim(obj.value) == msgchamp){
		obj.value = msgchamp;
		obj.className = 'champerreur';
		return false;
	}
	else{
		obj.className = 'champ';
		return true;
	}
}

// CONTROLE DES CHAMPS "INT"
function verifINT(obj){
	valeurs[obj.name] = obj.value;
	var val = trim(obj.value);

	if(val != '' && val != msgchamp){
		if(!isInteger(val)){
			obj.value = msgchamp;
			obj.className = 'champerreur';
		return false;
		}
		else{
			obj.className = 'champ';
			return true;
		}
	}

}


function verifASSOMUL(obj){
	if(trim(MM_findObj(obj.name).value) == ''){
		self.document.getElementById('i' + obj.name).className = 'ifraEditerreur';
		return true;
	}
	else{
		self.document.getElementById('i' + obj.name).className = 'ifraEdit';
		return false;
	}
}

function verifDOCSIMPLE(obj){
	if(trim(MM_findObj(obj.name).value) == ''){
		self.document.getElementById('i' + obj.name).className = 'ifraEditerreur';
		return true;
	}
	else{
		self.document.getElementById('i' + obj.name).className = 'ifraEdit';
		return false;
	}
}

// CONTROLE DES CHAMPS "ASSO_SIM"
function verifSELECT(obj){

	//alert(validOK);

	valeurs[obj.name] = obj.selectedIndex;
	var val = obj.options[obj.selectedIndex].value;
	if(val > 0){
		obj.className = 'champ';
		return true;
	}
	else{
		obj.options[obj.selectedIndex].className = 'selecterreur';
		obj.options[obj.selectedIndex].innerHTML = msgerreurSELECT;
		return false;
	}
}

// CONTROLE DES CHAMPS "MAIL"
function verifMAIL(obj){
	valeurs[obj.name] = obj.value;
	if(!isValidEmail(obj.value)){
		obj.value = msgerreurMAIL;
		obj.className = 'champerreur';
		return false;
	}
	else {
		obj.className = 'champ';
		return true;
	}
}


// CONTROLE DES CHAMPS "EURO"
function verifEURO(obj){
	valeurs[obj.name] = obj.value;
	var error = false;
	for(var i=0; i < obj.value.length; i++)  {
		if(!ismonetaire(obj.value.charAt(i))) {
			error = true;
			obj.value = msgerreurEURO;
			obj.className = 'champerreur';
			return false;
		}
	}
	if(!error){
		obj.className = 'champ';
		return true;
	}
}


// CONTROLE DES CHAMPS "DATE" & "DATETIME"
function verifDATE(obj, req){
	valeurs[obj.name] = obj.value;
	var val = obj.value+'';
	var error = false;

	if(val == ''){
		if(req){
			error = true;
		}
	}
	else{
		if(val.length != 10){
			error = true;
		}
		else{
			var dstr = val.split('');
			if(	(!isNumber(dstr[0])) || (!isNumber(dstr[1])) || (dstr[2] !='/') || (!isNumber(dstr[3])) || (!isNumber(dstr[4])) || (dstr[5] !='/') || (!isNumber(dstr[6])) || (!isNumber(dstr[7])) || (!isNumber(dstr[8])) || (!isNumber(dstr[9])) ){
				error = true;
			}
			else{
				var jour = dstr[0]+''+dstr[1];
				if(jour > 31){
					error = true;
				}
				var mois = dstr[3]+''+dstr[4];
				if(mois > 12 || mois < 1){
					error = true;
				}
				var annee = dstr[6]+''+dstr[7]+''+dstr[8]+''+dstr[9];
				if(annee < 1900){
					error = true;
				}
			}
		}
	}
	if(error){
		obj.value = msgerreurDATE;
		obj.className = 'champerreur';
		return false;
	}
	else{
		obj.className = 'champ';
		return true;
	}
}



// CONTROLE DES CHAMPS "DATETIME"
function verifHEURE(obj, required){
	if(obj.value == '' || obj.value == msgerreurHEURE){
		valeurs[obj.name] = '';
	}
	else {
		valeurs[obj.name] = obj.value;
	}

	var val = obj.value;
	var error = false;
	var dstr = val.split('');
	if( (!isNumber(dstr[0])) || (!isNumber(dstr[1])) || (dstr[2] != ':') || (!isNumber(dstr[3])) || (!isNumber(dstr[4]))  ){
		error = true;
	}
	else{
		var heure = dstr[0]+''+dstr[1];
		if(heure > 23){
			error = true;
		}
		var minute = dstr[3]+''+dstr[4];
		if(minute > 59){
			error = true;
		}
	}

	if(error){
		obj.value = msgerreurHEURE;
		obj.className = 'champerreur';
		return false;
	}
	else{
		obj.className = 'champ';
		return true;
	}
}


// EVENT exécutée `onkeyup` sur l'un des deux champs constituant un "DATETIME" Concatene les valeurs date et heure
function datetime_upd(name){
	MM_findObj(name).value = MM_findObj(name+'_date').value +' '+MM_findObj(name+'_heure').value;
}



/*********** CONTROLES DE `TYPE` *********/

function ismonetaire(val){
	var string = "1234567890,.";
	if(string.indexOf(val) != -1){return true;}
	return false;
}


function isDigitDate(num) {
	var string="1234567890/";
	if (string.indexOf(num) != -1) {return true;}
	return false;
}

function isInteger(val){
	for (var i=0; i < val.length; i++) 
	  {if (!isNumber(val.charAt(i))) {return false;}}
	return true;
}

function isNumber(num){
	var string="1234567890";
	if (string.indexOf(num) != -1) {return true;}
	return false;
}

function isMailChar(num){
	var string="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@._- 1234567890";
	if (string.indexOf(num) != -1) {return true;}
	return false;
}

function isValidEmail(val){
	if (val.length == 0) {return true;}
	else
	{
		for (var i=0; i < val.length; i++) 
	  		{if (!isMailChar(val.charAt(i))) {return false;}}
		
		if (val.indexOf('@') < 0) {return false;}
		if (val.indexOf('.') < 0) {return false;}
		
		return true;
	}
}


/***** on s'en sert encore ? */
function isValidDate(val){
  if (val.length == 0) {return true;}
  if (val.length > 0)
   {t_tl = val.split("/");}

  return ( (isInteger(val)) && (val.length==5) && (t_tl.length ==2) )
}

function isValidDateFull(val){
  if (val.length == 0) {return true;}
  if (val.length > 0)
   {t_tl = val.split("/");}

  return ( (isInteger(val)) && (val.length==10) && (t_tl.length ==3) )
}

/****************************/


/****************************************/



// Créer un lien mailto: a partir de la valeur du champ nch */
function icomailto(obj, nch){
	var txmail = document.forms[0][nch].value;
	obj.href = 'mailto:'+txmail;
}

function isSelected(l){
	var i = l.selectedIndex;
	var il = l.options[i].value;
	
	return il;
}


// Affecte une variable et soumet le formulaire (idoc est declaré globalement dans le doc deja...)
function setrubpost(val){
	idoc = document.forms[0];
	idoc.newrub.value = val;
	submitit(idoc.name);
}


function trombino_organisme(oSELECT){
	var val = parseInt(oSELECT.options[oSELECT.selectedIndex].value);

	switch(val){
		case 0 :
			show = Array();
			hide = Array('id_pole', 'iid_pole', 'id_fonction', 'US_Fonction');
			break;

		case 2 :
			show = Array('id_pole', 'iid_pole', 'US_Fonction');
			hide = Array('id_fonction');
			break;

		default :
			show = Array('id_fonction');
			hide = Array('id_pole', 'US_Fonction', 'iid_pole');
			break;
	}


	if(show.length > 0){
		for(i=0; i<show.length; i++){

			if(MM_findObj(show[i])){
				MM_findObj(show[i]).style.visibility = 'visible';
				MM_findObj(show[i]).style.position = 'relative';
			}
			if(MM_findObj('L_' + show[i])){
				MM_findObj('L_' + show[i]).style.visibility = 'visible';
				MM_findObj('L_' + show[i]).style.position = 'relative';
			}
		}
	}

	for(i=0; i<hide.length; i++){


		if(MM_findObj(hide[i])){
			if(MM_findObj(hide[i]).style){
				MM_findObj(hide[i]).style.visibility = 'hidden';
				MM_findObj(hide[i]).style.position = 'absolute';
			}
		}

		if(MM_findObj('L_' + hide[i])){
			MM_findObj('L_' + hide[i]).style.visibility = 'hidden';
			MM_findObj('L_' + hide[i]).style.position = 'absolute';
		}
	}


	if(typeof(liste_gr_org) != 'undefined'){
		MM_findObj('id_groupe').value = liste_gr_org[val];
	}


}


function LIBRAIRIE_etat(oSELECT){
	var val = parseInt(oSELECT.options[oSELECT.selectedIndex].value);

	switch(val){
		case 0 : 
			show = Array();
			hide = Array('lib_prix', 'id_telechargement');
			break;

		case 1 : 
			show = Array('lib_prix');
			hide = Array('id_telechargement');
			break;

		case 2 :
			show = Array();
			hide = Array('lib_prix', 'id_telechargement');
			break;

		case 3 : 
			show = Array('id_telechargement');
			hide = Array('lib_prix');
			break;
	}

	if(show.length > 0){
		for(i=0; i<show.length; i++){
			MM_findObj(show[i]).style.visibility = 'visible';
			MM_findObj(show[i]).style.position = 'relative';

			MM_findObj('L_' + show[i]).style.visibility = 'visible';
			MM_findObj('L_' + show[i]).style.position = 'relative';
		}
	}

	for(i=0; i<hide.length; i++){
		MM_findObj(hide[i]).style.visibility = 'hidden';
		MM_findObj(hide[i]).style.position = 'absolute';

		MM_findObj('L_' + hide[i]).style.visibility = 'hidden';
		MM_findObj('L_' + hide[i]).style.position = 'absolute';
	}

}

function checkFileName(val){
	var chars = '\/:*?"<>|,&';
	if(val.indexOf('/')>-1){
		t_val = val.split('/');
	}
	else{
		t_val = val.split('\\');
	}

	filename = t_val[t_val.length-1];

	for(var i=0; i<chars.length; i++){
		if(filename.indexOf(chars[i]) > -1){
	//		alert(chars[i]+' == '+ filename.indexOf(chars[i]));
			return false;
		}
	}
return true;
}

function upload_simple(formname,champ){
	if( MM_findObj(champ).value != ''){
		if(checkFileName(MM_findObj(champ).value)){
			MM_findObj('info_'+ champ).innerHTML = 'Chargement du fichier... ';
			MM_findObj(formname).submit();
		}
		else{
			alert('Le nom du fichier contient des caractères incorrects');
		}
	}
	else{
		alert('Choisissez un document à ajouter');
	}
}

function form_change_req(champ_select, champ_id, champ_val){

	label = document.getElementById("L_" + champ_id);
	input = document.getElementById("INPUT_" + champ_id);

	submit = document.getElementById("mySubmit");
//	var verif_string = "submitit('formulaire');";

	if (champ_select.options[champ_select.selectedIndex].value == champ_val)
	{
		
		label.style.display = "";
		label.className = "edchampoblig";

		input.style.display = "";

		var champ_verif = eval("document.formulaire." + champ_id);
		submit.onclick = function(){ if(!verif(champ_verif)){ alert('Tous les champs n\'ont pas été remplis correctement !');	MM_findObj('mySubmit').disabled = false;}else{ submitit('formulaire');} };

	}else{
		label.style.display = "none";
		label.className = "edchampfacult";

		input.style.display = "none";

		submit.onclick = function(){ submitit('formulaire'); };
	}
}


var extranet_autre_org_id = 218;
function autre_org(oSel){
	var val = oSel.options[oSel.selectedIndex].value;
	var elem = MM_findObj('CT_autre_organisme');
	var lab = MM_findObj('L_CT_autre_organisme');
	if(val == extranet_autre_org_id){
		lab.style.width = '100px';	
		lab.style.display = 'block';	
		elem.style.display = 'block';
	}
	else{
		lab.style.display = 'none';
		elem.style.display = 'none';
		//elem.value = '';
	}
	
}


