
function getconfirm(strMessage) {
    if (confirm(strMessage) == true)
        return true;
    else
        return false;
}

function getconfirmworkflow(strAction) {
    if (confirm(strAction + "?") == true)
        return true;
    else
        return false;
}

function bodyOnLoad(strModuleID) {

    if (strModuleID != "") {

        arrModuleID = strModuleID.split(",")

        for (var i = 0; i < arrModuleID.length; i++) {

            for (var j = 0; j < 2; j++) {

                // check select
                if ((document.getElementById('m' + arrModuleID[i] + 'ddlQueryColumnName' + (j + 1)) != null) && (document.getElementById('m' + arrModuleID[i] + 'ddlQueryComparisonOperator' + (j + 1)) != null)) {
                    if ((document.getElementById('m' + arrModuleID[i] + 'ddlQueryColumnName' + (j + 1)).id != null) && (document.getElementById('m' + arrModuleID[i] + 'ddlQueryComparisonOperator' + (j + 1)).id != null)) {
                        limitQueryOperator('m' + arrModuleID[i] + 'ddlQueryColumnName' + (j + 1), 'm' + arrModuleID[i] + 'ddlQueryComparisonOperator' + (j + 1));
                    }
                }

            }

        }

    }

}

function clickButton(button) {
    button.click();
}

function checkworkflowcomment(element, message) {
    if (document.getElementById(element).value == "") {
        //document.getElementById(element).style.visibility = "visible";
        document.getElementById(element).className = "";
        document.getElementById(element).style.height = '100px';
        document.getElementById(element).focus();
        document.getElementById(element).style.backgroundColor = '#fcc';
        //alert(decodeURI("Aktion '" + strCaption + "' erfordert eine Begr%C3%BCndung.\nBitte Begr%C3%BCndung in das Kommentarfeld eintragen und Aktion '" + strCaption + "' erneut durchf%C3%BChren."));
        alert(message);
        return false;
    }
    else {
        return true;
    }
}

function hideWorkflowComment(element, image) {

    if (document.getElementById(element) != null) {

        //document.getElementById(element).style.visibility = "hidden";
        document.getElementById(element).className = "hidden";
        document.getElementById(element).style.height = '0px';

        if (image != null) {
            document.getElementById(image).src = document.getElementById(image).src.replace('text14.gif', 'enlargetext14.gif');
            document.getElementById(image).title = "Kommentarfeld einblenden";
        }

    }

}

function updateDateGo(DateGo) {
    document.getElementById(DateGo.id.replace(/DateGo/g, "DateBack")).value = document.getElementById(DateGo.id).value;
}

function hideReason(strVisible, strClientID) {

    strElementID = strClientID + '_ctl02_reason';

    if (document.getElementById(strElementID) != null) {
        //document.getElementById(strElementID).style.visibility = "hidden";
        document.getElementById(strElementID).className = "hidden";
    }

}

function checkReason(select, strVisible, strClientID) {

    intValue = select.options[select.options.selectedIndex].value;
    strElementID = strClientID + '_ctl02_reason';

    if (strVisible.indexOf(";") > -1) {

        arrVisible = strVisible.split(";")

        for (var i = 0; i < arrVisible.length; i++) {

            //alert(arrVisible[i]);

            if (intValue == arrVisible[i]) {
                if (document.getElementById(strElementID) != null) {
                    //document.getElementById(strElementID).style.visibility = "visible";
                    document.getElementById(strElementID).className = "";
                }
                return;
            }
            else {
                if (document.getElementById(strElementID) != null) {
                    //document.getElementById(strElementID).style.visibility = "hidden";
                    document.getElementById(strElementID).className = "hidden";
                }

            }

        }

    }

}

function limitQueryOperator(select, target) {

    var oSelect = document.getElementById(select);
    var oTarget = document.getElementById(target);
    var allText;
    var allValue;


    if (oSelect.id != "") {

        while (oTarget.length > 0) {
            oTarget.remove(0);
        }

        switch ((oSelect.options[oSelect.options.selectedIndex].value).substr(8, 3).toUpperCase()) {
            case 'BLN':
                allText = new Array("=");
                allValue = new Array("eq");
                break;
            case 'INT':
                allText = new Array("=", "größer als", "kleiner als");
                allValue = new Array("eq", "gt", "lt");
                break;
            case 'DTI':
                allText = new Array("=", "größer als", "kleiner als");
                allValue = new Array("eq", "gt", "lt");
                break;
            default:
                allText = new Array("beinhaltet", "=", "beginnt mit", "endet mit", "größer als", "kleiner als");
                allValue = new Array("li", "eq", "sw", "ew", "gt", "lt");
        }

        for (var i = 0; i < allText.length; ++i) {
            var o = new Option(allText[i], allValue[i]);

            try {
                oTarget.add(o, null); // standards compliant
            }
            catch (ex) {
                oTarget.add(o); // IE only
            }

        }

    }

}

function changeDateBackExpectedInfo(checkbox) {

    if (checkbox.value == "on") {
        document.getElementById("confirmation").style.fontWeight = "bold";
        //checkbox.value = "off";
    }
    else {
        document.getElementById("confirmation").style.fontWeight = "normal";
        //checkbox.value = "on";
    }

}

function onw(theURL, winName, features) {
    window.open(theURL, winName, features);
}

function StoreKeyCode(cmsKeyCode) {

    alert('cmsKeyCode: ' + cmsKeyCode);
    document.forms[0].elements.keyTableAdmin.value = cmsKeyCode;
    alert('document.forms[0].elements.keyTableAdmin.value: ' + document.forms[0].elements.keyTableAdmin.value);

    var strElements;
    strElements = "";
    strElements = strElements + '\n document.forms.length: ' + document.forms.length;
    strElements = strElements + '\n document.forms[0].name: ' + document.forms[0].name;
    strElements = strElements + '\n document.forms[0].length: ' + document.forms[0].length;
    strElements = strElements + '\n document.forms[0].elements.length: ' + document.forms[0].elements.length;
    for (var i = 0; i < document.forms[0].length; i++) {
        if ((document.forms[0].elements[i].name != '__VIEWSTATE') && (document.forms[0].elements[i].name != '__EVENTVALIDATION')) {
            strElements = strElements + '\n ' + document.forms[0].elements[i].name
            strElements = strElements + ' (' + document.forms[0].elements[i].type + ') ' + document.forms[0].elements[i].value;
        }
    }
    alert(strElements);

}

function ClickButton(strButton) {
    alert('strButton: ' + strButton);
    document.getElementById(" + strButton + ").click();
}

function displayHelp(strHead, strHelp, strElement) {

    if (document.getElementById(strElement).style.visibility == "visible") {
        document.getElementById(strElement).style.visibility = "hidden";
    }
    else {
        //document.getElementById(strElement).innerHTML = "<SPAN STYLE='font-size:9pt;'><B>" + strHead + "</B><br /><br />" + strHelp + "</SPAN><br /><br /><INPUT type='submit' value='Close Window' onclick=''javascript:closeHelp('" + strElement + "');'' /><br /><br />";
        document.getElementById(strElement).innerHTML = "<span style='font-size:9pt;'><b style='float:left;'>" + strHead + "</b><a style='float:right;' href=\"javascript:closeHelp('" + strElement + "')\"><img src='image3/admin/close.gif' alt='Close Window' /></a><br style='clear:both;' /><br />" + strHelp + "<br /><br /><br /><a href=\"javascript:closeHelp('" + strElement + "')\">Close Window</a></span><br /><br />";
        document.getElementById(strElement).style.visibility = "visible";
    }
}

function closeHelp(strElement) {
    document.getElementById(strElement).style.visibility = "hidden";
}

function displayHideElement(element, image) {

    //if (document.getElementById(element).style.visibility == "visible") {
    if (document.getElementById(element).className == "") {
        //document.getElementById(element).style.visibility = "hidden";
        document.getElementById(element).className = "hidden";
        document.getElementById(element).style.height = '0px';
        if (image != null) {
            document.getElementById(image).src = document.getElementById(image).src.replace('minimizetext14.gif', 'enlargetext14.gif');
            document.getElementById(image).title = "Kommentarfeld einblenden";
        }
    }
    else {
        //document.getElementById(element).style.visibility = "visible";
        document.getElementById(element).className = "";
        document.getElementById(element).style.height = '100px';
        //document.getElementById(element).style.width = '300px';
        if (image != null) {
            document.getElementById(image).src = document.getElementById(image).src.replace('enlargetext14.gif', 'minimizetext14.gif');
            document.getElementById(image).title = "Kommentarfeld ausblenden";
        }
    }
}

function displayHideNode(strElement) {

    if (document.getElementById(strElement).style.visibility == "visible") {
        document.getElementById(strElement).style.visibility = "hidden";
    }
    else {
        document.getElementById(strElement).style.visibility = "visible";
    }
}


function checkDropDownListColumn(select, ddl1, ddl2, tbx, counter) {

    intValue1 = document.getElementById(ddl1 + '_' + counter).options[document.getElementById(ddl1 + '_' + counter).options.selectedIndex].value;
    intValue2 = document.getElementById(ddl2 + '_' + counter).options[document.getElementById(ddl2 + '_' + counter).options.selectedIndex].value;

    if ((intValue1 == 'wo_base_ID') && (intValue2 == 'eq')) {
        document.getElementById(tbx + '_' + counter).style.visibility = "hidden";
        //document.getElementById(tbx + '_' + counter).style.display = "hidden";
        //document.getElementById(tbx + '_' + counter).className = "hidden";
        //document.getElementById(tbx + '_' + counter).style.height = '0px';
        document.getElementById(tbx + '_' + counter).style.width = '0px';
        document.getElementById(tbx + '_' + counter + '_A').style.visibility = "visible";
        //document.getElementById(tbx + '_' + counter + '_A').style.display = "inline";
        //document.getElementById(tbx + '_' + counter + '_A').className = "";
        //document.getElementById(tbx + '_' + counter + '_A').style.height = '23px';
        document.getElementById(tbx + '_' + counter + '_A').style.width = '150px';
    }
    else {
        document.getElementById(tbx + '_' + counter).style.visibility = "visible";
        //document.getElementById(tbx + '_' + counter).style.display = "hidden";
        //document.getElementById(tbx + '_' + counter).className = "";
        //document.getElementById(tbx + '_' + counter).style.height = '23px';
        document.getElementById(tbx + '_' + counter).style.width = '150px';
        document.getElementById(tbx + '_' + counter + '_A').style.visibility = "hidden";
        //document.getElementById(tbx + '_' + counter + '_A').style.display = "inline";
        //document.getElementById(tbx + '_' + counter + '_A').className = "hidden";
        //document.getElementById(tbx + '_' + counter + '_A').style.height = "0px";
        document.getElementById(tbx + '_' + counter + '_A').style.width = '0px';
    }

}

function updateDropDownListFilterByInputText(select, tbx, counter) {

    document.getElementById(tbx + '_' + counter).value = document.getElementById(tbx + '_' + counter + '_A').options[document.getElementById(tbx + '_' + counter + '_A').options.selectedIndex].value;
}

function rtrimHtml(stringCut) {
    if (stringCut.indexOf("<") > -1) {
        return stringCut.substring(0, stringCut.indexOf("<"));
    }
    else {
        return stringCut;
    }
}


//function checkOldPassword(element, sha1) {

//    if (element.name == 'password') {

//        if (sha1(element.value) == sha1) {
//            //document.getElementById('newpasswordconfirmation').style.visibility = "visible";
//            //document.getElementById('btnChangePassword').style.visibility = "visible";
//            document.getElementById('newpasswordconfirmation').disabled = false;
//            document.getElementById('btnChangePassword').disabled = false;
//        }
//        else {
//            //document.getElementById('newpasswordconfirmation').style.visibility = "visible";
//            //document.getElementById('btnChangePassword').style.visibility = "visible";
//            document.getElementById('newpasswordconfirmation').disabled = true;
//            document.getElementById('btnChangePassword').disabled = true;
//        }

//    }

//}

function checkPassword(element) {

    if (element.value.length > 0) {

        document.getElementById('pwcheckheader1').className = 'pwcheck';
        document.getElementById('pwcheck1').className = 'pwcheck';
        document.getElementById('pwcheck2').className = 'pwcheck';
        document.getElementById('pwcheck3').className = 'pwcheck';
        document.getElementById('pwcheck4').className = 'pwcheck';
        document.getElementById('pwcheck5').className = 'pwcheck';
        document.getElementById('pwcheck6').className = 'pwcheck';
        //document.getElementById('pwcheckheader0').className = 'pwcheck';
        document.getElementById('pwcheck0').className = 'pwcheck';

        if (element.name == 'newpassword') {

            var npok = 0;
            var lok = 0;    // length
            var ic = 0;     // invalid characters

            var regex;
            var regexp;
            var match;

            document.getElementById('pwchecknp').style.visibility = "visible";
            document.getElementById('pwchecknp').style.width = "15em";
            document.getElementById('pwchecknp').style.heigth = "10em";
            document.getElementById('pwchecknpc').style.visibility = "hidden";

            document.getElementById('pwcheckheader1').innerHTML = '<span class="caption" style="font-weight:bold;">Neues Passwort:</span><span class="value" id="pwcheckheader1val" name="pwcheckheader1val"></span>';
            document.getElementById('pwcheck1').innerHTML = '<span class="caption">Kleinbuchstabe:</span><span class="value" id="pwcheck1val" name="pwcheck1val"></span>';
            document.getElementById('pwcheck2').innerHTML = '<span class="caption">Grossbuchstabe:</span><span class="value" id="pwcheck2val" name="pwcheck2val"></span>';
            document.getElementById('pwcheck3').innerHTML = '<span class="caption">Zahl:</span><span class="value" id="pwcheck3val" name="pwcheck3val"></span>';
            document.getElementById('pwcheck4').innerHTML = '<span class="caption">Sonderzeichen:</span><span class="value" id="pwcheck4val" name="pwcheck4val"></span>';
            document.getElementById('pwcheck5').innerHTML = '<span class="caption">Länge:</span><span class="value" id="pwcheck5val" name="pwcheck5val"></span>';
            document.getElementById('pwcheck6').innerHTML = '<span class="caption">Ungültige(s) Zeichen:</span><span class="value" id="pwcheck6val" name="pwcheck6val"></span>';

            regex = /[a-z]/;
            regexp = new RegExp(regex);
            match = element.value.match(regexp);
            if (match === null) {
                document.getElementById('pwcheck1val').style.color = 'red';
                document.getElementById('pwcheck1val').innerHTML = 'fehlt';
            } else {
                npok++;
                document.getElementById('pwcheck1val').style.color = 'green';
                document.getElementById('pwcheck1val').innerHTML = 'OK';
            }

            regex = /[A-Z]/;
            regexp = new RegExp(regex);
            match = element.value.match(regexp);
            if (match === null) {
                document.getElementById('pwcheck2val').style.color = 'red';
                document.getElementById('pwcheck2val').innerHTML = 'fehlt';
            } else {
                npok++;
                document.getElementById('pwcheck2val').style.color = 'green';
                document.getElementById('pwcheck2val').innerHTML = 'OK';
            }

            regex = /[0-9]/;
            regexp = new RegExp(regex);
            match = element.value.match(regexp);
            if (match === null) {
                document.getElementById('pwcheck3val').style.color = 'red';
                document.getElementById('pwcheck3val').innerHTML = 'fehlt';
            } else {
                npok++;
                document.getElementById('pwcheck3val').style.color = 'green';
                document.getElementById('pwcheck3val').innerHTML = 'OK';
            }

            regex = /[!@#$%^+=]/;
            regexp = new RegExp(regex);
            match = element.value.match(regexp);
            if (match === null) {
                document.getElementById('pwcheck4val').style.color = 'red';
                document.getElementById('pwcheck4val').innerHTML = 'fehlt';
            } else {
                npok++;
                document.getElementById('pwcheck4val').style.color = 'green';
                document.getElementById('pwcheck4val').innerHTML = 'OK';
            }

            regex = "^.{8,}$";
            regexp = new RegExp(regex);
            match = element.value.match(regexp);
            if (match === null) {
                lok = 0;
                document.getElementById('pwcheck5val').style.color = 'red';
                //document.getElementById('pwcheck5val').innerHTML = 'zu kurz';
                document.getElementById('pwcheck5val').innerHTML = element.value.length;
            } else {
                lok = 1;
                document.getElementById('pwcheck5val').style.color = 'green';
                document.getElementById('pwcheck5val').innerHTML = 'OK';
            }

            regex = /[^A-Za-z0-9!@#$%^+=]/;
            if (regex.test(element.value)) {
                ic = 1;
                document.getElementById('pwcheck6val').style.color = 'red';
                document.getElementById('pwcheck6val').innerHTML = 'JA';
            }
            else {
                ic = 0;
                document.getElementById('pwcheck6val').style.color = 'green';
                document.getElementById('pwcheck6val').innerHTML = 'NEIN';
            }

            if ((npok >= 3) && (lok == 1) && (ic == 0)) {
                document.getElementById('pwcheckheader1val').style.color = 'green';
                document.getElementById('pwcheckheader1val').innerHTML = 'OK (formal)';

                if (document.getElementById('pwcheck1val').style.color == 'red') {
                    document.getElementById('pwcheck1val').style.color = 'dimgray';
                    //document.getElementById('pwcheck1val').innerHTML = 'fehlt, aber 3 von 4 OK';
                    document.getElementById('pwcheck1val').innerHTML = 'nicht mehr notwendig';
                }

                if (document.getElementById('pwcheck2val').style.color == 'red') {
                    document.getElementById('pwcheck2val').style.color = 'dimgray';
                    //document.getElementById('pwcheck2val').innerHTML = 'fehlt, aber 3 von 4 OK';
                    document.getElementById('pwcheck2val').innerHTML = 'nicht mehr notwendig';
                }

                if (document.getElementById('pwcheck3val').style.color == 'red') {
                    document.getElementById('pwcheck3val').style.color = 'dimgray';
                    //document.getElementById('pwcheck3val').innerHTML = 'fehlt, aber 3 von 4 OK';
                    document.getElementById('pwcheck3val').innerHTML = 'nicht mehr notwendig';
                }

                if (document.getElementById('pwcheck4val').style.color == 'red') {
                    document.getElementById('pwcheck4val').style.color = 'dimgray';
                    //document.getElementById('pwcheck4val').innerHTML = 'fehlt, aber 3 von 4 OK';
                    document.getElementById('pwcheck4val').innerHTML = 'nicht mehr notwendig';
                }

                ////document.getElementById('newpasswordconfirmation').style.visibility = "visible";
                ////document.getElementById('btnChangePassword').style.visibility = "visible";
                //document.getElementById('newpasswordconfirmation').disabled = false;
                //document.getElementById('btnChangePassword').disabled = false;

            }
            else {

                document.getElementById('pwcheckheader1val').style.color = 'red';
                document.getElementById('pwcheckheader1val').innerHTML = 'falsch';

                ////document.getElementById('newpasswordconfirmation').style.visibility = "hidden";
                ////document.getElementById('btnChangePassword').style.visibility = "hidden";
                //document.getElementById('newpasswordconfirmation').disabled = true;
                //document.getElementById('btnChangePassword').disabled = true;

            }

        }
        else if (element.name == 'newpasswordconfirmation') {

            document.getElementById('pwchecknpc').style.visibility = "visible";
            document.getElementById('pwchecknp').style.visibility = "hidden";
            document.getElementById('pwchecknp').style.width = "1px";
            document.getElementById('pwchecknp').style.heigth = "1px";


            document.getElementById('pwcheck0').innerHTML = '<span class="caption" style="font-weight:bold;">Bestätigung:</span><span class="value" id="pwcheck0val" name="pwcheck0val"></span>';

            if (element.value.length >= 8) {
                if (document.getElementById('newpassword').value == document.getElementById('newpasswordconfirmation').value) {
                    document.getElementById('pwcheck0val').style.color = 'green';
                    //document.getElementById('pwcheck0val').innerHTML = 'OK';
                    document.getElementById('pwcheck0val').innerHTML = 'Passwörter identisch';
                }
                else {
                    document.getElementById('pwcheck0val').style.color = 'red';
                    document.getElementById('pwcheck0val').innerHTML = 'falsch';
                }
            }
            else {
                document.getElementById('pwcheck0val').style.color = 'red';
                document.getElementById('pwcheck0val').innerHTML = 'falsch';
            }

        }

    }   // if (element.value.length > 0)

}

function hideCheckPassword(element) {

    if (element.name == 'newpassword') { document.getElementById('pwchecknp').style.visibility = "hidden"; }
    else if (element.name == 'newpasswordconfirmation') { document.getElementById('pwchecknpc').style.visibility = "hidden"; }
}
