/*
 * jScroller 0.3 - Scroller Script
 *
 * Copyright (c) 2007 Markus Bordihn (http://markusbordihn.de)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2007-11-15 13:00:00 +0100 (Thu, 15 Nov 2007) $
 * $Rev: 0.3 $
 */

/*
 * Updated By HosipLan
 */

var jscroller = function(){
   this.defaults = {
     scroller: {
       interval:  0,    // Dont touch !
       refresh:   100,  // Refresh Time in ms
       direction: "left", // down,right,left,up
       speed:     5,    // Set the Scroller Speed
       id1:       "#pslider1",
       id2:       "#pslider2",
       cont_id:   "#pslider"
     }
   }

   var jscroller_config = $.extend(this.defaults),
       jscroller_scroller = $(jscroller_config.scroller.id1),
       jscroller_scroller_cont = $(jscroller_config.scroller.cont_id);

   if (jscroller_scroller && jscroller_scroller_cont) {
//       var a="";
//       for( i in jscroller_scroller_cont ) {
//         a = a+i+" "+jscroller_scroller_cont[i]+"\n";
//       } alert(a);

      var content_copy = jscroller_scroller_cont.html()
        , content      = jscroller_scroller_cont.html();

      content_copy = content_copy.replace(/id="pslider1"/, "id=\"pslider2\"");
      jscroller_scroller_cont[0].innerHTML = content+content_copy;

      var jscroller_scroller = $(jscroller_config.scroller.id1)
        , jscroller_scroller_copy = $(jscroller_config.scroller.id2)
        , jscroller_scroller_cont = $(jscroller_config.scroller.cont_id);

	jscroller_scroller.css({ 
		position: 'absolute',
		left: 0,
		top: 0
	}); //alert(jscroller_scroller.find('table:first tr').width());

	jscroller_scroller_copy.css({ 
		position: 'absolute',
		left: jscroller_scroller.find('table:first tr').width(),
		top: 0
	});

	jscroller_init();
   }

   function jscroller_startScroll() {
     if(!jscroller_config.scroller.interval) {
      jscroller_config.scroller.interval=window.setInterval(jscroller_doScroll,jscroller_config.scroller.refresh);
     }
   }

   function jscroller_stopScroll() {
     if (jscroller_config.scroller.interval) {
      window.clearInterval(jscroller_config.scroller.interval);
      jscroller_config.scroller.interval=0;
     }
   }

   function jscroller_init() {
    $("#scroller a").click(function(){
      window.open(this.href);
      return false;
    });
    jscroller_scroller_cont.css('overflow','hidden');
    if(!jscroller_config.scroller.interval) {
      if (window.attachEvent) {
       window.attachEvent("onfocus", jscroller_startScroll);
       window.attachEvent("onblur",  jscroller_stopScroll);
       window.attachEvent("onresize", jscroller_startScroll);
       window.attachEvent("onscroll", jscroller_startScroll);
      }
      else if (window.addEventListener) {
       window.addEventListener("focus", jscroller_startScroll, false);
       window.addEventListener("blur",  jscroller_stopScroll, false);
       window.addEventListener("resize", jscroller_startScroll, false);
       window.addEventListener("scroll", jscroller_startScroll, false);
      }
      jscroller_startScroll();
      if ($.browser.msie) {window.focus()}
     }
   }

   function jscroller_getElem(Elem) {
    return (typeof Elem == "string" && document.getElementById)? document.getElementById(Elem) : Elem;
   }

   function jscroller_doScroll() {
    if (scroller_dom = jscroller_getElem(jscroller_scroller.attr("id")) ) {
     var
      scroller_dom2 = jscroller_getElem(jscroller_scroller_copy.attr("id"));
     var
      p_top= Number((/[0-9-,.]+/.exec(jscroller_scroller.css('top'))||0)),
      p_left=Number((/[0-9-,.]+/.exec(jscroller_scroller.css('left'))||0)),

      p_top2= Number((/[0-9-,.]+/.exec(jscroller_scroller_copy.css('top'))||0)),
      p_left2=Number((/[0-9-,.]+/.exec(jscroller_scroller_copy.css('left'))||0)),

      min_height=jscroller_scroller_cont.height(),
      min_width=jscroller_scroller_cont.width(),
      speed=jscroller_config.scroller.speed,
      direction=jscroller_config.scroller.direction,

      p_height=scroller_dom.offsetHeight,
      p_width=scroller_dom.offsetWidth,
      jscroller=jscroller_scroller;

      p_height2=scroller_dom2.offsetHeight,
      p_width2=scroller_dom2.offsetWidth,
      jscroller2=jscroller_scroller_copy;

     switch(direction) {
       case 'up':
        if (p_top <= -1*p_height) {p_top=min_height;}
        jscroller.css('top',p_top-speed+'px');
       break;
       case 'right':
        if (p_left >= min_width) {p_left=-1*p_width;}
        jscroller.css('left',p_left+speed+'px');
       break;


       case 'left':
        if (p_left <= -1*p_width)
        {
          p_left=p_left2;
          p_left2=jscroller.width()+p_left; //alert('1: ' + p_left + ' 2: '+ p_left2);
        }
        jscroller.css('left',p_left-speed+'px');
        jscroller2.css('left',p_left2-speed+'px');
       break;


       case 'down':
        if (p_top >= min_height) {p_top=-1*p_height;}
        jscroller.css('top',p_top+speed+'px');
       break;
     }
    }
   }
}



if( $.browser.safari ){
	$(window).load(jscroller);

} else {
	$(document).ready(jscroller);
}
