﻿function AddMemo() {
    $('ajax-loading').show();
    Mondorux.Memento.AddMemo(
        GetActualLocation(), 
        'Goto', 
        '',
        function(result){
            if (!result) {
                ShowError("Promemoria non aggiunto");
            }
            new Effect.Fade('ajax-loading');
        }, 
        function(result){
            ShowError("Errore: " + result.get_message());
            new Effect.Fade('ajax-loading');
        }
    );
}

function ShowError(message){
    $('errore').hide();
    $('errore').innerHTML = "<div style=\"padding: 1ex 1em 1ex 1em; cursor: pointer\" title=\"Selezionami per chiudermi\">" + message + "</div>";
    $('errore').setOpacity(1.00);
    Effect.SlideDown('errore');
    Effect.Fade('errore', { duration: 5.0 });
}

function ShowStaticError(message){
    $('errore').hide();
    $('errore').innerHTML = "<div style=\"padding: 1ex 1em 1ex 1em; cursor: pointer\" title=\"Selezionami per chiudermi\">" + message + "</div>";
    $('errore').setOpacity(1.00);
    Effect.SlideDown('errore');
}

function GetActualLocation(){
    var doc = $('explorer').contentDocument || $('explorer').documentElement.document;
    var href = doc.location.href;
    var newLocation = href.slice(href.indexOf('infero.aspx/') + 12);
    var fullLocation = new Array();
    fullLocation = newLocation.split('?');
    var decodedLocation = Base64.decode(fullLocation[0]);
    if (fullLocation[1]) {
        decodedLocation += '?' + fullLocation[1];
    }
    return decodedLocation;
}

function WriteBrowserLocation(){
    var location = GetActualLocation();
    $('ctl00_master_corpo_gotolink').innerHTML = location;
    $('ctl00_master_corpo_gotolink').href = location;
}

// Behaviours
var goto_rules = {
    '#savememo': function(element){
        element.onclick = function() {
            AddMemo();
        }
    }
};
Behaviour.register(goto_rules);
Behaviour.addLoadEvent(
    function(){
        new PeriodicalExecuter(WriteBrowserLocation, 2); 
    }
);