$(function() {
   // code to execute when the DOM is ready
	$.extend({
		CBZ_SLDR :{
			intval : "",
			config : "",
			current_position : 1,
			init : function(custom_config){
				
				if(typeof(custom_config)==="undefined"){ // set default values
					$.CBZ_SLDR.config = { 
						time_per_slide:9000, 
						slide_motion_time:500, 
						belt_item_width:900,
						belt_item_height:317,
						path:'/Files/Templates/Designs/Airmaster_se/Images/plugin/'
						};
				}
				else{
					$.CBZ_SLDR.config = custom_config;
				}
			
				// setup remaining css styles
				$.CBZ_SLDR.cssSetup();
				
				$.CBZ_SLDR.config.belt_item_count = $(".belt-item").length;
				$.CBZ_SLDR.config.belt_width = $.CBZ_SLDR.config.belt_item_count * $.CBZ_SLDR.config.belt_item_width;
				$("#belt").css("width", $.CBZ_SLDR.config.belt_width+"px");
				
				//$.CBZ_SLDR.developerMethod(); 
				
				$("#belt").bind("mouseenter", $.CBZ_SLDR.stop);
				$("#belt").bind("mouseleave", $.CBZ_SLDR.start);
				
				$.CBZ_SLDR.setupDirectLinks();
				
				$.CBZ_SLDR.start();
			},
			
			start : function(){
				$.CBZ_SLDR.intval = window.setInterval("$.CBZ_SLDR.next()", $.CBZ_SLDR.config.time_per_slide);
			},
			
			stop : function(){
				window.clearInterval($.CBZ_SLDR.intval);
			},
			
			previous : function(){
				$.CBZ_SLDR.current_position = $.CBZ_SLDR.current_position - 1;
				if($.CBZ_SLDR.current_position >= 1)
				   $("#belt").animate({"left": "+="+$.CBZ_SLDR.config.belt_item_width+"px"}, $.CBZ_SLDR.config.slide_motion_time);
				else{
					$.CBZ_SLDR.current_position = 1;	
				}
				$.CBZ_SLDR.updateCurrentLinkButton();
			},
			
			next : function(){
				$.CBZ_SLDR.current_position = 1 + eval($.CBZ_SLDR.current_position);
				if( $.CBZ_SLDR.current_position > $.CBZ_SLDR.config.belt_item_count ){ $.CBZ_SLDR.resetSlideviewer(); }
				else{ $("#belt").animate({"left": "-="+$.CBZ_SLDR.config.belt_item_width+"px"}, $.CBZ_SLDR.config.slide_motion_time); } 
				$.CBZ_SLDR.updateCurrentLinkButton();
			},
			
			cssSetup : function(){
				$("#slideviewer").css( "width", $.CBZ_SLDR.config.belt_item_width+"px" );
				$("#slideviewer").css( "height", $.CBZ_SLDR.config.belt_item_height+"px" );
			},
			
			setupDirectLinks : function(){
				var l = $.CBZ_SLDR.config.belt_item_count;
				
				$( ".link-bttn" ).remove();
				for( var i=1; i<=l; i++){
					
					var el;
					
					if( i == 1 ) {
						el = $("<div/>").addClass("link-bttn active").append(
							$("<img/>").attr("src", $.CBZ_SLDR.config.path+"link"+ i +"On.png").attr("height","73")
						);
					}else{
						el = $("<div/>").addClass("link-bttn").append(
							$("<img/>").attr("src", $.CBZ_SLDR.config.path+"link"+ i +"Off.png").attr("height","73")
						);
					}
					$( el ).attr( 'id', 'bttn' + i);
					
					el.click( function(){
						$.CBZ_SLDR.slideDirectlyToPosition( $(this).attr('id').substring(4) );	   
					});
					
					$( ".links" ).append( el );
				}
			},
			
			slideDirectlyToPosition : function(goto){
				$.CBZ_SLDR.stop();
				var distance = (goto - $.CBZ_SLDR.current_position);
				
				if( distance < 0 )
				   $("#belt").animate({"left": "+="+ ( $.CBZ_SLDR.config.belt_item_width * Math.abs(distance) ) +"px"}, $.CBZ_SLDR.config.slide_motion_time);
				else if( distance > 0 )
					$("#belt").animate({"left": "-="+ ( $.CBZ_SLDR.config.belt_item_width * Math.abs(distance) ) +"px"}, $.CBZ_SLDR.config.slide_motion_time);
				$.CBZ_SLDR.current_position = goto;
				$.CBZ_SLDR.updateCurrentLinkButton();
			},
			
			updateCurrentLinkButton : function(){
				var prev_active_El = $("[class=link-bttn active]");
				var prev_active_pos = prev_active_El.find("img").attr("src").charAt( $.CBZ_SLDR.config.path.length + 4 ); // link#On.png .. 4 is the index number
				$(prev_active_El).toggleClass("active").find("img").attr("src", $.CBZ_SLDR.config.path+"link"+ prev_active_pos +"Off.png").attr("height","73")
				$('#bttn'+($.CBZ_SLDR.current_position)).toggleClass("active").find("img").attr("src", $.CBZ_SLDR.config.path+"link"+ $.CBZ_SLDR.current_position +"On.png");
			},
			
			resetInterval : function(){
				window.clearInterval($.CBZ_SLDR.intval);
				$.CBZ_SLDR.intval = window.setInterval("$.CBZ_SLDR.next()", $.CBZ_SLDR.config.time_per_slide);
			},
			
			resetSlideviewer : function(){
				$.CBZ_SLDR.current_position = 1;
				$("#belt").animate(
					{"left": "+="+($.CBZ_SLDR.config.belt_width-$.CBZ_SLDR.config.belt_item_width)+"px"}, 
					$.CBZ_SLDR.config.slide_motion_time);	
			}
		}	 
	 });
});
		 





