// function per DEBUG >>> function var_dump(obj) { if(typeof obj == "object") { return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj; } else { return "Type: "+typeof(obj)+"\nValue: "+obj; } } // function per DEBUG <<< var mycarousel_itemList = new Object(); var last_filter_type = 0; function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt) { // The index() method calculates the index from a // given index who is out of the actual item range. var idx = carousel.index(i, mycarousel_itemList.length); carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1])); }; function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt) { carousel.remove(i); }; function mycarousel_getItemHTML(item) { return item.html; }; function get_jcarousel_itemlist(filter_type, carousel) { if(last_filter_type == filter_type) return false; // evito un problema di chiamate multiple // Lorenzo 2010-10-25 // cambio lo stile del link cliccato >>> $$('#menu_jcarousel a').each(function(e) { e.removeClassName("active"); }); $('link_'+filter_type).addClassName("active"); // cambio lo stile del link cliccato <<< var url = "dyna_content_jcarousel.html?action=get_item_list&filter_type="+filter_type; new Ajax.Request(url, { method: "get", onSuccess: function(transport) { eval(transport.responseText); // rendo disponibile la nuova lista di annunci caricati in maniera dinamica carousel.reset(); // resetto il carosello in modo da visualizzare i nuovi annunci last_filter_type = filter_type; // tengo traccia della provincia per evitare un problema di reload multiplo }, onFailure: function(transport) { alert("Si e' verificato un errore nella comunicazione con il server.\nSi prega di aggiornare la pagina e riprovare.\n\nGrazie."); return false; } }); } function mycarousel_initCallback(carousel) { jQuery("#link_primo_piano").bind("click", function() { get_jcarousel_itemlist("primo_piano", carousel); last_filter_type = "primo_piano"; return false; }); jQuery("#link_nuovi").bind("click", function() { get_jcarousel_itemlist("nuovi", carousel); last_filter_type = "nuovi"; return false; }); jQuery("#link_cantieri").bind("click", function() { get_jcarousel_itemlist("cantieri", carousel); last_filter_type = "cantieri"; return false; }); jQuery("#link_aste").bind("click", function() { get_jcarousel_itemlist("aste", carousel); last_filter_type = "aste"; return false; }); jQuery("#link_estero").bind("click", function() { get_jcarousel_itemlist("estero", carousel); last_filter_type = "estero"; return false; }); } function mycarousel_init() { jQuery('#mycarousel').jcarousel( { auto: 2, wrap: 'circular', start: 1, scroll: 1, size: 12, initCallback: mycarousel_initCallback, itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback}, itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback} }); } jQuery(document).ready(function() { mycarousel_init(); });