/*
 * jQuery.ScrollTo
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 *
 * @projectDescription Easy element scrolling using jQuery.
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 * Works with jQuery +1.2.6. Tested on FF 2/3, IE 6/7/8, Opera 9.5/6, Safari 3, Chrome 1 on WinXP.
 *
 * @author Ariel Flesler
 * @version 1.4.2
 */
(function($){var $scrollTo=$.scrollTo=function(target,duration,settings){$(window).scrollTo(target,duration,settings)};$scrollTo.defaults={axis:"xy",duration:parseFloat($.fn.jquery)>=1.3?0:1};$scrollTo.window=function(scope){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var elem=this,isWin=!elem.nodeName||$.inArray(elem.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!isWin){return elem}var doc=(elem.contentWindow||elem).document||elem.ownerDocument||elem;return $.browser.safari||doc.compatMode=="BackCompat"?doc.body:doc.documentElement})};$.fn.scrollTo=function(target,duration,settings){if(typeof duration=="object"){settings=duration;duration=0}if(typeof settings=="function"){settings={onAfter:settings}}if(target=="max"){target=9000000000}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+(\.\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],max=$scrollTo.max(elem,axis);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[axis=="x"?"width":"height"]()*settings.over[pos]}}else{var val=targ[pos];attr[key]=val.slice&&val.slice(-1)=="%"?parseFloat(val)/100*max:val}if(/^\d+$/.test(attr[key])){attr[key]=attr[key]<=0?0:Math.min(attr[key],max)}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)})}}).end()};$scrollTo.max=function(elem,axis){var Dim=axis=="x"?"Width":"Height",scroll="scroll"+Dim;if(!$(elem).is("html,body")){return elem[scroll]-$(elem)[Dim.toLowerCase()]()}var size="client"+Dim,html=elem.ownerDocument.documentElement,body=elem.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size])};function both(val){return typeof val=="object"?val:{top:val,left:val}}})(jQuery);

/*
 * jQuery history plugin
 * 
 * sample page: http://www.mikage.to/jquery/jquery_history.html
 *
 * Copyright (c) 2006-2009 Taku Sano (Mikage Sawatari)
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Modified by Lincoln Cooper to add Safari support and only call the callback once during initialization
 * for msie when no initial hash supplied.
 */
jQuery.extend({historyCurrentHash:undefined,historyCallback:undefined,historyIframeSrc:undefined,historyInit:function(callback,src,options){jQuery.historyCallback=callback;if(src){jQuery.historyIframeSrc=src}options=jQuery.extend({},options);domain=options.domain;if(domain===true){domain=document.domain}else{if(typeof(domain)!="string"){domain=false}}jQuery.historyInit.domain=domain;var current_hash=location.hash.replace(/\?.*$/,"");jQuery.historyCurrentHash=current_hash;if((jQuery.browser.msie)&&(jQuery.browser.version<8||document.documentMode<8)){if(jQuery.historyCurrentHash==""){jQuery.historyCurrentHash="#"}jQuery("body").prepend('<iframe id="jQuery_history" style="display: none;"'+(jQuery.historyIframeSrc?' src="'+jQuery.historyIframeSrc+'"':"")+"></iframe>");var ihistory=jQuery("#jQuery_history")[0];$(ihistory).one("load",function(){var iframe=ihistory.contentWindow.document;iframe.open();var script=[];if(jQuery.historyInit.domain){script.push("document.domain='"+jQuery.historyInit.domain+"'")}script=script.join(";");iframe.write("<html><head><title></title><script>"+script+"<\/script></head></html>");iframe.close();iframe.location.hash=current_hash})}else{if(jQuery.browser.safari){jQuery.historyBackStack=[];jQuery.historyBackStack.length=history.length;jQuery.historyForwardStack=[];jQuery.lastHistoryLength=history.length;jQuery.isFirst=true}}if(current_hash){jQuery.historyCallback(current_hash.replace(/^#/,""))}setInterval(jQuery.historyCheck,100)},historyAddHistory:function(hash){jQuery.historyBackStack.push(hash);jQuery.historyForwardStack.length=0;this.isFirst=true},historyCheck:function(){if((jQuery.browser.msie)&&(jQuery.browser.version<8||document.documentMode<8)){var ihistory=jQuery("#jQuery_history")[0];var iframe=ihistory.contentDocument||ihistory.contentWindow.document;var current_hash=iframe.location.hash.replace(/\?.*$/,"");if(current_hash!=jQuery.historyCurrentHash){location.hash=current_hash;jQuery.historyCurrentHash=current_hash;jQuery.historyCallback(current_hash.replace(/^#/,""))}}else{if(jQuery.browser.safari){if(jQuery.lastHistoryLength==history.length&&jQuery.historyBackStack.length>jQuery.lastHistoryLength){jQuery.historyBackStack.shift()}if(!jQuery.dontCheck){var historyDelta=history.length-jQuery.historyBackStack.length;jQuery.lastHistoryLength=history.length;if(historyDelta){jQuery.isFirst=false;if(historyDelta<0){for(var i=0;i<Math.abs(historyDelta);i++){jQuery.historyForwardStack.unshift(jQuery.historyBackStack.pop())}}else{for(var i=0;i<historyDelta;i++){jQuery.historyBackStack.push(jQuery.historyForwardStack.shift())}}var cachedHash=jQuery.historyBackStack[jQuery.historyBackStack.length-1];if(cachedHash!=undefined){jQuery.historyCurrentHash=location.hash.replace(/\?.*$/,"");jQuery.historyCallback(cachedHash)}}else{if(jQuery.historyBackStack[jQuery.historyBackStack.length-1]==undefined&&!jQuery.isFirst){if(location.hash){var current_hash=location.hash;jQuery.historyCallback(location.hash.replace(/^#/,""))}else{var current_hash="";jQuery.historyCallback("")}jQuery.isFirst=true}}}}else{var current_hash=location.hash.replace(/\?.*$/,"");if(current_hash!=jQuery.historyCurrentHash){jQuery.historyCurrentHash=current_hash;jQuery.historyCallback(current_hash.replace(/^#/,""))}}}},historyLoad:function(hash){var newhash;hash=decodeURIComponent(hash.replace(/\?.*$/,""));if(jQuery.browser.safari){newhash=hash}else{newhash="#"+hash;location.hash=newhash}jQuery.historyCurrentHash=newhash;if((jQuery.browser.msie)&&(jQuery.browser.version<8||document.documentMode<8)){var ihistory=jQuery("#jQuery_history")[0];var iframe=ihistory.contentWindow.document;iframe.open();var script=[];if(jQuery.historyInit.domain){script.push("document.domain='"+jQuery.historyInit.domain+"'")}script=script.join(";");iframe.write("<html><head><title></title><script>"+script+"<\/script></head></html>");iframe.close();iframe.location.hash=newhash;jQuery.lastHistoryLength=history.length;jQuery.historyCallback(hash)}else{if(jQuery.browser.safari){jQuery.dontCheck=true;this.historyAddHistory(hash);var fn=function(){jQuery.dontCheck=false};window.setTimeout(fn,200);jQuery.historyCallback(hash);location.hash=newhash}else{jQuery.historyCallback(hash)}}}});

/*
 * jQEm v0.2 - Interact with the base 'em' unit.
 *   * http://davecardwell.co.uk/javascript/jquery/plugins/jquery-em/0.2/
 * 
 * Dave Cardwell <http://davecardwell.co.uk/>
 *
 * Built on the shoulders of giants:
 *   * John Resig <http://jquery.com/>
 *
 *
 * Copyright (c) 2006 Dave Cardwell, dual licensed under the MIT and GPL
 * licenses:
 *   * http://www.opensource.org/licenses/mit-license.php
 *   * http://www.gnu.org/licenses/gpl.txt
 * Amazon is electing to use the MIT License
 */
new function(){var Public={auto:function(bool){return bool!=undefined?Private.auto=bool:Private.auto},init:function(){return Private.init()},bind:function(callback){return Private.bind(callback)},unbind:function(callback){return Private.unbind(callback)},trigger:function(force,args){return Private.trigger(force,args)},active:function(){return Private.active},delay:function(milliseconds){return milliseconds?Private.delay=milliseconds:Private.delay},start:function(){return Private.start()},stop:function(){return Private.stop()},current:function(){return Private.current},previous:function(){return Private.previous}};$.jqem=Public;var Private={"$em":$(document.createElement("i")),active:false,canExp:undefined,current:undefined,delay:100,iid:undefined,previous:undefined,auto:true,init:init,bind:bind,unbind:unbind,trigger:trigger,update:function(){Private.trigger(false);return"1em"},start:start,stop:stop};$(document).ready(function(){if(Private.auto){init()}});function init(){$("body").prepend(Private.$em.css({display:"block",left:"-1em",position:"absolute",visibility:"hidden",width:"1em"}));Private.canExp=(Private.$em.style!=undefined&&Private.$em.style.setExpression!=undefined);Private.start()}function bind(callback){Private.$em.bind("emchange",callback)}function unbind(callback){Private.$em.unbind("emchange",callback)}function trigger(force,args){if(force==undefined){force=false}if(force||Private.$em.width()!=Private.current){Private.previous=Private.current;Private.current=Private.$em.width();$.event.trigger("emchange",args)}}function start(){if(Private.active){return}Private.current=Private.previous=Private.$em.width();if(Private.canExp){Private.$em.style.setExpression("width","$.jqem.update();")}else{Private.iid=window.setInterval(Private.update,Private.delay)}Private.active=true}function stop(){if(!Private.active){return}if(Private.canExp){Private.$em.style.removeExpression("width")}else{window.removeInterval(Private.iid)}}}();

/* Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 *
 * Version: 3.0.2
 * 
 * Requires: 1.2.2+
 * Amazon uses the MIT license
 */
(function($){var types=["DOMMouseScroll","mousewheel"];$.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var i=types.length;i;){this.addEventListener(types[--i],handler,false)}}else{this.onmousewheel=handler}},teardown:function(){if(this.removeEventListener){for(var i=types.length;i;){this.removeEventListener(types[--i],handler,false)}}else{this.onmousewheel=null}}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel")},unmousewheel:function(fn){return this.unbind("mousewheel",fn)}});function handler(event){var args=[].slice.call(arguments,1),delta=0,returnValue=true;event=$.event.fix(event||window.event);event.type="mousewheel";if(event.wheelDelta){delta=event.wheelDelta/120}if(event.detail){delta=-event.detail/3}args.unshift(event,delta);return $.event.handle.apply(this,args)}})(jQuery);

/* Copyright (c) 2009 Kelvin Luck (kelvin AT kelvinluck DOT com || http://www.kelvinluck.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * 
 * See http://kelvinluck.com/assets/jquery/jScrollPane/
 * $Id: jScrollPane.js 90 2010-01-25 03:52:10Z kelvin.luck $
 * Amazon is using the MIT License
 */
(function($){$.jScrollPane={active:[]};$.fn.jScrollPane=function(settings){settings=$.extend({},$.fn.jScrollPane.defaults,settings);var rf=function(){return false};return this.each(function(){var $this=$(this);var paneEle=this;var currentScrollPosition=0;var paneWidth;var paneHeight;var trackHeight;var trackOffset=settings.topCapHeight;var $container;if($(this).parent().is(".jScrollPaneContainer")){$container=$(this).parent();currentScrollPosition=settings.maintainPosition?$this.position().top:0;var $c=$(this).parent();paneWidth=$c.innerWidth();paneHeight=$c.outerHeight();$(">.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown, >.jScrollCap",$c).remove();$this.css({top:0})}else{$this.data("originalStyleTag",$this.attr("style"));$this.css("overflow","hidden");this.originalPadding=$this.css("paddingTop")+" "+$this.css("paddingRight")+" "+$this.css("paddingBottom")+" "+$this.css("paddingLeft");this.originalSidePaddingTotal=(parseInt($this.css("paddingLeft"))||0)+(parseInt($this.css("paddingRight"))||0);paneWidth=$this.innerWidth();paneHeight=$this.innerHeight();$container=$("<div></div>").attr({className:"jScrollPaneContainer"}).css({height:paneHeight+"px",width:paneWidth+"px"});if(settings.enableKeyboardNavigation){$container.attr("tabindex",settings.tabIndex)}$this.wrap($container);$container=$this.parent();$(document).bind("emchange",function(e,cur,prev){$this.jScrollPane(settings)})}trackHeight=paneHeight;if(settings.reinitialiseOnImageLoad){var $imagesToLoad=$.data(paneEle,"jScrollPaneImagesToLoad")||$("img",$this);var loadedImages=[];if($imagesToLoad.length){$imagesToLoad.each(function(i,val){$(this).bind("load readystatechange",function(){if($.inArray(i,loadedImages)==-1){loadedImages.push(val);$imagesToLoad=$.grep($imagesToLoad,function(n,i){return n!=val});$.data(paneEle,"jScrollPaneImagesToLoad",$imagesToLoad);var s2=$.extend(settings,{reinitialiseOnImageLoad:false});$this.jScrollPane(s2)}}).each(function(i,val){if(this.complete||this.complete===undefined){this.src=this.src}})})}}var p=this.originalSidePaddingTotal;var realPaneWidth=paneWidth-settings.scrollbarWidth-settings.scrollbarMargin-p;var cssToApply={height:"auto",width:realPaneWidth+"px"};if(settings.scrollbarOnLeft){cssToApply.paddingLeft=settings.scrollbarMargin+settings.scrollbarWidth+"px"}else{cssToApply.paddingRight=settings.scrollbarMargin+"px"}$this.css(cssToApply);var contentHeight=$this.outerHeight();var percentInView=paneHeight/contentHeight;var isScrollable=percentInView<0.99;$container[isScrollable?"addClass":"removeClass"]("jScrollPaneScrollable");if(isScrollable){$container.append($("<div></div>").addClass("jScrollCap jScrollCapTop").css({height:settings.topCapHeight}),$("<div></div>").attr({className:"jScrollPaneTrack"}).css({width:settings.scrollbarWidth+"px"}).append($("<div></div>").attr({className:"jScrollPaneDrag"}).css({width:settings.scrollbarWidth+"px"}).append($("<div></div>").attr({className:"jScrollPaneDragTop"}).css({width:settings.scrollbarWidth+"px"}),$("<div></div>").attr({className:"jScrollPaneDragBottom"}).css({width:settings.scrollbarWidth+"px"}))),$("<div></div>").addClass("jScrollCap jScrollCapBottom").css({height:settings.bottomCapHeight}));var $track=$(">.jScrollPaneTrack",$container);var $drag=$(">.jScrollPaneTrack .jScrollPaneDrag",$container);var currentArrowDirection;var currentArrowTimerArr=[];var currentArrowInc;var whileArrowButtonDown=function(){if(currentArrowInc>4||currentArrowInc%4==0){positionDrag(dragPosition+currentArrowDirection*mouseWheelMultiplier)}currentArrowInc++};if(settings.enableKeyboardNavigation){$container.bind("keydown.jscrollpane",function(e){switch(e.keyCode){case 38:currentArrowDirection=-1;currentArrowInc=0;whileArrowButtonDown();currentArrowTimerArr[currentArrowTimerArr.length]=setInterval(whileArrowButtonDown,100);e.preventDefault();case 40:currentArrowDirection=1;currentArrowInc=0;whileArrowButtonDown();currentArrowTimerArr[currentArrowTimerArr.length]=setInterval(whileArrowButtonDown,100);e.preventDefault();case 33:case 34:e.preventDefault();default:}}).bind("keyup.jscrollpane",function(e){if(e.keyCode==38||e.keyCode==40){for(var i=0;i<currentArrowTimerArr.length;i++){clearInterval(currentArrowTimerArr[i])}e.preventDefault()}})}if(settings.showArrows){var currentArrowButton;var currentArrowInterval;var onArrowMouseUp=function(event){$("html").unbind("mouseup",onArrowMouseUp);currentArrowButton.removeClass("jScrollActiveArrowButton");clearInterval(currentArrowInterval)};var onArrowMouseDown=function(){$("html").bind("mouseup",onArrowMouseUp);currentArrowButton.addClass("jScrollActiveArrowButton");currentArrowInc=0;whileArrowButtonDown();currentArrowInterval=setInterval(whileArrowButtonDown,100)};$container.append($("<a></a>").attr({href:"javascript:;",className:"jScrollArrowUp",tabindex:-1}).css({width:settings.scrollbarWidth+"px",top:settings.topCapHeight+"px"}).html("Scroll up").bind("mousedown",function(e){currentArrowButton=$(this);currentArrowDirection=-1;onArrowMouseDown();this.blur();e.preventDefault()}).bind("click",rf),$("<a></a>").attr({href:"javascript:;",className:"jScrollArrowDown",tabindex:-1}).css({width:settings.scrollbarWidth+"px",bottom:settings.bottomCapHeight+"px"}).html("Scroll down").bind("mousedown",function(e){currentArrowButton=$(this);currentArrowDirection=1;onArrowMouseDown();this.blur();e.preventDefault()}).bind("click",rf));var $upArrow=$(">.jScrollArrowUp",$container);var $downArrow=$(">.jScrollArrowDown",$container)}if(settings.arrowSize){trackHeight=paneHeight-settings.arrowSize-settings.arrowSize;trackOffset+=settings.arrowSize}else{if($upArrow){var topArrowHeight=$upArrow.height();settings.arrowSize=topArrowHeight;trackHeight=paneHeight-topArrowHeight-$downArrow.height();trackOffset+=topArrowHeight}}trackHeight-=settings.topCapHeight+settings.bottomCapHeight;$track.css({height:trackHeight+"px",top:trackOffset+"px"});var $pane=$(this).css({position:"absolute",overflow:"visible"});var currentOffset;var maxY;var mouseWheelMultiplier;var dragPosition=0;var dragMiddle=percentInView*paneHeight/2;var getPos=function(event,c){var p=c=="X"?"Left":"Top";return event["page"+c]||(event["client"+c]+(document.documentElement["scroll"+p]||document.body["scroll"+p]))||0};var ignoreNativeDrag=function(){return false};var initDrag=function(){ceaseAnimation();currentOffset=$drag.offset(false);currentOffset.top-=dragPosition;maxY=trackHeight-$drag[0].offsetHeight;mouseWheelMultiplier=2*settings.wheelSpeed*maxY/contentHeight};var onStartDrag=function(event){initDrag();dragMiddle=getPos(event,"Y")-dragPosition-currentOffset.top;$("html").bind("mouseup",onStopDrag).bind("mousemove",updateScroll);if($.browser.msie){$("html").bind("dragstart",ignoreNativeDrag).bind("selectstart",ignoreNativeDrag)}return false};var onStopDrag=function(){$("html").unbind("mouseup",onStopDrag).unbind("mousemove",updateScroll);dragMiddle=percentInView*paneHeight/2;if($.browser.msie){$("html").unbind("dragstart",ignoreNativeDrag).unbind("selectstart",ignoreNativeDrag)}};var positionDrag=function(destY){$container.scrollTop(0);destY=destY<0?0:(destY>maxY?maxY:destY);dragPosition=destY;$drag.css({top:destY+"px"});var p=destY/maxY;$this.data("jScrollPanePosition",(paneHeight-contentHeight)*-p);$pane.css({top:((paneHeight-contentHeight)*p)+"px"});$this.trigger("scroll");if(settings.showArrows){$upArrow[destY==0?"addClass":"removeClass"]("disabled");$downArrow[destY==maxY?"addClass":"removeClass"]("disabled")}};var updateScroll=function(e){positionDrag(getPos(e,"Y")-currentOffset.top-dragMiddle)};var dragH=Math.max(Math.min(percentInView*(paneHeight-settings.arrowSize*2),settings.dragMaxHeight),settings.dragMinHeight);$drag.css({height:dragH+"px"}).bind("mousedown",onStartDrag);var trackScrollInterval;var trackScrollInc;var trackScrollMousePos;var doTrackScroll=function(){if(trackScrollInc>8||trackScrollInc%4==0){positionDrag((dragPosition-((dragPosition-trackScrollMousePos)/2)))}trackScrollInc++};var onStopTrackClick=function(){clearInterval(trackScrollInterval);$("html").unbind("mouseup",onStopTrackClick).unbind("mousemove",onTrackMouseMove)};var onTrackMouseMove=function(event){trackScrollMousePos=getPos(event,"Y")-currentOffset.top-dragMiddle};var onTrackClick=function(event){initDrag();onTrackMouseMove(event);trackScrollInc=0;$("html").bind("mouseup",onStopTrackClick).bind("mousemove",onTrackMouseMove);trackScrollInterval=setInterval(doTrackScroll,100);doTrackScroll();event.preventDefault()};$track.bind("mousedown",onTrackClick);$container.bind("mousewheel",function(event,delta){delta=delta||(event.wheelDelta?event.wheelDelta/120:(event.detail)?-event.detail/3:0);initDrag();ceaseAnimation();var d=dragPosition;positionDrag(dragPosition-delta*mouseWheelMultiplier);var dragOccured=d!=dragPosition;return !dragOccured});var _animateToPosition;var _animateToInterval;function animateToPosition(){var diff=(_animateToPosition-dragPosition)/settings.animateStep;if(diff>1||diff<-1){positionDrag(dragPosition+diff)}else{positionDrag(_animateToPosition);ceaseAnimation()}}var ceaseAnimation=function(){if(_animateToInterval){clearInterval(_animateToInterval);delete _animateToPosition}};var scrollTo=function(pos,preventAni){if(typeof pos=="string"){try{$e=$(pos,$this)}catch(err){return}if(!$e.length){return}pos=$e.offset().top-$this.offset().top}ceaseAnimation();var maxScroll=contentHeight-paneHeight;pos=pos>maxScroll?maxScroll:pos;$this.data("jScrollPaneMaxScroll",maxScroll);var destDragPosition=pos/maxScroll*maxY;if(preventAni||!settings.animateTo){positionDrag(destDragPosition)}else{$container.scrollTop(0);_animateToPosition=destDragPosition;_animateToInterval=setInterval(animateToPosition,settings.animateInterval)}};$this[0].scrollTo=scrollTo;$this[0].scrollBy=function(delta){var currentPos=-parseInt($pane.css("top"))||0;scrollTo(currentPos+delta)};initDrag();scrollTo(-currentScrollPosition,true);$("*",this).bind("focus",function(event){var $e=$(this);var eleTop=0;while($e[0]!=$this[0]){eleTop+=$e.position().top;$e=$e.offsetParent()}var viewportTop=-parseInt($pane.css("top"))||0;var maxVisibleEleTop=viewportTop+paneHeight;var eleInView=eleTop>viewportTop&&eleTop<maxVisibleEleTop;if(!eleInView){var destPos=eleTop-settings.scrollbarMargin;if(eleTop>viewportTop){destPos+=$(this).height()+15+settings.scrollbarMargin-paneHeight}scrollTo(destPos)}});if(settings.observeHash){if(location.hash&&location.hash.length>1){setTimeout(function(){scrollTo(location.hash)},$.browser.safari?100:0)}$(document).bind("click",function(e){$target=$(e.target);if($target.is("a")){var h=$target.attr("href");if(h&&h.substr(0,1)=="#"&&h.length>1){setTimeout(function(){scrollTo(h,!settings.animateToInternalLinks)},$.browser.safari?100:0)}}})}function onSelectScrollMouseDown(e){$(document).bind("mousemove.jScrollPaneDragging",onTextSelectionScrollMouseMove);$(document).bind("mouseup.jScrollPaneDragging",onSelectScrollMouseUp)}var textDragDistanceAway;var textSelectionInterval;function onTextSelectionInterval(){direction=textDragDistanceAway<0?-1:1;$this[0].scrollBy(textDragDistanceAway/2)}function clearTextSelectionInterval(){if(textSelectionInterval){clearInterval(textSelectionInterval);textSelectionInterval=undefined}}function onTextSelectionScrollMouseMove(e){var offset=$this.parent().offset().top;var maxOffset=offset+paneHeight;var mouseOffset=getPos(e,"Y");textDragDistanceAway=mouseOffset<offset?mouseOffset-offset:(mouseOffset>maxOffset?mouseOffset-maxOffset:0);if(textDragDistanceAway==0){clearTextSelectionInterval()}else{if(!textSelectionInterval){textSelectionInterval=setInterval(onTextSelectionInterval,100)}}}function onSelectScrollMouseUp(e){$(document).unbind("mousemove.jScrollPaneDragging").unbind("mouseup.jScrollPaneDragging");clearTextSelectionInterval()}$container.bind("mousedown.jScrollPane",onSelectScrollMouseDown);$.jScrollPane.active.push($this[0])}else{$this.css({height:paneHeight+"px",width:paneWidth-this.originalSidePaddingTotal+"px",padding:this.originalPadding});$this[0].scrollTo=$this[0].scrollBy=function(){};$this.parent().unbind("mousewheel").unbind("mousedown.jScrollPane").unbind("keydown.jscrollpane").unbind("keyup.jscrollpane")}})};$.fn.jScrollPaneRemove=function(){$(this).each(function(){$this=$(this);var $c=$this.parent();if($c.is(".jScrollPaneContainer")){$this.css({top:"",height:"",width:"",padding:"",overflow:"",position:""});$this.attr("style",$this.data("originalStyleTag"));$c.after($this).remove()}});return this};$.fn.jScrollPane.defaults={scrollbarWidth:10,scrollbarMargin:5,wheelSpeed:18,showArrows:false,arrowSize:0,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false,reinitialiseOnImageLoad:false,tabIndex:0,enableKeyboardNavigation:true,animateToInternalLinks:false,topCapHeight:0,bottomCapHeight:0,observeHash:true};$(window).bind("unload",function(){var els=$.jScrollPane.active;for(var i=0;i<els.length;i++){els[i].scrollTo=els[i].scrollBy=null}})})(jQuery);

/*
 * jQuery Default Value Plugin v1.0
 * Progressive enhancement technique for inital input field values
 *
 * The MIT License
 * 
 * Copyright (c) 2007 Paul Campbell (pauljamescampbell.co.uk)
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * @param		String
 * @return		Array
 */
(function($){$.fn.defaultvalue=function(def){var elements=this;var c=0;var defaultClass="default";return(elements.each(function(){var el=$(this);if(el.val()==""){el.val(def).addClass(defaultClass)}el.focus(function(){if(el.val()==def){el.val("").removeClass(defaultClass)}});el.blur(function(){if(el.val()==""){el.val(def).addClass(defaultClass)}})}))}})(jQuery);


