// charset=utf-8
// $Id: slider.js 77 2011-02-18 13:07:56Z hebing $
// $$
// +----------------------------------------------------------------------+
// | mcm module: Slider                                                    |
// | version 1.0                                                          |
// | mcm version 5.6                                                      |
// | (c) 2002-2010 monsun media (http://www.monsun-media.com)             |
// +----------------------------------------------------------------------+

/**
* Slider
*
* @author	hebing
*/
var Slider = {
	
	$ScrollableContainer : 0
	,
	$scrollableElementOuterWidth : 0
	,
	$scrollableElementOuter : 0
	,
	$spacePx : 18
	,
	$slideBackIsPossible : true
	,
	/**
	*
	*
	* @return	void
	*/
	initSlider : function(){
		$('.SliderNavigationNext a').click(function(event){
			Slider.slide(event,'next');
			return false;
		});
		$('.SliderNavigationBack a').click(function(event){
			Slider.slide(event,'back');
			return false;
		});
		$ScrollableContainer = $('.ScrollableContainer');
		$scrollableElementOuter = $ScrollableContainer.find(".scrollableElementOuter"); 
        $scrollableElementOuterWidth = parseInt($($scrollableElementOuter).css("width").replace(/px/,""))+Slider.$spacePx;
        $ScrollableContainer.width($scrollableElementOuterWidth*$scrollableElementOuter.length+'px');
        
        Slider.checkForBackScrolling();
        Slider.checkForForwardScrolling();
	}
	,
	checkForBackScrolling : function() {
		scrollableContainerPosition = parseInt($ScrollableContainer.css("left").replace(/px/,""));
		if(scrollableContainerPosition >= 0){
			$('.SliderNavigationBack a').css({display:'none'});
		}else{
			$('.SliderNavigationBack a').css({display:'block'});
		}
	}
	,
	checkForForwardScrolling : function() {
		scrollableContainerPosition = parseInt($ScrollableContainer.css("left").replace(/px/,""));
		sliderWidth = parseInt($('.Slider').width());
		scrollableContainerWidth = parseInt($ScrollableContainer.width());
		if(scrollableContainerWidth+scrollableContainerPosition <= sliderWidth){
			$('.SliderNavigationNext a').css({display:'none'});
		}else{
			$('.SliderNavigationNext a').css({display:'block'});
		}
	}
	,
	slide : function(event,direction) {
		switch(direction){
			case 'back':
				Slider.slideBack(event);
				break;
			case 'next':
				Slider.slideNext(event);
				break;
		}
		return false;
		
	}
	,
	slideBack : function(event) {
  		
		var scrollableContainerPosition = parseInt($ScrollableContainer.css("left").replace(/px/,""));
		var newLeft = parseInt(scrollableContainerPosition+$scrollableElementOuterWidth+500);
		if(newLeft > 0){
			newLeft = parseInt(0);
		}
		$ScrollableContainer.animate({ left: newLeft}, 300, function() {
    		Slider.checkForBackScrolling();
        	Slider.checkForForwardScrolling();
  		});
	}
	,
	slideNext : function(event) {
  		
		sliderWidth = parseInt($('.Slider').width());
		var scrollableContainerPosition = parseInt($ScrollableContainer.css("left").replace(/px/,""));
		var newLeft = parseInt(scrollableContainerPosition-500);	
		if(newLeft < ($ScrollableContainer.width() - sliderWidth) * (-1)){
			newLeft = parseInt(($ScrollableContainer.width() - sliderWidth) * (-1));
		}
		$ScrollableContainer.animate({ left: newLeft}, 500,function() {
    		Slider.checkForBackScrolling();
        	Slider.checkForForwardScrolling();
  		});
	}
}
$(window).load(function () {
  Slider.initSlider();
});



