
/************************************************************************************************************
(C) Alvaro Bartra, 2006

This is a script from Alvaro Bartra  (http://www.xtranet.es, http://www.chromalife.com & http://www.chromaviewer.com)

Terms of use:
You are free to use this script as long as the copyright message is kept intact. However, you may not
redistribute, sell or repost it without our permission.

Thank you!

Alvaro Bartra

************************************************************************************************************/
errores_array = new Array();
errores_array[0] = new Array("","Se han encontrado los siguientes errores:","The following errors have been found:","si sono trovati i seguenti errori: ");
errores_array[1] = new Array("","- El campo WWWW debe rellenarse.","- The field WWWW must be filled out.","- Il campo WWWW deve riempirsi.");
errores_array[2] = new Array("","- El campo WWWW debe ser un email valido.","- The field WWWW must feature a valid e-mail address.","- Il campo WWWW deve essere un email valso.");
errores_array[3] = new Array("","- El campo WWWW debe ser de tipo numérico.","- The field WWWW must feature a numerical value.","- Il campo WWWW deve essere di tipo numerico.");
errores_array[4] = new Array("","- Debes seleccionar un valor en el campo WWWW.","- You have to select a value for field WWWW.","- devi selezionare un valore nel campo WWWW.");
errores_array[5] = new Array("","- El campo WWWW debe ser un numero de teléfono válido: i.e. (+34) 93 222 22 22","- The field WWWW must feature a valid telephone number: i.e. (+1) 212 429-3105 or (+44) 20 7720 1030","- Il campo WWWW deve essere un numero di telefono valido:i.e., +34, 93 222 22 22");
errores_array[6] = new Array("","- El campo WWWW debe tener un maximo de XXXX caracteres.","- The field WWWW can contain upto XXXX characters.","- Il campo WWWW deve avere un massimo di XXXX caratteri.");
errores_array[7] = new Array("","- El campo WWWW debe estar entre RRRR1 y RRRR2.","- The field WWWW can range from RRRR1 to RRRR2.","- Il campo WWWW deve stare tra RRRR1 e RRRR2.");
errores_array[8] = new Array("","- Debe marcar la opción 'He leido el Aviso Legal'.","- You must check the option 'I have read the Legal Disclaimer'.","- deve segnare l'opzione ho letto l'Avviso Legale.'");
errores = new Array();
function iniciaErrores(idioma){
	for(i=0;i<errores_array.length;i++){
		errores[i] = errores_array[i][idioma];	
	}
}
campos = new Array("");
function creaCampo(nombre, tipo, propiedades, tamano, respuesta,requerido){
	campos[campos.length] = new Array(nombre, tipo, propiedades, tamano, respuesta,requerido);
}
error_v = "";
function compruebaCampos(oForm){
	//oForm = document.base;
	error_v ="";
	for(var i=1; i<= campos.length-1; i++){
		nombre_v = campos[i][0];
		tipo_v = campos[i][1];
		propiedades_v = campos[i][2];
		tamano_v = campos[i][3];
		respuesta_v = campos[i][4];
		if(campos[i][5] == "R"){
			requerido_v = true;
		}else{
			requerido_v = false;
		}
		if(tipo_v == "text"){	
		    if(propiedades_v == "texto"){
				if(oForm[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+"\n";
				}
			}else if(propiedades_v == "telefono"){
				tmp = oForm[nombre_v].value.replace("-","").replace("+","").replace("(","").replace(")","").replace(" ","").replace(" ","").replace(" ","").replace(" ","").replace(" ","");
				if(oForm[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+"\n";
				}else if(isNaN(Number(tmp))){
				   error_v += errores[5].replace("WWWW",respuesta_v)+"\n";
				}
			}else if(propiedades_v == "numero"){
				tmp = oForm[nombre_v].value;
				if(oForm[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+"\n";
				}else if(isNaN(Number(tmp))){
				   error_v += errores[3].replace("WWWW",respuesta_v)+"\n";
				}
			}else if(propiedades_v == "rango"){
				tmp = oForm[nombre_v].value;
				tmp2 = tamano_v.split("-");
				//alert(tmp);
				if(oForm[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+"\n";
				}else if(isNaN(Number(tmp)) && tmp.length > 0){
				   	error_v += errores[3].replace("WWWW",respuesta_v)+"\n";
				}else if(Number(tmp)< Number(tmp2[0]) || Number(tmp)> Number(tmp2[1])){
					if(tmp.length > 0){
						error_v += errores[7].replace("WWWW",respuesta_v).replace("RRRR1",tmp2[0]).replace("RRRR2",tmp2[1])+"\n";
					}
				}
			}else if(propiedades_v == "email"){
			    tmp = oForm[nombre_v].value;
				valido = true;
				arroba = tmp.indexOf("@",0);
				if(arroba == -1 || arroba < 2){
					valido = false;
				}
				punto = tmp.lastIndexOf(".",tmp.length);
				if(punto < arroba || punto == -1 || punto > tmp.length - 2){
				   valido = false;	
				}
				if(oForm[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+"\n";
				}
				if(!valido && tmp.length > 1){
				   error_v += errores[2].replace("WWWW",respuesta_v)+"\n";	
				}
					
			}
		
		}else if(tipo_v == "select"){
			if(propiedades_v == "valor"){
				if(oForm[nombre_v].value.length == "" && requerido_v){
					error_v += errores[4].replace("WWWW",respuesta_v)+"\n";
				}
			}
		}else if(tipo_v =="area"){
			if(propiedades_v == "maximo"){
				if(oForm[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+"\n";
				}else if(oForm[nombre_v].value.length > tamano_v){
					error_v += errores[6].replace("WWWW",respuesta_v).replace("XXXX",tamano_v)+"\n";
				}
			}
		}else if(tipo_v =="radio"){
			if(propiedades_v == "valor"){
				tmp = false;
				for(j=0;j<oForm[nombre_v].length;j++){
					if(oForm[nombre_v][j].checked){
						tmp = true;
					}
				}
				if(!tmp && requerido_v){
					error_v += errores[4].replace("WWWW",respuesta_v)+"\n";
				}
			}
		}else if(tipo_v =="checkbox"){
			if(propiedades_v == "aviso"){
				if(!oForm[nombre_v].checked && requerido_v){
					error_v += errores[8]+"\n";
				}
			}
		}
		
	}
	if(error_v.length > 1){
		alert(errores[0]+"\n\n"+error_v);
	}else{
		oForm.submit();	
	}
}

