/************************************************************************************************************
(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

************************************************************************************************************/
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();	
	}
}

