//viene de common.js

function operronea(codigo,descripcion,vector)
{
	var msg_error = "Operación Errónea.$$ Código de Error: " + codigo + "$Descripción del Error: " + descripcion;	
	var i;
	for (i=0; i<vector.length; i++) 
        msg_error = msg_error + "$$Instrucción " + (i+1) + ": $" + vector[i];
	var dirURL = "../../../common/error.asp?errorocurrido=" + msg_error;
	var ventanaError = window.open(dirURL, "operacion", "resizable=no,width=280,height=220");		
}

//function getdata(mode,params)

//function savedata(mode,params)

//Hasta aca era de common.js



//viene de data.js

function getXMLDoc(tbl, args, fields)  // MUST RETURN  XMLDoc
{
  var page = "../../data/getAllFieldsRel.asp?tbl="+ tbl +"&args=and ";
  if(args != '0')
  {
    if(fields != '0')
    {
     page += args + "&fields= "+fields;
    }else{
     page += args +"&fields=";
    }
  }else{
     page += "2=2&fields=";
  }
   var dx=new ActiveXObject("Microsoft.XMLHTTP");
   dx.open('POST',page,false);dx.setRequestheader('Content-type','text-html');dx.send();
  if(typeof(xdata) != "object")document.body.innerHTML += '<xml id="xdata"></xml>';
  xdata.loadXML('<data></data>');
  xdata.loadXML(dx.responseText);
  if (xdata.parseError != 0){
		alert('ERROR EN LA CARGA DE DATOS!\nMOTIVO = '+xdata.parseError.reason);
  }else{
	  if(xdata.documentElement.childNodes.length==0)
	  {  
	  }
  }	
  return xdata.documentElement;
}

function getXML(tbl, args, fields)  // MUST RETURN XML 
{
  var page = "../../data/getAllFieldsRel.asp?tbl="+ tbl +"&args=and ";
  if(args != '0')
  {
    if(fields != '0')
    {
     page += args + "&fields= "+fields;
    }else{
     page += args +"&fields=";
    }
  }else{
     page += "2=2&fields=";
  }
   var dx=new ActiveXObject("Microsoft.XMLHTTP");
   dx.open('POST',page,false);dx.setRequestheader('Content-type','text-html');dx.send();
  if(typeof(xdata) != "object")document.body.innerHTML += '<xml id="xdata"></xml>';
  xdata.loadXML('<data></data>');
  xdata.loadXML(dx.responseText);
  if (xdata.parseError != 0){
		alert('ERROR EN LA CARGA DE DATOS!\nMOTIVO = '+xdata.parseError.reason);
  }else{
	  if(xdata.documentElement.childNodes.length==0)
	  {  
	  }
  }	
  return xdata;
}

//Hasta aca era de data.js



//viene de get_data

//Unificar todos

function getFieldFromBASE(field,table,args)
{
  var xDoc = get_DOMDocument(fields_rel_path + '.asp?tbl=' + table + '&fields=' + field + '&args= and ' + args);
  if(field.split('(')[0] == "sum")
     field = field.split(' ')[2];
  return (xDoc.documentElement.hasChildNodes())?xDoc.selectSingleNode('//row').getAttribute(field):0; 
}
function getFieldFromBASEWhere(field,table,whereFld,whereValue)
{
  var xDoc = get_DOMDocument(fields_rel_path + '.asp?tbl=' + table + '&fields=' + field + '&args= and ' + whereFld + ' = ' + whereValue);
  return (xDoc.documentElement.hasChildNodes())?xDoc.selectSingleNode('//row').getAttribute(field):0; 
}

function getFieldsFromBASE(fields,table,args)
{
  var arr_d = new Array();
  var arr_fields = fields.split(',');
  var xDoc = get_DOMDocument( fields_rel_path + '.asp?tbl=' + table + '&fields=' + fields + '&args= and ' + args);
  if(xDoc.documentElement.hasChildNodes())
  {
	for(var i = 0; i < arr_fields.length;i++)
	 arr_d[i] = xDoc.selectSingleNode('//row').getAttribute(arr_fields[i]);
  }
  return (xDoc.documentElement.hasChildNodes())?arr_d:0; 
}

function getFieldFromBASEbyPage(field,page)
{
  var xDoc = get_DOMDocument(page);
  return (xDoc.documentElement.hasChildNodes())?xDoc.selectSingleNode('//row').getAttribute(field):0;
}
function getFieldsFromBASEbyPage(fields,page)
{
  var arr_d = new Array();
  var arr_fields = fields.split(',');
  var xDoc = get_DOMDocument(page);
  if(xDoc.documentElement.hasChildNodes())
  {
	for(var i = 0; i < arr_fields.length;i++)
	 arr_d[i] = xDoc.selectSingleNode('//row').getAttribute(arr_fields[i]);
  }
  return (xDoc.documentElement.hasChildNodes())?arr_d:0;
}

function getFieldFromXMLFileWhere(field,file_name,whereFld,whereValue)
{
  var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
      xmlDoc.async = false;
      xmlDoc.load( xmlfiles_path + file_name + ".xml");
  var xmlDocElem = xmlDoc.documentElement;
  if(xmlDocElem.hasChildNodes())
  {
   var node = xmlDocElem.firstChild;
   while(node != null)
   {
     if(String(whereValue) == String(node.attributes.getNamedItem(whereFld).value))
     { 
	   return node.attributes.getNamedItem(field).value;
	 }
     node = node.nextSibling; 
   }
  }
  return false;
}

function getFieldFromXMLDocWhere(field,xDoc,whereFld,whereValue)
{
  var xmlDocElem = xDoc.documentElement;
  if(xmlDocElem.hasChildNodes())
  {
   var node = xmlDocElem.firstChild;
   while(node != null)
   {
     if(String(whereValue) == String(node.attributes.getNamedItem(whereFld).value))
     { 
	   return node.attributes.getNamedItem(field).value;
	 }
     node = node.nextSibling; 
   }
  }
  return false;
}
/*
function getdata(mode,params)
{
 return ConvToASCII(String(fnPOST( data_path + '.asp?m='+ mode + '&' + params)));
}
*/

//Hasta aca era de get_data.js



//viene de get_xmldata,js

function getXMLDoc(tbl, args, fields)  // MUST RETURN  XMLDoc
{
  var page = fields_all_rel_path + ".asp?tbl="+ tbl +"&args=and ";
  if(args != '0')
  {
    if(fields != '0')
    {
     page += args + "&fields= "+fields;
    }
    else 
    {
     page += args +"&fields=";
    }
  }
  else
  {
     page += "2=2&fields=";
  }
  return get_DOMDocument(page);
}

//--------------- GET XML FROM TABLE ---------------------
function getXML(tbl, args, fields)  // MUST RETURN XML 
{
  var page = fields_all_rel_path + ".asp?tbl="+ tbl +"&args=and ";
  if(args != '0')
  {
    if(fields != '0')
    {
     page += args + "&fields= "+fields;
    }
    else
    {
     page += args +"&fields=";
    }
  }
  else
  {
     page += "2=2&fields=";
  }
  var docElement = put_TempDataIsland(fnPOST(page));
  if(docElement.childNodes.length==0)
  {  
	    alert('SQL: -> select ' + fields + ' from ' + tbl + ' where ' + args + ' is EMPTY!');
  }
  return xtemp;
}
//---------------- GET DATA BY SQL ----------------------------------------------------
function getXMLDocBySQL(sql)
{
 return get_DOMDocument( data_by_sql_path + '.asp?sql='+ sql);
}
/*
//Hasta aca era de get_xmldata.js

//viene de listener.js

//ATENCION: Función muy parecida a la que aparece en la línea 3 (solo cambia el ConvToASCII)

function getdata(mode,params){
 var dx=new ActiveXObject("Microsoft.XMLHTTP");
 dx.open('POST','../../data/data.asp?m='+ mode + '&' + params,false);
 dx.setRequestheader('Content-type','text-html');
 dx.send();
 return dx.responseText;
}

//Hasta aca era de listener.js

//viene de listenercons.js

//ATENCION: Función muy parecida a la que aparece en la línea 3 (solo cambia el path y el ConvToASCII)
function getdata(mode,params){
 var dx=new ActiveXObject("Microsoft.XMLHTTP");
 dx.open('POST','../../data/data.asp?m='+ mode + '&' + params,false);
 dx.setRequestheader('Content-type','text-html');
 dx.send();
 return dx.responseText;
}
*/
//Hasta aca era de listenercons.js

//viene de put_data.js

//ATENCION: Función muy parecida a la que aparece en la línea 10 (esta usa fnPOST en lugar de POST) 
function savedata(mode,params){
 var str = String(fnPOST2('../../../data/save.asp?m='+ mode + '&' + params));

 if(str != String('GRABACION EXITOSA!')) ErrorWindow(str);
 return str;
}

function saveRetVal(mode,params){
  return String(fnPOST2('../../../data/saveRetVal.asp?m='+ mode + '&' + params));
}


function execFILE(file,ptr_commit,ptr_rollback,message)
{
 var rv = fnPOST(file);
 var m = (message != null)?message:'GRABACION EXITOSA!';
 if(rv == m)
 {
   eval(ptr_commit);
 }
 else
 {
   ErrorWindow(rv);
   eval(ptr_rollback);
 }
}
/*
function post_file(file,str_to_post,ptr_commit,ptr_rollback,message)
{
 var rv = funcPOST(file,str_to_post);
 var m = (message != null)?message:'GRABACION EXITOSA!';
 if(rv == m)
 {
   eval(ptr_commit)
 }
 else
 {
   //alert(rv);
   ErrorWindow(rv);
   eval(ptr_rollback)
 }
}	
*/

function post_file(file,str_to_post,ptr_commit,ptr_rollback,message,largoAtomar)
{
//alert("str_to_post ->" + str_to_post);
 var rv = funcPOST(file,str_to_post);
 var m = (message != null)?message:'GRABACION EXITOSA!';
 var comp;
 if (largoAtomar)
 {
	comp = rv.substr(0,largoAtomar);
 	ptr_commit = ptr_commit + "('" + rv + "')";
 }
 else
 {
	if(!(ptr_rollback.substr("(")[1]))
	{
		ptr_rollback += "()";
	}
 	comp = rv;
 }
 if(comp == m)
 {
    eval(ptr_commit)
    return true;
 }
 else
 {
	if (rv.split("<html><head></head><body><script language='JavaScript'>window.top.document.location='")[1])
	{
		    //alert("path erroneo. Te sacaría a " + rv.split("<html><head></head><body><script language='JavaScript'>window.top.document.location='")[1].split("';</script></body></html>")[0]);
		   window.top.document.location=rv.split("<html><head></head><body><script language='JavaScript'>window.top.document.location='")[1].split("';</script></body></html>")[0];
	}
	else
	{
		   ErrorWindow(rv);
		   eval(ptr_rollback);
		   return false;
	}
 }
}

function funcPOST(page,str_to_post)
{
  var dx=new ActiveXObject("Microsoft.XMLHTTP");
  dx.open('POST',page,false);
  dx.setRequestheader('Content-type','text-html');
  dx.send(String(str_to_post));
  return ConvToASCII(String(dx.responseText));
}

//Hasta aca era de put_data.js


//viene de sessAtrib.js

function getSessAttrib(sessNum,param)
{
	var dx=new ActiveXObject("Microsoft.XMLHTTP");
	dx.open('POST','../../../data/session.asp?hacer=get&session=' + sessNum +'&parametro=' + param,false);
	dx.setRequestheader('Content-type','text-html');
	dx.send();
	//alert(dx.responseText);
	return dx.responseText;
}

function putSessAttrib(sessNum,param,valor){
	var dx=new ActiveXObject("Microsoft.XMLHTTP");
	dx.open('POST','../../../data/session.asp?hacer=set&session=' + sessNum + '&parametro=' + param + '&valor=' + valor,false);
	dx.setRequestheader('Content-type','text-html');
	dx.send();
	//alert(dx.responseText);
	return dx.responseText;
}

//Hasta aca era de sessAtrib.js

//viene de session.js

function getSession()
{
 return String(fnPOST('../../data/user_id.asp'));
}
function getSessionAttr(attr)
{
 return String(fnPOST('../../data/getSessionAttribute.asp?attr=' + attr));
}

//Hasta aca era de session.js


//viene de tools.js

function createXML(tbl)
{
 return fnPOST("../../data/create_xml.asp?tbl="+tbl);
}

//Hasta aca era de tools.js

//viene de valida.js

function saveReg(mode,params)
{
	var dxs=new ActiveXObject("Microsoft.XMLHTTP");
	dxs.open('POST','../../../data/save2.asp?m='+ mode + '&' + params,false);
	dxs.setRequestheader('Content-type','text-html');
	dxs.send();
	return String(dxs.responseText);
}


//Hasta aca era de valida.js

function llevarAtextoLegible(textoAmodificar)
{
	var p_sCadenaXML = textoAmodificar;
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#192", "À");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#193", "Á");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#194", "Â");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#195", "Ã");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#196", "Ä");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#197", "Å");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#200", "È");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#201", "É");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#202", "Ê");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#203", "Ë");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#204", "Ì");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#205", "Í");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#206", "Î");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#207", "Ï");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#210", "Ò");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#211", "Ó");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#212", "Ô");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#213", "Õ");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#214", "Ö");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#217", "Ù");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#218", "Ú");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#219", "Û");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#220", "Ü");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#180", "´");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#96"), "`";
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#209", "Ñ");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#186", "º");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#176", "°");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#167", "§");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#138", "Š");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#145", "‘");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#146", "’");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#161", "¡");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#162", "¢");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#163", "£");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#164", "¤");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#165", "¥");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#166", "¦");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#168", "¨");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#169", "©");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#170", "ª");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#171", "«");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#172", "¬");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#173", "­");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#174", "®");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#175", "¯");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#177", "±");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#178", "²");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#179", "³");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#180", "´");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#181", "µ");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#182", "¶");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#183", "·");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#184", "¸");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#185", "¹");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#187", "»");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#188", "¼");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#189", "½");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#190", "¾");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#191", "¿");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#198", "Æ");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#199", "Ç");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#208", "Ð");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#215", "×");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#216", "Ø");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#221", "Ý");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#222", "Þ");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#223", "ß");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#224", "à");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#225", "á");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#226", "â");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#227", "ã");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#228", "ä");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#229", "å");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#230", "æ");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#231", "ç");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#232", "è");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#233", "é");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#234", "ê");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#235", "ë");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#236", "ì");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#237", "í");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#238", "î");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#239", "ï");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#240", "ð");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#242", "ò");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#243", "ó");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#244", "ô");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#245", "õ");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#246", "ö");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#247", "÷");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#248", "ø");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#249", "ù");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#250", "ú");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#251", "û");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#252", "ü");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#253", "ý");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#254", "þ");
        p_sCadenaXML = replace_palabra(p_sCadenaXML, "#255", "ÿ");
        return p_sCadenaXML;
}
