jQuery(function(){
    jQuery("div.svw").prepend("<img src='/js/svwloader.gif' class='ldrgif' alt='loading...'/ >");
});
var j = 0;
var quantofamo = 0;
jQuery.fn.slideView =
    function(settings) {
	    settings =
            jQuery.extend({
                easeFunc: "easeInOutExpo",
                easeTime: 750,
                toolTip: false,
                width: 335,
                transimiterBG: ["#FF862B", "#FD4F00", "#FE3900", "#FE2200", "#FF1100", "#FE0200"]
            }, settings);
	    return this.each(function(){
		var container = jQuery(this);
		container.find("img.ldrgif").remove(); // removes the preloader gif
		container.removeClass("svw").addClass("stripViewer");

        var slideBoxSize = settings.width;

        container.find("img").each( function (i) {
            var pictWidth = $(this).width();
            var pictHeight = $(this).height();

            if(pictWidth > pictHeight) {
              pictHeight = (pictHeight / pictWidth) * slideBoxSize;
              pictWidth = slideBoxSize;
            } else {
              pictWidth = (pictWidth / pictHeight) * slideBoxSize;
              pictHeight = slideBoxSize;
            }

            $(this).width(pictWidth);
            $(this).height(pictHeight);
          });


		var pictWidth = container.find("img").width();
		var pictHeight = container.find("img").height();

        if(pictWidth > pictHeight) {
          pictHeight = (pictHeight / pictWidth) * slideBoxSize;
          pictWidth = slideBoxSize;
        } else {
          pictWidth = (pictWidth / pictHeight) * slideBoxSize;
          pictHeight = slideBoxSize;
        }

        pictWidth = (pictWidth > pictHeight ? pictWidth : pictHeight);
		var pictEls = container.find("li").size();
		var stripViewerWidth = (pictWidth > pictHeight ? pictWidth : pictHeight) * pictEls;
		container.find("ul").css("width" , stripViewerWidth); //assegnamo la larghezza alla lista UL
		container.css("width" , pictWidth > pictHeight ? pictWidth : pictHeight);
		container.css("height" , pictWidth > pictHeight ? pictWidth : pictHeight);

        var timeoutID;
        function genTimerFunc(imageIdx) {
          return function () {
            //console.debug(imageIdx + " / " + pictEls + "@1");

            imageIdx += 1;
            //console.debug(imageIdx + " / " + pictEls + "@2");
            imageIdx = imageIdx % pictEls;
            //console.debug(imageIdx + " / " + pictEls + "@3");

            container.siblings(".stripTransmitter ul").find("a:eq("+imageIdx+")").trigger("click");
            //console.debug(imageIdx + " / " + pictEls + "@4");
          };
        }

        timeoutID = setTimeout(genTimerFunc(0), 6000);

        container.each(function(i) {
            var nowImage = 0;
            var total = pictEls;
            
			jQuery(this).after("<div class='stripTransmitter' id='stripTransmitter" + (j) + "'><ul><\/ul><\/div>");
            jQuery(this).after("<div class='descText' id='descText" + (j) + "'><ul style='list-style-type: none; text-align: left;'><\/ul><\/div>");

			jQuery(this).find("li").each(function(n) {
                var liEl = "<li style=";
                if(n == 0) {
                  //jQuery("div#descText" + j + " ul").append("<li style='' id='descText" + (j) + n + "'><div>" + $(this).find("img").attr("desc") + "</div></li>");

                  liEl += "''";
                } else {
                  //jQuery("div#descText" + j + " ul").append("<li style='display: none;' id='descText" + (j) + n + "'><div>funny" + n + "</div></li>");

                  liEl += "'display: none;'";

                }

                liEl += " id='descText" + (j) + n + "'><div>" + $(this).find("img").attr("desc") + "</div></li>";

                jQuery("div#descText" + j + " ul").append(liEl);

                
                jQuery("div#stripTransmitter" + j + " ul").append("<li><a style='background-color: " + settings.transimiterBG[n%6] + ";' title='" + jQuery(this).find("img").attr("alt") + "' href='#'>"+(n+1)+"<\/a><\/li>");
                //jQuery(this).prepend("<div>hihi, funny</div>");
              });

            var oldJ  = j;
			jQuery("div#stripTransmitter" + j + " a").each(function(z) {
                jQuery(this).attr("seq", z);
                
				jQuery(this).bind("click", function(){
                    jQuery(this).addClass("current").parent().parent().find("a").not(jQuery(this)).removeClass("current"); // wow!
                    jQuery(this).parent().parent().find("a").css("color", "#000");
                    jQuery(this).css("color", "#FFF");
                    var cnt = -(pictWidth*z);
                    container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc);

                    jQuery("div#descText" + (oldJ) + " ul li").each(function(zsi) {
                        if(zsi != z) {
                          $(this).hide();
                        } else {
                          $(this).show();
                        }
                      });

                    //console.debug("now seq@a: " + jQuery(this).attr("seq"));
                    clearTimeout(timeoutID);
                    timeoutID = setTimeout(genTimerFunc(parseInt(jQuery(this).attr("seq"))), 6000);

                    return false;
                  });
              });


            // next image via image click	14/01/2009
            jQuery("div#stripTransmitter" + j + " a").parent().parent().parent().prev().find("img").each(function(z) {
				jQuery(this).bind("click", function(){
					var ui 	= 	jQuery(this).parent().parent().parent().next().find("a");
					if(z+1 < pictEls){
						ui.eq(z+1).trigger("click");
					}
					else ui.eq(0).trigger("click");
				   });
				});


			jQuery("div#stripTransmitter" + j).css("width" , pictWidth > pictHeight ? pictWidth : pictHeight);

			jQuery("div#stripTransmitter" + j + " a:first").addClass("current");

			if(settings.toolTip){
              container.next(".stripTransmitter ul").find("a").Tooltip({
				track: true,
				delay: 0,
				showURL: false,
				showBody: false
				});
			}

			});
		j++;
  });
};

