/*
	jQuery Coda-Slider v2.0 - http://www.ndoherty.biz/coda-slider
	Copyright (c) 2009 Niall Doherty
	This plugin available for use in all personal or commercial projects under both MIT and GPL licenses.
*/

/* DECLARE VARS */
var sliderCount = 1;
var panelWidth;
var panelCount;
var panelContainerWidth;
var navClicks; // Used if autoSlideStopWhen
var currentPanel;
var offset = 0;


$(function(){

	// The element that is fluid width
	$fluidEl = $(".video");

	// Figure out and save aspect ratio for each video
	$('iframe').each(function() {

		$(this).data('aspectRatio', this.height / this.width)
			// and remove the hard coded width/height
			.removeAttr('height')
			.removeAttr('width');
	});

	// Remove the coda-slider-no-js class from the body
	$("body").removeClass("coda-slider-no-js");
	// Preloader
	$(".coda-slider").children('.panel').hide().end().prepend('<p class="loading">Loading...<br /><img src="images/ajax-loader.gif" alt="loading..." /></p>');
	resizePanels();
});

$.fn.codaSlider = function(settings) {

	settings = $.extend({
		autoHeight: true,
		autoHeightEaseDuration: 1000,
		autoHeightEaseFunction: "easeInOutExpo",
		autoSlide: false,
		autoSlideInterval: 7000,
		autoSlideStopWhenClicked: true,
		crossLinking: true,
		dynamicArrows: true,
		dynamicArrowLeftText: "<span>&lt;</span>",
		dynamicArrowRightText: "<span>&gt;</span>",
		dynamicTabs: true,
		dynamicTabsAlign: "center",
		dynamicTabsPosition: "top",
		externalTriggerSelector: "a.xtrig",
		firstPanelToLoad: 1,
		panelTitleSelector: "h2.title",
		slideEaseDuration: 1000,
		slideEaseFunction: "easeInOutExpo"
	}, settings);
	
	return this.each(function(){
		
		// Uncomment the line below to test your preloader
		// alert("Testing preloader");
		
		var slider = $(this);
		
		// If we need arrows
		if (settings.dynamicArrows) {
			slider.parent().addClass("arrows");
			slider.before('<div class="coda-nav-left" id="coda-nav-left-' + sliderCount + '"><a href="#">' + settings.dynamicArrowLeftText + '</a></div>');
			slider.after('<div class="coda-nav-right" id="coda-nav-right-' + sliderCount + '"><a href="#">' + settings.dynamicArrowRightText + '</a></div>');
		};
		
		
		panelWidth = slider.find(".panel").width();
		panelCount = slider.find(".panel").size();
		panelContainerWidth = panelWidth*panelCount;
		navClicks = 0; // Used if autoSlideStopWhenClicked = true
		
		// Surround the collection of panel divs with a container div (wide enough for all panels to be lined up end-to-end)
		$('.panel', slider).wrapAll('<div class="panel-container"></div>');
		// Specify the width of the container div (wide enough for all panels to be lined up end-to-end)
		$(".panel-container", slider).css({ width: panelContainerWidth });
		
		// Specify the current panel.
		// If the loaded URL has a hash (cross-linking), we're going to use that hash to give the slider a specific starting position...
		if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount) {
			currentPanel = parseInt(location.hash.slice(1));
			offset = - (panelWidth*(currentPanel - 1));
			$('.panel-container', slider).css({ marginLeft: offset });
		// If that's not the case, check to see if we're supposed to load a panel other than Panel 1 initially...
		} else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount) { 
			currentPanel = settings.firstPanelToLoad;
			offset = - (panelWidth*(currentPanel - 1));
			$('.panel-container', slider).css({ marginLeft: offset });
		// Otherwise, we'll just set the current panel to 1...
		} else { 
			currentPanel = 1;
		};
			
		// Left arrow click
		$("#coda-nav-left-" + sliderCount + " a").click(function(){
			navClicks++;
			if (currentPanel == 1) {
				offset = - (panelWidth*(panelCount - 1));
				alterPanelHeight(panelCount - 1);
				currentPanel = panelCount;
				slider.siblings('.coda-nav').find('a.current').removeClass('current').parents('ul').find('li:last a').addClass('current');
			} else {
				currentPanel -= 1;
				alterPanelHeight(currentPanel - 1);
				offset = - (panelWidth*(currentPanel - 1));
				slider.siblings('.coda-nav').find('a.current').removeClass('current').parent().prev().find('a').addClass('current');
			};
			$('.panel-container', slider).animate({ marginLeft: offset }, settings.slideEaseDuration, settings.slideEaseFunction);
			if (settings.crossLinking) { location.hash = currentPanel }; // Change the URL hash (cross-linking)
			return false;
		});
			
		// Right arrow click
		$('#coda-nav-right-' + sliderCount + ' a').click(function(){
			navClicks++;
			if (currentPanel == panelCount) {
				offset = 0;
				currentPanel = 1;
				alterPanelHeight(0);
				slider.siblings('.coda-nav').find('a.current').removeClass('current').parents('ul').find('a:eq(0)').addClass('current');
			} else {
				offset = - (panelWidth*currentPanel);
				alterPanelHeight(currentPanel);
				currentPanel += 1;
				slider.siblings('.coda-nav').find('a.current').removeClass('current').parent().next().find('a').addClass('current');
			};
			$('.panel-container', slider).animate({ marginLeft: offset }, settings.slideEaseDuration, settings.slideEaseFunction);
			if (settings.crossLinking) { location.hash = currentPanel }; // Change the URL hash (cross-linking)
			return false;
		});
		
		// If we need a dynamic menu
		if (settings.dynamicTabs) {
			var dynamicTabs = '<div class="coda-nav" id="coda-nav-' + sliderCount + '"><ul></ul></div>';
			switch (settings.dynamicTabsPosition) {
				case "bottom":
					slider.parent().append(dynamicTabs);
					break;
				default:
					slider.parent().prepend(dynamicTabs);
					break;
			};
			ul = $('#coda-nav-' + sliderCount + ' ul');
			// Create the nav items
			$('.panel', slider).each(function(n) {
				ul.append('<li class="tab' + (n+1) + '"><a href="#' + (n+1) + '">' + (n+1) + '</a></li>');
			});
			navContainerWidth = slider.width() + slider.siblings('.coda-nav-left').width() + slider.siblings('.coda-nav-right').width();
			ul.parent().css({ width: navContainerWidth });
			switch (settings.dynamicTabsAlign) {
				case "center":
					ul.css({ width: ($("li", ul).width() + 2) * panelCount });
					break;
				case "right":
					ul.css({ float: 'right' });
					break;
			};
		};
			
		// If we need a tabbed nav
		$('#coda-nav-' + sliderCount + ' a').each(function(z) {
			// What happens when a nav link is clicked
			$(this).bind("click", function() {
				navClicks++;
				$(this).addClass('current').parents('ul').find('a').not($(this)).removeClass('current');
				offset = - (panelWidth*z);
				alterPanelHeight(z);
				currentPanel = z + 1;
					
				$('.panel-container', slider).animate({ marginLeft: offset }, settings.slideEaseDuration, settings.slideEaseFunction);
				if (!settings.crossLinking) { return false }; // Don't change the URL hash unless cross-linking is specified
			});
		});
		
		// External triggers (anywhere on the page)
		$(settings.externalTriggerSelector).each(function() {
			// Make sure this only affects the targeted slider
			if (sliderCount == parseInt($(this).attr("rel").slice(12))) {
				$(this).bind("click", function() {
					navClicks++;
					targetPanel = parseInt($(this).attr("href").slice(1));
					offset = - (panelWidth*(targetPanel - 1));
					alterPanelHeight(targetPanel - 1);
					currentPanel = targetPanel;
					// Switch the current tab:
					slider.siblings('.coda-nav').find('a').removeClass('current').parents('ul').find('li:eq(' + (targetPanel - 1) + ') a').addClass('current');
					// Slide
					$('.panel-container', slider).animate({ marginLeft: offset }, settings.slideEaseDuration, settings.slideEaseFunction);
					if (!settings.crossLinking) { return false }; // Don't change the URL hash unless cross-linking is specified
				});
			};
		});
			
		// Specify which tab is initially set to "current". Depends on if the loaded URL had a hash or not (cross-linking)
		if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount) {
			$("#coda-nav-" + sliderCount + " a:eq(" + (location.hash.slice(1) - 1) + ")").addClass("current");
		// If there's no cross-linking, check to see if we're supposed to load a panel other than Panel 1 initially...
		} else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount) {
			$("#coda-nav-" + sliderCount + " a:eq(" + (settings.firstPanelToLoad - 1) + ")").addClass("current");
		// Otherwise we must be loading Panel 1, so make the first tab the current one.
		} else {
			$("#coda-nav-" + sliderCount + " a:eq(0)").addClass("current");
		};
		
		// Set the height of the first panel
		if (settings.autoHeight) {
			panelHeight = $('.panel:eq(' + (currentPanel - 1) + ')', slider).height();
			slider.css({ height: panelHeight });
		};
		
		// Trigger autoSlide
		if (settings.autoSlide) {
			slider.ready(function() {
				setTimeout(autoSlide,settings.autoSlideInterval);
			});
		};
		
		function alterPanelHeight(x) {
			if (settings.autoHeight) {
				panelHeight = $('.panel:eq(' + x + ')', slider).height()
				slider.animate({ height: panelHeight }, settings.autoHeightEaseDuration, settings.autoHeightEaseFunction);
			};
		};
		
		function autoSlide() {
			if (navClicks == 0 || !settings.autoSlideStopWhenClicked) {
				if (currentPanel == panelCount) {
					offset = 0;
					currentPanel = 1;
				} else {
					offset = - (panelWidth*currentPanel);
					currentPanel += 1;
				};
				alterPanelHeight(currentPanel - 1);
				// Switch the current tab:
				slider.siblings('.coda-nav').find('a').removeClass('current').parents('ul').find('li:eq(' + (currentPanel - 1) + ') a').addClass('current');
				// Slide:
				$('.panel-container', slider).animate({ marginLeft: offset }, settings.slideEaseDuration, settings.slideEaseFunction);
				setTimeout(autoSlide,settings.autoSlideInterval);
			};
		};
		
		// Kill the preloader
		$('.panel', slider).show().end().find("p.loading").remove();
		slider.removeClass("preload");
		
		
		
		sliderCount++;
		
	});
	
};

//RESIZE FUNCTION
function resizePanels() {
	//set variables
	var resizeWidth = $('.coda-slider-wrapper').width(); 
	offset = - (panelWidth*(currentPanel-1));
	panelWidth = resizeWidth;
	panelContainerWidth = panelWidth*panelCount;
	
	$('.coda-nav').css('width',resizeWidth)
	$('.coda-nav ul').css('width',resizeWidth)
	$('.panel').css('width',resizeWidth)
	
	
	$('.panel-container').css('width',panelContainerWidth)
	$('.panel-container').css('marginLeft', offset);
	
	
	var newWidth = $fluidEl.width();
		
	// Resize all videos according to their own aspect ratio
	$('iframe').each(function() {
		var $el = $(this);
		$el
			.width(newWidth)
			.height(newWidth * $el.data('aspectRatio'));

	});

}

//On window resize, call functions
$(window).resize(function(){
	resizePanels();  
});

	
 


/* JQuery easing */
jQuery.easing.jswing=jQuery.easing.swing;
jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,a,c,b,d){return jQuery.easing[jQuery.easing.def](e,a,c,b,d)},easeInQuad:function(e,a,c,b,d){return b*(a/=d)*a+c},easeOutQuad:function(e,a,c,b,d){return-b*(a/=d)*(a-2)+c},easeInOutQuad:function(e,a,c,b,d){if((a/=d/2)<1)return b/2*a*a+c;return-b/2*(--a*(a-2)-1)+c},easeInCubic:function(e,a,c,b,d){return b*(a/=d)*a*a+c},easeOutCubic:function(e,a,c,b,d){return b*((a=a/d-1)*a*a+1)+c},easeInOutCubic:function(e,a,c,b,d){if((a/=d/2)<1)return b/
2*a*a*a+c;return b/2*((a-=2)*a*a+2)+c},easeInQuart:function(e,a,c,b,d){return b*(a/=d)*a*a*a+c},easeOutQuart:function(e,a,c,b,d){return-b*((a=a/d-1)*a*a*a-1)+c},easeInOutQuart:function(e,a,c,b,d){if((a/=d/2)<1)return b/2*a*a*a*a+c;return-b/2*((a-=2)*a*a*a-2)+c},easeInQuint:function(e,a,c,b,d){return b*(a/=d)*a*a*a*a+c},easeOutQuint:function(e,a,c,b,d){return b*((a=a/d-1)*a*a*a*a+1)+c},easeInOutQuint:function(e,a,c,b,d){if((a/=d/2)<1)return b/2*a*a*a*a*a+c;return b/2*((a-=2)*a*a*a*a+2)+c},easeInSine:function(e,
a,c,b,d){return-b*Math.cos(a/d*(Math.PI/2))+b+c},easeOutSine:function(e,a,c,b,d){return b*Math.sin(a/d*(Math.PI/2))+c},easeInOutSine:function(e,a,c,b,d){return-b/2*(Math.cos(Math.PI*a/d)-1)+c},easeInExpo:function(e,a,c,b,d){return a==0?c:b*Math.pow(2,10*(a/d-1))+c},easeOutExpo:function(e,a,c,b,d){return a==d?c+b:b*(-Math.pow(2,-10*a/d)+1)+c},easeInOutExpo:function(e,a,c,b,d){if(a==0)return c;if(a==d)return c+b;if((a/=d/2)<1)return b/2*Math.pow(2,10*(a-1))+c;return b/2*(-Math.pow(2,-10*--a)+2)+c},
easeInCirc:function(e,a,c,b,d){return-b*(Math.sqrt(1-(a/=d)*a)-1)+c},easeOutCirc:function(e,a,c,b,d){return b*Math.sqrt(1-(a=a/d-1)*a)+c},easeInOutCirc:function(e,a,c,b,d){if((a/=d/2)<1)return-b/2*(Math.sqrt(1-a*a)-1)+c;return b/2*(Math.sqrt(1-(a-=2)*a)+1)+c},easeInElastic:function(e,a,c,b,d){e=1.70158;var f=0,g=b;if(a==0)return c;if((a/=d)==1)return c+b;f||(f=d*0.3);if(g<Math.abs(b)){g=b;e=f/4}else e=f/(2*Math.PI)*Math.asin(b/g);return-(g*Math.pow(2,10*(a-=1))*Math.sin((a*d-e)*2*Math.PI/f))+c},easeOutElastic:function(e,
a,c,b,d){e=1.70158;var f=0,g=b;if(a==0)return c;if((a/=d)==1)return c+b;f||(f=d*0.3);if(g<Math.abs(b)){g=b;e=f/4}else e=f/(2*Math.PI)*Math.asin(b/g);return g*Math.pow(2,-10*a)*Math.sin((a*d-e)*2*Math.PI/f)+b+c},easeInOutElastic:function(e,a,c,b,d){e=1.70158;var f=0,g=b;if(a==0)return c;if((a/=d/2)==2)return c+b;f||(f=d*0.3*1.5);if(g<Math.abs(b)){g=b;e=f/4}else e=f/(2*Math.PI)*Math.asin(b/g);if(a<1)return-0.5*g*Math.pow(2,10*(a-=1))*Math.sin((a*d-e)*2*Math.PI/f)+c;return g*Math.pow(2,-10*(a-=1))*Math.sin((a*
d-e)*2*Math.PI/f)*0.5+b+c},easeInBack:function(e,a,c,b,d,f){if(f==undefined)f=1.70158;return b*(a/=d)*a*((f+1)*a-f)+c},easeOutBack:function(e,a,c,b,d,f){if(f==undefined)f=1.70158;return b*((a=a/d-1)*a*((f+1)*a+f)+1)+c},easeInOutBack:function(e,a,c,b,d,f){if(f==undefined)f=1.70158;if((a/=d/2)<1)return b/2*a*a*(((f*=1.525)+1)*a-f)+c;return b/2*((a-=2)*a*(((f*=1.525)+1)*a+f)+2)+c},easeInBounce:function(e,a,c,b,d){return b-jQuery.easing.easeOutBounce(e,d-a,0,b,d)+c},easeOutBounce:function(e,a,c,b,d){return(a/=
d)<1/2.75?b*7.5625*a*a+c:a<2/2.75?b*(7.5625*(a-=1.5/2.75)*a+0.75)+c:a<2.5/2.75?b*(7.5625*(a-=2.25/2.75)*a+0.9375)+c:b*(7.5625*(a-=2.625/2.75)*a+0.984375)+c},easeInOutBounce:function(e,a,c,b,d){if(a<d/2)return jQuery.easing.easeInBounce(e,a*2,0,b,d)*0.5+c;return jQuery.easing.easeOutBounce(e,a*2-d,0,b,d)*0.5+b*0.5+c}});


/* CUFON
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version 1.09i
 */
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("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.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}})());

/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * 2005 Fred Smeijers published by FSI FontShop International GmbH
 * 
 * Trademark:
 * Quadraat is a trademark of FSI FontShop International GmbH
 * 
 * Manufacturer:
 * FSI
 * 
 * Designer:
 * Fred Smeijers
 * 
 * Vendor URL:
 * http://www.fontfont.com
 * 
 * License information:
 * http://www.fontfont.com/eula/license.html
 */
Cufon.registerFont({"w":180,"face":{"font-family":"QuadraatSansOT","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 5 4 3 1 1 2 1 2","ascent":"274","descent":"-86","bbox":"-20 -287 297 94","underline-thickness":"22.68","underline-position":"-1.08","stemh":"25","stemv":"31","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":74},"!":{"d":"66,-230r-7,163r-25,5r-3,-168r35,0xm66,-20v0,12,-8,22,-20,22v-12,0,-21,-9,-21,-21v0,-12,9,-21,21,-21v11,0,20,9,20,20","w":94},"\"":{"d":"131,-224r-40,83r-17,-8r31,-86xm70,-224r-40,83r-17,-8r31,-86","w":146,"k":{"W":-6,"V":-6,"A":18}},"#":{"d":"225,-161r-5,16r-48,0r-18,49r56,0r-5,16r-56,0r-30,88r-16,-5r27,-83r-50,0r-30,88r-17,-7r29,-81r-50,0r5,-16r50,0r16,-49r-52,0r4,-16r54,0r30,-82r15,6r-27,76r52,0r29,-82r16,6r-27,76r48,0xm154,-145r-52,0r-18,49r51,0","w":237},"$":{"d":"157,-61v0,40,-31,66,-73,66r-5,32r-15,0r5,-33v-14,-2,-26,-6,-38,-10r-5,-40v13,11,28,20,47,23r11,-78v-29,-14,-53,-41,-53,-66v0,-40,29,-66,71,-67r4,-29r15,0r-4,30v15,2,31,8,37,13r0,35v-10,-11,-24,-20,-41,-23r-11,80v22,16,55,29,55,67xm99,-208v-39,3,-47,58,-10,72xm87,-23v41,-1,43,-59,11,-70"},"%":{"d":"282,-60v0,39,-23,64,-60,64v-36,0,-59,-25,-59,-64v0,-39,23,-63,59,-63v37,0,60,24,60,63xm127,-170v0,39,-24,63,-60,63v-36,0,-59,-24,-59,-63v0,-39,23,-63,59,-63v36,0,60,24,60,63xm102,-170v0,-30,-13,-47,-35,-47v-23,0,-35,17,-35,48v0,29,13,46,35,46v22,0,35,-17,35,-47xm257,-60v0,-30,-13,-46,-35,-46v-22,0,-34,16,-34,47v0,29,12,46,34,46v22,0,35,-17,35,-47xm191,-231r-74,239r-20,-8r74,-238","w":290},"&":{"d":"192,9v-16,-8,-19,-9,-38,-26v-39,40,-143,25,-143,-38v0,-37,21,-52,44,-66v-48,-45,-32,-113,35,-115v74,-2,74,80,23,104r-19,13v28,31,34,38,64,65v10,-16,10,-57,-1,-76r64,0r7,23r-43,0v3,21,-3,54,-12,66v24,23,38,30,63,41xm140,-31v-33,-29,-56,-51,-73,-74v-15,12,-23,25,-23,39v3,51,63,60,96,35xm101,-150v23,-16,29,-67,-13,-63v-41,4,-38,47,-7,78","w":243},"'":{"d":"70,-224r-40,83r-17,-8r31,-86","w":81,"k":{"W":-6,"V":-6,"A":18}},"(":{"d":"111,41r-18,6v-99,-60,-98,-220,0,-280r18,7v-79,54,-77,213,0,267","w":119,"k":{"W":-6,"V":-6,"T":-4,"Y":-6,"j":-15}},")":{"d":"26,-233v99,60,98,220,0,280r-18,-6v77,-54,79,-213,0,-267","w":119},"*":{"d":"168,-186r-68,17r45,54r-20,15r-38,-59r-38,59r-20,-15r45,-54r-68,-17r7,-24r65,26r-4,-71r26,0r-5,71r65,-26","w":172},"+":{"d":"190,-79r-78,-3r0,82r-25,5r3,-87r-81,2r5,-24r76,0r0,-65r24,-8v-2,23,-2,48,-2,73r78,-1r0,26","w":201},",":{"d":"77,-5v0,18,-10,44,-37,68r-14,-14v9,-9,24,-22,24,-44v-31,-1,-31,-49,0,-47v16,0,27,14,27,37","w":100,"k":{"7":14}},"-":{"d":"104,-82r-87,10r-2,-28r87,-11","w":118,"k":{"V":10,"T":13,"Y":20}},".":{"d":"72,-19v0,13,-10,24,-24,24v-13,0,-23,-10,-23,-23v0,-13,11,-24,25,-24v13,0,22,10,22,23","w":97,"k":{"7":14}},"\/":{"d":"87,-232r-50,274r-22,-5r49,-275","w":104},"0":{"d":"166,-83v0,53,-29,88,-76,88v-47,0,-76,-35,-76,-88v0,-53,29,-87,76,-87v47,0,76,34,76,87xm136,-83v0,-39,-17,-64,-47,-64v-29,0,-45,25,-45,64v0,39,16,65,46,65v30,0,46,-26,46,-65"},"1":{"d":"92,0r-33,0r0,-132r-38,10r0,-16r71,-33r0,171","w":141},"2":{"d":"160,-28r-9,28r-127,0r-9,-15v31,-26,85,-48,89,-94v3,-40,-52,-31,-79,-23r8,-33v42,-13,112,-2,105,48v3,38,-41,65,-73,89r95,0"},"3":{"d":"152,5v0,60,-77,95,-134,69r0,-15v51,2,97,-2,101,-50v3,-34,-41,-46,-85,-41r9,-27r30,0v16,-11,44,-32,44,-53v0,-37,-59,-32,-89,-21r9,-31v12,-3,30,-6,49,-6v49,0,63,25,63,53v0,34,-37,55,-50,60v28,7,53,23,53,62"},"4":{"d":"174,-28r-12,28r-29,0r0,74r-31,10r0,-84r-90,0r-6,-27r93,-134r34,-10r0,143r41,0xm102,-28r0,-103r-70,103r70,0"},"5":{"d":"158,-164r-11,29r-85,0r-4,56v49,5,95,23,95,78v1,77,-73,97,-134,76r0,-16v54,2,102,-1,102,-56v0,-44,-49,-50,-91,-53r7,-114r121,0"},"6":{"d":"170,-230v-87,-11,-120,41,-122,125v0,41,9,86,46,86v23,0,39,-25,39,-65v0,-46,-26,-56,-65,-54v-2,-20,15,-23,31,-23v42,0,67,31,67,73v0,53,-25,93,-74,93v-63,0,-77,-58,-77,-114v0,-91,69,-168,155,-137r0,16"},"7":{"d":"167,-149r-112,232r-27,-11r103,-204r-117,0r0,-32r148,0","k":{".":18,",":18,"4":16}},"8":{"d":"139,-111v48,37,27,112,-50,112v-70,0,-100,-78,-44,-112r26,-19v-20,-16,-49,-35,-48,-68v0,-35,29,-58,71,-58v41,0,69,20,69,53v0,38,-38,57,-52,68xm92,-20v45,0,50,-61,19,-78r-25,-19v-16,15,-38,23,-38,55v0,25,16,42,44,42xm131,-201v0,-21,-15,-35,-36,-35v-42,-2,-53,46,-24,69v10,5,19,24,31,14v24,-21,29,-34,29,-48"},"9":{"d":"165,-56v0,92,-58,161,-142,131r0,-16v81,9,108,-36,109,-119v0,-41,-11,-86,-48,-86v-18,0,-39,17,-39,57v0,47,23,67,67,63v2,19,-15,21,-30,21v-43,0,-69,-37,-69,-79v0,-55,31,-86,73,-86v64,0,79,58,79,114"},":":{"d":"72,-116v0,13,-11,24,-24,24v-13,0,-23,-10,-23,-23v0,-13,11,-24,25,-24v13,0,22,10,22,23xm72,-19v0,13,-11,24,-24,24v-13,0,-23,-10,-23,-23v0,-13,11,-24,25,-24v13,0,22,10,22,23","w":97},";":{"d":"77,-5v0,18,-10,44,-37,68r-14,-14v9,-9,24,-22,24,-44v-31,-1,-31,-49,0,-47v16,0,27,14,27,37xm77,-116v0,13,-11,24,-24,24v-13,0,-23,-10,-23,-23v0,-13,10,-24,24,-24v13,0,23,10,23,23","w":101},"<":{"d":"176,-20r-15,26v-45,-31,-96,-58,-144,-86r145,-97r13,24r-112,71","w":201},"=":{"d":"193,-37r-136,-2r-45,2r5,-26r176,0r0,26xm193,-108v-57,-4,-123,-4,-181,-1r4,-25r177,-1r0,27","w":201},">":{"d":"189,-80r-106,61r-37,25r-15,-26r113,-62r-112,-71r12,-24","w":201},"?":{"d":"93,-181v4,-28,-50,-32,-78,-37r19,-25v37,8,91,12,91,54v0,45,-49,60,-62,94v0,7,7,13,22,17r-15,19v-33,-5,-52,-23,-29,-50v17,-21,48,-43,52,-72xm70,-18v0,12,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,10,-21,22,-21v11,0,20,10,20,21","w":133},"@":{"d":"283,-101v0,80,-58,101,-90,101v-6,0,-23,-1,-27,-22v-17,25,-83,34,-83,-14v0,-44,48,-49,83,-60v-1,-21,5,-47,-19,-45v-21,1,-30,19,-43,30r-17,-17v12,-28,109,-60,108,-2r-2,111v37,3,63,-20,63,-75v0,-66,-36,-109,-106,-109v-77,0,-116,54,-116,126v0,82,60,133,114,133r0,18v-73,0,-143,-53,-143,-154v0,-82,60,-143,144,-143v78,0,134,48,134,122xm166,-30r0,-48v-22,9,-54,8,-56,36v-2,27,39,20,56,12","w":287},"A":{"d":"189,0r-38,0r-20,-54r-83,0r-20,54r-32,0r80,-212r-8,-19r37,0xm122,-81r-33,-91r-32,91r65,0","w":188,"k":{"w":2,"v":2,"W":3,"V":3,"T":11,";":-6,",":-4}},"B":{"d":"137,-122v81,25,50,127,-35,127v-28,0,-59,-7,-70,-10r0,-223v51,-14,144,-6,144,51v0,32,-23,48,-39,55xm147,-65v2,-37,-39,-41,-80,-39r0,77v26,11,89,2,80,-38xm118,-128v33,-18,30,-87,-29,-81r-22,0r0,81r51,0","w":203},"C":{"d":"200,-14v-13,8,-41,18,-70,18v-74,0,-119,-50,-119,-118v0,-70,48,-121,119,-121v29,0,57,10,70,18r0,35v-14,-10,-43,-24,-71,-24v-47,0,-81,34,-81,89v0,51,34,91,81,91v28,0,54,-11,71,-24r0,36","w":219},"D":{"d":"221,-114v0,71,-47,119,-119,119v-28,0,-53,-5,-70,-10r0,-223v19,-4,40,-7,70,-7v74,0,119,47,119,121xm184,-114v-3,-65,-43,-103,-117,-95r0,182v64,21,119,-27,117,-87","w":231,"k":{",":5,".":5}},"E":{"d":"164,-28r-14,28r-118,0r0,-231r126,0r-11,27r-80,0r0,74r75,0r-10,26r-65,0r0,76r97,0","w":178},"F":{"d":"160,-231r-11,27r-82,0r0,78r77,0r-10,27r-67,0r0,99r-35,0r0,-231r128,0","w":164,"k":{"o":6,"n":6,"e":6,"c":6,"a":9,"A":5,":":6,".":24,"r":6,"q":6,"p":6,"m":6,"d":6,";":6,",":24}},"G":{"d":"205,5r-20,-11v-81,35,-174,-18,-174,-108v0,-97,114,-150,192,-103r0,35v-14,-10,-42,-24,-70,-24v-47,0,-85,36,-85,89v0,65,58,111,124,87r0,-65r-45,0r11,-26r67,0r0,126","w":235},"H":{"d":"213,0r-34,0r0,-106r-112,0r0,106r-35,0r0,-231r35,0r0,97r112,0r0,-97r34,0r0,231","w":245},"I":{"d":"67,0r-35,0r0,-231r35,0r0,231","w":99},"J":{"d":"66,0v0,50,-28,70,-73,70r-13,-29v34,2,53,-7,52,-41r0,-231r34,0r0,231","w":98},"K":{"d":"220,0r-49,0r-100,-116r95,-115r44,0r-99,110xm67,0r-35,0r0,-231r35,0r0,231","w":216,"k":{"y":6,"u":4,"o":4,"e":4,"c":4,"O":4,"C":4,":":-4,".":-4,"-":18,",":-4,"w":6,"v":6,"t":4,"q":4,"d":4,"Q":4,"G":4,";":-4}},"L":{"d":"159,-28r-14,28r-113,0r0,-231r35,0r0,203r92,0","w":158,"k":{"w":8,"v":8,"]":12,"W":17,"V":17,"T":24,"Q":4,"G":4,";":-4,",":-4,".":-4,":":-4,"Y":24,"\"":24,"'":24,"y":8,")":12,"}":12,"-":18,"C":4,"O":4}},"M":{"d":"62,0r-29,0r0,-211r-15,-20r43,0r81,114r87,-114r19,0r0,231r-34,0r0,-170r-78,104r-74,-105r0,171","w":280},"N":{"d":"212,0r-15,0r-133,-166r0,166r-28,0r0,-202r-23,-29r43,0r127,159r0,-159r29,0r0,231","w":244},"O":{"d":"238,-115v0,70,-47,120,-113,120v-66,0,-114,-49,-114,-120v0,-70,48,-120,114,-120v66,0,113,50,113,120xm202,-115v0,-53,-28,-92,-77,-92v-49,0,-77,39,-77,92v0,53,28,91,77,91v49,0,77,-38,77,-91","w":249,"k":{"X":5,"W":2,"V":4,"T":7,",":4,".":4,"Y":4,"A":2}},"P":{"d":"182,-159v0,47,-40,87,-96,72v1,-7,-3,-18,7,-15v34,0,52,-18,52,-58v0,-45,-38,-50,-78,-49r0,209r-35,0r0,-227v9,-4,35,-8,64,-8v50,0,86,28,86,76","w":190,"k":{"o":4,"n":6,"e":4,"c":4,"O":-4,"C":-6,"A":9,":":9,".":32,"-":13,"'":-6,"\"":-6,"v":-6,"r":6,"q":4,"p":6,"m":6,"d":4,"\\":-1,"X":3,"Q":-4,"G":-6,";":9,"\/":11,",":32}},"Q":{"d":"238,-115v0,49,-24,85,-60,104r60,68r-48,0r-43,-54v-79,12,-135,-40,-136,-118v0,-70,48,-120,114,-120v66,0,113,50,113,120xm202,-115v0,-53,-28,-92,-77,-92v-49,0,-77,39,-77,92v0,53,28,91,77,91v49,0,77,-38,77,-91","w":249,"k":{"y":-8,"j":-12,".":4,"X":5,"W":2,"V":4,"T":7,"J":-20,",":4,"Y":4,"A":2}},"R":{"d":"211,0r-43,0r-67,-94r-34,0r0,94r-35,0r0,-228v56,-15,147,-9,147,59v0,36,-30,58,-47,65xm144,-166v0,-37,-33,-46,-77,-43r0,90r46,0v12,-6,31,-23,31,-47","w":208,"k":{"}":4,"y":6,"u":4,"o":4,"e":4,"c":4,"Y":8,"U":6,".":-4,"-":18,")":4,"'":12,"\"":12,"w":6,"v":6,"q":4,"]":6,"W":7,"V":7,"T":6,",":-4}},"S":{"d":"155,-61v2,62,-78,80,-130,55r-5,-40v24,27,96,37,100,-12v-5,-31,-34,-35,-53,-49v-73,-35,-46,-129,35,-127v19,0,42,8,50,14r0,36v-20,-29,-92,-33,-94,13v11,51,95,46,97,110","w":174},"T":{"d":"177,-231r-11,28r-63,0r0,203r-34,0r0,-203r-69,0r0,-28r177,0","w":169,"k":{"}":-9,"y":9,"u":4,"s":11,"o":11,"n":14,"e":11,"c":11,"a":9,"Q":7,"O":7,"A":10,":":22,".":22,"-":23,")":-9,"'":-9,"\"":-9,"w":9,"v":9,"t":4,"r":14,"q":11,"p":14,"m":14,"d":11,"]":-12,";":22,",":22}},"U":{"d":"206,-80v0,47,-35,85,-87,85v-55,0,-89,-33,-89,-92r0,-143r34,0v7,79,-28,207,55,207v88,0,50,-126,58,-207r29,0r0,150","w":234,"k":{",":8,".":8}},"V":{"d":"187,-231r-82,230r-30,5r-77,-235r36,0r59,186r63,-186r31,0","w":184,"k":{"}":-6,"o":8,"n":4,"e":8,"c":8,"a":7,"O":3,"A":5,":":12,".":23,"-":13,")":-6,"'":-11,"\"":-11,"r":4,"q":8,"p":4,"m":4,"d":7,"]":-9,"Q":3,";":12,",":23}},"W":{"d":"297,-231r-76,230r-29,6r-43,-143r-54,136r-28,7r-67,-236r36,0r50,186r51,-132r-16,-54r35,0r53,183r58,-183r30,0","w":293,"k":{"}":-6,"o":8,"n":4,"e":8,"c":8,"a":7,"O":3,"A":5,":":12,".":23,"-":10,",":23,")":-6,"'":-11,"\"":-11,"r":4,"q":8,"p":4,"m":4,"d":7,"]":-9,"Q":3,";":12}},"X":{"d":"190,0r-39,0r-58,-93r-60,93r-33,0r76,-119r-70,-112r38,0r52,82r52,-82r32,0r-68,107","w":189,"k":{"y":4,"o":4,"e":4,"c":4,"Q":5,"O":5,"w":4,"v":4,"q":4,"d":4}},"Y":{"d":"177,-231r-76,136r0,95r-34,0r0,-98r-71,-133r39,0r54,101r55,-101r33,0","w":171,"k":{"q":13,"d":13,"]":-4,"Q":4,";":22,",":26,".":26,":":22,")":-4,"}":-4,"-":23,"O":4,"A":5,"a":13,"c":13,"e":13,"o":13,"u":11}},"Z":{"d":"183,-28r-11,28r-169,0r120,-204r-114,0r0,-27r166,0r-119,203r127,0","w":178},"[":{"d":"121,25r-3,20r-79,-4r0,-272r79,-2r3,19r-55,7r0,223","w":129,"k":{"j":-15,"Y":-6,"W":-6,"V":-6,"T":-4}},"\\":{"d":"92,37r-23,5r-49,-274r22,-6","w":104},"]":{"d":"91,41r-80,4r-2,-20r54,-9r0,-223r-54,-7r2,-19r80,2r0,272","w":129},"^":{"d":"47,-121r-30,0r61,-134r24,0r61,134r-30,0r-43,-104"},"_":{"d":"174,35r-174,0r0,-23r174,0r0,23","w":173},"`":{"d":"112,-194r-15,11r-57,-72r24,-16","w":162},"a":{"d":"162,-19r-6,19v-21,7,-37,11,-50,-15v-19,26,-93,30,-91,-19v2,-49,55,-49,92,-62v0,-24,4,-51,-22,-50v-23,1,-33,22,-47,33r-19,-18v14,-18,43,-39,78,-39v64,0,39,79,39,131v0,20,6,17,26,20xm107,-30r0,-46v-23,10,-58,4,-61,35v-4,32,49,21,61,11","w":172},"b":{"d":"177,-87v0,66,-64,115,-121,80r-26,13r0,-251r30,-11r0,107v48,-48,117,-7,117,62xm95,-17v69,-4,67,-131,-7,-127v-9,0,-19,3,-27,8r0,106v10,8,24,13,34,13","w":192},"c":{"d":"151,-137r-24,16v-12,-8,-16,-26,-33,-26v-21,0,-46,22,-46,62v0,37,15,63,51,63v18,0,33,-7,45,-13r-6,27v-56,34,-123,0,-123,-72v0,-83,98,-124,136,-57","w":155},"d":{"d":"163,-3r-30,11r0,-26v-15,16,-29,23,-49,23v-46,0,-69,-41,-69,-82v-1,-69,55,-113,116,-84r0,-86r32,-11r0,255xm131,-31v-3,-45,14,-118,-33,-117v-29,0,-50,26,-50,61v0,61,45,80,83,56","w":192},"e":{"d":"94,-170v47,0,70,35,58,83r-105,3v-9,57,55,77,101,51r-8,29v-60,27,-125,-8,-125,-77v0,-49,30,-89,79,-89xm121,-107v7,-23,-4,-42,-28,-42v-27,0,-43,24,-45,45","w":171},"f":{"d":"148,-249r-13,24v-32,-19,-69,-17,-70,39r0,25r41,0r-8,25r-33,0r0,136r-31,0r0,-136r-29,0r8,-25r21,0v-10,-74,51,-117,114,-88","w":102,"k":{"w":-12,"v":-12,",":7,".":7,"y":-12}},"g":{"d":"190,-162r-9,26r-20,0v5,61,-39,93,-96,79v-20,14,-9,38,22,36v41,-2,85,-5,85,38v0,34,-39,64,-93,64v-36,0,-67,-12,-67,-42v0,-19,15,-33,36,-41v-34,-10,-21,-48,3,-60v-18,-8,-33,-25,-33,-48v-2,-59,73,-69,119,-52r53,0xm90,-75v39,-1,45,-36,35,-67v-28,-15,-75,-7,-75,32v0,22,17,35,40,35xm140,25v-1,-30,-57,-14,-85,-20v-5,3,-14,12,-14,26v0,25,26,29,48,29v32,0,51,-17,51,-35","w":186},"h":{"d":"162,0r-32,0r0,-102v9,-55,-50,-49,-69,-27r0,129r-31,0r0,-248r31,-9r0,108v35,-33,102,-31,101,29r0,120","w":191},"i":{"d":"61,0r-31,0r0,-158r31,-12r0,170xm68,-232v0,12,-9,20,-21,20v-13,0,-21,-8,-21,-20v0,-12,8,-20,21,-20v12,0,21,8,21,20","w":90},"j":{"d":"64,1v0,50,-24,76,-72,76r-9,-25v40,0,49,-17,49,-51r0,-160r32,-11r0,171xm69,-232v0,12,-9,20,-21,20v-13,0,-22,-8,-22,-20v0,-12,10,-20,22,-20v12,0,21,8,21,20","w":93},"k":{"d":"61,0r-31,0r0,-245r31,-11r0,256xm174,0r-41,0v-16,-17,-45,-59,-66,-90r62,-74r42,0r-69,69","w":175},"l":{"d":"61,0r-31,0r0,-245r31,-11r0,256","w":90},"m":{"d":"258,0r-31,0r0,-100v9,-54,-46,-52,-68,-30v3,41,0,87,1,130r-31,0r0,-102v9,-54,-49,-50,-68,-27r0,129r-31,0r0,-161r31,-8r0,20v31,-30,73,-27,95,2v37,-33,102,-33,102,28r0,119","w":288},"n":{"d":"162,0r-32,0r0,-102v9,-55,-50,-49,-69,-27r0,129r-31,0r0,-161r31,-8r0,20v35,-33,102,-31,101,29r0,120","w":191},"o":{"d":"171,-91v0,115,-156,132,-156,18v0,-64,33,-97,87,-97v41,0,69,32,69,79xm138,-79v0,-45,-15,-69,-46,-69v-23,0,-44,25,-44,63v0,44,14,68,46,68v23,0,44,-25,44,-62","w":186},"p":{"d":"177,-88v1,70,-56,115,-116,84r0,76r-31,10r0,-243r31,-9r0,21v12,-11,28,-21,50,-21v44,0,66,40,66,82xm144,-78v0,-52,-39,-80,-83,-59v4,47,-16,121,34,120v30,0,49,-28,49,-61","w":192},"q":{"d":"163,73r-31,11r0,-99v-50,49,-117,5,-117,-62v0,-68,66,-117,122,-80r26,-13r0,243xm132,-28r0,-106v-10,-8,-24,-13,-34,-13v-69,4,-70,129,6,127v9,0,20,-4,28,-8","w":192},"r":{"d":"128,-157r-22,29v-16,-21,-34,-1,-45,17r0,111r-31,0r0,-161r31,-9r0,35v21,-38,44,-45,67,-22","w":120,"k":{";":4,":":4,".":18,"-":13,"'":-9,"\"":-9,"v":-11,",":18}},"s":{"d":"130,-43v0,56,-70,57,-116,34r12,-23v21,14,71,24,73,-10v-11,-40,-85,-25,-82,-80v2,-52,73,-57,111,-36r-10,24v-21,-13,-67,-23,-70,9v-2,22,29,26,45,33v20,9,37,21,37,49","w":146},"t":{"d":"111,-164r-11,25r-38,0r0,90v-4,36,31,30,48,21r-7,28v-38,11,-72,7,-72,-44r0,-95r-32,0r11,-25r21,0r0,-34r35,-15r-4,49r49,0","w":113},"u":{"d":"161,-4r-31,12r0,-24v-33,31,-100,33,-100,-32r0,-113r31,-9r0,103v-6,61,42,55,69,31r0,-125r31,-9r0,166","w":190},"v":{"d":"148,-164r-61,160r-30,9r-56,-169r33,0r41,127r43,-127r30,0","w":147,"k":{".":23,",":23}},"w":{"d":"233,-164r-59,160r-29,9r-28,-90r-36,81r-27,9r-52,-169r33,0r38,128r34,-81r-14,-47r33,0r36,128r41,-128r30,0","w":232,"k":{".":23,",":23}},"x":{"d":"145,0r-37,0r-36,-59r-38,59r-33,0r57,-83r-50,-81r36,0r33,54r35,-54r32,0r-52,78","w":146},"y":{"d":"149,-164r-64,169v-11,30,-30,71,-76,72r-15,-35v38,2,56,-3,68,-37r-60,-169r34,0r42,123r40,-123r31,0","w":148,"k":{",":23,".":23}},"z":{"d":"136,-26r-6,26r-123,0r0,-13r82,-125r-78,0r10,-26r109,0r0,16r-81,122r87,0","w":145},"{":{"d":"125,89v-55,1,-77,-15,-77,-52v0,-53,27,-123,-43,-121r0,-16v67,2,43,-61,43,-113v0,-37,22,-54,77,-53r0,19v-67,-12,-49,57,-49,109v0,27,-10,41,-32,46v44,6,32,67,32,116v0,42,8,47,49,47r0,18","w":132,"k":{"W":-6,"V":-6,"T":-4,"Y":-6,"j":-15}},"|":{"d":"79,94r-27,0r0,-381r27,0r0,381","w":132},"}":{"d":"128,-84v-113,-2,36,189,-120,173r0,-18v70,12,49,-63,49,-117v0,-28,11,-40,32,-46v-43,-5,-32,-61,-32,-108v0,-42,-8,-47,-49,-47r0,-19v55,-1,77,16,77,53v0,51,-24,115,43,113r0,16","w":132},"~":{"d":"157,-121r-31,39v-22,4,-39,-19,-52,-20v-10,0,-22,19,-27,26r-14,-10r31,-40v22,-4,35,18,52,19v11,0,22,-18,28,-27","w":162},"\u00a0":{"w":74}}});



/*
 * jQuery validation plug-in 1.6
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2008 J̦rn Zaefferer
 *
 * $Id: jquery.validate.js 6403 2009-06-17 14:27:16Z joern.zaefferer $
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return;}var validator=$.data(this[0],'validator');if(validator){return validator;}validator=new $.validator(options,this[0]);$.data(this[0],'validator',validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true;});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this;});}this.submit(function(event){if(validator.settings.debug)event.preventDefault();function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm);}validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove();}return false;}return true;}if(validator.cancelSubmit){validator.cancelSubmit=false;return handle();}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false;}return handle();}else{validator.focusInvalid();return false;}});}return validator;},valid:function(){if($(this[0]).is('form')){return this.validate().form();}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this);});return valid;}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value);});return result;},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,'validator').settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages)settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages);break;case"remove":if(!argument){delete staticRules[element.name];return existingRules;}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];});return filtered;}}var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data);}return data;}});$.extend($.expr[":"],{blank:function(a){return!$.trim(""+a.value);},filled:function(a){return!!$.trim(""+a.value);},unchecked:function(a){return!a.checked;}});$.validator=function(options,form){this.settings=$.extend({},$.validator.defaults,options);this.currentForm=form;this.init();};$.validator.format=function(source,params){if(arguments.length==1)return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args);};if(arguments.length>2&&params.constructor!=Array){params=$.makeArray(arguments).slice(1);}if(params.constructor!=Array){params=[params];}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n);});return source;};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide();}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element);}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element);}},onclick:function(element){if(element.name in this.submitted)this.element(element);else if(element.parentNode.name in this.submitted)this.element(element.parentNode)},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass);},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass);}},setDefaults:function(settings){$.extend($.validator.defaults,settings);},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key;});});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value);});function delegate(event){var validator=$.data(this[0].form,"validator");validator.settings["on"+event.type]&&validator.settings["on"+event.type].call(validator,this[0]);}$(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",delegate).delegate("click",":radio, :checkbox, select, option",delegate);if(this.settings.invalidHandler)$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler);},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid())$(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid();},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i]);}return this.valid();},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name];}else{this.invalid[element.name]=true;}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers);}this.showErrors();return result;},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]});}this.successList=$.grep(this.successList,function(element){return!(element.name in errors);});}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors();},resetForm:function(){if($.fn.resetForm)$(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass);},numberOfInvalids:function(){return this.objectLength(this.invalid);},objectLength:function(obj){var count=0;for(var i in obj)count++;return count;},hideErrors:function(){this.addWrapper(this.toHide).hide();},valid:function(){return this.size()==0;},size:function(){return this.errorList.length;},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus();}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name;}).length==1&&lastActive;},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules()))return false;rulesCache[this.name]=true;return true;});},clean:function(selector){return $(selector)[0];},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext);},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.currentElements=$([]);},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers);},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element);},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0];}var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue;}dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return;}if(!result){this.formatAndAdd(element,rule);return false;}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id
+", check the '"+rule.method+"' method",e);throw e;}}if(dependencyMismatch)return;if(this.objectLength(rules))this.successList.push(element);return true;},customMetaMessage:function(element,method){if(!$.metadata)return;var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method];},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method]);},findDefined:function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined)return arguments[i];}return undefined;},defaultMessage:function(element,method){return this.findDefined(this.customMessage(element.name,method),this.customMetaMessage(element,method),!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[method],"<strong>Warning: No message defined for "+element.name+"</strong>");},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method),theregex=/\$?\{(\d+)\}/g;if(typeof message=="function"){message=message.call(this,rule.parameters,element);}else if(theregex.test(message)){message=jQuery.format(message.replace(theregex,'{$1}'),rule.parameters);}this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message;},addWrapper:function(toToggle){if(this.settings.wrapper)toToggle=toToggle.add(toToggle.parent(this.settings.wrapper));return toToggle;},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message);}if(this.errorList.length){this.toShow=this.toShow.add(this.containers);}if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i]);}}if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show();},validElements:function(){return this.currentElements.not(this.invalidElements());},invalidElements:function(){return $(this.errorList).map(function(){return this.element;});},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message);}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();}if(!this.labelContainer.append(label).length)this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element);}if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label);}this.toShow=this.toShow.add(label);},errorsFor:function(element){var name=this.idOrName(element);return this.errors().filter(function(){return $(this).attr('for')==name});},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name);},checkable:function(element){return/radio|checkbox/i.test(element.type);},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null;});},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case'select':return $("option:selected",element).length;case'input':if(this.checkable(element))return this.findByName(element.name).filter(':checked').length;}return value.length;},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true;},dependTypes:{"boolean":function(param,element){return param;},"string":function(param,element){return!!$(param,element.form).length;},"function":function(param,element){return param(element);}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch";},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true;}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();this.formSubmitted=false;}else if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=false;}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",{old:null,valid:true,message:this.defaultMessage(element,"remote")});}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className);},classRules:function(element){var rules={};var classes=$(element).attr('class');classes&&$.each(classes.split(' '),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this]);}});return rules;},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value;}}if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength;}return rules;},metadataRules:function(element){if(!$.metadata)return{};var meta=$.data(element.form,'validator').settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata();},staticRules:function(element){var rules={};var validator=$.data(element.form,'validator');if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{};}return rules;},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return;}if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break;}if(keepRule){rules[prop]=val.param!==undefined?val.param:true;}else{delete rules[prop];}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter;});$.each(['minlength','maxlength','min','max'],function(){if(rules[this]){rules[this]=Number(rules[this]);}});$.each(['rangelength','range'],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])];}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max;}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength;}}if(rules.messages){delete rules.messages}return rules;},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true;});data=transformed;}return data;},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message!=undefined?message:$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name));}},methods:{required:function(value,element,param){if(!this.depend(param,element))return"dependency-mismatch";switch(element.nodeName.toLowerCase()){case'select':var val=$(element).val();return val&&val.length>0;case'input':if(this.checkable(element))return this.getLength(value,element)>0;default:return $.trim(value).length>0;}},remote:function(value,element,param){if(this.optional(element))return"dependency-mismatch";var previous=this.previousValue(element);if(!this.settings.messages[element.name])this.settings.messages[element.name]={};previous.originalMessage=this.settings.messages[element.name].remote;this.settings.messages[element.name].remote=previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){validator.settings.messages[element.name].remote=previous.originalMessage;var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors();}else{var errors={};var message=(previous.message=response||validator.defaultMessage(element,"remote"));errors[element.name]=$.isFunction(message)?message(value):message;validator.showErrors(errors);}previous.valid=valid;validator.stopRequest(element,valid);}},param));return"pending";}else if(this.pending[element.name]){return"pending";}return previous.valid;},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param;},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param;},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1]);},min:function(value,element,param){return this.optional(element)||value>=param;},max:function(value,element,param){return this.optional(element)||value<=param;},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1]);},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value));},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value);},creditcard:function(value,element){if(this.optional(element))return"dependency-mismatch";if(/[^0-9-]+/.test(value))return false;var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(var n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9)nDigit-=9;}nCheck+=nDigit;bEven=!bEven;}return(nCheck%10)==0;},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,'|'):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"));},equalTo:function(value,element,param){var target=$(param).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){$(element).valid();});return value==target.val();}}});$.format=$.validator.format;})(jQuery);;(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}return(pendingRequests[port]=ajax.apply(this,arguments));}return ajax.apply(this,arguments);};})(jQuery);;(function($){$.each({focus:'focusin',blur:'focusout'},function(original,fix){$.event.special[fix]={setup:function(){if($.browser.msie)return false;this.addEventListener(original,$.event.special[fix].handler,true);},teardown:function(){if($.browser.msie)return false;this.removeEventListener(original,$.event.special[fix].handler,true);},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments);}};});$.extend($.fn,{delegate:function(type,delegate,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments);}});},triggerEvent:function(type,target){return this.triggerHandler(type,[$.event.fix({type:type,target:target})]);}})})(jQuery);
