jQuery.fn.extend({everyTime: function(interval, label, fn, times, belay) {return this.each(function() {jQuery.timer.add(this, interval, label, fn, times, belay);});},oneTime: function(interval, label, fn) {	return this.each(function() {jQuery.timer.add(this, interval, label, fn, 1);});},stopTime: function(label, fn) {return this.each(function() {jQuery.timer.remove(this, label, fn);});}});
jQuery.event.special
jQuery.extend({timer: {global: [],guid: 1,dataKey: "jQuery.timer",regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,powers: {'ms': 1,'cs': 10,'ds': 100,'s': 1000,'das': 10000,'hs': 100000,'ks': 1000000},timeParse: function(value) {if (value == undefined || value == null) 	return null;var result = this.regex.exec(jQuery.trim(value.toString()));if (result[2]) {var num = parseFloat(result[1]);var mult = this.powers[result[2]] || 1;return num * mult;} else {return value;}},add: function(element, interval, label, fn, times, belay) {var counter = 0;if (jQuery.isFunction(label)) {if (!times) times = fn;fn = label;label = interval;}interval = jQuery.timer.timeParse(interval);if (typeof interval != 'number' || isNaN(interval) || interval <= 0) return;	if (times && times.constructor != Number) {belay = !!times;times = 0;}times = times || 0;belay = belay || false;var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {});if (!timers[label])timers[label] = {};fn.timerID = fn.timerID || this.guid++;var handler = function() {if (belay && this.inProgress) return;	this.inProgress = true;if ((++counter > times && times !== 0) || fn.call(element, counter) === false)jQuery.timer.remove(element, label, fn);this.inProgress = false;};handler.timerID = fn.timerID;if (!timers[label][fn.timerID])timers[label][fn.timerID] = window.setInterval(handler,interval);this.global.push( element );},remove: function(element, label, fn) {var timers = jQuery.data(element, this.dataKey), ret;if ( timers ) {if (!label) {for ( label in timers )this.remove(element, label, fn);} else if ( timers[label] ) {if ( fn ) {if ( fn.timerID ) {window.clearInterval(timers[label][fn.timerID]);delete timers[label][fn.timerID];}} else {for ( var fn in timers[label] ) {	window.clearInterval(timers[label][fn]);delete timers[label][fn];}}for ( ret in timers[label] ) break;if ( !ret ) {ret = null;delete timers[label];}}for ( ret in timers ) break;if ( !ret ) jQuery.removeData(element, this.dataKey);}}}});
jQuery(window).bind("unload", function() {jQuery.each(jQuery.timer.global, function(index, item) {jQuery.timer.remove(item);});});
(function($) {$.fn.NyomNews = function(settings) {options =  { Active: '',HoldUp:  300,Period: 4000,NomberAssign: true};var options = $.extend(options, settings);return this.each(function(){$this = $(this);var Active = options.Active;var px = $('#'+Active+' > ul > li').width();var HoldUp = (options.HoldUp)*1000;  var Period    = (options.Period)*1000;  var NomberAssign = options.NomberAssign;  var nCell = $('#'+Active+' > ul > li').length;var po = 0;var id = 0;function fadeP(it,opac){if(NomberAssign){$('#'+Active+' > ol.nyomNews_NomberAssign > li:eq('+it+')').fadeTo("fast", opac);}}function moveP(){if(po!=-((px*nCell)-px)){$('#'+Active+' > ul').animate({ left: (po-px)+"px"}, HoldUp);po = po-px;fadeP(id,0.1);id=id+1;fadeP(id,1.0);}else{$('#'+Active+' > ul').animate({ left: "0px"}, HoldUp);po = 0;	fadeP(id,0.1);id=0;fadeP(id,1.0);}}$(this).everyTime(Period,Active,function(){moveP();});$('#'+Active).css({'overflow':'hidden','position':'relative'});$('#'+Active+' > ul').css({'width' : px*nCell+'px'});$('#'+Active+' > ul > li').css({'width':px,'float':'left'});if(NomberAssign){$('#'+Active+' > ul').after('<ol class="nyomNews_NomberAssign"></ol>');$('#'+Active+' > ol.nyomNews_NomberAssign').css({'width':px+'px'});var wb = Math.floor(px/nCell);	for(i=1;i!=(nCell+1);i++){$('#'+Active+' > ol.nyomNews_NomberAssign').append('<li><a>'+i+'</a></li>');}$('#'+Active+' > ol.nyomNews_NomberAssign > li').fadeTo("fast", 0.1);$('#'+Active+' > ol.nyomNews_NomberAssign > li:first').fadeTo("fast", 1.0);}$(this).bind('mousewheel', function(event, delta) {var dir = delta > 0 ? 'Up' : 'Down',vel = Math.abs(delta);if(dir=='Up'){if(po !=0){$('#'+Active+' > ul').animate({ left: (po+px)+"px"}, HoldUp);po = po+px;fadeP(id,0.1);id=id-1;fadeP(id,1.0);}}else{if(po!=-((px*nCell)-px)){$('#'+Active+' > ul').animate({ left: (po-px)+"px"}, HoldUp);	po = po-px;fadeP(id,0.1);id=id+1;fadeP(id,1.0);}}return false;});$(this).bind('mouseenter',function(){$(this).stopTime(Active);});$(this).bind('mouseleave',function(){$(this).everyTime(Period,Active,function(){moveP();});});if(NomberAssign){$('#'+Active+' > ol.nyomNews_NomberAssign > li').each(function(i) {$(this).bind('click', {index:i}, function(e){var occ = parseInt(e.data.index);fadeP(occ,1.0);fadeP(id,0.1);if(id>occ){var diff= id-occ;po=po+(px*diff);id = occ;	$('#'+Active+' > ul').animate({left: (po)+"px"}, HoldUp);}else if(id<occ){diff= occ-id;po=po-(px*diff);id=occ;$('#'+Active+' > ul').animate({left: (po)+"px"}, HoldUp);}});});}});};})(jQuery);

