// JavaScript Document
function win(){
	this.exec = function (){
		var b = document.getElementsByTagName('body')[0];
		var d = c('div',2);
			d[0].id="layerw0";
			d[0].style.display="none";
			d[1].id="layerw1";
			b.appendChild(d[0]);d[0].appendChild(d[1]);
			g('layerw1').appendChild(g('form1'));
			g('elm1').style.display="block";
		}
	this.show 	= function (){g("layerw0").style.display="block";}
	this.hidde 	= function (){g("layerw0").style.display="none";}	
	
	}
	
function Parseador(esto,con,en){
		en.innerHTML='';
		if (window.ActiveXObject)
		  {
		  var ex=esto.transformNode(con);
			en.innerHTML=ex;
		  }
		// code for Mozilla, Firefox, Opera, etc.
		else if (document.implementation 
		&& document.implementation.createDocument)
		  {
		  var xsltProcessor=new XSLTProcessor();
		  xsltProcessor.importStylesheet(con);
		  var resultDocument = xsltProcessor.transformToFragment(esto,document);
		 en.appendChild(resultDocument);
		  }
		}
/********************************************************************************************************************/
function ObjAjax(){
	this.XHRO = false;
        if (window.XMLHttpRequest) { this.XHRO = new XMLHttpRequest();
            if (this.XHRO.overrideMimeType) {this.XHRO.overrideMimeType('text/xml');}
        } else if (window.ActiveXObject) {try {this.XHRO = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {try {this.XHRO = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}}}
    if (!this.XHRO) {alert('Falla :( No es posible crear una instancia XMLHTTP');return false;} 
	this.SRS = function (pag,data){
				if(this.XHRO){this.XHRO.open("POST", pag,false);
				this.XHRO.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				this.XHRO.send(data);}}	       
 }
function NavContructor(){
	this.section= '';
	this.cont= '';
	this.xml= "";
	this.xsl= "";
	this.Header='';
	this.tb = "";
	this.registros=20;
	this.actual= 1;
	this.total= 1;
	this.Param			="";
	this.ajax			= new ObjAjax();
	this.page			= "../Process/navs.php";
	this.Parser			= "../xml/nav.xsl";
	var _this = this;
	//METHODS
	
	this.exect = exec; 		
	this.build = build;
	this.get	= get;
	this.parsea	=parsea;
	this.Refresh=Refresh;
	this.paginacion = paginacion;
	this.filterManager = filterManager;
	
	function exec(section,header,cont){
		if (this.xsl==""){this.ajax.SRS(this.Parser,'');this.xsl= this.ajax.XHRO.responseXML;}
		this.xml			= "";
		this.section		= section;
		this.cont			= cont;
		this.Header			= header;
		this.build();
		this.get();
		this.parsea();
		
	}
	function build(){
		var x = 0;
		var contenedor = g(this.cont);
			contenedor.innerHTML='';
		var t1 = c('table');a(contenedor,t1);	t1.className="Nav";
		var tr = c('tr',5);ax(t1,tr);	
		var td = c('td',5);for(x=0; x<tr.length;x++){a(tr[x],td[x]);}
		var t2 = c('div');a(td[0],t2); t2.id =this.cont+"tbody";t2.className='NavRecords';
		this.tb= t2;
			
			
		var span1 = c('span');
			span1.innerHTML = "Search by :";
			a(td[2],span1);
			
		var filter = c('select');a(td[2],filter);
			filter.id = "filter"+this.section;
			for(x=0;x<this.Header.length;x++){
				var option = c('option');
					option.text = this.Header[x];
					option.value = x;
					a(filter,option);
				}
			
		var span1 = c('span');
			span1.innerHTML = "Look for :";
			a(td[3],span1);
			
		var look = c('input');a(td[3],look);
			look.onkeypress=this.filterManager;
			look.id = "look"+this.section;
			
		var bback = c('button'); a(td[4],bback);
		var bs = c('span');a(bback,bs);
			bs.innerHTML=" < ";
			bback.id="back"+this.section; 
			bback.onclick=function(){_this.paginacion(this.id);}
			
		var l1 = document.createTextNode('page');a(td[4],l1);
		
		var actual = c('input'); a(td[4],actual);
			actual.id="actual"+this.section; 
			actual.value=this.actual; 
			actual.className='NavPags';
			actual.disabled=true;
			
			
		var l2 = document.createTextNode('of');a(td[4],l2);
		
		var total = c('input'); a(td[4],total);
			total.id="total"+this.section; 
			total.value=this.total;
			total.className='NavPags';
			total.disabled=true;
					
		var bnext = c('button');a(td[4],bnext);
		var bn = c('span');a(bnext,bn);
			bn.innerHTML=" > ";
			bnext.id="next"+this.section; 
			bnext.onclick=function(){_this.paginacion(this.id);}
		}
		
	function get(){
		var look = gv("look"+this.section);
		var filter = gv("filter"+this.section);
		var actual = gv('actual'+this.section);
		var cadena = '&section='+this.section+'&actual='+actual+'&registros='+this.registros+'&look='+look+'&filter='+filter+this.Param;
		this.ajax.SRS(this.page,cadena);
		this.xml=this.ajax.XHRO.responseXML;
		this.total = this.xml.getElementsByTagName('paginas')[0].childNodes[0].nodeValue;
		pv("total"+this.section,this.total);
		
		}	
	
	function parsea(){
		this.tb.innerHTML = "";
		if (window.ActiveXObject)
		  {
			var result=this.xml.transformNode(this.xsl);
			this.tb.innerHTML = result;
		  }
		else if (document.implementation && document.implementation.createDocument){
			  var procesor=new XSLTProcessor();
			  procesor.importStylesheet(this.xsl);
			  var result = procesor.transformToFragment(this.xml,document);
			  this.tb.appendChild(result);
		  }
		}
	function Refresh(){
		this.get();
		this.parsea();
		}	
		
	function paginacion(e){
		var p = _this.section;
			var a= parseInt(gv("actual"+p));
			var t= gv("total"+p);
			var b= "back"+p;
			var n= "next"+p;
			 
			if (e == "back"+p){
				if(a!=1 && a!=0){pv("actual"+p,a-1);_this.Refresh();}
				}
			if (e == "next"+p){
				if(a<t){pv("actual"+p,a+1);_this.Refresh();}
				}
		}	
	function filterManager(){
			_this.get();
			_this.parsea();	
		}
	}
/********************************************************************************************************************/
function g(id){return document.getElementById(id);}
function dn(id){g(id).style.display="none";}
function db(id){g(id).style.display="block";}
function gx(id){var a = new Array();for(var x=0; x<=id.length-1;x++){a[x]=document.getElementById(id[x]);}return a;}
function c(obj,x){if(x==null){return document.createElement(obj);}else{var a=new Array();for(var y = 0; y<= x-1; y++){a[y]=document.createElement(obj);} return a;}}
function a(app,obj){app.appendChild(obj);}
function ax(app,obj){ for(var x = 0; x< obj.length;x++){app.appendChild(obj[x]);}}
function gv(id){return document.getElementById(id).value;}
function gvx(ids){var a = new Array();for(var x=0; x<=ids.length-1;x++){a[x]=document.getElementById(ids[x]).value;}return a;}
function gi(id){return document.getElementById(id).innerHTML;}
function gix(ids){var a = new Array();for(var x=0; x<=ids.length-1;x++){a[x]=document.getElementById(ids[x]).innerHTML;}return a;}
function pv(id,data){document.getElementById(id).value = data;}
function pvx(ids,datas){for(var x=0; x<=ids.length-1;x++){document.getElementById(ids[x]).value=datas[x];}}
function cvx(ids){for(var x=0; x<=ids.length-1;x++){document.getElementById(ids[x]).value='';}}
function pi(id,data){document.getElementById(id).innerHTML=data;}
function pix(ids){for(var x=0; x<=ids.length-1;x++){document.getElementById(ids[x]).innerHTML=data[x];}}
function pi0(id,data){id.innerHTML=data;}
function pi0x(ids){for(var x=0; x<=ids.length-1;x++){ids[x].innerHTML=data[x];}}
function d(id){document.getElementById(id).disabled=true;}
function dx(ids){for(var x=0; x<=ids.length-1;x++){document.getElementById(ids[x]).disabled=true;}}
function e(id){document.getElementById(id).disabled=false;}
function ex(ids){for(var x=0; x<=ids.length-1;x++){document.getElementById(ids[x]).disabled=false;}}
function dO(obj){obj.disabled=true;}
function dOx(objs){for(var x=0; x<=objs.length-1;x++){objs[x].disabled=true;}}
function eO(obj){obj.disabled=false;}
function eOx(objs){for(var x=0; x<=objs.length-1;x++){objs[x].disabled=false;}}
function isArray(testObject) {return testObject && !(testObject.propertyIsEnumerable('length')) && typeof testObject === 'object' && typeof testObject.length === 'number';}
/********************************************************************************************************************/