/*
 * jqDnR - Minimalistic Drag'n'Resize for jQuery.
 *
 * Copyright (c) 2007 Brice Burgess <bhb@iceburg.net>, http://www.iceburg.net
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * $Version: 2007.08.19 +r2
 */

(function($){
$.fn.jqDrag=function(h){return i(this,h,'d');};
$.fn.jqResize=function(h){return i(this,h,'r');};
$.jqDnR={dnr:{},e:0,
drag:function(v){
 if(M.k == 'd')E.css({left:M.X+v.pageX-M.pX,top:M.Y+v.pageY-M.pY});
 else E.css({width:Math.max(v.pageX-M.pX+M.W,0),height:Math.max(v.pageY-M.pY+M.H,0)});
  return false;},
stop:function(){E.css('opacity',M.o);$().unbind('mousemove',J.drag).unbind('mouseup',J.stop);}
};
var J=$.jqDnR,M=J.dnr,E=J.e,
i=function(e,h,k){return e.each(function(){h=(h)?$(h,e):e;
 h.bind('mousedown',{e:e,k:k},function(v){var d=v.data,p={};E=d.e;
 // attempt utilization of dimensions plugin to fix IE issues
 if(E.css('position') != 'relative'){try{E.position(p);}catch(e){}}
 M={X:p.left||f('left')||0,Y:p.top||f('top')||0,W:f('width')||E[0].scrollWidth||0,H:f('height')||E[0].scrollHeight||0,pX:v.pageX,pY:v.pageY,k:d.k,o:E.css('opacity')};
 E.css({opacity:0.8});$().mousemove($.jqDnR.drag).mouseup($.jqDnR.stop);
 return false;
 });
});},
f=function(k){return parseInt(E.css(k))||false;};
})(jQuery);


/*
 * Superfish v1.4.8 - jQuery menu widget
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 * 	http://www.opensource.org/licenses/mit-license.php
 * 	http://www.gnu.org/licenses/gpl.html
 *
 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
 */

;(function($){
	$.fn.superfish = function(op){

		var sf = $.fn.superfish,
			c = sf.c,
			$arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
			over = function(){
				var $$ = $(this), menu = getMenu($$);
				clearTimeout(menu.sfTimer);
				$$.showSuperfishUl().siblings().hideSuperfishUl();
			},
			out = function(){
				var $$ = $(this), menu = getMenu($$), o = sf.op;
				clearTimeout(menu.sfTimer);
				menu.sfTimer=setTimeout(function(){
					o.retainPath=($.inArray($$[0],o.$path)>-1);
					$$.hideSuperfishUl();
					if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
				},o.delay);	
			},
			getMenu = function($menu){
				var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
				sf.op = sf.o[menu.serial];
				return menu;
			},
			addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
			
		return this.each(function() {
			var s = this.serial = sf.o.length;
			var o = $.extend({},sf.defaults,op);
			o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
				$(this).addClass([o.hoverClass,c.bcClass].join(' '))
					.filter('li:has(ul)').removeClass(o.pathClass);
			});
			sf.o[s] = sf.op = o;
			
			$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
				if (o.autoArrows) addArrow( $('>a:first-child',this) );
			})
			.not('.'+c.bcClass)
				.hideSuperfishUl();
			
			var $a = $('a',this);
			$a.each(function(i){
				var $li = $a.eq(i).parents('li');
				$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
			});
			o.onInit.call(this);
			
		}).each(function() {
			var menuClasses = [c.menuClass];
			if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
			$(this).addClass(menuClasses.join(' '));
		});
	};

	var sf = $.fn.superfish;
	sf.o = [];
	sf.op = {};
	sf.IE7fix = function(){
		var o = sf.op;
		if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
			this.toggleClass(sf.c.shadowClass+'-off');
		};
	sf.c = {
		bcClass     : 'sf-breadcrumb',
		menuClass   : 'sf-js-enabled',
		anchorClass : 'sf-with-ul',
		arrowClass  : 'sf-sub-indicator',
		shadowClass : 'sf-shadow'
	};
	sf.defaults = {
		hoverClass	: 'sfHover',
		pathClass	: 'overideThisToUse',
		pathLevels	: 1,
		delay		: 800,
		animation	: {opacity:'show'},
		speed		: 'normal',
		autoArrows	: true,
		dropShadows : true,
		disableHI	: false,		// true disables hoverIntent detection
		onInit		: function(){}, // callback functions
		onBeforeShow: function(){},
		onShow		: function(){},
		onHide		: function(){}
	};
	$.fn.extend({
		hideSuperfishUl : function(){
			var o = sf.op,
				not = (o.retainPath===true) ? o.$path : '';
			o.retainPath = false;
			var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
					.find('>ul').hide().css('visibility','hidden');
			o.onHide.call($ul);
			return this;
		},
		showSuperfishUl : function(){
			var o = sf.op,
				sh = sf.c.shadowClass+'-off',
				$ul = this.addClass(o.hoverClass)
					.find('>ul:hidden').css('visibility','visible');
			sf.IE7fix.call($ul);
			o.onBeforeShow.call($ul);
			$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
			return this;
		}
	});

})(jQuery);


/*
 * ajaxadd.js
 */
jqkv.fn.addArticle = function (articleid, quantityinput) {
		if (jqkv("#" + quantityinput).attr('value') != "undefined") {
			var $targetBtn = jqkv(this);
			jqkv("#addItemWidget-msg").load(
		"/Handlers/AjaxBuyHandler.aspx",
		{ 'quantity': jqkv("#" + quantityinput).attr('value'), 'externalid': articleid },
		function () {
			var placement = $targetBtn.offset();
			placement.width = jqkv("#addItemWidget").width();
			jqkv("#addItemWidget").css(placement).slideDown(300, function () {
				setTimeout(function () { jqkv("#addItemWidget").animate({ opacity: "hide", height: "hide" }, 300); }, 2500);
			});
			jqkv("#basket").load("/Handlers/AjaxBasket.aspx");
		}
	);
		}
		return false;
	};

/*
 * popup.js
 */
var popupStatus = 0;

function loadPopup() {
	if (popupStatus == 0) {
		jqkv("#backgroundPopup").css({
			"opacity": "0.7"
		});
		jqkv("#backgroundPopup").fadeIn("slow");
		jqkv("#popupZip").fadeIn("slow");
		popupStatus = 1;
		DefaultFocus();
	}
}

function disablePopup() {
	if (popupStatus == 1) {
		jqkv("#backgroundPopup").fadeOut("slow");
		jqkv("#popupZip").fadeOut("slow");
		popupStatus = 0;
	}
}

jQuery.fn.center = function () {
	var height = this.height() + '';
	var width = this.width() + '';
	height = height.replace(/px,*\)*/g, "");
	width = width.replace(/px,*\)*/g, "");
	this.css("position", "absolute");
	this.css("top", (jqkv(window).height() - height) / 2 + jqkv(window).scrollTop() + "px");
	this.css("left", (jqkv(window).width() - width) / 2 + jqkv(window).scrollLeft() + "px");
	return this;
}

function centerPopup() {
	jqkv("#popupZip").center();
}

function setCloseTimer(seconds, counterId) {
	var count = seconds;
	var iid = window.setInterval(countDown, 1000);
	
	function countDown() {
		jqkv("#" + counterId).text(count);
		count--;
		if (count <= 0) {
			clearInterval(iid);
			location = location;
		}
	}
}


// Initialization, you can leave this here to place this somewhere else
jqkv(function () {
	jqkv('ul.jd_menu').jdMenu();
});

/*

* jdMenu 1.4.1 (2008-03-31)

*

* Copyright (c) 2006,2007 Jonathan Sharp (http://jdsharp.us)

* Dual licensed under the MIT (MIT-LICENSE.txt)

* and GPL (GPL-LICENSE.txt) licenses.

*

* http://jdsharp.us/

*

* Built upon jQuery 1.2.1 (http://jquery.com)

* This also requires the jQuery dimensions >= 1.2 plugin

*/

(function ($) {

	function addEvents(ul) {

		var settings = $.data($(ul).parents().andSelf().filter('ul.jd_menu')[0], 'jdMenuSettings');

		$('> li', ul)
			.bind('mouseenter.jdmenu mouseleave.jdmenu', function (evt) {
				$(this).toggleClass('jdm_hover');
				var ul = $('> ul', this);
				if (ul.length == 1) {
					clearTimeout(this.$jdTimer);
					var enter = (evt.type == 'mouseenter');
					var fn = (enter ? showMenu : hideMenu);
					this.$jdTimer = setTimeout(function () {
						fn(ul[0], settings.onAnimate, settings.isVertical);
					}, enter ? settings.showDelay : settings.hideDelay);
				}
			})
			.bind('click.jdmenu', function (evt) {
				var ul = $('> ul', this);
				if (ul.length == 1 &&
					(settings.disableLinks == true || $(this).hasClass('accessible'))) {
					showMenu(ul, settings.onAnimate, settings.isVertical);
					return false;
				}

				// The user clicked the li and we need to trigger a click for the a
				if (evt.target == this) {
					var link = $('> a', evt.target).not('.accessible');
					if (link.length > 0) {
						var a = link[0];
						if (!a.onclick) {
							window.open(a.href, a.target || '_self');
						} else {
							$(a).trigger('click');
						}
					}
				}
				if (settings.disableLinks ||
					(!settings.disableLinks && !$(this).parent().hasClass('jd_menu'))) {
					$(this).parent().jdMenuHide();
					evt.stopPropagation();
				}
			})
			.find('> a')
				.bind('focus.jdmenu blur.jdmenu', function (evt) {
					var p = $(this).parents('li:eq(0)');
					if (evt.type == 'focus') {
						p.addClass('jdm_hover');
					} else {
						p.removeClass('jdm_hover');
					}
				})
				.filter('.accessible')
					.bind('click.jdmenu', function (evt) {
						evt.preventDefault();
					});

	}


	function showMenu(ul, animate, vertical) {

		var ul = $(ul);

		if (ul.is(':visible')) {

			return;

		}

		ul.bgiframe();

		var li = ul.parent();

		ul.trigger('jdMenuShow')
			.positionBy({ target: li[0],
				targetPos: (vertical === true || !li.parent().hasClass('jd_menu') ? 1 : 3),
				elementPos: 0,
				hideAfterPosition: true
			});

		if (!ul.hasClass('jdm_events')) {

			ul.addClass('jdm_events');

			addEvents(ul);

		}

		li.addClass('jdm_active')

		// Hide any adjacent menus
			.siblings('li').find('> ul:eq(0):visible')
				.each(function () {
					hideMenu(this);
				});

		if (animate === undefined) {

			ul.show();

		} else {

			animate.apply(ul[0], [true]);

		}

	}


	function hideMenu(ul, animate) {

		var ul = $(ul);

		$('.bgiframe', ul).remove();

		ul.filter(':not(.jd_menu)')
			.find('> li > ul:eq(0):visible')
				.each(function () {
					hideMenu(this);
				})
			.end();

		if (animate === undefined) {

			ul.hide()

		} else {

			animate.apply(ul[0], [false]);

		}


		ul.trigger('jdMenuHide')
			.parents('li:eq(0)')
				.removeClass('jdm_active jdm_hover')
			.end()
				.find('> li')
				.removeClass('jdm_active jdm_hover');

	}


	// Public methods

	$.fn.jdMenu = function (settings) {

		// Future settings: activateDelay

		var settings = $.extend({	// Time in ms before menu shows

			showDelay: 200,

			// Time in ms before menu hides

			hideDelay: 500,

			// Should items that contain submenus not 

			// respond to clicks

			disableLinks: true

			// This callback allows for you to animate menus

			//onAnimate:	null

		}, settings);

		if (!$.isFunction(settings.onAnimate)) {

			settings.onAnimate = undefined;

		}

		return this.filter('ul.jd_menu').each(function () {

			$.data(this,
					'jdMenuSettings',
					$.extend({ isVertical: $(this).hasClass('jd_menu_vertical') }, settings)
					);

			addEvents(this);

		});

	};


	$.fn.jdMenuUnbind = function () {

		$('ul.jdm_events', this)
			.unbind('.jdmenu')
			.find('> a').unbind('.jdmenu');

	};

	$.fn.jdMenuHide = function () {

		return this.filter('ul').each(function () {

			hideMenu(this);

		});

	};


	// Private methods and logic

	$(window)

	// Bind a click event to hide all visible menus when the document is clicked
		.bind('click.jdmenu', function () {
			$('ul.jd_menu ul:visible').jdMenuHide();
		});
	})(jQuery);

(function($){
$.fn.bgIframe = $.fn.bgiframe = function(s) {
	// This is only for IE6
	if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
		s = $.extend({
			top     : 'auto', // auto == .currentStyle.borderTopWidth
			left    : 'auto', // auto == .currentStyle.borderLeftWidth
			width   : 'auto', // auto == offsetWidth
			height  : 'auto', // auto == offsetHeight
			opacity : true,
			src     : 'javascript:false;'
		}, s || {});
		var prop = function(n){return n&&n.constructor==Number?n+'px':n;},
		    html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
		               'style="display:block;position:absolute;z-index:-1;'+
			               (s.opacity !== false?'filter:Alpha(Opacity=\'0\');':'')+
					       'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
					       'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
					       'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
					       'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
					'"/>';
		return this.each(function() {
			if ( $('> iframe.bgiframe', this).length == 0 )
				this.insertBefore( document.createElement(html), this.firstChild );
		});
	}
	return this;
};

})(jQuery);

(function($){
	/**
	 * This function centers an absolutely positioned element
	 */
	/*
	$.fn.positionCenter = function(offsetLeft, offsetTop) {
		var offsetLeft 	= offsetLeft || 1;
		var offsetTop 	= offsetTop || 1;

		var ww = $(window).width();
		var wh = $(window).height();
		var sl = $(window).scrollLeft();
		var st = $(window).scrollTop();

		return this.each(function() {
			var $t = $(this);
			
			// If we are not visible we have to display our element (with a negative position offscreen)

			var left = Math.round( ( ww - $t.outerWidth() ) / 2 );
			if ( left < 0 ) {
				left = 0;
			} else {
				left *= offsetLeft;
			}
			left += sl;
			var top  = Math.round( ( wh - $t.outerHeight() ) / 2 );
			if ( top < 0 ) {
				top = 0;
			} else {
				top *= offsetTop;
			}
			top += st;

			$(this).parents().each(function() {
				var $this = $(this);
				if ( $this.css('position') != 'static' ) {
					var o = $this.offset();
					left += -o.left;
					top	 += -o.top;
					return false;
				}
			});

			$t.css({left: left, top: top});
		});
	};
	*/
	
	// Our range object is used in calculating positions
	var Range = function(x1, y1, x2, y2) {
		this.x1	= x1;	this.x2 = x2;
		this.y1 = y1;	this.y2 = y2;
	};
	Range.prototype.contains = function(range) {
		return 	(this.x1 <= range.x1 && range.x2 <= this.x2) 
				&& 
				(this.y1 <= range.y1 && range.y2 <= this.y2);
	};
	Range.prototype.transform = function(x, y) {
		return new Range(this.x1 + x, this.y1 + y, this.x2 + x, this.y2 + y);
	};

	$.fn.positionBy = function(args) {
		var date1 = new Date();
		if ( this.length == 0 ) {
			return this;
		}
		
		var args = $.extend({	// The target element to position us relative to
								target:		null,
								// The target's corner, possible values 0-3
								targetPos:	null,
								// The element's corner, possible values 0-3
								elementPos:	null,
								
								// A raw x,y coordinate
								x:			null,
								y:			null,

								// Pass in an array of positions that are valid 0-15
								positions:	null,

								// Add the final position class to the element (eg. positionBy0 through positionBy3, positionBy15)
								addClass: 	false,
								
								// Force our element to be at the location we specified (don't try to auto position it)
								force: 		false,
								
								// The element that we will make sure our element doesn't go outside of
								container: 	window,

								// Should the element be hidden after positioning?
								hideAfterPosition: false
							}, args);

		if ( args.x != null ) {
			var tLeft	= args.x;
			var tTop	= args.y;
			var tWidth	= 0;
			var tHeight	= 0;
			
		// Position in relation to an element
		} else {
			var $target	= $( $( args.target )[0] );
			var tWidth	= $target.outerWidth();
			var tHeight	= $target.outerHeight();
			var tOffset	= $target.offset();
			var tLeft	= tOffset.left;
			var tTop	= tOffset.top;
		}

		// Our target right, bottom coord
		var tRight	= tLeft + tWidth;
		var tBottom	= tTop + tHeight;

		return this.each(function() {
			var $element = $( this );

			// Position our element in the top left so we can grab its width without triggering scrollbars
			if ( !$element.is(':visible') ) {
				$element.css({	left:  		-3000, 
								top: 		-3000
								})
								.show();
			}

			var eWidth	= $element.outerWidth();
			var eHeight	= $element.outerHeight();
	
			// Holds x1,y1,x2,y2 coordinates for a position in relation to our target element
			var position = [];
			// Holds a list of alternate positions to try if this one is not in the browser viewport
			var next	 = [];
	
			// Our Positions via ASCII ART
			/*
   	      	 8   9       10   11
			   +------------+
			 7 | 15      12 | 0
			   |            |
			 6 | 14      13 | 1
			   +------------+ 
			 5   4        3   2
	
			 */

			position[0]	= new Range(tRight, 			tTop, 				tRight + eWidth, 	tTop + eHeight);
			next[0]		= [1,7,4];
		
			position[1]	= new Range(tRight, 			tBottom - eHeight, 	tRight + eWidth, 	tBottom);
			next[1]		= [0,6,4];
		
			position[2] = new Range(tRight, 			tBottom,			tRight + eWidth, 	tBottom + eHeight);
			next[2]		= [1,3,10];
		
			position[3] = new Range(tRight - eWidth, 	tBottom,			tRight, 			tBottom + eHeight);
			next[3]		= [1,6,10];
			
			position[4] = new Range(tLeft, 				tBottom,			tLeft + eWidth, 	tBottom + eHeight);
			next[4]		= [1,6,9];
		
			position[5] = new Range(tLeft - eWidth, 	tBottom, 			tLeft, 				tBottom + eHeight);
			next[5]		= [6,4,9];
		
			position[6] = new Range(tLeft - eWidth, 	tBottom - eHeight,	tLeft, 				tBottom);
			next[6]		= [7,1,4];
			
			position[7] = new Range(tLeft - eWidth, 	tTop,				tLeft, 				tTop + eHeight);
			next[7]		= [6,0,4];
			
			position[8] = new Range(tLeft - eWidth, 	tTop - eHeight,		tLeft, 				tTop);
			next[8]		= [7,9,4];
			
			position[9] = new Range(tLeft, 				tTop - eHeight,		tLeft + eWidth, 	tTop);
			next[9]		= [0,7,4];
			
			position[10]= new Range(tRight - eWidth, 	tTop - eHeight,		tRight, 			tTop);
			next[10]	= [0,7,3];
		
			position[11]= new Range(tRight, 			tTop - eHeight, 	tRight + eWidth, 	tTop);
			next[11]	= [0,10,3];
			
			position[12]= new Range(tRight - eWidth, 	tTop,				tRight, 			tTop + eHeight);
			next[12]	= [13,7,10];
			
			position[13]= new Range(tRight - eWidth, 	tBottom - eHeight,	tRight, 			tBottom);
			next[13]	= [12,6,3];
			
			position[14]= new Range(tLeft, 				tBottom - eHeight,	tLeft + eWidth, 	tBottom);
			next[14]	= [15,1,4];
			
			position[15]= new Range(tLeft, 				tTop,				tLeft + eWidth, 	tTop + eHeight);
			next[15]	= [14,0,9];
	
			if ( args.positions !== null ) {
				var pos = args.positions[0];
			} else if ( args.targetPos != null && args.elementPos != null ) {
				var pos = [];
				pos[0] = [];
				pos[0][0] = 15;
				pos[0][1] = 7;
				pos[0][2] = 8;
				pos[0][3] = 9;
				pos[1] = [];
				pos[1][0] = 0;
				pos[1][1] = 12;
				pos[1][2] = 10;
				pos[1][3] = 11;
				pos[2] = [];
				pos[2][0] = 2;
				pos[2][1] = 3;
				pos[2][2] = 13;
				pos[2][3] = 1;
				pos[3] = [];
				pos[3][0] = 4;
				pos[3][1] = 5;
				pos[3][2] = 6;
				pos[3][3] = 14;

				var pos = pos[args.targetPos][args.elementPos];
			}
			var ePos = position[pos];
			var fPos = pos;

			if ( !args.force ) {
				// TODO: Do the args.container
				// window width & scroll offset
				$window = $( window );
				var sx = $window.scrollLeft();
				var sy = $window.scrollTop();
				
				// TODO: Look at innerWidth & innerHeight
				var container = new Range( sx, sy, sx + $window.width(), sy + $window.height() );
	
				// If we are outside of our viewport, see if we are outside vertically or horizontally and push onto the stack
				var stack;
				if ( args.positions ) {
					stack = args.positions;
				} else {
					stack = [pos];
				}
				var test = [];		// Keeps track of our positions we already tried
				
				while ( stack.length > 0 ) {
					var p = stack.shift();
					if ( test[p] ) {
						continue;
					}
					test[p] = true;
	
					// If our current position is not within the viewport (eg. window) 
					// add the next suggested position
					if ( !container.contains(position[p]) ) {
						if ( args.positions === null ) {
							stack = jQuery.merge( stack, next[p] );
						}
					} else {
						ePos = position[p];
						break;
					}
				}
			}

			// + TODO: Determine if we are going to use absolute left, top, bottom, right 
			// positions relative to our target
		
			// Take into account any absolute or fixed positioning
			// to 'normalize' our coordinates
			$element.parents().each(function() {
				var $this = $(this);
				if ( $this.css('position') != 'static' ) {
					var abs = $this.offset();
					ePos = ePos.transform( -abs.left, -abs.top );
					return false;
				}
			});
		
			// Finally position our element
			var css = { left: ePos.x1, top: ePos.y1 };
			if ( args.hideAfterPosition ) {
				css['display'] = 'none';
			}
			$element.css( css );

			if ( args.addClass ) {
				$element.removeClass( 'positionBy0 positionBy1 positionBy2 positionBy3 positionBy4 positionBy5 '
									+ 'positionBy6 positionBy7 positionBy8 positionBy9 positionBy10 positionBy11 '
									+ 'positionBy12 positionBy13 positionBy14 positionBy15')
						.addClass('positionBy' + p);
			}
		});
	};
})(jQuery);


/*
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2009 M. Alsup
 * Version: 2.54 (23-FEB-2009)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires: jQuery v1.2.3 or later
 *
 * Originally based on the work of:
 *	1) Matt Oakes (http://portfolio.gizone.co.uk/applications/slideshow/)
 *	2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
 *	3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
 */
;(function($){var ver="2.54";if($.support==undefined){$.support={opacity:!($.browser.msie&&/MSIE 6.0/.test(navigator.userAgent))};}function log(){if(window.console&&window.console.log){window.console.log("[cycle] "+Array.prototype.join.call(arguments,""));}}$.fn.cycle=function(options,arg2){if(this.length==0&&options!="stop"){if(!$.isReady&&this.selector){log("DOM not ready, queuing slideshow");var o={s:this.selector,c:this.context};$(function(){$(o.s,o.c).cycle(options,arg2);});return;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){options=handleArguments(this,options,arg2);if(options===false){return;}if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=options.slideExpr?$(options.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts=buildOptions($cont,$slides,els,options);if(opts===false){return;}if(opts.timeout||opts.continuous){this.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.rev);},opts.continuous?10:opts.timeout+(opts.delay||0));}});};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"stop":cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;$(cont).removeData("cycle.opts");return false;case"pause":cont.cyclePause=1;return false;case"resume":cont.cyclePause=0;if(arg2===true){options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,1);}return false;default:options={fx:options};}}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(this.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;}function buildOptions($cont,$slides,els,options){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0;});if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){this.style.removeAttribute("filter");});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,!opts.rev);});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide){opts.startingSlide=parseInt(opts.startingSlide);}if(opts.random){opts.randomMap=[];for(var i=0;i<els.length;i++){opts.randomMap.push(i);}opts.randomMap.sort(function(a,b){return Math.random()-0.5;});opts.randomIndex=0;opts.startingSlide=opts.randomMap[0];}else{if(opts.startingSlide>=els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z=first?i>=first?els.length-(i-first):first-i:els.length-i;$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();if(!$.support.opacity&&opts.cleartype){els[first].style.removeAttribute("filter");}if(opts.fit&&opts.width){$slides.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var i=0;i<els.length;i++){var $e=$(els[i]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();if(!w){w=e.offsetWidth;}if(!h){h=e.offsetHeight;}maxw=w>maxw?w:maxw;maxh=h>maxh?h:maxh;}if(maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}}if(opts.pause){$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});}supportMultiTransitions(opts);if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:$el.height();this.cycleW=(opts.fit&&opts.width)?opts.width:$el.width();});opts.cssBefore=opts.cssBefore||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);if(opts.cssFirst){$($slides[first]).css(opts.cssFirst);}if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);}if(!opts.sync){opts.speed=opts.speed/2;}while((opts.timeout-opts.speed)<250){opts.timeout+=opts.speed;}}if(opts.easing){opts.easeIn=opts.easeOut=opts.easing;}if(!opts.speedIn){opts.speedIn=opts.speed;}if(!opts.speedOut){opts.speedOut=opts.speed;}opts.slideCount=els.length;opts.currSlide=opts.lastSlide=first;if(opts.random){opts.nextSlide=opts.currSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.startingSlide>=(els.length-1)?0:opts.startingSlide+1;}var e0=$slides[first];if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length>1){opts.after[1].apply(e0,[e0,e0,opts,true]);}if(opts.next){$(opts.next).click(function(){return advance(opts,opts.rev?-1:1);});}if(opts.prev){$(opts.prev).click(function(){return advance(opts,opts.rev?1:-1);});}if(opts.pager){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(var i=0;i<opts.fxs.length;i++){var fx=opts.fxs[i];var tx=txs[fx];if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){log("discarding unknowtn transition: ",fx);opts.fxs.splice(i,1);i--;}}if(!opts.fxs.length){log("No valid transitions named; slideshow terminating.");return false;}}else{if(opts.fx=="all"){opts.multiFx=true;opts.fxs=[];for(p in txs){var tx=txs[p];if(txs.hasOwnProperty(p)&&$.isFunction(tx)){opts.fxs.push(p);}}}}if(opts.multiFx&&opts.randomizeEffects){var r1=Math.floor(Math.random()*20)+30;for(var i=0;i<r1;i++){var r2=Math.floor(Math.random()*opts.fxs.length);opts.fxs.push(opts.fxs.splice(r2,1)[0]);}log("randomized fx sequence: ",opts.fxs);}}function exposeAddSlide(opts,els){opts.addSlide=function(newSlide,prepend){var $s=$(newSlide),s=$s[0];if(!opts.autostopCount){opts.countdown++;}els[prepend?"unshift":"push"](s);if(opts.els){opts.els[prepend?"unshift":"push"](s);}opts.slideCount=els.length;$s.css("position","absolute");$s[prepend?"prependTo":"appendTo"](opts.$cont);if(prepend){opts.currSlide++;opts.nextSlide++;}if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($s);}if(opts.fit&&opts.width){$s.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}s.cycleH=(opts.fit&&opts.height)?opts.height:$s.height();s.cycleW=(opts.fit&&opts.width)?opts.width:$s.width();$s.css(opts.cssBefore);if(opts.pager){$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);}if($.isFunction(opts.onAddSlide)){opts.onAddSlide($s);}else{$s.hide();}};}$.fn.cycle.resetState=function(opts,fx){var fx=fx||opts.fx;opts.before=[];opts.after=[];opts.cssBefore=$.extend({},opts.original.cssBefore);opts.cssAfter=$.extend({},opts.original.cssAfter);opts.animIn=$.extend({},opts.original.animIn);opts.animOut=$.extend({},opts.original.animOut);opts.fxFn=null;$.each(opts.original.before,function(){opts.before.push(this);});$.each(opts.original.after,function(){opts.after.push(this);});var init=$.fn.cycle.transitions[fx];if($.isFunction(init)){init(opts.$cont,$(opts.elements),opts);}};function go(els,opts,manual,fwd){if(manual&&opts.busy){$(els).stop(true,true);opts.busy=false;}if(opts.busy){return;}var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual){return;}if(!manual&&!p.cyclePause&&((opts.autostop&&(--opts.countdown<=0))||(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){if(opts.end){opts.end(opts);}return;}if(manual||!p.cyclePause){var fx=opts.fx;curr.cycleH=curr.cycleH||curr.offsetHeight;curr.cycleW=curr.cycleW||curr.offsetWidth;next.cycleH=next.cycleH||next.offsetHeight;next.cycleW=next.cycleW||next.offsetWidth;if(opts.multiFx){if(opts.lastFx==undefined||++opts.lastFx>=opts.fxs.length){opts.lastFx=0;}fx=opts.fxs[opts.lastFx];opts.currFx=fx;}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});};if(opts.nextSlide!=opts.currSlide){opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after);}else{$.fn.cycle.custom(curr,next,opts,after,manual&&opts.fastOnEvent);}}}opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{var roll=(opts.nextSlide+1)==els.length;opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}if(opts.pager){$.fn.cycle.updateActivePagerLink(opts.pager,opts.currSlide);}}var ms=0;if(opts.timeout&&!opts.continuous){ms=getTimeout(curr,next,opts,fwd);}else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.rev);},ms);}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide){$(pager).find("a").removeClass("activeSlide").filter("a:eq("+currSlide+")").addClass("activeSlide");};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn(curr,next,opts,fwd);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1);};$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1);};function advance(opts,val){var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}if($.isFunction(opts.prevNextClick)){opts.prevNextClick(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,val>=0);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});$.fn.cycle.updateActivePagerLink(opts.pager,opts.startingSlide);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a=($.isFunction(opts.pagerAnchorBuilder))?opts.pagerAnchorBuilder(i,el):'<a href="#">'+(i+1)+"</a>";if(!a){return;}var $a=$(a);if($a.parents("body").length==0){$a.appendTo($p);}$a.bind(opts.pagerEvent,function(){opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if($.isFunction(opts.pagerClick)){opts.pagerClick(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlide<i);return false;});if(opts.pauseOnPagerHover){$a.hover(function(){opts.$cont[0].cyclePause++;},function(){opts.$cont[0].cyclePause--;});}};$.fn.cycle.hopsFromLast=function(opts,fwd){var hops,l=opts.lastSlide,c=opts.currSlide;if(fwd){hops=c>l?c-l:opts.slideCount-l;}else{hops=c<l?l-c:l+opts.slideCount-c;}return hops;};function clearTypeFix($slides){function hex(s){var s=parseInt(s).toString(16);return s.length<2?"0"+s:s;}function getBg(e){for(;e&&e.nodeName.toLowerCase()!="html";e=e.parentNode){var v=$.css(e,"background-color");if(v.indexOf("rgb")>=0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();opts.cssBefore.opacity=1;opts.cssBefore.display="block";if(w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,cb);};$l.animate(opts.animOut,speedOut,easeOut,function(){if(opts.cssAfter){$l.css(opts.cssAfter);}if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.fn.cycle.defaults={fx:"fade",timeout:4000,timeoutFn:null,continuous:0,speed:1000,speedIn:null,speedOut:null,next:null,prev:null,prevNextClick:null,pager:null,pagerClick:null,pagerEvent:"click",pagerAnchorBuilder:null,before:null,after:null,end:null,easing:null,easeIn:null,easeOut:null,shuffle:null,animIn:null,animOut:null,cssBefore:null,cssAfter:null,fxFn:null,height:"auto",startingSlide:0,sync:1,random:0,fit:0,containerResize:1,pause:0,pauseOnPagerHover:0,autostop:0,autostopCount:0,delay:0,slideExpr:null,cleartype:!$.support.opacity,nowrap:0,fastOnEvent:0,randomizeEffects:1,rev:0};})(jQuery);
/*
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2008 M. Alsup
 * Version:	 2.52
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
;(function($){$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore={top:h,left:0};opts.cssFirst={top:0};opts.animIn={top:0};opts.animOut={top:-h};};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssFirst={top:0};opts.cssBefore={top:-h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:0-w};};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:-w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);opts.animOut.left=fwd?-curr.cycleW:curr.cycleW;});opts.cssFirst={left:0};opts.cssBefore={top:0};opts.animIn={left:0};opts.animOut={top:0};};$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);opts.animOut.top=fwd?curr.cycleH:-curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0};opts.animIn={top:0};opts.animOut={left:0};};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;});opts.cssBefore={left:0,top:0,width:0};opts.animIn={width:"show"};opts.animOut={width:0};};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;});opts.cssBefore={left:0,top:0,height:0};opts.animIn={height:"show"};opts.animOut={height:0};};$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){var w=$cont.css("overflow","visible").width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);});opts.speed=opts.speed/2;opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(var i=0;i<$slides.length;i++){opts.els.push($slides[i]);}for(var i=0;i<opts.currSlide;i++){opts.els.push(opts.els.shift());}opts.fxFn=function(curr,next,opts,cb,fwd){var $el=fwd?$(curr):$(next);$(next).css(opts.cssBefore);var count=opts.slideCount;$el.animate(opts.shuffle,opts.speedIn,opts.easeIn,function(){var hops=$.fn.cycle.hopsFromLast(opts,fwd);for(var k=0;k<hops;k++){fwd?opts.els.push(opts.els.shift()):opts.els.unshift(opts.els.pop());}if(fwd){for(var i=0,len=opts.els.length;i<len;i++){$(opts.els[i]).css("z-index",len-i+count);}}else{var z=$(curr).css("z-index");$el.css("z-index",parseInt(z)+1+count);}$el.animate({left:0,top:0},opts.speedOut,opts.easeOut,function(){$(fwd?this:curr).hide();if(cb){cb();}});});};opts.cssBefore={display:"block",opacity:1,top:0,left:0};};$.fn.cycle.transitions.turnUp=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=next.cycleH;opts.animIn.height=next.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0,height:0};opts.animIn={top:0};opts.animOut={height:0};};$.fn.cycle.transitions.turnDown=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0,top:0,height:0};opts.animOut={height:0};};$.fn.cycle.transitions.turnLeft=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=next.cycleW;opts.animIn.width=next.cycleW;});opts.cssBefore={top:0,width:0};opts.animIn={left:0};opts.animOut={width:0};};$.fn.cycle.transitions.turnRight=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore={top:0,left:0,width:0};opts.animIn={left:0};opts.animOut={width:0};};$.fn.cycle.transitions.zoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false,true);opts.cssBefore.top=next.cycleH/2;opts.cssBefore.left=next.cycleW/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};opts.animOut={width:0,height:0,top:curr.cycleH/2,left:curr.cycleW/2};});opts.cssFirst={top:0,left:0};opts.cssBefore={width:0,height:0};};$.fn.cycle.transitions.fadeZoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false);opts.cssBefore.left=next.cycleW/2;opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};});opts.cssBefore={width:0,height:0};opts.animOut={opacity:0};};$.fn.cycle.transitions.blindX=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.blindY=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore={top:h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.blindZ=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();var w=$cont.width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore={top:h,left:w};opts.animIn={top:0,left:0};opts.animOut={top:h,left:w};};$.fn.cycle.transitions.growX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=this.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:0};});opts.cssBefore={width:0,top:0};};$.fn.cycle.transitions.growY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=this.cycleH/2;opts.animIn={top:0,height:this.cycleH};opts.animOut={top:0};});opts.cssBefore={height:0,left:0};};$.fn.cycle.transitions.curtainX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true,true);opts.cssBefore.left=next.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:curr.cycleW/2,width:0};});opts.cssBefore={top:0,width:0};};$.fn.cycle.transitions.curtainY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false,true);opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,height:next.cycleH};opts.animOut={top:curr.cycleH/2,height:0};});opts.cssBefore={left:0,height:0};};$.fn.cycle.transitions.cover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);if(d=="right"){opts.cssBefore.left=-w;}else{if(d=="up"){opts.cssBefore.top=h;}else{if(d=="down"){opts.cssBefore.top=-h;}else{opts.cssBefore.left=w;}}}});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0};};$.fn.cycle.transitions.uncover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(d=="right"){opts.animOut.left=w;}else{if(d=="up"){opts.animOut.top=-h;}else{if(d=="down"){opts.animOut.top=h;}else{opts.animOut.left=-w;}}}});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0};};$.fn.cycle.transitions.toss=function($cont,$slides,opts){var w=$cont.css("overflow","visible").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(!opts.animOut.left&&!opts.animOut.top){opts.animOut={left:w*2,top:-h/2,opacity:0};}else{opts.animOut.opacity=0;}});opts.cssBefore={left:0,top:0};opts.animIn={left:0};};$.fn.cycle.transitions.wipe=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.cssBefore=opts.cssBefore||{};var clip;if(opts.clip){if(/l2r/.test(opts.clip)){clip="rect(0px 0px "+h+"px 0px)";}else{if(/r2l/.test(opts.clip)){clip="rect(0px "+w+"px "+h+"px "+w+"px)";}else{if(/t2b/.test(opts.clip)){clip="rect(0px "+w+"px 0px 0px)";}else{if(/b2t/.test(opts.clip)){clip="rect("+h+"px "+w+"px "+h+"px 0px)";}else{if(/zoom/.test(opts.clip)){var t=parseInt(h/2);var l=parseInt(w/2);clip="rect("+t+"px "+l+"px "+t+"px "+l+"px)";}}}}}}opts.cssBefore.clip=opts.cssBefore.clip||clip||"rect(0px 0px 0px 0px)";var d=opts.cssBefore.clip.match(/(\d+)/g);var t=parseInt(d[0]),r=parseInt(d[1]),b=parseInt(d[2]),l=parseInt(d[3]);opts.before.push(function(curr,next,opts){if(curr==next){return;}var $curr=$(curr),$next=$(next);$.fn.cycle.commonReset(curr,next,opts,true,true,false);opts.cssAfter.display="block";var step=1,count=parseInt((opts.speedIn/13))-1;(function f(){var tt=t?t-parseInt(step*(t/count)):0;var ll=l?l-parseInt(step*(l/count)):0;var bb=b<h?b+parseInt(step*((h-b)/count||1)):h;var rr=r<w?r+parseInt(step*((w-r)/count||1)):w;$next.css({clip:"rect("+tt+"px "+rr+"px "+bb+"px "+ll+"px)"});(step++<=count)?setTimeout(f,13):$curr.css("display","none");})();});opts.cssBefore={display:"block",opacity:1,top:0,left:0};opts.animIn={left:0};opts.animOut={left:0};};})(jQuery);

/**
 * Twitter - http://www.twitter.com
 * Copyright (C) 2010 Twitter
 * Author: Dustin Diaz (dustin@twitter.com)
 *
 * V 2.2.3 Twitter search/profile/faves/list widget
 * http://twitter.com/widgets
 */
if(!"console" in window){window.console={log:function(){}}}TWTR=window.TWTR||{};if(!Array.prototype.forEach){Array.prototype.forEach=function(D,E){var C=E||window;for(var B=0,A=this.length;B<A;++B){D.call(C,this[B],B,this)}};Array.prototype.filter=function(E,F){var D=F||window;var A=[];for(var C=0,B=this.length;C<B;++C){if(!E.call(D,this[C],C,this)){continue}A.push(this[C])}return A};Array.prototype.indexOf=function(B,C){var C=C||0;for(var A=0;A<this.length;++A){if(this[A]===B){return A}}return -1}}(function(){if(TWTR&&TWTR.Widget){return }function A(B,D,C){this.el=B;this.prop=D;this.from=C.from;this.to=C.to;this.time=C.time;this.callback=C.callback;this.animDiff=this.to-this.from}A.canTransition=function(){var B=document.createElement("twitter");B.style.cssText="-webkit-transition: all .5s linear;";return !!B.style.webkitTransitionProperty}();A.prototype._setStyle=function(B){switch(this.prop){case"opacity":this.el.style[this.prop]=B;this.el.style.filter="alpha(opacity="+B*100+")";break;default:this.el.style[this.prop]=B+"px";break}};A.prototype._animate=function(){var B=this;this.now=new Date();this.diff=this.now-this.startTime;if(this.diff>this.time){this._setStyle(this.to);if(this.callback){this.callback.call(this)}clearInterval(this.timer);return }this.percentage=(Math.floor((this.diff/this.time)*100)/100);this.val=(this.animDiff*this.percentage)+this.from;this._setStyle(this.val)};A.prototype.start=function(){var B=this;this.startTime=new Date();this.timer=setInterval(function(){B._animate.call(B)},15)};TWTR.Widget=function(B){this.init(B)};(function(){var Q={};var N=location.protocol.match(/https/);var P=/^.+\/profile_images/;var V="https://s3.amazonaws.com/twitter_production/profile_images";var e={};var c=function(g){var f=e[g];if(!f){f=new RegExp("(?:^|\\s+)"+g+"(?:\\s+|$)");e[g]=f}return f};var C=function(k,o,l,m){var o=o||"*";var l=l||document;var g=[],f=l.getElementsByTagName(o),n=c(k);for(var h=0,j=f.length;h<j;++h){if(n.test(f[h].className)){g[g.length]=f[h];if(m){m.call(f[h],f[h])}}}return g};var d=function(){var f=navigator.userAgent;return{ie:f.match(/MSIE\s([^;]*)/)}}();var G=function(f){if(typeof f=="string"){return document.getElementById(f)}return f};var W=function(f){return f.replace(/^\s+|\s+$/g,"")};var U=function(){var f=self.innerHeight;var g=document.compatMode;if((g||d.ie)){f=(g=="CSS1Compat")?document.documentElement.clientHeight:document.body.clientHeight}return f};var b=function(h,f){var g=h.target||h.srcElement;return f(g)};var S=function(g){try{if(g&&3==g.nodeType){return g.parentNode}else{return g}}catch(f){}};var T=function(g){var f=g.relatedTarget;if(!f){if(g.type=="mouseout"){f=g.toElement}else{if(g.type=="mouseover"){f=g.fromElement}}}return S(f)};var Y=function(g,f){f.parentNode.insertBefore(g,f.nextSibling)};var Z=function(g){try{g.parentNode.removeChild(g)}catch(f){}};var X=function(f){return f.firstChild};var B=function(h){var g=T(h);while(g&&g!=this){try{g=g.parentNode}catch(f){g=this}}if(g!=this){return true}return false};var F=function(){if(document.defaultView&&document.defaultView.getComputedStyle){return function(g,j){var i=null;var h=document.defaultView.getComputedStyle(g,"");if(h){i=h[j]}var f=g.style[j]||i;return f}}else{if(document.documentElement.currentStyle&&d.ie){return function(f,h){var g=f.currentStyle?f.currentStyle[h]:null;return(f.style[h]||g)}}}}();var a={has:function(f,g){return new RegExp("(^|\\s)"+g+"(\\s|$)").test(G(f).className)},add:function(f,g){if(!this.has(f,g)){G(f).className=W(G(f).className)+" "+g}},remove:function(f,g){if(this.has(f,g)){G(f).className=G(f).className.replace(new RegExp("(^|\\s)"+g+"(\\s|$)","g"),"")}}};var D={add:function(h,g,f){if(h.addEventListener){h.addEventListener(g,f,false)}else{h.attachEvent("on"+g,function(){f.call(h,window.event)})}},remove:function(h,g,f){if(h.removeEventListener){h.removeEventListener(g,f,false)}else{h.detachEvent("on"+g,f)}}};var M=function(){function g(i){return parseInt((i).substring(0,2),16)}function f(i){return parseInt((i).substring(2,4),16)}function h(i){return parseInt((i).substring(4,6),16)}return function(i){return[g(i),f(i),h(i)]}}();var H={bool:function(f){return typeof f==="boolean"},def:function(f){return !(typeof f==="undefined")},number:function(f){return typeof f==="number"&&isFinite(f)},string:function(f){return typeof f==="string"},fn:function(g){return typeof g==="function"},array:function(f){if(f){return H.number(f.length)&&H.fn(f.splice)}return false}};var L=["January","February","March","April","May","June","July","August","September","October","November","December"];var R=function(i){var l=new Date(i);if(d.ie){l=Date.parse(i.replace(/( \+)/," UTC$1"))}var g="";var f=function(){var m=l.getHours();if(m>0&&m<13){g="am";return m}else{if(m<1){g="am";return 12}else{g="pm";return m-12}}}();var h=l.getMinutes();var k=l.getSeconds();function j(){var m=new Date();if(m.getDate()!=l.getDate()||m.getYear()!=l.getYear()||m.getMonth()!=l.getMonth()){return" - "+L[l.getMonth()]+" "+l.getDate()+", "+l.getFullYear()}else{return""}}return f+":"+h+g+j()};var J=function(l){var n=new Date();var j=new Date(l);if(d.ie){j=Date.parse(l.replace(/( \+)/," UTC$1"))}var m=n-j;var g=1000,h=g*60,i=h*60,k=i*24,f=k*7;if(isNaN(m)||m<0){return""}if(m<g*7){return"right now"}if(m<h){return Math.floor(m/g)+" seconds ago"}if(m<h*2){return"about 1 minute ago"}if(m<i){return Math.floor(m/h)+" minutes ago"}if(m<i*2){return"about 1 hour ago"}if(m<k){return Math.floor(m/i)+" hours ago"}if(m>k&&m<k*2){return"yesterday"}if(m<k*365){return Math.floor(m/k)+" days ago"}else{return"over a year ago"}};var E={link:function(f){return f.replace(/\b(((https*\:\/\/)|www\.)[^\"\']+?)(([!?,.\)]+)?(\s|$))/g,function(l,k,i,h,g){var j=i.match(/w/)?"http://":"";return'<a class="twtr-hyperlink" target="_blank" href="'+j+k+'">'+((k.length>25)?k.substr(0,24)+"...":k)+"</a>"+g})},at:function(f){return f.replace(/\B\@([a-zA-Z0-9_]{1,20})/g,function(g,h){return'@<a target="_blank" class="twtr-atreply" href="http://twitter.com/'+h+'">'+h+"</a>"})},list:function(f){return f.replace(/\B\@([a-zA-Z0-9_]{1,20}\/\w+)/g,function(g,h){return'@<a target="_blank" class="twtr-atreply" href="http://twitter.com/'+h+'">'+h+"</a>"})},hash:function(f){return f.replace(/(\s+)\#(\w+)/gi,function(g,h,i){return h+'<a target="_blank" class="twtr-hashtag" href="http://twitter.com/search?q=%23'+i+'">#'+i+"</a>"})},clean:function(f){return this.hash(this.at(this.list(this.link(f))))}};function O(g,h,f){this.job=g;this.decayFn=h;this.interval=f;this.decayRate=1;this.decayMultiplier=1.25;this.maxDecayTime=3*60*1000}O.prototype={start:function(){this.stop().run();return this},stop:function(){if(this.worker){window.clearTimeout(this.worker)}return this},run:function(){var f=this;this.job(function(){f.decayRate=f.decayFn()?Math.max(1,f.decayRate/f.decayMultiplier):f.decayRate*f.decayMultiplier;var g=f.interval*f.decayRate;g=(g>=f.maxDecayTime)?f.maxDecayTime:g;g=Math.floor(g);f.worker=window.setTimeout(function(){f.run.call(f)},g)})},destroy:function(){this.stop();this.decayRate=1;return this}};function I(g,h,f,i){this.time=h||6000;this.loop=f||false;this.repeated=0;this.total=g.length;this.callback=i;this.haystack=g}I.prototype={start:function(f){var g=this;if(f){this.repeated=0}this.stop()._job();this.timer=window.setInterval(function(){g._job.call(g)},this.time);return this},stop:function(){if(this.timer){window.clearInterval(this.timer)}return this},_job:function(){if(this.repeated===this.total){if(this.loop){this.repeated=0}else{this.stop();return }}this.callback(this.haystack[this.repeated]);this.repeated++;return this}};function K(h){function f(){if(h.needle.metadata&&h.needle.metadata.result_type&&h.needle.metadata.result_type=="popular"){return'<span class="twtr-popular">'+h.needle.metadata.recent_retweets+"+ recent retweets</span>"}else{return""}}if(N){h.avatar=h.avatar.replace(P,V)}var g='<div class="twtr-tweet-wrap">         <div class="twtr-avatar">           <div class="twtr-img"><a target="_blank" href="http://twitter.com/'+h.user+'"><img alt="'+h.user+' profile" src="'+h.avatar+'"></a></div>         </div>         <div class="twtr-tweet-text">           <p>             <a target="_blank" href="http://twitter.com/'+h.user+'" class="twtr-user">'+h.user+"</a> "+h.tweet+'             <em>            <a target="_blank" class="twtr-timestamp" time="'+h.timestamp+'" href="http://twitter.com/'+h.user+"/status/"+h.id+'">'+h.created_at+'</a>             <a target="_blank" class="twtr-reply" href="http://twitter.com/?status=@'+h.user+"%20&in_reply_to_status_id="+h.id+"&in_reply_to="+h.user+'">reply</a>             </em> '+f()+"           </p>         </div>       </div>";var i=document.createElement("div");i.id="tweet-id-"+ ++K._tweetCount;i.className="twtr-tweet";i.innerHTML=g;this.element=i}K._tweetCount=0;Q.loadStyleSheet=function(h,g){if(!TWTR.Widget.loadingStyleSheet){TWTR.Widget.loadingStyleSheet=true;var f=document.createElement("link");f.href=h;f.rel="stylesheet";f.type="text/css";document.getElementsByTagName("head")[0].appendChild(f);var i=setInterval(function(){var j=F(g,"position");if(j=="relative"){clearInterval(i);TWTR.Widget.hasLoadedStyleSheet=true}},50)}};(function(){var f=false;Q.css=function(i){var h=document.createElement("style");h.type="text/css";if(d.ie){h.styleSheet.cssText=i}else{var j=document.createDocumentFragment();j.appendChild(document.createTextNode(i));h.appendChild(j)}function g(){document.getElementsByTagName("head")[0].appendChild(h)}if(!d.ie||f){g()}else{window.attachEvent("onload",function(){f=true;g()})}}})();TWTR.Widget.isLoaded=false;TWTR.Widget.loadingStyleSheet=false;TWTR.Widget.hasLoadedStyleSheet=false;TWTR.Widget.WIDGET_NUMBER=0;TWTR.Widget.matches={mentions:/^@[a-zA-Z0-9_]{1,20}\b/,any_mentions:/\b@[a-zA-Z0-9_]{1,20}\b/};TWTR.Widget.jsonP=function(g,h){var f=document.createElement("script");f.type="text/javascript";f.src=g;document.getElementsByTagName("head")[0].appendChild(f);h(f);return f};TWTR.Widget.prototype=function(){var i=N?"https://":"http://";var k=i+"search.twitter.com/search.";var l=i+"api.twitter.com/1/statuses/user_timeline.";var h=i+"twitter.com/favorites/";var j=i+"twitter.com/";var g=25000;var f=N?"https://twitter-widgets.s3.amazonaws.com/j/1/default.gif":"http://widgets.twimg.com/j/1/default.gif";return{init:function(n){var m=this;this._widgetNumber=++TWTR.Widget.WIDGET_NUMBER;TWTR.Widget["receiveCallback_"+this._widgetNumber]=function(o){m._prePlay.call(m,o)};this._cb="TWTR.Widget.receiveCallback_"+this._widgetNumber;this.opts=n;this._base=k;this._isRunning=false;this._hasOfficiallyStarted=false;this._rendered=false;this._profileImage=false;this._isCreator=!!n.creator;this._setWidgetType(n.type);this.timesRequested=0;this.runOnce=false;this.newResults=false;this.results=[];this.jsonMaxRequestTimeOut=19000;this.showedResults=[];this.sinceId=1;this.source="TWITTERINC_WIDGET";this.id=n.id||"twtr-widget-"+this._widgetNumber;this.tweets=0;this.setDimensions(n.width,n.height);this.interval=n.interval||6000;this.format="json";this.rpp=n.rpp||50;this.subject=n.subject||"";this.title=n.title||"";this.setFooterText(n.footer);this.setSearch(n.search);this._setUrl();this.theme=n.theme?n.theme:this._getDefaultTheme();if(!n.id){document.write('<div class="twtr-widget" id="'+this.id+'"></div>')}this.widgetEl=G(this.id);if(n.id){a.add(this.widgetEl,"twtr-widget")}if(n.version>=2&&!TWTR.Widget.hasLoadedStyleSheet){if(N){Q.loadStyleSheet("https://twitter-widgets.s3.amazonaws.com/j/2/widget.css",this.widgetEl)}else{Q.loadStyleSheet("http://widgets.twimg.com/j/2/widget.css",this.widgetEl)}}this.occasionalJob=new O(function(o){m.decay=o;m._getResults.call(m)},function(){return m._decayDecider.call(m)},g);this._ready=H.fn(n.ready)?n.ready:function(){};this._isRelativeTime=true;this._tweetFilter=false;this._avatars=true;this._isFullScreen=false;this._isLive=true;this._isScroll=false;this._loop=true;this._showTopTweets=(this._isSearchWidget)?true:false;this._behavior="default";this.setFeatures(this.opts.features);return this},setDimensions:function(m,n){this.wh=(m&&n)?[m,n]:[250,300];if(m=="auto"||m=="100%"){this.wh[0]="100%"}else{this.wh[0]=((this.wh[0]<150)?150:this.wh[0])+"px"}this.wh[1]=((this.wh[1]<100)?100:this.wh[1])+"px";return this},setRpp:function(m){var m=parseInt(m);this.rpp=(H.number(m)&&(m>0&&m<=100))?m:30;return this},_setWidgetType:function(m){this._isSearchWidget=false,this._isProfileWidget=false,this._isFavsWidget=false,this._isListWidget=false;switch(m){case"profile":this._isProfileWidget=true;break;case"search":this._isSearchWidget=true,this.search=this.opts.search;break;case"faves":case"favs":this._isFavsWidget=true;break;case"list":case"lists":this._isListWidget=true;break}return this},setFeatures:function(n){if(n){if(H.def(n.filters)){this._tweetFilter=n.filters}if(H.def(n.dateformat)){this._isRelativeTime=!!(n.dateformat!=="absolute")}if(H.def(n.fullscreen)&&H.bool(n.fullscreen)){if(n.fullscreen){this._isFullScreen=true;this.wh[0]="100%";this.wh[1]=(U()-90)+"px";var o=this;D.add(window,"resize",function(r){o.wh[1]=U();o._fullScreenResize()})}}if(H.def(n.loop)&&H.bool(n.loop)){this._loop=n.loop}if(H.def(n.behavior)&&H.string(n.behavior)){switch(n.behavior){case"all":this._behavior="all";break;case"preloaded":this._behavior="preloaded";break;default:this._behavior="default";break}}if(H.def(n.toptweets)&&H.bool(n.toptweets)){this._showTopTweets=n.toptweets;var m=(this._showTopTweets)?"inline-block":"none";Q.css("#"+this.id+" .twtr-popular { display: "+m+"; }")}if(!H.def(n.toptweets)){this._showTopTweets=true;var m=(this._showTopTweets)?"inline-block":"none";Q.css("#"+this.id+" .twtr-popular { display: "+m+"; }")}if(H.def(n.avatars)&&H.bool(n.avatars)){if(!n.avatars){Q.css("#"+this.id+" .twtr-avatar, #"+this.id+" .twtr-user { display: none; } #"+this.id+" .twtr-tweet-text { margin-left: 0; }");this._avatars=false}else{var p=(this._isFullScreen)?"90px":"40px";Q.css("#"+this.id+" .twtr-avatar { display: block; } #"+this.id+" .twtr-user { display: inline; } #"+this.id+" .twtr-tweet-text { margin-left: "+p+"; }");this._avatars=true}}else{if(this._isProfileWidget){this.setFeatures({avatars:false});this._avatars=false}else{this.setFeatures({avatars:true});this._avatars=true}}if(H.def(n.hashtags)&&H.bool(n.hashtags)){(!n.hashtags)?Q.css("#"+this.id+" a.twtr-hashtag { display: none; }"):""}if(H.def(n.timestamp)&&H.bool(n.timestamp)){var q=n.timestamp?"block":"none";Q.css("#"+this.id+" em { display: "+q+"; }")}if(H.def(n.live)&&H.bool(n.live)){this._isLive=n.live}if(H.def(n.scrollbar)&&H.bool(n.scrollbar)){this._isScroll=n.scrollbar}}else{if(this._isProfileWidget){this.setFeatures({avatars:false});this._avatars=false}if(this._isProfileWidget||this._isFavsWidget){this.setFeatures({behavior:"all"})}}return this},_fullScreenResize:function(){var m=C("twtr-timeline","div",document.body,function(n){n.style.height=(U()-90)+"px"})},setTweetInterval:function(m){this.interval=m;return this},setBase:function(m){this._base=m;return this},setUser:function(n,m){this.username=n;this.realname=m||" ";if(this._isFavsWidget){this.setBase(h+n+".")}else{if(this._isProfileWidget){this.setBase(l+this.format+"?screen_name="+n)}}this.setSearch(" ");return this},setList:function(n,m){this.listslug=m.replace(/ /g,"-").toLowerCase();this.username=n;this.setBase(j+n+"/lists/"+this.listslug+"/statuses.");this.setSearch(" ");return this},setProfileImage:function(m){this._profileImage=m;this.byClass("twtr-profile-img","img").src=N?m.replace(P,V):m;this.byClass("twtr-profile-img-anchor","a").href="http://twitter.com/"+this.username;return this},setTitle:function(m){this.title=m;this.widgetEl.getElementsByTagName("h3")[0].innerHTML=this.title;return this},setCaption:function(m){this.subject=m;this.widgetEl.getElementsByTagName("h4")[0].innerHTML=this.subject;return this},setFooterText:function(m){this.footerText=(H.def(m)&&H.string(m))?m:"Join the conversation";if(this._rendered){this.byClass("twtr-join-conv","a").innerHTML=this.footerText}return this},setSearch:function(n){this.searchString=n||"";this.search=encodeURIComponent(this.searchString);this._setUrl();if(this._rendered){var m=this.byClass("twtr-join-conv","a");m.href="http://twitter.com/"+this._getWidgetPath()}return this},_getWidgetPath:function(){if(this._isProfileWidget){return this.username}else{if(this._isFavsWidget){return this.username+"/favorites"}else{if(this._isListWidget){return this.username+"/lists/"+this.listslug}else{return"#search?q="+this.search}}}},_setUrl:function(){var m=this;function n(){return(m.sinceId==1)?"":"&since_id="+m.sinceId+"&refresh=true"}if(this._isProfileWidget){this.url=this._base+"&callback="+this._cb+"&include_rts=true&count="+this.rpp+n()+"&clientsource="+this.source}else{if(this._isFavsWidget||this._isListWidget){this.url=this._base+this.format+"?callback="+this._cb+n()+"&include_rts=true&clientsource="+this.source}else{this.url=this._base+this.format+"?q="+this.search+"&result_type=mixed&include_rts=true&callback="+this._cb+"&rpp="+this.rpp+n()+"&clientsource="+this.source}}return this},_getRGB:function(m){return M(m.substring(1,7))},setTheme:function(s,m){var q=this;var n=" !important";var r=((window.location.hostname.match(/twitter\.com/))&&(window.location.pathname.match(/goodies/)));if(m||r){n=""}this.theme={shell:{background:function(){return s.shell.background||q._getDefaultTheme().shell.background}(),color:function(){return s.shell.color||q._getDefaultTheme().shell.color}()},tweets:{background:function(){return s.tweets.background||q._getDefaultTheme().tweets.background}(),color:function(){return s.tweets.color||q._getDefaultTheme().tweets.color}(),links:function(){return s.tweets.links||q._getDefaultTheme().tweets.links}()}};var p="#"+this.id+" .twtr-doc,                      #"+this.id+" .twtr-hd a,                      #"+this.id+" h3,                      #"+this.id+" h4,                      #"+this.id+" .twtr-popular {            background-color: "+this.theme.shell.background+n+";            color: "+this.theme.shell.color+n+";          }          #"+this.id+" .twtr-popular {            color: "+this.theme.tweets.color+n+";            background-color: rgba("+this._getRGB(this.theme.shell.background)+", .3)"+n+";          }          #"+this.id+" .twtr-tweet a {            color: "+this.theme.tweets.links+n+";          }          #"+this.id+" .twtr-bd, #"+this.id+" .twtr-timeline i a,           #"+this.id+" .twtr-bd p {            color: "+this.theme.tweets.color+n+";          }          #"+this.id+" .twtr-new-results,           #"+this.id+" .twtr-results-inner,           #"+this.id+" .twtr-timeline {            background: "+this.theme.tweets.background+n+";          }";if(d.ie){p+="#"+this.id+" .twtr-tweet { background: "+this.theme.tweets.background+n+"; }"}Q.css(p);return this},byClass:function(p,m,n){var o=C(p,m,G(this.id));return(n)?o:o[0]},render:function(){var o=this;if(!TWTR.Widget.hasLoadedStyleSheet){window.setTimeout(function(){o.render.call(o)},50);return this}this.setTheme(this.theme,this._isCreator);if(this._isProfileWidget){a.add(this.widgetEl,"twtr-widget-profile")}if(this._isScroll){a.add(this.widgetEl,"twtr-scroll")}if(!this._isLive&&!this._isScroll){this.wh[1]="auto"}if(this._isSearchWidget&&this._isFullScreen){document.title="Twitter search: "+escape(this.searchString)}this.widgetEl.innerHTML=this._getWidgetHtml();this.spinner=this.byClass("twtr-spinner","div");var n=this.byClass("twtr-timeline","div");if(this._isLive&&!this._isFullScreen){var p=function(q){if(B.call(this,q)){o.pause.call(o)}};var m=function(q){if(B.call(this,q)){o.resume.call(o)}};this.removeEvents=function(){D.remove(n,"mouseover",p);D.remove(n,"mouseout",m)};D.add(n,"mouseover",p);D.add(n,"mouseout",m)}this._rendered=true;this._ready();return this},removeEvents:function(){},_getDefaultTheme:function(){return{shell:{background:"#8ec1da",color:"#ffffff"},tweets:{background:"#ffffff",color:"#444444",links:"#1985b5"}}},_getWidgetHtml:function(){var p=this;function r(){if(p._isProfileWidget){return'<a target="_blank" href="http://twitter.com/" class="twtr-profile-img-anchor"><img alt="profile" class="twtr-profile-img" src="'+f+'"></a>                      <h3></h3>                      <h4></h4>'}else{return"<h3>"+p.title+"</h3><h4>"+p.subject+"</h4>"}}function o(){if(!p._isFullScreen){return' height="15"'}return""}function n(){return p._isFullScreen?" twtr-fullscreen":""}var q=N?"https://twitter-widgets.s3.amazonaws.com/j/1/twitter_logo_s.":"http://widgets.twimg.com/j/1/twitter_logo_s.";var m='<div class="twtr-doc'+n()+'" style="width: '+this.wh[0]+';">            <div class="twtr-hd">'+r()+'               <div class="twtr-spinner twtr-inactive"></div>            </div>            <div class="twtr-bd">              <div class="twtr-timeline" style="height: '+this.wh[1]+';">                <div class="twtr-tweets">                  <div class="twtr-reference-tweet"></div>                  <!-- tweets show here -->                </div>              </div>            </div>            <div class="twtr-ft">              <div><a target="_blank" href="http://twitter.com"><img alt="" src="'+q+(d.ie?"gif":"png")+'"'+o()+'></a>                <span><a target="_blank" class="twtr-join-conv" style="color:'+this.theme.shell.color+'" href="http://twitter.com/'+this._getWidgetPath()+'">'+this.footerText+"</a></span>              </div>            </div>          </div>";return m},_appendTweet:function(m){Y(m,this.byClass("twtr-reference-tweet","div"));return this},_slide:function(n){var o=this;var m=X(n).offsetHeight;if(this.runOnce){new A(n,"height",{from:0,to:m,time:500,callback:function(){o._fade.call(o,n)}}).start()}return this},_fade:function(m){var n=this;if(A.canTransition){m.style.webkitTransition="opacity 0.5s ease-out";m.style.opacity=1;return this}new A(m,"opacity",{from:0,to:1,time:500}).start();return this},_chop:function(){if(this._isScroll){return this}var r=this.byClass("twtr-tweet","div",true);var s=this.byClass("twtr-new-results","div",true);if(r.length){for(var o=r.length-1;o>=0;o--){var q=r[o];var p=parseInt(q.offsetTop);if(p>parseInt(this.wh[1])){Z(q)}else{break}}if(s.length>0){var m=s[s.length-1];var n=parseInt(m.offsetTop);if(n>parseInt(this.wh[1])){Z(m)}}}return this},_appendSlideFade:function(n){var m=n||this.tweet.element;this._chop()._appendTweet(m)._slide(m);return this},_createTweet:function(m){m.timestamp=m.created_at;m.created_at=this._isRelativeTime?J(m.created_at):R(m.created_at);this.tweet=new K(m);if(this._isLive&&this.runOnce){this.tweet.element.style.opacity=0;this.tweet.element.style.filter="alpha(opacity:0)";this.tweet.element.style.height="0"}return this},_getResults:function(){var m=this;this.timesRequested++;this.jsonRequestRunning=true;this.jsonRequestTimer=window.setTimeout(function(){if(m.jsonRequestRunning){clearTimeout(m.jsonRequestTimer);a.add(m.spinner,"twtr-inactive")}m.jsonRequestRunning=false;Z(m.scriptElement);m.newResults=false;m.decay()},this.jsonMaxRequestTimeOut);a.remove(this.spinner,"twtr-inactive");TWTR.Widget.jsonP(m.url,function(n){m.scriptElement=n})},clear:function(){var n=this.byClass("twtr-tweet","div",true);var m=this.byClass("twtr-new-results","div",true);n=n.concat(m);n.forEach(function(o){Z(o)});return this},_sortByLatest:function(m){this.results=m;this.results=this.results.slice(0,this.rpp);this.results.reverse();return this},_sortByMagic:function(m){var m=m;var n=this;if(this._tweetFilter){if(this._tweetFilter.negatives){m=m.filter(function(o){if(!n._tweetFilter.negatives.test(o.text)){return o}})}if(this._tweetFilter.positives){m=m.filter(function(o){if(n._tweetFilter.positives.test(o.text)){return o}})}}switch(this._behavior){case"all":this._sortByLatest(m);break;case"preloaded":default:this._sortByDefault(m);break}return this},_loadTopTweetsAtTop:function(m){var n=[];m=m.filter(function(o){if(o.metadata&&o.metadata.result_type&&o.metadata.result_type=="popular"){return o}else{n.push(o)}}).concat(n);return m},_sortByDefault:function(n){var o=this;var m=function(){if(d.ie){return function(p){return Date.parse(p.replace(/( \+)/," UTC$1"))}}else{return function(p){return new Date(p)}}}();this.results.unshift.apply(this.results,n);this.results.forEach(function(p){if(!p.views){p.views=0}});this.results.sort(function(q,p){if(m(q.created_at)<m(p.created_at)){return 1}else{if(m(q.created_at)>m(p.created_at)){return -1}else{return 0}}});this.results=this.results.slice(0,this.rpp);this.results=this._loadTopTweetsAtTop(this.results);if(!this._isLive){this.results.reverse()}this.results.sort(function(q,p){if(q.views>p.views){return 1}else{if(q.views<p.views){return -1}}return 0})},_prePlay:function(n){if(this.jsonRequestTimer){clearTimeout(this.jsonRequestTimer)}if(!d.ie){Z(this.scriptElement)}if(n.error){this.newResults=false}else{if(n.results&&n.results.length>0){this.response=n;if(this.intervalJob){this.intervalJob.stop()}this.newResults=true;this.sinceId=n.max_id;this._sortByMagic(n.results);if(this.isRunning()){this._play()}}else{if((this._isProfileWidget||this._isFavsWidget||this._isListWidget)&&H.array(n)&&n.length>0){if(this.intervalJob){this.intervalJob.stop()}this.newResults=true;if(!this._profileImage&&this._isProfileWidget){var m=n[0].user.screen_name;this.setProfileImage(n[0].user.profile_image_url);this.setTitle(n[0].user.name);this.setCaption('<a target="_blank" href="http://twitter.com/'+m+'">'+m+"</a>")}this.sinceId=n[0].id;this._sortByMagic(n);if(this.isRunning()){this._play()}}else{this.newResults=false}}}this._setUrl();if(this._isLive){this.decay()}a.add(this.spinner,"twtr-inactive")},_play:function(){var m=this;if(this._avatars){this._preloadImages(this.results)}if(this._isRelativeTime&&(this._behavior=="all"||this._behavior=="preloaded")){this.byClass("twtr-timestamp","a",true).forEach(function(n){n.innerHTML=J(n.getAttribute("time"))})}if(!this._isLive||this._behavior=="all"||this._behavior=="preloaded"){this.results.forEach(function(o){if(o.retweeted_status){o=o.retweeted_status}if(m._isProfileWidget){o.from_user=o.user.screen_name;o.profile_image_url=o.user.profile_image_url}if(m._isFavsWidget||m._isListWidget){o.from_user=o.user.screen_name;o.profile_image_url=o.user.profile_image_url}m._createTweet({id:o.id,user:o.from_user,tweet:E.clean(o.text),avatar:o.profile_image_url,created_at:o.created_at,needle:o});var n=m.tweet.element;(m._behavior=="all")?m._appendSlideFade(n):m._appendTweet(n)});if(this._behavior!="preloaded"){return this}}this._insertNewResultsNumber();this.intervalJob=new I(this.results,this.interval,this._loop,function(n){n.views++;if(m._isProfileWidget){n.from_user=m.username;n.profile_image_url=n.user.profile_image_url}if(m._isFavsWidget||m._isListWidget){n.from_user=n.user.screen_name;n.profile_image_url=n.user.profile_image_url}if(m._isFullScreen){n.profile_image_url=n.profile_image_url.replace(/_normal\./,"_bigger.")}m._createTweet({id:n.id,user:n.from_user,tweet:E.clean(n.text),avatar:n.profile_image_url,created_at:n.created_at,needle:n})._appendSlideFade()}).start(true);return this},_insertNewResultsNumber:function(){if(this.runOnce&&this._isSearchWidget){var p=this.response.total>this.rpp?this.response.total:this.response.results.length;var m=p>1?"s":"";var o=(this.response.warning&&this.response.warning.match(/adjusted since_id/))?"more than":"";var n=document.createElement("div");a.add(n,"twtr-new-results");n.innerHTML='<div class="twtr-results-inner"> &nbsp; </div><div class="twtr-results-hr"> &nbsp; </div><span>'+o+" <strong>"+p+"</strong> new tweet"+m+"</span>";Y(n,this.byClass("twtr-reference-tweet","div"))}},_preloadImages:function(m){if(this._isProfileWidget||this._isFavsWidget||this._isListWidget){m.forEach(function(o){var n=new Image();n.src=o.user.profile_image_url})}else{m.forEach(function(n){(new Image()).src=n.profile_image_url})}},_decayDecider:function(){var m=false;if(!this.runOnce){this.runOnce=true;m=true}else{if(this.newResults){m=true}}return m},start:function(){var m=this;if(!this._rendered){setTimeout(function(){m.start.call(m)},50);return this}if(!this._isLive){this._getResults()}else{this.occasionalJob.start()}this._isRunning=true;this._hasOfficiallyStarted=true;return this},stop:function(){this.occasionalJob.stop();if(this.intervalJob){this.intervalJob.stop()}this._isRunning=false;return this},pause:function(){if(this.isRunning()&&this.intervalJob){this.intervalJob.stop();a.add(this.widgetEl,"twtr-paused");this._isRunning=false}if(this._resumeTimer){clearTimeout(this._resumeTimer)}return this},resume:function(){var m=this;if(!this.isRunning()&&this._hasOfficiallyStarted&&this.intervalJob){this._resumeTimer=window.setTimeout(function(){m.intervalJob.start();m._isRunning=true;a.remove(m.widgetEl,"twtr-paused")},2000)}return this},isRunning:function(){return this._isRunning},destroy:function(){this.stop();this.clear();this.runOnce=false;this._hasOfficiallyStarted=false;this.intervalJob=false;this._profileImage=false;this._isLive=true;this._tweetFilter=false;this._isScroll=false;this.newResults=false;this._isRunning=false;this.sinceId=1;this.results=[];this.showedResults=[];this.occasionalJob.destroy();if(this.jsonRequestRunning){clearTimeout(this.jsonRequestTimer);a.add(this.spinner,"twtr-inactive")}a.remove(this.widgetEl,"twtr-scroll");this.removeEvents();return this}}}()})()})();

