

// Browsercheck
function browserCheck() {
    browser = (((navigator.appName == "Netscape") &&
	(parseInt(navigator.appVersion) >= 5)) ||
	((navigator.appName == "Microsoft Internet Explorer") &&
	(parseInt(navigator.appVersion) >= 4)))
    if (browser) {
    }
    else {
        alert('OPGELET: uw browser is niet ondersteund.\n\nDe volgende browsers zijn ondersteund:\n\nMicrosoft IE 4.x en hoger\nNetscape Navigator 6.x en hoger');
    }
}


function addSrcToDestList(i, j) {
    var destList = window.document.form.elements[j];
    var srcList = window.document.form.elements[i];

    var len = destList.length;
    for (var i = 0; i < srcList.length; i++) {
        if (srcList.options[i].selected) {
            if ((srcList.options[i] != null)) {
                var found = false;
                for (var count = 0; count < len; count++) {
                    if (destList.options[count] != null) {
                        if (srcList.options[i].value == destList.options[count].value) {
                            found = true;
                            break;
                        }
                    }
                }
                if (found != true) {
                    destList.options[len] = new Option();
                    destList.options[len].text = srcList.options[i].text;
                    destList.options[len].value = srcList.options[i].value;
                    len++;

                }
            }
            srcList.options[i] = null;
            i--;
        }
    }
}

function addAllSrcToDestList(i, j) {
    var destList = window.document.form.elements[j];
    var srcList = window.document.form.elements[i];

    for (var k = 0; k < srcList.length; k++) {
        srcList.options[k].selected = true;
    }
    addSrcToDestList(i, j);

}

function countOptions(field) {
    var totOptions = 0;
    for (i = 0; i < field.length; i++) {
        if (field.options[i].value != "") {
            totOptions = totOptions + 1;
        }
    }
    return totOptions;
}

function deleteListItems(i) {
    var srcList = window.document.form.elements[i];

    for (var k = 0; k < srcList.length; k++) {
        if (srcList.options[k].value != "") {
            srcList.options[k].value = "";
            srcList.options[k].text = "";
        }
    }
}

function addSrcToDestList1(i, j) {
    var destList = window.document.form.elements[j];
    var srcList = window.document.form.elements[i];

    var len = destList.length;
    for (var i = 0; i < srcList.length; i++) {
        if (srcList.options[i].selected) {
            if ((srcList.options[i] != null)) {
                var found = false;
                for (var count = 0; count < len; count++) {
                    if (destList.options[count] != null) {
                        if (srcList.options[i].value == destList.options[count].value) {
                            found = true;
                            break;
                        }
                    }
                }
                if (found != true) {
                    destList.options[len] = new Option();
                    destList.options[len].text = srcList.options[i].text;
                    destList.options[len].value = srcList.options[i].value;
                    len++;

                }
            }
        }
    }
}

function delFromList(i) {
    var srcList = window.document.form.elements[i];

    for (var k = 0; k < srcList.length; k++) {
        if (srcList.options[k].selected) {
            srcList.options[k] = null;
        }
    }
}

function getradioinfo(obj, dn, ret) {
    var thisobj = document.getElementById(obj);
    if (thisobj) {
        if (thisobj.length == 0) {
            thisobj.options[0] = new Option();
        }
        oldvalue = thisobj.options[0].value;
        thisobj.options[0].value = dn;
        thisobj.options[0].text = ret;
        if (oldvalue != thisobj.options[0].value) {
            TriggerOnChange(obj);
        }
    }
}

function getcheckinfo(thisobj, ret) {
    var len = thisobj.length;
    var aRet = ret.split("#");
    for (i = 0; i < aRet.length - 1; i++) {
        thisobj.options[len] = new Option();
        thisobj.options[len].value = aRet[i];
        i++
        thisobj.options[len].text = aRet[i];
        len++
    }
}

function delItems(thisobj) {
    if (thisobj.length > 0) {
        for (i = thisobj.length - 1; i >= 0; i--) {
            if (thisobj.options[i].selected) {
                thisobj.options[i] = null;
            }
        }
    }
}

function addToList(list, Id, optionNL, optionUK, optionFR, optionDE, Condition) {
    var List = window.document.form.elements[list];

    var len = List.length;

    var Id = window.document.form.elements[Id];
    var optionNL = window.document.form.elements[optionNL];
    var optionFR = window.document.form.elements[optionFR];
    var optionDE = window.document.form.elements[optionDE];
    var optionUK = window.document.form.elements[optionUK];
    var Condition = window.document.form.elements[Condition];

    if (optionNL.value != "") {
        if (optionFR.value == "") optionFR.value = optionNL.value;
        if (optionDE.value == "") optionDE.value = optionNL.value;
        if (optionUK.value == "") optionUK.value = optionNL.value;
        if (Condition.value == "") Condition.value = 'true';
    }

    var totOption = Id.value + "#NL#" + optionNL.value + "#FR#" + optionFR.value + "#DE#" + optionDE.value + "#UK#" + optionUK.value + "#COND#" + Condition.value + "#";

    List.options[len] = new Option();
    List.options[len].text = totOption;
    List.options[len].value = totOption;

    Id.value = "";
    optionNL.value = "";
    optionFR.value = "";
    optionDE.value = "";
    optionUK.value = "";
    Condition.value = "";
}

function addToFields(list) {
    var List = window.document.form.elements[list];

    for (var i = 0; i < List.length; i++) {
        if (List.options[i].selected) {
            var item = List.options[i].value;
            items = item.split("#");
            List.options[i] = null;
            for (var x = 0; x < items.length; x++) {
                if (x == 0) { window.document.form.elements["_Id"].value = items[x]; }
                if (items[x] == 'NL') { window.document.form.elements["_OptieNL"].value = items[x + 1]; }
                if (items[x] == 'FR') { window.document.form.elements["_OptieFR"].value = items[x + 1]; }
                if (items[x] == 'UK') { window.document.form.elements["_OptieUK"].value = items[x + 1]; }
                if (items[x] == 'DE') { window.document.form.elements["_OptieDE"].value = items[x + 1]; }
                if (items[x] == 'COND') { window.document.form.elements["_Condition"].value = items[x + 1]; }
            }
        }
    }
}

function moveUp(list) {
    var List = window.document.form.elements[list];
    var len = List.length;

    for (var i = 0; i < List.length; i++) {
        if (List.options[i].selected & (i != 0)) {
            var tempval = List.options[i - 1].value;
            var temptxt = List.options[i - 1].text;

            List.options[i - 1].value = List.options[i].value;
            List.options[i - 1].text = List.options[i].text;
            List.options[i].value = tempval;
            List.options[i].text = temptxt;

        }
    }
}

function selAllData(dit) {
    var destList = dit;
    for (var i = (destList.options.length - 1); i >= 0; i--) {
        destList.options[i].text = destList.options[i].value;
        destList.options[i].selected = true;
    }
}

function ReverseDate(dit) {
    if (dit) {
        var gsField = dit.value;
        vdt = gsField.split("/");
        if (!(gsField == "")) {
            temp = vdt[2];
            if (vdt[1].length < 2) { temp += "0"; }
            temp += vdt[1];
            if (vdt[0].length < 2) { temp += "0"; }
            temp += vdt[0];
            return temp;
        }
    }
    return "";
}

function getReverseDate(dit) {
    var gsField = dit.value;
    vdt = gsField.split("/");
    if (!(gsField == "")) {
        temp = vdt[2];
        if (vdt[1].length < 2) { temp += "0"; }
        temp += vdt[1];
        if (vdt[0].length < 2) { temp += "0"; }
        temp += vdt[0];
        dit.value = temp;
    }
}

function gsDate(dit, defa, mandatory) {
    if (gsInField(dit, "/1234567890", defa, mandatory)) {
        var gsField = dit.value;
        var dates = gsField.split("/");
        if (gsField == "" && mandatory == "O") { dit.value = defa; return true; }
        if (dates.length != 3) { gsMessage(dit); return false; }
        if (dates[2].length != 4) { gsMessage(dit); return false; }
        mm = parseInt(dates[1]);
        if (dates[1] == "08") {
            mm = 8;
        }
        if (dates[1] == "09") {
            mm = 9;
        }
        d = parseInt(dates[0]);
        j = parseInt(dates[2]);
        var dagen = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
        if (mm < 1 || mm > 12) { gsMessage(dit); return false; }
        if (d < 0 && d > dagen[mm - 1]) { gsMessage(dit); return false; }
        if (mm == 2 && d == 29) {
            if (j % 4 != 0) { return false; }
            if (j % 100 == 0 && j % 400 != 0) { gsMessage(dit); return false; }
        }
    } else {
        gsMessage(dit); return false;
    }
    return true;
}

function gsInField(dit, vali, defa, manda) {
    var gsField = dit.value;
    if (gsField == "" && manda == "O") { dit.value = defa; return true; }
    if (gsField == "" && manda == "MO") { gsMessage(dit); return false; }
    for (var j = 0; j < gsField.length; j++) {
        temp = gsField.substring(j, j + 1);
        if (vali.indexOf(temp) == "-1") { gsMessage(dit); return false; }
    }
    return true;
}


function gsMessage(dit) {
    dit.focus();
    dit.blur();
    dit.select();
    return false;
}

function doScript(script, param) {
    document.view.action = "gsScript.jsp?script=" + script + param;
    document.view.target = "script";
    document.view.submit();
}

function startTextArea(obj) {
    objTextArea = obj;
    height = parseInt(obj.style.height);
    interval = setInterval("calcTextArea()", 1);
}

function calcTextArea() {
    temp = objTextArea.scrollHeight;
    if (temp > height) {
        objTextArea.style.height = temp + "px";
    }
}

function stopTextArea(obj) {
    obj.style.height = height;
    clearInterval(interval);
}



//------------------------------------------

function doEval(script) {
    while (script.indexOf("[||]") >= 0) {
        script = "\"" + script.replace("[|]", "'") + "\"";
        script = "\"" + script.replace("[||]", "\"") + "\"";
    }
    //alert("eval: " + script);
    eval(script);
}

function doEval1(script) {
    while (script.indexOf("[||]") >= 0) {
        script = script.replace("[||]", "\"");
    }
    while (script.indexOf("[|]") >= 0) {
        script = script.replace("[|]", "'");
    }
    //alert("eval1: " + script);
    //eval(script);
    return script;
}

function doEval2(script) {
    tmp = script.split("doEval2('");
    script = "";
    for (var i = 0; i < tmp.length; i++) {
        tmp[i] = tmp[i].replace("doEval2('", "");
        tmp[i] = tmp[i].replace("');", "");
        script += tmp[i] + " ";
    }
    while (script.indexOf("[||]") >= 0) {
        script = script.replace("[||]", "\"");
    }
    while (script.indexOf("[|]") >= 0) {
        script = script.replace("[|]", "'");
    }
    //alert("eval2: " + script);
    if (script != "") {
        eval(script);
    }
}

//-----------------------------------------------------------------------------------------------------------

function PopupDiv(popupId, params) {
    PopupDiv(popupId, params, popupId + "_dv");
}

function PopupDiv(popupId, params, divId) {
    var obj = document.getElementById(divId);
    if (!obj) {
        obj = document.createElement('DIV');
        obj.id = divId;
        obj.style.display = 'none';
        obj.style.visibility = 'hidden';
        obj.style.position = "absolute";
        //obj.style.border = "1px" 
        //obj.style.border = "solid 1px #666666";
        obj.style.top = "100px";
        obj.style.left = "100px";
        obj.style.width = "1px";
        obj.style.height = "1px";
        obj.style.zIndex = 4;
        document.body.appendChild(obj);
    }
    obj.innerHTML = "<iframe id='" + divId + "_ifr' frameborder='0' ALLOWTRANSPARENCY='true' scrolling='no' style='width: 100%; scrolling: no; height: 100%; border: none;' src='Popup.aspx?popup=" + popupId + "&" + params + "&_div=" + divId + "'></iframe>";
    obj.style.display = 'block';
    obj.style.visibility = 'visible';
}

function PopupDivResize(width, height) {
    myTop = window.frameElement;
    if (myTop) {
        tmp = myTop.id.replace("_ifr", "");
        var obj = parent.document.getElementById(tmp);
        if (obj) {
            obj.style.width = width + "px";
            obj.style.height = height + "px";
            PopupCenter(obj, height, width);
        }
    }
}

function PopupCenter(div, height, width) {
    var scrolledX, scrolledY;
    if (parent.window.pageYOffset) {
        scrolledX = parent.window.pageXOffset;
        scrolledY = parent.window.pageYOffset;
    } else if (parent.document.documentElement && parent.document.documentElement.scrollTop) {
        scrolledX = parent.document.documentElement.scrollLeft;
        scrolledY = parent.document.documentElement.scrollTop;
    } else if (document.body) {
        scrolledX = parent.document.body.scrollLeft;
        scrolledY = parent.document.body.scrollTop;
    }

    var centerX, centerY;
    if (parent.window.innerHeight) {
        centerX = parent.window.innerWidth;
        centerY = parent.window.innerHeight;
    } else if (parent.document.documentElement && parent.document.documentElement.clientHeight) {
        centerX = parent.document.documentElement.clientWidth;
        centerY = parent.document.documentElement.clientHeight;
    } else if (parent.document.body) {
        centerX = parent.document.body.clientWidth;
        centerY = parent.document.body.clientHeight;
    }

    var leftOffset = scrolledX + (centerX - width) / 2;
    var topOffset = scrolledY + (centerY - height) / 2;

    div.style.left = leftOffset + 'px';
    div.style.top = topOffset + 'px';
}


function PopupDivClose(id) {
    var obj = parent.document.getElementById(id);
    if (obj) {
        obj.innerHTML = "";
        obj.style.display = 'none';
        obj.style.visibility = 'hidden';
        parent.document.body.removeChild(obj);
    }
}

function OpenDiv(action, divId) {
    var obj = document.getElementById(divId);
    if (!obj) {
        obj = document.createElement('DIV');
        obj.id = divId;
        obj.style.display = 'none';
        obj.style.visibility = 'hidden';
        obj.style.position = "absolute";
        obj.style.top = "100px";
        obj.style.left = "100px";
        obj.style.width = "1px";
        obj.style.height = "1px";
        obj.style.zIndex = 4;
        document.body.appendChild(obj);
    }
    obj.innerHTML = "<iframe id='" + divId + "_ifr' scrolling='no' style='width: 100%; scrolling: no; height: 100%; border: none;' src='" + action + "&_div=" + divId + "'></iframe>";
    obj.style.display = 'block';
    obj.style.visibility = 'visible';
}

/** *** DRAG AND DROP FUNCTION FOR THE POPUP DIV *** **/

var adtToDragObject;
var adtDragOffsetX;
var adtDragOffsetY;
var adtDragObjectIsDragging = false;

function adtDragStart(id, e) {
    if (window.event) {
        e = window.event;
    }
    obj = parent.document.getElementById(id);
    if (obj) {
        var dragX = parseInt(obj.style.left);
        var dragY = parseInt(obj.style.top);
        adtToDragObject = obj;
        var mouseX = e.clientX;
        var mouseY = e.clientY;
        adtDragOffsetX = mouseX - dragX;
        adtDragOffsetY = mouseY - dragY;
        adtDragObjectIsDragging = true;
        document.onmousemove = adtDragDragger;
        document.onmouseup = adtDragStop;
    }
    return false;
}

function adtDragDragger(e) {
    if (adtDragObjectIsDragging) {
        if (window.event) {
            e = window.event;
        }
        var newX = e.clientX - adtDragOffsetX;
        var newY = e.clientY - adtDragOffsetY;
        adtToDragObject.style.left = newX + "px";
        adtToDragObject.style.top = newY + "px";
        return false;
    }
    else {
        return;
    }
}

function adtDragStop() {
    if (adtDragObjectIsDragging) {
        adtDragObjectIsDragging = false;
        return false;
    }
    else {
        return;
    }
}

//-----------------------------------------------------------------------------------------------------------

function PortletDiv(portletId, params) {
    divId = portletId + "_dv";
    var obj = document.getElementById(divId);
    if (!obj) {
        obj = document.createElement('DIV');
        obj.id = divId;
        obj.style.display = 'none';
        obj.style.visibility = 'hidden';
        obj.style.position = "absolute";
        obj.style.top = "100px";
        obj.style.left = "100px";
        obj.style.width = "1px";
        obj.style.height = "1px";
        obj.style.zIndex = 4;
        document.body.appendChild(obj);
    }
    getPortlet(portletId, params, divId);
    obj.style.display = 'block';
    obj.style.visibility = 'visible';
}

//----------------------------------------------------------------------------------------------------------
var mv = new Array();

function mv$(id) {
    for (var i = 0; i < mv.length; i++) {
        tmp = mv[i];
        if (tmp.id == id) {
            return tmp;
        }
    }
    mv[mv.length] = new MultiValue(id);
    return mv[mv.length - 1];
}


function MultiValue(id) {
    this.id = id;
}

MultiValue.prototype.Parse = function(tmp, cnt) {
    tmp = tmp.replace(".Add(0)", ".Add(" + (cnt + 1) + ")");
    tmp = tmp.replace(".Del(0)", ".Del(" + (cnt + 1) + ")");
    tmp = tmp.replace("_add_0", "_add_" + (cnt + 1));
    tmp = tmp.replace("_del_0", "_del_" + (cnt + 1));
    tmp = tmp.replace("_to_0", "_to_" + (cnt + 1));
    tmp = tmp.replace("_to_0", "_to_" + (cnt + 1));
    tmp = tmp.replace("_to_0", "_to_" + (cnt + 1));
    tmp = tmp.replace("_from_0", "_from_" + (cnt + 1));
    tmp = tmp.replace("_from_0", "_from_" + (cnt + 1));
    tmp = tmp.replace("_from_0", "_from_" + (cnt + 1));
    return tmp;
}

MultiValue.prototype.Show = function() {
    i = 0;
    obj = document.getElementById(this.id + "_add_" + i);
    while (obj) {
        hideObject(this.id + "_add_" + i);
        hideObject(this.id + "_del_" + i);
        i++;
        obj = document.getElementById(this.id + "_add_" + i);
    }
    showObject(this.id + "_add_" + (i - 1));
    if (i > 1) {
        showObject(this.id + "_del_" + (i - 1));
    }
}

MultiValue.prototype.Add = function(cnt) {
    obj = document.getElementById(this.id + "_fld_0");
    if (obj) {
        tbl = document.getElementById(this.id + "_fld_tbl");
        if (tbl) {
            newtr = document.createElement("tr");
            newtr.setAttribute("id", this.id + "_fld_" + (cnt + 1));
            for (i = 0; i < obj.childNodes.length; i++) {
                if (obj.childNodes[i].tagName == "TD") {
                    newtd = document.createElement("td");
                    newtd.innerHTML = this.Parse(obj.childNodes[i].innerHTML, cnt);
                    for (ii = 0; ii < newtd.childNodes.length; ii++) {
                        if (newtd.childNodes[ii].tagName == "INPUT") {
                            newtd.childNodes[ii].value = "";
                        }
                    }
                    newtr.appendChild(newtd);
                }
            }
            tbl.firstChild.appendChild(newtr);
            this.Show();
        }
    }
}

MultiValue.prototype.Del = function(cnt) {
    obj = document.getElementById(this.id + "_fld_" + cnt);
    if (obj) {
        obj.parentNode.removeChild(obj);
        this.Show();
    }
}




