
//================================================================================
// 
//  NAVIGAZIONE DELLE PAGINE 
// 
//================================================================================


// navigazione per il top menu
//
$('#navigation div').live('click', function(){
    $('#p_content_id').val($(this).attr("item_id"));
    $('#p_category_id').val($(this).attr("item_id"));
    
    if($(this).attr('bt_action') != ''){
        submitAjax('#content', $(this).attr('bt_action'), $(this).attr('bt_target'), {fadeEffect: true});
    }
    
    // aggiungo il css sul tag 'a' che è stato chiamato
    $("#navigation div a").removeClass("activelink");
    $("a", this).addClass("activelink");
});

// navigazione sulle categorie
//
$('.el_elements a').live('click', function(){
    $('#p_content_id').val($(this).attr("item_id"));
    
    submitAjax('#content', $(this).attr('bt_action'), $(this).attr('bt_target'), {fadeEffect: true});
});





//================================================================================
// 
//  PREPARAZIONE PARAMETRI E INVIO DATI AD AJAX
// 
//================================================================================


// prepara tutti i parametri per ajax
//
function prepareAjaxParams(bt_action, bt_target){
    var str_params = '';
    
    // setto anche action e target
    if(bt_action != '') $('#bt_action').val(bt_action);
    if(bt_target != '') $('#bt_target').val(bt_target);
    
    // leggo i campi da postare e li aggiungo ai parametri
    $.each( $(":input[submit='AJAX']"), function(i, obj){
        if(i == 0){
            str_params += obj.id+'='+encodeURIComponent($("#"+obj.id).val());
        } else {
            str_params += '&'+obj.id+'='+encodeURIComponent($("#"+obj.id).val());
        }
    });
    
    return str_params;
}

// post di tutti i dati ad ajax
function submitAjax(html_element, bt_action, bt_target, opts){
    // preparo i parametri
    var custom_params = prepareAjaxParams(bt_action, bt_target);
    
    // aggiungo alle options per AJAX i parametri
    if(typeof opts == 'undefined') opts = {};
    opts.params = (typeof opts.params != 'undefined')?custom_params+'&'+opts.params:custom_params;
    
    // invio tutto alla chiamata AJAX
    $(html_element).requestajax(opts);
}





//================================================================================
// 
//  ...METODI DI UTILITA' GENERALE
// 
//================================================================================


// cerca di trovare un valore di un attributo di un certo id
//
function findAttrsValue(obj_html, tag_name, attr_name){
    var attr_value = '';
    
    $.each(obj_html.parents(), function(){        
        if(this.tagName == tag_name){
            attr_value = $(this).attr(attr_name);
        }
    });
    
    return attr_value;
}
