/*
	Author : Sergei T.
*/

(function($){$.fn.setScroller=function(f){var g={buttonPrev:'',buttonNext:'',width:'100%',height:16,countPrev:319,countNext:319,speed:'normal',mouseMove:false,coord:0,containerClass:'contentContainer',horizontalScroll:'top',horizontalButtonPrev:'',horizontalButtonNext:'',horizontalScrollMarker:''};var h=this;h.options=$.extend({},g,f||{});$.extend(h,{getBorder:function(a){var b=parseInt($(a).css('borderLeftWidth'))+parseInt($(a).css('borderRightWidth'));return(String(b)!='NaN')?(b):(0)},getPM:function(a,b){return(parseInt($(a).css(b+'Left'))+parseInt($(a).css(b+'Right')))},getLT:function(a){return parseInt($(a).css('left'))},getSize:function(a){return a.width()},getScrollCount:function(a){var b=h.getPM(this.content,'margin');var c=1;if(a>=0){c=this.content.Width-this.content.frameWidth+b;var d=(c<Math.abs(a))?(b-c):(b-a)}else{var d=(b<=a)?(b-a):(0)};if((c!=0&&a>0)||(a<0&&(d-b)!=0)){var e=[d,-Math.round(d*this.horizontalScroll.size/this.content.Width)];return[{'marginLeft':e[0]},{'left':e[1]}]}return null},scrollAnimate:function(e,a){e=$.event.fix(e||window.event);e.preventDefault();if(this.horizontalScroll.moving==false){var b=h.getScrollCount(a);if(b!=null){h.horizontalScroll.moving=true;h.content.animate(b[0],h.options.speed,function(){h.horizontalScroll.moving=false});h.horizontalScroll.marker.animate(b[1],h.options.speed)}}},scrollPrev:function(e,a){h.scrollAnimate(e,-a)},scrollNext:function(e,a){h.scrollAnimate(e,a)}});h.each(function(){$(this).contents().wrapAll($("<div></div>").addClass(h.options.containerClass))});h.content=h.find('.'+h.options.containerClass);function createContentContainer(){h.container=$('<div></div>').addClass('frameContainer');h.content.before(h.container);h.container.append(h.content)}function createScrollPane(a,b){if(typeof a=='object'){if(a.get(0)!=undefined){var c=a;c.addClass(b)}}else{if(a!='none'){var c=$('<div class="'+b+'"></div>')}else{return null}}return c}h.horizontalScroll=createScrollPane(h.options.horizontalScroll,'horizontalScroll');var i=h.options.horizontalScroll;if(i=='top')h.content.before(h.horizontalScroll);if(i=='top'||i=='bottom')createContentContainer();h.container.width(957);h.horizontalScroll.width(939);function createScroll(a){a.markerContainer=$('<div></div>').addClass('markerContainer');a.append(a.markerContainer);a.marker=$('<a><span class="scrollMarkerInner"><span></span></span></a>').addClass('scrollMarker');a.markerContainer.append(a.marker)}if(h.horizontalScroll!=null){h.horizontalScroll.buttonPrev=createScrollPane(h.options.horizontalButtonPrev,'buttonPrev');h.horizontalScroll.append(h.horizontalScroll.buttonPrev);createScroll(h.horizontalScroll);h.horizontalScroll.buttonNext=createScrollPane(h.options.horizontalButtonNext,'buttonNext');h.horizontalScroll.append(h.horizontalScroll.buttonNext)}h.content.Width=h.getSize(h.content);h.content.width(h.content.Width);h.content.height(h.content.Height);if(h.container){h.content.frameWidth=h.container.width();h.content.frameHeight=h.container.height()}else{h.content.frameWidth=h.width();h.content.frameHeight=h.height()}if(h.horizontalScroll!=null){h.horizontalScroll.frameSize=h.content.frameWidth;h.horizontalScroll.buttonPrev.size=h.getSize(h.horizontalScroll.buttonPrev);h.horizontalScroll.buttonNext.size=h.getSize(h.horizontalScroll.buttonNext);h.horizontalScroll.size=h.horizontalScroll.frameSize-h.horizontalScroll.buttonPrev.size-h.horizontalScroll.buttonNext.size-h.getPM(h.horizontalScroll.buttonPrev,'margin')-h.getPM(h.horizontalScroll.buttonNext,'margin')-18;h.horizontalScroll.markerContainer.width(h.horizontalScroll.size).height(23);h.horizontalScroll.markerSize=(h.horizontalScroll.size*h.content.frameWidth/h.content.Width);var j=$(h.horizontalScroll.marker).find('>span');h.horizontalScroll.markerPad=h.getPM(j,'margin');$(h.horizontalScroll.marker).width(Math.round(h.horizontalScroll.markerSize)).height(23);j.width(Math.round(h.horizontalScroll.markerSize-h.horizontalScroll.markerPad));h.horizontalScroll.moving=false;if(h.options.horizontalScroll.buttonPrev!='none'){h.horizontalScroll.buttonPrev.bind('click',function(e){h.scrollPrev(e,h.options.countPrev)})}if(h.options.horizontalScroll.buttonNext!='none'){h.horizontalScroll.buttonNext.bind('click',function(e){h.scrollNext(e,h.options.countNext)})}}if(h.horizontalScroll)h.horizontalScroll.markerContainer.bind('mousedown',function(e){e=$.event.fix(e||window.event);e.preventDefault();e.stopPropagation();if(h.horizontalScroll.moving==false){h.horizontalScroll.coord=e.pageX-$(h.horizontalScroll.marker).offset().left;if(h.horizontalScroll.coord>0&&h.horizontalScroll.coord<h.horizontalScroll.markerSize){window.stScroll=h.horizontalScroll;window.stScroll.mouseMove=true;window.stScroll.content=h.content}else{if(h.horizontalScroll.coord<=0){h.scrollPrev(e,-Math.round(h.horizontalScroll.coord*h.horizontalScroll.frameSize/h.horizontalScroll.markerSize))}else{h.scrollNext(e,Math.round((Math.round(h.horizontalScroll.coord)-h.horizontalScroll.markerSize)*h.horizontalScroll.frameSize/h.horizontalScroll.markerSize))}}}});$(document).bind("mouseup",function(){if(window.stScroll){var a=window.stScroll;a.mouseMove=false}});$(document).bind("mousemove",function(e){e=$.event.fix(e||window.event);if(window.stScroll){var a=window.stScroll;if(a.mouseMove==true){var b=e.pageX-$(a.marker).offset().left-a.coord+parseInt($(a.marker).css('left'),10);var c=a.size-a.marker.width();if(b<0)b=0;if(b>c)b=c;var d={left:b};a.marker.css(d);d={'margin-left':-Math.round((b*a.frameSize/a.markerSize))};a.content.css(d)}}})}})(jQuery);