﻿
var whichBoxDoLogin = "";
var doActionParams;

function loginOk(result, editHtml) {
    var resArray = result.split('#');

    var keys;
    var values;
    if (resArray[4] != "") {
        keys = new Array("p", "doActionParams");
        values = new Array(resArray[3], resArray[4]);
        openWindowWithPost(resArray[2], '_blank', keys, values);
    } else {
        keys = new Array('p');
        values = new Array(resArray[3]);

        openWindowWithPost(resArray[2], '_blank', keys, values);
    }

    if (editHtml) {
        showHiddenElement('headerFormLog', 'block');
        showHiddenElement('headerForm', 'none');

        var username = resArray[1];
        writeMessage('span.nominativo', username);

        $("#headerFormLog").click();

        $('linkOpenBd').href = "javascript:loginOk(result, false);"

        $('linkLogoff').href = resArray[4];
    }
}



/*
Viene effettuata la chiamata asincrona alla pagina LoginAsync.aspx 
per effettuare operazioni su DU e Accounting
*/
function doLogin(_whichBoxDoLogin) {
    whichBoxDoLogin = _whichBoxDoLogin;
    $("#result" + whichBoxDoLogin).html("<img src=\"img/loading-bar.gif\" />");
    setTimeout(function() {
        var username = document.getElementById('username' + whichBoxDoLogin).value;
        var password = document.getElementById('password' + whichBoxDoLogin).value;

        if (username == "" || password == "") {
            $("#result" + whichBoxDoLogin).html("Inserire i dati per effettuare l'accesso.");
        }

        if (formIsValid(username, password)) {

            $("#txtUsername")[0].value = username;
            $("#txtPassword")[0].value = password;
            $("#RURL")[0].value = $("#formRUrl")[0].value + "?d=" + $("#txtDoActionParams")[0].value;
            $("#frmAuthLogin")[0].submit();
            return;


            $.ajax({
                url: 'LoginAsync.aspx',
                data: { op: '1', username: username, password: password },
                type: 'POST',
                success: function(data) {
                    if (data.indexOf('@OK#') != (-1)) {
                        if (whichBoxDoLogin == "") {
                            loginOk(data, true);
                        } else {
                            closeModalLogin();
                            doOpenWindowOnClick(data);
                        }
                    } else {
                        $("#result" + whichBoxDoLogin).html(data);
                    }
                },

                failure: function(response, options) {
                    $("#result" + whichBoxDoLogin).html("Errore in fase di login");
                }
            });
        }
    }, 300);
}


/*
Verifica se il form di login è stato compilato correttamente
*/
function formIsValid(username, password) {
    var isValid = false;
    if (username != '' && password != '') {
        isValid = true;
    }
    else {
        showHiddenElement('result' + whichBoxDoLogin, 'block');
        writeMessage('div.result' + whichBoxDoLogin, 'Inserire i dati per effettuare l\' accesso.');
    }
    return isValid;
}

function writeMessage(element, message) {
    try {
        $(element)[0].innerHTML = message;
        //document.getElementById(element).innerHTML = message;
    }
    catch (e) {
    }
}

function showHiddenElement(element, status) {
    try {
        document.getElementById(element).style.display = status;
    }
    catch (e) {
    }
}

/*
Apertura pagina banca dati con passaggio di parametri in POST

*/
var newWindow;
function openWindowWithPost(url, location, keys, values) {

    if (newWindow) {
        newWindow.close();
    }

    if (window.location.href.indexOf("External") != -1 && location == "_blank") {
        location = "";
        return false;
    }
    if (location == "_onclick") location = "_blank";

    newWindow = window.open("", "winS24PApp", "status=0,toolbar=0,menubar=0,location=0,width=" + screen.width + ",height=" + screen.height + ",resizable=1");

    if (!newWindow) return false;
    var html = "";
    html += "<html><head></head><body><form id='tmpForm' method='post' action='" + url + "'>";
    if (keys && values && (keys.length == values.length)) {
        for (var i = 0; i < keys.length; i++) {
            html += "<input type='hidden' name='" + keys[i] + "' value='" + values[i] + "'/>";
        }
    }
    html += "</form><script type='text/javascript'>document.getElementById(\"tmpForm\").submit()</script></body></html>";
    newWindow.document.open();
    newWindow.document.write(html);
    newWindow.document.close();

    return newWindow;

}
function openColServices() {
    $.ajax({
        url: 'LoginAsync.aspx',
        data: { op: '6' },
        type: 'POST',
        success: function(data) {
            var results = data.split('#');

            if (results[0] == "doLogin") {
                openModalLogin();
            } else {
                window.open(data, "", "status=0,toolbar=0,menubar=0,location=0,width=910,height=450,resizable=1");
            }
        },
        failure: function(response, options) {
            $("#result" + whichBoxDoLogin).html("Errore in fase di apertura della pagina");
        }
    });
}


function openWindowOnClick(cvsParams) {
    doActionParams = cvsParams;
    $.ajax({
        url: 'LoginAsync.aspx',
        data: { op: '5', doActionParams: JSON.stringify(cvsParams) },
        type: 'POST',
        success: function(data) {

            var results = data.split('#');

            if (results[0] == "doLogin") {
                $("#txtDoActionParams")[0].value = results[1];
                openModalLogin();
            } else {
                doOpenWindowOnClick(data);
            }
        },

        failure: function(response, options) {
            $("#result" + whichBoxDoLogin).html("Errore in fase di apertura della pagina");
        }
    });
}

function doOpenWindowOnClick(data) {
    var resArray = data.split('#');
    showHiddenElement('headerFormLog', 'block');
    showHiddenElement('headerForm', 'none');

    var username = resArray[0];
    writeMessage('span.nominativo', username);

    $("#headerFormLog").click();

    $('linkOpenBd').href = "javascript:loginOk(result, false);"

    $('linkLogoff').href = resArray[4];

    var resArray = data.split('#');
    var url = resArray[2];
    var location = "_onclick";
    var keys;
    var values;

    if (typeof (doActionParams) == "undefined") {
        keys = new Array('p');
        values = new Array(resArray[3]);
    } else {
        keys = new Array("p", "doActionParams");
        values = new Array(resArray[3], JSON.stringify(doActionParams));
    }
    openWindowWithPost(url, location, keys, values);
}



$(document).ready(function() {

    $('#username-clear').show();
    $('#username').hide();

    $('#username-clear').focus(function() {
        $('#username-clear').hide();
        $('#username').show();
        $('#username').focus();
        $("#headerFormSx").click();
    });

    $('#username').blur(function() {
        if ($('#username').val() == '') {
            $('#username-clear').show();
            $('#username').hide();
        }
    });

    $('#password-clear').show();
    $('#password').hide();

    $('#password-clear').focus(function() {
        $('#password-clear').hide();
        $('#password').show();
        $('#password').focus();
        $("#headerFormSx").click();
    });

    $('#password').blur(function() {
        if ($('#password').val() == '') {
            $('#password-clear').show();
            $('#password').hide();
        }
    });

    $('#password-clear_popup').show();
    $('#password_popup').hide();

    $('#password-clear_popup').focus(function() {
        $('#password-clear_popup').hide();
        $('#password_popup').show();
        $('#password_popup').focus();
    });

    $('#password_popup').blur(function() {
        if ($('#password_popup').val() == '') {
            $('#password-clear_popup').show();
            $('#password_popup').hide();
        }
    });

    $('#username-clear_popup').show();
    $('#username_popup').hide();

    $('#username-clear_popup').focus(function() {
        $('#username-clear_popup').hide();
        $('#username_popup').show();
        $('#username_popup').focus();
    });

    $('#username_popup').blur(function() {
        if ($('#username_popup').val() == '') {
            $('#username-clear_popup').show();
            $('#username_popup').hide();
        }
    });


});
