/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php).
 * Date: 1/2/2008
 * @author Ariel Flesler
 * @version 1.3
 */
;(function($){$.scrollTo=function(a,b,c){$($.browser.safari?'body':'html').scrollTo(a,b,c)};$.scrollTo.defaults={axis:'y',duration:1};$.fn.scrollTo=function(c,d,f){if(typeof d=='object'){f=d;d=0}f=$.extend({},$.scrollTo.defaults,f);if(!d)d=f.speed||f.duration;f.queue=f.queue&&f.axis.length==2;if(f.queue)d=Math.ceil(d/2);if(typeof f.offset=='number')f.offset={left:f.offset,top:f.offset};return this.each(function(){var e=this,$e=$(e),t=c,toff,j={},w=$e.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t={top:t,left:t};break}t=$(t,this);case'object':if(t.is||t.style)toff=(t=$(t)).offset()}$.each(f.axis.split(''),parse);animate(f.onAfter);function parse(i,a){var P=a=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,u=e[k];if(toff){j[k]=toff[p]+(w?0:u-$e.offset()[p]);if(f.margin){j[k]-=parseInt(t.css('margin'+P))||0;j[k]-=parseInt(t.css('border'+P+'Width'))||0}if(f.offset&&f.offset[p])j[k]+=f.offset[p]}else{j[k]=t[p]}if(/^\d+$/.test(j[k]))j[k]=j[k]<=0?0:Math.min(j[k],max(a));if(!i&&f.queue){if(u!=j[k])animate(f.onAfterFirst);delete j[k]}};function animate(a){$e.animate(j,d,f.easing,function(){if(a)a.call(this,$e,j,t)})};function max(a){var b=w?$.browser.opera?document.body:document.documentElement:e,D=a=='x'?'Width':'Height';return b['scroll'+D]-b['client'+D]}})}})(jQuery);

/**
 * jQuery.LocalScroll - Animated scrolling navigation, using anchors.
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php).
 * Date: 1/4/2008
 * @author Ariel Flesler
 * @version 1.1.3
 **/
;(function($){$.localScroll=function(a){$('body').localScroll(a)};$.localScroll.defaults={target:null,filter:null,duration:1000,axis:'y',event:'click',persistent:false,cancel:true};$.fn.localScroll=function(b){b=$.extend({},$.localScroll.defaults,b);return(b.persistent)?this.bind(b.event,function(e){var a=$([e.target,e.target.parentNode]).filter(filter)[0];return a&&scroll.call(a,e)}):this.find('a').filter(filter).bind(b.event,scroll).end().end();function scroll(e){var a=this.hash.slice(1),q=document.getElementById(a)||$('[name='+a+']')[0];if(q){if(b.onBefore)b.onBefore.call(this,e,q,$(b.target||window));if(b.target)$(b.target).scrollTo(q,b);else $.scrollTo(q,b);return!b.cancel}};function filter(){return local(this)&&(!b.filter||$(this).is(b.filter))}};function local(a){return!!a.hash&&location.href.replace(/#.*/,'')==a.href.replace(a.hash,'')}})(jQuery);