var errorClassName = "checkfield_error";
var okClassName = "checkfield_ok";

function arrayExist(array, value)
{
	var res = false;
	for(var i = 0 ; (i<array.length && res==false);i++)
	{
		if(array[i] == value)
		{
			res = true;
		}
	}
	return res;
}

function FORM_razerrormsg()
{
	var listeMsg = $$('span[id^="msg:"]');
	listeMsg.each(function(msgCh){
			$(msgCh).innerHTML = "";
		}
	);
}

function FORM_clearcolormsg()
{
	var listeRow = $$('tr[id^="ligne:"]');
	listeRow.each(function(row){
			$(row).className = $(row).className.replace(errorClassName,"");
			$(row).className = $(row).className.replace(okClassName,"");
		}
	);
}
function treatTaskMsg(msgs,getmsgerror)
{
	msgs = msgs.replace(/^\s*|\s*$/,"");
	var getmsgerror = getmsgerror || false;
	
	var tabmsg = msgs.split("|");
	var marqueurEchecTache = "{EXE_FAIL}";
	var marqueurReussiteTache = "{EXE_SUCCESS}";
	var marqueurMsgErreurValidation = "ECHEC";
	var marqueurMsgReussiteValidation = "SUCCES";
	var symboleSpan = '<span>';
	var debConteneurMsgEchec = '<a class="msg_erreur">';
	var debConteneurMsgSucces = '<a class="msg_succes">';
	var finsymboleSpan = '</span>';
	var finConteneurMsg = '</a>';
	var chMsg ="";
	var conteneurMsgSucces = '<span class="msg_succes">';
	var finConteneurMsgSucces = '</span>';
	var symboleCSSSucces = '<span class="succes"></span>';
	var tabunmsg = "";
	var champAffichage = "";
	var itab = 0;
	var cur = "";
	var nbr = tabmsg.length;
	var couleurErreur = "#ebd0ce";
	var couleurOK = "transparent";
	var tabLangErreur = new Array();
	var langErreurClassName = "erreur_lang"
	var langSuccessClassName = "success_lang"
	var tacheEnreg=false;
	//Clear error message
	FORM_razerrormsg();
	FORM_clearcolormsg();
	
	for(itab = 0; itab < nbr; itab++)
	{
		//L'execution de la tache a echouee
		if(tabmsg[itab].substr(0,marqueurEchecTache.length) == marqueurEchecTache)
		{
			if(getmsgerror == true)
			{
				return debConteneurMsgEchec+symboleSpan+tabmsg[itab].replace(marqueurEchecTache,"")+finsymboleSpan+finConteneurMsg;
			}else{
				return false;
			}
		}

		//L'execution de la tache a reussie apres avoir nettoyé les messages
		if(tabmsg[itab].substr(0,marqueurReussiteTache.length) == marqueurReussiteTache)
		{
			return true;
		}
		//Si l'execution n'a pas eu lieu, il faut exploiter les messages
		tabunmsg = tabmsg[itab].split(":");
		champAffichage = "msg:"+tabunmsg[1];
		var msg = tabunmsg[2];
		var oAffichage = $(champAffichage);
				
		if(oAffichage != null && msg != "")
		{
			tacheEnreg = true;
			if(tabunmsg[0] == marqueurMsgErreurValidation)
			{
				oAffichage.innerHTML = debConteneurMsgEchec+symboleSpan+msg+finsymboleSpan+finConteneurMsg;
				if($('ligne:'+tabunmsg[1]))
					$('ligne:'+tabunmsg[1]).className = $('ligne:'+tabunmsg[1]).className + " " + errorClassName;
				//Enregistrement de la langue de l'erreur
				var indexChar = tabunmsg[1].indexOf("_lang");
				if(indexChar >-1)
				{
					indexChar +=5;
					var langNum = tabunmsg[1].substring(indexChar,indexChar+1);
					if(parseInt(langNum)!= NaN && !arrayExist(tabLangErreur, langNum))
					{
						tabLangErreur.push(langNum);
					}
				}
			}
	
			if(tabunmsg[0] == marqueurMsgReussiteValidation)
			{
				if(msg == '&nbsp;')
					oAffichage.innerHTML = conteneurMsgSucces+symboleCSSSucces+msg+finConteneurMsgSucces;
				else
					oAffichage.innerHTML = debConteneurMsgSucces+symboleSpan+msg+finsymboleSpan+finConteneurMsg;
				if($('ligne:'+tabunmsg[1]))
				{
					$('ligne:'+tabunmsg[1]).className = $('ligne:'+tabunmsg[1]).className + " " + okClassName;
				}
			}
		}
	}
	
	if(tacheEnreg)
	{
		//Traitement des erreurs sur les langues
		var tabLangok = $$("."+langErreurClassName);
		var tabLangerr = $$("."+langSuccessClassName);
		var tabLang = tabLangok.concat(tabLangerr);
		for(var i=0; i< tabLang.length;i++)
		{
			var tabIdLang = tabLang[i].id.split("_");
			var idLang = tabIdLang[2];
			if(arrayExist(tabLangErreur, idLang))
				tabLang[i].className=langErreurClassName;
			else
				tabLang[i].className=langSuccessClassName;
			tabLang[i].style.display="";
		}
		if(tabLangErreur.length>0)
		{
			span = $("lang_erreur_nb");
			if(tabLangErreur.length==1)
				span.innerHTML = "1 langue contient des erreurs";
			else
				span.innerHTML = tabLangErreur.length + " langues contiennent des erreurs";
			
		}
	}
	
	return null;
}
