/* funcion para confirmar passwd para modificar la antigua */

function confirmarpasswd(form){
	if( (form.usuario.value != "") && (form.usuario.value != " ") ){
		if( (form.oldpasswd.value != "") && (form.oldpasswd.value != " ") ){//passwd antigua vienen a vacio con espacios.
			if( (form.newpasswd.value != "") && (form.confipasswd.value != "") &&
				 (form.newpasswd.value != " ") && (form.confipasswd.value != " ") ){//vienen a vacio con espacios.			
				if(form.newpasswd.value == form.confipasswd.value){ //nueva passwd es igual a si misma. 
					form.submit();
				}else{
					alert("Error en la confirmación de la password, \nno coinciden la nueva password y la confirmación");
					form.confipasswd.value = "";
					form.newpasswd.focus();
					form.newpasswd.select();
				}
			}else{
				alert("Error en los campos de Password nueva \ny Confirmar password nueva ");
					form.confipasswd.value = "";
					form.newpasswd.focus();
					form.newpasswd.select();		
			}
		}else{
			alert("Error en el campo de Password antigua");
			form.oldpasswd.focus();
			form.oldpasswd.select();
		}
	}else{
		alert("Error en el campo usuario");
		form.confipasswd.value = "";
		form.usuario.focus();
		form.usuario.select();
	}
}

/***********************************************************/


     
function isMail(campo) {
	Cadena = campo.value;
	Punto = Cadena.substring(Cadena.lastIndexOf('.') + 1, Cadena.length)			// Cadena del .com
	Dominio = Cadena.substring(Cadena.lastIndexOf('@') + 1, Cadena.lastIndexOf('.')) 	// Dominio @lala.com
	Usuario = Cadena.substring(0, Cadena.lastIndexOf('@'))					// Cadena lalala@
	Reserv = "@/º\"\'+*{}\\<>?¿[]áéíóú#·¡!^*;,:"						// Letras Reservadas
	
	valido = true
	
	// verifica que el Usuario no tenga un caracter especial
	for (var Cont=0; Cont<Usuario.length; Cont++) {
		X = Usuario.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1)
                	valido = false
	}

	// verifica que el Punto no tenga un caracter especial
	for (var Cont=0; Cont<Punto.length; Cont++) {
		X=Punto.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1)
			valido = false
	}
                        
	// verifica que el Dominio no tenga un caracter especial
	for (var Cont=0; Cont<Dominio.length; Cont++) {
		X=Dominio.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1)
			valido = false
		}

	// Verifica la sintaxis básica.....
	if (Punto.length<2 || Dominio <1 || Cadena.lastIndexOf('.')<0 || Cadena.lastIndexOf('@')<0 || Usuario<1) {
		valido = false
	}

	if (valido) {
		return true
	} else {
		alert("Error : mail (" + Cadena + ")");
		return false
	}
} // fin isMail

function isNumeric(numeric){
	if (!isNaN(numeric.value)){
		return true
	}else{
		alert ("Error : no numérico (" + numeric.value + ") "+ " " + numeric.name);
		return false
	}
} // fin isNumeric


function isNumeric1(numeric,campo, entrega){
	if (!isNaN(numeric.value)){
		return true
	}else{
		alert("Error: campo ' " + campo + "' de " + entrega + " direccion de entrega no numérico");
		//alert ("Error : no numérico (" + numeric.value + ") "+ " " + numeric.name);
		return false
	}
} //

function isEmpty(full){
	if (full.value != ""){
		return true
	}else{
		alert ("Error : campo vacío (" + full.name + ")");
		return false
	}
} // fin isEmpty

function isEmpty1(full,campo,entrega){
	if (full.value != ""){
		return true
	}else{
		alert("Error: campo ' " + campo + "' de " + entrega + " direccion de entrega vacio");
		//alert ("Error : campo vacío (" + full.name + ")");
		return false
	}
} // fin isEmpty

function isEmpty2(full,campo){
	if (full.value != ""){
		return true
	}else{
		alert ("Error : campo vacío (" + campo + ")");
		return false
	}
} 

function isSpace(campo){
	Cadena = campo.value;
	if (Cadena.indexOf(' ') < 0){
		return true
	}else{
		alert ("Error : espacios (" + Cadena + ") "+ " " + campo.name);
		return false
	}
} // fin isSpace

function isLong(campo, integer){
	Cadena = campo.value;
	if (Cadena.length == integer){
		return true
	}else{
		alert ("Error : logitud distinta (" + campo.name + ") a " + integer + " caracteres");
		return false
	}
} // fin isLong

function isMaxLong(campo, integer){
	Cadena = campo.value;
	total = parseInt(integer, 10) - 1;
	if (Cadena.length < integer){
		return true
	}else{
		alert ("Error : logitud superior (" + campo.name + ") a " + total + " caracteres");
		return false
	}
} // fin isMaxLong

function isMaxLong1(campo, integer,texto){
	Cadena = campo.value;
	total = parseInt(integer, 10) - 1;
	if (Cadena.length < integer){
		return true
	}else{		
		alert("Error : logitud superior (" + texto + ") a " + total + " caracteres");
		return false
	}
} // fin isMaxLong

function isMinLong(campo, integer){
	Cadena = campo.value;
	if (Cadena.length > integer){
		return true
	}else{
		total = parseInt(integer, 10) + 1
		alert ("Error : logitud inferior (" + campo.name + ") a " + total + " caracteres");
		return false
	}
} // fin isMinLong

function isMinLong1(campo, integer,texto){
	Cadena = campo.value;
	if (Cadena.length > integer){
		return true
	}else{
		total = parseInt(integer, 10) + 1
		alert ("Error : logitud inferior (" + texto + ") a " + total + " caracteres");
		return false
	}
} // fin isMinLong

function compDate(fecha){
	var separador = true;
	camp = fecha.value;
	if ((camp != "") && (camp != " ")){
		if (camp.length == 10){
			separador = compSeparator(camp);
			if (separador == true){
				return true;	
			}else{
				return false;
			}
		}else{
			alert(" No cumple con los caracteres de la fecha  " +"\n\t" + camp + " ' formato dd/mm/aaaa '");
			return false;
		}
	}else{
		alert(" campo fecha vacio o con espacios  ");
		return false;
	}
}
function compSeparator(camp){
//comprobamos si es numerico con las posiciones dia mes año
	var dd = camp.substring(0,2);
	var mm = camp.substring(3,5);
	var aa = camp.substring(6,10);
	var sep = "/";
	var comSepddmm = camp.substring(2);
	var comSepmmaa = camp.substring(5);
	var parser = true;
	
	if (!isNaN(dd)){
		if (!isNaN(mm)){
			if (!isNaN(aa)){
				if (comSepddmm == sep + mm + sep + aa){
					if (comSepmmaa ==  sep + aa){
						parser = parserDate(dd , mm , aa , camp);
						if (parser == true){
							return true;
						}else{
							return false;
						}
					}else{ alert("El formato de fecha es dd/mm/aaaa ");return false;}
				}else{ alert("El formato de fecha es dd/mm/aaaa ");return false; }
			}else{	alert ("Año es numérico" + "\n\tAño: " + aa);return false; }
		}else{  alert ("Mes es numérico" + "\n\tMes: " + mm);return false; }
	}else{	alert ("Día es numérico" + "\n\tDía: " + dd);return false; }
}
function parserDate(dd , mm , aa , camp){
	var arrayMonth = new Array (31,29,31,30,31,30,31,31,30,31,30,31);
	var dd = parseInt(dd,10);
	var mm = parseInt(mm,10);
	var aa = parseInt(aa,10);
	var compbisiesto = true;
		
	if (dd == 0){
		alert("Nunca el día puede ser '0'")
		return false;
	}else{
		if (dd > arrayMonth[mm - 1]){
			alert("Este mes no tiene " + dd + " días" );
			return false;
		}else{
			if ( mm == 0 ){
				alert("Nunca el mes puede ser '0'");
				return false;
			}else{
				if ( mm > 12 ){ 
					alert("Nunca el mes puede ser mayor que '12'");
					return false;
				}else{			
					if ( (dd == arrayMonth[1]) &&  ((mm - 1) == 1) ){
						 compbisiesto = bisiesto(aa,camp);
						if (compbisiesto == true){
							return true;	
						}else{
							return false;
						}
					}else{
						return true;
					}
					
				}
			}
		}
	}
}
function bisiesto(aa,camp){
	if ( (aa % 4 == 0) && (aa % 100 != 0) || (aa % 400 == 0) ){
		/* AQUI SE PUEDE LLAMAR A CUALQUIER SITIO PUES LA FECHA ESTÁ BIEN */
		return true;
	}else{
		alert("El año no es bisiesto " + camp);
		return false;
	}

}
