;(function($){
	$.fn.pom_slider = function(change_obj, change_view, rotatePhotos){
		// Objects
		var $obj = $(this);

		// Math
		var length = $('li', $obj).length;
		var ul_width = $('ul', $obj).width();
		var width = $('li', $obj).width()+12;
		var current = 0;
		var view = Math.floor(ul_width/width);

		// Mouseovers
		$('li', $obj).mouseover(function(){$(this).addClass('pom_slider_hover')});
		$('li', $obj).mouseout(function(){$(this).removeClass('pom_slider_hover')});

		// Slide Show
		if (rotatePhotos && length>0){
			var slideshowCount = 0, shifter = 0;
			var intervalid = setInterval(function(){slideshow();}, 6000);
			$(document).click(function(){if (intervalid) clearInterval(intervalid);});
		}

		// Slider Details
		$('ul', $obj).css('width', length*ul_width);
		$('li', $obj).click(function(){ desc_change($(this)); });

		// Sliding Actions
		$('.next', $obj).click(function(){
			if (current+view >= length) return false;
			current++;
			$('ul', $obj).animate({marginLeft: (current*width*-1)}, 500);
			return false;
		});
		$('.prev', $obj).click(function(){
			if (current <= 0) return false;
			current--;
			$('ul', $obj).animate({marginLeft: (current*width*-1)}, 500);
			return false;
		});

		function desc_change($x){
			var image = $x.attr("rel"), type = 0;
			if (image.search(/;/g)){
				var arr = image.split(";");
				image = arr[0];
				type = arr[1];
			}
			$('li', $obj).removeClass('pom_slider_hold');
			$x.addClass('pom_slider_hold');
			$(change_obj).load("ajax_pom.php?view="+change_view+"&type="+type, {pom_image: image});
		}

		function slideshow(){
			slideshowCount++;
			if (slideshowCount >= length){
				var $x = $('ul li', $obj).eq(0);
				$('ul', $obj).animate({marginLeft: 0},2500).css('overflow', 'hidden');
				slideshowCount = 0;
				shifter = 0;
			}else if (slideshowCount>=view){
				var $x = $('li', $obj).eq(slideshowCount);
				shifter++;
				$('ul', $obj).animate({marginLeft: (shifter*width*-1)},500).css('overflow', 'hidden');
			}else{
				var $x = $('li', $obj).eq(slideshowCount);
			}
			desc_change($x);
		}
	};
})(jQuery);
