//Viene de common.js

//function make_cbo(cbo,xmlx,val,text,seleccionar)

function make_cbo3(cbo,xmlx,val,text1,text2,text3,seleccionar){


  var combo =	 window.document.getElementById(cbo);
  var xml = window.document.getElementById(xmlx);
  combo.innerHTML='';xml.recordset.movefirst();
  var op1 = combo.document.createElement('OPTION');op1.value='';op1.text=seleccionar;
  combo.options.add(op1);
  while(!xml.recordset.eof)
  {
     var op = combo.document.createElement('OPTION');	    
	 op.value = xml.recordset.Fields(val).value;
	 var texto = xml.recordset.Fields(text1).value + ' ' + xml.recordset.Fields(text2).value + ' (' + xml.recordset.Fields(text3).value + ')';
	 op.text= texto;
	 combo.options.add(op);xml.recordset.MoveNext();
  }
}

function add_to_cbo(cbo,xmlx,val,text){
  var combo = window.document.getElementById(cbo);
  var xml = window.document.getElementById(xmlx);
  xml.recordset.movefirst();
  while(!xml.recordset.eof)
  {
     var op = combo.document.createElement('OPTION');	    
     op.value = xml.recordset.Fields(val).value;
     op.text=xml.recordset.Fields(text).value;
     combo.options.add(op);xml.recordset.MoveNext();
  }
}

function empty_cbo(cbo,seleccionar)
{
  var combo = window.document.getElementById(cbo);
  combo.innerHTML='';
  var op1 = combo.document.createElement('OPTION');op1.value='';op1.text=seleccionar;
  combo.options.add(op1);
}


//function wOpener(consulta,abrir,abrir_hidden,cols,sep)

function wOpencons(consulta,abrir,abrir_hidden,cols,sep)
{
 

 if(!sep)sep='';
 var str ='<td  colspan="' + cols + '">';
 if(abrir!=0){
   var vabrir = abrir.split(',');
   for(j=0;j<vabrir.length;j++)
   {
     if(j==(vabrir.length-1)) sep = '';
     var vabrir_show = vabrir[j].split('=');   
     str += '<input name="txt_'+vabrir_show[0]+'"size="'+vabrir_show[1]+'"readonly>&nbsp;'+sep+'&nbsp;';
   }
 }  
 if(abrir_hidden!=0){
   var vabrir_hidden = abrir_hidden.split(',');
   for(i=0;i<vabrir_hidden.length;i++)
   str += '<input name="txt_'+vabrir_hidden[i]+'"type="hidden">';
 }
 
 str += '&nbsp;<button onclick="openData(\''+consulta+'\')">CONSULTAR</button></td>';
 document.write(str);
}

function HashTable()
{
 this.setValueHT = setValueHT;
 this.addSHT = addSHT;
 this.getValueHT = getValueHT;
 this.getValueHTatPos = getValueHTatPos;
 this.getKeyHTatPos = getKeyHTatPos;
 this.getLengthHT = getLengthHT;
}
HashTable.prototype.counterHT=0;
HashTable.prototype.vectorD = new Array();
HashTable.prototype.vectorN = new Array();
HashTable.prototype.vectorI = new Array();

function setValueHT(str1,str2)
{
  this.vectorD[this.counterHT] = str2;
  this.vectorN[this.counterHT] = str1;
  this.vectorI[this.counterHT] = this.counterHT;
  this.counterHT++;
}

function addSHT(str)
{
  this.vectorD[this.counterHT] = document.all.item(str).value;
  this.vectorN[this.counterHT] = str;
  this.vectorI[this.counterHT] = this.counterHT;
  this.counterHT++;
}

function getValueHT(str1){
  var i, valueHT = '';
  for(i = 0; i < this.getLengthHT();i++)
   if(this.vectorN[i] == str1)
   valueHT = this.vectorD[i];
  return valueHT;
}

function getValueHTatPos(int1){
  var i, valueHT = '';
  for(i = 0; i < this.getLengthHT();i++)
   if(this.vectorI[i] == int1)
   valueHT = this.vectorD[i];
  return valueHT;
}

function getKeyHTatPos(int1){
  var i, valueHT = '';
  for(i = 0; i < this.getLengthHT();i++)
   if(this.vectorI[i] == int1)
   valueHT = this.vectorN[i];
  return valueHT;
}

function getLengthHT(){return this.counterHT;}

function wOpenerfunc(consulta,abrir,abrir_hidden,cols,fun)
{
 var vabrir = abrir.split('=');
 var str ='<td  colspan="' + cols + '"><input name="txt_'+vabrir[0]+'"size="'+vabrir[1]+'"readonly>';  
 if(abrir_hidden!=0){
   var vabrir_hidden = abrir_hidden.split(',');
   for(i=0;i<vabrir_hidden.length;i++)
   str += '<input name="txt_'+vabrir_hidden[i]+'"type="hidden">';
 } 
 str += '&nbsp;<button onclick="openData(\''+consulta+'\');" onfocus="'+fun+'">ELEGIR</button></td>';
 document.write(str);
}

function toiFrame(div_id,doc_name,hi,wi,to,le,fr){
	var div = window.document.getElementById(div_id);
	var sr = doc_name;
	if (to=='q') {to=div.style.top;}
		else {div.style.top=to;}
	if (le=='q') {le=div.style.left;}
		else {div.style.left=le;}
	div.innerHTML = "<iframe scrolling=auto id=ifr_" + div_id + " width=" + wi + " height=" + hi + " src=" + sr + " frameborder=" + fr + " framespacing=0></iframe>";
	div.style.display = 'block';
}


//Hasta aca era de common.js


//viene de controls.js
function b(val,fn,cols)
{
 document.write('<td cols="'+cols+'"><button id="'+val+'"name="'+val+'"onclick="'+fn+'">'+val+'</button></td>');
}

//Hasta aca era de controls.js


//viene de html.js

function TextArea(_id,_rows,_cols,r)
{
  this.id = String(_id);
  this.Initialize(_id,_rows,_cols); 
}
TextArea.prototype.Initialize = function(_id,_rows,_cols,r)
{
  var ronly = (r)?"":"readonly";
  document.body.insertAdjacentHTML("BeforeEnd",'<div id="div_' + _id + '" style="position: absolute;"><textarea id="' + _id + '" rows="' + _rows + '" cols="' + _cols + '" ' + ronly + ' ></textarea></div>');
}
TextArea.prototype.Set = function(ftop,fleft,h,w)
{
 getById('div_'+this.id).style.top = ftop+'px';
 getById('div_'+this.id).style.left = fleft+'px';
 getById('div_'+this.id).style.height = h;
 getById('div_'+this.id).style.width = w;
}
//----------------------------------------
function getById(elid)
{
 return document.getElementById(elid);
}

function put_Dialog_hw(h,w)
{
 dialogHeight = h;
 dialogWidth = w;
 var altoDial = document.body.clientHeight;
 var anchoDial = document.body.clientWidth;
 var altoTotal = self.screen.availheight;
 var anchoTotal = self.screen.availwidth;
 var arri = parseInt((altoTotal - altoDial)/2);
 var izq = parseInt((anchoTotal - anchoDial)/2);
 dialogTop = arri;
 dialogLeft = izq;
}

function ret_state(x)
{
	switch(x)
	{	
		case 'N':
			return "NUEVO";
			break;	
		case 'I':
			return "INGRESADO";
			break;
		case 'D':
			return "DEMORADO";
			break;	
		case 'A':
			return "APROBADO";
			break;
		case 'F':
			return "FINALIZADO";
			break;	
        	default:
			break;	
	}
}

//Hasta aca era de html.js

function calcula_fecha(fech,dias)
{
	  if(dias)
	  {
	  	num=dias;
	  }
	  else
	  {
	  	num=0;
	  }
	  if (fech)
	  {
	  	f=fech; 
	  }
	  else
	  {
		  var dateObj = new Date();
		  var wday = dateObj.getDay() + 1;
		  var lmonth = dateObj.getMonth() + 1;
		  var date = dateObj.getDate();
		  var fyear = dateObj.getYear();
		  var mes = dateObj.getMonth() + 1;
		  if (fyear < 2000) fyear = fyear + 1900;
		  var aniocorto = fyear.toString().substring(2,4);
	  	  f = (date+"/"+mes+"/"+fyear);
	  }
			  
	  // pasaremos la fecha a formato mm/dd/yyyy 
	  f=f.split('/'); 
	  f=f[1]+'/'+f[0]+'/'+f[2]; 
	  // 
	  c_hoy=new Date(f); 
	  c_hoy.setTime(c_hoy.getTime()+num*24*60*60*1000); 
	  mes=c_hoy.getMonth()+1; 
	  if(mes<9) mes='0'+mes; 
	  fecha=c_hoy.getDate()+'/'+mes+'/'+c_hoy.getFullYear(); 
	  return fecha;   
}


function replace_palabra(txt,smb1,smb2)
{
// esta la uso para dar vuelta los campos textarea que tienen enter ($$$$$ENTER$$$$$)
// ojo que el ultimo no tiene que llevar enter
   var ret = '';
   var arrtxt;
   arrtxt = txt.split(smb1);
   smb1 = String(smb1);
   smb2 = String(smb2);
   txt = String(txt);

   for(i=0;i<arrtxt.length;i++)
   {
   	if (i<arrtxt.length-1) // no es el ultimo
	{
		ret += arrtxt[i]+ smb2;
	}
	else
	{
		ret += arrtxt[i];
	}
   }
   return ret;
}

function replace(txt,smb1,smb2)
{
   var ret = '';
   var arrtxt;
   arrtxt = txt.split(smb1);
   smb1 = String(smb1);
   smb2 = String(smb2);
   txt = String(txt);
   for(i=0;i<txt.length;i++)
   {
     if(txt.charAt(i) == smb1){
       ret += smb2;
      }else{
       ret += txt.charAt(i);
     }    
   }
   return ret;
}
//viene de http_post.js

function fnPOST(page)
{
 var dx=new ActiveXObject("Microsoft.XMLHTTP");
 dx.open('POST',page,false);
 dx.setRequestheader('Content-type','text-html');
 dx.send();
 return ConvToASCII(String(dx.responseText));
}
function fnPOST2(page)
{
	//alert("page ->" + page);
	var dx=new ActiveXObject("Microsoft.XMLHTTP");
	var pagina = page.split("?")[0];
	var argumentos = page.split("?")[1];
	argumentos = replace(argumentos,' ','%20');
	dx.open('POST',pagina,false);
	dx.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	dx.send(argumentos);
	if (dx.responseText.split("window.top.document.location='")[1])
	{
		window.top.document.location = dx.responseText.split("window.top.document.location='")[1].split("'")[0];
	}
	else
	{
		 //alert("FROM INFORMIX: " + dx.responseText);
		 //debug_sql(dx.responseText);
		 return ConvToASCII(String(dx.responseText));
	}
}
function parseERROR(xmlDc)
{
	if(xmlDc.attributes.getNamedItem("error").value == 0)
	{
		xmlDc.removeAttribute("error");
		return 0;
	}
	else
	{
		var strERROR = 'Description: ' + xmlDc.firstChild.attributes.getNamedItem("Description").value + '\n'
					+ 'Help Context: ' + xmlDc.firstChild.attributes.getNamedItem("HelpContext").value + '\n'
					+ 'Help File: ' + xmlDc.firstChild.attributes.getNamedItem("HelpFile").value + '\n'
					+ 'Number: ' + xmlDc.firstChild.attributes.getNamedItem("Number").value + '\n'
					+ 'Source: ' + xmlDc.firstChild.attributes.getNamedItem("Source").value;
		alert("ERROR DE CARGA EN SERVIDOR!\n    ............................................................ \n" + strERROR + "\n    ............................................................");
		returnValue = false;
		return 1;
	}
}
//--------------------------------------------------------------
function ErrorWindow(x){
 var w = showModalDialog("../../../common/includes/error_window.htm",x,"font-size:10px;dialogWidth: 600px;dialogHeight:350px;status: 0;edge: Raised;unadorned: yes;help: 0;scroll: 0"); 
}


//Hasta aca era de http_post.js


//viene de lib_combo_element.js

function load_combo(cbo,xmlcomb,val,text,w)
{
  var combo = document.getElementById(cbo);
  combo.innerHTML='';
  var nodeList = xmlcomb.childNodes;
  var op1 = combo.document.createElement('OPTION');op1.value='';op1.text='...    ';
  combo.options.add(op1);
  for (var i=0; i < nodeList.length; i++)
  {
      var attrList = nodeList.item(i).attributes;
      var op = combo.document.createElement('OPTION');	    
	  op.value = attrList.getNamedItem(val).value;
	  op.text = attrList.getNamedItem(text).value;
	  combo.options.add(op);  
  }  
}

function load_combo_valor_combinado(cbo,xmlcomb,val,text,separador)
{
  //alert(xmlcomb);alert(val);alert(text);alert(separador)
  var combo = document.getElementById(cbo);
      combo.innerHTML='';
  var nodeList = xmlcomb.childNodes;
  var op1 = combo.document.createElement('OPTION');
  op1.value='';
  op1.text='...    ';
  combo.options.add(op1);
  var arrval = val.split(',');
  if (arrval.length==0) arrval[0]= val;
  var arrtext = text.split(',');
  if (arrtext.length==0) arrtext[0]= text;
  for (var i=0; i < nodeList.length; i++)
  {
      var attrList = nodeList.item(i).attributes;
      var op = combo.document.createElement('OPTION');
	  var valVal = '';
	  for (var j=0; j < arrval.length; j++)
	  {
	  	if (valVal!='') valVal += "_";
		valVal += attrList.getNamedItem(arrval[j]).value;
	  }
	  op.value = valVal;
	  var textVal = '';
	  for (var j=0; j < arrtext.length; j++)
	  {
	  	if (textVal!='') textVal += separador;
		textVal += attrList.getNamedItem(arrtext[j]).value;
	  }
	  op.text = textVal;
	  combo.options.add(op);
  }
}

function getOptionText(elem)
{
  return getById(elem).options[getById(elem).selectedIndex].text;
}

function x_list(cbo,xmld,val,text,w)
{
  var combo = document.getElementById(cbo);
      combo.innerHTML='';
  var nodeList = xmld.childNodes;
  for (var i=0; i < nodeList.length; i++)
  {
      var attrList = nodeList.item(i).attributes;
      var op = combo.document.createElement('OPTION');	    
	  op.value = attrList.getNamedItem(val).value;
	  op.text = attrList.getNamedItem(text).value;
	  combo.options.add(op);  
  }  
}

function checkKeyinList(list,nkey) // RETURN TRUE IF EXIST
{
  var HRESULT = false;
  var lst = document.getElementById(list);
  for (var i=0; i < lst.length; i++)
  {
      if(lst.children[i].value == nkey)
      {
       HRESULT = true;
       break;
      }
  } 
  return HRESULT; 
}

function x_ListView(cbo,xmld,val,text,w)
{
  var arrw = String(w).split(','); 
  var arrt = String(text).split(',');
  var combo = document.getElementById(cbo);combo.innerHTML='';
  var nodeList = xmld.childNodes;
  for (var i=0; i < nodeList.length; i++){
      var attrList = nodeList.item(i).attributes;
      var op = combo.document.createElement('OPTION');	    
	  op.value = attrList.getNamedItem(val).value;
	  for(var s = 0; s < arrt.length; s++)
	  { 
	    op.text += addLen(attrList.getNamedItem(arrt[s]).value,arrw[s]);
	  }
	  combo.options.add(op);  
  }  
}

function x_cboListView(cbo,xmld,val,text,w)
{
  var arrw = String(w).split(','); 
  var arrt = String(text).split(',');
  var combo = document.getElementById(cbo);combo.innerHTML='';
  var op1 = combo.document.createElement('OPTION');op1.value='';op1.text='...    ';
  combo.options.add(op1);
  var nodeList = xmld.childNodes;
  for (var i=0; i < nodeList.length; i++){
      var attrList = nodeList.item(i).attributes;
      var op = combo.document.createElement('OPTION');	    
	  op.value = attrList.getNamedItem(val).value;
	  for(var s = 0; s < arrt.length; s++)
	  { 
	    op.text += "  " + attrList.getNamedItem(arrt[s]).value,arrw[s];
	  }
	  combo.options.add(op);  
  }  
}

function add_list(cbo,val,text)
{
  var combo = document.getElementById(cbo);
  var op = combo.document.createElement('OPTION');
  op.value = val;
  op.text = text;
  combo.options.add(op);
}

function RemoveAllFromList(cbo)
{
  var combo = document.getElementById(cbo);
  try
  {
	while(combo.options.length >0)
	{
		combo.options.remove(0);
	}
  }
  catch(e)
  {}
}

function addLen(v,n) // return str
{
 var cnt = 0;
 var m = String('M');  // 77
 var w = String('W');  // 87
 var autoc = '.';
 n = parseInt(n);
 var fl = 0;
 for(var q = 0; q < v.length; q++)
 {
   if(v.charCodeAt(q) > 44 && v.charCodeAt(q) < 58) fl += 1;
   if(v.charCodeAt(q) > 64) fl += 2;
   if(v.charCodeAt(q) == 77 || v.charCodeAt(q) == 87 ) fl += 2;
 }
 if(fl < n) cnt = n - fl;
 for(var d = 0; d < cnt; d++)
 {
   autoc += '_';
 }
 return String(autoc) + String(v);
}
//---------------------------------------------------------
//---------------------------------------------------------
// --------------- loadCBOFromXMLFileWhere --------------
function loadCBOFromXMLFileWhere(cbo,xmlid,whereFld,whereValue,val,text)
{

  var xml = getById(xmlid);
  var combo = getById(cbo); combo.innerHTML='';
  var op1 = combo.document.createElement('OPTION');op1.value='';op1.text='...    '; combo.options.add(op1); 
  var xmlDoc = xml.documentElement;
  if(xmlDoc.hasChildNodes())
  {
   var node = xmlDoc.firstChild;
   while(node != null)
   {
     if(String(whereValue) == String(node.attributes.getNamedItem(whereFld).value))
     { 
	   var op = combo.document.createElement('OPTION');	    
	   op.value = node.attributes.getNamedItem(val).value;
	   op.text = node.attributes.getNamedItem(text).value;
	   combo.options.add(op);
	 }
     node = node.nextSibling; 
   }
  }
}

//Hasta aca era de lib_combo_element.js

//viene de listener.js

function setPage(){
	td_page.innerHTML = 'Pagina: <font color="red"size="1">' + listener.page + '</font>';
}

 function fnShow()
 {
	if(event.srcElement.readyState=="complete")
	{
		tbl_lista.style.visibility = "visible";
		div_res.style.display="block";		
	}
 }


//Hasta aca era de listener.js

//viene de ServerDate.js

function ok()
 {
 	 document.writeln("<img src='../../../images/ok.gif'>");
 }
 function mal()
 {
  	 document.writeln("<img src='../../../images/nook.gif'>");
 }

//Hasta aca era de ServerDate.js


//viene de showDIV.js

function showDIV(id_div)
{
 var d = document.getElementById(id_div);
 if( d.style.display == "none")
 {
   d.style.display = "block";
 }else{d.style.display = "none";}
}

//Hasta aca era de showDIV.js

//viene de valida.js

function showError(stringerror)
 {
		var dirURL = "../../../common/error3.asp?errorocurrido=" + stringerror;
		var ventanaError
		ventanaError = window.open(dirURL, "operacion", "resizable=no,width=280,height=220");
		
}

//Hasta aca era de valida.js
