errores_array = new Array();
errores_array[0] = new Array("","Se han encontrado los siguientes errores:","Les erreurs suivants ont été trouvées.","The following errors have been found:");
errores_array[1] = new Array("","- El campo WWWW debe rellenarse.","Le champ WWWW doit être rempli.","- The field WWWW must be filled out.");
errores_array[2] = new Array("","- El campo WWWW debe ser un email valido.","Le champ WWWW doit être une addresse d'e-mail courante.","- The field WWWW must feature a valid e-mail address.");
errores_array[3] = new Array("","- El campo WWWW debe ser de tipo numérico.","Le champ WWWW doit être de valeur numérique.","- The field WWWW must feature a numerical value.");
errores_array[4] = new Array("","- Debes seleccionar un valor en el campo WWWW.","Il faut introduire un valeur au champ WWWW","- You have to select a value for field 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","Le champ WWWW doit être un numéro de téléphone, i.e. (+33) 4 68 98 46 98 02","- The field WWWW must feature a valid telephone number: i.e. (+1) 212 429-3105 or (+44) 20 7720 1030");
errores_array[6] = new Array("","- El campo WWWW debe tener un máximo de XXXX caracteres.","Le champ WWWW en peut dépasser de XXXX caractères.","- The field WWWW can contain upto XXXX characters.");
errores_array[7] = new Array("","- El campo WWWW debe estar entre RRRR1 y RRRR2.","Le champ WWWW doit se situer entre RRRR1 et RRRR2","- The field WWWW can range from RRRR1 to RRRR2.");
errores_array[8] = new Array("","- Debe marcar la opción 'He leído el Aviso Legal'.","Il est obligatoire de marquer 'J'ai lu les Contextes Légales et je suis d'accord avec leur contenus.'","- You must check the option 'I have read the Legal Disclaimer'.");

errores_array[9] = new Array("","- El campo WWWW ha de ser de XXXX caracteres.","- The field WWWW can contain upto XXXX characters.","- Il campo WWWW deve avere un massimo di XXXX caratteri.");
errores_array[10] = new Array("","- El campo WWWW ha de tener entre 6 y 10 caracteres.","- The field WWWW should be among 6 to 10 characters.","- The field WWWW should be among 6 to 12 characters.");
errores_array[11] = new Array("","- Incorrect WWWW .","- Incorrect WWWW .","- Incorrect WWWW .");

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 compCampos(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(propiedades_v == "password"){
			    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[10].replace("WWWW",respuesta_v).replace("XXXX",tamano_v)+"\n";
				}else if(oForm[nombre_v].value.length < 6){
					error_v += errores[10].replace("WWWW",respuesta_v).replace("XXXX",tamano_v)+"\n";
				}else if(oForm[nombre_v].value.search(/'|%|!|·|&|¿|]|{|}|}/) != -1){
					error_v += errores[11].replace("WWWW",respuesta_v).replace("XXXX",tamano_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();	
	}
}
