function Empty(value) {
    var pattern=new RegExp("^[ ]*$");
    return value.match(pattern) || value.length==0;
}
function isMail(e) {
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

	for(i=0; i < e.length ;i++){
		if(ok.indexOf(e.charAt(i))<0){ 
			return (false);
		}	
	} 

	if (document.images) {
		re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
		re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/;
		if (!e.match(re) && e.match(re_two)) {
			return (-1);		
		} 
	}
}
function isDate(value) {
    var pattern1=new RegExp("^(0[0-9]|[1-2][0-9]|30|31)-(0[13-9]|1[0-2])-[1-9][0-9][0-9][0-9]");
    var pattern2=new RegExp("^(0[0-9]|[1-2][0-9])-(0[0-9]|1[0-2])-[1-9][0-9][0-9][0-9]");
    
    var pattern3=new RegExp("^(0[0-9]|[1-2][0-9]|30|31)/(0[13-9]|1[0-2])/[1-9][0-9][0-9][0-9]");
    var pattern4=new RegExp("^(0[0-9]|[1-2][0-9])/(0[0-9]|1[0-2])/[1-9][0-9][0-9][0-9]");
    
    if (value.match(pattern1) || value.match(pattern2)) 
    { //con guion
        if (parseInt(value.substr(6,4))%4!=0 && parseInt(value.substr(3,2))==2 && parseInt(value.substr(0,2))==29) 
            return false;
        else return true;
    } else 
    {
        if (value.match(pattern3) || value.match(pattern4)) 
        { //con slash 
            if (parseInt(value.substr(6,4))%4!=0 && parseInt(value.substr(3,2))==2 && parseInt(value.substr(0,2))==29) 
                return false;
            else return true;
        }
    }
    
}

// isModule11: devuelve verdadero si value es valido para el modulo 11
function isModule11(value) {
    var pattern=new RegExp("^(([0-9]{1,2}\\.[0-9]{3}\\.[0-9]{3})|([0-9]{6,8}))\\-([0-9K])$", "i");
    var pattern_point=new RegExp("\\.", "g");
    var pattern_dv=new RegExp("([0-9]+)\\-([0-9K])", "i");
    value=Trim(value);
    if (value.match(pattern)) {
        value=value.replace(pattern_point, "");
        if (value.match(pattern_dv)) {
            number=new String(RegExp.$1);
            dv=new String(RegExp.$2);
            sum = 0;
            mul = 2;
            for (i = number.length - 1 ; i >= 0; i--) {
                sum += number.charAt(i) * mul;
                mul == 7 ? mul = 2:mul++;
            }
            rest = sum % 11;
            if (rest == 1) dvr = 'K';
            else if (rest == 0) dvr = '0';
            else  {
                dvr = 11-rest;
            }
            return dvr==dv.toUpperCase();
        }
    }
}
// LTrim: Quita espacios en blanco a la izquerda de una cadena
function LTrim(value) {
    var pattern=new RegExp("^\\s+", "g")
    return value.replace(pattern, "");
}
// RTrim: Quita espacios en blanco a la derecha de una cadena
function RTrim(value) {
    var pattern=new RegExp("\\s+$", "g")
    return value.replace(pattern, "");
}
// Trim: Quita espacios en blanco a la derecha y a la izquierda de una cadena
function Trim(value) {
    return RTrim(LTrim(value));
}

function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function func_pasa_a_fecha(Fecha){
    var partes = Fecha.split("-");
    var d = new Date(0);
    var ano = partes[2].split(" ");
    d.setFullYear(ano[0]);
    d.setMonth(partes[1]-1,partes[0]);
	 if (ano[1])
	 {
	        var hora = ano[1].split(":");
	        d.setHours(hora[0],hora[1]);
	 }
    return d.valueOf();
}
//funcion que compara dos fechas a < b = -1; b < a 1; a=b 0;
function func_compara_fechas(Fecha_i,Fecha_f){
    var n1=func_pasa_a_fecha(Fecha_i);
    var n2=func_pasa_a_fecha(Fecha_f);
    if (n1 < n2)
    return -1;
    if (n2 < n1)
    return 1;
    return 0;
}

function BuscaCombo (Obj,Valor)
{
    var i;    
    for (i=0;i<=Obj.options.length-1;i++)
    {    
        if (Obj.options[i].value == Valor)
        {
            Obj.selectedIndex = i;
            break;
        } 
    }        
}

function BuscaComboText (Obj,Valor)
{
    var i;    
    for (i=0;i<=Obj.options.length-1;i++)
    {    
        if (Obj.options[i].text == Valor)
        {
            Obj.selectedIndex = i;
            break;
        } 
    }        
}

var W3CDOM = (document.createElement && document.getElementsByTagName);

function initFileUploads() {
	if (!W3CDOM) return;
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefile';
	var falso=document.createElement('input');
	fakeFileUpload.appendChild(falso);
	falso.className = "fileupload";
	var image = document.createElement('img');
	image.src='images/button_select.gif';
	fakeFileUpload.appendChild(image);
	var x = document.getElementsByTagName('input');
	for (var i=0;i<x.length;i++) {
		if (x[i].type != 'file') continue;
		if (x[i].parentNode.className != 'fileinputs') continue;
		x[i].className = 'file hidden';
		var clone = fakeFileUpload.cloneNode(true);
		x[i].parentNode.appendChild(clone);
		x[i].relatedElement = clone.getElementsByTagName('input')[0];
		x[i].onchange = x[i].onmouseout = function () {
			this.relatedElement.value = this.value;
		}
	}
}
function isInteger (s)
   {
      var i;

      if (isEmpty(s))
      if (isInteger.arguments.length == 1) return 0;
      else return (isInteger.arguments[1] == true);

      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);

         if (!isDigit(c)) return false;
      }

      return true;
   }

   function isEmpty(s)
   {
      return ((s == null) || (s.length == 0))
   }

   function isDigit (c)
   {
      return ((c >= "0") && (c <= "9"))
   }

    function fncValidaForm(form)
    {

        if (Empty(document.getElementById("txtLoginFrm").value))
        {
            alert("Ingrese su R.U.T.");
            document.getElementById("txtLoginFrm").focus();
            return false;
        } 
        if (!isModule11(document.getElementById("txtLoginFrm").value))
        {
            alert("El R.U.T. no parece válido.");
            document.getElementById("txtLoginFrm").focus();
            return false;
        }     
        if (Empty(document.getElementById("txtPasswordFrm").value))
        {
            alert("Ingrese su password");
            document.getElementById("txtPasswordFrm").focus();
            return false;
        } 
        form.action="loginPost.aspx";
        form.submit();
    }
    function NumeroyGuion(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         
         if (charCode==45 || charCode==75 || charCode==107)
            return true;

            
         if ((charCode > 31 && ((charCode < 48 || charCode > 57))))
            return false;

         return true;
      }
  function NumeroySlash(evt)
  {
     var charCode = (evt.which) ? evt.which : event.keyCode
     
     if (charCode==47)
        return true;

         
     if ((charCode > 31 && ((charCode < 48 || charCode > 57))))
        return false;

     return true;
  }
