var req;var hist=new Array;var nhist=0;var layel,basetag,formnm,finalcod;function ax_getHTML(layid,url,par,act,finfnc,ax,wnd) {    if (wnd)        var layel=wnd.document.getElementById(layid);    else        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;                    if (finalcod.length>0) {                        eval(finalcod);                        }                    if (ax) { // Execute script                        axscriptx(layel);                        }                    }                }            }        if (act) {            req.open(act,url);            }        else {            req.open("GET",url);            }        if (req.overrideMimeType) { // NOT IE//12/23/09: Removed cause breaks French characters that need UTF-8//          But I bet some of those weird " characters will now be broken//            req.overrideMimeType('text/html; charset=windows-1252');            }// MAC does not like these headers//     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) {                history.go(-1);                }            }        else if (nhist>0) {            el.innerHTML = hist[nhist];            nhist -= 1;            }        else if (nhist==0) {            history.go(-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;            }      // 03/11/09: VDS needs array        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;            }        else if (frm.elements[i].type=="select-multiple") {            for (var j=0;j<frm.elements[i].options.length;j++) {                if (frm.elements[i].options[j].selected) {                    qs += frm.elements[i].name+                       '='+fldenc(frm.elements[i].options[j].value)+'&';                    }                }            ok=false;            }        if (ok && frm.elements[i].name) {            qs += frm.elements[i].name+'='+fldenc(frm.elements[i].value)+'&';            }        }    return qs;    }function fldenc(v) { // encode string    v=v.replace(/\%/g,'%25');    v=v.replace(/\&/g,'%26');    v=v.replace(/\=/g,'%3D');    v=v.replace(/\+/g,'%2B');    return v;    }function axscriptx(el) { //Execute scripts    var jsc = document.getElementsByName('_myscript');    for (var i=0;i<jsc.length;i++) {        js=jsc[i];      // 05/19/10: el must be a parent node        var me=js;        while (me.parentNode && me.parentNode != el) me=me.parentNode;        if (me.parentNode) {            if (js && js.innerHTML) {                var u=js.innerHTML.replace(/\&amp\;/g,'&');                u=u.replace(/\&lt\;/g,'<');                u=u.replace(/\&gt\;/g,'>');                try {eval(u);} catch(err) {alert(err);}                }            }        }    }