/* ------------------------------------------------------------------------
	s3Slider

	Developped By: Boban Karišik -> http://www.serie3.info/
        CSS Help: Mészáros Róbert -> http://www.perspectived.com/
	Version: 1.0

	Copyright: Feel free to redistribute the script/modify it, as
			   long as you leave my infos at the top.
------------------------------------------------------------------------- */


(function($){
$.fn.s3Slider = function(vars) {
	var debug = document.getElementById('debug');	// makes life easier
	var element     = this;
	var timeOut     = 3000;
	var current     = null;
	var timeOutFn   = null;
	var faderStat   = true;
	var mOver       = false;
	var items       = $("#" + element[0].id + "Content ." + element[0].id + "Image");
	var itemsSpan   = $("#" + element[0].id + "Content ." + element[0].id + "Image span");
/* PM 15/may/11 disable pause on mouseover
items.each(function(i) {
	$(items[i]).mouseover(function() {
		mOver = true;
	});

	$(items[i]).mouseout(function() {
		mOver = false;
		fadeElement(true);
	});
});
*/
	var fadeElement = function(isMouseOut) {
		var thisTimeOut = isMouseOut ? timeOut/2 : timeOut;
		thisTimeOut = faderStat ? 10 : thisTimeOut;
		if (items.length > 0)
			timeOutFn = setTimeout(makeSlider, thisTimeOut);
	}

	var makeSlider = function() {
		if (current == null)
			current = items[(items.length - 1)];
		var currNo = jQuery.inArray(current, items) + 1;

		currNo = currNo == items.length ? 0 : currNo - 1;
//		var newMargin = $(element).width() * currNo;
		if (faderStat == true) {
			if(!mOver) {
				$(items[currNo]).fadeIn((timeOut/6), function() {
					if ($(itemsSpan[currNo]).css('bottom') == 0) {
						$(itemsSpan[currNo]).slideUp((timeOut/4), function() {
							faderStat = false;
							current = items[currNo];
							if (!mOver)
								fadeElement(false);
						});
					}
					else {
						$(itemsSpan[currNo]).slideDown((timeOut/4), function() {
							faderStat = false;
							current = items[currNo];
							if (!mOver)
								fadeElement(false);
						});
					}
				});
    	} // !mOver
		} // faderStat
		else {
 			if (!mOver) {
				if ($(itemsSpan[currNo]).css('bottom') == 0) {
					$(itemsSpan[currNo]).slideDown((timeOut/4), function() {
						$(items[currNo]).fadeOut((timeOut/6), function() {
							faderStat = true;
							current = items[(currNo+1)];
							if (!mOver)
								fadeElement(false);
						});
					});
				}
				else {
					$(itemsSpan[currNo]).slideUp((timeOut/4), function() {
						$(items[currNo]).fadeOut((timeOut/6), function() {
							faderStat = true;
							current = items[(currNo+1)];
							if(!mOver)
								fadeElement(false);
						});
					});
				}
			} // if!mOver
		} // !faderStat
	} // makeslider

makeSlider();

};
})(jQuery);
