jQuery.noConflict();

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 2/19/2008
 * @author Ariel Flesler
 * @version 1.3.3
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function($){var o=$.scrollTo=function(a,b,c){o.window().scrollTo(a,b,c)};o.defaults={axis:'y',duration:1};o.window=function(){return $($.browser.safari?'body':'html')};$.fn.scrollTo=function(l,m,n){if(typeof m=='object'){n=m;m=0}n=$.extend({},o.defaults,n);m=m||n.speed||n.duration;n.queue=n.queue&&n.axis.length>1;if(n.queue)m/=2;n.offset=j(n.offset);n.over=j(n.over);return this.each(function(){var a=this,b=$(a),t=l,c,d={},w=b.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t=j(t);break}t=$(t,this);case'object':if(t.is||t.style)c=(t=$(t)).offset()}$.each(n.axis.split(''),function(i,f){var P=f=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,e=a[k],D=f=='x'?'Width':'Height';if(c){d[k]=c[p]+(w?0:e-b.offset()[p]);if(n.margin){d[k]-=parseInt(t.css('margin'+P))||0;d[k]-=parseInt(t.css('border'+P+'Width'))||0}d[k]+=n.offset[p]||0;if(n.over[p])d[k]+=t[D.toLowerCase()]()*n.over[p]}else d[k]=t[p];if(/^\d+$/.test(d[k]))d[k]=d[k]<=0?0:Math.min(d[k],h(D));if(!i&&n.queue){if(e!=d[k])g(n.onAfterFirst);delete d[k]}});g(n.onAfter);function g(a){b.animate(d,m,n.easing,a&&function(){a.call(this,l)})};function h(D){var b=w?$.browser.opera?document.body:document.documentElement:a;return b['scroll'+D]-b['client'+D]}})};function j(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);


/**
 * jQuery[a] - Animated scrolling of series
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 3/20/2008
 * @author Ariel Flesler
 * @version 1.2.1
 *
 * http://flesler.blogspot.com/2008/02/jqueryserialscroll.html
 */
;(function($){var a='serialScroll',b='.'+a,c='bind',C=$[a]=function(b){$.scrollTo.window()[a](b)};C.defaults={duration:1e3,axis:'x',event:'click',start:0,step:1,lock:1,cycle:1,constant:1};$.fn[a]=function(y){y=$.extend({},C.defaults,y);var z=y.event,A=y.step,B=y.lazy;return this.each(function(){var j=y.target?this:document,k=$(y.target||this,j),l=k[0],m=y.items,o=y.start,p=y.interval,q=y.navigation,r;if(!B)m=w();if(y.force)t({},o);$(y.prev||[],j)[c](z,-A,s);$(y.next||[],j)[c](z,A,s);if(!l.ssbound)k[c]('prev'+b,-A,s)[c]('next'+b,A,s)[c]('goto'+b,t);if(p)k[c]('start'+b,function(e){if(!p){v();p=1;u()}})[c]('stop'+b,function(){v();p=0});k[c]('notify'+b,function(e,a){var i=x(a);if(i>-1)o=i});l.ssbound=1;if(y.jump)(B?k:w())[c](z,function(e){t(e,x(e.target))});if(q)q=$(q,j)[c](z,function(e){e.data=Math.round(w().length/q.length)*q.index(this);t(e,this)});function s(e){e.data+=o;t(e,this)};function t(e,a){if(!isNaN(a)){e.data=a;a=l}var c=e.data,n,d=e.type,f=y.exclude?w().slice(0,-y.exclude):w(),g=f.length,h=f[c],i=y.duration;if(d)e.preventDefault();if(p){v();r=setTimeout(u,y.interval)}if(!h){n=c<0?0:n=g-1;if(o!=n)c=n;else if(!y.cycle)return;else c=g-n-1;h=f[c]}if(!h||d&&o==c||y.lock&&k.is(':animated')||d&&y.onBefore&&y.onBefore.call(a,e,h,k,w(),c)===!1)return;if(y.stop)k.queue('fx',[]).stop();if(y.constant)i=Math.abs(i/A*(o-c));k.scrollTo(h,i,y).trigger('notify'+b,[c])};function u(){k.trigger('next'+b)};function v(){clearTimeout(r)};function w(){return $(m,l)};function x(a){if(!isNaN(a))return a;var b=w(),i;while((i=b.index(a))==-1&&a!=l)a=a.parentNode;return i}})}})(jQuery);




(function() {  

jQuery.fn.pager = function(clas, options) {

	var cContainers = this; 

	var settings = {		
		navId: 'nav',
		navClass: 'nav',
		navAttach: 'append',
		highlightClass: 'highlight',
		prevText: '&laquo;',
		nextText: '&raquo;',
		linkText: null,
		linkWrap: null,
		height: null
	}
	if(options) jQuery.extend(settings, options);
	
	return cContainers.each( function () {

		var me = jQuery(this);
		var navid = '#' + settings.navId;
		var size = jQuery(clas, me).not(navid).size();
		var i;
		if (settings.linkAnchor == null){
			i = 0;
		}
		else{
			i = (window.location.hash.substring(window.location.hash.lastIndexOf('#')) == -1) ? 0 : findArray(settings.linkAnchor, window.location.hash.substring(window.location.hash.lastIndexOf('#')));
		}
	  	
		
		function init () {
			size = jQuery(clas, me).not(navid).size();
			if(settings.height == null) {			
				settings.height = getHighest();
			}
			if(size > 1) {
				makeNav();
				show();
				highlight();
			}			
			sizePanel();
			if(settings.linkWrap != null) {
				linkWrap();
			}
		}
		function makeNav () {		
			var str = '<div id="'+settings.navId+'" class="'+settings.navClass+'">';
			str += '<a href="#prev" rel="prev">'+settings.prevText+'</a>';
			for(var i = 0; i < size; i++) {
				var j = i+1;
				str += '<a href="#';
				str += (settings.linkAnchor == null) ? '' : settings.linkAnchor[j-1];
				str += '" rel="'+ j +'">';
				str += (settings.linkText == null) ? j : settings.linkText[j-1];
				str += '</a>';
			}
			str += '<a href="#next" rel="next">'+settings.nextText+'</a>';
			str += '</div>';
			switch (settings.navAttach) {		
				case 'before':
					jQuery(me).before(str);
					break;
				case 'after':		
					jQuery(me).after(str);
					break;
				case 'prepend':
					jQuery(me).prepend(str);
					break;
				default:
					jQuery(me).append(str);
					break;
			}
		}
		function show () {
			jQuery(me).find(clas).not(navid).hide();
			var show = jQuery(me).find(clas).not(navid).get(i);
			jQuery(show).show();
		}		
		function highlight () {
			jQuery(navid).find('a').removeClass(settings.highlightClass);
			var show = jQuery(navid).find('a').get(i+1);			
			jQuery(show).addClass(settings.highlightClass);
		}

		function sizePanel () {
			if(jQuery.browser.msie) {
				jQuery(me).find(clas).not(navid).css( {
					height: settings.height
				});	
			} else {
				jQuery(me).find(clas).not(navid).css( {
					minHeight: settings.height
				});
			}
		}
		function getHighest () {
			var highest = 0;
			jQuery(me).find(clas).not(navid).each(function () {
				
				if(this.offsetHeight > highest) {
					highest = this.offsetHeight;
				}
			});
			highest = highest + 10 + "px";
			return highest;
		}
		function getNavHeight () {
			var nav = jQuery(navid).get(0);
			return nav.offsetHeight;
		}
		function linkWrap () {
			jQuery(me).find(navid).find("a").wrap(settings.linkWrap);
		}
		function findArray (array, text) {
			if (array == null){
				return text;
			}
			for(var i = 0; i < size; i++) {
				if ('#' + array[i] == text){
					return i;
				}
			}
			return 0;
		}

		init();

		jQuery(navid).find("a").click(function () {
			var j;
			if (settings.linkAnchor == null){
				j = jQuery(this).attr('rel');
			}
			else{
				j = jQuery(this).attr('href').substring(jQuery(this).attr('href').lastIndexOf('#'));
			}

			if(j == '#next' || j == 'next') {
				if(i + 1 < size) {
					i = i + 1;
					if (settings.linkAnchor != null){
						window.location.hash = '#' + settings.linkAnchor[i];
					}
				}
			}
			else if(j == '#prev' || j == 'prev') {
				if(i > 0) {	
					i = i - 1;
					if (settings.linkAnchor != null){
						window.location.hash = '#' + settings.linkAnchor[i];
					}
				}
			}
			else {
				if (settings.linkAnchor == null){
					i = j-1;
				}
				else{
					i = findArray(settings.linkAnchor, j.substring(j.lastIndexOf('#')));
					window.location.hash = j.substring(j.lastIndexOf('#'));
				}
			}

			show();
			highlight();
			return false;
		});
	});	
}

})(jQuery);  