/*
 * jQuery UI @VERSION
 *
 * Copyright (c) 2008 Paul Bakaus (ui.jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
;(function($) {

/** jQuery core modifications and additions **/
$.keyCode = {
	BACKSPACE: 8,
	CAPS_LOCK: 20,
	COMMA: 188,
	CONTROL: 17,
	DELETE: 46,
	DOWN: 40,
	END: 35,
	ENTER: 13,
	ESCAPE: 27,
	HOME: 36,
	INSERT: 45,
	LEFT: 37,
	NUMPAD_ADD: 107,
	NUMPAD_DECIMAL: 110,
	NUMPAD_DIVIDE: 111,
	NUMPAD_ENTER: 108,
	NUMPAD_MULTIPLY: 106,
	NUMPAD_SUBTRACT: 109,
	PAGE_DOWN: 34,
	PAGE_UP: 33,
	PERIOD: 190,
	RIGHT: 39,
	SHIFT: 16,
	SPACE: 32,
	TAB: 9,
	UP: 38
};

//Temporary mappings
var _remove = $.fn.remove;
var isFF2 = $.browser.mozilla && (parseFloat($.browser.version) < 1.9);


//Helper functions and ui object
$.ui = {
	
	version: "@VERSION",
	
	// $.ui.plugin is deprecated.  Use the proxy pattern instead.
	plugin: {
		add: function(module, option, set) {
			var proto = $.ui[module].prototype;
			for(var i in set) {
				proto.plugins[i] = proto.plugins[i] || [];
				proto.plugins[i].push([option, set[i]]);
			}
		},
		call: function(instance, name, args) {
			var set = instance.plugins[name];
			if(!set) { return; }
			
			for (var i = 0; i < set.length; i++) {
				if (instance.options[set[i][0]]) {
					set[i][1].apply(instance.element, args);
				}
			}
		}	
	},
	
	cssCache: {},
	css: function(name) {
		if ($.ui.cssCache[name]) { return $.ui.cssCache[name]; }
		var tmp = $('<div class="ui-gen">').addClass(name).css({position:'absolute', top:'-5000px', left:'-5000px', display:'block'}).appendTo('body');
		
		//if (!$.browser.safari)
			//tmp.appendTo('body');
		
		//Opera and Safari set width and height to 0px instead of auto
		//Safari returns rgba(0,0,0,0) when bgcolor is not set
		$.ui.cssCache[name] = !!(
			(!(/auto|default/).test(tmp.css('cursor')) || (/^[1-9]/).test(tmp.css('height')) || (/^[1-9]/).test(tmp.css('width')) || 
			!(/none/).test(tmp.css('backgroundImage')) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor')))
		);
		try { $('body').get(0).removeChild(tmp.get(0));	} catch(e){}
		return $.ui.cssCache[name];
	},

	hasScroll: function(e, a) {
		
		//If overflow is hidden, the element might have extra content, but the user wants to hide it
		if ($(e).css('overflow') == 'hidden') { return false; }
		
		var scroll = (a && a == 'left') ? 'scrollLeft' : 'scrollTop',
			has = false;
		
		if (e[scroll] > 0) { return true; }
		
		// TODO: determine which cases actually cause this to happen
		// if the element doesn't have the scroll set, see if it's possible to
		// set the scroll
		e[scroll] = 1;
		has = (e[scroll] > 0);
		e[scroll] = 0;
		return has;
	}
};


//jQuery plugins
$.fn.extend({
	
	remove: function() {
		// Safari has a native remove event which actually removes DOM elements,
		// so we have to use triggerHandler instead of trigger (#3037).
		$("*", this).add(this).each(function() {
			$(this).triggerHandler("remove");
		});
		return _remove.apply(this, arguments );
	},
	
	enableSelection: function() {
		return this
			.attr('unselectable', 'off')
			.css('MozUserSelect', '')
			.unbind('selectstart.ui');
	},
	
	disableSelection: function() {
		return this
			.attr('unselectable', 'on')
			.css('MozUserSelect', 'none')
			.bind('selectstart.ui', function() { return false; });
	},
	
	// WAI-ARIA Semantics
	ariaRole: function(role) {
		return (role !== undefined
			
			// setter
			? this.attr("role", isFF2 ? "wairole:" + role : role)
			
			// getter
			: (this.attr("role") || "").replace(/^wairole:/, ""));
	},
	
	ariaState: function(state, value) {
		return (value !== undefined
			
			// setter
			? this.each(function(i, el) {
				(isFF2
					? el.setAttributeNS("http://www.w3.org/2005/07/aaa",
						"aaa:" + state, value)
					: $(el).attr("aria-" + state, value));
			})
			
			// getter
			: this.attr(isFF2 ? "aaa:" + state : "aria-" + state));
	}
	
});


//Additional selectors
$.extend($.expr[':'], {
	
	data: function(a, i, m) {
		return $.data(a, m[3]);
	},
	
	// TODO: add support for object, area
	tabbable: function(a, i, m) {

		var nodeName = a.nodeName.toLowerCase();
		var isVisible = function(element) {
			function checkStyles(element) {
				var style = element.style;
				return (style.display != 'none' && style.visibility != 'hidden');
			}
			
			var visible = checkStyles(element);
			
			(visible && $.each($.dir(element, 'parentNode'), function() {
				return (visible = checkStyles(this));
			}));
			
			return visible;
		};
		
		return (
			// in tab order
			a.tabIndex >= 0 &&
			
			( // filter node types that participate in the tab order
				
				// anchor tag
				('a' == nodeName && a.href) ||
				
				// enabled form element
				(/input|select|textarea|button/.test(nodeName) &&
					'hidden' != a.type && !a.disabled)
			) &&
			
			// visible on page
			isVisible(a)
		);
		
	}
	
});


// $.widget is a factory to create jQuery plugins
// taking some boilerplate code out of the plugin code
// created by Scott González and Jörn Zaefferer
function getter(namespace, plugin, method, args) {
	function getMethods(type) {
		var methods = $[namespace][plugin][type] || [];
		return (typeof methods == 'string' ? methods.split(/,?\s+/) : methods);
	}
	
	var methods = getMethods('getter');
	if (args.length == 1 && typeof args[0] == 'string') {
		methods = methods.concat(getMethods('getterSetter'));
	}
	return ($.inArray(method, methods) != -1);
}

$.widget = function(name, prototype) {
	var namespace = name.split(".")[0];
	name = name.split(".")[1];
	
	// create plugin method
	$.fn[name] = function(options) {
		var isMethodCall = (typeof options == 'string'),
			args = Array.prototype.slice.call(arguments, 1);
		
		// prevent calls to internal methods
		if (isMethodCall && options.substring(0, 1) == '_') {
			return this;
		}
		
		// handle getter methods
		if (isMethodCall && getter(namespace, name, options, args)) {
			var instance = $.data(this[0], name);
			return (instance ? instance[options].apply(instance, args)
				: undefined);
		}
		
		// handle initialization and non-getter methods
		return this.each(function() {
			var instance = $.data(this, name);
			
			// constructor
			(!instance && !isMethodCall &&
				$.data(this, name, new $[namespace][name](this, options)));
			
			// method call
			(instance && isMethodCall && $.isFunction(instance[options]) &&
				instance[options].apply(instance, args));
		});
	};
	
	// create widget constructor
	$[namespace] = $[namespace] || {};
	$[namespace][name] = function(element, options) {
		var self = this;
		
		this.widgetName = name;
		this.widgetEventPrefix = $[namespace][name].eventPrefix || name;
		this.widgetBaseClass = namespace + '-' + name;
		
		this.options = $.extend({},
			$.widget.defaults,
			$[namespace][name].defaults,
			$.metadata && $.metadata.get(element)[name],
			options);
		
		this.element = $(element)
			.bind('setData.' + name, function(e, key, value) {
				return self._setData(key, value);
			})
			.bind('getData.' + name, function(e, key) {
				return self._getData(key);
			})
			.bind('remove', function() {
				return self.destroy();
			});
		
		this._init();
	};
	
	// add widget prototype
	$[namespace][name].prototype = $.extend({}, $.widget.prototype, prototype);
	
	// TODO: merge getter and getterSetter properties from widget prototype
	// and plugin prototype
	$[namespace][name].getterSetter = 'option';
};

$.widget.prototype = {
	_init: function() {},
	destroy: function() {
		this.element.removeData(this.widgetName);
	},
	
	option: function(key, value) {
		var options = key,
			self = this;
		
		if (typeof key == "string") {
			if (value === undefined) {
				return this._getData(key);
			}
			options = {};
			options[key] = value;
		}
		
		$.each(options, function(key, value) {
			self._setData(key, value);
		});
	},
	_getData: function(key) {
		return this.options[key];
	},
	_setData: function(key, value) {
		this.options[key] = value;
		
		if (key == 'disabled') {
			this.element[value ? 'addClass' : 'removeClass'](
				this.widgetBaseClass + '-disabled');
		}
	},
	
	enable: function() {
		this._setData('disabled', false);
	},
	disable: function() {
		this._setData('disabled', true);
	},
	
	_trigger: function(type, e, data) {
		var eventName = (type == this.widgetEventPrefix
			? type : this.widgetEventPrefix + type);
		e = e  || $.event.fix({ type: eventName, target: this.element[0] });
		return this.element.triggerHandler(eventName, [e, data], this.options[type]);
	}
};

$.widget.defaults = {
	disabled: false
};


/** Mouse Interaction Plugin **/

$.ui.mouse = {
	_mouseInit: function() {
		var self = this;
	
		this.element
			.bind('mousedown.'+this.widgetName, function(e) {
				return self._mouseDown(e);
			})
			.bind('click.'+this.widgetName, function(e) {
				if(self._preventClickEvent) {
					self._preventClickEvent = false;
					return false;
				}
			});
		
		// Prevent text selection in IE
		if ($.browser.msie) {
			this._mouseUnselectable = this.element.attr('unselectable');
			this.element.attr('unselectable', 'on');
		}
		
		this.started = false;
	},
	
	// TODO: make sure destroying one instance of mouse doesn't mess with
	// other instances of mouse
	_mouseDestroy: function() {
		this.element.unbind('.'+this.widgetName);
		
		// Restore text selection in IE
		($.browser.msie
			&& this.element.attr('unselectable', this._mouseUnselectable));
	},
	
	_mouseDown: function(e) {
		// we may have missed mouseup (out of window)
		(this._mouseStarted && this._mouseUp(e));
		
		this._mouseDownEvent = e;
		
		var self = this,
			btnIsLeft = (e.which == 1),
			elIsCancel = (typeof this.options.cancel == "string" ? $(e.target).parents().add(e.target).filter(this.options.cancel).length : false);
		if (!btnIsLeft || elIsCancel || !this._mouseCapture(e)) {
			return true;
		}
		
		this.mouseDelayMet = !this.options.delay;
		if (!this.mouseDelayMet) {
			this._mouseDelayTimer = setTimeout(function() {
				self.mouseDelayMet = true;
			}, this.options.delay);
		}
		
		if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) {
			this._mouseStarted = (this._mouseStart(e) !== false);
			if (!this._mouseStarted) {
				e.preventDefault();
				return true;
			}
		}
		
		// these delegates are required to keep context
		this._mouseMoveDelegate = function(e) {
			return self._mouseMove(e);
		};
		this._mouseUpDelegate = function(e) {
			return self._mouseUp(e);
		};
		$(document)
			.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
			.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);
		
		return false;
	},
	
	_mouseMove: function(e) {
		// IE mouseup check - mouseup happened when mouse was out of window
		if ($.browser.msie && !e.button) {
			return this._mouseUp(e);
		}
		
		if (this._mouseStarted) {
			this._mouseDrag(e);
			return false;
		}
		
		if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) {
			this._mouseStarted =
				(this._mouseStart(this._mouseDownEvent, e) !== false);
			(this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e));
		}
		
		return !this._mouseStarted;
	},
	
	_mouseUp: function(e) {
		$(document)
			.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
			.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
		
		if (this._mouseStarted) {
			this._mouseStarted = false;
			this._preventClickEvent = true;
			this._mouseStop(e);
		}
		
		return false;
	},
	
	_mouseDistanceMet: function(e) {
		return (Math.max(
				Math.abs(this._mouseDownEvent.pageX - e.pageX),
				Math.abs(this._mouseDownEvent.pageY - e.pageY)
			) >= this.options.distance
		);
	},
	
	_mouseDelayMet: function(e) {
		return this.mouseDelayMet;
	},
	
	// These are placeholder methods, to be overriden by extending plugin
	_mouseStart: function(e) {},
	_mouseDrag: function(e) {},
	_mouseStop: function(e) {},
	_mouseCapture: function(e) { return true; }
};

$.ui.mouse.defaults = {
	cancel: null,
	distance: 1,
	delay: 0
};

})(jQuery);

/*
 * jQuery UI Tabs @VERSION
 *
 * Copyright (c) 2007, 2008 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Tabs
 *
 * Depends:
 *	ui.core.js
 */
(function($) {

$.widget("ui.tabs", {
	_init: function() {
		// create tabs
		this._tabify(true);
	},
	_setData: function(key, value) {
		if ((/^selected/).test(key))
			this.select(value);
		else {
			this.options[key] = value;
			this._tabify();
		}
	},
	length: function() {
		return this.$tabs.length;
	},
	_tabId: function(a) {
		return a.title && a.title.replace(/\s/g, '_').replace(/[^A-Za-z0-9\-_:\.]/g, '')
			|| this.options.idPrefix + $.data(a);
	},
	ui: function(tab, panel) {
		return {
			options: this.options,
			tab: tab,
			panel: panel,
			index: this.$tabs.index(tab)
		};
	},
	_sanitizeSelector: function(hash) {
		return hash.replace(/:/g, '\\:'); // we need this because an id may contain a ":"
	},
	_cookie: function() {
		var cookie = this.cookie || (this.cookie = 'ui-tabs-' + $.data(this.element[0]));
		return $.cookie.apply(null, [cookie].concat($.makeArray(arguments)));
	},
	_tabify: function(init) {
		
		this.$lis = $('li:has(a[href])', this.element);
		this.$tabs = this.$lis.map(function() { return $('a', this)[0]; });
		this.$panels = $([]);
		
		var self = this, o = this.options;
		
		this.$tabs.each(function(i, a) {
			// inline tab
			if (a.hash && a.hash.replace('#', '')) // Safari 2 reports '#' for an empty hash
				self.$panels = self.$panels.add(self._sanitizeSelector(a.hash));
			// remote tab
			else if ($(a).attr('href') != '#') { // prevent loading the page itself if href is just "#"
				$.data(a, 'href.tabs', a.href); // required for restore on destroy
				$.data(a, 'load.tabs', a.href); // mutable
				var id = self._tabId(a);
				a.href = '#' + id;
				var $panel = $('#' + id);
				if (!$panel.length) {
					$panel = $(o.panelTemplate).attr('id', id).addClass(o.panelClass)
						.insertAfter(self.$panels[i - 1] || self.element);
					$panel.data('destroy.tabs', true);
				}
				self.$panels = self.$panels.add($panel);
			}
			// invalid tab href
			else
				o.disabled.push(i + 1);
		});
		
		// initialization from scratch
		if (init) {
			
			// attach necessary classes for styling if not present
			this.element.addClass(o.navClass);
			this.$panels.addClass(o.panelClass);
			
			// Selected tab
			// use "selected" option or try to retrieve:
			// 1. from fragment identifier in url
			// 2. from cookie
			// 3. from selected class attribute on <li>
			if (o.selected === undefined) {
				if (location.hash) {
					this.$tabs.each(function(i, a) {
						if (a.hash == location.hash) {
							o.selected = i;
							return false; // break
						}
					});
				}
				else if (o.cookie) {
					var index = parseInt(self._cookie(), 10);
					if (index && self.$tabs[index]) o.selected = index;
				}
				else if (self.$lis.filter('.' + o.selectedClass).length)
					o.selected = self.$lis.index( self.$lis.filter('.' + o.selectedClass)[0] );
			}
			o.selected = o.selected === null || o.selected !== undefined ? o.selected : 0; // first tab selected by default
			
			// Take disabling tabs via class attribute from HTML
			// into account and update option properly.
			// A selected tab cannot become disabled.
			o.disabled = $.unique(o.disabled.concat(
				$.map(this.$lis.filter('.' + o.disabledClass),
					function(n, i) { return self.$lis.index(n); } )
			)).sort();
			if ($.inArray(o.selected, o.disabled) != -1)
				o.disabled.splice($.inArray(o.selected, o.disabled), 1);
			
			// highlight selected tab
			this.$panels.addClass(o.hideClass);
			this.$lis.removeClass(o.selectedClass);
			if (o.selected !== null) {
				this.$panels.eq(o.selected).removeClass(o.hideClass);
				var classes = [o.selectedClass];
				if (o.deselectable) classes.push(o.deselectableClass);
				this.$lis.eq(o.selected).addClass(classes.join(' '));
				
				// seems to be expected behavior that the show callback is fired
				var onShow = function() {
					self._trigger('show', null,
						self.ui(self.$tabs[o.selected], self.$panels[o.selected]));
				};
				
				// load if remote tab
				if ($.data(this.$tabs[o.selected], 'load.tabs'))
					this.load(o.selected, onShow);
				// just trigger show event
				else onShow();
			}
			
			// clean up to avoid memory leaks in certain versions of IE 6
			$(window).bind('unload', function() {
				self.$tabs.unbind('.tabs');
				self.$lis = self.$tabs = self.$panels = null;
			});
			
		}
		// update selected after add/remove
		else
			o.selected = this.$lis.index( this.$lis.filter('.' + o.selectedClass)[0] );
		
		// set or update cookie after init and add/remove respectively
		if (o.cookie) this._cookie(o.selected, o.cookie);
		
		// disable tabs
		for (var i = 0, li; li = this.$lis[i]; i++)
			$(li)[$.inArray(i, o.disabled) != -1 && !$(li).hasClass(o.selectedClass) ? 'addClass' : 'removeClass'](o.disabledClass);
		
		// reset cache if switching from cached to not cached
		if (o.cache === false) this.$tabs.removeData('cache.tabs');
		
		// set up animations
		var hideFx, showFx;
		if (o.fx) {
			if (o.fx.constructor == Array) {
				hideFx = o.fx[0];
				showFx = o.fx[1];
			}
			else hideFx = showFx = o.fx;
		}
		
		// Reset certain styles left over from animation
		// and prevent IE's ClearType bug...
		function resetStyle($el, fx) {
			$el.css({ display: '' });
			if ($.browser.msie && fx.opacity) $el[0].style.removeAttribute('filter');
		}

		// Show a tab...
		var showTab = showFx ?
			function(clicked, $show) {
				$show.animate(showFx, showFx.duration || 'normal', function() {
					$show.removeClass(o.hideClass);
					resetStyle($show, showFx);
					self._trigger('show', null, self.ui(clicked, $show[0]));
				});
			} :
			function(clicked, $show) {
				$show.removeClass(o.hideClass);
				self._trigger('show', null, self.ui(clicked, $show[0]));
			};
		
		// Hide a tab, $show is optional...
		var hideTab = hideFx ? 
			function(clicked, $hide, $show) {
				$hide.animate(hideFx, hideFx.duration || 'normal', function() {
					$hide.addClass(o.hideClass);
					resetStyle($hide, hideFx);
					if ($show) showTab(clicked, $show, $hide);
				});
			} :
			function(clicked, $hide, $show) {
				$hide.addClass(o.hideClass);
				if ($show) showTab(clicked, $show);
			};
		
		// Switch a tab...
		function switchTab(clicked, $li, $hide, $show) {
			var classes = [o.selectedClass];
			if (o.deselectable) classes.push(o.deselectableClass);
			$li.addClass(classes.join(' ')).siblings().removeClass(classes.join(' '));
			hideTab(clicked, $hide, $show);
		}
		
		// attach tab event handler, unbind to avoid duplicates from former tabifying...
		this.$tabs.unbind('.tabs').bind(o.event + '.tabs', function() {
			
			//var trueClick = e.clientX; // add to history only if true click occured, not a triggered click
			var $li = $(this).parents('li:eq(0)'),
				$hide = self.$panels.filter(':visible'),
				$show = $(self._sanitizeSelector(this.hash));
			
			// If tab is already selected and not deselectable or tab disabled or 
			// or is already loading or click callback returns false stop here.
			// Check if click handler returns false last so that it is not executed
			// for a disabled or loading tab!
			if (($li.hasClass(o.selectedClass) && !o.deselectable)
				|| $li.hasClass(o.disabledClass)
				|| $(this).hasClass(o.loadingClass)
				|| self._trigger('select', null, self.ui(this, $show[0])) === false
				) {
				this.blur();
				return false;
			}
			
			o.selected = self.$tabs.index(this);
			
			// if tab may be closed
			if (o.deselectable) {
				if ($li.hasClass(o.selectedClass)) {
					self.options.selected = null;
					$li.removeClass([o.selectedClass, o.deselectableClass].join(' '));
					self.$panels.stop();
					hideTab(this, $hide);
					this.blur();
					return false;
				} else if (!$hide.length) {
					self.$panels.stop();
					var a = this;
					self.load(self.$tabs.index(this), function() {
						$li.addClass([o.selectedClass, o.deselectableClass].join(' '));
						showTab(a, $show);
					});
					this.blur();
					return false;
				}
			}
			
			if (o.cookie) self._cookie(o.selected, o.cookie);
			
			// stop possibly running animations
			self.$panels.stop();
			
			// show new tab
			if ($show.length) {
				var a = this;
				self.load(self.$tabs.index(this), $hide.length ? 
					function() {
						switchTab(a, $li, $hide, $show);
					} :
					function() {
						$li.addClass(o.selectedClass);
						showTab(a, $show);
					}
				);
			} else
				throw 'jQuery UI Tabs: Mismatching fragment identifier.';
				
			// Prevent IE from keeping other link focussed when using the back button
			// and remove dotted border from clicked link. This is controlled via CSS
			// in modern browsers; blur() removes focus from address bar in Firefox
			// which can become a usability and annoying problem with tabs('rotate').
			if ($.browser.msie) this.blur();
			
			return false;
			
		});
		
		// disable click if event is configured to something else
		if (o.event != 'click') this.$tabs.bind('click.tabs', function(){return false;});
		
	},
	add: function(url, label, index) {
		if (index == undefined)
			index = this.$tabs.length; // append by default
		
		var o = this.options;
		var $li = $(o.tabTemplate.replace(/#\{href\}/g, url).replace(/#\{label\}/g, label));
		$li.data('destroy.tabs', true);
		
		var id = url.indexOf('#') == 0 ? url.replace('#', '') : this._tabId( $('a:first-child', $li)[0] );
		
		// try to find an existing element before creating a new one
		var $panel = $('#' + id);
		if (!$panel.length) {
			$panel = $(o.panelTemplate).attr('id', id)
				.addClass(o.hideClass)
				.data('destroy.tabs', true);
		}
		$panel.addClass(o.panelClass);
		if (index >= this.$lis.length) {
			$li.appendTo(this.element);
			$panel.appendTo(this.element[0].parentNode);
		} else {
			$li.insertBefore(this.$lis[index]);
			$panel.insertBefore(this.$panels[index]);
		}
		
		o.disabled = $.map(o.disabled,
			function(n, i) { return n >= index ? ++n : n });
		
		this._tabify();
		
		if (this.$tabs.length == 1) {
			$li.addClass(o.selectedClass);
			$panel.removeClass(o.hideClass);
			var href = $.data(this.$tabs[0], 'load.tabs');
			if (href)
				this.load(index, href);
		}
		
		// callback
		this._trigger('add', null, this.ui(this.$tabs[index], this.$panels[index]));
	},
	remove: function(index) {
		var o = this.options, $li = this.$lis.eq(index).remove(),
			$panel = this.$panels.eq(index).remove();
		
		// If selected tab was removed focus tab to the right or
		// in case the last tab was removed the tab to the left.
		if ($li.hasClass(o.selectedClass) && this.$tabs.length > 1)
			this.select(index + (index + 1 < this.$tabs.length ? 1 : -1));
		
		o.disabled = $.map($.grep(o.disabled, function(n, i) { return n != index; }),
			function(n, i) { return n >= index ? --n : n });
		
		this._tabify();
		
		// callback
		this._trigger('remove', null, this.ui($li.find('a')[0], $panel[0]));
	},
	enable: function(index) {
		var o = this.options;
		if ($.inArray(index, o.disabled) == -1)
			return;
		
		var $li = this.$lis.eq(index).removeClass(o.disabledClass);
		if ($.browser.safari) { // fix disappearing tab (that used opacity indicating disabling) after enabling in Safari 2...
			$li.css('display', 'inline-block');
			setTimeout(function() {
				$li.css('display', 'block');
			}, 0);
		}
		
		o.disabled = $.grep(o.disabled, function(n, i) { return n != index; });
		
		// callback
		this._trigger('enable', null, this.ui(this.$tabs[index], this.$panels[index]));
	},
	disable: function(index) {
		var self = this, o = this.options;
		if (index != o.selected) { // cannot disable already selected tab
			this.$lis.eq(index).addClass(o.disabledClass);
			
			o.disabled.push(index);
			o.disabled.sort();
			
			// callback
			this._trigger('disable', null, this.ui(this.$tabs[index], this.$panels[index]));
		}
	},
	select: function(index) {
		// TODO make null as argument work
		if (typeof index == 'string')
			index = this.$tabs.index( this.$tabs.filter('[href$=' + index + ']')[0] );
		this.$tabs.eq(index).trigger(this.options.event + '.tabs');
	},
	load: function(index, callback) { // callback is for internal usage only
		
		var self = this, o = this.options, $a = this.$tabs.eq(index), a = $a[0],
				bypassCache = callback == undefined || callback === false, url = $a.data('load.tabs');
		
		callback = callback || function() {};
		
		// no remote or from cache - just finish with callback
		if (!url || !bypassCache && $.data(a, 'cache.tabs')) {
			callback();
			return;
		}
		
		// load remote from here on
		
		var inner = function(parent) {
			var $parent = $(parent), $inner = $parent.find('*:last');
			return $inner.length && $inner.is(':not(img)') && $inner || $parent;
		};
		var cleanup = function() {
			self.$tabs.filter('.' + o.loadingClass).removeClass(o.loadingClass)
					.each(function() {
						if (o.spinner)
							inner(this).parent().html(inner(this).data('label.tabs'));
					});
			self.xhr = null;
		};
		
		if (o.spinner) {
			var label = inner(a).html();
			inner(a).wrapInner('<em></em>')
				.find('em').data('label.tabs', label).html(o.spinner);
		}
		
		var ajaxOptions = $.extend({}, o.ajaxOptions, {
			url: url,
			success: function(r, s) {
				$(self._sanitizeSelector(a.hash)).html(r);
				cleanup();
				
				if (o.cache)
					$.data(a, 'cache.tabs', true); // if loaded once do not load them again
				
				// callbacks
				self._trigger('load', null, self.ui(self.$tabs[index], self.$panels[index]));
				try {
					o.ajaxOptions.success(r, s);
				}
				catch (e) {}
				
				// This callback is required because the switch has to take
				// place after loading has completed. Call last in order to 
				// fire load before show callback...
				callback();
			}
		});
		if (this.xhr) {
			// terminate pending requests from other tabs and restore tab label
			this.xhr.abort();
			cleanup();
		}
		$a.addClass(o.loadingClass);
		self.xhr = $.ajax(ajaxOptions);
	},
	url: function(index, url) {
		this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs', url);
	},
	destroy: function() {
		var o = this.options;
		this.element.unbind('.tabs')
			.removeClass(o.navClass).removeData('tabs');
		this.$tabs.each(function() {
			var href = $.data(this, 'href.tabs');
			if (href)
				this.href = href;
			var $this = $(this).unbind('.tabs');
			$.each(['href', 'load', 'cache'], function(i, prefix) {
				$this.removeData(prefix + '.tabs');
			});
		});
		this.$lis.add(this.$panels).each(function() {
			if ($.data(this, 'destroy.tabs'))
				$(this).remove();
			else
				$(this).removeClass([o.selectedClass, o.deselectableClass,
					o.disabledClass, o.panelClass, o.hideClass].join(' '));
		});
		if (o.cookie)
			this._cookie(null, o.cookie);
	}
});

$.extend($.ui.tabs, {
	version: '@VERSION',
	getter: 'length',
	defaults: {
		// basic setup
		deselectable: false,
		event: 'click',
		disabled: [],
		cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true }
		// Ajax
		spinner: 'Loading&#8230;',
		cache: false,
		idPrefix: 'ui-tabs-',
		ajaxOptions: null,
		// animations
		fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 }
		// templates
		tabTemplate: '<li><a href="#{href}"><span>#{label}</span></a></li>',
		panelTemplate: '<div></div>',
		// CSS class names
		navClass: 'ui-tabs-nav',
		selectedClass: 'ui-tabs-selected',
		deselectableClass: 'ui-tabs-deselectable',
		disabledClass: 'ui-tabs-disabled',
		panelClass: 'ui-tabs-panel',
		hideClass: 'ui-tabs-hide',
		loadingClass: 'ui-tabs-loading'
	}
});

/*
 * Tabs Extensions
 */

/*
 * Rotate
 */
$.extend($.ui.tabs.prototype, {
	rotation: null,
	rotate: function(ms, continuing) {
		
		continuing = continuing || false;
		
		var self = this, t = this.options.selected;
		
		function start() {
			self.rotation = setInterval(function() {
				t = ++t < self.$tabs.length ? t : 0;
				self.select(t);
			}, ms);
		}
		
		function stop(e) {
			if (!e || e.clientX) { // only in case of a true click
				clearInterval(self.rotation);
			}
		}
		
		// start interval
		if (ms) {
			start();
			if (!continuing)
				this.$tabs.bind(this.options.event + '.tabs', stop);
			else
				this.$tabs.bind(this.options.event + '.tabs', function() {
					stop();
					t = self.options.selected;
					start();
				});
		}
		// stop interval
		else {
			stop();
			this.$tabs.unbind(this.options.event + '.tabs', stop);
		}
	}
});

})(jQuery);

/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version 1.09
 */

var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());
Cufon.registerFont({"w":202,"face":{"font-family":"Interstate","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 3 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"4","bbox":"-16 -288 346 69","underline-thickness":"7.2","underline-position":"-47.88","stemh":"47","stemv":"50","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":104},"!":{"d":"86,-252v1,61,1,121,-8,173r-34,0v-8,-52,-9,-112,-8,-173r50,0xm92,-27v0,17,-14,31,-31,31v-17,0,-30,-14,-30,-31v0,-17,13,-30,30,-30v17,0,31,13,31,30","w":122},"\"":{"d":"170,-252r-13,118r-34,0r-13,-118r60,0xm80,-252r-13,118r-34,0r-12,-118r59,0","w":190},"#":{"d":"248,-50r-43,0r0,50r-44,0r0,-50r-56,0r0,50r-44,0r0,-50r-43,0r0,-42r43,0r0,-68r-43,0r0,-42r43,0r0,-50r44,0r0,50r56,0r0,-50r44,0r0,50r43,0r0,42r-43,0r0,68r43,0r0,42xm161,-92r0,-68r-56,0r0,68r56,0","w":266},"$":{"d":"216,-76v0,41,-22,68,-71,76r0,36r-51,0r0,-36v-32,-5,-60,-21,-75,-44r36,-32v18,21,41,29,65,29v30,0,44,-7,44,-26v0,-16,-8,-23,-56,-34v-46,-11,-79,-25,-79,-75v0,-38,27,-63,65,-70r0,-36r51,0r0,36v27,5,48,18,66,37r-37,36v-16,-17,-34,-26,-57,-26v-27,0,-36,10,-36,21v0,16,11,21,51,30v40,9,84,23,84,78","w":235},"%":{"d":"346,-75v0,48,-28,79,-67,79v-39,0,-66,-30,-66,-78v0,-49,28,-79,67,-79v40,0,66,30,66,78xm279,-252r-155,252r-43,0r154,-252r44,0xm147,-178v0,48,-28,79,-67,79v-39,0,-66,-30,-66,-78v0,-49,27,-79,66,-79v40,0,67,30,67,78xm306,-74v0,-30,-10,-45,-27,-45v-17,0,-26,14,-26,44v0,30,10,46,27,46v17,0,26,-18,26,-45xm106,-177v0,-30,-9,-45,-26,-45v-17,0,-26,14,-26,44v0,30,9,46,26,46v17,0,26,-18,26,-45","w":359},"&":{"d":"248,0r-58,0r-19,-21v-43,41,-156,34,-156,-42v0,-35,19,-56,51,-72v-13,-16,-28,-35,-28,-59v0,-73,107,-77,150,-36r-24,37v-17,-13,-35,-18,-53,-18v-33,-1,-24,28,-10,44r69,79v6,-12,12,-25,18,-42r41,13v-8,24,-18,46,-29,63xm142,-52r-49,-54v-37,16,-42,65,10,65v15,0,29,-3,39,-11","w":252},"'":{"d":"82,-252r-13,118r-36,0r-12,-118r61,0","w":102},"(":{"d":"118,17r-33,23v-35,-38,-62,-81,-62,-148v0,-67,25,-109,62,-150r33,23v-56,56,-56,197,0,252","w":133},")":{"d":"110,-110v0,67,-25,109,-62,150r-33,-23v56,-56,56,-197,0,-252r33,-23v35,38,62,81,62,148","w":133},"*":{"d":"168,-149r-19,32r-44,-29r4,52r-38,0r4,-53r-44,30r-19,-33r51,-23r-51,-23r19,-33r44,30r-4,-53r38,0r-4,53r44,-30r19,32r-52,24","w":180},"+":{"d":"201,-100r-66,0r0,68r-49,0r0,-68r-66,0r0,-47r66,0r0,-69r49,0r0,69r66,0r0,47","w":220},",":{"d":"82,-61r-30,106r-34,0r5,-106r59,0","w":97},"-":{"d":"125,-106r-103,0r0,-50r103,0r0,50","w":146},".":{"d":"83,-30v0,18,-16,34,-34,34v-18,0,-34,-16,-34,-34v0,-18,16,-34,34,-34v18,0,34,16,34,34","w":97},"\/":{"d":"168,-284r-118,316r-49,0r118,-316r49,0","w":169},"0":{"d":"230,-127v0,77,-38,131,-107,131v-69,0,-105,-53,-105,-130v0,-77,37,-130,106,-130v69,0,106,52,106,129xm179,-126v0,-45,-17,-81,-56,-81v-39,0,-54,35,-54,80v0,45,16,82,55,82v39,0,55,-36,55,-81","w":247},"1":{"d":"107,0r-50,0r0,-182r-43,0r0,-37v28,-1,47,-12,52,-33r41,0r0,252","w":138},"2":{"d":"220,0r-197,0v1,-86,54,-124,116,-151v22,-9,28,-19,28,-30v0,-13,-11,-26,-41,-26v-30,0,-54,14,-72,31r-32,-38v44,-58,195,-62,195,30v0,41,-21,59,-64,79v-45,21,-62,37,-67,56r134,0r0,49","w":245},"3":{"d":"212,-78v0,54,-42,82,-105,82v-38,0,-71,-15,-99,-48r38,-31v21,22,40,30,66,30v60,0,66,-62,11,-61r-29,0r0,-50v27,1,58,2,56,-25v-3,-34,-73,-33,-91,-4r-37,-34v43,-57,179,-51,179,34v0,27,-14,44,-29,52v16,6,40,22,40,55","w":232},"4":{"d":"235,-51r-33,0r0,51r-48,0r0,-51r-138,0r0,-46r133,-155r53,0r0,154r33,0r0,47xm155,-194r-82,96r81,0","w":250},"5":{"d":"222,-88v0,101,-133,113,-204,65r25,-43v37,25,126,37,128,-20v2,-48,-71,-41,-93,-22r-48,-18r9,-126r168,0r0,49r-122,0r-3,43v14,-8,29,-11,53,-11v57,0,87,35,87,83","w":240},"6":{"d":"223,-82v0,56,-47,86,-106,86v-56,0,-100,-31,-100,-102v0,-66,38,-158,169,-158r0,49v-58,0,-95,20,-109,59v53,-35,146,-13,146,66xm172,-81v0,-26,-18,-37,-50,-37v-34,0,-53,12,-53,38v0,23,17,37,50,37v33,0,53,-15,53,-38","w":238},"7":{"d":"205,-203v-51,50,-84,116,-84,203r-51,0v0,-82,27,-150,74,-204r-128,0r0,-48r189,0r0,49","w":227},"8":{"d":"192,-137v76,39,34,141,-66,141v-65,0,-105,-30,-105,-80v0,-35,21,-53,40,-61v-64,-38,-11,-119,65,-119v50,0,95,24,95,73v0,18,-10,35,-29,46xm171,-182v0,-16,-12,-30,-45,-30v-31,0,-44,13,-44,29v0,16,15,29,44,29v31,0,45,-11,45,-28xm181,-76v0,-23,-17,-36,-55,-36v-38,0,-55,13,-55,35v0,23,23,37,55,37v35,0,55,-13,55,-36","w":252},"9":{"d":"222,-154v0,66,-39,158,-170,158r0,-49v58,0,96,-20,110,-59v-54,35,-147,14,-147,-66v0,-56,48,-86,107,-86v56,0,100,31,100,102xm170,-172v0,-23,-17,-37,-50,-37v-33,0,-53,15,-53,38v0,26,18,37,50,37v34,0,53,-12,53,-38","w":238},":":{"d":"83,-159v0,18,-16,34,-34,34v-18,0,-34,-16,-34,-34v0,-18,16,-34,34,-34v18,0,34,16,34,34xm83,-30v0,18,-16,34,-34,34v-18,0,-34,-16,-34,-34v0,-18,16,-34,34,-34v18,0,34,16,34,34","w":97},";":{"d":"83,-159v0,18,-16,34,-34,34v-18,0,-34,-16,-34,-34v0,-18,16,-34,34,-34v18,0,34,16,34,34xm80,-61r-31,106r-34,0r6,-106r59,0","w":97},"<":{"d":"140,-10r-119,-97r0,-34r119,-97r0,62r-68,52r68,52r0,62","w":162},"=":{"d":"192,-143r-163,0r0,-47r163,0r0,47xm192,-58r-163,0r0,-46r163,0r0,46","w":220},">":{"d":"141,-107r-119,97r0,-62r68,-51r-68,-52r0,-63r119,97r0,34","w":162},"?":{"d":"197,-183v0,64,-77,58,-76,104r-49,0v0,-34,9,-57,51,-74v38,-16,30,-54,-20,-54v-27,0,-47,14,-63,31r-32,-38v37,-56,189,-63,189,31xm127,-27v0,17,-13,31,-30,31v-17,0,-31,-14,-31,-31v0,-17,14,-30,31,-30v17,0,30,13,30,30","w":210},"@":{"d":"280,-130v0,78,-63,93,-96,55v-25,32,-98,27,-98,-30v0,-41,53,-56,85,-39v7,-36,-40,-31,-60,-19r-13,-24v35,-25,108,-17,108,35v0,30,-12,75,22,75v22,0,32,-19,32,-53v0,-57,-47,-105,-110,-105v-63,0,-109,46,-109,109v0,79,79,132,156,99r9,19v-92,40,-185,-24,-185,-118v0,-75,54,-130,129,-130v77,0,130,58,130,126xm144,-85v19,-1,30,-9,27,-32v-11,-10,-50,-12,-50,12v0,10,6,20,23,20","w":300},"A":{"d":"256,0r-56,0r-20,-56r-92,0r-20,56r-54,0r97,-252r49,0xm163,-104r-29,-85v-7,24,-19,60,-29,85r58,0","w":270},"B":{"d":"237,-81v0,53,-36,81,-90,81r-115,0r0,-252v83,2,199,-18,196,67v0,22,-10,39,-27,49v20,9,36,27,36,55xm177,-181v0,-37,-60,-22,-95,-25r0,48v34,-3,95,12,95,-23xm185,-81v0,-46,-62,-29,-103,-32r0,65v42,-2,103,12,103,-33","w":255},"C":{"d":"223,-200r-47,21v-30,-54,-115,-21,-105,53v-7,73,77,111,109,48r42,25v-17,36,-47,57,-93,57v-66,0,-110,-50,-110,-130v0,-77,46,-130,112,-130v48,0,76,23,92,56","w":241},"D":{"d":"237,-126v0,120,-91,133,-205,126r0,-252v116,-5,205,1,205,126xm185,-126v0,-61,-36,-82,-102,-77r0,154v65,6,102,-22,102,-77","w":254},"E":{"d":"213,0r-181,0r0,-252r175,0r0,49r-124,0r0,44r72,0r0,49r-72,0r0,61r130,0r0,49","w":234},"F":{"d":"213,-203r-130,0r0,48r76,0r0,49r-76,0r0,106r-51,0r0,-252r181,0r0,49","w":225},"G":{"d":"230,-131v8,83,-31,136,-101,135v-66,0,-110,-50,-110,-130v0,-77,46,-130,112,-130v51,0,78,24,95,63r-47,20v-29,-62,-108,-30,-108,47v0,46,22,81,60,81v35,0,46,-17,49,-39r-40,0r0,-47r90,0","w":251},"H":{"d":"237,0r-51,0r0,-106r-103,0r0,106r-51,0r0,-252r51,0r0,96r103,0r0,-96r51,0r0,252","w":268},"I":{"d":"86,0r-50,0r0,-252r50,0r0,252","w":122},"J":{"d":"203,-252v-3,114,26,256,-95,256v-50,0,-83,-31,-96,-75r49,-13v10,26,23,38,47,38v31,0,45,-20,45,-58r0,-148r50,0","w":234},"K":{"d":"252,0r-60,0r-69,-122r-40,48r0,74r-51,0r0,-252r51,0r-1,112r90,-112r61,0r-74,87","w":259},"L":{"d":"209,0r-177,0r0,-252r51,0r0,202r126,0r0,50","w":223},"M":{"d":"268,0r-50,0r1,-148r-69,154r-69,-154r1,148r-50,0r0,-252r49,0r70,156r68,-156r49,0r0,252","w":300},"N":{"d":"237,0r-45,0r-111,-166r1,166r-50,0r0,-252r49,0r107,162r-1,-162r50,0r0,252","w":268},"O":{"d":"238,-126v0,77,-40,130,-109,130v-69,0,-110,-53,-110,-130v0,-77,41,-130,110,-130v69,0,109,53,109,130xm186,-126v0,-45,-16,-80,-57,-80v-41,0,-58,35,-58,80v0,45,17,80,58,80v41,0,57,-35,57,-80","w":257},"P":{"d":"229,-172v0,79,-66,88,-146,83r0,89r-51,0r0,-252v92,1,198,-17,197,80xm177,-171v0,-43,-54,-30,-94,-32r0,65v40,-2,94,11,94,-33","w":244},"Q":{"d":"238,-126v0,43,-12,74,-34,97r18,27r-38,25r-18,-26v-84,28,-147,-33,-147,-123v0,-77,41,-130,110,-130v69,0,109,53,109,130xm176,-71v21,-47,13,-135,-47,-135v-41,0,-58,35,-58,80v1,49,19,85,67,82r-17,-25r38,-26","w":257},"R":{"d":"237,0r-58,0r-45,-91r-51,0r0,91r-51,0r0,-252v94,1,205,-19,205,80v0,38,-17,61,-49,74xm185,-171v0,-47,-60,-29,-102,-32r0,65v42,-3,102,13,102,-33","w":257},"S":{"d":"217,-76v0,48,-30,80,-99,80v-42,0,-79,-18,-98,-46r37,-32v18,21,40,29,64,29v30,0,44,-9,44,-28v0,-16,-8,-23,-56,-34v-46,-11,-79,-25,-79,-75v-1,-87,140,-94,182,-34r-37,35v-17,-29,-93,-37,-93,-3v0,16,11,21,51,30v40,9,84,23,84,78","w":237},"T":{"d":"211,-202r-72,0r0,202r-50,0r0,-202r-73,0r0,-50r195,0r0,50","w":227},"U":{"d":"235,-111v0,73,-39,115,-103,115v-61,0,-101,-42,-101,-115r0,-141r50,0v6,77,-26,207,51,207v77,0,46,-131,52,-207r51,0r0,141","w":265},"V":{"d":"243,-252r-90,252r-49,0r-90,-252r56,0r60,187v15,-62,40,-127,58,-187r55,0","w":257},"W":{"d":"299,-252r-52,252r-50,0r-39,-173r-40,173r-47,0r-53,-252r53,0r28,164v10,-56,26,-110,38,-164r44,0r38,164r28,-164r52,0","w":317},"X":{"d":"237,0r-61,0r-50,-87v-11,22,-35,63,-50,87r-60,0r80,-129r-76,-123r60,0r46,82r47,-82r60,0r-77,123","w":252},"Y":{"d":"249,-252r-95,152r0,100r-51,0r0,-99r-95,-153r58,0r63,109r63,-109r57,0","w":257},"Z":{"d":"223,0r-199,0r0,-45r138,-162r-130,1r0,-46r189,0r0,45r-136,162r138,-1r0,46","w":247},"[":{"d":"127,40r-93,0r0,-292r93,0r0,40r-44,0r0,212r44,0r0,40","w":149},"\\":{"d":"168,32r-49,0r-118,-316r49,0","w":169},"]":{"d":"115,40r-92,0r0,-40r44,0r0,-212r-44,0r0,-40r92,0r0,292","w":149},"^":{"d":"191,-138r-51,0r-36,-66r-37,66r-50,0r67,-114r40,0","w":208},"_":{"d":"180,67r-180,0r0,-41r180,0r0,41","w":180},"`":{"d":"130,-214r-42,0r-52,-58r63,0","w":180},"a":{"d":"178,0r-50,0r0,-13v-36,34,-113,15,-113,-50v0,-55,69,-76,113,-55v8,-45,-55,-38,-79,-21r-19,-35v47,-34,148,-24,148,47r0,127xm94,-38v25,-1,39,-12,34,-41v-15,-12,-63,-13,-63,16v0,13,8,25,29,25","w":200},"b":{"d":"187,-92v0,76,-61,121,-113,81r0,11r-50,0r0,-238r50,-24r0,85v50,-38,113,-6,113,85xm137,-91v0,-59,-40,-68,-63,-39r0,71v22,27,63,21,63,-32"},"c":{"d":"180,-38v-18,24,-40,42,-77,42v-49,0,-89,-40,-89,-98v0,-58,38,-99,91,-99v36,0,59,18,75,42r-33,33v-20,-40,-82,-35,-82,24v0,57,59,63,84,26","w":193},"d":{"d":"177,0r-49,0r0,-12v-50,38,-114,6,-114,-85v0,-75,62,-121,114,-81r0,-60r49,-24r0,262xm128,-59r0,-71v-23,-26,-63,-22,-63,32v0,60,39,67,63,39"},"e":{"d":"99,-193v55,0,85,54,78,115r-113,0v2,41,52,43,72,22r35,29v-51,60,-157,27,-157,-67v0,-58,37,-99,85,-99xm130,-116v-1,-17,-12,-34,-34,-34v-18,0,-29,15,-31,34r65,0","w":193},"f":{"d":"122,-216v-19,-10,-45,-2,-36,27r32,0r0,47r-32,0r0,142r-50,0r0,-142r-22,0r0,-47r22,0v-10,-61,32,-84,86,-67r0,40","w":133},"g":{"d":"177,-189v-10,109,39,254,-81,258r-18,-37v39,-5,50,-15,50,-44v-50,38,-114,6,-114,-85v0,-75,62,-121,114,-81r0,-11r49,0xm128,-59r0,-71v-23,-26,-63,-22,-63,32v0,60,39,67,63,39"},"h":{"d":"188,0r-50,0v-5,-49,19,-146,-32,-146v-51,0,-26,97,-32,146r-50,0r0,-238r50,-24r0,86v9,-9,24,-17,44,-17v86,-4,69,109,70,193","w":210},"i":{"d":"79,-233v0,15,-13,29,-28,29v-15,0,-29,-14,-29,-29v0,-15,14,-28,29,-28v15,0,28,13,28,28xm76,0r-50,0r0,-189r50,0r0,189","w":101},"j":{"d":"79,-233v0,15,-13,29,-28,29v-15,0,-29,-14,-29,-29v0,-15,14,-28,29,-28v15,0,28,13,28,28xm76,-14v0,53,-17,74,-75,83r-17,-38v34,-6,42,-13,42,-43r0,-177r50,0r0,175","w":101},"k":{"d":"188,0r-54,0r-36,-87r-24,30r0,57r-50,0r0,-238r50,-24r-1,140r51,-67r59,0r-49,60","w":198},"l":{"d":"76,0r-50,0r0,-238r50,-24r0,262","w":101},"m":{"d":"295,0r-50,0r0,-102v0,-34,-9,-44,-30,-44v-21,0,-31,10,-31,43r0,103r-49,0r0,-102v0,-34,-10,-44,-31,-44v-21,0,-30,10,-30,43r0,103r-50,0r0,-189r50,0r0,13v20,-24,76,-23,93,7v13,-13,30,-24,61,-24v86,0,65,110,67,193","w":317},"n":{"d":"188,0r-50,0v-5,-49,19,-146,-32,-146v-51,0,-26,97,-32,146r-50,0r0,-189r50,0r0,13v9,-9,24,-17,44,-17v86,-4,69,109,70,193","w":210},"o":{"d":"185,-94v0,58,-36,98,-85,98v-49,0,-86,-40,-86,-98v0,-58,37,-99,86,-99v49,0,85,41,85,99xm135,-94v0,-29,-11,-51,-35,-51v-24,0,-35,22,-35,51v0,29,11,50,35,50v24,0,35,-24,35,-50","w":199},"p":{"d":"187,-92v0,76,-61,121,-113,81r0,56r-50,24r0,-258r50,0r0,12v50,-38,113,-6,113,85xm137,-91v0,-59,-40,-68,-63,-39r0,71v22,27,63,21,63,-32"},"q":{"d":"177,45r-49,24r0,-81v-50,38,-114,6,-114,-85v0,-75,62,-121,114,-81r0,-11r49,0r0,234xm128,-59r0,-71v-23,-26,-63,-22,-63,32v0,60,39,67,63,39"},"r":{"d":"148,-180r-13,49v-23,-19,-61,-21,-61,29r0,102r-50,0r0,-189r50,0r0,13v12,-19,60,-23,74,-4","w":154},"s":{"d":"174,-55v1,76,-113,67,-157,37r17,-38v20,11,41,17,65,17v19,0,26,-4,26,-14v0,-9,-7,-13,-28,-19v-45,-14,-75,-25,-75,-65v0,-66,100,-66,146,-38r-16,40v-19,-10,-39,-15,-55,-15v-20,0,-26,4,-26,12v0,8,7,11,40,22v34,11,63,23,63,61","w":193},"t":{"d":"137,-58r-7,50v-34,26,-89,7,-89,-45r0,-89r-32,0r0,-47r32,0r0,-49r49,-24r0,73r46,0r0,47r-46,0r0,76v2,34,29,24,47,8","w":159},"u":{"d":"186,0r-50,0r0,-13v-9,9,-24,17,-44,17v-86,4,-69,-109,-70,-193r50,0v5,49,-19,146,32,146v51,0,26,-97,32,-146r50,0r0,189","w":210},"v":{"d":"196,-189r-68,189r-51,0r-68,-189r55,0r39,129v10,-40,28,-89,40,-129r53,0","w":205},"w":{"d":"258,-189r-54,189r-42,0r-28,-119r-29,119r-42,0r-54,-189r50,0r26,113v6,-34,20,-79,29,-113r41,0r29,113r25,-113r49,0","w":267},"x":{"d":"199,0r-59,0r-37,-62v-8,17,-25,44,-36,62r-59,0r67,-102r-57,-87r59,0r26,46r27,-46r59,0r-57,87","w":206},"y":{"d":"203,-189r-97,256r-49,0r25,-67r-73,-189r55,0r43,132v11,-41,30,-91,43,-132r53,0","w":212},"z":{"d":"178,0r-156,0r0,-36r92,-109r-86,1r0,-45r150,0r0,36r-90,109r90,-1r0,45","w":199},"{":{"d":"147,40v-77,-1,-100,-32,-96,-102v1,-20,-10,-27,-29,-25r0,-40v30,6,29,-22,29,-51v0,-50,30,-76,96,-76r0,33v-41,4,-45,21,-45,58v0,39,-12,49,-35,56v26,5,35,25,35,67v0,30,9,43,45,47r0,33","w":165},"|":{"d":"74,67r-45,0r0,-355r45,0r0,355","w":102},"}":{"d":"144,-87v-30,-5,-30,21,-30,51v0,50,-29,76,-95,76r0,-33v41,-4,45,-21,45,-58v0,-39,11,-49,34,-56v-26,-5,-34,-25,-34,-67v0,-30,-9,-43,-45,-47r0,-33v77,1,95,33,95,102v0,20,11,27,30,25r0,40","w":165},"~":{"d":"70,-169v24,0,49,27,63,27v10,0,13,-4,25,-26r29,15v-13,33,-28,55,-55,55v-23,0,-47,-28,-63,-27v-10,0,-12,4,-24,26r-30,-15v13,-33,28,-55,55,-55"},"\u00a0":{"w":104}}});
Cufon.registerFont({"w":159,"face":{"font-family":"TradeGothic","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 3 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"4","bbox":"-12 -292 274 61.3015","underline-thickness":"18","underline-position":"-36","stemh":"33","stemv":"40","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":79},"!":{"d":"35,-76r-8,-184r46,0r-8,184r-30,0xm71,0r-42,0r0,-42r42,0r0,42","w":100},"\"":{"d":"14,-161r0,-99r34,0r0,99r-34,0xm72,-161r0,-99r33,0r0,99r-33,0","w":119},"#":{"d":"147,-105r0,28r-26,0r-9,77r-32,0r9,-77r-29,0r-9,77r-33,0r9,-77r-23,0r0,-28r27,0r5,-50r-23,0r0,-28r27,0r9,-77r32,0r-9,77r29,0r9,-77r32,0r-9,77r23,0r0,28r-26,0r-5,50r22,0xm98,-155r-29,0r-6,50r29,0"},"$":{"d":"69,-260r0,-32r22,0r0,32v20,4,38,16,50,33r-28,23v-5,-9,-11,-18,-22,-21r0,75v31,19,58,40,58,80v0,36,-20,67,-58,70r0,42r-22,0r0,-42v-25,-3,-45,-21,-58,-41r30,-22v5,13,14,24,28,28r0,-84v-28,-17,-55,-39,-55,-74v0,-33,20,-62,55,-67xm69,-162r0,-63v-26,10,-21,49,0,63xm91,-105r0,70v30,-11,23,-56,0,-70"},"%":{"d":"18,-201v0,-33,26,-59,59,-59v33,0,59,26,59,59v0,33,-26,59,-59,59v-33,0,-59,-26,-59,-59xm47,-201v0,17,13,30,30,30v17,0,30,-13,30,-30v0,-17,-13,-30,-30,-30v-17,0,-30,13,-30,30xm173,-59v0,17,13,30,30,30v17,0,30,-13,30,-30v0,-17,-13,-30,-30,-30v-17,0,-30,13,-30,30xm144,-59v0,-33,26,-59,59,-59v33,0,59,26,59,59v0,33,-26,59,-59,59v-33,0,-59,-26,-59,-59xm201,-264r27,0r-148,268r-27,0","w":280},"&":{"d":"87,-238v-30,0,-16,56,-6,76v10,-14,22,-30,22,-48v0,-20,-6,-28,-16,-28xm145,-126r37,10v-5,24,-15,46,-24,68v7,6,16,11,25,12r0,40v-19,0,-37,-7,-51,-20v-35,39,-113,18,-113,-41v0,-27,16,-55,34,-74v-27,-46,-35,-132,36,-133v33,0,53,22,53,54v0,32,-25,57,-45,79v9,19,20,37,33,53v6,-16,11,-31,15,-48xm71,-95v-18,20,-14,59,15,60v9,0,14,-2,21,-8v-14,-16,-27,-33,-36,-52","w":200},"(":{"d":"54,-264r35,0v-56,83,-57,212,0,295r-35,0v-55,-82,-55,-213,0,-295","w":100},")":{"d":"12,-264r34,0v56,82,56,213,0,295r-34,0v56,-83,55,-212,0,-295","w":100},"*":{"d":"134,-232r11,32v-18,1,-37,4,-55,6v13,14,26,26,40,38r-28,20v-6,-17,-14,-33,-22,-50v-8,17,-16,33,-22,50r-28,-20v14,-12,26,-24,39,-38v-18,-2,-36,-5,-54,-6r11,-32v15,9,30,17,46,24v-1,-18,-5,-35,-9,-52r34,0v-4,17,-8,34,-9,52v16,-7,31,-15,46,-24"},"+":{"d":"90,-109r0,-73r36,0r0,73r73,0r0,36r-73,0r0,73r-36,0r0,-73r-73,0r0,-36r73,0","w":216},",":{"d":"61,-42r0,42r-25,45r-19,0r18,-45r-16,0r0,-42r42,0","w":79},"-":{"d":"104,-80r-88,0r0,-33r88,0r0,33","w":119},".":{"d":"61,0r-42,0r0,-42r42,0r0,42","w":79},"\/":{"d":"-8,4r80,-268r36,0r-80,268r-36,0","w":100},"0":{"d":"101,-57r0,-146v0,-17,-8,-25,-21,-25v-13,0,-21,8,-21,25r0,146v0,17,8,25,21,25v13,0,21,-8,21,-25xm80,4v-90,0,-63,-116,-63,-196v0,-49,18,-72,63,-72v90,0,63,116,63,196v0,49,-18,72,-63,72"},"1":{"d":"64,0r0,-206r-36,0r0,-24v20,-10,38,-21,53,-34r23,0r0,264r-40,0"},"2":{"d":"140,0r-124,0r0,-35v55,-81,86,-126,86,-164v0,-21,-9,-29,-21,-29v-20,-1,-22,22,-21,44r-43,0v-3,-47,21,-80,67,-80v37,0,60,28,60,58v0,41,-13,71,-83,169r79,0r0,37"},"3":{"d":"17,-75r40,0v-1,21,0,44,20,43v20,4,21,-26,21,-50v0,-28,-11,-37,-38,-37r0,-35v26,0,36,-9,36,-40v0,-43,-39,-47,-38,-8r0,11r-40,0v-3,-44,18,-72,61,-73v65,-3,78,101,30,127v57,24,37,154,-33,141v-42,1,-63,-27,-59,-79"},"4":{"d":"40,-96r44,0r0,-101xm84,0r0,-63r-78,0r0,-33r75,-164r44,0r0,164r23,0r0,33r-23,0r0,63r-41,0"},"5":{"d":"18,-75r40,0v-1,21,0,43,20,43v32,0,21,-58,22,-90v2,-35,-39,-27,-43,-4r-34,0v1,-40,3,-72,3,-134r108,0r-1,37r-70,0v0,18,-4,40,-2,57v36,-36,82,-8,82,53v0,64,-5,117,-61,117v-43,0,-70,-26,-64,-79"},"6":{"d":"138,-190r-39,0v1,-20,-1,-38,-19,-38v-32,0,-18,55,-21,85v28,-32,84,-21,84,36v0,63,-6,111,-63,111v-90,0,-63,-116,-63,-196v0,-49,18,-72,63,-72v40,0,62,30,58,74xm59,-113v2,30,-10,81,21,81v28,0,20,-41,21,-68v1,-33,-29,-27,-42,-13"},"7":{"d":"95,-223r-75,0r0,-37r118,0r0,25r-53,235r-43,0"},"8":{"d":"80,4v-69,10,-84,-113,-36,-143v-46,-31,-22,-135,36,-125v58,-10,82,93,36,125v48,30,33,154,-36,143xm80,-32v17,0,23,-16,23,-43v0,-27,-6,-43,-23,-43v-17,0,-23,16,-23,43v0,27,6,43,23,43xm80,-157v14,0,19,-11,19,-36v0,-25,-5,-35,-19,-35v-14,0,-20,10,-20,35v0,25,6,36,20,36"},"9":{"d":"22,-70r39,0v-1,20,1,38,19,38v32,0,18,-55,21,-85v-28,32,-84,21,-84,-36v0,-63,6,-111,63,-111v90,0,63,116,63,196v0,49,-18,72,-63,72v-40,0,-62,-30,-58,-74xm101,-147v-2,-30,10,-81,-21,-81v-28,0,-20,41,-21,68v-1,33,29,27,42,13"},":":{"d":"61,0r-42,0r0,-42r42,0r0,42xm61,-100r-42,0r0,-43r42,0r0,43","w":79},";":{"d":"61,-42r0,42r-25,45r-19,0r18,-45r-16,0r0,-42r42,0xm61,-100r-42,0r0,-43r42,0r0,43","w":79},"<":{"d":"199,-37r0,37r-182,-76r0,-30r182,-76r0,37r-131,54","w":216},"=":{"d":"199,-146r0,35r-182,0r0,-35r182,0xm199,-71r0,35r-182,0r0,-35r182,0","w":216},">":{"d":"17,0r0,-37r131,-54r-131,-54r0,-37r182,76r0,30","w":216},"?":{"d":"129,-215v0,60,-54,64,-45,139r-35,0v-9,-63,29,-98,38,-138v0,-9,-6,-16,-15,-16v-15,0,-23,14,-26,27r-34,-13v11,-61,117,-65,117,1xm87,0r-42,0r0,-42r42,0r0,42","w":140},"@":{"d":"133,-84v42,2,64,-81,16,-86v-42,-2,-65,81,-16,86xm188,-179r6,-18r29,0r-25,106v0,5,1,10,6,10v20,0,42,-28,42,-66v0,-58,-43,-88,-97,-88v-62,0,-102,45,-102,106v0,96,122,137,183,75r30,0v-61,104,-246,57,-246,-76v0,-77,61,-134,136,-134v64,0,124,44,124,110v0,74,-63,103,-89,103v-12,1,-19,-9,-22,-20v-30,40,-94,12,-94,-40v0,-63,77,-126,119,-68","w":288},"A":{"d":"62,-96r36,0r-18,-112xm55,-58r-7,58r-44,0r48,-260r56,0r48,260r-44,0r-8,-58r-49,0"},"B":{"d":"66,-117r0,80v34,3,51,-5,51,-40v0,-33,-17,-43,-51,-40xm66,-223r0,70v28,2,45,-4,46,-33v1,-31,-15,-40,-46,-37xm22,0r0,-260r66,0v75,-9,92,95,38,123v57,22,48,146,-34,137r-70,0","w":180},"C":{"d":"156,-173r-44,0v2,-25,-3,-52,-22,-52v-18,0,-24,10,-24,29r0,132v0,19,6,29,24,29v27,2,22,-32,22,-58r44,0v4,56,-9,96,-66,97v-98,1,-68,-115,-68,-201v0,-37,21,-67,68,-67v52,0,70,39,66,91","w":180},"D":{"d":"66,-223r0,186v31,1,48,-2,48,-36r0,-114v2,-34,-17,-38,-48,-36xm22,0r0,-260v76,-3,136,-3,136,79r0,103v4,81,-60,82,-136,78","w":180},"E":{"d":"146,0r-124,0r0,-260r119,0r0,39r-75,0r0,67r58,0r0,39r-58,0r0,76r80,0r0,39"},"F":{"d":"66,0r-44,0r0,-260r124,0r0,39r-80,0r0,67r60,0r0,39r-60,0r0,115"},"G":{"d":"83,-96r0,-36r73,0r0,132r-21,0r-9,-19v-32,46,-109,20,-104,-44v6,-84,-29,-201,65,-201v51,0,71,38,67,88r-42,0v0,-39,-8,-49,-26,-49v-11,0,-20,7,-20,29r0,133v0,17,6,28,21,28v27,0,26,-32,25,-61r-29,0","w":180},"H":{"d":"66,0r-44,0r0,-260r44,0r0,106r48,0r0,-106r44,0r0,260r-44,0r0,-115r-48,0r0,115","w":180},"I":{"d":"72,0r-44,0r0,-260r44,0r0,260","w":100},"J":{"d":"1,4r0,-39v20,2,33,-5,33,-22r0,-203r44,0r0,208v3,38,-23,60,-77,56","w":100},"K":{"d":"64,0r-45,0r0,-260r45,0r1,96r47,-96r44,0r-48,97r54,163r-45,0r-37,-121r-16,29r0,92"},"L":{"d":"134,0r-115,0r0,-260r45,0r0,221r70,0r0,39","w":140},"M":{"d":"142,-260r59,0r0,260r-39,0r-1,-203r-40,203r-22,0r-41,-203r0,203r-39,0r0,-260r59,0r32,152","w":219},"N":{"d":"62,0r-40,0r0,-260r41,0r55,149r0,-149r40,0r0,260r-38,0r-58,-162r0,162","w":180},"O":{"d":"90,4v-98,0,-68,-115,-68,-201v0,-37,21,-67,68,-67v98,0,68,115,68,201v0,37,-21,67,-68,67xm66,-196r0,132v0,19,6,29,24,29v18,0,24,-10,24,-29r0,-132v0,-19,-6,-29,-24,-29v-18,0,-24,10,-24,29","w":180},"P":{"d":"66,-223r0,80v36,1,56,-1,56,-40v0,-39,-20,-41,-56,-40xm66,0r-44,0r0,-260v77,-2,144,-5,144,77v0,63,-35,80,-100,76r0,107","w":180},"Q":{"d":"172,-19r0,38v-17,0,-30,-3,-46,-24v-46,25,-109,-7,-104,-58v9,-86,-30,-201,68,-201v98,0,61,115,68,201v0,12,-2,23,-7,33v10,9,16,11,21,11xm93,-53r0,-40v5,3,12,6,21,16r0,-119v0,-19,-6,-29,-24,-29v-18,0,-24,10,-24,29r0,132v-4,26,21,35,39,25v-5,-9,-9,-12,-12,-14","w":180},"R":{"d":"66,-223r0,80v33,1,49,-1,49,-40v0,-38,-16,-41,-49,-40xm66,-107r0,107r-44,0r0,-260v76,-2,138,-4,138,77v0,42,-16,58,-31,65r37,118r-45,0r-32,-108v-6,1,-15,1,-23,1","w":180},"S":{"d":"145,-201r-42,5v-2,-40,-46,-37,-46,-3v0,44,91,65,91,136v0,43,-29,67,-71,67v-41,0,-65,-33,-67,-72r43,-7v2,26,12,40,26,40v15,0,26,-9,26,-24v0,-51,-91,-65,-91,-140v0,-41,26,-65,70,-65v36,0,57,26,61,63"},"T":{"d":"48,0r0,-221r-44,0r0,-39r131,0r0,39r-43,0r0,221r-44,0","w":140},"U":{"d":"22,-66r0,-194r44,0r0,196v0,19,8,29,24,29v16,0,24,-10,24,-29r0,-196r44,0r0,194v0,45,-26,70,-68,70v-42,0,-68,-25,-68,-70","w":180},"V":{"d":"113,-260r44,0r-55,260r-44,0r-55,-260r44,0r33,180"},"W":{"d":"69,-94v13,-53,19,-112,30,-166r37,0r31,166r25,-166r41,0r-45,260r-38,0r-33,-172r-30,172r-38,0r-49,-260r42,0","w":240},"X":{"d":"5,0r51,-136r-47,-124r44,0r28,83r24,-83r44,0r-45,124r51,136r-44,0r-31,-95r-31,95r-44,0"},"Y":{"d":"102,-108r0,108r-44,0r0,-108r-54,-152r45,0r32,99r30,-99r45,0"},"Z":{"d":"99,-221r-73,0r0,-39r118,0r0,43r-82,178r82,0r0,39r-128,0r0,-42"},"[":{"d":"90,-260r0,17r-42,0r0,253r42,0r0,17r-77,0r0,-287r77,0","w":100},"\\":{"d":"28,-264r80,268r-36,0r-80,-268r36,0","w":100},"]":{"d":"10,-243r0,-17r77,0r0,287r-77,0r0,-17r43,0r0,-253r-43,0","w":100},"^":{"d":"59,-109r-39,0r69,-151r38,0r69,151r-39,0r-49,-108","w":216},"_":{"d":"180,45r-180,0r0,-18r180,0r0,18","w":180},"a":{"d":"55,-137r-40,0v2,-39,27,-60,65,-60v37,0,59,17,59,52r2,145r-38,0v0,-5,-3,-10,-3,-15v-27,30,-88,25,-88,-25v0,-42,28,-66,86,-88v1,-20,-3,-37,-20,-36v-18,0,-22,10,-23,27xm98,-48r0,-50v-37,21,-45,34,-45,51v1,29,37,16,45,-1"},"b":{"d":"58,0r-39,0r0,-260r41,0r0,83v31,-34,85,-25,83,34v-2,56,15,149,-41,147v-20,0,-31,-7,-44,-24r0,20xm60,-154r0,114v19,14,42,20,42,-21v0,-43,9,-135,-42,-93"},"c":{"d":"143,-127r-41,0v1,-23,-7,-38,-22,-37v-34,0,-22,68,-22,103v0,22,8,31,22,31v18,0,24,-19,22,-43r41,0v1,45,-15,77,-63,77v-68,1,-63,-63,-63,-129v0,-42,17,-72,63,-72v45,0,62,29,63,70"},"d":{"d":"140,0r-38,0r0,-20v-25,40,-88,31,-85,-30v2,-56,-15,-149,41,-147v18,0,26,7,42,20r0,-83r40,0r0,260xm100,-40r0,-114v-19,-14,-42,-20,-42,21v0,43,-9,135,42,93"},"e":{"d":"58,-122r44,0v10,-46,-45,-61,-44,-10r0,10xm80,-197v60,0,66,48,63,108r-85,0v-1,26,-2,63,22,59v15,1,23,-13,22,-36r41,0v-1,41,-18,70,-63,70v-68,1,-63,-63,-63,-129v0,-42,17,-72,63,-72"},"f":{"d":"27,0r0,-161r-23,0r0,-33r23,0v-5,-51,13,-77,66,-70r0,34v-13,0,-25,-1,-25,13r0,23r23,0r0,33r-23,0r0,161r-41,0","w":100},"g":{"d":"153,-197r0,33v-11,0,-18,0,-26,6v15,61,-4,121,-69,108v-4,1,-8,4,-8,9v0,26,103,-12,103,56v0,33,-30,46,-82,46v-66,0,-85,-44,-38,-61v-29,-10,-19,-47,6,-57v-20,-14,-26,-24,-26,-69v0,-76,69,-90,107,-50v11,-16,16,-21,33,-21xm83,32v27,0,34,-4,34,-14v0,-10,-7,-14,-34,-14v-27,0,-34,4,-34,14v0,10,7,14,34,14xm71,-83v16,0,20,-7,20,-40v0,-33,-4,-41,-20,-41v-13,0,-20,8,-20,41v0,33,7,40,20,40"},"h":{"d":"60,0r-41,0r0,-260r41,0r0,84v21,-28,80,-33,80,19r0,157r-40,0r0,-150v-2,-23,-28,-13,-40,-2r0,152"},"i":{"d":"60,0r-40,0r0,-194r40,0r0,194xm60,-223r-40,0r0,-37r40,0r0,37","w":79},"j":{"d":"0,61r0,-37v14,1,22,-3,22,-15r0,-202r40,0r0,204v-2,45,-25,52,-62,50xm62,-223r-40,0r0,-37r40,0r0,37","w":79},"k":{"d":"148,-194r-42,62r47,132r-41,0r-33,-96r-19,28r0,68r-41,0r0,-260r41,0r0,135r45,-69r43,0"},"l":{"d":"60,0r-40,0r0,-260r40,0r0,260","w":79},"m":{"d":"140,0r-40,0r0,-150v-3,-23,-28,-13,-40,-2r0,152r-41,0r0,-194r39,0r0,20v23,-27,64,-34,80,0v19,-19,30,-23,45,-23v25,0,37,15,37,40r0,157r-40,0r0,-150v-3,-23,-28,-13,-40,-2r0,152","w":240},"n":{"d":"60,0r-41,0r0,-194r39,0r0,20v23,-29,83,-37,82,17r0,157r-40,0r0,-150v-2,-23,-28,-13,-40,-2r0,152"},"o":{"d":"80,-30v35,0,22,-68,22,-102v0,-22,-8,-32,-22,-32v-34,0,-22,68,-22,103v0,22,8,31,22,31xm80,4v-68,1,-63,-63,-63,-129v0,-42,17,-72,63,-72v68,-1,63,63,63,129v0,42,-17,72,-63,72"},"p":{"d":"19,-194r39,0r0,20v26,-39,88,-29,85,31v-3,56,15,149,-41,147v-18,0,-26,-8,-42,-21r0,78r-41,0r0,-255xm60,-154r0,114v19,14,42,20,42,-21v0,-43,9,-135,-42,-93"},"q":{"d":"102,-194r38,0r0,255r-40,0r0,-78v-30,35,-85,27,-83,-33v2,-56,-15,-149,41,-147v20,0,31,6,44,23r0,-20xm100,-40r0,-114v-19,-14,-42,-20,-42,21v0,43,-9,135,42,93"},"r":{"d":"60,0r-41,0r0,-194r39,0v1,7,-2,18,1,23v12,-19,28,-28,54,-26r0,42v-20,-7,-53,-6,-53,22r0,133","w":119},"s":{"d":"127,-146r-34,6v0,-26,-41,-34,-41,-9v0,30,76,42,76,100v0,35,-24,53,-57,53v-35,0,-55,-20,-61,-54r35,-10v3,16,9,30,27,30v10,0,18,-5,18,-16v0,-33,-76,-46,-76,-99v0,-31,24,-52,54,-52v32,0,53,21,59,51","w":140},"t":{"d":"26,-161r-22,0r0,-33r22,0r0,-52r40,0r0,52r27,0r0,33r-27,0r0,112v-1,16,12,17,27,16r0,34v-32,9,-67,-3,-67,-41r0,-121","w":100},"u":{"d":"100,-194r40,0r0,194r-38,0r0,-19v-24,30,-84,36,-83,-18r0,-157r41,0r0,150v2,23,28,13,40,2r0,-152"},"v":{"d":"69,-64v11,-41,16,-88,26,-130r41,0r-46,194r-40,0r-46,-194r41,0","w":140},"w":{"d":"85,-193r30,0r22,120r22,-121r39,0r-45,194r-32,0r-23,-122r-26,122r-32,0r-38,-194r39,0r18,121","w":200},"x":{"d":"4,0r44,-103r-40,-91r41,0r21,54r21,-54r42,0r-42,91r44,103r-41,0v-9,-21,-15,-46,-25,-66r-23,66r-42,0","w":140},"y":{"d":"96,-194r40,0r-50,208v-11,41,-30,49,-72,47r0,-33v36,6,40,-27,32,-57r-42,-165r41,0r26,124","w":140},"z":{"d":"85,-161r-69,0r0,-33r113,0r0,33r-75,128r75,0r0,33r-118,0r0,-33","w":140},"{":{"d":"0,-107r0,-20v51,-8,-20,-143,58,-137r39,0r0,18v-20,1,-42,-6,-42,18r0,70v0,30,-20,38,-28,42v9,1,28,11,28,42r0,70v-3,24,22,17,42,18r0,17v-37,1,-83,3,-77,-35v-3,-34,11,-100,-20,-103","w":100},"|":{"d":"22,4r0,-268r36,0r0,268r-36,0","w":79},"}":{"d":"100,-126r0,21v-51,8,20,142,-58,136r-39,0r0,-17v20,-1,42,6,42,-18r0,-70v0,-30,20,-38,28,-42v-9,-1,-28,-11,-28,-42r0,-70v3,-24,-22,-17,-42,-18r0,-18v37,-1,83,-3,77,35v3,34,-11,100,20,103","w":100},"~":{"d":"70,-121v24,0,52,23,77,23v14,0,23,-12,31,-23r16,31v-14,12,-26,28,-48,28v-35,0,-89,-47,-108,0r-16,-31v11,-12,24,-28,48,-28","w":216},"'":{"d":"23,-161r0,-99r34,0r0,99r-34,0","w":79},"`":{"d":"36,-217r-48,-52r49,0r29,52r-30,0","w":79},"\u00a0":{"w":79}}});


// Blogger.js
function twitterCallback2(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    statusHTML.push('<li><span>'+status+'</span> <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></li>');
  }
  document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}
