//FUNCIONES GENERALES


// Manejo texto Mozilla e IE
var isIE = (window.navigator.userAgent.indexOf("MSIE")> 0);  
if (! isIE)
{   
  HTMLElement.prototype.__defineGetter__("innerText",function () { return(this.textContent); });   
  HTMLElement.prototype.__defineSetter__("innerText",function (txt) { this.textContent = txt; });
}

var nav4 = window.Event ? true : false;
  function acceptNum(evt){ 
    var key = nav4 ? evt.which : evt.keyCode; 
    return (key <= 13 || (key >= 48 && key <= 57));
  }



//Muestra o no un objeto  1=si  0=no
function mostrar(tabla,nop)
{
 if (nop==1) {tabla.style.display=''; }  else {tabla.style.display='none';  	}
}

// Calcula Digito verificador run o cualquier numero
function cdv(T){var M=0,S=1;for(;T;T=Math.floor(T/10))
S=(S+T%10*(9-M++%6))%11;return S?S-1:'K';}


//Funciones Mensaje espera
function ventana_mensaje_abrir(ntexto)
{mensajefila('textomensaje',ntexto,0);MM_showHideLayers('Lmensaje','','show');}
function ventana_mensaje_cerrar(){MM_showHideLayers('Lmensaje','','hide');}



var abrirwf ='';
function cierraabrirwf() { if (!abrirwf.closed)  { abrirwf.close(); } }
function abrirventana(op,titu,ancho,alto)
{
 if (!abrirwf.closed && abrirwf.location)
 { abrirwf.focus(); } else { 		
   var URLOP=op;
   var paramvo="";
   var w=ancho,h=alto; 
   var winl = (screen.width - w) / 2;
   var wint = (screen.height - h) / 2;
   winpos ="height="+h+",width="+w+",top="+wint+",left="+winl;
            //paramvo = 'directories=0,toolbar=0,dependent=0,location=0,status=0,menubar=0,scrollbars=0,hotkeys=0,personalbar=0,resizable=0,'+winpos;
            paramvo = 'directories=0,toolbar=0,dependent=0,location=0,status=0,menubar=0,scrollbars=yes,hotkeys=0,personalbar=0,resizable=yes,'+winpos;
            titulo = titu;   
   abrirwf = window.open(URLOP,titulo,paramvo); 
  if (window.focus) {abrirwf.focus();}
   return false;
 }  
} 

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 MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
  
/*
 var ie4 = (document.all) ? true : false;  
 var ns4 = (document.layers) ? true : false;  
 var ns6 = (document.getElementById && !document.all) ? true : false;  
 var ie7 = (document.getElementById && document.all) ? true : false; 
   
   alert(ie7+ ' '+ ns4 + '  '+ ns6); //f f t mozilla  t f f ie7
 // Utilizamos esta función para ocultar la capa (objeto) cambiando la propiedad visibility|display al valor hidden|hide|none 
 function Ocultar(Capa) {  
     if (ie4) {document.all[Capa].style.visibility = "hidden";}  
     if (ns4) {document.layers[Capa].visibility = "hide";}  
     if (ns6) {document.getElementById([Capa]).style.display = "none";}  
 }  
   
 //  Esta función es análoga a la anterior con la diferencia que asigna el valor visible|show|block al objeto en su propiedad visibility|display 
 function Mostrar1(Capa) {  
     if (ie4) {document.all[Capa].style.visibility = "visible";}  
     if (ns4) {document.layers[Capa].visibility = "show";}  
     if (ns6) {document.getElementById([Capa]).style.display = "block";}  
 }  
*/  
  
  
function quickAjax( url, func, send, extra ) {
	var method = send == null ? 'GET' : 'POST';
	var text = null;
	var req;
	if( window.XMLHttpRequest ) {
		req = new XMLHttpRequest();
		req.onload = function() {
			if( func ) func( req.responseText, extra );
			text = req.responseText;
		}
	} else {
		req = new ActiveXObject( 'Microsoft.XMLHTTP' );
		req.onreadystatechange = function() {
			if( func ) func( req.responseText, extra );
			text = req.responseText;
		}
	}
	try {
		req.open( method, encodeURI( url ), func ? true : false );
	} catch( e ) {
		return 'error en req.open';
	}
	if( method == 'POST' ) {
		req.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );
		req.setRequestHeader( 'Connection', 'close' );
	}
	req.send( send );
	if( ! func ) return text;
}

  