var ie = document.all, ns6 = document.getElementById && !document.all, isMenu = false, menuSelObj = null, overpopupmenu = false, notWhitespace = /\S/, fetchDfs = false, mctDfsID = "";
window.onfocus = function(){
    if (fetchDfs == true) {
        obj = document.getElementById(mctDfsID);
        obj != null && getDfsData(obj)
    }
};
var browsertype;
if (navigator.appName == "Netscape") 
    browsertype = "Netscape";
if (navigator.appName == "Microsoft Internet Explorer") 
    browsertype = "IE";
function cleanWhitespace(b){
    for (var d = 0; d < b.childNodes.length; d++) {
        var c = b.childNodes[d];
        if (c.nodeType == 3 && !notWhitespace.test(c.nodeValue)) {
            b.removeChild(b.childNodes[d]);
            d--
        }
        c.nodeType == 1 && cleanWhitespace(c)
    }
}

function Display(){
    if (document.getElementById != null) 
        document.getElementById("menudiv").style.display = "none"
}

function mouseSelect(b){
    b = browsertype == "Netscape" ? b.target.parentNode : event.srcElement.parentElement;
    if (isMenu) {
        if (overpopupmenu == false) {
            overpopupmenu = isMenu = false;
            document.getElementById("menudiv").style.display = "none";
            return true
        }
        return true
    }
    return false
}

function ItemSelMenu(b){
    var d = browsertype == "Netscape" ? b.target.parentNode : event.srcElement.parentElement;
    menuSelObj = d;
    if (browsertype == "Netscape") {
        document.getElementById("menudiv").style.left = b.pageX + document.body.scrollLeft + "px";
        document.getElementById("menudiv").style.top = b.pageY + document.body.scrollTop + "px"
    }
    else {
        document.getElementById("menudiv").style.pixelLeft = event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
        document.getElementById("menudiv").style.pixelTop = event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop)
    }
    document.getElementById("menudiv").style.display = "";
    document.getElementById("addrow").style.backgroundColor = "#FFFFFF";
    document.getElementById("delrow").style.backgroundColor = "#FFFFFF";
    isMenu = true;
    if (document.getElementById("menudiv").style.display == "") {
        setTimeout("Display()", 4000);
        isMenu = false
    }
    return false
}

function extractTableId(b){
    var d = /@/;
    d = /]/;
    b = b.split("/");
    for (var c = false, e = b.length - 1, f; !c;) 
        if (d.test(b[e])) {
            c = true;
            f = b.pop()
        }
        else {
            b.pop();
            e--
        }
    newtableLastItem = f.split("[");
    b.push(newtableLastItem[0]);
    return tbpath = b.join("/")
}

function traverse(b, d){
    if (b.id == d) 
        return true;
    else 
        if (b.childNodes != null) 
            for (var c = 0; c < b.childNodes.length; c++) 
                if (traverse(b.childNodes.item(c), d) == true) 
                    return true
}

function getRow(b, d){
    document.getElementById("menudiv").style.display = "none";
    var c = d.getAttribute("type");
    d = d.getAttribute("sid");
    selectedinput = document.getElementById(d);
    var e, f = false;
    if (c == "block") {
        tableid = extractTableId(d);
        table = document.getElementById(tableid);
        for (i = 0; i < table.getElementsByTagName("TBODY")[0].childNodes.length; i++) {
            tr = table.getElementsByTagName("TBODY")[0].childNodes[i];
            if (f = traverse(tr, d)) {
                e = tr;
                break
            }
        }
        b == "add" ? addRow(c, e, tableid) : delRow(c, e, tableid)
    }
    if (c == "item") {
        id = d.split("[");
        b == "add" ? addRow(c, d, id[0]) : delRow(c, d, id[0])
    }
}

function assignIDInsDel(b){
    var d = document.getElementById("addrow");
    if (d != null) {
        d.setAttribute("sid", b);
        document.getElementById("delrow").setAttribute("sid", b);
        idarray = b.split("/");
        a = idarray[idarray.length - 1].match(/\[\d+\]/g);
        if (a == null) {
            document.getElementById("addrow").setAttribute("type", "block");
            document.getElementById("delrow").setAttribute("type", "block")
        }
        else {
            document.getElementById("addrow").setAttribute("type", "item");
            document.getElementById("delrow").setAttribute("type", "item")
        }
    }
}

function newID(b, d, c){
    a = c.split("/");
    c = a[a.length - 1];
    var e = c + "\\[\\d+\\]";
    regexp1 = new RegExp(e);
    return b = d.replace(regexp1, c + "[" + b + "]")
}

function detectHeader(b){
    if (b.nodeName == "INPUT" || b.nodeName == "SELECT" || b.nodeName == "TEXTAREA") 
        return true;
    else 
        if (b.childNodes != null) 
            for (var d = 0; d < b.childNodes.length; d++) 
                if (detectHeader(b.childNodes.item(d))) 
                    return true
}

function addRow(b, d, c){
    if (b == "block") {
        var e, f = document.getElementById(c).getElementsByTagName("TBODY")[0], l, g, k = l = false;
        l = detectHeader(f.rows[0]);
        if (l != true) 
            k = true;
        for (h = 0; h < f.rows.length; h++) 
            if (d == f.rows[h]) 
                e = h + 1;
        if (k) 
            e -= 1;
        l = d.cloneNode(true);
        g = l.getElementsByTagName("INPUT");
        for (var h = 0; h < g.length; h++) {
            g[h].value = "";
            g[h].name = g[h].id = newID(e, g[h].id, c);
            g[h].removeAttribute("readonly", "");
            g[h].removeAttribute("disabled", "");
            g[h].removeAttribute("unselectable", "")
        }
        g = l.getElementsByTagName("A");
        for (h = 0; h < g.length; h++) 
            if (checkhref(g[h].href)) 
                g[h].href = newID(e, g[h].href, c);
            else 
                if (g[h].getAttribute("dfsid")) {
                    g[h].setAttribute("href", newID(e, g[h].getAttribute("href"), c));
                    g[h].setAttribute("dfsid", newID(e, g[h].getAttribute("dfsid"), c))
                }
        g = l.getElementsByTagName("SELECT");
        for (h = 0; h < g.length; h++) {
            g[h].selectedIndex = -1;
            g[h].id = g[h].name = newID(e, g[h].id, c);
            g[h].removeAttribute("readonly", "");
            g[h].removeAttribute("disabled", "");
            g[h].removeAttribute("unselectable", "")
        }
        g = l.getElementsByTagName("TABLE");
        for (h = 0; h < g.length; h++) 
            if (g[h].id != "") 
                g[h].id = newID(e, g[h].id, c);
        g = l.getElementsByTagName("TEXTAREA");
        for (h = 0; h < g.length; h++) {
            g[h].value = "";
            g[h].id = g[h].name = newID(e, g[h].id, c);
            g[h].removeAttribute("readonly", "");
            g[h].removeAttribute("disabled", "");
            g[h].removeAttribute("unselectable", "")
        }
        g = l.getElementsByTagName("DIV");
        for (h = 0; h < g.length; h++) 
            if (g[h].id == "CounterLabel") {
                for (el = g[h].previousSibling; el.nodeType == 3;) 
                    el = el.previousSibling;
                g[h].innerHTML = el.getAttribute("MaxWord");
                break
            }
        g = l.getElementsByTagName("IMG");
        for (h = 0; h < g.length; h++) 
            if (g[h].id == "calgif") {
                onclickEvent = ie ? g[h].getAttribute("Field", 2) : g[h].getAttribute("Field");
                fldID = newID(e, onclickEvent, c);
                g[h].onclick = "";
                g[h].onclick = new Function('showCalendar(this,"' + fldID + '", "yyyy-mm-dd",null,1,-1,-1)');
                g[h].setAttribute("Field", fldID)
            }
        f.insertBefore(l, d);
        if (k) 
            e += 1;
        re_index(b, e, f, c)
    }
    if (b == "item") {
        e = document.getElementById(d);
        e = e.parentNode;
        f = e.parentNode;
        k = e.cloneNode(true);
        l = d.split("/");
        Item = l.pop();
        temp1 = Item.split("[");
        temp2 = temp1[1].split("]");
        newfieldindex = parseInt(temp2[0]);
        reindex = 1 + newfieldindex;
        for (n = 0; n < k.childNodes.length; n++) 
            switch (k.childNodes[n].nodeName) {
                case "SELECT":
                    k.childNodes[n].selectedIndex = -1;
                    k.childNodes[n].name = k.childNodes[n].id = newID(newfieldindex, k.childNodes[n].id, c);
                    break;
                case "INPUT":
                    k.childNodes[n].value = "";
                    k.childNodes[n].name = k.childNodes[n].id = newID(newfieldindex, k.childNodes[n].id, c);
                    break;
                case "A":
                    dfsitem = checkdfslink2(k.childNodes[n]);
                    if (dfsitem != false) {
                        k.childNodes[n].setAttribute("dfsid", newID(newfieldindex, k.childNodes[n].getAttribute("dfsid"), c));
                        k.childNodes[n].setAttribute("href", newID(newfieldindex, k.childNodes[n].getAttribute("href"), c))
                    }
                    break;
                case "TEXTAREA":
                    k.childNodes[n].value = "";
                    k.childNodes[n].name = k.childNodes[n].id = newID(newfieldindex, k.childNodes[n].id, c);
                    if (k.childNodes[n].getAttribute("maxWord")) {
                        for (maxWordCounter = k.childNodes[n].nextSibling; maxWordCounter.nodeType == 3;) 
                            maxWordCounter = maxWordCounter.nextSibling;
                        maxWordCounter.innerHTML = k.childNodes[n].getAttribute("maxWord")
                    }
                    break
            }
        f.insertBefore(k, e);
        re_index(b, reindex, f, d)
    }
}

function delRow(b, d, c){
    if (b == "block") {
        var e = document.getElementById(c).getElementsByTagName("TBODY")[0];
        for (i = 0; i < e.rows.length; i++) 
            if (d == e.rows[i]) {
                delrowindex = i;
                e.removeChild(e.childNodes[delrowindex])
            }
        re_index(b, delrowindex, e, c)
    }
    if (b == "item") {
        c = document.getElementById(d).parentNode;
        e = c.parentNode;
        e.removeChild(c);
        re_index(b, "", e, d)
    }
}

function re_index(b, d, c, e){
    if (b == "block") {
        var f = false, l = false;
        f = detectHeader(c.rows[0]);
        if (f != true) 
            l = true;
        for (i = d; i < c.rows.length; i++) {
            d = c.rows[i];
            newindex = l ? i : i + 1;
            g = d.getElementsByTagName("INPUT");
            for (f = 0; f < g.length; f++) 
                g[f].name = g[f].id = newID(newindex, g[f].id, e);
            g = d.getElementsByTagName("TABLE");
            for (f = 0; f < g.length; f++) 
                if (g[f].id != "") 
                    g[f].name = g[f].id = newID(newindex, g[f].id, e);
            g = d.getElementsByTagName("TEXTAREA");
            for (f = 0; f < g.length; f++) 
                g[f].name = g[f].id = newID(newindex, g[f].id, e);
            g = d.getElementsByTagName("SELECT");
            for (f = 0; f < g.length; f++) 
                g[f].name = g[f].id = newID(newindex, g[f].id, e);
            var g = d.getElementsByTagName("A");
            for (f = 0; f < g.length; f++) 
                if (checkhref(g[f].href)) 
                    g[f].href = newID(newindex, g[f].href, e);
                else 
                    if (g[f].getAttribute("dfsid")) {
                        g[f].setAttribute("href", newID(newindex, g[f].getAttribute("href"), e));
                        g[f].setAttribute("dfsid", newID(newindex, g[f].getAttribute("dfsid"), e))
                    }
            g = g = d.getElementsByTagName("IMG");
            for (f = 0; f < g.length; f++) 
                if (g[f].id == "calgif") {
                    onclickEvent = ie ? g[f].getAttribute("Field", 2) : g[f].getAttribute("Field");
                    fldID = newID(newindex, onclickEvent, e);
                    g[f].onclick = "";
                    g[f].onclick = new Function('showCalendar(this,"' + fldID + '", "yyyy-mm-dd",null,1,-1,-1)');
                    g[f].setAttribute("Field", fldID)
                }
        }
    }
    if (b == "item") {
        b = [];
        id = e.replace(/\[\d+\]/g, "");
        b = c.getElementsByTagName("DIV");
        for (n = 0; n < b.length; n++) 
            for (m = 0; m < b[n].childNodes.length; m++) 
                switch (b[n].childNodes[m].nodeName) {
                    case "SELECT":
                        b[n].childNodes[m].name = b[n].childNodes[m].id = newID(n + 1, b[n].childNodes[m].id, id);
                        break;
                    case "INPUT":
                        b[n].childNodes[m].name = b[n].childNodes[m].id = newID(n + 1, b[n].childNodes[m].id, id);
                        break;
                    case "A":
                        dfsitem = checkdfslink2(b[n].childNodes[m]);
                        if (dfsitem != false) {
                            b[n].childNodes[m].setAttribute("dfsid", newID(n + 1, b[n].childNodes[m].getAttribute("dfsid"), id));
                            b[n].childNodes[m].setAttribute("href", newID(n + 1, b[n].childNodes[m].getAttribute("href"), id))
                        }
                        break;
                    case "TEXTAREA":
                        b[n].childNodes[m].name = b[n].childNodes[m].id = newID(n + 1, b[n].childNodes[m].id, id);
                        break
                }
    }
}

function appendRow(b, d){
    tb = document.getElementById(b);
    tbody = tb.getElementsByTagName("tbody")[0];
    var c = tbody.rows.length;
    c = c + 1;
    var e = false;
    e = detectHeader(tbody.rows[0]);
    if (e != true) {
        d == 0 && d++;
        c--
    }
    d = tbody.getElementsByTagName("tr")[d].cloneNode(true);
    e = d.getElementsByTagName("INPUT");
    for (var f = 0; f < e.length; f++) {
        e[f].value = "";
        e[f].name = e[f].id = newID(c, e[f].id, b);
        e[f].removeAttribute("readonly", "");
        e[f].removeAttribute("disabled", "");
        e[f].removeAttribute("unselectable", "")
    }
    e = d.getElementsByTagName("A");
    for (f = 0; f < e.length; f++) 
        if (checkhref(e[f].href)) 
            e[f].href = newID(c, e[f].href, b);
        else 
            if (e[f].getAttribute("dfsid")) {
                e[f].setAttribute("dfsid", newID(c, e[f].getAttribute("dfsid"), b));
                e[f].setAttribute("href", newID(c, e[f].getAttribute("href"), b))
            }
    e = d.getElementsByTagName("SELECT");
    for (f = 0; f < e.length; f++) {
        e[f].selectedIndex = -1;
        e[f].id = e[f].name = newID(c, e[f].id, b);
        e[f].removeAttribute("readonly", "");
        e[f].removeAttribute("disabled", "");
        e[f].removeAttribute("unselectable", "")
    }
    if (e.length > 1) 
        for (f = 1; f < e.length; f++) 
            if (e[f].getAttribute("connected") == "true") 
                for (; e[f].hasChildNodes();) 
                    e[f].removeChild(e[f].lastChild);
    e = d.getElementsByTagName("TEXTAREA");
    for (f = 0; f < e.length; f++) {
        e[f].nodeValue = "";
        e[f].value = "";
        e[f].id = e[f].name = newID(c, e[f].id, b);
        e[f].removeAttribute("readonly", "");
        e[f].removeAttribute("disabled", "");
        e[f].removeAttribute("unselectable", "")
    }
    e = d.getElementsByTagName("TABLE");
    for (f = 0; f < e.length; f++) 
        if (e[f].id != "") 
            e[f].id = newID(c, e[f].id, b);
    e = d.getElementsByTagName("DIV");
    for (f = 0; f < e.length; f++) 
        if (e[f].id == "CounterLabel") {
            for (el = e[f].previousSibling; el.nodeType == 3;) 
                el = el.previousSibling;
            e[f].innerHTML = el.getAttribute("MaxWord");
            break
        }
    e = d.getElementsByTagName("IMG");
    for (f = 0; f < e.length; f++) 
        if (e[f].id == "calgif") {
            onclickEvent = ie ? e[f].getAttribute("Field", 2) : e[f].getAttribute("Field");
            fldID = newID(c, onclickEvent, b);
            e[f].onclick = "";
            e[f].onclick = new Function('showCalendar(this,"' + fldID + '", "yyyy-mm-dd",null,1,-1,-1)');
            onclickEvent = e[f].setAttribute("Field", fldID)
        }
    newtbRow = tbody.appendChild(d)
}

function checkhref(b){
    b += "";
    var d = /appendrow/i, c = /appenditem/i;
    return d.test(b) || c.test(b)
}

function appendItem(b){
    firstID = b.concat("[1]");
    for (var d = document.getElementById(firstID), c = false, e = 2; c != true;) {
        newid = "[" + e + "]";
        sId = b.concat(newid);
        if (document.getElementById(sId) != null) 
            e++;
        else 
            c = true
    }
    j = e - 1;
    lastid = "[" + j + "]";
    LastItem = document.getElementById(b.concat(lastid));
    d = d.parentNode;
    c = d.cloneNode(true);
    for (n = 0; n < c.childNodes.length; n++) 
        switch (c.childNodes[n].nodeName) {
            case "SELECT":
                c.childNodes[n].selectedIndex = -1;
                c.childNodes[n].name = c.childNodes[n].id = newID(e, c.childNodes[n].id, b);
                break;
            case "INPUT":
                c.childNodes[n].value = "";
                c.childNodes[n].name = c.childNodes[n].id = newID(e, c.childNodes[n].id, b);
                break;
            case "A":
                dfsitem = checkdfslink2(c.childNodes[n]);
                if (dfsitem != false) {
                    c.childNodes[n].setAttribute("dfsid", newID(e, c.childNodes[n].getAttribute("dfsid"), b));
                    c.childNodes[n].setAttribute("href", newID(e, c.childNodes[n].getAttribute("href"), b))
                }
                break;
            case "TEXTAREA":
                c.childNodes[n].value = "";
                c.childNodes[n].name = c.childNodes[n].id = newID(e, c.childNodes[n].id, b);
                if (c.childNodes[n].getAttribute("maxWord")) {
                    for (maxWordCounter = c.childNodes[n].nextSibling; maxWordCounter.nodeType == 3;) 
                        maxWordCounter = maxWordCounter.nextSibling;
                    maxWordCounter.innerHTML = c.childNodes[n].getAttribute("maxWord")
                }
                break;
            case "IMG":
                c.childNodes[n].onclick = "";
                att = ie ? newID(e, c.childNodes[n].getAttribute("Field", 2), b) : newID(e, c.childNodes[n].getAttribute("Field"), b);
                c.childNodes[n].onclick = new Function('showCalendar(this,"' + att + '", "yyyy-mm-dd",null,1,-1,-1)');
                break
        }
    d.parentNode.appendChild(c)
}

function traceNextItem(b, d){
    var c = null;
    c = d.nextSibling;
    d = [];
    for (var e = 0; c != null;) {
        d[e] = c;
        if (c.id) {
            var f = c.id.split("/"), l = f[f.length - 1];
            l = l.split("[");
            f.pop();
            f.push(l[0]);
            siblingId = f.join("/");
            if (siblingId == b) 
                break
        }
        c = c.nextSibling;
        e++
    }
    d.pop();
    return d
}

function checkdfslink(b){
    collection = b.getElementsByTagName("a");
    b = false;
    for (i = 0; i < collection.length;) {
        if (collection[i].getAttribute("dfsid") != null) 
            return collection[i];
        break
    }
}

function checkdfslink2(b){
    var d = false;
    if (b.getAttribute("dfsid") != null) 
        d = true;
    return d
}

function dfspickfile(b){
    var d = document.getElementById("_SID").getAttribute("Value");
    id = b.getAttribute("dfsid");
    b = b.getAttribute("GetMeta");
    filepath = "getdfsfile?ID=selectfile/selectFile_f.html&DM=*DM&PF=*PF&MF=*MF&inputid=" + id;
    filepath = filepath + "&SID=" + d;
    selectFileWin = window.open(filepath, "selectFileWin", "width=800,height=500, resizable=yes,status=no,toolbar=no,left=5,top=5,screenX=5,screenY=5");
    if (selectFileWin != null) {
        selectFileWin.focus();
        if (b == "True") 
            fetchDfs = true;
        mctDfsID = id
    }
    return false
}

function dfspickfolder(b){
    var d = document.getElementById("_SID").getAttribute("Value");
    id = b.getAttribute("dfsid");
    filepath = "getdfsfile?ID=selectfolder/selectFolder_f.html&DM=*DM&PF=*PF&MF=*MF&inputid=" + id;
    filepath = filepath + "&SID=" + d;
    selectFolderWin = window.open(filepath, "selectFolderWin", "width=800,height=500, resizable=yes,status=no,toolbar=no,left=5,top=5,screenX=5,screenY=5");
    selectFolderWin != null && selectFolderWin.focus();
    return false
}

function addnewitem(b){
    var d = document.getElementById("mctxform");
    d = b.getAttribute("MID");
    d = b.getAttribute("Category");
    var c = b.parentNode;
    c = c.getElementsByTagName("select")[0];
    c = c.id;
    var e = "";
    e = window.prompt("New Item for Category " + b.getAttribute("Category"), "");
    if (e != null) 
        if (e == "") 
            alert("Please provide value to new Item, form not submitted");
        else {
            document.getElementById("_Category").value = d;
            document.getElementById("_Item").value = e;
            b = [];
            b[0] = "Category";
            b[1] = [];
            b[1][0] = d;
            b[2] = "NewItem";
            b[3] = [];
            b[3][0] = e;
            b[4] = "TargetID";
            b[5] = [];
            b[5][0] = c;
            loadDoc(b, "AddNewItem")
        }
}

function autofill(b){
    var d = b.options[b.selectedIndex].value, c = b.getAttribute("Autofillname");
    b = b.id;
    document.getElementById("_Autofillvalue").value = d;
    document.getElementById("_Autofillname").value = c;
    var e = [];
    e[0] = "FieldName";
    e[1] = [];
    e[1][0] = c;
    e[2] = "FieldValue";
    e[3] = [];
    e[3][0] = d;
    e[4] = "Nodename";
    e[5] = [];
    e[5][0] = b;
    loadDoc(e, "Autofill")
}

function fillModelName(b){
    var d = b.id, c = b.options[b.selectedIndex].value;
    b = b.getAttribute("FieldName");
    document.getElementById("_Fieldname").value = b;
    b = [];
    b[0] = "FieldName";
    b[1] = [];
    b[1][0] = d;
    b[2] = "FieldValue";
    b[3] = [];
    b[3][0] = c;
    loadDoc(b, "GetModelName")
}

function getPickList(b){
    var d = b.id;
    d = b.options[b.selectedIndex].value;
    var c = [];
    c[0] = "FieldName";
    c[1] = [];
    c[1][0] = b.id;
    c[2] = "FieldValue";
    c[3] = [];
    c[3][0] = d;
    loadDoc(c, "GetPickList")
}

function getEForm(b){
    var d = b.form.action, c = b.id;
    b = b.options[b.selectedIndex].value;
    var e = document.getElementById("_SID").getAttribute("Value"), f = document.getElementById("_MID").getAttribute("Value"), l = b.substring(0, 2);
    if (l != "- ") {
        d = /GetFormQuery$/.test(d) ? "getFormQuery?SID=" + e + "&mid=" + f + "&FormID=" + c + "/" + b + ".xsd" : "getform?SID=" + e + "&mid=" + f + "&FormID=" + c + "\\" + b + ".xsd";
        window.open(d, b)
    }
}

function descriptorPickList(b){
    var d = [], c = [], e = true;
    b = b.split(",");
    e = /@/;
    var f = b[0];
    if (e.test(b[0])) {
        items = b[0].split("/");
        items.pop();
        f = items.join("/")
    }
    e = document.getElementById(f);
    e = e.getElementsByTagName("select");
    b = document.getElementById(b[1]);
    for (loopindex = 0; loopindex < e.length; loopindex++) 
        c[loopindex] = e[loopindex].options[e[loopindex].selectedIndex].value;
    d[0] = "Category";
    d[1] = [];
    for (i = 0; i < c.length; i++) 
        d[1][i] = c[i];
    d[2] = "Theme";
    d[3] = [];
    d[3][0] = b.options[b.selectedIndex].value;
    loadDoc(d, "DescriptorSections")
}

function ResolveSectionList(b){
    b = document.getElementById(b);
    b = b.getElementsByTagName("select");
    var d = [];
    for (i = 0; i < b.length; i++) 
        d[i] = b[i].id;
    return d
}

var isIE = false, req = false;
function loadXMLDoc(b, d){
    var c = [], e;
    e = "xmlhttp";
    if (d != "getDfsData") {
        c = getSysObj();
        url = e + "?mid=" + c[1];
        for (i = 0; i < b.length; i++) 
            if (i % 2 == 0) 
                url = url + "&" + b[i] + "=";
            else 
                for (j = 0; j < b[i].length; j++) {
                    url += b[i][j];
                    if (j != b[i].length - 1) 
                        url += ";"
                }
    }
    else {
        url = e + "?dfsRef=" + b[1][0];
        url = url + "&_SID=" + document.getElementsByName("_SID")[0].value;
        url = url + "&FieldName=" + b[0];
        url = url + "&XsdDoc=" + document.getElementsByName("mct:xsd")[0].value;
        url = url + "&mid=" + document.getElementsByName("_MID")[0].value
    }
    url = url + "&AjaxReqType=" + d;
    if (d != "getDfsData") {
        if (c[4] != "") {
            url = url + "&Keywords=" + c[4];
            b = document.getElementById("Class");
            if (b != null) 
                url = url + "&Class=" + b.value
        }
        if (c[5] != "") 
            url = url + "&Rel=" + c[5];
        if (c[6] != "") 
            url = url + "&ChildLevels=" + c[6];
        if (d != "AddNewItem" || d != "DescriptorSections") 
            url = url + "&mct:xsd=" + c[2];
        url = url + "&_SID=" + c[3]
    }
    if (c[7] != "") 
        url = url + "&Models=" + c[7];
	
	obj = document.getElementsByName("ListID")   /* akk 2010.03.18 */
	if (obj[0] != null){     
		url = url +"&ListID="+obj[0].value; 
	}	
    if (window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest
        } 
        catch (f) {
            req = false
        }
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send("null")
        }
    }
    else 
        if (window.ActiveXObject) {
            try {
                req = new ActiveXObject("Msxml2.XMLHTTP")
            } 
            catch (l) {
                try {
                    req = new ActiveXObject("Microsoft.XMLHTTP")
                } 
                catch (g) {
                    req = false
                }
            }
            if (req) {
                req.onreadystatechange = processReqChange;
                req.open("GET", url, true);
                req.send("")
            }
        }
}

function getSysObj(){
    var b = [], d, c;
    b[0] = document.getElementsByName("_FormID")[0].value;
    b[1] = document.getElementsByName("_MID")[0].value;
    b[2] = document.getElementsByName("mct:xsd")[0].value;
    b[3] = document.getElementsByName("_SID")[0].value;
    if (document.getElementsByName("Keywords")[0] != null) {
        d = document.getElementsByName("Keywords")[0].value;
        if (d == "") 
            if (document.getElementsByName("Keywords")[1] != null) 
                d = document.getElementsByName("Keywords")[1].value
    }
    if (document.getElementsByName("Models")[0] != null) {
        c = document.getElementsByName("Models")[0].value;
        b[7] = c
    }
    else 
        b[7] = "";
    if (b[0] == "RelatedFilterForm") {
        b[4] = d;
        b[5] = document.getElementsByName("RelatedFilter/Relationship")[0].value;
        b[6] = ""
    }
    else 
        if (b[0] == "CommonSetSearchForm") {
            b[4] = d;
            b[5] = "";
            b[6] = ""
        }
        else 
            if (b[0] == "ProcessListForm") {
                b[4] = d;
                b[5] = document.getElementsByName("RelatedFilter/Relationship")[0].value;
                obj = document.getElementsByName("ChildLevels");
                if (obj != null) 
                    b[6] = obj[0].value
            }
            else {
                if (b[0] == "SearchListForm") {
                    b[4] = searchKey;
                    b[5] = document.getElementsByName("RelatedFilter/Relationship")[0].value
                }
                else {
                    b[4] = "";
                    b[5] = ""
                }
                b[6] = ""
            }
    return b
}

function processReqChange(){
    if (req.readyState == 4) 
        if (req.status == 200 || req.status == 304) {
            stripWhiteSpace(req.responseXML.documentElement);
            processXmldoc()
        }
        else 
            alert("There is a processReq problem:\n" + req.statusText + " .Please Contact System Admin")
}

function processXmldoc(){
    var b = false, d = [], c, e;
    if (req.responseXML) {
        target = req.responseXML.getElementsByTagName("target");
        for (c = 0; c < target.length; c++) {
            target_att = target[c].attributes;
            for (e = 0; e < target_att.length; e++) 
                if (target_att[e].nodeName == "value") 
                    b = true;
            d[0] = target[c].getAttribute("id");
            if (b) {
                checkReadOnly(target[c], d[0]);
                updateTextBox(d[0], target[c].getAttribute("value"))
            }
            else 
                if (d[0] == "descriptor/Sections/Section") {
                    d = ResolveSectionList(d[0]);
                    for (b = 0; b < d.length; b++) {
                        clearTopicList(d[b]);
                        buildTopicList(d[b], target[c])
                    }
                    document.getElementById(d[0]).focus()
                }
                else {
                    targetList = d[0];
                    for (m = 2; targetList != "false";) {
                        clearTopicList(targetList);
                        buildTopicList(targetList, target[c]);
                        targetList = targetList.length - 1 != targetList.lastIndexOf("]") ? "false" : testRepeatList(targetList, m);
                        m++
                    }
                }
            b = false
        }
    }
}

function testRepeatList(b, d){
    var c = "\\[\\d+\\]$";
    regexp1 = new RegExp(c);
    b = b.replace(regexp1, "[" + d + "]");
    return document.getElementById(b) != null ? b : "false"
}

function loadDoc(b, d){
    try {
        loadXMLDoc(b, d)
    } 
    catch (c) {
        b = typeof c == "string" ? c : c.message ? c.message : "Unknown Error";
        alert("Unable to data,error:\n" + b)
    }
}

function clearTopicList(b){
    if (b != "") 
        for (b = document.getElementById(b); b.length > 0;) 
            b.remove(0)
}

function buildTopicList(b, d){
    if (b != "") {
        b = document.getElementById(b);
        d = d;
        d = d.childNodes;
        for (var c = 0; c < d.length; c++) {
            text = "";
            text = d[c].firstChild ? document.createTextNode(d[c].firstChild.data) : document.createTextNode("");
            appendToSelect(b, d[c].getAttribute("value"), text)
        }
    }
}

function checkReadOnly(b, d){
    var c = false;
    target_att = b.attributes;
    for (j = 0; j < target_att.length; j++) 
        if (target_att[j].nodeName == "readonly") 
            c = true;
    if (c) {
        formtarget = document.getElementById(d);
        formtarget != null && formtarget.setAttribute("Readonly", "true")
    }
}

function updateTextBox(b, d){
    var c = document.getElementById(b);
    if (c != null) 
        if (c.type == "select-one") {
            c.value = d;
            if (c.value != d) {
                clearTopicList(b);
                b = document.createTextNode(d);
                appendToSelect(c, d, b);
                c.value = d
            }
        }
        else 
            document.getElementById(b).value = d;
    else {
        c = b;
        for (var e = c.indexOf("["); e != -1;) {
            c = c.substr(0, e) + c.substr(e + 3);
            e = c.indexOf("[")
        }
        if (b.indexOf("[") != 0) {
            b.charAt(b.length - 1) == "]" ? appendItem(c) : appendRow(c, 1);
            updateTextBox_x(b, d)
        }
    }
}

function updateTextBox_x(b, d){
    var c = document.getElementById(b);
    if (c != null) 
        if (c.type == "select-one") {
            c.value = d;
            if (c.value != d) {
                clearTopicList(b);
                b = document.createTextNode(d);
                appendToSelect(c, d, b);
                c.value = d
            }
        }
        else 
            if (document.getElementById(b).value == "") 
                document.getElementById(b).value = d
}

function appendToSelect(b, d, c){
    var e;
    e = document.createElement("option");
    e.value = d;
    d = unescape(c);
    e.content = d.replace(/\+/, " ");
    e.appendChild(c);
    b.appendChild(e)
}

function is_ws(b){
    return !/[^\t\n\r ]/.test(b.data)
}

function stripWhiteSpace(b){
    nodesToDelete = Array();
    findWhiteSpace(b, 0);
    for (i = nodesToDelete.length - 1; i >= 0; i--) {
        nodeRef = nodesToDelete[i];
        nodeRef.parentNode.removeChild(nodeRef)
    }
}

function findWhiteSpace(b, d){
    for (i = 0; i < b.childNodes.length; i++) {
        if (b.childNodes[i].nodeType == 3 && is_ws(b.childNodes[i])) 
            nodesToDelete[nodesToDelete.length] = b.childNodes[i];
        b.childNodes[i].hasChildNodes() && findWhiteSpace(b.childNodes[i], i)
    }
    b = b.parentNode;
    i = d
}

var WordsMonitor = 0;
function WordLengthCheck(b, d){
    WordsMonitor = 0;
    for (var c = false, e = new String, f = 0; f < b.length; f++) {
        vs = b.substr(f, 1);
        if (vs >= "A" && vs <= "Z" || vs >= "a" && vs <= "z" || vs >= "0" && vs <= "9") {
            if (c == false) {
                c = true;
                WordsMonitor++;
                if (d > 0 && WordsMonitor > d) {
                    b = b.substring(0, e.length);
                    f = b.length;
                    WordsMonitor--
                }
            }
        }
        else 
            c = false;
        e += vs
    }
    return b
}

function CharLengthCheck(b, d){
    if (b.length > d) 
        b = b.substring(0, d);
    return b
}

function InputCharacterLengthCheck_(){
    if (!(MaxChars <= 0)) {
        var b = new String;
        eval("currentstring = " + textfield);
        var d = b.length;
        eval("currentstring = CharLengthCheck(" + textfield + "," + MaxChars + ")");
        if (CharactersLeftFieldName.length > 0) {
            var c = 0;
            eval("left = " + MaxChars + " - " + textfield + ".length");
            if (c < 0) 
                c = 0;
            eval("document." + FormName + "." + CharactersLeftFieldName + ".value = " + c);
            b.length < d && eval(textfield + " = currentstring.substring(0)")
        }
        if (CharactersTypedFieldName.length > 0) {
            eval("document." + FormName + "." + CharactersTypedFieldName + ".value = " + textfield + ".length");
            b.length < d && eval(textfield + " = currentstring.substring(0)")
        }
    }
}

function InputWordLengthCheck(b, d){
    MaxWords = d;
    textfield = 'document.getElementById("' + b.id + '").value';
    counter = document.getElementById(b.id + "_lc");
    if (!(MaxWords <= 0)) {
        b = new String;
        eval("currentstring = " + textfield);
        d = b.length;
        eval("currentstring = WordLengthCheck(" + textfield + "," + MaxWords + ")");
        var c = MaxWords - WordsMonitor;
        if (c < 0) 
            c = 0;
        counter.value = c;
        if (b.length < d) {
            eval(textfield + " = currentstring.substring(0)");
            counter.style.color = "red";
            counter.style.border = "2px solid red"
        }
        else {
            counter.style.color = "#999";
            counter.style.border = "1px solid #ccc"
        }
    }
}

function InputLengthCheck(b, d, c){
    d && InputWordLengthCheck(b, b.getAttribute("maxWord"));
    c && InputCharacterLengthCheck(b, b.getAttribute("maxWord"))
}

function PrintThisPage(b){
    var d = "toolbar=yes,location=no,directories=yes,menubar=yes,";
    d += "scrollbars=yes,width=800,height=600,left=100,top=25,resizable=1";
    b = document.getElementsByName(b);
    if (b[0] != null) {
        d = window.open("", "Printer friendly document", d);
        d.document.open();
        var c = document.doctype;
        document.doctype != null && d.document.write('<!DOCTYPE HTML PUBLIC "' + c.publicId + '" "' + c.systemId + '">');
        d.document.write("<HTML>");
        d.document.write("<Head>");
        d.document.write('<META http-equiv=Content-Type content="text/html; charset=unicode">');
        c = document.getElementsByTagName("LINK");
        for (var e = 0; e < c.length; e++) {
            d.document.write('<LINK href="' + c[e].href + '" ');
            d.document.write('type="' + c[e].type + '" ');
            d.document.write('rel="' + c[e].rel + '">')
        }
        d.document.write("</Head>");
        d.document.write("<Body>");
        for (i = 0; b[i] != null;) {
            d.document.write(b[i].innerHTML);
            i++
        }
        d.document.write("</Body></HTML>");
        d.document.close();
        d.focus()
    }
}

function getDfsData(b){
    var d = b.value;
    if (d != "") {
        var c = [];
        c[0] = b.id;
        c[1] = [];
        c[1][0] = d;
        loadDoc(c, "getDfsData")
    }
    fetchDfs = false
};

