var req;var hist=new Array;var nhist=0;var layel,basetag,formnm,finalcod;function ax_getHTML(layid,url,par,act,finfnc) {    var layel=document.getElementById(layid);    var req,finalcod;    if (!layel) {        alert('Unable to find ID '+layid);        return;        }    if (window.XMLHttpRequest) {        req=new XMLHttpRequest();        }    else if (window.ActiveXObject) {        req=new ActiveXObject("Microsoft.XMLHTTP");        }    if (finfnc) {        finalcod=finfnc;        }    else {        finalcod='';        }    if (req) {        req.onreadystatechange = function ax_processHTML() {            if (req.readyState == 4 && req.status == 200) {                if (layel) {                    hist[nhist]=layel.innerHTML;                    layel.innerHTML=req.responseText;                    nhist += 1;                 //   layel.recalc();                    if (finalcod.length>0) {                        eval(finalcod);                        }                    }                }            }        if (act) {            req.open(act,url);            }        else {            req.open("GET",url);            }        if (req.overrideMimeType) { // NOT IE            req.overrideMimeType('text/html; charset=windows-1252');            }     req.setRequestHeader('User-Agent',navigator.userAgent+' Merlin_AX/1.0');        if (par) {            req.send(par);            }        else {            req.send('');            }        }    }function ax_go(layid,k) { // k<0: go back that #pages (def -1)                      // k>0: go forward    el=document.getElementById(layid);    if (el) {        if (k) {//alert(k+','+nhist)            if (k<0 && nhist+k >=0) {                el.innerHTML = hist[nhist+k];                nhist=nhist+k;                }            else if (k>0 && k<nhist) {                el.innerHTML = hist[k];                nhist=k;                }            }        else if (nhist>0) {            el.innerHTML = hist[nhist];            nhist -= 1;            }        }    }function ax_getFields(fname,url,act,par,btag,finfnc,errfnc) { /* fname:  Form name in HTML page containing fields            If null: assign values to js memvars instead of fields    url:    URL of page to return XML data    act:    GET/POST - default GET    par:    For POST only: body data, GET: include ?field=value in URL    btag:   Base tag name in return XML data - default 'fields'    finfnc: Call this optional function at the end    errfnc: Call this optional function if an error */    var formnm=fname;    if (btag)        var basetag=btag;    else        var basetag="fields";    if (finfnc)        var finalcod=finfnc;    else        var finalcod='';    if (errfnc)        var finalerr=errfnc;    else        var finalerr='';    if (window.XMLHttpRequest) {        req=new XMLHttpRequest();        }    else if (window.ActiveXObject) {        req=new ActiveXObject("Microsoft.XMLHTTP");        }    if (req) {        req.onreadystatechange = function ax_processFields() {    if (req.readyState == 4 && req.status == 200) {        if (!req.responseXML) {            alert('XML error: '+req.responseText);            if (finalerr.length>0) {                eval(finalerr);                }            return;            }        oel = req.responseXML.getElementsByTagName('error');        if (oel && oel.length>0) { //error            alert(oel[0].firstChild.nodeValue);            if (finalerr.length>0) {                eval(finalerr);                }            return;            }        oel = req.responseXML.getElementsByTagName('confirm');        if (oel && oel.length>0) { //03/05/08 confirm            ok=confirm(oel[0].firstChild.nodeValue);            if (finalcod.length>0) {                eval(finalcod);                }            return;            }        elarray = req.responseXML.getElementsByTagName('array');        if (elarray && elarray.length>0) {            elarn=elarray.length;            }        else {            elarn=0;            oFields = req.responseXML.getElementsByTagName(basetag);            oFld = oFields[0].firstChild;            while (oFld) {              if (oFld.nodeType==1) { // Element: Field name                fld = oFld.nodeName;                oVal=oFld.firstChild;                if (oVal && (oVal.nodeType==3 || oVal.nodeType==4)) {                    val = oVal.nodeValue;                    }                else {                    val = "";                    }                if (formnm) {                    ffld = eval('document.'+formnm+'.'+fld);                    if (ffld) {                        if (ffld.length && ffld[0].type=='radio') {                            for (i=0;i<ffld.length;i++) {                                if (ffld[i].value==val) {                                    ffld[i].checked=true;                                    break;                                    }                                }                            }                        else {                            ffld.value = val;                            }                        }                    }                else {                    eval(fld+'="'+val+'";');                    }                }              oFld=oFld.nextSibling;              }            }        if (finalcod.length>0) {            eval(finalcod);            }        }    }// * End fnc        if (act) {            req.open(act,url);            }        else {            req.open("GET",url);            }     req.setRequestHeader('User-Agent',navigator.userAgent+' Merlin_AX/1.0');        if (par) {            req.send(par);            }        else {            req.send('');            }        }    }function ax_makeflds(frm) { // Make query string of fields in form    qs="";    for (i=0;i<frm.elements.length;i++) {        ok=true;       if (frm.elements[i].type=="radio" || frm.elements[i].type=="checkbox") {            ok=frm.elements[i].checked;            }        if (ok && frm.elements[i].name) {            v=frm.elements[i].value.replace(/\&/g,'%26');            v=v.replace(/\=/g,'%3D');            v=v.replace(/\+/g,'%2B');            qs += frm.elements[i].name+'='+v+'&';            }        }    return qs;    }