//************************************************************

// Funcion que permite saber si una variable existe dentro de la forma

//************************************************************



function js_ExisteElemento(forma,elemento)

{ for (var i = 0; i < forma.length; i++) {

       if (forma.elements[i].name == elemento) {

          return 1; }

 } return 0;

}

//



//************************************************************

// Verifica si es una cadena está vacía.

//************************************************************



function isEmpty(s)

{   return ((s == null) || (s.length == 0))

}





//************************************************************

// Verifica si es una cadena contiene sólo espacios en blanco,

// tabuladores, o retornos de linea)

//************************************************************

function isWhitespace (s)



{   var i;

     var whitespace = " \t\n\r";

    if (isEmpty(s)) return true;

    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        // si el caracter en que estoy no aparece en whitespace,

        // entonces retornar falso

        if (whitespace.indexOf(c) == -1) return false;

    }

    return true;

}



//************************************************************

// Quita todos los caracteres que que estan en "bag" de la cadena

//  "s".

//************************************************************

function stripCharsInBag (s, bag)

{   var i;

    var returnString = "";



    // Buscar por el string, si el caracter no esta en "bag",

    // agregarlo a returnString



    for (i = 0; i < s.length; i++)

    {   var c = s.charAt(i);

        if (bag.indexOf(c) == -1) returnString += c;

    }



    return returnString;

}



//************************************************************

// Quita espacios en blanco

//************************************************************



function trim(cadena)

{ 

  cadenaE="";

  for (i=0;i<cadena.length;i++)

  {     letra=cadena.substring(i,i+1);

    if (letra!=' ') { cadenaE=cadenaE + letra; }

  }

  return(cadenaE);

}



//************************************************************

// Verifica si es un caracter es una letra.

//************************************************************

function isLetter (c)

{



var lowercaseLetters = "abcdefghijklmnopqrstuvwxyzáéíóúñü.,"

var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ"

    return( ( uppercaseLetters.indexOf( c ) != -1 ) ||

            ( lowercaseLetters.indexOf( c ) != -1 ) )

}



//************************************************************

// Verifica si un caracter es un número

//************************************************************

function isDigit (c)

{   return ((c >= "0") && (c <= "9"))

}



//************************************************************

// Verifica si una cadena contiene sólo letras o números

//************************************************************

function isAlphanumeric (s)

{   var i;



    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        if (! (isLetter(c) || isDigit(c) ) )

        return false;

    }



    return true;

}



//************************************************************

// Verifica si una cadena contiene  solo números

//************************************************************

function EsNumero(s)

{   var i;



    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        if (! (isDigit(c) ) )

        return false;

    }



    return true;

}



function isNumber(inputVal)

{

    for (var i = 0; i < inputVal.length; i++)

    {

	var oneChar = inputVal.charAt(i)

	if (oneChar < "0" || oneChar > "9")

	return false;

    }

    return true;

}





//************************************************************

// Verifica si una cadena es un número real

//************************************************************



function EsReal(numero)

 {

   Decimal=false

   numerostr="" + numero

   for (var i=0; i < numerostr.length; i++) {

   var caracter=numerostr.charAt(i)

   if (caracter== "." && !Decimal) {

      Decimal=true

      continue

   }



   if (caracter==",")

   {

	continue

   }



   if (caracter < "0" || caracter > "9") {

       return false

   }

 }



 if (numero>9999999999999.99)

 {

 	return false

 }

 return true



}



//************************************************************

// Verifica si una cadena contiene sólo letras.

//************************************************************



function isAlphabetic (s)

{   var i;



    for (i = 0; i < s.length; i++)

    {

        // Check that current character is letter.

        var c = s.charAt(i);



        if (!isLetter(c))

             return false;

    }

    return true;

}



//************************************************************

// Verifica si es una cadena es un nombre válido: tiene sólo letras,

// números o espacios en blanco.

//************************************************************

function EsNombre (s)

{



     var whitespace = " \t\n\r";

     variable=stripCharsInBag( s, whitespace )



     return( isAlphabetic(variable) );

}





//************************************************************

// Verifica si es una cadena es una dirección de correo válida

//************************************************************

function EsEmail (s)

{

    if (isWhitespace(s)) return false;



    var i = 1;

    var sLength = s.length;



    while ((i < sLength) && (s.charAt(i) != "@"))

    { i++

    }



   if ((i >= sLength) || (s.charAt(i) != "@"))  return false;

    else i += 2;



    while ((i < sLength) && (s.charAt(i) != "."))

    { i++

    }



    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;

    else return true;

}



//************************************************************

// Verifica si una cadena es una dirección (ubicación) válida

//************************************************************

function EsDireccion (s)

{   var i;



     var whitespace = " \t\n\r";

     s=stripCharsInBag( s, whitespace )



    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        if (! (isLetter(c) || isDigit(c) || (c==".") ) )

        return false;

    }



    return true;

}





 function fnumero(numero)

     { for (var i = 0; i < numero.length; i++)

         { var carac = numero.substring(i,i+1)

         if (carac < "0" || carac > "9")

          {

             return false;

          }

         }

     return true;

     }

//************************************************************

// Verifica si una cadena es un número de teléfono válido

//************************************************************

function EsTelefono (s)

{

     var modString;

    var phoneChars = "()-+ ";



    modString = stripCharsInBag( s, phoneChars );



      if (modString.length < 6 )

    { return false;    }

    variable =  fnumero(modString)



    return variable;

}



//************************************************************

// Verifica si una cadena es una fecha válida.

//************************************************************

function valida_fecha(mes,dia,ano)

{



	dia=trim(dia)

	mes=trim(mes)

	ano=trim(ano)



	if (! EsNumero(dia)) 	return false;

	if (! EsNumero(mes)) 	return false;

	if (! EsNumero(ano)) 	return false;





	if(dia.substring(0,1)=='0')

	{

		dia=dia.substring(1,2)

	}



	if(mes.substring(0,1)=='0')

	{

		mes=mes.substring(1,2)

	}





	if (mes < 1 || mes > 12)

	   return false;

	if (dia < 1 || dia > 31)

	   return false;

	if (ano < 1754 || ano > 9999)

	   return false;





	if(mes==2 && dia>29)   	//valida Febrero

	   return false;



	if ((ano%4)!=0 && dia ==29 && (mes==2)) // año bisiesto

	{

		return false;

	}



	if ((mes==4||mes==6||mes==9||mes==11)& dia>30) //Meses de 30 dias.

		return false;

	return true;

 }





//************************************************************

// Verifica si una cadena es válida como login o password

//************************************************************



function isLoginPass(inputVal)

{



    if (fnumero(inputVal))

    {

    	alert("Ingrese una cadena que contenga caracteres y numeros");

    	return false;

    }



    return isAlphanumeric(inputVal);



}





//************************************************************

// Verifica si una cadena contiene sólo letras o números

//************************************************************



function isLoginPassword (s)

{   var i;



    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        // if ( (c >= "a" && c <= "z") || (c >= "A" && c <= "Z") )

        // {	}



        if ( c == "á" || c == "é" || c == "í" || c == "ó" || c == "ú" )

        {	return false;	}

    }



    return true;

}



//************************************************************

// Verifica si una palabra se encuentra en una cadena

//************************************************************



function Pal_in_Cad (cadena, palabra)

{   var i, longpalabra, longcadena, fin;



	longcadena  = cadena.length;

	longpalabra = palabra.length;





    fin=0;

    i=0;

    if (longcadena >= longpalabra)

    {

		while ( !fin && i<longcadena)

		{

			if (palabra == cadena.substring(i,i+longpalabra))

			{	fin=1;

				return false;

			}

			i=i+1;

		}

	}



    return true;

}


<!--
var nav4 = window.Event ? true : false;
function acceptNum(evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var key = nav4 ? evt.which : evt.keyCode;	
return (key <= 13 || (key >= 48 && key <= 57));
}
//-->

 
 function caracter(field) 
{
  var valid = "'!|#$%&/()=?¡¿°\{}¨*~[]"
  var ok = "no";
  var temp;

if (field.value.length > 0 )
{
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "yes";
	}


	if (ok == "no") 
		{
		alert("No son validos los siguientes caracteres \n\r\n\r @ $ % ^ ' * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\r ");
		field.focus();
		field.select();
		return false;
		}

}
return true;
}



function numero(field) 
{
  var valid = "0123456789"
  var ok = "yes";
  var temp;
	
if (field.value.length > 0 )
{
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}


	if (ok == "no") 
		{
		alert("Este campo solo acepta números");
		field.focus();
		field.select();
		return false;
		}

	if (field.value < 0)
	{
		alert("Ingrese un numero mayor");
		field.focus();
		field.select();
		return false;
	}
	

	return true;
}
return true;
}

function numero_ano(field) 
{
  var valid = "0123456789"
  var ok = "yes";
  var temp;

if (field.value.length > 0 )
{
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}


	if (ok == "no") 
		{
		alert("Este campo solo acepta números");
		field.focus();
		field.select();
		return false;
		}
/*
	if (field.value < 1)
	{
		alert("Ingrese un numero mayor");
		field.focus();
		field.select();
		return false;
	}
	
		if (field.value > 40)
	{
		alert("Ingrese un numero menor");
		field.focus();
		field.select();
		return false;
	}*/
	
	return true;
}
return true;
}


function numero_mes(field) 
{
  var valid = "0123456789"
  var ok = "yes";
  var temp;
	
if (field.value.length > 0 )
{
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}


	if (ok == "no") 
		{
		alert("Este campo solo acepta números");
		field.focus();
		field.select();
		return false;
		}
/*
	if (field.value < 1)
	{
		alert("Ingrese un numero mayor");
		field.focus();
		field.select();
		return false;
	}
	
		if (field.value > 12)
	{
		alert("Ingrese un numero menor a 12");
		field.focus();
		field.select();
		return false;
	}*/
	return true;
}
return true;
}


function numero_dias(field) 
{
  var valid = "0123456789"
  var ok = "yes";
  var temp;
	
if (field.value.length > 0 )
{
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}


	if (ok == "no") 
		{
		alert("Este campo solo acepta números");
		field.focus();
		field.select();
		return false;
		}
/*
	if (field.value < 1)
	{
		alert("Ingrese un numero mayor");
		field.focus();
		field.select();
		return false;
	}
	
	if (field.value > 31)
	{
		alert("Ingrese un menor a 31");
		field.focus();
		field.select();
		return false;
	}*/	
	return true;
}
return true;
}


function esDigito(sChr){
var sCod = sChr.charCodeAt(0);
return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt){
var bOk = false;
bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
return bOk;
}
function finMes(oTxt){
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
var nRes = 0;
switch (nMes){
case 1: nRes = 31; break;
case 2: nRes = 29; break;
case 3: nRes = 31; break;
case 4: nRes = 30; break;
case 5: nRes = 31; break;
case 6: nRes = 30; break;
case 7: nRes = 31; break;
case 8: nRes = 31; break;
case 9: nRes = 30; break;
case 10: nRes = 31; break;
case 11: nRes = 30; break;
case 12: nRes = 31; break;
}
return nRes;
}
function valDia(oTxt){
var bOk = false;
var nDia = parseInt(oTxt.value.substr(0, 2), 10);
bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
return bOk;
}
function valMes(oTxt){
var bOk = false;
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
bOk = bOk || ((nMes >= 1) && (nMes <= 12));
return bOk;
}
function valAno(oTxt){
var bOk = true;
var nAno = oTxt.value.substr(6);
bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
if (bOk){
for (var i = 0; i < nAno.length; i++){
bOk = bOk && esDigito(nAno.charAt(i));
}
}
return bOk;
}
function valFecha(oTxt){
var bOk = true;
if (oTxt.value != ""){
bOk = bOk && (valAno(oTxt));
bOk = bOk && (valMes(oTxt));
bOk = bOk && (valDia(oTxt));
bOk = bOk && (valSep(oTxt));
if (!bOk){
alert("Fecha inválida ingrese en formato dd/mm/aaaa");
oTxt.value = "";
oTxt.focus();
}
}
}


function dni(frm_sancion) 
{
	var er_dni = /(^([0-9]{8,8})|^)$/				//8 números

	//comprueba campo dni
	if(!er_dni.test(frm_sancion.txt_nro_documento.value)) { 
		alert('Contenido del campo dni no válido deben ser 8 digitos.')
		return false
	}

return false			//cambiar por return true para ejecutar la accion del formulario
}


function dni2(a) 
{
	var er_dni = /(^([0-9]{8,8})|^)$/				//8 números

	//comprueba campo dni
	if(!er_dni.test(a.vc_dni.value)) { 
		alert('Contenido del campo dni no válido deben ser 8 digitos.')
		return false
	}

return false			//cambiar por return true para ejecutar la accion del formulario
}

//Sumando cantidad de meses a una fecha

function cerosIzq(sVal, nPos){ 
    var sRes = sVal; 
    for (var i = sVal.length; i < nPos; i++) 
     sRes = "0" + sRes; 
    return sRes; 
   } 

   function armaFecha(nDia, nMes, nAno){ 
    var sRes = cerosIzq(String(nDia), 2); 
    sRes = sRes + "/" + cerosIzq(String(nMes), 2); 
    sRes = sRes + "/" + cerosIzq(String(nAno), 4); 
    return sRes; 
   } 

   function sumaMes(nDia, nMes, nAno, nSum){ 
    if (nSum >= 0){ 
     for (var i = 0; i < Math.abs(nSum); i++){ 
      if (nMes == 12){ 
       nMes = 1; 
       nAno += 1; 
      } else nMes += 1; 
     } 
    } else { 
     for (var i = 0; i < Math.abs(nSum); i++){ 
      if (nMes == 1){ 
       nMes = 12; 
       nAno -= 1; 
      } else nMes -= 1; 
     } 
    } 
    return armaFecha(nDia, nMes, nAno); 
   } 

   function calcula(){ 
    var sFc0 = document.frm_sancion.TxtIniAnno.value; // Se asume válida 
    var nSum = parseInt(60); 
    var sFc1 = sFc0; 
    var Tipo = document.frm_sancion.cbo_tip_sancion.value;
   
   if (Tipo=="1" || Tipo=="2" || Tipo=="7" || Tipo=="8") 
   {
    if (!isNaN(nSum)){ 
     var nDia = sFc0.substr(0, 2);
     
	 if (sFc0.substr(3, 2)!="08" && sFc0.substr(3, 2)!="09"){
      var nMes = parseInt(sFc0.substr(3, 2)); 
     }else if (sFc0.substr(3, 2)=="08"){
      var nMes = parseInt(8); 
     }else{
      var nMes = parseInt(9);
     }

     var nAno = parseInt(sFc0.substr(6, 4)); 
     sFc1 = sumaMes(nDia, nMes, nAno, nSum); 

    } 
    document.frm_sancion.TxtFinAnno.value = sFc1; 
   }
    
   } 
   
   function Enlace(Objeto){
   Tipo = document.frm_sancion.cbo_tip_sancion.value
   
   if (Tipo=="1" || Tipo=="2" || Tipo=="7" || Tipo=="8" || Tipo=="9") 
   {
	calcula() 
	show_calendar(Objeto)  
   }else if (Tipo=="5" || Tipo=="10") 
   {
	show_calendar(Objeto)
   }
   
   
   }


   function Deshabilita_Sancion(){
   
   Tipo = document.frm_sancion.cbo_tip_sancion.value
   
   if (Tipo=="3" || Tipo=="4" || Tipo=="6") 
   {
   document.frm_sancion.cbo_estado_sancion1.value="1"
   document.frm_sancion.cbo_estado_sancion.value="1"
   document.frm_sancion.TxtFinAnno.value = "00/00/0000"
   document.frm_sancion.TxtIniAnno.value = "00/00/0000"
   }else{
   document.frm_sancion.cbo_estado_sancion1.value="0"
   document.frm_sancion.cbo_estado_sancion.value="0"
   document.frm_sancion.TxtFinAnno.value = ""
   document.frm_sancion.TxtIniAnno.value = ""
   }

   }
   
   function Aviso_Actualizacion()
   {
   
   	if(confirm('Aviso esta a punto de actualizar el estado de los registros\nde sancionados\n\n                        ¿Desea continuar?'))	
	{
		document.location.href="san_actualiza_estado.asp"
	}
   
   }
   


