/**************************************************************************
Slider wm-12306 - bcd
**************************************************************************/

jQuery(document).ready(function(){

 scheduleSlider = jQuery("#scheduleContainer #scheduleBody");
 
 setupScrollEvents(scheduleSlider,'.scroll-up','.scroll-down','.slide',5,20);

});

/*
 IN:
 jParent - jQuery object containing the scrolling area
 jUp - jQuery object that you click for slide up
 jDown - jQuery object that you click for slide down
 jScroller - jQuery object that actually slides up/down
 increment - number of pixels to move by
 time - how often to move
*/
function setupScrollEvents(jParent,jUp,jDown,slider,increment,time) {
 var jScroller = jQuery(slider,jParent);
 jQuery(jUp,jParent).mousedown(function() {
  jScroller.addClass("sliding-up");
  slideUpDown(jScroller,increment,time,'up');
 }).mouseup(function() {
  jScroller.removeClass("sliding-up");
 }).dblclick(function() {
  jScroller.css("top","0px");
 });
 jQuery(jDown,jParent).mousedown(function() {
  jScroller.addClass("sliding-down");
  slideUpDown(jScroller,increment,time,'down')
 }).mouseup(function() {
  jScroller.removeClass("sliding-down");
 }).dblclick(function() {
  scrollerParentHeight = jScroller.parent().height();
  scrollerHeight = jScroller.height();
  maxScroll = scrollerHeight - scrollerParentHeight;
  jScroller.css("top","-"+maxScroll+"px");
 });
}

function slideUpDown(jScroller,increment,time,direction) {
 local_jScroller = jScroller;local_increment = increment;local_time = time;local_direction = direction;
 scrollerTop = parseInt(jScroller.css("top").substr(0,jScroller.css("top").length-2));
 scrollerParentHeight = jScroller.parent().height();
 scrollerHeight = jScroller.height();
 maxScroll = scrollerHeight - scrollerParentHeight;
 if( (direction=='up') && (jScroller.hasClass("sliding-up")) ) {
  if(Math.abs(scrollerTop)>increment) {
   jScroller.css("top",(scrollerTop + increment)+"px");
   setTimeout('slideUpDown(local_jScroller,local_increment,local_time,local_direction)',local_time);
  }
  else { jScroller.css("top","0px"); } 
 }
 else if( (direction=='down') && (jScroller.hasClass("sliding-down")) ) {
  if((maxScroll-increment) > Math.abs(scrollerTop)) {
   jScroller.css("top",(scrollerTop - increment)+"px");
   setTimeout('slideUpDown(local_jScroller,local_increment,local_time,local_direction)',local_time);
  }
  else { jScroller.css("top","-"+maxScroll+"px"); }
 }
}