var JbannerSlider={
    nTimeout:0,
    nLength:0,
    nCurrentIndex:0,
    nPause:100,
    nTransition:7000,
    oBannerSliderItems:null,
    nThumbnailPanelLeft:660,
    nThumbnailPanelTop:250,
    sThumbnailPopupURL:'',
    init:function(options) {
		this.oBannerSliderItems=$('#JbannerSliderPlaceHolder div');
		if(options) { //change default settings		
			if(options.pause) this.nPause=options.pause;
			if(options.transition) this.nTransition=options.transition;
			if(options.thumbnailLeft) this.nThumbnailPanelLeft=options.thumbnailLeft;
			if(options.thumbnailTop) this.nThumbnailPanelTop=options.thumbnailTop;
			if(options.thumbnailPopupURL) this.sThumbnailPopupURL=options.thumbnailPopupURL;
		}
		JbannerSlider.nLength=this.oBannerSliderItems.length; //set length of tickeritems
		var $oThumbnailPlaceHolder=$('#JbannerSliderThumbnailsPlaceholder');
		$oThumbnailPlaceHolder.show();
		if($oThumbnailPlaceHolder.length > 0){
    		$oThumbnailPlaceHolder.find('td').live('mouseenter mouseleave',function(e){
    			var oThumbnailPopup=$('#JbannerSliderThumbnailsPopupPlaceholder');
    			var _class=$(this).attr('class');
    			var _ndxAt_=_class.indexOf('_');
    			var _ndx=_class.substring(_ndxAt_+1,_class.length);		
    			if (e.type == 'mouseover' || e.type == 'mouseenter') {
    				$(this).removeClass('JbannerSliderThumbnailOff_' + _ndx).addClass('JbannerSliderThumbnailOn_' + _ndx);
    				var nThumbnailOffset=$(this).offset();
    				oThumbnailPopup.css({'left':(nThumbnailOffset.left-65) + 'px','top':(nThumbnailOffset.top-30) + 'px'});
    				oThumbnailPopup.removeClass();
    				oThumbnailPopup.addClass('JbannerSliderThumbnailPopup_' + _ndx);
    				oThumbnailPopup.slideDown('fast');
    			}
    			else{
    				JbannerSlider.setThumbnailOver();
    				oThumbnailPopup.hide();
    			}
    		});
    		$oThumbnailPlaceHolder.find('td').live('click',function(e){
    			var _class=$(this).attr('class');
    			var _ndxAt_=_class.indexOf('_');
    			var _ndx=_class.substring(_ndxAt_+1,_class.length);;
    			JbannerSlider.nCurrentIndex=_ndx-1;
            	JbannerSlider.nCurrentIndex= JbannerSlider.nCurrentIndex % JbannerSlider.nLength;
    			JbannerSlider.oBannerSliderItems.hide();
    			JbannerSlider.setThumbnailOver();		
    			JbannerSlider.oBannerSliderItems.stop(true, true);
    			clearTimeout(JbannerSlider.nTimeout);
				JbannerSlider.slide();	
    		});
            var imageOffset=$('#JbannerSliderTable').offset();
            $oThumbnailPlaceHolder.css({'left':(imageOffset.left + this.nThumbnailPanelLeft) + 'px','top':(imageOffset.top + this.nThumbnailPanelTop) + 'px'});
        }
    },
    nextIndex:function() {
    	this.nCurrentIndex++;
        this.nCurrentIndex= JbannerSlider.nCurrentIndex % JbannerSlider.nLength;
    },
    setThumbnailOver:function(){
    	var $oThumbnailPlaceHolder=$('#JbannerSliderThumbnailsPlaceholder');
    	if($oThumbnailPlaceHolder.length > 0){
       		var $aoThumbnails=$oThumbnailPlaceHolder.find('td');
       		$aoThumbnails.removeClass();
        	$aoThumbnails.each(function(ndx){ $(this).addClass('JbannerSliderThumbnailOff_' + (ndx+1)); });
        	$aoThumbnails.eq(JbannerSlider.nCurrentIndex).removeClass('JbannerSliderThumbnailOff_' + (JbannerSlider.nCurrentIndex + 1)).addClass('JbannerSliderThumbnailOn_' + (JbannerSlider.nCurrentIndex + 1));
        }
    },
    slide:function() {
    	this.oBannerSliderItems.hide();
    	JbannerSlider.setThumbnailOver();
        this.oBannerSliderItems.eq(JbannerSlider.nCurrentIndex).fadeIn('slow').fadeTo(JbannerSlider.nTransition,1).fadeOut('fast',function() {
        	JbannerSlider.nextIndex();
        	JbannerSlider.nTimeout=setTimeout('JbannerSlider.slide()', JbannerSlider.nPause);
        });
        return this;
    }
    
}
$(window).bind('resize scroll', function() { //adjust thumbnails when window resize
	if($('#JbannerSliderThumbnailsPlaceholder').length > 0) {
		var imageOffset=$('#JbannerSliderTable').offset();    	
		$('#JbannerSliderThumbnailsPlaceholder').css({'left':(imageOffset.left + JbannerSlider.nThumbnailPanelLeft) + 'px','top':(imageOffset.top + JbannerSlider.nThumbnailPanelTop) + 'px'});
    }
});
