/*
 * jScroller2 1.5 - Scroller Script
 *
 * Copyright (c) 2008 Markus Bordihn (markusbordihn.de)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-06-12 18:00:00 +0100 (Sat, 12 July 2008) $
 * $Rev: 1.5 $
 */
 
ByRei_jScroller2={info:{Name:"ByRei jScroller2",Version:1.5,Author:"Markus Bordihn (http://markusbordihn.de)",Description:"Next Generation Autoscroller"},obj:[],cache:{active:false,refreshtime:100,prefix:'jscroller2_',delayer:0,ileave:0},init:function(){var a=document.getElementsByTagName('div'),i;for(i=0;i<a.length;i++){var b=a[i].className.split(' '),direction=null;if(ByRei_jScroller2.check_array(b,ByRei_jScroller2.cache.prefix+'down')){direction='down'}else if(ByRei_jScroller2.check_array(b,ByRei_jScroller2.cache.prefix+'up')){direction='up'}else if(ByRei_jScroller2.check_array(b,ByRei_jScroller2.cache.prefix+'left')){direction='left'}else if(ByRei_jScroller2.check_array(b,ByRei_jScroller2.cache.prefix+'right')){direction='right'}if(direction){ByRei_jScroller2.add(a[i],direction)}}if(!ByRei_jScroller2.active){if(ByRei_jScroller2.obj.length>0){ByRei_jScroller2.start();if(ByRei_jScroller2.cache.delayer){for(i=0;i<ByRei_jScroller2.obj.length;i++){if(ByRei_jScroller2.obj[i][11]>0){window.setTimeout("ByRei_jScroller2.delayer("+ByRei_jScroller2.obj[i][11]+",0)",ByRei_jScroller2.obj[i][11])}}}if(ByRei_jScroller2.cache.ileave===0){ByRei_jScroller2.set_eventListener(window,'blur',ByRei_jScroller2.stop);ByRei_jScroller2.set_eventListener(window,'focus',ByRei_jScroller2.start);ByRei_jScroller2.set_eventListener(window,'resize',ByRei_jScroller2.start);ByRei_jScroller2.set_eventListener(window,'scroll',ByRei_jScroller2.start)}}}},add:function(a,b){var i,error=false;if(a&&b){if(ByRei_jScroller2.obj.length>0){for(i=0;i<ByRei_jScroller2.obj.length;i++){if(ByRei_jScroller2.obj[i][2]===a){ByRei_jScroller2.obj[i][8]=b;error=true}}}}else{error=true}if(!error){var c=0,speed=1,pause=0,alternate=0,dynamic=0,child_div=a,child_div_classNames=child_div.className.split(' '),parent_div=a.parentNode,child_endless=null,child_endless_Width=null,child_endless_Height=null,func_start=function(e){ByRei_jScroller2.start_stop(e,0)},func_stop=function(e){ByRei_jScroller2.start_stop(e,1)};if(parent_div.className.indexOf('jscroller2')>=0){parent_div=parent_div.parentNode}if(parent_div){parent_div.style.position='relative';parent_div.style.overflow='hidden';var d=parent_div.getElementsByTagName('div');for(i=0;i<d.length;i++){var f=d[i].className.split(' ');if(ByRei_jScroller2.check_array(f,ByRei_jScroller2.cache.prefix+b+'_endless')){child_endless=d[i]}}if(child_div){child_div.style.position='relative';child_div.style.top=child_div.style.left=0;switch(b){case"down":child_div.style.top=(child_div.clientHeight*-1)+parent_div.clientHeight+'px';break;case"right":child_div.style.left=(child_div.clientWidth*-1)+parent_div.clientWidth+'px';break}switch(b){case"down":case"up":child_div.style.width=parent_div.clientWidth+'px';break;case"right":case"left":child_div.style.height=parent_div.clientHeight+'px';break}if(child_endless){child_endless.style.position='relative';child_endless_Width=child_endless.clientWidth;child_endless_Height=child_endless.clientHeight;switch(b){case"down":child_endless.style.top=child_endless_Height*-1+'px';break;case"up":child_endless.style.top=child_div.clientHeight+'px';break;case"left":child_endless.style.left=child_div.clientWidth+'px';break;case"right":child_endless.style.left=child_div.clientWidth*-1+'px';break}switch(b){case"down":case"up":child_endless.style.left=0;child_endless.style.width=parent_div.clientWidth+'px';break;case"left":case"right":child_endless.style.top=0;child_endless.style.height=parent_div.clientHeight+'px';break}}}if(ByRei_jScroller2.check_array(child_div_classNames,ByRei_jScroller2.cache.prefix+'speed-',1)){speed=parseFloat(ByRei_jScroller2.check_array(child_div_classNames,ByRei_jScroller2.cache.prefix+'speed-',1)||10)/10;if(window.attachEvent&&speed<1){speed=1}}if(ByRei_jScroller2.check_array(child_div_classNames,ByRei_jScroller2.cache.prefix+'ignoreleave')){ByRei_jScroller2.cache.ileave=1}if(ByRei_jScroller2.check_array(child_div_classNames,ByRei_jScroller2.cache.prefix+'alternate')){alternate=1}if(ByRei_jScroller2.check_array(child_div_classNames,ByRei_jScroller2.cache.prefix+'dynamic')){dynamic=1}if(ByRei_jScroller2.check_array(child_div_classNames,ByRei_jScroller2.cache.prefix+'delay-',1)){pause=1;ByRei_jScroller2.cache.delayer=1;c=ByRei_jScroller2.check_array(child_div_classNames,ByRei_jScroller2.cache.prefix+'delay-',1)*1000}if(ByRei_jScroller2.check_array(child_div_classNames,ByRei_jScroller2.cache.prefix+'mousemove')){ByRei_jScroller2.set_eventListener(child_div,'mouseover',func_stop);ByRei_jScroller2.set_eventListener(child_div,'mouseout',func_start);if(child_endless){ByRei_jScroller2.set_eventListener(child_endless,'mouseover',func_stop);ByRei_jScroller2.set_eventListener(child_endless,'mouseout',func_start)}}ByRei_jScroller2.obj.push([parent_div.clientHeight,parent_div.clientWidth,child_div,child_div.clientHeight,child_div.clientWidth,child_endless,child_endless_Height,child_endless_Width,b,speed,pause,c,alternate,dynamic])}}},remove:function(a){if(a){for(var i=0;i<ByRei_jScroller2.obj.length;i++){if(ByRei_jScroller2.obj[i][2]===a){ByRei_jScroller2.obj.splice(i,1)}}if(ByRei_jScroller2.obj.length<=0){ByRei_jScroller2.stop()}}},scroller:function(){for(var i=0;i<ByRei_jScroller2.obj.length;i++){var a=ByRei_jScroller2.obj[i][0],parent_div_width=ByRei_jScroller2.obj[i][1],child_div=ByRei_jScroller2.obj[i][2],child_div_height=ByRei_jScroller2.obj[i][3],child_div_width=ByRei_jScroller2.obj[i][4],endless_div=ByRei_jScroller2.obj[i][5],endless_div_height=ByRei_jScroller2.obj[i][6],endless_div_width=ByRei_jScroller2.obj[i][7],direction=ByRei_jScroller2.obj[i][8],speed=ByRei_jScroller2.obj[i][9],pause=ByRei_jScroller2.obj[i][10],delay=ByRei_jScroller2.obj[i][11],alternate=ByRei_jScroller2.obj[i][12],dynamic=ByRei_jScroller2.obj[i][13];if(!pause&&!delay){if(dynamic){child_div_height=ByRei_jScroller2.obj[i][3]=child_div.clientHeight;child_div_width=ByRei_jScroller2.obj[i][4]=child_div.clientWidth;if(endless_div){endless_div_height=ByRei_jScroller2.obj[i][6]=endless_div.clientHeight;endless_div_width=ByRei_jScroller2.obj[i][7]=endless_div.clientWidth}}switch(direction){case'down':case'up':var b=parseFloat(child_div.style.top.split('px')[0]);b=(alternate===2)?((direction==='down')?b-speed:b+speed):((direction==='down')?b+speed:b-speed);if(endless_div&&!alternate){b=ByRei_jScroller2.check_endless(direction,'top',b,endless_div,child_div_height,a,endless_div_height,speed,alternate)}else{if(alternate){if(alternate===((direction==='down')?1:2)&&((child_div_height>a&&b+speed>0)||(child_div_height<a&&b+child_div_height+speed>a))){ByRei_jScroller2.obj[i][12]=((direction==='down')?2:1)}if(alternate===((direction==='down')?2:1)&&((child_div_height>a&&b+child_div_height<a+speed)||(child_div_height<a&&b<0))){ByRei_jScroller2.obj[i][12]=((direction==='down')?1:2)}}else{if(direction==='down'){if(b>parent_div_width){b=(child_div_height)*-1}}else{if(b<child_div_height*-1){b=a}}}}child_div.style.top=b+'px';break;case'left':case'right':var c=parseFloat(child_div.style.left.split('px')[0]);c=(alternate===2)?((direction==='left')?c+speed:c-speed):(direction==='left')?c-speed:c+speed;if(endless_div&&!alternate){c=ByRei_jScroller2.check_endless(direction,'left',c,endless_div,child_div_width,parent_div_width,endless_div_width,speed,alternate)}else{if(alternate){if(alternate===((direction==='left')?2:1)&&((child_div_width>parent_div_width&&c+speed>0)||(child_div_width<parent_div_width&&c+child_div_width+speed>parent_div_width))){ByRei_jScroller2.obj[i][12]=((direction==='left')?1:2)}if(alternate===((direction==='left')?1:2)&&((child_div_width>parent_div_width&&c+child_div_width<parent_div_width+speed)||(child_div_width<parent_div_width&&c-speed<0))){ByRei_jScroller2.obj[i][12]=((direction==='left')?2:1)}}else{if(direction==='left'){if(c<child_div_width*-1){c=parent_div_width}}else{if(c>parent_div_width){c=(child_div_width)*-1}}}}child_div.style.left=c+'px';break}}}},check_endless:function(a,b,c,d,e,f,g,h,i){var j;switch(a){case'down':case'right':j=parseFloat(d.style[b].split('px')[0])+h;if(c>0&&c<=f){d.style[b]=c-g+'px'}if(j+g>=f&&j<=f+h){d.style[b]=j+'px';c=j+e*-1}return c;case'up':case'left':j=parseFloat(d.style[b].split('px')[0])-h;if(c+e<=f){d.style[b]=c+e+'px'}if(j+g<=f&&j+g+h>=0){d.style[b]=j+'px';c=j+g}return c}},start:function(e){if(!ByRei_jScroller2.timer){ByRei_jScroller2.active=ByRei_jScroller2.timer=window.setInterval(ByRei_jScroller2.scroller,ByRei_jScroller2.cache.refreshtime)}},stop:function(e){if(ByRei_jScroller2.timer){window.clearInterval(ByRei_jScroller2.timer);ByRei_jScroller2.active=ByRei_jScroller2.timer=false}},start_stop:function(e,a){if(e.target||e.srcElement){var b=e.target?e.target:e.srcElement;for(var i=0;i<5;i++){if(b.className.indexOf(ByRei_jScroller2.cache.prefix+'mousemove')<0&&b.className.indexOf('_endless')<0){b=b.parentNode}else{break}}ByRei_jScroller2.pause(b,a)}},delayer:function(a){if(a>0){for(var i=0;i<ByRei_jScroller2.obj.length;i++){if(a===ByRei_jScroller2.obj[i][11]){ByRei_jScroller2.obj[i][10]=ByRei_jScroller2.obj[i][11]=0}}}},pause:function(a,b){if(a&&b>=0){for(var i=0;i<ByRei_jScroller2.obj.length;i++){if(a===ByRei_jScroller2.obj[i][2]||a===ByRei_jScroller2.obj[i][5]){ByRei_jScroller2.obj[i][10]=b}}}},check_array:function(a,b,c){var d='';if(a&&b){for(var i=0;i<a.length;i++){if(c&&a[i].indexOf(b)>=0){d=a[i].split(b)[1];break}else if(a[i]===b){d=a[i];break}}}return d},set_eventListener:function(a,b,c){if(a&&b&&c){if(window.attachEvent){a.attachEvent("on"+b,c)}else{a.addEventListener(b,c,false)}}}};ByRei_jScroller2.set_eventListener(window,'load',ByRei_jScroller2.init);