File "jscroller.js"

Full path: /home/argothem/www/organecyberpresse/plugins/auto/player/v4.3.0/javascript/jscroller.js
File size: 2.81 KB
MIME-type: text/plain
Charset: utf-8

/*
 * jScroller 0.2 - Scroller Script
 *
 * Copyright (c) 2007 Markus Bordihn (markusbordihn.de)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2007-08-05 18:00:00 +0100 (Sun, 05 Aug 2007) $
 * $Rev: 0.2 $
 */
 
jQuery(document).ready(function(){
   this.defaults = {
     scroller: {
       interval:     0,
       refresh:      300,  // Refresh Time in ms
       direction:    "left", // down,right,left,up
       speed:        2,
       id:           "#scroller",
       cont_id:      "#scroller_container",
       height:       30,
       width:        160,
       min_height:   15,
       min_width:    80
     }
   }
   
   var config = jQuery.extend(this.defaults);
   var scroller = jQuery(config.scroller.id);
   var scroller_cont = jQuery(config.scroller.cont_id);
   
   detectSizes();
   scroller_init(); 

   function startScroll() {
     if(!config.scroller.interval){
       config.scroller.interval=setInterval(doScroll,config.scroller.refresh);
     }
   }
   
   function stopScroll() {
     window.clearInterval(config.scroller.interval);
     config.scroller.interval=0;
   }
 
   function detectSizes() {
     config.scroller.width=((scroller.width())||config.scroller.width);
     config.scroller.height=((scroller.height())||config.scroller.height);
     config.scroller.min_height=((scroller_cont.height())||config.scroller.min_height);
     config.scroller.min_width=((scroller_cont.width())||config.scroller.min_width);
   }
 

   
   function scroller_init() {
     jQuery("#scroller a").click(function(){
      window.open(this.href);
      return false;
     });
     scroller_cont.css('overflow','hidden');
     if(!config.scroller.interval) {
      window.onfocus=startScroll;
      /* window.onblur=stopScroll; */
        startScroll();  
       if (jQuery.browser.msie && !config.scroller.interval) {window.focus}
     }
   }
   

   
   function doScroll() {
     var 
      p_top= Number((/[0-9-,.]+/.exec(scroller.css('top'))||0)),
      p_left=Number((/[0-9-,.]+/.exec(scroller.css('left'))||0));
 
     switch(config.scroller.direction) {
       case 'up':
         if (p_top <= -1*config.scroller.height) {p_top=config.scroller.min_height;}
         scroller.css('top',p_top-config.scroller.speed+'px');
       break;
       case 'right':
         if (p_left >= config.scroller.min_width) {p_left=-1*config.scroller.width;}
         scroller.css('left',p_left+config.scroller.speed+'px');
       break;
       case 'left':
         if (p_left <= -1*config.scroller.width) {p_left=config.scroller.min_width;}
         scroller.css('left',p_left-config.scroller.speed+'px');
       break;
       case 'down':
         if (p_top >= config.scroller.min_height) {p_top=-1*config.scroller.height;}
         scroller.css('top',p_top+config.scroller.speed+'px');
       break;
     }
   }
});