(function($){

jQuery.fn.extend({

	/**
	 * Stores the original version of offset(), so that we don't lose it
	 */
	_offset : jQuery.fn.offset,

	/**
	 * Set or get the specific left and top position of the matched
	 * elements, relative the the browser window by calling setXY
	 * @param {Object} newOffset
	 */
	offset : function(newOffset){
	    return !newOffset ? this._offset() : this.each(function(){
			var el = this;

			var hide = false;

			if(jQuery(el).css('display')=='none'){
				hide = true;
				jQuery(el).show();
			};

			var style_pos = jQuery(el).css('position');

			// default to relative
			if (style_pos == 'static') {
				jQuery(el).css('position','relative');
				style_pos = 'relative';
			};

			var offset = jQuery(el).offset();

			if (offset){
				var delta = {
					left : parseInt(jQuery(el).css('left'), 10),
					top: parseInt(jQuery(el).css('top'), 10)
				};

				// in case of 'auto'
				if (isNaN(delta.left))
					delta.left = (style_pos == 'relative') ? 0 : el.offsetLeft;
				if (isNaN(delta.top))
					delta.top = (style_pos == 'relative') ? 0 : el.offsetTop;

				if (newOffset.left || newOffset.left===0)
					jQuery(el).css('left',newOffset.left - offset.left + delta.left + 'px');

				if (newOffset.top || newOffset.top===0)
					jQuery(el).css('top',newOffset.top - offset.top + delta.top + 'px');
			};
			if(hide) jQuery(el).hide();
		});
	}

});

})(jQuery);

jQuery.fn.liScroll = function(settings) {
		settings = jQuery.extend({
		travelocity: 0.07
		}, settings);		
		return this.each(function(){
				var $strip = jQuery(this);
				$strip.addClass("newsticker")
				var stripWidth = 0;
				var $mask = $strip.wrap("<div class='mask'></div>");
				var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");								
				var containerWidth = $strip.parent().parent().width();	//a.k.a. 'mask' width 	
				$strip.find("li").each(function(i){
				stripWidth += jQuery(this, i).width() + 10;
				});
				$strip.width(stripWidth);
				$strip.css({left:containerWidth});
			
				function scrollnews(){
					var offset = containerWidth + parseInt($strip.css("left"));

					$strip.animate({left: -stripWidth}, offset/settings.travelocity, "linear", function(){$strip.css("left", containerWidth); scrollnews();});
				}
				scrollnews();				
				$strip.hover(function(){
					jQuery(this).stop();
				},
				function(){
					scrollnews();
				});			
		});	
};
