(function($){var A=$.scrollTo=function(E,D,C){A.window().scrollTo(E,D,C)
};
A.defaults={axis:"y",duration:1};
A.window=function(){return $($.browser.safari?"body":"html")
};
$.fn.scrollTo=function(E,D,C){if(typeof D=="object"){C=D;
D=0
}C=$.extend({},A.defaults,C);
D=D||C.speed||C.duration;
C.queue=C.queue&&C.axis.length>1;
if(C.queue){D/=2
}C.offset=B(C.offset);
C.over=B(C.over);
return this.each(function(){var L=this,J=$(L),K=E,I,G={},M=J.is("html,body");
switch(typeof K){case"number":case"string":if(/^([+-]=)?\d+(px)?$/.test(K)){K=B(K);
break
}K=$(K,this);
case"object":if(K.is||K.style){I=(K=$(K)).offset()
}}$.each(C.axis.split(""),function(Q,R){var S=R=="x"?"Left":"Top",U=S.toLowerCase(),P="scroll"+S,N=L[P],O=R=="x"?"Width":"Height",T=O.toLowerCase();
if(I){G[P]=I[U]+(M?0:N-J.offset()[U]);
if(C.margin){G[P]-=parseInt(K.css("margin"+S))||0;
G[P]-=parseInt(K.css("border"+S+"Width"))||0
}G[P]+=C.offset[U]||0;
if(C.over[U]){G[P]+=K[T]()*C.over[U]
}}else{G[P]=K[U]
}if(/^\d+$/.test(G[P])){G[P]=G[P]<=0?0:Math.min(G[P],F(O))
}if(!Q&&C.queue){if(N!=G[P]){H(C.onAfterFirst)
}delete G[P]
}});
H(C.onAfter);
function H(N){J.animate(G,D,C.easing,N&&function(){N.call(this,E)
})
}function F(N){var O=M?$.browser.opera?document.body:document.documentElement:L;
return O["scroll"+N]-O["client"+N]
}})
};
function B(C){return typeof C=="object"?C:{top:C,left:C}
}})(jQuery);
