/*
 * 
 * YCodaDilbert 2.0
 * $Date:2008-05-18 12:37:10 +0200 (dom, 18 mag 2008) $
 * $Rev:81 $
 * @requires jQuery v1.2.3
 * @requires YCodaSlider v2.0
 * @requires Gallery YCodaSlider plugin 2.0
 * @optional Easing v1.3
 * @optional Lazy YCodaSlider plugin 2.0
 * 
 * Copyright (c) 2008 Massimiliano Balestrieri
 * Examples and docs at: http://maxb.net/blog/
 * Licensed GPL licenses:
 * http://www.gnu.org/licenses/gpl.html
 * 
 */
 
YCodaSlider.Dilbert = {
    init     : function(options, callback)
    {
        options = jQuery.extend({
                 proxy   :    "../exe/feed.php",
                 http_proxy : false,
                 height  :    "470",
                 lazy    :    true
              }, options);
        
        return this.each(
            function(nr)
            {
                var that = this;
                var panel = jQuery(that);
                var url = jQuery("a",this).get(0);
                var data = 'url=' + url;
                if(options.http_proxy)
                    data += '&proxy=' + options.http_proxy;
                //scarica il feed
                jQuery.ajax({
                    dataType : 'xml',
                    url      : options.proxy,
                    data     : data,
                    success: function(rss){
                        //console.log(data.firstChild);
                        var jDesc = jQuery(rss).find("description");
                        var jTemp = jQuery('<div class="dilbert-temp">').appendTo(panel);

                        jDesc.each(function(nr){
                            var html = jQuery(this).text();
                            
                            if(options.lazy || typeof(callback) === "function")
                                html.replace("src","original");
                            
                            jQuery(jTemp).append(html);
                        });

                        var jImgs = jQuery("img",jTemp);//.not("@attr=height");
                        jImgs.each(function(nr){
                            var href = jQuery(this).attr("original") || jQuery(this).attr("src");
                            if(href.indexOf("dilbert.com") !== -1){      
                                var attr = "original";
                                var current = location.hash ? (location.hash.slice(1) - 1) : 0;
                                if(nr == current) 
                                    attr = "src";
                                if(!options.lazy || typeof(callback) !== "function")
                                    attr = "src";
                                    
                                panel.append('<img '+attr+'='+ href +' alt="" />');
                            }
                        });
                        jQuery(".dilbert-temp",panel).remove();
                        jQuery("a",panel).remove();
                        
                        if(callback)
                           callback();
                        
                    }
                 });     
        
            }
        );
    }
};
jQuery.fn.ycodadilbert = YCodaSlider.Dilbert.init;