﻿
// http://rigsmedia.com/labs/hidden-div/
function showdisplay() {
    document.getElementById('glass').style.display = 'block';
    document.getElementById('glass').style.left = '0px';
    document.getElementById('glass').style.top = '0px';
    oDiv = document.getElementById('display');
    oDiv.style.display = 'block';

    resetta();

    return false;
}

function hidedisplay() {
    oDiv = document.getElementById('display');
    oDiv.style.display = 'none';
    document.getElementById('glass').style.display = 'none';
    return false;
}


function resetta() {
    document.getElementById('password').value = '';

    showMessage();

    var txtlogin = document.getElementById('login');
    txtlogin.value = '';
    txtlogin.focus();
}








/*
*/

var m;

$(function () {
    m = document.getElementById('Message');
    $("#login").keyup(function (event) {
        if (event.keyCode == 13) {
            $("#btnAccedi").click();
        }
    });
    $("#password").keyup(function (event) {
        if (event.keyCode == 13) {
            $("#btnAccedi").click();
        }
    });
});


function checkLogin() {
    showMessage();

    // ----   Controllo che i dati siano presenti   ----
    var l = document.getElementById('login').value;
    var p = document.getElementById('password').value;
    
    var v = (l) ? 'hidden': 'visible';
    document.getElementById('loginValidator').style.visibility = v;
    v = (p) ? 'hidden' : 'visible'; ;
    document.getElementById('passwordValidator').style.visibility = v;

    if (!l | !p) {return false;}
    //  -------------------------------------------------



    //  ----   Invio richiesta Ajax con jquery   ----
    showMessage('Invio richiesta...');
    $.support.cors = true;  // Serve per le richieste cross-domain su FF, ma non funziona sempre
    $.ajax({ type: 'POST',
        url: './oldsite/login.asp',
        datatype: 'text/html',
        data: { login: l, password: p, sender: 'newsite' },
        success: function (text) { jqueryhandler(text); },
        asynch: true,
        error: function (jqXHR, textStatus, errorThrown) { errorHandler(jqXHR, textStatus, errorThrown); }
    });
    //  --------------------------------------------
}


function errorHandler(jqXHR, textStatus, errorThrown) {
    showMessage('error: ' + errorThrown, true);
}


function jqueryhandler(text) {

    /*******************************************************
        La login.asp restituisce un testo così composto:
          n1;n2;text
        
        dove:
        n1 è un flag sul login (1 eseguito - 0 negato)
        n2 è il tipo di utente ed è usato solo se n1=1 - n2 deve essere inoltrato alla default.aspx come parametro menuType
        text è l'url di reindirizzamento (se n1=1) oppure il messaggio descrittivo (se n1=0)
    ********************************************************/
    var msg;
    if (text != null && text != '') {
        var res = text.split(';', 3);
        if (isNumber(res[0])) {
            if (res[0] == 1) {
                var completeurl = './oldsite' + res[2];
                PostToUrl(completeurl, res[1]);
            }
            else {
                showMessage(res[2], true);
            }
        }
        else {
            document.getElementById('pagecontainer').innerHTML = text;
        }
    }
    return false;
}


function PostToUrl(targetUrl, menutype) {
    //var form = new Element('form', { method: 'post' });

    var form = document.createElement('form');
    form.setAttribute('method', 'post');
    form.setAttribute("action", window.location.href);

    if (targetUrl != null && targetUrl != '') {
        var bu = document.createElement('input');
        bu.setAttribute('type', 'hidden');
        bu.setAttribute('name', 'bodyUrl');
        bu.setAttribute('id', 'bodyUrl');
        bu.setAttribute('value', targetUrl);

        form.appendChild(bu);    
    }

    if (menutype != null && menutype != '' && isNumber(menutype)) {
        var mt = document.createElement('input');
        mt.setAttribute('type', 'hidden');
        mt.setAttribute('name', 'menuType');
        mt.setAttribute('id', 'menuType');
        mt.setAttribute('value', menutype);

        form.appendChild(mt);
    }

    document.body.appendChild(form);
    form.submit();
}






function showMessage(strMessage, boolHighlights) {
    // m è dichiarata a livello globale e valorizzata in document ready: $(function ())
    m.setAttribute('class', '');
    if (strMessage) {
        var msg = strMessage.trim().replace(/(\r\n)/g, '');
        var l = 50;
        if (boolHighlights) {
            m.setAttribute('class', 'loginValidator');
            l += 3;
        }
        if (msg.length > l) msg = msg.substr(0, l - 2) + '...';
        m.innerHTML = msg;
        m.title = strMessage;
    }
    else {
        m.innerHTML = '';
        m.title = '';
    }

}
