<!-- Begin

var allowdebug = '';
var hiddendiv = document.getElementById("hiddenforms");

function changeInputType(oldObject, oType) {
  var newObject = document.createElement('input');
  newObject.type = oType;
  if(oldObject.size) newObject.size = oldObject.size;
  if(oldObject.value) newObject.value = oldObject.value;
  if(oldObject.name) newObject.name = oldObject.name;
  if(oldObject.id) newObject.id = oldObject.id;
  if(oldObject.className) newObject.className = oldObject.className;
  if(oldObject.onclick) newObject.onclick = oldObject.onclick;
  if(oldObject.onBlur) newObject.onBlur = oldObject.onBlur;
  if(oldObject.onChange) newObject.onChange = oldObject.onChange;
  if(oldObject.onFocus) newObject.onFocus = oldObject.onFocus;
  oldObject.parentNode.replaceChild(newObject,oldObject);
  return newObject;
}

function allowdebugerr(showerror) {
  var txt="";
  //if (allowdebug=='test') {
  if (document.getElementById("allowdebug").value=='test') {
    txt="There was an error on this post.\n\n";
    txt+="Error description: " + showerror.description + "\n\n";
    txt+="Click OK to continue.\n\n";
    alert(txt);
  }
  return;
}

function debugerr(errortxt) {
  //if (allowdebug=='test') {
  if (document.getElementById("allowdebug").value=='test') {
    alert(errortxt);
  }
  return;
}

function evalobject(req) {
   var ct = 0;
   var txt="";
   // convert the string to an XML object
   if (document.implementation.createDocument) {
     // Mozilla, create a new DOMParser
     try {
       xmlobject = (new DOMParser()).parseFromString(req.responseText, "text/xml");
     }
     catch(showerror)
     {
       if (req.responseText.match("<html>") && req.responseText.match("<body>")) {
         var doc=document.open("text/html","replace");
         doc.write(req.responseText);
         doc.close();
       }
       else {
         allowdebugerr(showerror);
      }
      return;     
     }
   } else if (window.ActiveXObject){
     // Internet Explorer, create a new XML document using ActiveX
     // and use loadXML as a DOM parser.
     try {
       xmlobject = new ActiveXObject("Microsoft.XMLDOM")
       xmlobject.async="false";
       xmlobject.loadXML(req.responseText);
     }
     catch(showerror)
     {
       if (req.responseText.match("<html>") && req.responseText.match("<body>")) {
         var doc=document.open("text/html","replace");
         doc.write(req.responseText);
         doc.close();
       }
       else {
         allowdebugerr(showerror);
       }
       return;     
     }
   }

   // get any abort errors
   var rtnerr = xmlobject.getElementsByTagName('aborterror');
   if (rtnerr != null) {
     for (i = 0 ; i < rtnerr.length ; i++) {
       alert(clearcddata(rtnerr[i].getElementsByTagName('errdesc')[0].firstChild.nodeValue));
       if (i==(rtnerr.length - 1)) {
         return;
       }
     }
   }

   // set any variables
   var rtnvar = xmlobject.getElementsByTagName('var');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
         try {
           document.getElementById(rtnvar[i].getAttribute("id")).value = clearcddata(rtnvar[i].firstChild.nodeValue);
         }
         catch(showerror)
         {
           allowdebugerr(showerror);
         }
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).value = '';
       }
     }
   }

   // set any all variables by name
   rtnvar = xmlobject.getElementsByTagName('varall');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          var x = document.getElementsByName(rtnvar[i].getAttribute("id"));
          for (j = 0 ; j < x.length ; j++) {
            x[j].value = clearcddata(rtnvar[i].firstChild.nodeValue);
          }
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).value = '';
       }
     }
   }
   // run any before functions
   rtnvar = xmlobject.getElementsByTagName('func');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
         try {
           eval(clearcddata(rtnvar[i].firstChild.nodeValue));
         }
         catch(showerror)
         {
           allowdebugerr(showerror);
         }
       }
     }
   }

   // protect div
   rtnvar = xmlobject.getElementsByTagName('protect');
   if (rtnvar != null) {
     for (i = 0 ; i < rtnvar.length ; i++) {
       try {
         divfound = false;
         for (j=0; j<hiddenformidlist.length; j++) {
           if (hiddenformidlist[j]==rtnvar[i].getAttribute("id")) {
             divfound = true;
             try {
               document.getElementById(rtnvar[i].getAttribute("id")).innerHTML = clearcddata(rtnvar[i].firstChild.nodeValue);
             }
             catch (showerror) {
               allowdebugerr(showerror);
             }
             break;
           }
         }
         if (divfound==false) {
           hiddenformidlist.push(rtnvar[i].getAttribute("id"));
           //clearcddata(rtnvar[i].firstChild.nodeValue);
           var pElement = document.createElement("div");
           pElement.id = rtnvar[i].getAttribute("id");
           pElement.innerHTML = clearcddata(rtnvar[i].firstChild.nodeValue);
           hiddendiv.appendChild(pElement);
         }
       }
       catch (showerror) {
           allowdebugerr(showerror);
       }
     }
   }
   // show div
   rtnvar = xmlobject.getElementsByTagName('show');
   if (rtnvar != null) {
     for (i = 0 ; i < rtnvar.length ; i++) {
       try {
         document.getElementById(rtnvar[i].getAttribute("id")).style.visibility = 'visible';
       }
       catch (showerror) {
           allowdebugerr(showerror);
       }
     }
   }
   // hide div
   rtnvar = xmlobject.getElementsByTagName('hide');
   if (rtnvar != null) {
     for (i = 0 ; i < rtnvar.length ; i++) {
       try {
         document.getElementById(rtnvar[i].getAttribute("id")).style.visibility = 'hidden';
       }
       catch (showerror) {
           allowdebugerr(showerror);
       }
     }
   }

   // change any onclick stuff - cant seem to get it to work
   rtnvar = xmlobject.getElementsByTagName('onclick');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          document.getElementById(rtnvar[i].getAttribute("id")).onclick = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          //document.getElementById(rtnvar[i].getAttribute("id")).value = '';
       }
     }
   }
   // change any action stuff
   rtnvar = xmlobject.getElementsByTagName('action');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          document.getElementById(rtnvar[i].getAttribute("id")).action = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).action = '';
       }
     }
   }
   // change any onhref stuff
   rtnvar = xmlobject.getElementsByTagName('href');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          document.getElementById(rtnvar[i].getAttribute("id")).href = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).href = '#';
       }
     }
   }
   
  // change any type stuff
   rtnvar = xmlobject.getElementsByTagName('tpe');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          tpeobj = changeInputType(document.getElementById(rtnvar[i].getAttribute("id")), clearcddata(rtnvar[i].firstChild.nodeValue));
          // below does not work in IE
          //document.getElementById(rtnvar[i].getAttribute("id")).type = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          tpeobj = changeInputType(document.getElementById(rtnvar[i].getAttribute("id")), 'hidden');
          //document.getElementById(rtnvar[i].getAttribute("id")).type = 'hidden';
       }
     }
   }
   // change any name stuff
   rtnvar = xmlobject.getElementsByTagName('nme');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          document.getElementById(rtnvar[i].getAttribute("id")).name = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).name = '';
       }
     }
   }
   // change any src stuff
   rtnvar = xmlobject.getElementsByTagName('src');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          document.getElementById(rtnvar[i].getAttribute("id")).src = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).src = '';
       }
     }
   }
   // change any class stuff
   rtnvar = xmlobject.getElementsByTagName('class');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          document.getElementById(rtnvar[i].getAttribute("id")).className = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).className = '';
       }
     }
   }
   // change any inner html stuff
   rtnvar = xmlobject.getElementsByTagName('html');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          document.getElementById(rtnvar[i].getAttribute("id")).innerHTML = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).innerHTML = '';
       }
     }
   }
   // add options to select element
   rtnvar = xmlobject.getElementsByTagName('select');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       document.getElementById(rtnvar[i].getAttribute("id")).innerHTML = '';
       if (rtnvar[i].firstChild != null) {
         if(document.all) { // Or any IE testing
           //alert('here');
           // the miracles you have to produce for IE!!!!
           document.getElementById(rtnvar[i].getAttribute("id")).innerHTML = '<option>IE pad</option>' + clearcddata(rtnvar[i].firstChild.nodeValue);
           document.getElementById(rtnvar[i].getAttribute("id")).outerHTML = document.getElementById(rtnvar[i].getAttribute("id")).outerHTML;
         }
         else {
           document.getElementById(rtnvar[i].getAttribute("id")).innerHTML = clearcddata(rtnvar[i].firstChild.nodeValue);
         }
       }
     }
   }

   // get any print files
   rtnvar = xmlobject.getElementsByTagName('prn');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       //alert(i + ' - ' + rtnvar[i].nodeValue);
       //alert(i + ' - ' + rtnvar[i].firstChild);
       if (rtnvar[i].firstChild != null) {
          // stdopen('filestream.html', i.toString(), escape(rtnvar[i].firstChild.nodeValue));
          // alert(rtnvar[i].firstChild.nodeValue);
          //var iframe = document.createElement("iframe");
          //iframe.src="displaydoc.cgi?rtn=" + escape(rtnvar[i].firstChild.nodeValue);
          //iframe.style.display = "none";
          //document.body.appendChild(iframe);
         document.getElementById("hiddenfileprintname").value = clearcddata(rtnvar[i].firstChild.nodeValue);
         document.getElementById("hiddenfileprintform").submit();
       }
     }
   }

   // change any divs
   var rtndiv = xmlobject.getElementsByTagName('divr');
   if (rtndiv != null) {
     for (ct = 0 ; ct < rtndiv.length ; ct++) {
       ActuateDiv = document.getElementById(rtndiv[ct].getAttribute("id"));
       if (ActuateDiv != null) {
          //alert(ct + ' node - ' + rtndiv[ct].nodeValue + ' - ' + rtndiv[ct].getAttribute("id"));
          //alert(rtndiv[ct].getAttribute("id"));
          var olddiv = listchildren (rtndiv[ct], '1', ActuateDiv);
       }
       else {
         debugerr('document element with id ' + rtndiv[ct].getAttribute("id") + ' not found');
       }
     }
   }

   // add to any divs
   rtndiv = xmlobject.getElementsByTagName('diva');
   if (rtndiv != null) {
     for (ct = 0 ; ct < rtndiv.length ; ct++) {
       ActuateDiv = document.getElementById(rtndiv[ct].getAttribute("id"));
       if (ActuateDiv != null) {
          var olddiv = listchildren (rtndiv[ct], '2', ActuateDiv);
       }
       else {
         debugerr('document element with id ' + rtndiv[ct].getAttribute("id") + ' not found');
       }
     }
   }

   // move any divs
   rtndiv = xmlobject.getElementsByTagName('divm');
   if (rtndiv != null) {
     for (ct = 0 ; ct < rtndiv.length ; ct++) {
       movediv = document.getElementById(rtndiv[ct].getAttribute("idfrom"));
       todiv = document.getElementById(rtndiv[ct].getAttribute("idto"));
       toopt = rtndiv[ct].getAttribute("opt");
       if (movediv != null && todiv != null) {
         if (toopt=="REPLACE") {
           moveblock(rtndiv[ct].getAttribute("idfrom"),rtndiv[ct].getAttribute("idto"));
         }
         if (toopt=="MVDIVT") {
           try {
             todiv.insertBefore(movediv,todiv.firstChild);
           }
           catch (showerror) {
             allowdebugerr(showerror);
           }
         }
         if (toopt=="MVDIVB") {
           try {
             todiv.appendChild(movediv);
           }
           catch (showerror) {
             allowdebugerr(showerror);
           }
         }
         if (toopt=="CP") {
           try {
             todiv.innerHTML = movediv.innerHTML;
           }
           catch (showerror) {
             allowdebugerr(showerror);
           }
         }
         if (toopt=="MV") {
           try {
             todiv.innerHTML = movediv.innerHTML;
             movediv.innerHTML = "<div></div>";
           }
           catch (showerror) {
             allowdebugerr(showerror);
           }
         }
         if (toopt=="SW") {
           try {
             sparediv = todiv.innerHTML;
             todiv.innerHTML = movediv.innerHTML;
             movediv.innerHTML = sparediv;
           }
           catch (showerror) {
             allowdebugerr(showerror);
           }
         }
         if (toopt=="ADD") {
           try {
             sparediv = todiv.innerHTML;
             todiv.innerHTML = todiv.innerHTML + movediv.innerHTML;
           }
           catch (showerror) {
             allowdebugerr(showerror);
           }
         }
         if (toopt=="ADDT") {
           try {
             sparediv = todiv.innerHTML;
             todiv.innerHTML = movediv.innerHTML + todiv.innerHTML;
           }
           catch (showerror) {
             allowdebugerr(showerror);
           }
         }
       }
     }
   }

   // get any value fields
   rtndiv = xmlobject.getElementsByTagName('idvalues');
   if (rtndiv != null) {
     for (ct = 0 ; ct < rtndiv.length ; ct++) {
       elmid = document.getElementById(rtndiv[ct].getAttribute("id"));
       //elmval = clearcddata(rtndiv[ct].firstChild.nodeValue);
       //elmid.value = elmval;
       elmid.value = clearcddata(rtndiv[ct].firstChild.nodeValue);
     }
   }

   // get any focus fields
   rtnerr = xmlobject.getElementsByTagName('focus');
   if (rtnerr != null) {
     for (i = 0 ; i < rtnerr.length ; i++) {
       try {
         document.getElementById(rtnerr[i].firstChild.nodeValue).focus();
       }
       catch (showerror) {
         allowdebugerr(showerror);
         //alert("Focus error");
       }                                         
     }
   }
   // return form post
   rtnvar = xmlobject.getElementsByTagName('fpost');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
         formsubmit(document.getElementById(rtnvar[i].getAttribute('id')),'');
       }
       else {
          //document.getElementById(rtnvar[i].getAttribute("id")).value = '';
       }
     }
   }

   // run any after functions
   rtnvar = xmlobject.getElementsByTagName('funcafter');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
         try {
           eval(clearcddata(rtnvar[i].firstChild.nodeValue));
         }
         catch(showerror)
         {
           allowdebugerr(showerror);
         }
       }
     }
   }
   // set any variables after everything
   rtnvar = xmlobject.getElementsByTagName('varafter');
   if (rtnvar != null) {
      for (i = 0 ; i < rtnvar.length ; i++) {
       if (rtnvar[i].firstChild != null) {
          document.getElementById(rtnvar[i].getAttribute("id")).value = clearcddata(rtnvar[i].firstChild.nodeValue);
       }
       else {
          document.getElementById(rtnvar[i].getAttribute("id")).value = '';
       }
     }
   }
   // get any errors
   rtnerr = xmlobject.getElementsByTagName('alerterror');
   if (rtnerr != null) {
     for (i = 0 ; i < rtnerr.length ; i++) {
       alert(clearcddata(rtnerr[i].getElementsByTagName('errdesc')[0].firstChild.nodeValue));
     }
   }
}

function emptychildren (container) {
  //move any protected forms back to hidden div
  hiddendiv = document.getElementById("hiddenforms");
  //  alert(hiddendiv);
  if (hiddendiv != null) {
    //alert("1");
    var contdivs=container.getElementsByTagName('DIV');
    for(var no=0;no<contdivs.length;no++){

      for (i=0; i<hiddenformidlist.length; i++) {
        //alert(i + " name:" + hiddenformidlist[i]);
        movetohidden=document.getElementById(hiddenformidlist[i]);
        if (movetohidden != null && contdivs[no]==movetohidden) {
          //alert(movetohidden.innerHTML);
          hiddendiv.appendChild(movetohidden);
        }
      }
    }
  }
  while (container.hasChildNodes()) {
    for (i=0; i<container.childNodes.length; i++) {
      var currentNode = container.childNodes[i];

      //alert(currentNode.nodeName);
      try {
        container.removeChild(currentNode);
      }
      catch (removeerror) {
        allowdebugerr(removeerror);
      }
    }
  }
}

function listchildren (container,divopt,ActuateDiv) {
  var itisdone = '';

  while (container.hasChildNodes()) {
    for (i=0; i<container.childNodes.length; i++) {
      if (itisdone != '') {
        return false;
      }
      var currentNode = container.childNodes[i];

      if (currentNode.nodeName == 'div') {
        itisdone = 'yes';
        if (divopt=='1') {
          emptychildren (ActuateDiv);
        }
        else {
          divpos = container.getAttribute("pos");
        }
        var pElement = document.createElement("div");

        //strText = clearcddata(xmltostrng (currentNode));
        //pElement.innerHTML = strText;
        pElement.innerHTML = clearcddata(xmltostrng (currentNode));
        if (divopt=='1') {
           ActuateDiv.appendChild(pElement);
           return true;                    
        }
        if (divpos == 'top') {
          ActuateDiv.insertBefore(pElement,ActuateDiv.firstChild);
          return true;
        }
        ActuateDiv.appendChild(pElement);
        return true;
      }
    }
  }
}

function clearcddata (cdxmltext) {
  xxt = /\<\!\[CDATA\[/gi;
  strReplaceAll = cdxmltext.replace( xxt, "" );
  xxt = /]]>/gi;
  cdxmltext = strReplaceAll.replace( xxt, "" );
  xxt = /XXSP/gi;
  strReplaceAll = cdxmltext.replace( xxt, "&nbsp;" );
  return strReplaceAll;
}

function xmltostrng (xmldoc) {
  if (window.ActiveXObject) {
    return xmldoc.xml;
  } else if (document.implementation.createDocument || typeof XMLSerializer != 'undefined') {
    // create serializer object for document.implementation.createDocument
    var xmlSerializer = new XMLSerializer();
    // serialize
    return xmlSerializer.serializeToString(xmldoc);
  } else {
    return xmldoc;
  }
}

function getURLParam(strParamName){
  // alert("getURLParam");
  // got rid of to lowercase as it messed up HW encrypted links
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    //var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var strQueryString = strHref.substr(strHref.indexOf("?"));
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (
//aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
}

function moveblock(opt,opt2) {
  // move doc element by id (opt) to new destination (opt2)
  // must run empty children first to make sure destination is empty and
  // and protected blocks are saved
  //
  //
  emptychildren (document.getElementById(opt2));
  document.getElementById(opt2).appendChild(document.getElementById(opt));

}
function addblock(opt,opt2,opt3) {
  // add doc element by id (opt) to new destination (opt2)
  // 
  //
  if (opt3=="TOP") {
    document.getElementById(opt2).insertBefore(document.getElementById(opt),document.getElementById(opt2).firstChild);
  }
  else {
    document.getElementById(opt2).appendChild(document.getElementById(opt));

  }

}

//-->

