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

************************************************************************************************************/

registroNEW = new Array("");
function crearegistroNEW(nombre, tipo, propiedades, tamano, respuesta,requerido){
	registroNEW[registroNEW.length] = new Array(nombre, tipo, propiedades, tamano, respuesta,requerido);
}
error_v = "";
function compruebaNuevoRegistro(oFormNREG){
	//oFormNREG = document.base;
	error_v ="";
	for(var i=1; i<= registroNEW.length-1; i++){
		nombre_v = registroNEW[i][0];
		tipo_v = registroNEW[i][1];
		propiedades_v = registroNEW[i][2];
		tamano_v = registroNEW[i][3];
		respuesta_v = registroNEW[i][4];
		if(registroNEW[i][5] == "R"){
			requerido_v = true;
		}else{
			requerido_v = false;
		}
		if(tipo_v == "text"){	
		    if(propiedades_v == "texto"){
				if(oFormNREG[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+"\n";
				}
			}else if(propiedades_v == "telefono"){
				tmp = oFormNREG[nombre_v].value.replace("-","").replace("+","").replace("(","").replace(")","").replace(" ","").replace(" ","").replace(" ","").replace(" ","").replace(" ","");
				if(oFormNREG[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 = oFormNREG[nombre_v].value;
				if(oFormNREG[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 = oFormNREG[nombre_v].value;
				tmp2 = tamano_v.split("-");
				//alert(tmp);
				if(oFormNREG[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 = oFormNREG[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(oFormNREG[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"){
				//valPas = document.base.getElementById("ValidPassword").value;
			
				valPas =  oFormNREG[registroNEW[(i+1)][0]].value; //registroNEW[i][1];
				tmp = oFormNREG[nombre_v].value;
				if(oFormNREG[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+ tmp + valPas +"\n";
					
				}else if(oFormNREG[nombre_v].value.length < 5){
				//error_v += errores[9].replace("WWWW",respuesta_v)+ tmp + valPas +"mayor\n";
				error_v += errores[9].replace("WWWW",respuesta_v).replace("XXXX",tamano_v)+"\n";
				}
			}else if(propiedades_v == "PasswordVAL"){
				//valPas = document.base.getElementById("ValidPassword").value;
			
				valPas =  oFormNREG[registroNEW[(i-1)][0]].value; //registroNEW[i][1];
				Valoranterior =  oFormNREG[registroNEW[(i-1)][0]]; //registroNEW[i][1];
				tmp = oFormNREG[nombre_v].value;
				if(oFormNREG[nombre_v].value != valPas){
				error_v += errores[10].replace("WWWW",respuesta_v).replace("XXXX",Valoranterior)+"\n";
					
				}
			}else if(propiedades_v == "emailValidar"){
                                //valPas = document.base.getElementById("ValidPassword").value;
                        
                                valemail =  oFormNREG[registroNEW[(i-1)][0]].value;
                                Valoranterior =  oFormNREG[registroNEW[(i-1)][0]];
                                if(oFormNREG[nombre_v].value != valemail){
                                error_v += errores[10].replace("WWWW",respuesta_v).replace("XXXX",Valoranterior)+"\n";
                                        
                                }
                        }

		}else if(tipo_v == "select"){
			if(propiedades_v == "valor"){
				if(oFormNREG[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(oFormNREG[nombre_v].value.length == 0 && requerido_v){
					error_v += errores[1].replace("WWWW",respuesta_v)+"\n";
				}else if(oFormNREG[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<oFormNREG[nombre_v].length;j++){
					if(oFormNREG[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(!oFormNREG[nombre_v].checked && requerido_v){
					error_v += errores[8]+"\n";
				}
			}
		}
		
	}
	if(error_v.length > 1){
// 		alert(errores[0]+"\n\n"+error_v);
  jAlert('error', error_v, 'Error');              
	}else{
		oFormNREG.submit();	
	}
}

