/**
 * Voices of Speed only javascript
 * 
 */

  jQuery(document).ready(function() {

	  var config = {    
			     sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)    
			     interval: 200, // number = milliseconds for onMouseOver polling interval    
			     over: mousein, // function = onMouseOver callback (REQUIRED)    
			     timeout: 500, // number = milliseconds delay before onMouseOut    
			     out: mouseout // function = onMouseOut callback (REQUIRED)    
			};
		
			function mousein() {
				jQuery(this).click();
			}
			function mouseout() {
				// do nothing
			}
		

			/* disable the images for left and right as we need to 
			* so the user can't scroll beyond the content
			*/
			function toggle_left_right_buttons(position,num_items) {
				
					if (position == 1) {
						jQuery("#left").removeClass('left_arrow').addClass('left_arrow_disabled');
					} else {
						jQuery("#left").removeClass('left_arrow_disabled').addClass('left_arrow');
					}
					
					if (position == num_items) {
					
						jQuery("#right").removeClass('right_arrow').addClass('right_arrow_disabled');
					} else {
						
						jQuery("#right").removeClass('right_arrow_disabled').addClass('right_arrow');
					}
				}	

			
	/* redirect the drop down to the myspeed pages */
      jQuery("#authors").change(function() {
    	  window.location = "http://my.speedtv.com/"+jQuery(this).val();
      });

      if (jQuery("#carousel_ul li").length < 3) {
		 /* we have less than 3 items no rotating allowed */
		jQuery('#carousel_ul').css({'left' : '0px'});
		jQuery("#left_scroll").hide();
		jQuery("#right_scroll").hide();
		
		}  else {
      
        //options( 1 - ON , 0 - OFF)
        var auto_slide = 0;
        var hover_pause = 1;
        var key_slide = 1;
        
      //speed of auto slide(
        var auto_slide_seconds = 10000;
        /* IMPORTANT: i know the variable is called ...seconds but it's 
        in milliseconds ( multiplied with 1000) '*/
        
        /*move he last list item before the first item. The purpose of this is 
        if the user clicks to slide left he will be able to see the last item.*/
        jQuery('#carousel_ul li:first').before(jQuery('#carousel_ul li:last')); 
        
        //check if auto sliding is enabled
        //if(auto_slide == 1){
            /*set the interval (loop) to call function slide with option 'right' 
            and set the interval time to the variable we declared previously */
            //var timer = setInterval('slide("right")', auto_slide_seconds); 
            
            /*and change the value of our hidden field that hold info about
            the interval, setting it to the number of milliseconds we declared previously*/
            //jQuery('#hidden_auto_slide_seconds').val(auto_slide_seconds);
       // }
  
        //check if hover pause is enabled
        if(hover_pause == 1){
            //when hovered over the list 
        	jQuery('#carousel_ul').hover(function(){
                //stop the interval
                clearInterval(timer)
            });
            //,function(){
                //and when mouseout start it again
               // timer = setInterval('slide("right")', auto_slide_seconds); 
            //});
  
        }
  
        //check if key sliding is enabled
        if(key_slide == 1){
            
            //binding keypress function
        	jQuery(document).bind('keypress', function(e) {
                //keyCode for left arrow is 37 and for right it's 39 '
                if(e.keyCode==37){
                        //initialize the slide to left function
                        slide('left');
                }else if(e.keyCode==39){
                        //initialize the slide to right function
                        slide('right');
                }
            });

        }
		}
              
    	        
  });

//FUNCTIONS BELLOW

//slide function  
function slide(where){
	
	//get the item width
    var item_width = jQuery('#carousel_ul li').outerWidth(); // + 10;
    /* using a if statement and the where variable check 
    we will check where the user wants to slide (left or right)*/
    if(where == 'left'){
        //...calculating the new left indent of the unordered list (ul) for left sliding
        var left_indent = parseInt(jQuery('#carousel_ul').css('left')) + item_width;
    }else{
        //...calculating the new left indent of the unordered list (ul) for right sliding
        var left_indent = parseInt(jQuery('#carousel_ul').css('left')) - item_width;
    
    }

    //If there are only three items then there are no li's on the right side of the VOS carousel
    //This causes a blank space to appear momentarily when the animation is being run
    //To avoid this, we'll dupe the first li and place it on the right side of the last li
    //Then, after the animation has run, we'll remove the last li
    if(where == 'right' && jQuery("#carousel_ul li").length == 3){
    	jQuery('#carousel_ul li:first').clone().appendTo('#carousel_ul');
    	var threeItemsOnly = true;
    }
    
    //make the sliding effect using jQuery's animate function... '
    jQuery('#carousel_ul:not(:animated)').animate({'left' : left_indent},500,function(){    
        
        /* when the animation finishes use the if statement again, and make an ilussion
        of infinity by changing place of last or first item*/
        if(where == 'left'){
            //...and if it slided to left we put the last item before the first item
            jQuery('#carousel_ul li:first').before(jQuery('#carousel_ul li:last'));
        }
        else{
            //...and if it slided to right we put the first item after the last item
        	jQuery('#carousel_ul li:last').after(jQuery('#carousel_ul li:first')); 
        }
        
        //...and then just get back the default left indent
        jQuery('#carousel_ul').css({'left' : '-300px'});
        
        //If there are only three items, we've added a dupe (see above) and need to remove it.
        if(threeItemsOnly === true) {
        	jQuery('#carousel_ul li:last').remove();
        }
    });
            
            
            
             
           
}
  

