<!--

function validarForm(formulario){

	/*************************************************************************************
	* FUNCION: VALIDAFORM
	* AUTOR: PABLO ARIEL GARCIA
	* FECHA: 2003/10/08 01:00:00
	**************************************************************************************

	validarForm(formulario)
	formulario = NOMBRE DEL FORM A VALIDAR 
	*/

	var msg = '';

	//RECORRO CADA UNO DE SUS ELEMENTOS BUSCANDO DEL FORMULARIO
	//LOS QUE DEBEN COMPLETARSE OBLIGATORIAMENTE

	for(j=0; j<formulario.length; j++){
	
		var obj = formulario.elements(j) ;

		//_r requerido validar que este completo
		//_rn requerido validar que este completo (númerico)
		//_rf requerido validar fecha (10 caracteres)
		//_r3 requerido validar (n caracteres)
		//_re requerido validad email

		var elemento = obj.id.split('_');
		
		var e_nombre = elemento[0];
		var e_tipovalidar = elemento[1];
		
		if ((e_tipovalidar == 'r') | (e_tipovalidar == 'rn' ) | (e_tipovalidar == 'rf' ) | (e_tipovalidar == 're' )){ 
		
			//COMPROBACIONES DEPENDIENDO EL TIPO DE CAMPO
			switch (obj.type) {

			   case 'text' :

					if (trims(obj.value).length == 0) {

						msg += '- ' + e_nombre + "\n" ;

					}
					else{
						if (e_tipovalidar == 'rn' ) { //campo númerico
						
							if (!esNumero(obj.value)){
								msg += '- ' + e_nombre + " admite solo nros\n" ;
							}
						}
						

						// valido que el texto ingresado sea válido
						if (e_tipovalidar == 'r' ) {
						
							if (!validaTexto(obj.value)){
								msg += '- ' + e_nombre + " tiene carácteres no permitidos\n" ;
							}
						}


						if (e_tipovalidar == 'rf' ) { //campo fecha
						
							if (!esFecha(obj.value)){
								msg += '- ' + e_nombre + " debe ingresar una fecha Ej. 01-01-2004\n" ;
							}
						}

						if (e_tipovalidar == 're' ) { //campo email
						
							if (!esEmail(obj.value)){
								msg += '- ' + e_nombre + " debe ingresar un e-Mail correcto\n" ;
							}
						}


					}

					break ;
			   case 'hidden' :
					if (trims(obj.value).length == 0) {
						msg += '- ' + e_nombre + "\n" ;
					}
					break ;
			   case 'password' :
					if (trims(obj.value).length == 0) {
						msg += '- ' + e_nombre + "\n" ;
					}
					break ;
			   case 'textarea' :
					if (trims(obj.value).length == 0) {
						msg += '- ' + e_nombre + "\n" ;
					}
					break ;
			   case 'select-one' :
					if (obj[obj.selectedIndex].value == '') {
						msg += '- ' + e_nombre + "\n" ;
					}
					break ;
			   case 'checkbox' :
					if (obj.checked == false) {
						msg += '- ' + e_nombre + "\n" ;
					}
					break ;
			   case 'radio' :
					if (obj.checked == false) {
						msg += '- ' + e_nombre + "\n" ;
					}
					break ;
			   default :
 					break ;
			}  

		}

	}
	
	//MUESTRO MENSAJE DE FORMULARIOS INCOMPLETOS
	if (msg.length != 0) {
		msg = 'Faltan los siguientes datos:\n\n' + msg ;
		alert(msg) ; return false ;
	}else{

		return true ;

	}
}

var cuota = false;
var tarjetas = false;

function validarForm2(formulario, obj){

	if (obj.value == "fax"){return true;}
	else{

		var msg = '';
		
		if (!tarjetas){ msg += '- Tarjeta' + "\n" ;}
		
		if (!cuota){ msg += '- Cuotas' + "\n" ;}
		

		for(j=0; j<formulario.length; j++){
		
			var obj = formulario.elements(j) ;

			var elemento = obj.id.split('_');
			
			var e_nombre = elemento[0];
			var e_tipovalidar = elemento[1];
			
			if ((e_tipovalidar == 'r') | (e_tipovalidar == 'rn' ) | (e_tipovalidar == 'rf' ) | (e_tipovalidar == 're' )){ 
			
				//COMPROBACIONES DEPENDIENDO EL TIPO DE CAMPO
				switch (obj.type) {

				   case 'text' :

						if (trims(obj.value).length == 0) {

							msg += '- ' + e_nombre + "\n" ;

						}
						else{
							if (e_tipovalidar == 'rn' ) { //campo númerico
							
								if (!esNumero(obj.value)){
									msg += '- ' + e_nombre + " admite solo nros\n" ;
								}
							}
							

							// valido que el texto ingresado sea válido
							if (e_tipovalidar == 'r' ) {
							
								if (!validaTexto(obj.value)){
									msg += '- ' + e_nombre + " tiene carácteres no permitidos\n" ;
								}
							}


							if (e_tipovalidar == 'rf' ) { //campo fecha
							
								if (!esFecha(obj.value)){
									msg += '- ' + e_nombre + " debe ingresar una fecha Ej. 01-01-2004\n" ;
								}
							}

							if (e_tipovalidar == 're' ) { //campo email
							
								if (!esEmail(obj.value)){
									msg += '- ' + e_nombre + " debe ingresar un e-Mail correcto\n" ;
								}
							}


						}

						break ;
				   case 'hidden' :
						if (trims(obj.value).length == 0) {
							msg += '- ' + e_nombre + "\n" ;
						}
						break ;
				   case 'password' :
						if (trims(obj.value).length == 0) {
							msg += '- ' + e_nombre + "\n" ;
						}
						break ;
				   case 'textarea' :
						if (trims(obj.value).length == 0) {
							msg += '- ' + e_nombre + "\n" ;
						}
						break ;
				   case 'select-one' :
						if (obj[obj.selectedIndex].value == '') {
							msg += '- ' + e_nombre + "\n" ;
						}
						break ;
				   case 'checkbox' :
						if (obj.checked == false) {
							msg += '- ' + e_nombre + "\n" ;
						}
						break ;
				   case 'radio' :
						if (obj.checked == false) {
							msg += '- ' + e_nombre + "\n" ;
						}
						break ;
				   default :
						break ;
				}  

			}

		}
		
		//MUESTRO MENSAJE DE FORMULARIOS INCOMPLETOS
		if (msg.length != 0) {
			msg = 'Faltan los siguientes datos:\n\n' + msg ;
			alert(msg) ; return false ;
		}else{

			return true ;

		}
		
	}
	
}


function trims(texto){

	var c;
   	var inicio = -1;
	var fin = -1;
	var str = texto;

	for(var pos = 0; pos < str.length; pos ++){
		c = str.charAt(pos);

		if (inicio == -1 && c != " ") inicio = pos;
		if (inicio != -1 && c != " ") fin = pos + 1;
	}

	if (inicio == -1) texto = "";                               
	if (inicio != -1 && fin == -1) texto = str.substring(inicio, inicio + 1);
	if (inicio != -1 && fin != -1) texto = str.substring(inicio, fin);

	return texto ;

}                                  

function esNumero(valor){
	var str = valor;
	var letra;

	//varifico caracter por caracter si es un valor númerico

	for (var pos = 0; pos < str.length; pos ++){
		letra = str.charAt(pos);

		if (letra != "."){
			if (isNaN(letra) || letra == " "){
				return(false);
			}
		}
	}
		
	return(true);
}


function esFecha(valor){

	
	if (valor.length != 10){
		return(false);
	}

	return(true);

}

function validaTexto(texto){

	var valid_flag = false;
	var a_to_z = "abcdefghijklmnñopqrstuvwxyz";
	var ascii_arr = a_to_z.toUpperCase();
	 		
	ascii_arr += a_to_z;
	ascii_arr += "._@";
	ascii_arr += " "; //el espacio
	ascii_arr += ",";
	ascii_arr += "0123456789";
	ascii_arr += "<>=()&$?¿!¡*+-/;,{}[]#";

	var loc;

	for(b = 0; b < texto.length; b++){

		loc = ascii_arr.indexOf(texto.charAt(b));

		if (loc == -1){
			return false;
		}
		else{
			return true;
		}            

	}                   
	
}

function esEmail(valor){
	
	s = trims(valor);

	var add = jtrim(valor);
	var at = parseInt(s.indexOf("@"));
	var dot = parseInt(s.indexOf("."));  

	if(at == -1 || dot == -1){ //debe haber @ y .
		return false;
	}

	if(s.lastIndexOf("@") > at){	//solo 1 @
		return false; 
	}

	if(s.length <= 5){		//debe tener + de 5 caracteres
		return false; 
	}

	if(at > s.lastIndexOf(".")){	//@ debe estar antes del .
		return false; 
	}

	if(at > s.lastIndexOf(".")){	//@ debe estar antes del .
		return false; 
	}

	if(at < 1){          //@ no puede ser la 1ra letra del email
		return false;
	}
 
	if(add.lastIndexOf(".") + 2 >= add.length){	// debe haber 2 caracteres despues del .
		return false;
	}

	if(at+ 1== add.lastIndexOf(".")){ //entre @ y . debe hacer 1 caracter
		return false;
	}

	return(true);

}

function jtrim(a){
	var x, y, z, str;

	str = "";
		
	for(z = a.length - 1; z >= 0; z --){	//determinig the end point
		if(a.charAt(z) != " ") break;
	}

	for(y = 0; y <= z; y ++){		//determing the start point
		if(a.charAt(y) != " ") break;
	}

	for(x = y; x <= z; x ++){         	//inputting in the variable str
		str += a.charAt(x);
 		} 

	return str;
}

//-->

