function openHelp(url)
{
    window.open(url, "nfuse_user_help", "location=no,scrollbars=yes,toolbar=no,resizable=yes");
}
function getCookie(name)
{
    var result = null;
    var cookieStart = document.cookie.indexOf(name + "=");
    var valueStart = cookieStart + name.length + 1;
    if (cookieStart != -1) {
        var end = document.cookie.indexOf(";", valueStart);
        if (end == -1) {
            end = document.cookie.length;
        }
        result = unescape(document.cookie.substring(valueStart, end));
    }
    return result;
}
function setCookie(name, value, path)
{
    document.cookie = name + "=" + escape(value) + (path ? "; path=" + path : "");
}
function clearForm(loginForm)
{
    loginForm.user.value = "";
    loginForm.password.value = "";
    if (loginForm.domain) {
        if (loginForm.domain.type != "hidden") {
            loginForm.domain.value = "";
        }
    }
    if (loginForm.context != null) {
        loginForm.context.value = "";
    }
    setDefaultFocus();
}
function setFocus(loginForm) {
    if (loginForm.tokencode && (! loginForm.tokencode.disabled)) {
        loginForm.tokencode.focus();
    } else if (loginForm.PIN1 && (! loginForm.PIN1.disabled)) {
        loginForm.PIN1.focus();
    } else if (loginForm.LoginType && (! loginForm.LoginType.disabled)) {
        if (loginForm.LoginType.value == "Explicit") {
            setExplicitLoginFocus(loginForm);
        } else {
            if (loginForm.LoginType.options && (! loginForm.LoginType.options.disabled)) {
                if (loginForm.LoginType.options[loginForm.LoginType.selectedIndex].value  == "Explicit") {
                    setExplicitLoginFocus(loginForm);
                } else {
                    var usrAgt = navigator.userAgent.toLowerCase();
                    var nav4 = ((usrAgt.indexOf('mozilla/4') != -1)
                                && (usrAgt.indexOf('msie') == -1)
                                && (usrAgt.indexOf('spoofer') == -1)
                                && (usrAgt.indexOf('compatible') == -1)
                                && (usrAgt.indexOf('opera') == -1)
                                && (usrAgt.indexOf('webtv') == -1));
                    if (!nav4 && (! document.getElementById("login").disabled)) {
                        document.getElementById("login").focus();
                    }
                }
            }
        }
    }
}
function setExplicitLoginFocus(loginForm) {
    if (loginForm.user.value != "") {
        loginForm.password.focus();
    } else if (!loginForm.user.disabled) {
        loginForm.user.focus();
    }
}
function setDefaultFocus() {
    var form = document.forms[0];
    if (form) {
        setFocus(form);
    }
}
function resetSessionTimeout() {
}
function onLoadLayout() {
    setDefaultFocus();
    return;
}
function usernameFieldContainsDomain(f) {
    return (f.user.value.indexOf("@") != -1) ||
           (f.user.value.indexOf("\\") != -1);
}
function setReconnectOptionsDisabled(f) {
    if (f.ReconnectAtLoginOption) {
        var anonymous = false;
        if (f.LoginType) {
            anonymous = (f.LoginType.value == "Anonymous");
        }
        var clientCondition = false;
        if (f.ClientType) {
            clientCondition = (f.ClientType.value == "Rdp-Embedded") || ((10 == 12) && (f.ClientType.value != "Ica-Java"));
        }
        var reconnectDisabled = (anonymous || clientCondition);
        setDisabled(f.ReconnectAtLoginOption, reconnectDisabled);
        var reconnectOption = reconnectDisabled ? "None" : "DisconnectedAndActive";
        for (var i = 0; i < f.ReconnectAtLoginOption.length; i++) {
            if (f.ReconnectAtLoginOption.options[i].value == reconnectOption) {
                f.ReconnectAtLoginOption.options[i].selected = true;
                break;
            }
        }
    setDisabled(document.getElementById("lblReconnectLogin"), reconnectDisabled);
    }
}
function onChangeLoginType(f) {
     var explicit = (f.LoginType.value == "Explicit");
     setDisabled(f.user, ! explicit);
     setDisabled(f.password, ! explicit);
     setDisabled(f.domain, ! explicit || usernameFieldContainsDomain(f));
     setDisabled(f.context, ! explicit);
     setDisabled(f.tree, ! explicit);
     setDisabled(f.passcode, ! explicit);
     setDisabled(document.getElementById("lblCredentials"), ! explicit);
     setDisabled(document.getElementById("lblUserName"), ! explicit);
     setDisabled(document.getElementById("lblPasswd"), ! explicit);
     setDisabled(document.getElementById("lblDomain"), ! explicit || usernameFieldContainsDomain(f));
     setDisabled(document.getElementById("lblContext"), ! explicit);
     setDisabled(document.getElementById("lblTree"), ! explicit);
     setDisabled(document.getElementById("lblPasscode"), ! explicit);
     setReconnectOptionsDisabled(f);
}
function onChangeClientType(f) {
    setReconnectOptionsDisabled(f);
}
function onUsernameTextEntry(f) {
    setDisabled(f.domain, usernameFieldContainsDomain(f));
    setDisabled(document.getElementById("lblDomain"), usernameFieldContainsDomain(f));
}
function openAdvOptions(f) {
    setCookie("NFuse_AdvancedOptionOpened", "True");
    document.getElementById("linkOpenAdvOptions").style.display = "none";
    document.getElementById("linkCloseAdvOptions").style.display = "";
    //document.getElementById("sepAdvOptions").style.display = "";
    document.getElementById("tblAdvOptions").style.display = "";
}
function closeAdvOptions(f) {
    setCookie("NFuse_AdvancedOptionOpened", "False");
    document.getElementById("linkOpenAdvOptions").style.display = "";
    document.getElementById("linkCloseAdvOptions").style.display = "none";
    //document.getElementById("sepAdvOptions").style.display = "none";
    document.getElementById("tblAdvOptions").style.display = "none";
}
function setDisabled(item, disabled) {
    if (item) {
        item.disabled = disabled;
    }
}
function applyLanguage(loginForm) {
    loginForm.submitMode.value='apply';
    loginForm.submit();
}
