;(function($){var $scrollTo=$.scrollTo=function(target,duration,settings){$(window).scrollTo(target,duration,settings);};$scrollTo.defaults={axis:
'y'
,duration:1};
$scrollTo.window=function(scope){return $(window).scrollable();};
$.fn.scrollable=function(){return this.map(function(){
var win=this.parentWindow||this.defaultView,
elem=this.nodeName==
'#document'
?win.frameElement||win:this,
doc=elem.contentDocument||(elem.contentWindow||elem).document,isWin=elem.setInterval;return elem.nodeName==
'IFRAME'
||isWin&&$.browser.safari?doc.body:isWin?doc.documentElement:this;});};$.fn.scrollTo=function(target,duration,settings){if(typeof duration==
'object'
){settings=duration;duration=0;}
if(typeof settings==
'function'
)
settings={onAfter:settings};settings=$.extend({},$scrollTo.defaults,settings);
duration=duration||settings.speed||settings.duration;
settings.queue=settings.queue&&settings.axis.length>1;if(settings.queue)
duration /=2;settings.offset=both(settings.offset);settings.over=both(settings.over);return this.scrollable().each(function(){var elem=this,$elem=$(elem),targ=target,toff,attr={},win=$elem.is(
'html,body'
);switch(typeof targ){
case
'number'
:case
'string'
:if(
/^([+-]=)?\d+(px)?$/.test(targ)){targ=both(targ);
break;}
targ=$(targ,this);case
'object'
:
if(targ.is||targ.style)
toff=(targ=$(targ)).offset();}
$.each(settings.axis.split(
''
),function(i,axis){var Pos=axis==
'x'
?
'Left'
:
'Top'
,pos=Pos.toLowerCase(),key=
'scroll'
+Pos,old=elem[key],Dim=axis==
'x'
?
'Width'
:
'Height'
,dim=Dim.toLowerCase();if(toff){
attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);
if(settings.margin){attr[key]-=parseInt(targ.css(
'margin'
+Pos))||0;attr[key]-=parseInt(targ.css(
'border'
+Pos+
'Width'
))||0;}
attr[key]+=settings.offset[pos]||0;if(settings.over[pos])
attr[key]+=targ[dim]() * settings.over[pos];}else
attr[key]=targ[pos];
if(
/^\d+$/.test(attr[key]))
attr[key]=attr[key]<=0?0:Math.min(attr[key],max(Dim));
if(!i&&settings.queue){
if(old !=attr[key])
animate(settings.onAfterFirst);
delete attr[key];}});animate(settings.onAfter);function animate(callback){$elem.animate(attr,duration,settings.easing,callback&&function(){callback.call(this,target,settings);});};function max(Dim){var attr=
'scroll'
+Dim,doc=elem.ownerDocument;return win?Math.max(doc.documentElement[attr],doc.body[attr]):elem[attr];};}).end();};function both(val){return typeof val==
'object'
?val:{top:val,left:val};};})(jQuery);
;(function($){var URI=location.href.replace(
/#.*/,
''
);
var $localScroll=$.localScroll=function(settings){$(
'body'
).localScroll(settings);};
$localScroll.defaults={
duration:1000,
axis:
'y'
,
event:
'click'
,
stop:true
};
$localScroll.hash=function(settings){settings=$.extend({},$localScroll.defaults,settings);settings.hash=false;
if(location.hash)
setTimeout(function(){scroll(0,location,settings);},0);
};$.fn.localScroll=function(settings){settings=$.extend({},$localScroll.defaults,settings);return (settings.persistent||settings.lazy)?this.bind(settings.event,function(e){
var a=$([e.target,e.target.parentNode]).filter(filter)[0];
a&&scroll(e,a,settings);
}):this.find(
'a,area'
)
.filter(filter).bind(settings.event,function(e){scroll(e,this,settings);}).end()
.end();function filter(){
return !!this.href&&!!this.hash&&this.href.replace(this.hash,
''
)==URI&&(!settings.filter||$(this).is(settings.filter));};};function scroll(e,link,settings){var id=link.hash.slice(1),elem=document.getElementById(id)||document.getElementsByName(id)[0];if (elem){e&&e.preventDefault();var $target=$(settings.target||$.scrollTo.window());
if(settings.lock&&$target.is(
':animated'
)||settings.onBefore&&settings.onBefore.call(link,e,elem,$target)===false) return;if(settings.stop)
$target.queue(
'fx'
,[]).stop();
$target
.scrollTo(elem,settings)
.trigger(
'notify.serialScroll'
,[elem]);
if(settings.hash)
$target.queue(function(){location=link.hash;
$(this).dequeue();});}};})(jQuery);
;(function($){var $serialScroll=$.serialScroll=function(settings){$.scrollTo.window().serialScroll(settings);};
$serialScroll.defaults={
duration:1000,
axis:
'x'
,
event:
'click'
,
start:0,
step:1,
lock:true,
cycle:true,
constant:true
};$.fn.serialScroll=function(settings){settings=$.extend({},$serialScroll.defaults,settings);var event=settings.event,
step=settings.step,
lazy=settings.lazy;
return this.each(function(){var
 context=settings.target?this:document,
$pane=$(settings.target||this,context),
pane=$pane[0],
items=settings.items,
active=settings.start,
auto=settings.interval,
nav=settings.navigation,
timer;
if(!lazy)
items=getItems();if(settings.force)
jump({},active);
$(settings.prev||[],context).bind(event,-step,move);$(settings.next||[],context).bind(event,step,move);
if(!pane.ssbound)
$pane
.bind(
'prev.serialScroll'
,-step,move)
.bind(
'next.serialScroll'
,step,move)
.bind(
'goto.serialScroll'
,jump);
if(auto)
$pane
.bind(
'start.serialScroll'
,function(e){if(!auto){clear();auto=true;next();}})
.bind(
'stop.serialScroll'
,function(){
clear();auto=false;});$pane.bind(
'notify.serialScroll'
,function(e,elem){
var i=index(elem);if(i>-1)
active=i;});pane.ssbound=true;
if(settings.jump)
(lazy?$pane:getItems()).bind(event,function(e){jump(e,index(e.target));});if(nav)
nav=$(nav,context).bind(event,function(e){e.data=Math.round(getItems().length / nav.length) * nav.index(this);jump(e,this);});function move(e){e.data+=active;jump(e,this);};function jump(e,button){if(!isNaN(button)){
e.data=button;button=pane;}
var
pos=e.data,n,real=e.type,
$items=settings.exclude?getItems().slice(0,-settings.exclude):getItems(),
limit=$items.length,elem=$items[pos],duration=settings.duration;if(real)
e.preventDefault();if(auto){clear();
timer=setTimeout(next,settings.interval);}
if(!elem){
n=pos<0?0:limit-1;if(active !=n)
pos=n;else if(!settings.cycle)
return;else
pos=limit-n-1;
elem=$items[pos];}
if(!elem||real&&active==pos||
settings.lock&&$pane.is(
':animated'
)||
real&&settings.onBefore&&
settings.onBefore.call(button,e,elem,$pane,getItems(),pos)===false) return;if(settings.stop)
$pane.queue(
'fx'
,[]).stop();
if(settings.constant)
duration=Math.abs(duration
/step * (active - pos ));//keep constant velocity
$pane
.scrollTo(elem,duration,settings)
.trigger(
'notify.serialScroll'
,[pos]);
};function next(){
$pane.trigger(
'next.serialScroll'
);};function clear(){clearTimeout(timer);};function getItems(){return $(items,pane);};function index(elem){if(!isNaN(elem)) return elem;
var $items=getItems(),i;while((i=$items.index(elem))==-1&&elem !=pane)
elem=elem.parentNode;return i;};});};})(jQuery);
$(document).ready(function (){var $panels=$(
'#slider .scrollContainer > div'
);var $container=$(
'#slider .scrollContainer'
);
var horizontal=true;
if (horizontal){$panels.css({
'float'
:
'left'
,
'position'
:
'relative'
});
$container.css(
'width'
,$panels[0].offsetWidth * $panels.length);}
var $scroll=$(
'#slider .scroll'
).css(
'overflow'
,
'hidden'
);
$scroll
.before(
'<img class="scrollButtons left" src="/PublishingImages/scroll_left.png" />'

)
.after(
'<img class="scrollButtons right" src="/PublishingImages/scroll_right.png" />'
);
function selectNav(){$(this)
.parents(
'ul:first'
)
.find(
'a'
)
.removeClass(
'selected'
)
.end()
.end()
.addClass(
'selected'
);}
$(
'#slider .navigation'
).find(
'a'
).click(selectNav);
function trigger(data){var el=$(
'#slider .navigation'
).find(
'a[href$="'
+data.id+
'"]'
).get(0);selectNav.call(el);}
if (window.location.hash){trigger({id:window.location.hash.substr(1)});} else {$(
'ul.navigation a:first'
).click();}
var offset=parseInt((horizontal?$container.css(
'paddingTop'
):$container.css(
'paddingLeft'
))||0) *-1;var scrollOptions={target:$scroll,
items:$panels,navigation:
'.navigation a'
,
prev:
'img.left'
,next:
'img.right'
,
axis:
'xy'
,onAfter:trigger,
offset:offset,
duration:500,
easing:
'swing'
};
$(
'#slider'
).serialScroll(scrollOptions);
$.localScroll(scrollOptions);
scrollOptions.duration=1;$.localScroll.hash(scrollOptions);});