/* @autor: Mario Martinez
 * FUNCIONS PER VERIFICAR UN FORMULARI --------------------------------------------------------------*/
function CampText(camp){
	var valid = false;
	
	var co = document.getElementById(camp);
	if (co.value.length > 0) valid = true;
	
	CambiaColor(camp,valid);
	
	return valid;
}

function CampEmail(camp){
	
	valid = VerificarEmail(camp);
	CambiaColor(camp,valid);
	
	return valid;
	
}

function VerificarEmail(e) {
   var s = document.getElementById(e).value;
       var filter=/^[A-Za-z][A-Za-z0-9_.\\-]*@[A-Za-z-_=>0-9\.]+\.[A-Za-z0-9_.]+[A-za-z]{2,3}$/;
        //var emailReg = /^[a-z][a-z-_0-9\.]+@[a-z-_=>0-9\.]+\.[a-z]{2,3}$/i
   
   //var filter= "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[.com¦.net¦.org¦.edu¦.mil¦.gov¦.biz¦]$";
   if (s=="") return false;
   if (s.length == 0 ) return false;
   if (filter.test(s)) return true;
   else return false;
}


function CampNumeric(camp,digits){
	
	var num = document.getElementById(camp).value;
	var valid = false;
	
	if(digits == 0){
		if(num.length > 1) valid = soloNumerico(num);
	}
	else if(num.length == digits) valid = soloNumerico(num);
	
	CambiaColor(camp,valid);
	
	return valid;
}

function soloNumerico(valor) {
	return !isNaN(valor);
}

function CampChecked(camp){

	var valid = document.getElementById(camp).checked;
	CambiaColor(camp,valid);
	return valid;
}


function ValidarFormulari(camps,idioma){
	
	//FORMAT ('nom_input=tipus;nom_input2=tipus;...nom_inputX=numeric#NumMax')
	
	//idioma
	var missatge = new Array();
	missatge['ca'] = " no pot ser buit.\n";
	missatge['es'] = " es obligatorio.\n";
	
	//array de camps 
	var tcamps = new Array();
	var camp;
	var aux;
	var numleng = 0;
	var i_ok = 0; //conta el camps correctes. Si son = al total de camps, tot es correcte
	
	//mensaje de alerta (error)
	var alerta = "";
	
	tcamps = camps.split(";");
	
	for(i=0; i < tcamps.length; i++)
	{
		numleng = 0;
		aux = tcamps[i].split("=");
		camp = aux[0];
		metode = aux[1];
		//var alerta = document.getElementById(camp+"_ok"); //07.2008
		
		if(metode.match("#")) //quants numeros pot tenir?
		{
			
			aux = metode.split("#");
			numleng = aux[1];
			metode = aux[0];
		}
		
		if(metode == "text") {
			if(CampText(camp)) i_ok++;
			else alerta += camp+missatge[idioma];
		}
		else if(metode == "email") {
			if(CampEmail(camp)) i_ok++;
			else alerta += camp+missatge[idioma];
		}
		else if (metode == "numeric") {
			if(CampNumeric(camp, numleng)) i_ok++;
			else alerta += camp+missatge[idioma];
		}
		else if(metode == "check"){
			if(CampCheked(camp)) i_ok++;
			else alerta += camp+missatge[idioma];
		}
	}
	
	if(i_ok == tcamps.length) return true;
	else
	{
		alert(alerta);
		return false;
	} 
	
	//return retorn;
}

function CambiaColor(camp,valid){
	
	var e = document.getElementById(camp);
	var ico = document.getElementById(camp+"_ok");
	if(!valid) 
	{
		e.style.color = "#e51d13";
		ico.style.borderBottomColor = "#e51d13";
		//e.style.border = "1px solid #e51d13";
		//ico.style.visibility = "visible";
	
	}
	else 
	{
		ico.style.borderBottomColor = "";
		e.style.color = "";
		//e.style.backgroundColor = "inherit";
		//e.style.border = "1px solid #5e7885";
		//ico.style.visibility = "hidden";
	}
}


function hover(e,titol,lang,h){
	
	if(!h) e.style.backgroundImage = "url(img/"+lang+"/"+titol+"_hover.png)";
	else e.style.backgroundImage = "url(img/"+lang+"/"+titol+".png)";
	
}





