/*! Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 *
 * Version: 3.0.2
 * 
 * Requires: 1.2.2+
 */
(function($){var types=["DOMMouseScroll","mousewheel"];$.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var i=types.length;i;){this.addEventListener(types[--i],handler,false);}}else{this.onmousewheel=handler;}},teardown:function(){if(this.removeEventListener){for(var i=types.length;i;){this.removeEventListener(types[--i],handler,false);}}else{this.onmousewheel=null;}}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel");},unmousewheel:function(fn){return this.unbind("mousewheel",fn);}});function handler(event){var args=[].slice.call(arguments,1),delta=0,returnValue=true;event=$.event.fix(event||window.event);event.type="mousewheel";if(event.wheelDelta){delta=event.wheelDelta/120;}if(event.detail){delta=-event.detail/3;}args.unshift(event,delta);return $.event.handle.apply(this,args);}})(jQuery);(function($){$.fn.lofJSidernews=function(settings){return this.each(function(){new $.lofSidernews(this,settings);});};$.lofSidernews=function(obj,settings){this.settings={direction:"",mainItemSelector:"li",navInnerSelector:"ul",navSelector:"li",navigatorEvent:"click",wapperSelector:".lof-main-wapper",interval:4000,auto:true,maxItemDisplay:3,startItem:0,navPosition:"vertical",navigatorHeight:100,navigatorWidth:310,duration:600,navItemsSelector:".lof-navigator li",navOuterSelector:".lof-navigator-outer",isPreloaded:true,easing:"easeInOutQuad"};$.extend(this.settings,settings||{});this.nextNo=null;this.previousNo=null;this.maxWidth=this.settings.mainWidth||600;this.wrapper=$(obj).find(this.settings.wapperSelector);this.slides=this.wrapper.find(this.settings.mainItemSelector);if(!this.wrapper.length||!this.slides.length){return;}if(this.settings.maxItemDisplay>this.slides.length){this.settings.maxItemDisplay=this.slides.length;}this.currentNo=isNaN(this.settings.startItem)||this.settings.startItem>this.slides.length?0:this.settings.startItem;this.navigatorOuter=$(obj).find(this.settings.navOuterSelector);this.navigatorItems=$(obj).find(this.settings.navItemsSelector);this.navigatorInner=this.navigatorOuter.find(this.settings.navInnerSelector);if(this.settings.navPosition=="horizontal"){this.navigatorInner.width(this.slides.length*this.settings.navigatorWidth);this.navigatorOuter.width(this.settings.maxItemDisplay*this.settings.navigatorWidth);this.navigatorOuter.height(this.settings.navigatorHeight);}else{this.navigatorInner.height(this.slides.length*this.settings.navigatorHeight);this.navigatorOuter.height(this.settings.maxItemDisplay*this.settings.navigatorHeight);this.navigatorOuter.width(this.settings.navigatorWidth);}this.navigratorStep=this.__getPositionMode(this.settings.navPosition);this.directionMode=this.__getDirectionMode();if(this.settings.direction=="opacity"){this.wrapper.addClass("lof-opacity");$(this.slides).css("opacity",0).eq(this.currentNo).css("opacity",1);}else{this.wrapper.css({left:"-"+this.currentNo*this.maxSize+"px",width:(this.maxWidth)*this.slides.length});}if(this.settings.isPreloaded){this.preLoadImage(this.onComplete);}else{this.onComplete();}};$.lofSidernews.fn=$.lofSidernews.prototype;$.lofSidernews.fn.extend=$.lofSidernews.extend=$.extend;$.lofSidernews.fn.extend({startUp:function(obj,wrapper){seft=this;this.navigatorItems.each(function(index,item){$(item).click(function(){seft.jumping(index,true);seft.setNavActive(index,item);});$(item).css({height:seft.settings.navigatorHeight,width:seft.settings.navigatorWidth});});this.registerWheelHandler(this.navigatorOuter,this);this.setNavActive(this.currentNo);if(this.settings.buttons&&typeof(this.settings.buttons)=="object"){this.registerButtonsControl("click",this.settings.buttons,this);}if(this.settings.auto){this.play(this.settings.interval,"next",true);}return this;},onComplete:function(){setTimeout(function(){$(".preload").fadeOut(900);},400);this.startUp();},preLoadImage:function(callback){var self=this;var images=this.wrapper.find("img");var count=0;images.each(function(index,image){if(!image.complete){image.onload=function(){count++;if(count>=images.length){self.onComplete();}};image.onerror=function(){count++;if(count>=images.length){self.onComplete();}};}else{count++;if(count>=images.length){self.onComplete();}}});},navivationAnimate:function(currentIndex){if(currentIndex<=this.settings.startItem||currentIndex-this.settings.startItem>=this.settings.maxItemDisplay-1){this.settings.startItem=currentIndex-this.settings.maxItemDisplay+2;if(this.settings.startItem<0){this.settings.startItem=0;}if(this.settings.startItem>this.slides.length-this.settings.maxItemDisplay){this.settings.startItem=this.slides.length-this.settings.maxItemDisplay;}}this.navigatorInner.stop().animate(eval("({"+this.navigratorStep[0]+":-"+this.settings.startItem*this.navigratorStep[1]+"})"),{duration:500,easing:"easeInOutQuad"});},setNavActive:function(index,item){if((this.navigatorItems)){this.navigatorItems.removeClass("active");$(this.navigatorItems.get(index)).addClass("active");this.navivationAnimate(this.currentNo);}},__getPositionMode:function(position){if(position=="horizontal"){return["left",this.settings.navigatorWidth];}return["top",this.settings.navigatorHeight];},__getDirectionMode:function(){switch(this.settings.direction){case"opacity":this.maxSize=0;return["opacity","opacity"];default:this.maxSize=this.maxWidth;return["left","width"];}},registerWheelHandler:function(element,obj){element.bind("mousewheel",function(event,delta){var dir=delta>0?"Up":"Down",vel=Math.abs(delta);if(delta>0){obj.previous(true);}else{obj.next(true);}return false;});},registerButtonsControl:function(eventHandler,objects,self){for(var action in objects){switch(action.toString()){case"next":objects[action].click(function(){self.next(true);});break;case"previous":objects[action].click(function(){self.previous(true);});break;}}return this;},onProcessing:function(manual,start,end){this.previousNo=this.currentNo+(this.currentNo>0?-1:this.slides.length-1);this.nextNo=this.currentNo+(this.currentNo<this.slides.length-1?1:1-this.slides.length);return this;},finishFx:function(manual){if(manual){this.stop();}if(manual&&this.settings.auto){this.play(this.settings.interval,"next",true);}this.setNavActive(this.currentNo);},getObjectDirection:function(start,end){return eval("({'"+this.directionMode[0]+"':-"+(this.currentNo*start)+"})");},fxStart:function(index,obj,currentObj){if(this.settings.direction=="opacity"){$(this.slides).stop().animate({opacity:0},{duration:this.settings.duration,easing:this.settings.easing});$(this.slides).eq(index).stop().animate({opacity:1},{duration:this.settings.duration,easing:this.settings.easing});}else{this.wrapper.stop().animate(obj,{duration:this.settings.duration,easing:this.settings.easing});}return this;},jumping:function(no,manual){this.stop();if(this.currentNo==no){return;}var obj=eval("({'"+this.directionMode[0]+"':-"+(this.maxSize*no)+"})");this.onProcessing(null,manual,0,this.maxSize).fxStart(no,obj,this).finishFx(manual);this.currentNo=no;},next:function(manual,item){this.currentNo+=(this.currentNo<this.slides.length-1)?1:(1-this.slides.length);this.onProcessing(item,manual,0,this.maxSize).fxStart(this.currentNo,this.getObjectDirection(this.maxSize),this).finishFx(manual);},previous:function(manual,item){this.currentNo+=this.currentNo>0?-1:this.slides.length-1;this.onProcessing(item,manual).fxStart(this.currentNo,this.getObjectDirection(this.maxSize),this).finishFx(manual);},play:function(delay,direction,wait){this.stop();if(!wait){this[direction](false);}var self=this;this.isRun=setTimeout(function(){self[direction](true);},delay);},stop:function(){if(this.isRun==null){return;}clearTimeout(this.isRun);this.isRun=null;}});})(jQuery);
