(function($){
    $.sliderWithArrows = function(el, options){
        var base = this;
        base.$el = $(el);
        base.el = el;
        base.$el.data("sliderWithArrows", base);
        
        base.init = function(){
            base.options = $.extend({},$.sliderWithArrows.defaultOptions, options);
            base.size = $(".sliderContent li", base.el).size();
            base.width = base.size * base.options.itemWidth;
            
            if(base.size >= base.options.numPerPage) {
	            base.$el.prepend('<a class="sliderPrev" href="#">Prev</a>');
				base.$el.append('<a class="sliderNext" href="#">Next</a>');
				$(".sliderNext", base.el).bind("click", function(){
					leftPos = parseInt($(".sliderContent", base.el).css("marginLeft")) * -1;
					distance = (base.options.numPerPage * base.options.itemWidth) + leftPos;
					if(leftPos >= 0 && leftPos <= (base.width - distance)) {
						$(".sliderContent", base.el).animate({marginLeft: -distance}, base.options.slideSpeed);
						
					}
					return false;
				});
				$(".sliderPrev", base.el).bind("click", function(){
					leftPos = parseInt($(".sliderContent", base.el).css("marginLeft")) * -1;
					distance = parseInt(leftPos - (base.options.numPerPage * base.options.itemWidth));
					if(distance >= 0) {
						$(".sliderContent", base.el).animate({marginLeft: distance}, base.options.slideSpeed);
					}
					return false;
				});
            }

        };
        
        base.init();
    };
    
    $.sliderWithArrows.defaultOptions = {
    	padding : 0,
    	slideSpeed : 900,
    	numPerPage : 4,
    	itemWidth : 223
    };
    
    $.fn.sliderWithArrows = function(options){
        return this.each(function(){
            (new $.sliderWithArrows(this, options));
        });
    };
    
    $.fn.getsliderWithArrows = function(){
        this.data("slider");
    };
    
})(jQuery)

OH_slider = {
	
	Obj : new Array(),
	
	create : function(id) {
		this.config = {
			currentPos : 0,
			numPerSlide : 7,
			totalWidth : 0,
			totalItems : 0,
			itemLength : 133,
			numPerPage : 7,
			slideSpeed : 900
		}
		OH_slider.Obj[id] = this.config;
		OH_slider.bind(id);
	},
	
	bind : function(id) {
	this.config.slideDistance = this.config.itemLength * this.config.numPerSlide;
	$("#slider"+id+" .sliderContent li").each(function() {
		OH_slider.Obj[id].totalItems++;
		$("img",this).css({"opacity" : "0.7"});
		$(this).hover(
			function() {
				$("img",this).stop().effect("scale", { percent: 110}, 250).animate({"opacity" : "1"}, 250);
			},
			function() {
				$("img",this).stop().effect("scale", { percent: 90}, 250).animate({"opacity" : "0.65"}, 250);
			});
		});
	this.toggle(id);
	},
	
	toggle : function(id) {
		
		//If we are at or before position 0
		if(OH_slider.Obj[id].currentPos <= 0 && OH_slider.Obj[id].totalItems >= OH_slider.Obj[id].numPerPage) {
			$("#slider"+id+" .sliderNext").show();
			$("#slider"+id+" .sliderPrev").hide();
		}
		
		//If we are past the end
		else if(OH_slider.Obj[id].currentPos >= (OH_slider.Obj[id].itemLength * (OH_slider.Obj[id].totalItems - OH_slider.Obj[id].numPerPage))) {
			$("#slider"+id+" .sliderPrev").show();
			$("#slider"+id+" .sliderNext").hide();
		}
		
		//If we are anywhere else
		else
			$("#slider"+id+" .sliderBtn").show();
			
		//Hide buttons if there isnt enough
		if(OH_slider.Obj[id].totalItems <= OH_slider.Obj[id].numPerPage)
			$("#slider"+id+" .sliderBtn").hide();
	},
	
	nextPg : function(id) {
		if(OH_slider.Obj[id].currentPos < (OH_slider.Obj[id].itemLength * (OH_slider.Obj[id].totalItems - OH_slider.Obj[id].numPerPage))) {
			OH_slider.Obj[id].currentPos = OH_slider.Obj[id].currentPos + OH_slider.Obj[id].slideDistance;
			$("#slider"+id+" .carousel").animate({scrollLeft: OH_slider.Obj[id].currentPos}, OH_slider.Obj[id].slideSpeed);
		}
		this.toggle(id);
	},
	
	prevPg : function(id) {
		if(OH_slider.Obj[id].currentPos > 0) {
			OH_slider.Obj[id].currentPos = OH_slider.Obj[id].currentPos - OH_slider.Obj[id].slideDistance;
			$("#slider"+id+" .carousel").animate({scrollLeft: OH_slider.Obj[id].currentPos}, OH_slider.Obj[id].slideSpeed);
		}
		this.toggle(id);
	}
}
