// JavaScript Document
<!--
var oDhtml, nIdSeleccionado,  lNetScape4Used = (document.layers)?true:false, lNetScape6Used=document.getElementById&&!document.all, lExplorerUsed=document.all;

function abre(url,ancho,alto){ 
   window.open(url,'','width='+ancho+',height='+alto+',,,,,status,,');
 }
 
function MuestraFormulario(sLayer)
{
	oDhtml=lNetScape6Used? document.getElementById(sLayer) : eval("document.all." + sLayer);
	
	if (lExplorerUsed||lNetScape6Used)
	{
		oDhtml.style.top=document.body.scrollTop;
		oDhtml.style.visibility="visible";
	}
	else if (lNetScape4Used)
		{
			eval("document." + sElementID + ".top=document.body.scrollTop;");
			eval("document." + sElementID + ".visibility=visible;");
		}
	
}
	
function OcultaFormulario()
{
	if (lExplorerUsed||lNetScape6Used)
		oDhtml.style.visibility="hidden";
	else if (lNetScape4Used)
		eval("document.AddPricePerProvinceLayer.visibility= hide;");
	
}
	

function checkall(formname,checkname,thestate){
var el_collection=eval("document.forms."+formname+"."+checkname)
var total=eval("document.forms."+formname+"."+checkname+".length")
if (total==undefined) total=1
for (c=0;c<total;c++)
{ eval("document.forms."+formname+".elements["+c+"].checked="+thestate)}
}

function submitonce(){
		for (i=0;i<document.datos.length;i++){
			var tempobj=document.datos.elements[i]
			if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
				tempobj.disabled=true
		}
}

function envia(valor,pagina){
document.forms.datos.acc.value=valor;
document.forms.datos.pag.value=pagina;
var st=arma_cadena('datos','v1');
if (st == true) document.forms.datos.submit();
else alert ("Tiene que tener seleccionado al menos un registro")
}

function arma_cadena (formname,checkname) {
	var total=eval("document.forms."+formname+"."+checkname+".length")
	if (total==undefined) total=1
	var arreglo=Array();
	var variable=''
	var cont=0
	var res=true
	for (var j = 0; j < total; j++) {
		variable=eval("document.forms."+formname+".elements["+j+"].value")
		estado=eval("document.forms."+formname+".elements["+j+"].checked")
		if (estado == true) {
			arreglo[cont] = variable
			cont++;
		}
		
	}
	if (cont != 0) str = arrayToString(arreglo)
	else {
		str=''
		res=false
	}
	document.forms.datos.cadena.value=str
	return (res)
}

function arrayToString(ary)
{
  var s='';
  for(var i=0; i<ary.length; i++)
  {
    if(i==0) s+=ary[i];
    else     s+=','+ary[i]; 
  }
  return s;
}

function IsAlphaNum( str ) {
	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str+"" == "null" || str+"" == "")	
	  {	
		return false;
      }
	var isValid = true;
	
	// convert to a string for performing string comparisons.
   	str += "";	

	// Loop through length of string and test for any alpha numeric 
	// characters
   	for (i = 0; i < str.length; i++)
   	{
			// Alphanumeric must be between "0"-"9", "A"-"Z", or "a"-"z"
      	if (!(((str.charAt(i) >= "0") && (str.charAt(i) <= "9")) || 
      			((str.charAt(i) >= "a") && (str.charAt(i) <= "z")) ||
      			((str.charAt(i) >= "A") && (str.charAt(i) <= "Z")) ||
				(str.charAt(i) == "-") || (str.charAt(i) == "_") || 
				(str.charAt(i) == "(") || (str.charAt(i) == ")") ||
				(str.charAt(i) == ",") || (str.charAt(i) == ";") ||  
				(str.charAt(i) == "/") || (str.charAt(i) == " ") || (str.charAt(i) == "á")
				|| (str.charAt(i) == "é") || (str.charAt(i) == "í")|| (str.charAt(i) == "ú")
				|| (str.charAt(i) == "ó") || (str.charAt(i) == ".")
				|| (str.charAt(i) == "Á") || (str.charAt(i) == "É")
				|| (str.charAt(i) == "Í") || (str.charAt(i) == "Ó") || (str.charAt(i) == "Ú")
				|| (str.charAt(i) == "ñ") || (str.charAt(i) == "Ñ")))
			{
				isValid = false;
				break;
			}	
   	} // END for   
   	return isValid;
}  // end IsAlphaNum

function Trim( s ) 
{
	var i = 0;
	if( s.length > 0 ) 
	{
		while( s.charAt( i ) == " " )
			i++;
		if( i > 0 ) s = s.substring( i, s.length );
	}
	i = 0;
	if( s.length > 0 ) 
	{
		while( s.charAt( s.length - i - 1 ) == " " )
			i++;
		if( i > 0 ) s = s.substring( 0, s.length - i );
	}
	return s;
}

function valHora(oTxt){
var bOk = false;
var nHora = parseInt(oTxt.value.substr(0, 2), 10);
bOk = bOk || ((nHora >= 1) && (nHora <= 12));
return bOk;
}

function valMinutos(oTxt){
var bOk = false;
var nMinutos = parseInt(oTxt.value.substr(3, 2), 10);
bOk = bOk || ((nMinutos >= 0) && (nMinutos <= 59));
return bOk;
}

function valPunto(oTxt){
var bOk = false;
bOk = bOk || (oTxt.value.charAt(2) == ":");
return bOk;
}

function valHorario(oTxt)
{
	var bOk = true;
	if ((oTxt.value != "") && (oTxt.value !="00:00:00"))
	{
		bOk = bOk && (valHora(oTxt));
		bOk = bOk && (valPunto(oTxt));
		bOk = bOk && (valMinutos(oTxt));
	}
return bOk;
}

function esDigito(sChr){
var sCod = sChr.charCodeAt(0);
return ((sCod > 47) && (sCod < 58));
}

function valSep(oTxt){
var bOk = false;
bOk = bOk || ((oTxt.value.charAt(4) == "-") && (oTxt.value.charAt(7) == "-"));
bOk = bOk || ((oTxt.value.charAt(4) == "/") && (oTxt.value.charAt(7) == "/"));
return bOk;
}

function finMes(oTxt){
//var nMes = parseInt(oTxt.value.substr(3, 2), 10);
var nMes = parseInt(oTxt.value.substr(5, 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(8, 2), 10);

bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));

return bOk;
}

function valMes(oTxt){
var bOk = false;
var nMes = parseInt(oTxt.value.substr(5, 2), 10);

bOk = bOk || ((nMes >= 1) && (nMes <= 12));
return bOk;
}

function valAno(oTxt){
var bOk = true;
//var nAno = oTxt.value.substr(6);
var anno = Trim(oTxt.value);
var nAno = parseInt(anno.substr(0, 4), 10);
var cAno = anno.substring(0, 4);
bOk = bOk && ((cAno.length == 2) || (cAno.length == 4));
if (bOk){
for (var i = 0; i < cAno.length; i++){
bOk = bOk && esDigito(cAno.charAt(i));
//alert(nAno.charAt(i));
}
}
return bOk;
}

function validaFecha(oTxt)
{
	var bOk = true;
	if ((oTxt.value != "") && (oTxt.value !="0000-00-00"))
	{
		bOk = bOk && (valAno(oTxt));
		bOk = bOk && (valMes(oTxt));
		bOk = bOk && (valDia(oTxt));
		bOk = bOk && (valSep(oTxt));
	}
	
return bOk;
}

function IsNum(numstr) {
	if (numstr+"" == "undefined" || numstr+"" == "null" || numstr+"" == "")	
		return false;
	var cnum= Trim(numstr);
	if (cnum == "0") 	return false;
	var isValid = true;
	var decCount = 0;		// number of decimal points in the string
	numstr += "";	
	for (i = 0; i < numstr.length; i++) {
		if (numstr.charAt(i) == ".")
			decCount++;
    	if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9") || 
				(numstr.charAt(i) == "-") || (numstr.charAt(i) == "."))) {
			//alert ('entre')
       	isValid = false;
       	break;
		} else if ((numstr.charAt(i) == "-" && i != 0) ||
				(numstr.charAt(i) == "." && numstr.length == 1) ||
			  (numstr.charAt(i) == "." && decCount > 1)) {
		//alert ('entre1')
      	isValid = false;
       	break;
      }         	         	       
   } // END for   
   	return isValid;
}  // end IsNum

function DiffDays(S2, S1) {
 var X = ReadISO8601date(S2) ; if (X<0) return "Date 1 bad"
 var Y = ReadISO8601date(S1) ; if (Y<0) return "Date 2 bad"
 return (Date.UTC(X[0], X[1]-1, X[2])-Date.UTC(Y[0], Y[1]-1, Y[2]))/86400000
 }
 
function valida_fecha(planilla) {
var time = new Date()
 dia1 = time.getDate()
 if (dia1 < 10) dia1='0'+dia1
 mes1 = time.getMonth()
 mes1 = mes1+1
 mesx=mes1
 if (mes1 < 10) mes1='0'+mes1
 ano1 = time.getFullYear()
 cadena = ano1+'-'+mes1+'-'+dia1
 cadena2=eval("document.forms."+planilla+".fecha.value")
 alert (cadena+" y "+cadena2)
var cadena2=''
 if (cadena2 == '') {
	 alert ("Por favor entre un valor para la fecha");
	 return false
 }
 resta = DiffDays(cadena2, cadena)
alert ('Valor de la resta:' + resta)
if (resta >= 0) {
alert ('Fecha no válida, solamente puede seleccionar la fecha o anterior')
return false
} else return true

}
  function calendarCallback(date, month, year)
  {
   if (date < 10 ) date= "0" + date;
   if (month < 10) month="0" + month;
   date = year + '-' + month + '-' + date;
   document.general.fechai.value = date;
   document.general.fecha.value = date;
   }
   
function EsFecha(oTxt) {
	var bOk = true;
	var fecha = Trim(oTxt);
	if ((fecha == "") || (fecha == "00/00/0000") || (fecha == "00-00-0000")) {bOk = true;}
	else if (fecha.length != 10) {bOk = false;}
	else 
	{
		// Validar el año
        var cAno = fecha.substr(6, 4);
        var nAno = parseInt(fecha.substr(6, 4), 10);		
        for (var i = 0; i < cAno.length; i++)
          bOk = bOk && esDigito(cAno.charAt(i));
		// Validar el mes
        var nMes = parseInt(fecha.substr(3, 2), 10);
        bOk = bOk && ((nMes >= 1) && (nMes <= 12));
        // Ultimo dia del mes
		nRes = new Array(13); 
		nRes[1] = 31;
        if ((nAno%4)==0) 
		  {nRes[2] = 29;} 
		else 
		  {nRes[2] = 28;}
        nRes[3] = 31;
        nRes[4] = 30;
        nRes[5] = 31;
        nRes[6] = 30;
        nRes[7] = 31;
        nRes[8] = 31;
        nRes[9] = 30;
        nRes[10] = 31;
        nRes[11] = 30;
        nRes[12] = 31;
        // Validar el dia
		var nDia = parseInt(fecha.substr(0, 2), 10);
        bOk = bOk && ((nDia >= 1) && (nDia <= nRes[nMes]));
		// Validar el separador
		bOk = bOk && ((fecha.charAt(2) == "-") || (fecha.charAt(2) == "/"));
        bOk = bOk && ((fecha.charAt(5) == "-") || (fecha.charAt(5) == "/"));
	}
return bOk;
}


// -->