/*!
 * slideViewer 1.2
 * Examples and documentation at: 
 * http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html
 * 2007-2010 Gian Carlo Mingati and Davronbek Usarov (changed)
 * Version: 1.2.1 (19-FEBRUARY-2010)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Requires:
 * jQuery v1.4.1 or later, jquery.easing.1.2
 * 
 */

var j = 0;
var quantofamo = 0;
jQuery.fn.slideView = function(settings) {
	settings = jQuery.extend({
		easeFunc: "easeInOutBack",
		easeTime: 750,
		toolTip: false,
		ttOpacity: 0.9,
		marginLeft: 0,
		marginRight: 0
	}, settings);
	return this.each(function(){
		var container = jQuery(this);
		container.removeClass("svw").addClass("stripViewer");
		var pictWidth = container.find("img").width();
		var pictHeight = container.find("img").height();
		var pictEls = container.find("li").size();
		var marginStyle = '0';

		if (settings.marginRight > 0)
		{
			pictWidth += settings.marginRight;
			marginStyle += ' ' + settings.marginRight + 'px';
		}
		else
		{
			marginStyle += ' 0';
		}

		if (settings.marginLeft > 0)
		{
			pictWidth += settings.marginLeft;
			marginStyle += ' ' + settings.marginLeft + 'px';
		}
		else
		{
			marginStyle += ' 0';
		}

		marginStyle += ' 0';

		var stripViewerWidth = pictWidth * pictEls;

		container.find('ul')
			.css("width" , stripViewerWidth)
			.find('li').each(function(){
					if (settings.marginRight > 0)
					{
						jQuery(this).css('margin', marginStyle);
					}
				});
		container.css("width" , pictWidth);
		container.css("height" , pictHeight);
		container.each(function(i) {

			/*** BEGIN COMMENT ***/
			/*!
			 * Author: Davronbek Usarov
			 * Reason: we don't need [1],[2],[3]... [n] navigators for slideshow
			 */
			/*
			jQuery(this).after("<div class='stripTransmitter' id='stripTransmitter" + (j) + "'><ul><\/ul><\/div>");
			jQuery(this).find("li").each(function(n) {
				jQuery("div#stripTransmitter" + j + " ul").append("<li><a title='" + jQuery(this).find("img").attr("alt") + "' href='#'>"+(n+1)+"<\/a><\/li>");												
			});

			jQuery("div#stripTransmitter" + j + " a").each(function(z) {
				jQuery(this).bind("click", function(){
					jQuery(this).addClass("current").parent().parent().find("a").not(jQuery(this)).removeClass("current"); // wow!
					var cnt = -(pictWidth*z);
					container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc);
					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");
				});
			});
			*/
			/*** END COMMENT ***/

			/************************ BEGIN Adding ************************/
			/*!
			 * Author: Davronbek Usarov
			 * Reason: slideshow via prev/next buttons
			 */
			var zz = 0;

			container.parent().find('span#prev').click(function(){
				if (zz == 0)
				{
					zz = pictEls;
				}

				if (zz > 0)
				{
					zz--;
					var cnt = -(pictWidth*zz);
					container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc);


					return false;
				}
				else
				{
					zz = 0;
				}
			});

			container.parent().find('span#next').click(function(){
				if (zz+1 == pictEls)
				{
					zz = -1;
				}

				if (zz+1 < pictEls)
				{
					zz++;
					var cnt = -(pictWidth*zz);
					container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc);

					return false;
				}
				else
				{
					zz = 0;
				}
			});
			/************************ END Adding ************************/

			/*
			jQuery("div#stripTransmitter" + j).css("width" , pictWidth);
			jQuery("div#stripTransmitter" + j + " a:first").addClass("current");
			jQuery('body').append('<div class="tooltip" style="display:none;"><\/div>');
			*/

			// built-in tooltips 17/02/2010
			// original work at stoimen.com/jquery.tooltip.plugin/
			if(settings.toolTip){
				var aref = jQuery("div#stripTransmitter" + j + " a");

				aref.live('mousemove', function(e) {
					var att = jQuery(this).attr('title');
					posX=e.pageX+10;
					posY=e.pageY+10;
					jQuery('.tooltip').html(att).css({'position': 'absolute', 'top': posY+'px', 'left': posX+'px', 'display': 'block', 'opacity': settings.ttOpacity});
				});
				aref.live('mouseout', function() {
					jQuery('.tooltip').hide();
				});
			}
		});

		j++;
	});
};
