/* ------------------------------------------------------------------------
	s3Slider
	
	partially developed By: Boban Karišik -> http://www.serie3.info/
        CSS Help: Mészáros Róbert -> http://www.perspectived.com/
	Version: 2.0
	Expanded and improved upon: Dean Huntley 03/02/2009
	
	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 firstSlide  = true;
        var stopProcess = (vars.stopProcess != undefined) ? vars.stopProcess : false;
		var singleItem  = false;
		var element     = this;
        var timeOut     = (vars.timeOut != undefined) ? vars.timeOut : 4000;
        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");
        var itemsNav   = $("#" + element[0].id + "Nav a.countlink");		
		var delay       = (vars.delay != undefined) ? vars.delay : 8000;  //time between pics
		var slide 		= (vars.slide != undefined) ? vars.slide : false;

		var createNav = function(currNo) {
			var slider = document.createElement("li");
			slider.id  = "slideNav";
				var ul = document.createElement("ul");
				ul.className = "imgcount";
				items.each(function(i) {
					if (this.className.indexOf("clear") == -1) {
						var li = document.createElement("li");
						if (i==currNo) li.className='count';
							var href = document.createElement("a");
							href.href="javascript:void(0)";
							href.sel=i;
							href.className='countlink'
							href.innerHTML=(i+1);
							href.onclick = function() {
							   stopProcess = true;
							   singleItem = true;
							   clearInterval(timeOutFn);			   
							   showSlide(items[this.sel]);
							   createNav(this.sel);
							}
						li.appendChild(href);
						ul.appendChild(li);
					}
				});
				var li = document.createElement("li");			
					var href = document.createElement("a");
					href.href="javascript:void(0)";
					href.id = "pp";
					if (!stopProcess) {
						href.innerHTML='<img src="/atf/cf/{6D23CFF1-8D91-4B15-83BC-DA817771056D}/img_pause_white.gif" border=0 />';
						href.className='countlink pause'
					} else {
						href.innerHTML='<img src="/atf/cf/{6D23CFF1-8D91-4B15-83BC-DA817771056D}/img_play_white.gif" border=0 />';
						href.className='countlink play'
					}
					href.onclick = function() {
					   stopProcess = true;
					   singleItem = true;
					   clearInterval(timeOutFn);
						if (this.className.indexOf('play') > -1) {
							stopProcess = false;
							fadeElement();
							timeOutFn = setInterval(function(){fadeElement()},5000);
							this.className = 'countlink pause';
							this.innerHTML = '<img src="/atf/cf/{6D23CFF1-8D91-4B15-83BC-DA817771056D}/img_pause_white.gif" border=0 />';						
						} else {
							this.innerHTML = '<img src="/atf/cf/{6D23CFF1-8D91-4B15-83BC-DA817771056D}/img_play_white.gif" border=0 />';
							this.className = 'countlink play';
						}
					}
				li.appendChild(href);
				ul.appendChild(li);
			slider.appendChild(ul);
			$('#slideNav').remove();
			$('#sliderContent').prepend(slider);
		}

		var fadeElement = function(isMouseOut) {
			var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut;
			thisTimeOut = (faderStat) ? 10 : thisTimeOut;
			if(items.length > 0) {
				var currNo  = jQuery.inArray(current, items);				
				currNo 		= ((currNo+1) >= (items.length-1)) ? 0 : currNo+1;
				if (!stopProcess) showSlide(items[currNo]);
			} else {
				console.log("Error fading element");
			}
		}
		
		var showSlide = function(newcurr) {
			if (firstSlide) {
				current = (current != null) ? current : items[(items.length-1)];
				var currNo      = jQuery.inArray(current, items);
				currNo = (currNo == (items.length-1)) ? 0 : currNo+1;			
				if($(itemsSpan[currNo]).css('bottom') == 0) {
					$(items[currNo]).addClass("active");
					$(items[currNo]).css({zIndex:"2"});
					if (!slide) $(itemsSpan[currNo]).show();
					new $(items[currNo]).fadeIn((timeOut/6), function() {
						if (slide) $(itemsSpan[currNo]).slideDown((timeOut/6), function() {current = items[currNo];});
						else current = items[currNo];
					});
				} else {
					$(items[currNo]).addClass("active");
					$(items[currNo]).css({zIndex:"2"});
					if (!slide) $(itemsSpan[currNo]).show();
					new $(items[currNo]).fadeIn((timeOut/6), function() {
						if (slide) $(itemsSpan[currNo]).slideDown((timeOut/6), function() {current = items[currNo];});
						else current = items[currNo];
					});
				}
				createNav(currNo);				
				firstSlide = false;
			} else {
				if (current != newcurr) {
					var currNo      = jQuery.inArray(current, items);
					currNo = (currNo == (items.length-1)) ? 0 : currNo;
					//var newMargin   = $(element).width() * currNo;
					if($(itemsSpan[currNo]).css('bottom') == 0) {
						$(items[currNo]).css({zIndex:"1"});
						$(items[currNo]).removeClass("active");				
						$(items[currNo]).addClass("last-active");
						if (slide)
							$(itemsSpan[currNo]).slideDown((timeOut/6));
						else 
							$(itemsSpan[currNo]).show();
						var oldcurrNo = currNo;
						currNo      = jQuery.inArray(newcurr, items);
						$(items[currNo]).addClass("active");
						$(items[currNo]).css({zIndex:"2"});
						if (!slide)	$(itemsSpan[currNo]).show();
						new $(items[currNo]).fadeIn((timeOut/6), function() {
							if (slide) $(itemsSpan[currNo]).slideDown((timeOut/6), function() {current = items[currNo];});
							else current = items[currNo];
							$(items[oldcurrNo]).removeClass("active last-active")
											   .hide();					
							createNav(currNo);
						});
					} else {
						$(items[currNo]).css({zIndex:"1"});
						$(items[currNo]).removeClass("active");				
						$(items[currNo]).addClass("last-active");
						if (slide)
							$(itemsSpan[currNo]).slideUp((timeOut/6));
						else 
							$(itemsSpan[currNo]).show();
						var oldcurrNo = currNo;
						currNo      = jQuery.inArray(newcurr, items);
						$(items[currNo]).addClass("active");
						$(items[currNo]).css({zIndex:"2"});
						if (!slide)	$(itemsSpan[currNo]).show();
						new $(items[currNo]).fadeIn((timeOut/4), function() {
							if (slide) $(itemsSpan[currNo]).slideDown((timeOut/6), function() {current = items[currNo];});
							else current = items[currNo];							
							$(items[oldcurrNo]).removeClass("active last-active")
											   .hide();
							createNav(currNo);
						});
					}
				}
			}
		}
		
		showSlide();
		timeOutFn = setInterval(function(){fadeElement()},delay);

    };  

})(jQuery);  

//change the opacity for different browsers
function changeOpac(opacity, object) {
	if (opacity < 0) opacity=0;
	object.style.opacity = (opacity / 100);
	object.style.MozOpacity = (opacity / 100);
	object.style.KhtmlOpacity = (opacity / 100);
	if(opacity == 100) {
		object.style.filter = '';
	} else {
		object.style.filter = "alpha(opacity=" + opacity + ")";
	}
}
