//Formatear valores num�ricos a moneda
function formatoMoneda(num) {
	num = num.toString().replace(/$|,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents < 10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents); 
}

function formatoMoneda4Dec(num) {
	num = num.toString().replace(/$|,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*10000+0.50000000001);
	cents = num%10000;
	num = Math.floor(num/10000).toString();
	if(cents < 10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)

	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}
//Para formato: $1.454.120,15
function formatoMonedaComa(num) {
	num = num.toString().replace(/$|,/g,'');
 
	if(isNaN(num))
		num = "0";

	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents < 10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	
	num = num.substring(0,num.length-(4*i+3))+'.'+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'') + '$' + num + ',' + cents); 
}

function formato4DecimalesComa(num) {
	num = num.toString().replace(/$|,/g,'');

	if(isNaN(num))
		num = "0";

	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents < 10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	
	num = num.substring(0,num.length-(4*i+3))+'.'+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'')  + num + ',' + cents); 
}


function formato4DecimalesPunto(num) {
	num = num.toString().replace(/$|,/g,'');

	if(isNaN(num))
		num = "0";

	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents < 10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	
	num = num.substring(0,num.length-(4*i+3))+'.'+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'')  + num + '.' + cents);

	
}
//para validar ingreso de monedas con coma: 1000,02
function solo_moneda_coma(e) 
{
    tecla = (document.all) ? e.keyCode : e.which;
if(tecla==46)tecla=44;
if (tecla==8) return true;
    if (tecla==0) return true;
    patron =/[0-9\,]/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}
//para validar el ingreso de texto sin apostrofes
function sin_apostrofes(e)
{
    tecla = (document.all) ? e.keyCode : e.which;

if (tecla==39 || tecla==222) return false;
else
    return true;
}
//valida expresiones regulares, no permite cracteres especiales 
// caracteres que permite: A-Za-zs /-/ñÑ1-9(),.:;'
function validar(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8) return true;
patron = /[A-Za-zs -ñÑ1-9(),.:;]/
te = String.fromCharCode(tecla);
return patron.test(te);
}
//para validar ingreso de monedas
function solo_moneda(e) 
{
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    if (tecla==0) return true;
    patron =/[0-9\.]/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}
//Para obtener variables float con dos decimales
function dosdecimales (valor)
{
	valor = valor*100;
	valor = Math.floor(valor);
	valor = valor/100;
	return valor;
}
function solo_numeros(e) { // 1
    tecla = (document.all) ? e.keyCode : e.which; // 2
    if (tecla==8) return true; // 3
    if (tecla==0) return true; // 3
    patron =/\d/; // 4
//	patron =/[A-Za-z\s]/; // 4
    te = String.fromCharCode(tecla); // 5
    return patron.test(te); // 6
}
function solo_numero_lic(e) 
{
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    if (tecla==0) return true;
    patron =/[0-9\.]/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}
 var objeto2;
    function soloDinero(objeto, e){
              var keynum
              var keychar
              var numcheck
              if(window.event){ /*/ IE*/
               keynum = e.keyCode
             }
             else if(e.which){ /*/ Netscape/Firefox/Opera/*/
               keynum = e.which
             } 
             if((keynum>=35 && keynum<=37) ||keynum==8||keynum==9||keynum==46||keynum==39) {
               return true;
             }
             if(keynum==190||keynum==110||(keynum>=95&&keynum<=105)||(keynum>=48&&keynum<=57)){
               posicion = objeto.value.indexOf('.');
               if(posicion==-1) {
                 return true;
               }else {
                 if(!(keynum==190||keynum==110)){
                   objeto2=objeto;
                   t = setTimeout('cuatroDecimales()',150);
                   return true;
                 }else{
                   objeto2=null;
                   return false;
                 }
               }
             }else {
               return false;
            }
           }


    function soloDineroDosDecimales(objeto, e){
              var keynum
              var keychar
              var numcheck
              if(window.event){ /*/ IE*/
               keynum = e.keyCode
             }
             else if(e.which){ /*/ Netscape/Firefox/Opera/*/
               keynum = e.which
             }
             if((keynum>=35 && keynum<=37) ||keynum==8||keynum==9||keynum==46||keynum==39) {
               return true;
             }
             if(keynum==190||keynum==110||(keynum>=95&&keynum<=105)||(keynum>=48&&keynum<=57)){
               posicion = objeto.value.indexOf('.');
               if(posicion==-1) {
                 return true;
               }else {
                 if(!(keynum==190||keynum==110)){
                   objeto2=objeto;
                   t = setTimeout('dosDecimales()',150);
                   return true;
                 }else{
                   objeto2=null;
                   return false;
                 }
               }
             }else {
               return false;
            }
           }

/**
 * funcion para validar el ingreso de calificaciones con solo un puinto
 **/
    function soloDinerocalf(a, objeto, e){
        
              var keynum
              var keychar
              var numcheck
              if(window.event){ /*/ IE*/
               keynum = e.keyCode
             }
             else if(e.which){ /*/ Netscape/Firefox/Opera/*/
               keynum = e.which
             }
             if((keynum>=35 && keynum<=37) ||keynum==8||keynum==9||keynum==46||keynum==39) {
               return true;
             }
             
             if(keynum==190||keynum==110||(keynum>=95&&keynum<=105)||(keynum>=48&&keynum<=57)){
               posicion = a.indexOf('.');
               if(posicion==-1) {
                 return true;
               }else {
                 if(!(keynum==190||keynum==110)){
                   objeto2=objeto;
                   t = setTimeout('dosDecimales()',150);
                   return true;
                 }else{
                   objeto2=null;
                   return false;
                 }
               }
             }else {
               return false;
            }
           }


function dosDecimales(){
         var objeto = objeto2;
          var posicion = objeto.value.indexOf('.');
          var decimal = 2;
          if(objeto.value.length - posicion < decimal){
            objeto.value = objeto.value.substr(0,objeto.value.length-1);
          }else {
           objeto.value = objeto.value.substr(0,posicion+decimal+1);
         }
         return;
       }

function cuatroDecimales(){
         var objeto = objeto2;
          var posicion = objeto.value.indexOf('.');
          var decimal = 2;
          if(objeto.value.length - posicion < decimal){
            objeto.value = objeto.value.substr(0,objeto.value.length-1);
          }else {
           objeto.value = objeto.value.substr(0,posicion+decimal+3);
         }
         return;
       }

function soloEnteros(objeto, e){
           var keynum
           var keychar
           var numcheck
           if(window.event){ /*/ IE*/
             keynum = e.keyCode
           }
           else if(e.which){ /*/ Netscape/Firefox/Opera/*/
             keynum = e.which
           }
           if((keynum>=35 && keynum<=37) ||keynum==8||keynum==9||keynum==46||keynum==39) {
             return true;
           }
           if((keynum>=95&&keynum<=105)||(keynum>=48&&keynum<=57)){
             return true;
           }else {
             return false;
           }
         }


//
//Para a�adir eventos cuando no se puede a�adirlos dentro de la programacion php
function addEvent(elemento,nomevento,funcion,captura)
{
  if (elemento.attachEvent)
  {
    elemento.attachEvent('on'+nomevento,funcion);
    return true;
  }
  else  
    if (elemento.addEventListener)
    {
      elemento.addEventListener(nomevento,funcion,captura);
      return true;
    }
    else
      return false;
}
//Para convertir cadenas a tipos fechas
function formatoFecha(cadena)
{
            var par = cadena.split(' ');
            dates = par[0].split('-');
            times = par[1].split(':');
            anio = dates[0];
            mes = dates[1]-1;
            dia = dates[2];
            hora = times[0];
            minuto = times[1];
            segundo = times[2];
            var fecha = new Date(anio, mes, dia, hora, minuto, segundo);
	//console.log("mes %s",mes);
            return fecha;

}



//Dar el formato en los campos requeridos
function mascara(caja)
{
	if(parseFloat(caja.value) > 0)
		caja.value = formatoMonedaComa(caja.value);
}


function f_numeros_decimales(e,val, num)
{
var punto;
var decimal;
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    if (tecla==0) return true;
    decimal=numeroDecimal(val.value);//verifica numero de decimales
    if (decimal> num ) return false;

    if (tecla==46 && val.value.indexOf('.')==-1)  return true;
       patron =/\d/; // 4
    te = String.fromCharCode(tecla); // 5
    return patron.test(te); // 6
}

function numeroDecimal(varTexto)
{
	var nuevaCadena;
	var Total=0;
	if (varTexto.indexOf('.')!=-1)
	    {
		nuevaCadena=varTexto.substring(varTexto.indexOf('.'),varTexto.length);
		if(nuevaCadena.length>2)
		    return nuevaCadena.length;
	    }
	    return Total;

}
/**
 * Funcion para validad el ingreso de numeros
 * e :evento que sucede cuando presiona presiona una tecla
 * val: El valor del campo de texto
 * dec: Numero de decimales que se necesita
 * Ejemplo: este es un ejempo de la llamada en un onkeypress
     * onkeypress='return SoloNumerosCantDecimales(event,this,6);'
 */

function SoloNumerosCantDecimales(e,val,dec)
{
var punto;
var decimal;
    dec=dec;
    
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    if (tecla==0) return true;
    decimal=verficaDecimal(val.value,dec);//verifica numero de decimales
    if (decimal>dec ) return false;
    if (tecla==46 && val.value.indexOf('.')==-1)  return true;
       patron =/\d/; // 4
    te = String.fromCharCode(tecla); // 5
    return patron.test(te); // 6
}

function verficaDecimal(varTexto,dec)
{
	var nuevaCadena;
	var Total=0;
	if (varTexto.indexOf('.')!=-1)
	    {
		nuevaCadena=varTexto.substring(varTexto.indexOf('.'),varTexto.length);
		if(nuevaCadena.length>dec)
		    return nuevaCadena.length;
	    }
	    return Total;
}



function verificaCampoAlfanumerico(e,campo)
{    
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8||tecla==32||tecla==13||tecla==0 ||tecla==46 ||tecla==44 || tecla==241|| tecla==209)return true;
     val = String.fromCharCode(tecla);
     var RegExPattern = /[0-9-A-z]/g;
     if ((val.match(RegExPattern)) && (val!='')) {
         return true;
     } else {  
         return false;
     }

}

function verificaCampoNumerico(e,campo)
{
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8||tecla==32||tecla==13||tecla==0 ||tecla==46 ||tecla==44 || tecla==241|| tecla==209)return true;
     val = String.fromCharCode(tecla);
     var RegExPattern = /[0-9]/g;
     if ((val.match(RegExPattern)) && (val!='')) {
         return true;
     } else {
         return false;
     }

}

function validaCajaTexto(objCajaTexto,objContador,tamanioMax){

    detalle = tamanioMax
    valorTexto = objCajaTexto.value
       var cuentaEnter
       var arregloEnter
       arregloEnter = valorTexto.split("\n");
       cuentaEnter = arregloEnter.length;
         cuentaEnter = cuentaEnter -1;

        totalc = detalle-(valorTexto.length+cuentaEnter);
        //alert(totalc)
        if (totalc<=0){

            objCajaTexto.value=valorTexto.substring(0,detalle-1);
            objContador.value=totalc;
            //if(objContador.value<=0)
              // objContador.value=0;


        }
        objContador.value=totalc;

         if(objContador.value<=0)
               objContador.value=0;

}

