/* jQuery.ScrollTo */
(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);

/* jQuery.LocalScroll */
; (function($) { var g = location.href.replace(/#.*/, ''), h = $.localScroll = function(a) { $('body').localScroll(a) }; h.defaults = { duration: 1e3, axis: 'y', event: 'click', stop: 1 }; h.hash = function(a) { a = $.extend({}, h.defaults, a); a.hash = 0; if (location.hash) setTimeout(function() { i(0, location, a) }, 0) }; $.fn.localScroll = function(b) { b = $.extend({}, h.defaults, b); return (b.persistent || b.lazy) ? this.bind(b.event, function(e) { var a = $([e.target, e.target.parentNode]).filter(c)[0]; a && i(e, a, b) }) : this.find('a,area').filter(c).bind(b.event, function(e) { i(e, this, b) }).end().end(); function c() { var a = this; return !!a.href && !!a.hash && a.href.replace(a.hash, '') == g && (!b.filter || $(a).is(b.filter)) } }; function i(e, a, b) { var c = a.hash.slice(1), d = document.getElementById(c) || document.getElementsByName(c)[0], f; if (d) { e && e.preventDefault(); f = $(b.target || $.scrollTo.window()); if (b.lock && f.is(':animated') || b.onBefore && b.onBefore.call(a, e, d, f) === !1) return; if (b.stop) f.queue('fx', []).stop(); f.scrollTo(d, b).trigger('notify.serialScroll', [d]); if (b.hash) f.queue(function() { location = a.hash; $(this).dequeue() }) } } })(jQuery);


