/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 9/11/2008
 * @author Ariel Flesler
 * @version 1.4
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(h){var m=h.scrollTo=function(b,c,g){h(window).scrollTo(b,c,g)};m.defaults={axis:'y',duration:1};m.window=function(b){return h(window).scrollable()};h.fn.scrollable=function(){return this.map(function(){var b=this.parentWindow||this.defaultView,c=this.nodeName=='#document'?b.frameElement||b:this,g=c.contentDocument||(c.contentWindow||c).document,i=c.setInterval;return c.nodeName=='IFRAME'||i&&h.browser.safari?g.body:i?g.documentElement:this})};h.fn.scrollTo=function(r,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};a=h.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=h(k),d=r,l,e={},p=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(d)){d=n(d);break}d=h(d,this);case'object':if(d.is||d.style)l=(d=h(d)).offset()}h.each(a.axis.split(''),function(b,c){var g=c=='x'?'Left':'Top',i=g.toLowerCase(),f='scroll'+g,s=k[f],t=c=='x'?'Width':'Height',v=t.toLowerCase();if(l){e[f]=l[i]+(p?0:s-o.offset()[i]);if(a.margin){e[f]-=parseInt(d.css('margin'+g))||0;e[f]-=parseInt(d.css('border'+g+'Width'))||0}e[f]+=a.offset[i]||0;if(a.over[i])e[f]+=d[v]()*a.over[i]}else e[f]=d[i];if(/^\d+$/.test(e[f]))e[f]=e[f]<=0?0:Math.min(e[f],u(t));if(!b&&a.queue){if(s!=e[f])q(a.onAfterFirst);delete e[f]}});q(a.onAfter);function q(b){o.animate(e,j,a.easing,b&&function(){b.call(this,r,a)})};function u(b){var c='scroll'+b,g=k.ownerDocument;return p?Math.max(g.documentElement[c],g.body[c]):k[c]}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);

	
;(function($){
	$.extend({
		formatDate: function(gmtDateStr, lang){
			var dateBox = {
				'de': {'month': ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], 'separator': '.'},
				'en': {'month': ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], 'separator': '/'}
			}
			if (arguments.length == 0){
				var date = new Date();
				var lang = 'en';
			}else if (arguments.length == 1){
				var arg = arguments[0];
				if (typeof arg == 'string' && arg.length == 2){
					var lang = arg;
					var date = new Date();
				}else{
					var lang = 'en';
					var date = new Date(gmtDateStr);
				}
			}else{
				var date = new Date(gmtDateStr);
			}
			var sep = dateBox[lang].separator;
			var y = date.getYear() - 100;
			var fy = date.getFullYear();
			var m = date.getMonth();
			var d = date.getDate();
			var y = y < 10 ? '0' + y : y;
			var md = d < 10 ? '0' + d : d;
			var mm = m + 1 < 10 ? '0' + (m + 1) : m + 1;
			var my = fy;
			if (lang == 'de'){
				return {
					'short': d + sep + (m + 1) + sep + y,
					'middle': md + sep + mm + sep + my,
					'long': [md + sep,dateBox[lang].month[m],fy].join('&nbsp;')
				}
			}
			return {
				'short': (m + 1) + sep + d + sep + y,
				'middle': mm + sep + md + sep + my,
				'long': [dateBox[lang].month[m] + sep,md,fy].join('&nbsp;')
			}
		},
		formatTime: function(gmtDateStr){
			var date = gmtDateStr ? new Date(gmtDateStr) : new Date();
			var h = date.getHours();
			if (h < 10) h = '0' + h;
			var m = date.getMinutes();
			if (m < 10) m = '0' + m;
			var s = date.getSeconds();
			if (s < 10) s = '0' + s;
			return {'time': h + ':' + m + ':' + s, 'timeWithoutSec': h + ':' + m};
		}
	});
})(jQuery);
