var N
N=""
function VerificarNumero(text,e)
{	
 	if( EsNumero(e.keyCode) || EsFlecha(e.keyCode) || e.keyCode==46 || e.keyCode==8 || e.keyCode==20 || e.keyCode==45 )		//verifica si es numero
		N=text.value	
	else
		text.value=N
}

function VerificarComprobante(text,e)
{
 	if( EsNumero(e.keyCode) || e.keyCode==45 )		//verifica si es numero
		N=text.value	
	else
		text.value=N
}

function EsFlecha(n)
{
	if ( ( n == 37  ) || ( n == 38  ) || ( n == 39  ) || ( n == 40  ) || ( n == 45 ))
		return true;
	else
		return false;
}

function EsNumero(n)
{
	if ( ( n>=48 && n <= 57 ) || ( n>=96 && n <= 105 ) )
		return true;
	else
		return false;
}

//function trim( str ) {
//  var sResultado = "";
//
// sResultado = trimleft(str);
//  sResultado = trimright(sResultado);
//
//  return sResultado;
//}

function ltrim(s) {  return s.replace(/^\s+/, "");}
function rtrim(s) {  return s.replace(/\s+$/, "");}
function trim(s) {  return rtrim(ltrim(s));}

function mezclado( array ) {
    array.sort(function() {return 0.5 - Math.random();});
    //return true;
}

function generar_contrasena(cajaTexto,cajaTexto2){
    //El tamaño por defecto es de 6 caracteres
    var tam = 6;
    //La cadena con todos los posibles caracteres
    var cadena = "0123456789abcdefghijklmnopqrstuvwxyz";
    //var cadena = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var contrasena = "";
    var valores = new Array(6);
    //Generación aleatoria 
    for (i = 0; i < tam; i++){
        //Guardamos los caracteres escogidos al azar
        valores[i] = cadena.charAt(Math.floor(Math.random()*(36)));
    }        
    //Desordenamos el arreglo.        
    mezclado(valores);
    //se devuelve la contraseña
    for (j = 0; j < tam; j++){
        contrasena = contrasena + valores[j];
    }
    cajaTexto.value = contrasena;
    cajaTexto2.value = contrasena;
}

function resetea_contrasena(cajaTexto,cajaTexto2,txtRuc){
    cajaTexto.value = txtRuc;
    cajaTexto2.value = txtRuc;
}

function cambioCheck(btnGenerar,chkAcceso,cajaTexto, cajaTexto2){
    if (chkAcceso.checked == false){
        cajaTexto.disabled = true ;
        cajaTexto2.disabled = true;
        btnGenerar.disabled = true;
    }else{
        cajaTexto.disabled  = false;
        cajaTexto2.disabled  = false;
        btnGenerar.disabled = false;
    }
}

function comprobar_igualdad_adm(txtRuc, chkAcceso, cajaTexto, cajaTexto2){
    
    if ( (trim(cajaTexto.value) == "")  && (trim(cajaTexto2.value) == "") && (chkAcceso.checked != false)){
        alert ("Debe escribir o generar una contraseña");
    }else if ( cajaTexto.value != cajaTexto2.value ) {
        alert("Las contraseñas no son iguales");
    }else{
        if(confirm( 'Desea guardar los cambios ?' )){
            
          if (chkAcceso.checked != false){
            document.fAdmContrasena.action="inicio?accion=grabaContrasenaAdm&sClave="+cajaTexto.value+"&txtRuc="+txtRuc.value;
          }
          else{
              document.fAdmContrasena.action="inicio?accion=grabaContrasenaAdm&txtRuc="+txtRuc.value;
          }
          document.fAdmContrasena.submit();
        }
    }
}

function comprobar_igualdad(txtRuc, cajaTexto, cajaTexto2){
    
    if ( (trim(cajaTexto.value) == "")  && (trim(cajaTexto2.value) == "") ){
        alert ("Debe escribir o resetear la contraseña");
    }else if ( cajaTexto.value != cajaTexto2.value ) {
        alert("Las contraseñas no son iguales");
    }else if ( cajaTexto.value.length < 6 ) {
        alert("La contraseña debe tener mas de 5 dígitos por seguridad");
    }
    else{
        if(confirm( 'Desea guardar los cambios ?' )){          
          document.fCambioContrasena.action="inicio?accion=grabaContrasena&sClave="+cajaTexto.value+"&txtRuc="+txtRuc;
          document.fCambioContrasena.submit();
        }
    }
}

function calcular_anios_diferencia(fecha1,fecha2){ 
   
    //calculo la fecha de inicio
    //La descompongo en un array 
    var array_fechaIni = fecha1.value.split("-") 
    //si el array no tiene tres partes, la fecha es incorrecta 
    if (array_fechaIni.length!=3) 
       return false 

    //compruebo que los ano, mes, dia son correctos 
    var anoIni 
    anoIni = parseInt(array_fechaIni[2]); 
    if (isNaN(anoIni)) 
       return false 

    var mesIni 
    mesIni = parseInt(array_fechaIni[1],10); 
    if (isNaN(mesIni)) 
       return false 

    var diaIni 
    diaIni = parseInt(array_fechaIni[0]); 
    if (isNaN(diaIni)) 
       return false 

    //calculo la fecha de fin 
    //La descompongo en un array 
    var array_fechaFin = fecha2.value.split("-") 
    //si el array no tiene tres partes, la fecha es incorrecta 
    if (array_fechaFin.length!=3) 
       return false 

    //compruebo que los ano, mes, dia son correctos 
    var anoFin
    anoFin = parseInt(array_fechaFin[2]); 
    if (isNaN(anoFin)) 
       return false 

    var mesFin
    mesFin = parseInt(array_fechaFin[1],10); 
    if (isNaN(mesFin)) 
       return false 

    var diaFin 
    diaFin = parseInt(array_fechaFin[0]); 
    if (isNaN(diaFin)) 
       return false 
    
    //si el año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4 
    if (anoIni<=99) 
       anoIni +=1900 
   
    //si el año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4 
    if (anoFin<=99) 
       anoFin +=1900 

    //resto los años de las dos fechas 
    edad=anoFin - anoIni - 1; //-1 porque no se si ha cumplido años ya este año 

    //si resto los meses y me da menor que 0 entonces no ha cumplido años. Si da mayor si ha cumplido 
    //if (mesFin + 1 - mesIni < 0) //+ 1 porque los meses empiezan en 0 
    //   return edad 
    //if (mesFin + 1 - mesIni > 0) 
    //   return edad+1 
    if (mesFin - mesIni > 0)
        return edad+1;
    if (mesFin - mesIni < 0)
        return edad;
    
    //entonces es que eran iguales. miro los dias 
    //si resto los dias y me da menor que 0 entonces no ha cumplido años. Si da mayor o igual si ha cumplido 
    if (diaFin - diaIni > 0) 
       return edad + 1 
   
    return edad 
} 

function valida_fechas(fecha1,fecha2){
    var diferencia = calcular_anios_diferencia(fecha1,fecha2);
    if (diferencia < 1){
        document.consultaFecha.action="inicio?accion=mostrarResultadoMonitor&fecha_ini="+fecha1.value+"&fecha_fin="+fecha2.value;
        document.consultaFecha.submit();
    }else{
        alert("El rango de las fechas como maximo puede ser de un año");
        //document.consultaFecha.action="inicio?accion=mostrarMonitor";
    }
}

function WrapTextArea() {
	if (document.all) { 
		var cObj=txtObs.parentNode.nextSibling;
		if (cObj.style.whiteSpace=="nowrap") {
			cObj.style.whiteSpace="normal";
		} else {
			cObj.style.whiteSpace="nowrap";
		}
	} else {
		var check=txtObs.parentNode.nextSibling.nextSibling;
		var cObj=txtObs.parentNode.nextSibling.nextSibling.childNodes[1].childNodes;
		if (check.getAttribute("wrapped")==null || check.getAttribute("wrapped")=="" || check.getAttribute("wrapped")=="false") {
			check.setAttribute("wrapped", "true");
			var max_len=55;
			for (var i=0; i<cObj.length; i++) {
				var ih=cObj[i].innerHTML;
				if (ih!=null) {
					if (ih.length>max_len) {
						var rstr="";
						for (var c=0; c<ih.length/max_len; c++) {
							rstr+=ih.substr(c*max_len, max_len)+"<br>";
						}
						cObj[i].innerHTML=rstr;
						rstr="";
					}
				}
			}
		} else {
			/*undo wrap */
			check.setAttribute("wrapped", "false");
			check.innerHTML=check.innerHTML.replace(/<BR>/gi, "");
		}
	}
}


function Completar(caja, largoMax)
{
    var i=0,j=0;
    var ceros = "";
    var cadena = "";
    for (i = 1; i <= largoMax ; i++){        
      cadena = "" + document.getElementById(caja).value;
      if (cadena.length==i){
          for (j = 1; j <= (largoMax - i) ; j++){
            ceros = ceros + "0";
          }
      }
    }
    document.getElementById(caja).value = ceros + document.getElementById(caja).value;
}


