(function(){
	$(document).ready(function(){
		$("#newsFlash").each(function(){
			var elem = this;
			var current_idx = 0;
			var autoTimeout = 0;
			var newsContainer = $(".newsFlash_news>ul", elem);
			var newsItems = $(".newsFlash_news>ul>li", elem);
			
			if (!newsContainer.length || !newsItems.length) return;
			
			//get current
			current_idx = 0;
			newsItems.each(function(){
				if ($(this).is(".current")) {
					current_idx = newsItems.index(this);
					return false;
				}
			});
			newsItems.removeClass("current").filter(":eq("+current_idx+")").addClass("current");
			
			newsHeight = $(newsItems[0]).outerHeight(true);
			$(newsContainer).css({
				top:-(newsHeight*current_idx)+"px"
			});
			
			var moveTo = function(idx){
				var y = -(newsHeight*idx);
				$(newsContainer).stop();
				$(newsContainer).animate({top:y},{duration:1000, easing:"easeInOutExpo", queue:false});
				current_idx = idx;
			}
			
			//nav
			var initNavState = function(){
				if (current_idx <= 0) {
					current_idx = 0;
					$(".newsFlash_nav .prev",elem).addClass("prev_disabled").css("opacity",0.65);
				} else {
					$(".newsFlash_nav .prev",elem).removeClass("prev_disabled").css("opacity","");
				}
				if (current_idx >= newsItems.length-1) {
					current_idx = newsItems.length-1;
					$(".newsFlash_nav .next",elem).addClass("next_disabled").css("opacity",0.65);
				} else {
					$(".newsFlash_nav .next",elem).removeClass("next_disabled").css("opacity","");
				}
			};
			var movePrev = function(){
				if (current_idx > 0) {
					moveTo(current_idx-1);
					initNavState();
				}
			};
			var moveNext = function(){
				if (current_idx < newsItems.length-1) {
					moveTo(current_idx+1);
					initNavState();
				}
			};
			
			$(".newsFlash_nav .prev",elem).unbind("click.newsFlash").bind("click.newsFlash", function(){
				movePrev();
				this.blur();
				return false;
			});
			
			$(".newsFlash_nav .next",elem).unbind("click.newsFlash").bind("click.newsFlash", function(){
				moveNext();
				this.blur();
				return false;
			});
			
			initNavState();
			
			//ie fix
			if ($.browser.msie && $.browser.version < 8) {
				
			}
		});
	});
})(jQuery);