// JavaScript Document
// Nombre del archivo: validacion.js
// validador de formularios para paginas web
// Autor: Jose Sotero Vibriezca Venegas
// Fecha: 7/abril/2008
// Fuente: www.forosdelweb.com

    function valida_numeros()
    { 
        var key=window.event.keyCode;
        
        if (key < 48 || key > 57)
        {
            window.event.keyCode=0;
        }
    } 
    
    function valida_letras(acepta_espacio)
    { 
        var key=window.event.keyCode;
        
        if ( (key < 65 || key > 90) && (key < 97 || key > 122) )
        {
            if (acepta_espacio == true && key == 32)
            { 
                return;
            }
            
            window.event.keyCode=0;
        }
    }
    
    function valida_letras_y_numeros(acepta_espacio)
    { 
        var key=window.event.keyCode;
        
        if ( (key < 65 || key > 90) && (key < 97 || key > 122)  && (key < 48 || key > 57) )
        {
            if (acepta_espacio == true && key == 32)
            { 
                return;
            }
            
            window.event.keyCode=0;
        }
    }
	
	function textCounter(field, maxlimit)
	{
		maxlimit = maxlimit - 1;
		
		if (field.value.length > maxlimit) 
		{
			//field.value = field.value.substring(0, maxlimit);  // este estaba mal por k la ultima letra la cambiaba
			window.event.keyCode=0;
		}
	}
	
	function mostrar_ocultar(idCapa)
	{
		if (document.getElementById(idCapa).style.display == "block")
		{
			document.getElementById(idCapa).style.display='none';
		}
		else
		{
			document.getElementById(idCapa).style.display='block';
		}
	}
	
	function visualizar(idCapa,ver)
	{
		if (ver == false)
		{
			document.getElementById(idCapa).style.display='none';
		}
		else
		{
			document.getElementById(idCapa).style.display='block';
		}
	}
	
	function valida_TXT_llenos(arr_campos,arr_nombre)
	{
		var ok=true;
		var str="Le falta por llenar los campos:";
		
		for(i=0;i<arr_campos.length;i++)
			if (document.getElementById(arr_campos[i]).value.length == 0) 
			{
				str = str + "\n - " + arr_nombre[i]
				ok = false;
			}

		if(ok == false)
			alert(str);
			
		return ok;
	}
	
	function currencyFormat(fld, milSep, decSep, e)
	{ 
		if(fld.value.length>13)
		{
			return false;
		}
		
		
		var sep = 0;
		var key = '';
		var i = j = 0;
		var len = len2 = 0;
		var strCheck = '0123456789';
		var aux = aux2 = '';
		var whichCode = (window.Event) ? e.which : e.keyCode;
		
		if (whichCode == 13)
			return true; // Enter

		key = String.fromCharCode(whichCode); // Get key value from key code
		if (strCheck.indexOf(key) == -1)
			return false; // Not a valid key

		len = fld.value.length;
		for(i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep))
				break;
				
		aux = '';
		for(; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
			
		aux += key;
		len = aux.length;
		
		if (len == 0)
			fld.value = '';
			
		if (len == 1)
			fld.value = '0'+ decSep + '0' + aux;
			
		if (len == 2)
		fld.value = '0'+ decSep + aux;
		
		if (len > 2)
		{
			aux2 = '';
			for (j = 0, i = len - 3; i >= 0; i--)
			{
				if (j == 3)
				{
					aux2 += milSep;
					j = 0;
				}
				
				aux2 += aux.charAt(i);
				j++;
			}
			
			fld.value = '';
			len2 = aux2.length;
			for (i = len2 - 1; i >= 0; i--)
				fld.value += aux2.charAt(i);
				
			fld.value += decSep + aux.substr(len - 2, len);
		}
		
		return false;
	}
	
	function textCounter(field, countfield, maxlimit)
	{ 
		if (field.value.length > maxlimit) 
			field.value = field.value.substring(0, maxlimit); 
		else  
			countfield.value = maxlimit - field.value.length; 
	} 