/* Smooth scrolling
   Changes links that link to other parts of this page to scroll
   smoothly to those links rather than jump to them directly, which
   can be a little disorienting.
   
   sil, http://www.kryogenix.org/
   
   Wordpress Plug-in Smooth Scroll Links [SSL] by Chetan Gole [http://www.thechetan.com/]
   
*/

var ss={fixAllLinks:function(){for(var c=document.getElementsByTagName("a"),b=0;b<c.length;b++){var a=c[b];a.href&&a.href.indexOf("#")!=-1&&(a.pathname==location.pathname||"/"+a.pathname==location.pathname)&&a.search==location.search&&ss.addEvent(a,"click",ss.smoothScroll)}},smoothScroll:function(b){if(window.event)target=window.event.srcElement;else if(b)target=b.target;else return;if(target.nodeName.toLowerCase()!="a")target=target.parentNode;if(target.nodeName.toLowerCase()!="a")return;anchor=target.hash.substr(1);for(var g=document.getElementsByTagName("a"),a=null,f=0;f<g.length;f++){var e=g[f];if(e.name&&e.name==anchor){a=e;break}}if(!a)a=document.getElementById(anchor);if(!a)return true;var h=a.offsetLeft,d=a.offsetTop,c=a;while(c.offsetParent&&c.offsetParent!=document.body){c=c.offsetParent;h+=c.offsetLeft;d+=c.offsetTop}clearInterval(ss.INTERVAL);cypos=ss.getCurrentYPos();ss_stepsize=parseInt((d-cypos)/ss.STEPS);ss.INTERVAL=setInterval("ss.scrollWindow("+ss_stepsize+","+d+',"'+anchor+'")',10);if(window.event){window.event.cancelBubble=true;window.event.returnValue=false}if(b&&b.preventDefault&&b.stopPropagation){b.preventDefault();b.stopPropagation()}},scrollWindow:function(b,a,c){wascypos=ss.getCurrentYPos();isAbove=wascypos<a;window.scrollTo(0,wascypos+b);iscypos=ss.getCurrentYPos();isAboveNow=iscypos<a;if(isAbove!=isAboveNow||wascypos==iscypos){window.scrollTo(0,a);clearInterval(ss.INTERVAL);location.hash=c}},getCurrentYPos:function(){return document.body&&document.body.scrollTop?document.body.scrollTop:document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:window.pageYOffset?window.pageYOffset:0},addEvent:function(a,b,c,d){if(a.addEventListener){a.addEventListener(b,c,d);return true}else if(a.attachEvent)return a.attachEvent("on"+b,c);else alert("Handler could not be removed")}};ss.STEPS=25;ss.addEvent(window,"load",ss.fixAllLinks);
