

// impostare a true per attivare i messaggi di debug
var DEBUG = false;


var strmessages = {
    error   : "Si e' verificato un errore durante l'operazione",
    success : "Operazione eseguita con successo"
}


function stdEffect(content)
{
    var content_str = "";
    
    if (content != null && content != "")
    {
        content_str = content + " ";
    }
    
    
    $(content_str + '.confirm').click(function(){
        
        var jthis = $(this);
        var message = jthis.attr("rel");
        
        return confirm(message);
        
    });
    
    
    /*
     * Applicata ai link
     * Utilizza le proprietà <rel> e <rev>
     * <rel>  messaggio da visualizzare per la conferma
     * <rev>  indica il selettore jquery (Es. '#pippo', '.miaclasse') da nascondere
     *        con fadeOut("fast")
     */
    $(content_str + '.delete').click(function(){
        
        var jthis   = $(this);
        var message = jthis.attr("rel");
        
        if (confirm(message))        
        {
            $.get(jthis.attr("href"), {},
                function(data, textStatus){
                    
                    // per debug
                    if (DEBUG)
                        alert(data);
                    
                    if (data == "ok")
                        // elimina il parent
                        jthis.parents(jthis.attr("rev")).each(function(){
                            $(this).fadeOut("fast");
                            return false;
                        });
                    else
                        alert(strmessages['error']);
                    
                }, "text");
        }
        
        return false;
    });
    
    
    /*
     * Caricamento ajax dei contenuti
     */
    $(content_str + '.load').click(function(){
        
        var jthis = $(this);
        
        $(jthis.attr("rel")).load(jthis.attr("href"),
            function(){
                stdEffect(jthis.attr("rel"));
            });
        
        return false;
    });
    
    
    /*
     * Esecuzione di comandi ajax
     */
    $(content_str + '.ajax').click(function(){
        
        var jthis   = $(this);
        var message = jthis.attr("rel");
        
        if (confirm(message))        
        {
            $.get(jthis.attr("href"), {},
                function(data, textStatus){
                    
                    // per debug
                    if (DEBUG)
                        alert(data);
                    
                    if (data == "ok")
                    {
                        // Operazione eseguita correttamente: visualizza un messaggio di conferma.
                        alert(strmessages['success']);
                    }
                    else
                        alert(strmessages['error']);
                    
                }, "text");
        }
        
        return false;
        
    });
    
    
    /*
     * Link semplice per qualsiasi elemento con proprietà rel impostata
     */
    $(content_str + '.link').click(function(){
        
        var jthis = $(this);
        
        location.href = jthis.attr("rel");
        
        return false;
    });
    
    
    /*
     * Link che aprono finestre di dialogo
     */
    $(content_str + '.wopen').click(function(){
        
        var jthis = $(this);
        
        window.open(jthis.attr("href"), jthis.attr("rel"), "width=700,height=600,menubar=no,locationbar=no,resizable=yes");
        
        return false;
    });
    
    
}



$(document).ready(function(){
    
   stdEffect();
    
});


