// JavaScript Document
var window_loaded = false;
			
(function($){
	$.fn.customSlideShow = function(options) {
		var opts = $.extend($.fn.customSlideShow.defaults, options);
		
		var totalSlides = 0;
		var oldSlide = 0;
		var currentSlide = 0;
		var paused = false;
		var ctx = "area";
		var counterId = 0;
		/*var interval = 3000;
		var elem_holder= "cstm-ss-holder";
		var elem_items= "cstm-ss-content";
		var obj_next= "cstm-ss-next";
		var obj_prev= "cstm-ss-previous";
		var obj_start= "cstm-ss-next";
		var obj_stop= "cstm-ss-previous";*/
		var timer_id = "tm-area";


		function showPreviousSlide() {
			paused=true;
			$(document).stopTime(timer_id);
			//clearTimeout(timer_id);
			oldSlide = currentSlide;
			currentSlide--;
			if(currentSlide==-1) currentSlide=totalSlides-1;
			updateContentHolder();
		}
		
		function showNextSlide() {
			paused=true;
			$(document).stopTime(timer_id);
			//clearTimeout(timer_id);
			oldSlide = currentSlide;
			currentSlide++;
			if(currentSlide==totalSlides) currentSlide=0;
			updateContentHolder();
		}
		
		function automaticShow() {
			paused=false;
			oldSlide = currentSlide;
			currentSlide++;
			if(currentSlide==totalSlides) currentSlide=0;
			updateContentHolder();
		}
		
		function updateContentHolder() {
			$("."+opts.elem_items+":eq("+oldSlide+")", ctx).fadeOut(400);
			$("."+opts.elem_items+":eq("+currentSlide+")", ctx).fadeIn(400);
			//updateButtons();

			var elem_content = $("."+opts.elem_items+":eq("+currentSlide+")", ctx);
			if($("."+opts.pass_link_from, elem_content)) {
				$("."+opts.pass_link_to, ctx).attr("href", $("."+opts.pass_link_from, elem_content).attr("href"));
			}

			if(paused) {
				if(!opts.manual_scroll) {
					$(document).everyTime(opts.interval, timer_id, automaticShow);
				}
			}
		}

		function updateButtons() {
			if(currentSlide < totalSlides-1) $("."+opts.obj_next).show();
			else $("."+opts.obj_next).hide();
			
			if(currentSlide > 0) $("."+opts.obj_prev).show();
			else $("."+opts.obj_prev).hide();
		}

		function startSlide() {
			if(!opts.manual_scroll) {
				$(document).everyTime(opts.interval, timer_id, automaticShow);
			}
		}

		function resetSlide() {
			$(document).stopTime(timer_id);
			//clearTimeout(timer_id);
			oldSlide = currentSlide;
			currentSlide=0;
			paused=false;
			$("."+opts.elem_items+":eq("+oldSlide+")", ctx).hide();
			$("."+opts.elem_items+":eq("+currentSlide+")", ctx).show();
		}

		function Initialize() {
			$("."+opts.obj_prev, ctx).click(showPreviousSlide);
			$("."+opts.obj_next, ctx).click(showNextSlide);

			$("."+opts.obj_start, ctx).click(startSlide);
			$("."+opts.obj_close, ctx).click(resetSlide);

			totalSlides = $("."+opts.elem_items, ctx).size();
			$("."+opts.elem_items+":eq(0)", ctx).show();
			if(totalSlides==1) opts.manual_scroll=true;

			/*if($("."+opts.pass_link_from, $("."+opts.elem_items+":eq(0)"), ctx)) {
				$("."+opts.pass_link_to, ctx).attr("href", $("."+opts.pass_link_from, $("."+opts.elem_items+":eq(0)"), ctx).attr("href"));
			}*/
			var elem_content = $("."+opts.elem_items+":eq(0)", ctx);
			if($("."+opts.pass_link_from, elem_content)) {
				$("."+opts.pass_link_to, ctx).attr("href", $("."+opts.pass_link_from, elem_content).attr("href"));
			}
			
			//updateButtons();
			if(!opts.manual_scroll) {
				$(document).everyTime(opts.interval, timer_id, automaticShow);
			}
		}

	/*
	**	MAIN PLUGIN CODE
	*/
		return this.each(function() {
			id = $(this).attr('id');
			ctx = $(this);
			timer_id = "tm"+$(this).attr('id');
			$(document).stopTime(timer_id);
				Initialize();
			
			/*if(!window_loaded) {
				$(window).load(function(){
					window_loaded = true;
					Initialize();
				});
			} else {
				Initialize();
			}*/
					
		});
	};
	
	/*
	**	options and default values
	*/
	$.fn.customSlideShow.defaults = {
		elem_holder: "cstm-ss-holder",
		elem_items: "cstm-ss-content",
		obj_next: "cstm-ss-next",
		obj_prev: "cstm-ss-previous",
		obj_start: "cstm-ss-start",
		obj_close: "cstm-ss-close",
		interval: 3000,
		manual_scroll:false,
		pass_link_from: "btn_link_from",
		pass_link_to: "btn_link_to"
	};
})(jQuery);

