function abrirVentanaModal(pag, txtStatus){
   var vent, height, width, top, left;
   height=450;
   width=700;
   top=(screen.availHeight-height)/2;
   left=(screen.availWidth-width)/2;
   vent=window.open(pag,'modal','height='+height+',width='+width+',top='+top+',left='+left+',scrollbars=yes,location=no,resizable=no,status=yes,toolbar=no');
   vent.status=txtStatus;
}
function Left(str, n){
   if (n <= 0)
      return "";
   else if (n > String(str).length)
      return str;
   else
      return String(str).substring(0,n);
}
function Right(str, n){
   if (n <= 0)
      return "";
   else if (n > String(str).length)
      return str;
   else {
      var iLen = String(str).length;
      return String(str).substring(iLen, iLen - n);
   }
}
function Replace(entry,out,add) {
   var vout = out; // replace this
   var vadd = add; // with this
   var temp = "" + entry; // temporary holder

   while (temp.indexOf(out)>-1) {
      pos= temp.indexOf(out);
      temp = "" + (temp.substring(0, pos) + add + 
      temp.substring((pos + out.length), temp.length));
   }
   return temp;
}

function modBuscar(txtAction, txtFormName, txtFieldName, auxParams, txtStatus){
   var URL = 'modBuscar.asp?accion=' + txtAction + '&form=' + txtFormName + '&field=' + txtFieldName + '&auxParams=' + auxParams;
   abrirVentanaModal(URL,txtStatus);
}

function AJAXCrearObjeto(){ 
   var obj; 
   if(window.XMLHttpRequest){
      obj = new XMLHttpRequest();
   } else {
      try { 
         obj = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (e) {
         alert('El navegador utilizado no está soportado'); 
      }
   }
   return obj; 
}

function SearchIdTxtFromCod(txtTabla, txtCod, destIdField, destTxtField){
   if (txtCod==''){
      destTxtField.value = '';
      destIdField.value  = '';
   }else{
      destTxtField.value='Please wait while searching...';
      var url = 'searchFromCod.asp?table=' + txtTabla + '&cod=' + txtCod;
   
      oXML = AJAXCrearObjeto();
   
      oXML.onreadystatechange = function(){
         if (oXML.readyState==4){
            if (oXML.status==200){
               //recuperamos la info
               var elems = eval(oXML.responseText);
               if (elems[0]!='null'){
                  destTxtField.value=elems[1];
                  destIdField.value=elems[0];
               }else{
                  destIdField.value='';
                  destTxtField.value='Error: Data not found...';
               }
            }else{
               //informamos del error
               destTxtField.value='Error: Could not get data...';
            }
         }
      };
      oXML.open('GET',url,true);
      oXML.send('');
   }
}

function GetProdDataFromCod(txtTabla, txtCod, destIdField, destTxtField, fare, otherFields){
   if (txtCod==''){
      destTxtField.value = '';
      destIdField.value  = '';
   }else{
      destTxtField.value='Please wait while searching...';
      var url = 'searchFromCod.asp?table=' + txtTabla + '&cod=' + txtCod + '&idTarifa=' + fare;
   
      oXML = AJAXCrearObjeto();
   
      oXML.onreadystatechange = function(){
         if (oXML.readyState==4){
            if (oXML.status==200){
               //recuperamos la info
               var elems = eval(oXML.responseText);
               if (elems[0]!='null'){
                  destTxtField.value=elems[1];
                  destIdField.value=elems[0];
                  if(otherFields!=''){
                     var arrValue = elems[2].split('#')
                     var arrFld = otherFields.split(',');
                     for (i=0;i<arrValue.length;i++){
                        if (arrValue[i]!='null'){
                           eval(arrFld[i]).value=eval(arrValue[i]);
                        }
                     }
                     rellenarFormulario();
                     calcularFormulario();
                  }
               }else{
                  destIdField.value='';
                  destTxtField.value='Error: Data not found...';
               }
            }else{
               //informamos del error
               destTxtField.value='Error: Could not get data...';
            }
         }
      };
      oXML.open('GET',url,true);
      oXML.send('');
   }
}