ï»¿$(document).ready(function() {
	$(".dropdownMenu").click(function() {
    // ist das gerade angeklickte Element offen? Wenn JA dann dies so vermerken 
		if($(this).parent().children(".dropdownClosed").hasClass("dropdownOpened"))
			$(this).addClass("selfOpened");
    // alle ge&#246;ffneten Elemente schlie&#223;en (inkl. dem angeklickten) und die temp-Klasse entfernen  
			$(".dropdownOpened").slideUp("fast");
			$(".dropdownOpened").removeClass("dropdownOpened");
			$(".dropdownMenu").removeClass("active");
	// wenn das gerade angeklickte Element nicht offen war, dann dieses &#246;ffnen und die temp-Klasse setzen
			if(!$(this).hasClass("selfOpened"))
				{
					$(this).parent().children(".dropdownClosed").slideDown("fast");
					$(this).parent().children(".dropdownClosed").addClass("dropdownOpened");
					$(this).addClass("active");
				}
    // die 2te temp-Klasse entfernen
    $(this).removeClass("selfOpened");
		return false;
	});
	
	$('table').each(function(){
    $(this).addClass('cols' + $('tr:first-child > td', this).size());
	$(this).addClass('cols' + $('tr:first-child > th', this).size());
	});
	
	$("#slider").easySlider({
		auto: true
		//continuous: true 
	});

	$('table[cellpadding="2"]table[cellspacing="0"]').addClass("edittablename");
	$('table[width="100%"]table[cellpadding="0"]table[cellspacing="0"]').addClass("edittableimg");
	if($("body").has(".edittablename").length) { $("body").removeClass("online"); $("body").addClass("edit"); }
	
	$("#article table th:first-child,#article table td:first-child").addClass('col1');
	$("#article table th:nth-child(2n),#article table td:nth-child(2n)").addClass('col2');
	$("#article table th:nth-child(3n),#article table td:nth-child(3n)").addClass('col3');
	$("#article table th:nth-child(4n),#article table td:nth-child(4n)").addClass('col4');
	$("#article table th:nth-child(5n),#article table td:nth-child(5n)").addClass('col5');
	
	/*$("#article .abminput table th:first-child,#article .abminput table td:first-child").removeClass('col1');
	$("#article .abminput table th:nth-child(2n),#article .abminput table td:nth-child(2n)").removeClass('col2');
	$("#article .abminput table th:nth-child(3n),#article .abminput table td:nth-child(3n)").removeClass('col3');
	$("#article .abminput table th:nth-child(4n),#article .abminput table td:nth-child(4n)").removeClass('col4');
	$("#article .abminput table th:nth-child(5n),#article .abminput table td:nth-child(5n)").removeClass('col5');*/

	$("#article table.prices tr:first-child").addClass('linefirst');
	$("#article table.prices tr:nth-child(2n)").addClass('line1');
	$("#article table.prices tr:nth-child(2n+1)").addClass('line2');
	$("#article table.prices tr:last-child").addClass('linelast');
	$("#article table.prices th:first-child,#article table.prices td:first-child").addClass('col1');
	$("#article table.prices th:nth-child(2n),#article table.prices td:nth-child(2n)").addClass('col2');
	$("#article table.prices th:nth-child(3n),#article table.prices td:nth-child(3n)").addClass('col3');
	$("#article table.prices th:nth-child(4n),#article table.prices td:nth-child(4n)").addClass('col4');
	$("#article table.prices th:nth-child(5n),#article table.prices td:nth-child(5n)").addClass('col5');
	
	$("p a[href$='pdf']").addClass('linkpdf');
	$("a[href$='pdf']").attr({target: "_blank"});
	$("p a[href$='doc'],a[href$='xdoc'").attr({target: "_blank"}).addClass('linkdoc');
	$("p a[href$='xls'],a[href$='xlsx']").attr({target: "_blank"}).addClass('linkxls');
	$('#article a[href^=http]:not("[href*="kesselgrub.websline-cms113.com"]"):not("[href*="www.kesselgrub.at"]"):not("[href*="kesselgrub.at"]"):not("[href*="mail-engine"]"):not("[href*="projects.virtuell-hotel.at"]")').attr({target: "_blank"}).addClass("linkweb");
	$('#article a[href^=mailto]').attr({target: "_blank"}).addClass("linkemail");
	
	$('div.gallery td p').each(function(index) {
    //get the first word
    var firstWord = $(this).text().split(' ')[0];

    //wrap it with span
    var replaceWord = "<span class='seite'>" + firstWord + "</span>";

    //create new string with span included
    var newString = $(this).html().replace(firstWord, replaceWord);

    //apply to the divs
    $(this).html(newString);
});

$(".tab").wrapAll('<div class="tabparent clearfix">'); // tabparent um diese div's herum generieren
	$(".tab").children("div").hide();// Alle div's verstecken 
	$(".tab").first().children("a.tablink").addClass("active");// den ersten Tab auswÃ¤hlen und sein div zeigen
	$(".tab").first().children("div").show();
	$(".tab a.tablink").click(function() {
	$(".tab").children("div").hide();// Alle div's verstecken und die Klasse active wegnehmen
	$(".tab").children("a.tablink").removeClass("active");
	$(this).addClass("active"); // dem angeklickten Link die Klasse active setzen
	$(this).next("div").show();// das ausgewÃ¤hlte div zeigen
	return false;
	});
	
$("#b-zimmerpreise").click(function () {
      $("#zimmerpreiseLayer").slideToggle("fast");
    });
	$(".zimmerpreiseLayerclose").click(function () {
      $("#zimmerpreiseLayer").toggle("fast");
    });



});
// JQuery wCMS Sitemap ------------------------------------------- //
$(document).ready( function() {
	var elem = new Array();
	var L1 = -1;
	$('td[valign="top"]').each( function() {		
		var L2 = 0;
		var L3 = 0;
		var L4 = 0;
		var L5 = 0;
		var L6 = 0;
		$(this).find('table').each( function() {		
			var width = $(this).find("img").attr("width");			
			var werte = new Array();
			werte['link'] = $(this).find("a").attr("href");
			werte['text'] = $(this).find("a").text();			
			if (width == 0 || width == 1)
			{
				L1++;
				L2=0;
				elem[L1] = new Array();
				elem[L1][0] = werte;
			}
			else if (width == 30)
			{
				L2++;
				L3=0;
				elem[L1][L2] = new Array();
				elem[L1][L2][0] = werte;
			}
			else if (width == 60)
			{
				L3++;
				L4=0;
				elem[L1][L2][L3] = new Array();
				elem[L1][L2][L3][0] = werte;
			}
			else if (width == 90)
			{
				L4++;
				L5=0;
				elem[L1][L2][L3][L4] = new Array();
				elem[L1][L2][L3][L4][0] = werte;
			}
			else if (width == 120)
			{
				L5++;
				L6=0;
				elem[L1][L2][L3][L4][L5] = new Array();
				elem[L1][L2][L3][L4][L5][0] = werte;
			}
			else if (width == 150)
			{
				L6++;
				elem[L1][L2][L3][L4][L5][L6] = new Array();
				elem[L1][L2][L3][L4][L5][L6][0] = werte;
			}
		});
	});		
	$('#sitemapGen').html("\n" + Ausgabe(elem, 1, 0));
});
function Ausgabe(el, ebene, startIndex)
{ 
  var anzT = ebene + 1;
  if(ebene != 1)
    anzT = anzT + ebene - 1;  
  var tLi = new Array(anzT+1).join("\t");
 	var tUl = new Array(anzT).join("\t");  
  var html = '';  	
	$.each(el, function(index, werte) {
	  if(index >= startIndex)
	  {
		  html += tLi + '<li class="itemlevel' + ebene + '"><a href="' + werte[0]["link"] + '">' + werte[0]["text"] + '</a>';
		  var ul = Ausgabe(werte, ebene+1, 1);
		  if(ul != '')
		    ul = "\n" + ul + tLi;
		  html += ul + '</li>'+"\n";
		}
	});	
	if(html != '')
	 html = tUl + '<ul class="listlevel' + ebene + '">'+"\n" + html + tUl + '</ul>' + "\n";		 
	return html;
}
$(document).ready( function() {
	$(".sitemap").addClass("sitemaploaded");
});
(function($) {
 	$.fn.equalHeights = function() {
 		var targetHeight = 0;
 		this.each(function() {
 			if ($(this).height() > targetHeight) targetHeight = $(this).height();
 		});
 		this.each(function() {
 			$(this).height(targetHeight);
 		});
 		return this;
 	};
})(jQuery);
$(document).ready(function () { $(".item.half").equalHeights();});


// Copyright 2011 Google Inc. All Rights Reserved.

/**
 * @fileoverview A simple script to automatically track Facebook and Twitter
 * buttons using Google Analytics social tracking feature.
 * @author api.nickm@google.com (Nick Mihailovski)
 */


/**
 * Namespace.
 * @type {Object}.
 */
var _ga = _ga || {};


/**
 * Ensure global _gaq Google Anlaytics queue has be initialized.
 * @type {Array}
 */
var _gaq = _gaq || [];


/**
 * Helper method to track social features. This assumes all the social
 * scripts / apis are loaded synchronously. If they are loaded async,
 * you might need to add the nextwork specific tracking call to the
 * a callback once the network's script has loaded.
 * @param {string} opt_pageUrl An optional URL to associate the social
 *     tracking with a particular page.
 * @param {string} opt_trackerName An optional name for the tracker object.
 */
_ga.trackSocial = function(opt_pageUrl, opt_trackerName) {
  _ga.trackFacebook(opt_pageUrl, opt_trackerName);
  _ga.trackTwitter(opt_pageUrl, opt_trackerName);
};


/**
 * Tracks Facebook likes, unlikes and sends by suscribing to the Facebook
 * JSAPI event model. Note: This will not track facebook buttons using the
 * iFrame method.
 * @param {string} opt_pageUrl An optional URL to associate the social
 *     tracking with a particular page.
 * @param {string} opt_trackerName An optional name for the tracker object.
 */
_ga.trackFacebook = function(opt_pageUrl, opt_trackerName) {
  var trackerName = _ga.buildTrackerName_(opt_trackerName);
  try {
    if (FB && FB.Event && FB.Event.subscribe) {
      FB.Event.subscribe('edge.create', function(targetUrl) {
        _gaq.push([trackerName + '_trackSocial', 'facebook', 'like',
            targetUrl, opt_pageUrl]);
      });
      FB.Event.subscribe('edge.remove', function(targetUrl) {
        _gaq.push([trackerName + '_trackSocial', 'facebook', 'unlike',
            targetUrl, opt_pageUrl]);
      });
      FB.Event.subscribe('message.send', function(targetUrl) {
        _gaq.push([trackerName + '_trackSocial', 'facebook', 'send',
            targetUrl, opt_pageUrl]);
      });

    }
  } catch (e) {}
};


	
	
/**
 * Returns the normalized tracker name configuration parameter.
 * @param {string} opt_trackerName An optional name for the tracker object.
 * @return {string} If opt_trackerName is set, then the value appended with
 *     a . Otherwise an empty string.
 * @private
 */
_ga.buildTrackerName_ = function(opt_trackerName) {
  return opt_trackerName ? opt_trackerName + '.' : '';
};


/**
 * Tracks everytime a user clicks on a tweet button from Twitter.
 * This subscribes to the Twitter JS API event mechanism to listen for
 * clicks coming from this page. Details here:
 * http://dev.twitter.com/pages/intents-events#click
 * This method should be called once the twitter API has loaded.
 * @param {string} opt_pageUrl An optional URL to associate the social
 *     tracking with a particular page.
 * @param {string} opt_trackerName An optional name for the tracker object.
 */
_ga.trackTwitter = function(opt_pageUrl, opt_trackerName) {
  var trackerName = _ga.buildTrackerName_(opt_trackerName);
  try {
    if (twttr && twttr.events && twttr.events.bind) {
      twttr.events.bind('tweet', function(event) {
        if (event) {
          var targetUrl; // Default value is undefined.
          if (event.target && event.target.nodeName == 'IFRAME') {
            targetUrl = _ga.extractParamFromUri_(event.target.src, 'url');
          }
          _gaq.push([trackerName + '_trackSocial', 'twitter', 'tweet',
            targetUrl, opt_pageUrl]);
        }
      });
    }
  } catch (e) {}
};


/**
 * Extracts a query parameter value from a URI.
 * @param {string} uri The URI from which to extract the parameter.
 * @param {string} paramName The name of the query paramater to extract.
 * @return {string} The un-encoded value of the query paramater. underfined
 *     if there is no URI parameter.
 * @private
 */
_ga.extractParamFromUri_ = function(uri, paramName) {
  if (!uri) {
    return;
  }
  var uri = uri.split('#')[0];  // Remove anchor.
  var parts = uri.split('?');  // Check for query params.
  if (parts.length == 1) {
    return;
  }
  var query = decodeURI(parts[1]);

  // Find url param.
  paramName += '=';
  var params = query.split('&');
  for (var i = 0, param; param = params[i]; ++i) {
    if (param.indexOf(paramName) === 0) {
      return unescape(param.split('=')[1]);
    }
  }
  return;
};

/*
 * 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:
 * Based on Polonaise from Phil Martin (1923-2005)
 * 
 * Trademark:
 * Please refer to the Copyright section for the font trademark attribution
 * notices.
 */
Cufon.registerFont({"w":87,"face":{"font-family":"ChopinScript","font-weight":500,"font-stretch":"normal","units-per-em":"360","panose-1":"3 0 6 3 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"1","cap-height":"10","bbox":"-162 -335 580 154","underline-thickness":"18","underline-position":"-36","stemh":"4","stemv":"4","unicode-range":"U+0020-U+20AC"},"glyphs":{" ":{"w":97},"!":{"d":"148,-231v10,9,-77,127,-100,166r-4,0v23,-46,42,-98,63,-146v8,-19,22,-34,32,-34v6,0,9,6,9,14xm35,-18v2,22,-37,32,-36,4v-2,-22,37,-32,36,-4","w":118},"\"":{"d":"108,-236v0,14,-23,40,-38,70r-3,0v16,-31,25,-75,37,-75v3,0,4,2,4,5xm146,-236v0,14,-23,40,-38,70r-3,0v16,-31,25,-75,37,-75v3,0,4,2,4,5","w":95},"#":{"d":"47,-106r-23,0v2,-8,17,-3,25,-4v12,-26,23,-47,29,-47v12,9,-5,24,-14,47r23,0v12,-26,23,-47,29,-47v12,9,-4,24,-13,47r17,0v-1,7,-13,3,-20,4v-5,10,-10,21,-16,31r18,0v-2,6,-13,3,-21,4v-10,18,-18,35,-24,46r-7,0v5,-10,12,-28,20,-46r-27,0r-25,46r-6,0v5,-10,12,-28,20,-46r-27,0v3,-8,19,-3,29,-4v4,-10,8,-21,13,-31xm86,-106r-24,0v-5,10,-11,21,-17,31r27,0v4,-10,9,-21,14,-31","w":95},"$":{"d":"98,-182v27,5,32,48,4,50v-12,1,-15,-9,-14,-21v9,7,19,5,20,-7v0,-10,-8,-18,-20,-18v-49,13,2,67,1,99v-1,34,-30,52,-68,43r-19,35r-6,-2r19,-36v-32,-19,-20,-66,13,-69v28,-3,32,40,7,42v-6,0,-10,-4,-16,-13v14,0,16,-15,3,-16v-29,6,-22,56,10,53v23,-2,37,-23,25,-49v-7,-16,-15,-32,-16,-52v-1,-26,23,-45,52,-40v6,-6,6,-25,16,-20","w":133},"%":{"d":"177,-216v0,10,-12,20,-43,37v-36,55,-92,125,-101,135v-23,22,-20,51,-41,48v-8,1,-5,13,-14,10v12,-45,42,-71,71,-102v29,-32,37,-42,71,-87r-26,5v-11,32,-35,50,-50,50v-13,0,-23,-11,-23,-25v0,-27,31,-68,58,-68v17,0,19,21,16,37v14,-1,17,-1,31,-7v18,-26,32,-39,44,-39v4,0,7,2,7,6xm137,-75v0,29,-25,72,-53,72v-13,0,-23,-12,-23,-27v0,-30,36,-67,57,-67v12,0,19,8,19,22xm139,-189v21,-14,39,-20,28,-28v-6,0,-15,9,-28,28xm87,-177v4,-9,6,-27,-6,-27v-17,4,-13,27,6,27xm86,-171v-16,-4,-18,-6,-24,-19v-15,26,-20,40,-20,52v0,7,3,10,9,10v6,0,28,-16,35,-43xm130,-71v0,-9,0,-18,-9,-18v-18,0,-39,48,-39,67v0,7,3,11,8,11v10,0,40,-30,40,-60","w":181},"&":{"d":"299,-223v55,53,-70,92,-95,106v28,1,44,25,44,48v0,41,-35,73,-82,73v-36,0,-71,-19,-83,-48v-41,12,-79,-12,-80,-46v0,-14,6,-23,16,-24v-4,42,19,71,60,61v-14,-60,22,-108,77,-109v-34,-40,2,-94,54,-93v31,0,56,18,56,40v0,30,-47,43,-58,11v14,2,16,16,28,13v12,0,24,-11,24,-24v0,-15,-14,-25,-32,-25v-44,-2,-80,63,-35,90r1,4v-48,-9,-78,26,-76,77v13,-9,27,-14,27,-14v2,-24,31,-46,73,-59v71,-22,88,-33,88,-56v0,-9,-2,-13,-10,-23xm210,-66v0,-23,-29,-26,-47,-16v-5,22,5,38,25,38v12,0,22,-10,22,-22xm181,-8v59,0,87,-100,17,-102v-14,0,-21,4,-32,20v29,-10,50,4,53,26v-7,39,-73,30,-73,-12v0,0,-15,7,-26,15v4,27,31,53,61,53","w":307},"'":{"d":"71,-197v-2,-10,-18,-10,-16,-22v-2,-22,34,-31,36,-6v2,17,-19,53,-38,48v3,-6,18,-9,18,-20","w":56},"(":{"d":"215,-279v0,15,-63,29,-113,114v-32,54,-43,120,-31,174v9,41,54,59,39,73v-14,0,-69,-55,-69,-135v0,-54,14,-91,46,-130v57,-68,115,-99,120,-99v4,0,8,-1,8,3","w":122},")":{"d":"115,-147v0,54,-13,93,-47,130v-65,72,-107,105,-127,97v0,-15,63,-30,113,-115v32,-54,43,-119,31,-173v-9,-42,-54,-59,-39,-74v14,0,69,55,69,135","w":122},"*":{"d":"81,-177v-1,-5,-23,-1,-23,-14v0,-8,7,-12,15,-12v14,-3,14,35,22,12v-3,-22,21,-37,28,-18v1,7,-45,42,-6,19v8,-6,22,-6,23,4v0,20,-34,8,-44,13v12,14,22,28,-3,33v-17,-2,-4,-19,-6,-29v-9,0,-32,41,-42,14v-1,-15,34,-12,36,-22","w":96},"+":{"d":"94,-99v-5,9,-25,4,-38,5r-25,44r-25,0r25,-44r-32,0v5,-8,22,-4,34,-5r25,-44r26,0r-25,44r35,0","w":120},",":{"d":"26,8v-4,-8,-17,-10,-17,-22v0,-22,35,-31,37,-5v1,18,-18,44,-35,50v-9,-7,16,-11,15,-23"},"-":{"d":"6,-54v10,-24,54,-11,77,-17v5,21,-33,21,-64,16v-5,0,-10,6,-13,1","w":96},".":{"d":"42,-18v2,23,-36,31,-36,4v-2,-22,37,-32,36,-4"},"\/":{"d":"-16,4v-10,-2,-8,9,-15,12v-4,-10,6,-28,24,-57v41,-69,71,-106,151,-196r6,1v-35,41,-138,188,-151,223v-4,12,-7,16,-15,17","w":129},"0":{"d":"174,-176v0,68,-66,179,-140,179v-27,0,-47,-21,-47,-47v0,-61,70,-174,142,-174v24,0,45,12,45,42xm149,-186v0,-19,-8,-28,-19,-28v-37,0,-120,141,-120,189v0,11,11,23,23,23v45,0,116,-133,116,-184","w":187},"1":{"d":"115,-191v0,4,-58,77,-81,127v-18,37,-27,69,-31,73v-2,2,-24,1,-24,1v0,0,-8,12,-12,14v13,-79,83,-139,95,-166v-12,4,-33,34,-44,34v4,-5,81,-85,95,-85v4,0,2,1,2,2","w":107},"2":{"d":"150,-160v0,89,-149,83,-180,138v20,-7,67,-3,87,2v10,0,19,-5,38,-20v5,16,-27,49,-56,49v-23,-7,-89,-9,-93,-1v-12,-10,23,-36,34,-46v25,-23,86,-50,97,-60v24,-22,44,-52,44,-72v0,-16,-15,-29,-33,-29v-22,0,-43,19,-43,39v0,16,19,24,23,9v0,-5,-2,-8,-2,-12v18,-4,20,11,20,16v0,12,-10,21,-23,21v-15,0,-26,-11,-26,-27v0,-27,32,-54,66,-54v28,0,47,18,47,47","w":163},"3":{"d":"187,-198r-110,78v17,2,42,16,42,50v0,42,-45,83,-93,83v-55,0,-64,-82,-13,-85v27,-2,33,44,4,44v-4,0,-10,-3,-13,-10v19,-1,13,-20,1,-20v-13,0,-22,12,-22,27v0,18,12,30,34,30v41,0,74,-55,74,-83v0,-26,-38,-24,-48,-13v-2,0,-5,-1,-5,-2r94,-66v-21,-12,-69,-9,-87,4v0,0,20,-37,56,-37v23,0,59,19,86,0","w":174},"4":{"d":"150,-202v4,-2,13,-16,9,-1v-35,59,-167,112,-164,140v1,11,43,9,62,8v3,-3,26,-45,77,-101v2,-2,6,-7,10,-7v1,0,-62,106,-62,106r47,-4v-4,8,-4,11,-8,17v-11,0,-33,-2,-42,-2v-13,21,-16,66,-45,49v0,0,-8,11,-13,13v3,-22,26,-55,30,-63v-21,-3,-62,5,-66,-12v0,-15,64,-54,100,-94r45,-50","w":170},"5":{"d":"171,-212v5,14,-31,34,-33,33v-32,-1,-58,-8,-74,8r-22,38v41,-20,78,3,78,45v0,50,-50,97,-103,97v-54,0,-60,-74,-12,-77v26,-2,34,42,5,43v-5,0,-8,-2,-11,-10v8,-1,11,-4,11,-10v0,-6,-6,-11,-13,-11v-10,0,-21,11,-21,25v0,18,13,32,37,32v40,0,78,-71,78,-101v0,-19,-13,-34,-31,-34v-22,0,-43,49,-30,13v21,-28,30,-86,73,-86v15,0,25,8,35,8v14,0,29,-13,33,-13","w":162},"6":{"d":"-8,-41v-2,-68,77,-175,146,-175v39,0,53,47,14,51v-12,2,-23,-18,-11,-24v7,13,20,9,21,-6v0,-11,-12,-17,-24,-17v-38,0,-68,60,-81,86v32,-21,74,-7,74,36v0,49,-48,99,-89,99v-27,0,-50,-23,-50,-50xm83,-129v-45,-2,-65,87,-65,110v0,13,8,21,21,21v21,0,67,-65,67,-107v0,-16,-9,-24,-23,-24","w":173},"7":{"d":"169,-213v0,9,-61,71,-122,140v-24,27,-44,73,-47,73v-13,-11,-34,7,-36,13v-4,-28,45,-95,94,-129v52,-36,87,-70,91,-76v-23,9,-61,1,-85,4v-14,2,-32,15,-32,15v22,-54,53,-41,108,-33v14,2,24,-16,29,-7","w":156},"8":{"d":"180,-172v0,26,-25,45,-67,54v5,6,21,30,21,51v0,40,-37,72,-82,72v-35,0,-64,-25,-64,-54v0,-29,21,-53,82,-67v-28,-47,6,-96,59,-97v29,0,51,18,51,41xm158,-180v0,-19,-10,-29,-29,-29v-16,0,-43,18,-43,42v0,21,13,39,22,44v30,-10,50,-32,50,-57xm105,-58v0,-18,-24,-44,-31,-52v-28,3,-58,31,-58,64v0,25,16,46,36,46v27,0,53,-30,53,-58","w":187},"9":{"d":"154,-170v0,63,-69,174,-144,174v-40,0,-60,-47,-17,-52v15,-2,20,14,11,25v-7,-12,-20,-9,-21,4v0,10,7,18,20,18v26,0,48,-20,82,-82v-36,17,-68,0,-68,-39v0,-48,45,-96,92,-96v27,0,45,21,45,48xm131,-192v0,-11,-6,-22,-17,-22v-31,0,-73,80,-73,108v0,13,10,24,23,24v34,0,67,-70,67,-110","w":176},":":{"d":"68,-91v2,23,-36,31,-36,4v-2,-22,37,-32,36,-4xm27,-16v1,22,-37,30,-36,3v-1,-22,37,-30,36,-3"},";":{"d":"65,-91v2,22,-37,32,-36,4v-2,-22,37,-32,36,-4xm10,8v-3,-9,-16,-10,-16,-22v0,-23,34,-31,36,-5v1,18,-18,45,-35,50v-9,-7,16,-11,15,-23"},"<":{"d":"86,-32r-59,-50r95,-51r-3,11r-76,40r47,40","w":113},"=":{"d":"101,-92r-61,0r3,-9r61,0xm89,-62r-62,0r3,-9r62,0","w":96},">":{"d":"113,-82r-95,50r4,-10r75,-40r-46,-40r3,-11","w":113},"?":{"d":"117,-233v-39,0,-78,40,-78,66v0,20,21,23,37,11r4,2v-15,13,-45,13,-45,-12v0,-40,46,-78,94,-78v30,0,53,20,53,45v-2,54,-86,84,-131,107v-18,8,-12,36,11,26r4,3v-29,14,-42,-18,-21,-32v11,-8,111,-65,111,-105v0,-19,-17,-33,-39,-33xm40,-18v2,22,-37,32,-36,4v-2,-22,37,-32,36,-4","w":187},"@":{"d":"212,-53v-22,42,-78,79,-130,78v-63,0,-98,-48,-81,-112v19,-69,86,-123,153,-123v106,0,70,127,16,164v-15,10,-25,16,-38,16v-24,0,-33,-7,-27,-33v-23,32,-58,30,-58,-15v0,-32,33,-78,80,-78v13,-3,16,14,26,4v13,4,20,0,27,-8v-17,36,-40,68,-54,107v6,26,29,12,45,-4v18,-17,37,-46,43,-69v13,-48,-13,-78,-61,-78v-60,0,-122,47,-141,118v-18,68,15,103,73,103v46,0,88,-25,119,-70r8,0xm75,-48v33,-4,59,-82,65,-92v0,-4,-2,-9,-7,-9v-31,0,-65,70,-65,90v0,8,1,11,7,11","w":248},"A":{"d":"442,5v0,30,-36,54,-65,55v-55,1,-92,-31,-101,-37v-8,4,-73,46,-135,46v-83,0,-144,-56,-144,-133v0,-84,66,-145,149,-125r0,4v-83,-22,-145,49,-145,121v0,74,59,130,140,130v59,0,132,-45,132,-45r-13,-12v0,0,-37,8,-37,-10v0,-17,38,1,38,1v33,-13,48,-65,57,-112v-11,2,-32,4,-44,4v-19,28,-67,118,-131,118v-37,0,-57,-20,-57,-46v0,-40,40,-78,95,-78r90,0v0,0,11,-23,28,-45v53,-66,105,-78,105,-78v14,25,-45,22,-49,114v0,0,70,-23,70,-88v0,-51,-53,-92,-119,-92v-72,0,-122,51,-122,93v-1,59,43,60,37,70v0,0,-42,-13,-42,-70v0,-44,53,-98,127,-98v69,0,124,43,124,97v0,70,-76,94,-76,94v0,0,-2,21,-3,26v-4,15,-28,68,-82,98r10,10v78,-48,88,-53,115,-53v27,0,48,18,48,41xm380,-222v-9,0,-43,26,-65,51v-24,28,-35,52,-37,57v6,0,29,-1,41,-3v9,-56,67,-105,61,-105xm437,6v0,-21,-18,-37,-42,-37v-29,0,-40,8,-112,52v0,0,39,34,94,34v28,0,60,-23,60,-49xm251,4v0,0,-20,-12,-20,-4v0,9,20,4,20,4xm267,-108r-73,0v-50,0,-91,35,-91,72v0,31,16,41,40,41v57,0,103,-81,124,-113","w":381},"B":{"d":"399,-235v55,0,101,49,40,64r-3,-3v17,-4,28,-13,28,-22v0,-32,-77,-47,-115,-23v11,12,27,26,27,48v0,25,-11,39,-44,58v13,16,17,30,17,56v9,-3,29,-15,39,-24r3,3v-15,13,-31,22,-44,27v-12,30,-43,61,-93,60v-15,0,-24,-6,-24,-17v0,-35,60,-41,81,-41v10,-9,14,-35,9,-62v-16,8,-33,-16,-12,-17v9,0,17,8,17,8v0,0,29,-26,29,-51v0,-31,-9,-40,-14,-43v-52,35,-46,81,-76,134v-33,58,-74,89,-153,89v-61,0,-107,-39,-107,-101v-1,-85,89,-159,172,-120v24,-14,39,-29,93,-29v41,0,59,13,73,19v12,-4,27,-13,57,-13xm319,-117v0,0,-5,-6,-11,-6v-3,0,-4,1,-4,3v-1,7,13,5,15,3xm191,-96v20,0,36,-12,35,-31v0,-25,-10,-58,-50,-80v-17,16,-33,31,-33,59v0,31,20,52,48,52xm310,-43v-29,0,-76,7,-76,35v0,7,7,11,15,11v33,1,58,-43,61,-46xm335,-219v0,0,-27,-19,-66,-19v-45,0,-64,10,-90,28v38,23,57,54,50,96v12,-13,14,-34,4,-49v8,-4,12,9,12,23v0,13,-9,26,-20,37v-10,29,-36,51,-67,51r0,-5v11,2,47,-7,58,-40v-35,15,-77,-7,-77,-51v0,-35,26,-54,33,-61v-77,-35,-164,35,-164,117v0,55,40,97,103,97v29,0,63,-18,89,-45v29,-30,40,-68,45,-81v18,-48,57,-85,90,-98","w":383,"k":{"'":-25}},"C":{"d":"261,-176v-23,18,-123,115,-85,163v-5,-33,31,-116,95,-116v18,0,29,13,29,34v0,59,-69,111,-106,104v0,0,8,11,22,11v42,2,72,-60,77,-47v0,0,-36,52,-77,52v-22,0,-35,-20,-35,-20v0,0,-34,-14,-34,-64v0,-67,73,-117,83,-123v0,-1,-43,-6,-67,-6v-90,0,-158,79,-158,157v0,66,43,121,112,121v60,0,128,-56,198,-56v63,0,120,32,92,77v-4,-6,7,-14,4,-20v0,-27,-45,-53,-96,-53v-72,0,-132,56,-198,56v-71,0,-116,-56,-116,-125v0,-83,70,-161,162,-161v33,0,70,7,71,6v0,0,62,-37,117,-37v29,0,37,11,37,21v0,16,-18,33,-58,33v-21,0,-69,-7,-69,-7xm384,-202v-14,-47,-118,19,-116,22v24,4,52,7,62,7v22,0,54,-5,54,-29xm287,-98v0,-18,-10,-24,-23,-24v-42,3,-97,70,-79,120v50,25,102,-64,102,-96","w":335},"D":{"d":"100,-21v0,0,-21,-23,-56,-24v-14,0,-23,10,-23,22v0,15,14,27,32,27v22,0,47,-25,47,-25xm148,-144v0,-32,-32,-49,-62,-49v-30,0,-55,28,-55,28v0,0,10,65,68,65v22,0,49,-18,49,-44xm261,-229v73,94,-29,299,-147,221v0,0,-22,18,-52,18v-49,0,-68,-57,-13,-59v26,0,49,18,57,23v13,-9,22,-50,44,-94v33,-66,65,-98,100,-111v-20,-29,-57,-47,-103,-47v-88,0,-120,63,-117,107v4,-4,26,-27,56,-27v38,0,66,24,66,54v0,29,-29,48,-53,48v-59,0,-72,-64,-72,-64v0,0,-20,24,-20,57v0,13,2,21,10,40r-3,2v-5,-10,-11,-26,-11,-42v0,-36,20,-58,23,-63v-5,-53,32,-117,121,-117v44,0,84,17,110,49v32,-10,81,-5,96,13r-1,3v-28,-22,-58,-20,-91,-11xm253,-226v-52,23,-60,90,-78,136v-21,54,-38,64,-54,77v89,51,180,-116,132,-213","w":306},"E":{"d":"238,-166v-1,11,6,24,7,30v4,3,22,11,10,16v-8,1,-15,-8,-15,-8v-26,-16,-74,14,-74,62v0,39,26,71,58,71v44,0,82,-37,82,-80v0,-23,-13,-38,-32,-38v-30,0,-59,31,-59,57v0,17,11,29,25,29v36,0,38,-47,38,-59r5,0v1,18,-4,64,-43,64v-17,0,-30,-15,-30,-34v0,-52,101,-96,101,-19v0,48,-42,87,-87,87v-60,0,-92,-35,-92,-80v0,-43,30,-82,89,-78v-7,-10,-11,-20,-12,-29v-17,-5,-38,-9,-69,-9v-91,3,-153,40,-130,98r-5,2v-21,-62,40,-102,135,-104v32,0,54,2,69,6v-1,-33,30,-57,67,-57v27,0,48,21,48,44v0,34,-55,48,-86,29xm238,-171v26,17,81,11,81,-24v0,-17,-14,-31,-32,-31v-33,0,-48,28,-49,55","w":350,"k":{"'":50}},"F":{"d":"513,-208v-3,15,-18,30,-44,31v-41,0,-64,-25,-100,-37v-34,-11,-51,-15,-83,-15v-61,0,-80,22,-80,22v6,4,41,38,41,87v0,58,-48,108,-91,108v-41,0,-72,-42,-52,-83v7,9,-2,18,-2,32v0,24,26,48,54,48v44,0,87,-52,87,-105v0,-45,-29,-76,-41,-85v-14,6,-42,47,-42,78v0,33,20,54,50,49r0,3v-32,5,-54,-15,-54,-52v0,-44,36,-76,40,-81v0,0,-23,-15,-56,-15v-73,0,-126,66,-126,136v0,112,126,181,205,102v18,-18,20,-16,69,-148v-6,-2,-18,-1,-12,-8v22,10,18,-10,37,-24v23,-19,41,-25,79,-23v-2,4,-32,5,-44,11v-18,9,-32,43,-32,43r22,4v4,-12,8,-24,23,-24v5,0,12,3,12,12v0,10,-13,19,-21,20v4,28,-13,75,-43,53v2,-6,8,1,12,0v12,0,13,-29,15,-54r-22,-3v0,0,-23,93,-48,124v-24,30,-78,55,-126,55v-81,0,-137,-59,-137,-140v0,-100,112,-170,196,-125v0,0,38,-35,87,-35v86,0,124,67,183,67v28,0,44,-28,44,-28xm367,-144v0,-3,-3,-4,-6,-4v-5,0,-12,18,-9,18v3,0,15,-4,15,-14","w":369},"G":{"d":"492,22v-8,35,-28,56,-67,56v-54,0,-82,-41,-172,-83r-26,33v0,0,-39,106,-122,106v-49,0,-64,-45,-60,-67v0,0,-45,-33,-45,-104v0,-104,103,-167,204,-136v0,0,70,-55,138,-55v21,0,37,9,37,21v0,16,-37,36,-96,43v-18,2,-37,1,-43,0v-5,-1,-89,82,-81,140v8,-3,67,2,68,4v25,-67,43,-95,52,-95v6,0,16,5,16,5v5,-4,8,-17,14,-13r-64,109v14,11,10,-7,38,-17v20,-6,35,-11,33,-2v-7,-4,-62,17,-60,25v99,50,123,83,169,83v50,0,62,-41,64,-53r3,0xm243,-168v42,4,132,-17,131,-39v0,-8,-10,-14,-23,-14v-22,0,-55,11,-108,53xm250,-6r-7,-4r-12,28xm221,-15v-1,-3,-54,-8,-61,-4v0,0,3,22,22,22v17,0,39,-18,39,-18xm200,-169v-98,-29,-197,28,-197,132v0,56,31,90,43,100v1,-5,8,-31,41,-57v22,-18,53,-26,53,-26v-16,-69,-1,-76,60,-149xm227,-13v-37,24,-57,29,-85,-4v0,0,-28,7,-52,26v-35,28,-40,57,-40,57v0,0,31,18,63,18v51,0,98,-44,102,-49v4,-10,10,-36,12,-48xm215,40v0,0,-51,47,-102,47v-31,0,-61,-14,-64,-17v-3,22,15,61,56,61v73,0,110,-86,110,-91","w":328},"H":{"d":"83,-171v-5,-49,55,-92,94,-92v52,0,62,35,99,61v1,-1,42,-5,40,7v0,5,-4,10,-13,10v-48,-29,-74,26,-85,69v0,0,49,-8,62,-12v23,-44,67,-86,130,-89v13,0,22,6,22,14v0,36,-73,64,-113,74v0,0,-31,70,-50,89v-18,18,-35,33,-50,38v22,15,44,12,70,-17v2,11,-20,25,-46,30v-30,-6,-22,-16,-50,-4v-6,0,-11,-4,-11,-10v2,-15,21,-11,31,-3v36,-16,53,-95,66,-117v-35,8,-49,9,-62,12v-12,53,-87,145,-167,111v0,0,-9,20,-9,46v0,70,52,104,92,104v59,-1,61,-46,69,-46v0,0,-11,50,-69,50v-68,0,-118,-80,-87,-156v-6,-4,-45,-21,-45,-75v0,-78,77,-93,82,-94xm429,-203v0,-6,-8,-11,-19,-11v-38,0,-82,56,-90,80v48,-11,109,-41,109,-69xm312,-195v0,-12,-29,-3,-29,-3v0,0,29,17,29,3xm156,-135v6,7,7,25,7,31v25,1,19,-17,36,-40v21,-29,52,-49,71,-57v0,0,-45,-45,-103,-45v-51,0,-85,29,-80,75v35,-1,49,8,67,33v13,-6,29,-17,36,-23r2,3v-12,9,-24,17,-36,23xm150,-136v0,0,-12,-20,-29,-26v-17,-6,-34,-6,-34,-6v0,0,3,37,38,37v5,0,25,-5,25,-5xm208,-3v0,0,-22,-14,-22,0v0,13,22,2,22,0xm159,-98v-21,2,-92,53,-88,61v5,3,7,4,15,4v59,0,73,-65,73,-65xm68,-40v5,-19,66,-56,91,-62v1,-5,-4,-30,-6,-30v0,0,-17,4,-27,4v-39,0,-43,-40,-43,-40v0,0,-79,17,-79,91v0,52,40,69,44,72v2,-6,13,-29,17,-32v0,0,-14,-8,-14,-28v0,-24,13,-46,43,-56r1,3v-38,10,-51,60,-27,78xm177,-103v-3,0,-14,3,-14,3v0,0,-15,70,-78,70v-9,0,-17,-5,-17,-5v-12,21,-33,39,7,39v72,0,97,-93,102,-107","w":338,"k":{"'":-34}},"I":{"d":"169,-166v15,-70,133,-85,200,-60v3,2,2,4,3,7v-19,0,-34,3,-44,6v-67,22,-88,118,-88,124v16,-3,55,-28,59,-63r3,1v0,2,-8,30,-21,44v-12,13,-34,21,-43,23v-23,68,-66,94,-129,94v-42,0,-105,-25,-105,-103v-23,-97,59,-174,141,-143r0,3v-68,-29,-159,35,-138,127v0,0,17,-80,105,-80v34,0,57,20,57,20xm365,-221v-2,-4,-31,-14,-66,-14v-59,0,-113,25,-127,72v8,3,21,49,19,65v0,0,11,9,17,10v5,-14,24,-80,77,-115v20,-13,36,-16,80,-18xm187,-104v-2,-24,-3,-36,-16,-54v0,11,7,47,16,54xm187,-96v-11,-8,-21,-51,-20,-66v0,0,-20,-21,-55,-21v-88,0,-101,79,-103,87v0,0,21,73,86,73v71,0,88,-62,92,-73xm207,-84v0,0,-11,-3,-17,-9v-19,56,-54,74,-95,74v-62,0,-82,-56,-87,-67v5,71,60,92,101,92v28,0,79,-42,98,-90","w":284,"k":{"'":-31}},"J":{"d":"415,-219v13,0,12,12,5,14v-30,-7,-60,-3,-86,21v-25,23,-21,21,-83,160v32,7,48,-7,67,-60v7,28,-26,73,-69,65v-31,67,-89,92,-137,92v-64,0,-109,-47,-109,-111v0,-46,18,-64,24,-75v4,-19,24,-109,114,-109v40,0,66,22,70,26v3,-2,43,-42,117,-42v51,0,84,19,87,19xm219,-35v60,-121,53,-172,188,-179v1,-11,-40,-20,-79,-20v-69,0,-110,39,-113,41v4,4,12,16,18,29r-3,3v-4,-9,-14,-24,-18,-29v-8,6,-22,28,-30,50v6,7,32,26,32,70v0,21,-13,33,5,35xm209,-193v-5,-6,-34,-26,-68,-26v-86,0,-104,89,-108,101v14,-22,35,-45,89,-45v26,0,48,15,56,20v0,0,18,-41,31,-50xm205,-44v8,-29,4,-71,-24,-91v-14,38,17,89,24,91xm202,-39v0,0,-29,-27,-29,-63v0,-13,3,-36,3,-36v-13,-8,-31,-20,-54,-20v-66,0,-83,38,-88,47v-3,73,45,119,92,119v51,0,76,-44,76,-47xm216,-29v0,0,-5,-6,-9,-7v0,0,-26,48,-81,48v-71,0,-102,-77,-96,-120v-55,78,-3,177,82,177v51,0,91,-61,104,-98","w":338,"k":{"'":-28}},"K":{"d":"217,-137v98,5,90,-152,197,-112r0,2v-105,-41,-76,118,-165,118v-22,0,-36,-11,-35,4v24,0,57,9,57,38v0,24,-3,53,1,62v21,61,76,11,77,-25v0,-20,-13,-33,-35,-33v18,-10,40,11,40,33v0,60,-106,85,-113,18r-4,-64v-1,-16,-18,-26,-23,-26v0,0,-13,50,-37,82v-22,28,-51,48,-91,48v-46,0,-87,-35,-87,-81v0,-83,69,-93,73,-95v-6,-49,37,-102,98,-102v32,0,41,11,94,51v1,0,42,-15,41,3v-1,23,-35,6,-43,2v-15,8,-36,32,-45,77xm301,-216v-1,-12,-34,0,-33,0v0,0,14,6,24,6v5,0,9,-1,9,-6xm147,-141v-15,-18,-45,-29,-70,-23v14,29,36,36,70,23xm258,-217v-19,-15,-67,-35,-96,-35v-43,0,-93,34,-86,83v22,-4,50,-1,74,26v5,-3,19,-12,32,-27r3,3v-10,11,-17,18,-32,27v9,15,8,28,8,38v0,54,-47,73,-73,73v-50,0,-42,-81,2,-92v6,10,-34,11,-33,53v0,22,13,35,31,35v36,0,69,-27,69,-69v0,-52,1,-31,-41,-29v-19,0,-39,-16,-43,-32v-3,1,-69,9,-69,90v0,43,39,77,82,77v45,0,70,-37,96,-136v8,-29,47,-72,76,-85","w":378},"L":{"d":"296,-127v76,47,0,146,-89,146v-32,0,-54,-8,-99,-31v-26,16,-38,21,-56,21v-26,0,-51,-11,-51,-32v0,-16,20,-28,43,-28v15,0,31,4,60,19v6,-5,37,-81,36,-86v0,0,-22,9,-36,9v-42,0,-73,-37,-73,-80v0,-63,69,-113,134,-88v-71,-15,-131,28,-131,88v0,55,58,96,107,65v17,-71,27,-79,44,-101v18,-24,41,-37,54,-37v21,0,28,11,28,25v0,35,-27,80,-90,106v-8,48,-15,63,-50,108v77,34,197,19,195,-55v0,-19,-9,-31,-28,-45xm262,-237v0,-13,-4,-21,-23,-21v-29,0,-62,59,-62,121v39,-15,85,-67,85,-100xm98,-20v-14,-13,-85,-46,-92,-3v5,37,72,31,92,3","w":352,"k":{"'":63}},"M":{"d":"526,-237r-1,4v-103,13,-124,43,-170,143v-10,20,-26,54,-26,74v0,8,4,17,12,17v19,-1,28,-37,35,-35v-14,30,-25,41,-40,41v-18,0,-30,-15,-30,-37v0,-36,36,-88,77,-140v-54,31,-121,147,-149,180v-2,-23,10,-31,10,-54v0,-81,2,-93,23,-136v-32,33,-59,111,-77,144v-14,25,-53,45,-90,45v-54,0,-101,-40,-101,-86v0,-52,40,-94,85,-94v39,0,70,28,70,63v0,67,-107,100,-107,19v0,-12,1,-33,12,-31v-16,29,-6,76,31,76v29,0,60,-30,60,-64v0,-34,-30,-59,-66,-59v-44,0,-81,42,-81,90v0,32,31,82,97,82v40,0,70,-34,93,-76v44,-80,69,-126,101,-145v0,0,-55,-19,-67,-19v-78,0,-77,52,-77,58v0,32,29,52,56,34v-21,36,-67,8,-67,-29v0,-23,11,-66,88,-66v12,0,71,19,71,19v12,-6,21,-4,21,2v0,6,-8,8,-15,4v-29,37,-11,123,-34,162v60,-87,107,-127,153,-153v34,-19,51,-30,103,-33","w":403,"k":{"'":-55}},"N":{"d":"141,-176v10,-55,47,-95,130,-95v41,0,132,33,142,38v10,-11,27,-29,51,-29v14,0,24,6,24,16v0,13,-15,24,-39,24v-18,0,-34,-7,-34,-7v-28,54,-90,177,-136,233v-16,-4,11,-27,9,-52v-3,-46,-10,-86,0,-136v-41,77,-91,216,-186,216v-62,0,-102,-37,-102,-92v0,-73,63,-129,141,-116xm449,-226v34,0,51,-33,15,-33v-21,0,-39,18,-46,27v3,1,14,6,31,6xm196,-111v5,62,-50,111,-99,111v-31,0,-55,-24,-55,-58v0,-42,34,-81,72,-81v38,0,62,43,41,75r-4,0v20,-33,-2,-71,-37,-72v-72,-2,-99,130,-17,133v26,0,60,-18,77,-42v18,-26,19,-49,19,-66v-29,-4,-53,-31,-52,-61v-74,-16,-138,41,-138,112v0,53,40,89,99,89v49,0,90,-32,125,-99v23,-44,52,-105,57,-114v16,-28,54,-60,54,-60v0,0,-29,-10,-48,-10v-55,1,-122,37,-85,67r-1,3v0,0,-14,-5,-14,-19v2,-39,99,-72,156,-43v-33,27,-42,40,-42,65v0,6,15,87,15,91v0,8,-3,22,-13,50v53,-83,64,-116,105,-190v0,0,-100,-38,-140,-38v-63,0,-122,51,-123,94v29,13,38,26,47,58v40,3,60,-43,44,-76r3,-1v13,34,4,81,-46,82xm192,-116v-8,-27,-14,-41,-44,-54v-1,33,28,51,44,54","w":374,"k":{"'":-47}},"O":{"d":"57,6v50,0,128,-144,128,-197v0,-20,-6,-29,-20,-29v-32,0,-78,55,-78,100v0,17,10,27,23,27v34,0,56,-49,56,-68v0,-26,-15,-28,-34,-8v6,-22,38,-22,38,8v0,28,-25,72,-60,72v-16,0,-27,-12,-27,-31v0,-42,44,-103,82,-103v21,0,40,25,40,52v-2,78,-83,180,-148,180v-33,0,-57,-30,-57,-66v0,-56,72,-160,136,-173r15,0v-68,26,-123,140,-124,200v0,22,13,36,30,36","w":216},"P":{"d":"339,-227v14,-6,90,-24,114,2v-32,-19,-93,-8,-107,1v0,1,34,27,34,60v0,46,-52,78,-113,69v-24,80,-102,107,-155,107v-68,0,-112,-40,-112,-102v0,-83,88,-156,169,-122v0,0,28,-34,90,-34v51,0,80,19,80,19xm354,-175v0,-33,-16,-44,-16,-44v0,0,-30,18,-44,51v0,0,-25,64,-25,65v49,5,85,-28,85,-72xm202,-109v31,3,19,-38,9,-61v-10,-22,-28,-31,-41,-37v-34,41,-14,93,32,98xm238,-129v-25,25,-20,95,-114,102v-56,4,-107,-54,-82,-110r3,-1v-24,59,27,107,79,107v76,0,95,-76,96,-79v-37,15,-72,-15,-71,-52v0,-22,18,-47,18,-47v-72,-34,-164,37,-164,119v0,57,40,96,98,96v43,0,80,-24,93,-42v56,-76,42,-132,136,-188v0,0,-21,-19,-71,-19v-58,0,-83,28,-87,32v21,1,60,58,53,94v3,-3,8,-9,12,-17","w":376},"Q":{"d":"91,-31v10,-11,113,-99,113,-174v0,-22,-16,-36,-39,-36v-29,0,-50,15,-72,51v-28,45,-2,66,10,66v21,0,47,-34,47,-65v0,-8,-3,-17,-14,-17v-18,0,-36,22,-41,55v-10,-9,6,-59,41,-59v12,0,18,11,18,21v0,32,-26,68,-51,68v-21,0,-32,-16,-32,-38v0,-39,51,-85,94,-85v33,0,65,30,65,65v0,60,-73,122,-123,157v0,0,37,13,58,13v28,0,34,-42,12,-45r1,-5v13,6,17,14,17,26v0,53,-100,39,-113,22v0,0,-27,17,-55,17v-12,0,-26,-7,-26,-20v-2,-33,71,-29,90,-17xm75,-16v-3,-1,-68,-29,-69,2v2,37,72,3,69,-2","w":239},"R":{"d":"444,-238v-24,-19,-100,-4,-105,3v0,2,39,20,39,56v0,38,-32,64,-87,72v31,27,23,38,24,80v0,19,13,31,30,31v37,0,43,-36,21,-68r3,-2v0,0,14,19,14,38v0,21,-18,37,-46,37v-30,0,-54,-20,-54,-45v0,-35,12,-57,-13,-72v0,0,-17,36,-22,49v-16,39,-81,68,-139,68v-62,0,-109,-40,-109,-103v0,-81,82,-152,166,-125v0,0,25,-36,96,-36v45,0,70,17,70,17v2,-4,93,-27,112,0xm351,-184v0,-37,-19,-47,-19,-47v0,0,-24,11,-44,59v-9,21,-14,46,-17,58v40,5,80,-28,80,-70xm218,-120v0,0,7,-23,-8,-53v-9,-18,-23,-30,-44,-40v-8,13,-16,25,-16,45v0,76,64,50,68,48xm327,-235v0,0,-21,-17,-65,-17v-67,0,-93,35,-93,35v16,10,31,18,44,42v15,29,10,53,10,53v5,-4,13,-14,14,-21v3,11,-6,20,-15,26v-16,101,-153,139,-192,29v0,0,-2,3,5,3v15,36,39,59,84,59v49,0,87,-37,99,-90v-3,1,-72,29,-72,-52v0,-23,13,-43,17,-48v-76,-28,-160,43,-160,122v0,55,37,98,106,98v87,0,107,-78,140,-157v24,-55,78,-82,78,-82","w":410},"S":{"d":"238,-241v42,15,-29,84,-31,84v0,0,8,53,8,74v0,48,-41,87,-90,87v-48,0,-81,-39,-81,-80v0,-35,22,-59,25,-63v-7,-10,-7,-13,-10,-22v-12,6,-54,34,-54,99v0,62,51,116,114,116v45,0,81,-40,79,-29v0,0,-30,33,-79,33v-67,0,-118,-58,-118,-120v0,-70,45,-95,57,-103v-1,-53,61,-91,112,-91v39,0,50,19,50,19v0,0,8,-7,18,-4xm220,-231v-6,8,-14,16,-14,36v10,-1,22,-21,14,-36xm241,-225v1,-13,-13,-14,-18,-8v11,18,-4,40,-17,43r0,27v22,-20,35,-42,35,-62xm217,-235v0,0,-13,-18,-47,-18v-38,0,-107,30,-108,87v0,0,22,-18,65,-23v34,-4,64,-5,71,-5v0,-15,9,-36,19,-41xm198,-190v0,0,-44,1,-69,4v-46,6,-61,20,-67,23v1,4,4,16,10,22v0,0,20,-18,48,-18v20,0,30,6,45,22v13,-6,31,-19,31,-19xm160,-135v0,0,-14,-21,-40,-21v-30,0,-45,18,-45,18v0,0,10,15,44,15v22,0,41,-12,41,-12xm111,-6v61,0,88,-85,84,-144v0,0,-13,11,-28,17v0,0,7,12,7,30v0,34,-77,68,-77,18v0,-22,29,-36,39,-11v-27,-2,-25,26,-4,28v28,2,46,-42,31,-63v0,0,-22,11,-44,11v-37,0,-48,-15,-48,-15v0,0,-24,27,-23,59v1,17,15,70,63,70","w":255},"T":{"d":"510,-217v-68,36,-167,-66,-261,-29v7,8,39,55,39,97v0,33,-22,52,-26,56v-4,16,-16,52,-52,83r-3,-2v18,-19,37,-38,48,-77v-42,13,-76,-23,-76,-69v0,-26,18,-52,18,-52v-85,-31,-157,37,-158,117v0,66,56,123,122,123v50,0,94,-33,113,-84v46,-125,25,-148,136,-164r-1,4v-83,3,-72,68,-90,127v-26,84,-89,120,-158,120v-69,0,-126,-56,-126,-126v0,-82,76,-152,164,-121v0,0,23,-31,39,-38v0,0,-30,-39,-90,-39v-100,0,-141,103,-144,137r-3,-1v3,-50,51,-139,147,-139v64,0,95,40,95,40v104,-62,169,60,267,37xm283,-149v0,-42,-36,-92,-39,-95v-3,2,-18,9,-39,33v42,22,61,50,57,111v5,-4,21,-21,21,-49xm256,-95v7,-64,-16,-93,-53,-112v-6,7,-19,31,-19,48v0,45,33,79,72,64","w":356},"U":{"d":"217,-147v0,49,-73,94,-73,133v0,9,5,17,14,17v17,0,38,-22,50,-40v23,-32,47,-96,142,-157v-3,-2,-59,-44,-98,-35v40,-6,71,0,108,31v74,-41,195,-28,195,46v0,22,-25,41,-54,41v-78,0,-143,-74,-143,-74v0,0,-55,41,-88,97v-34,57,-49,89,-35,89v25,0,43,-38,40,-19v0,0,-16,25,-45,25v-14,0,-21,-11,-21,-35v-21,26,-37,35,-51,35v-15,0,-30,-17,-30,-38v0,-49,71,-105,71,-137v0,-37,-26,-58,-65,-58v-82,0,-129,60,-129,102v1,56,70,68,115,41r1,2v-39,29,-119,16,-119,-43v0,-44,46,-105,132,-105v47,0,83,28,83,82xm552,-152v0,-37,-38,-66,-92,-66v-45,0,-94,26,-94,26v0,0,76,78,135,78v28,0,51,-20,51,-38","w":311},"V":{"d":"95,8v46,-73,-6,-174,59,-227v0,0,-47,-20,-75,-20v-39,0,-67,27,-67,63v0,24,20,37,23,42v-20,-5,-34,-23,-34,-45v0,-36,33,-63,78,-63v33,0,75,21,78,20v0,0,10,-9,19,-9v3,0,6,2,6,5v0,8,-14,10,-24,8v-30,21,-6,83,-6,117v0,21,-11,47,-39,91v51,-52,86,-109,115,-155v12,-19,40,-73,115,-73v48,0,84,33,84,79v0,52,-42,98,-87,98v-37,0,-65,-29,-65,-65v0,-48,49,-70,47,-60v0,0,-44,11,-44,60v0,35,28,61,62,61v43,0,84,-47,84,-94v0,-43,-33,-69,-81,-69v-57,0,-98,46,-110,66v-13,21,-48,84,-131,171v-2,0,-4,0,-7,-1xm161,-221v10,4,22,-2,13,-7v-4,0,-10,4,-13,7","w":214},"W":{"d":"94,5v18,-28,25,-68,24,-143v0,-39,26,-66,39,-82v0,0,-40,-22,-73,-22v-66,-1,-98,68,-49,103v-1,-1,1,2,0,2v0,0,-34,-11,-34,-43v0,-39,33,-64,83,-64v33,0,74,22,75,22v0,-2,22,-16,25,-4v0,7,-15,9,-22,8v0,0,-18,18,-18,28v0,38,8,57,8,89v0,22,-23,62,-42,93v48,-41,100,-112,134,-184v6,-12,24,-27,24,-27v-27,37,-7,73,-6,118v0,24,-9,41,-37,88v31,-35,79,-90,117,-159v16,-29,66,-65,111,-65v50,0,87,33,87,80v0,51,-41,97,-84,97v-42,0,-72,-30,-72,-67v1,-46,51,-70,51,-60v0,0,-47,17,-47,60v0,32,23,63,68,63v41,0,79,-47,79,-93v0,-43,-31,-72,-74,-72v-68,0,-96,40,-136,97v-21,30,-103,148,-120,138v16,-31,26,-77,21,-153v-14,30,-105,150,-128,156v-2,0,-4,-2,-4,-4xm164,-221v6,3,22,-5,11,-7v-4,0,-8,3,-11,7","w":322},"X":{"d":"223,-155v2,0,76,-88,119,-78v-58,16,-51,30,-126,116v0,11,-15,65,-15,92v0,26,16,39,39,26v-1,1,1,2,1,3v0,0,-11,6,-21,6v-48,0,-43,-46,-48,-78v-63,62,-90,80,-122,80v-28,0,-49,-22,-49,-48v0,-35,27,-75,74,-90v14,-47,51,-77,93,-95v-31,-20,-57,1,-84,31r-2,-2v25,-30,56,-53,90,-31v36,-3,45,24,51,68xm123,-110v42,-38,59,-70,47,-108v-34,13,-77,44,-92,91v18,-2,36,0,45,17xm120,-108v-8,-14,-23,-17,-42,-15v-9,28,32,29,42,15xm182,-111v0,-25,19,-94,-8,-108v11,47,-13,83,-49,112v11,29,-37,86,-71,86v-30,-6,-29,-38,-3,-60r3,1v-13,15,-19,24,-19,36v0,11,9,20,19,20v27,0,75,-49,67,-80v-22,16,-50,12,-46,-18v-46,15,-71,55,-71,86v0,24,21,42,46,42v41,0,79,-54,132,-117","w":264},"Y":{"d":"580,35v0,64,-53,114,-119,114v-55,0,-118,-28,-183,-90v-26,53,-71,91,-135,91v-68,0,-113,-39,-113,-83v0,-45,46,-85,113,-85v70,0,112,51,132,68v15,-20,14,-35,25,-86v-28,34,-38,41,-51,41v-19,0,-32,-19,-32,-46v0,-54,56,-90,56,-133v0,-63,-64,-63,-113,-38v1,6,-4,58,-17,57v0,0,8,-16,11,-27v4,-17,3,-29,3,-29v-63,37,-81,37,-96,37v-31,0,-60,-21,-60,-46v0,-28,22,-48,84,-48v55,0,67,30,74,52v20,-8,29,-14,60,-14v41,0,74,34,74,74v0,43,-35,74,-52,111v0,0,-13,46,12,46v33,0,55,-79,81,-121v36,-58,87,-118,158,-118v75,0,68,48,68,48v-2,-1,-3,-2,-4,-2v-5,-34,-33,-43,-57,-43v-58,0,-130,77,-174,186r-45,105v4,4,83,89,181,89v62,0,115,-46,115,-110v0,-49,-42,-89,-84,-89v-36,0,-59,22,-59,50v0,50,62,42,45,52v-28,0,-50,-21,-50,-52v0,-33,27,-56,64,-56v48,0,88,43,88,95xm156,-215v-8,-29,-25,-51,-71,-51v-43,0,-82,10,-82,46v0,25,28,43,58,43v24,0,54,-14,95,-38xm273,54v-23,-23,-64,-68,-130,-68v-64,0,-106,36,-106,81v0,36,51,67,106,67v89,0,125,-71,130,-80","w":377},"Z":{"d":"1,-127v36,-83,72,-90,127,-94v38,-30,127,-16,127,41v0,51,-45,98,-132,159v5,0,29,24,26,44r25,6v-4,7,-17,-2,-25,-2v-9,61,-77,104,-121,104v-28,0,-53,-11,-53,-35v0,-50,83,-83,152,-77v7,-12,0,-36,-10,-36v-2,0,-65,40,-69,12v-3,-22,59,-19,61,-20v29,-29,110,-106,110,-168v0,-48,-53,-48,-85,-26v0,0,25,13,25,42v0,52,-39,120,-84,120v-23,0,-42,-20,-42,-45v0,-62,92,-115,92,-116v-46,-2,-109,35,-121,93v-3,-3,-3,2,-3,-2xm156,-177v0,-30,-27,-40,-27,-40v0,0,-93,57,-93,115v0,22,18,42,39,42v41,0,81,-65,81,-117xm100,-19v-9,-3,-65,6,-38,20v11,0,38,-20,38,-20xm125,23v-77,-9,-151,38,-148,73v0,10,7,18,19,18v46,0,117,-40,129,-91","w":243},"[":{"d":"253,-335v-4,14,-28,6,-44,8r-203,363r40,0r-5,8r-71,0r211,-379r72,0","w":108},"\\":{"d":"125,10r-12,0r-90,-244r11,0","w":136},"]":{"d":"216,-335r-211,379r-71,0v3,-15,29,-6,44,-8r202,-363r-39,0r4,-8r71,0","w":108},"^":{"d":"148,-73r-4,2v-15,-10,-28,-19,-40,-28v-13,8,-49,22,-64,30r-3,-3v17,-14,47,-30,62,-42v3,-3,7,-3,10,0","w":150},"_":{"d":"183,45r-185,0r0,-18r185,0r0,18","w":180},"`":{"d":"80,-131v-23,-1,-29,-19,-45,-27v-11,-7,-12,-29,7,-30v24,5,26,39,38,57","w":108},"a":{"d":"162,-78v-38,47,-77,83,-95,83v-16,0,-21,-8,-27,-21v-13,17,-24,21,-35,21v-14,0,-24,-11,-24,-35v0,-32,34,-78,81,-78v13,-3,15,15,25,3v13,4,20,1,27,-7v-17,35,-40,67,-53,105v0,4,3,7,8,7v13,0,59,-43,90,-81xm9,0v33,-5,59,-83,66,-93v0,-4,-3,-9,-8,-9v-31,0,-65,70,-65,90v0,8,1,12,7,12","w":153},"b":{"d":"152,-78v-20,27,-46,34,-67,34v-12,20,-47,49,-73,49v-14,0,-25,-11,-25,-27v0,-42,32,-98,52,-125v30,-41,65,-82,91,-82v6,0,11,7,11,15v0,51,-77,104,-92,110v-10,23,-44,75,-44,93v0,6,5,12,12,12v14,0,39,-36,45,-49v-15,-2,-19,-63,7,-60v33,-5,30,44,18,60v13,0,41,-6,62,-33xm51,-110v47,-32,84,-86,71,-111v-19,8,-57,75,-71,111xm64,-52v3,-7,17,-42,3,-50v-15,2,-18,43,-3,50","w":143},"c":{"d":"148,-78v-41,58,-91,83,-131,83v-25,0,-36,-12,-36,-32v0,-54,46,-81,81,-81v12,0,22,9,22,19v0,17,-31,30,-35,12v0,-3,1,-8,4,-13v9,9,19,4,22,-7v0,-4,-4,-7,-13,-7v-23,0,-61,66,-61,91v0,8,7,14,16,14v31,0,83,-20,128,-82","w":139},"d":{"d":"211,-214v0,38,-73,106,-107,122v2,5,-57,83,-33,93v15,0,46,-32,90,-82r3,3v-49,55,-75,84,-94,84v-16,0,-23,-7,-29,-24v-20,36,-59,27,-59,-10v0,-47,42,-80,85,-80v8,0,12,4,18,10v39,-66,86,-128,116,-128v5,0,10,4,10,12xm196,-211v0,-4,-2,-8,-6,-8v-14,0,-65,91,-79,116v51,-31,85,-86,85,-108xm10,1v22,0,67,-83,67,-95v0,-5,-5,-9,-10,-9v-21,0,-65,67,-65,91v0,6,2,13,8,13","w":155,"k":{"'":-11}},"e":{"d":"119,-78v-11,18,-66,83,-106,83v-20,0,-32,-15,-32,-32v0,-50,55,-81,82,-81v11,0,21,9,21,20v0,35,-63,49,-75,49v-6,10,-12,39,4,39v36,0,90,-59,103,-81xm66,-95v0,-5,-3,-8,-8,-8v-10,0,-27,19,-45,55v20,0,53,-34,53,-47","w":110},"f":{"d":"134,-204v0,27,-36,81,-90,109r20,0v-2,9,-18,5,-29,6v-64,120,-100,214,-161,214v-21,0,-36,-14,-36,-32v0,-28,47,-57,52,-20v2,13,-24,27,-31,8v16,0,12,-14,3,-15v-6,0,-19,15,-19,30v0,14,15,25,31,25v46,0,68,-94,132,-210r-21,0v1,-9,15,-5,25,-6v18,-30,76,-122,110,-122v7,0,14,7,14,13xm120,-201v0,-6,-3,-10,-7,-10v-13,0,-63,90,-74,116v62,-46,81,-89,81,-106","w":85},"g":{"d":"133,-78v-26,46,-63,73,-93,92v-14,32,-31,101,-76,101v-18,0,-32,-12,-32,-27v0,-18,23,-48,84,-69r11,-29v-19,28,-48,16,-48,-20v0,-41,46,-78,77,-78v19,0,36,12,48,-4v-7,5,-62,110,-63,120v32,-21,64,-48,89,-89xm64,-96v0,-4,-2,-7,-6,-7v-22,0,-57,70,-57,93v0,6,0,9,6,9v18,0,57,-82,57,-95xm14,24v-29,8,-76,39,-76,63v0,9,7,14,15,14v24,0,50,-45,61,-77","w":124},"h":{"d":"69,-95v-37,-17,-79,113,-86,98v-13,-4,-15,-4,-26,6v18,-35,52,-102,96,-166v23,-33,55,-73,74,-73v6,0,13,4,13,11v0,53,-86,113,-104,122r-7,16v19,-18,38,-27,47,-27v9,0,14,6,14,15v3,27,-61,79,-42,90v17,0,58,-51,81,-78r2,3v-29,36,-65,83,-89,83v-11,0,-20,-7,-20,-17v0,-17,47,-72,47,-83xm41,-107v54,-41,91,-82,80,-115v-14,0,-46,57,-80,115","w":123},"i":{"d":"71,-150v2,20,-29,30,-31,7v-3,-18,30,-27,31,-7xm93,-78v-28,34,-72,83,-95,83v-13,0,-22,-7,-22,-21v0,-24,23,-58,36,-81v2,-12,19,-6,21,-5v3,0,10,-9,14,-10v-16,34,-38,62,-49,100v0,5,2,10,8,10v14,0,75,-69,84,-79","w":84},"j":{"d":"68,-149v2,19,-31,29,-33,7v-2,-17,32,-31,33,-7xm80,-78v-32,35,-74,79,-99,96v-15,26,-27,101,-76,101v-18,0,-32,-11,-32,-26v0,-24,38,-59,82,-69v18,-52,35,-84,54,-117v6,-12,12,-14,24,-9v4,0,9,-9,14,-10r-65,125v26,-19,95,-94,95,-94xm-47,31v-33,3,-76,39,-76,60v0,8,6,14,15,14v30,0,59,-69,61,-74","w":71},"k":{"d":"148,-218v0,38,-74,105,-103,118v-3,4,-12,17,-12,17v17,-14,36,-25,48,-25v9,0,14,5,14,14v0,13,-12,26,-38,40v22,15,-17,41,-4,51v18,2,73,-89,77,-75v-17,22,-61,83,-87,83v-31,0,-5,-38,-2,-53v0,-4,-11,-2,-24,-3v-29,42,-18,61,-47,51v-3,0,-9,8,-14,10r45,-85v8,-16,96,-154,132,-154v6,0,15,5,15,11xm131,-215v0,-4,-1,-7,-4,-7v-12,0,-68,86,-77,113v39,-22,80,-84,81,-106xm19,-56v25,3,49,-11,52,-32v0,-6,-3,-7,-7,-7v-11,0,-38,25,-45,39","w":122},"l":{"d":"141,-225v0,21,-31,91,-104,133v-8,18,-28,56,-28,81v0,4,3,9,7,9v19,0,53,-38,74,-79r3,3v-27,49,-53,81,-87,83v-13,1,-21,-11,-21,-30v0,-60,113,-213,145,-213v6,0,11,7,11,13xm126,-222v0,-4,-2,-8,-5,-8v-12,0,-60,83,-76,126v45,-26,81,-100,81,-118","w":84,"k":{"'":-11}},"m":{"d":"200,-78v-27,24,-56,83,-91,83v-12,0,-22,-9,-22,-22v0,-13,44,-66,44,-76v0,-4,-3,-6,-7,-6v-23,8,-58,63,-72,96v-6,8,-15,4,-22,2v-3,0,-13,11,-13,11v-3,-4,66,-102,50,-109v-10,0,-26,19,-41,33v-28,26,-27,82,-59,65v-3,0,-13,11,-13,11r50,-95v10,-32,27,-10,43,-27r-18,34v25,-26,40,-30,51,-30v18,0,16,25,16,25v21,-19,26,-25,43,-25v15,0,24,17,10,30v-13,23,-30,43,-40,69v0,5,4,8,7,8v20,-9,61,-59,81,-80","w":191},"n":{"d":"147,-78r-56,62v-12,22,-54,34,-57,0v4,-27,34,-54,43,-79v-19,-11,-37,14,-68,59v-17,25,-15,46,-40,35v-3,0,-13,11,-13,11r56,-106v3,-11,14,-9,23,-6v3,0,7,-7,13,-10r-18,34v24,-21,38,-30,54,-30v18,1,20,21,10,36v-13,21,-29,41,-40,64v8,17,23,0,37,-15r53,-58","w":138},"o":{"d":"84,-45v23,-6,44,-26,54,-36r3,3v-11,12,-35,33,-60,38v-6,24,-99,78,-99,12v0,-41,41,-80,81,-80v30,0,37,45,21,63xm71,-95v0,-6,-3,-9,-9,-9v-22,0,-59,67,-59,92v0,8,1,13,6,13v13,0,26,-13,45,-44v-22,-4,-27,-25,-9,-29v4,0,8,3,8,8v0,6,-10,7,-10,7v2,5,10,10,14,11v11,-24,14,-36,14,-49","w":132},"p":{"d":"142,-78v-28,48,-68,90,-100,90v-6,0,-11,-4,-16,-9v-13,11,-39,16,-42,-7v-36,66,-50,126,-63,126v-7,0,-18,-5,-18,-5r-15,14v58,-102,73,-139,123,-228v0,-6,15,-10,22,-5v4,0,9,-9,14,-10r-6,11v18,-17,42,-2,42,23v0,35,-35,65,-53,78v3,4,8,7,12,7v28,0,68,-40,97,-88xm61,-93v0,-5,-3,-7,-7,-7v-24,0,-58,74,-61,80v9,-5,25,6,27,8v18,-23,41,-64,41,-81xm16,-8v-6,-7,-20,-13,-26,-4v0,18,18,18,26,4","w":133},"q":{"d":"141,-78v-32,50,-59,71,-95,80v31,40,-2,122,-43,122v-15,0,-24,-12,-24,-31v0,-19,10,-38,54,-101v-26,25,-53,13,-51,-24v1,-44,57,-90,95,-70v6,-7,14,0,21,0v4,0,9,-9,13,-10r-63,109v27,-9,52,-21,91,-78xm71,-95v0,-4,-3,-5,-7,-5v-22,0,-60,65,-60,87v0,6,5,10,10,10v11,0,19,-13,37,-46v17,-31,20,-36,20,-46xm19,109v22,-6,52,-71,23,-104v-34,56,-35,61,-35,89v0,9,4,15,12,15","w":133},"r":{"d":"114,-78v-47,71,-72,83,-97,83v-48,0,11,-74,10,-91v-7,3,-31,23,-32,-3v0,-15,22,-40,29,-19v0,6,-5,17,-12,25v18,-15,29,-25,38,-25v16,1,14,24,5,32v-11,20,-27,42,-36,63v0,7,5,10,10,10v24,0,56,-40,82,-78xm5,-83v7,-11,20,-22,11,-28v-8,1,-22,23,-11,28","w":105},"s":{"d":"97,-78v-33,56,-56,61,-78,64v-10,22,-70,31,-69,-5v0,-10,8,-21,18,-21v10,0,17,13,25,16v34,-22,-16,-86,26,-101v19,3,4,26,-2,34v6,4,17,62,4,72v24,-5,42,-11,73,-62xm15,-95v18,-17,2,-42,-2,-12v0,4,0,8,2,12xm-10,-20v-11,-5,-21,-22,-26,-6v-1,11,21,14,26,6","w":88},"t":{"d":"7,-2v39,-11,53,-42,83,-79r3,3v-30,44,-56,83,-97,83v-20,0,-21,-30,-12,-48r29,-57r-27,0v4,-9,22,-5,35,-6v21,-14,30,-23,57,-64r4,0r-37,64r27,0v-1,11,-19,4,-29,6r-46,84v0,5,5,14,10,14","w":84},"u":{"d":"158,-78v-14,22,-61,83,-100,83v-12,0,-19,-9,-21,-30v-19,21,-26,30,-45,30v-49,-19,13,-77,21,-105v6,-9,12,-3,22,-2v3,0,9,-9,13,-10v-15,32,-39,64,-50,100v0,5,3,10,10,10v18,-4,57,-71,70,-98v4,-8,13,-3,21,-2v3,0,8,-8,13,-10v-17,34,-39,66,-52,102v0,4,4,7,10,7v16,0,54,-34,85,-78","w":149},"v":{"d":"144,-78v-13,13,-38,31,-65,32v-7,18,-43,51,-83,51v-29,0,-19,-40,-9,-58r26,-47v6,-10,14,-2,21,-2v3,0,6,-8,12,-10v-15,32,-35,64,-48,98v0,9,6,14,12,14v15,0,31,-17,47,-51v-25,-22,-6,-59,14,-60v24,-2,25,48,11,60v13,0,36,-9,59,-30xm59,-55v3,-5,29,-42,7,-48v-18,2,-22,37,-7,48","w":135},"w":{"d":"64,5v-21,0,-24,-21,-20,-33v-19,22,-31,33,-50,33v-22,0,-25,-36,-11,-50r29,-53v6,-11,13,-5,23,-4v4,0,9,-9,13,-10v-16,33,-39,63,-51,100v0,5,3,10,6,10v31,-5,58,-67,75,-98v5,-8,14,-3,22,-2v4,0,8,-8,13,-10v-16,33,-38,64,-50,100v0,8,4,12,10,12v16,0,32,-16,49,-49v-23,-19,-11,-62,16,-62v26,-1,23,54,10,63v14,-1,50,-18,56,-33r3,3v-12,22,-45,32,-62,35v-18,27,-55,48,-81,48xm137,-96v0,-5,-2,-7,-7,-7v-15,5,-23,30,-6,49v6,-8,13,-28,13,-42","w":198},"x":{"d":"148,-78v-46,60,-83,83,-109,83v-14,0,-24,-10,-33,-35v-23,26,-34,35,-46,35v-15,-1,-18,-17,-4,-25v16,28,41,-10,48,-19v4,-21,-21,-76,18,-68v3,0,4,-9,7,-11r1,47v21,-18,42,-37,59,-37v16,0,17,13,8,24v-20,-27,-62,14,-67,20v0,36,5,60,20,60v27,0,77,-52,95,-77","w":139},"y":{"d":"146,-78v-38,32,-61,65,-106,92v-19,33,-39,94,-83,94v-16,0,-29,-12,-29,-28v0,-32,46,-49,86,-62r15,-31v-15,12,-27,18,-35,18v-21,-1,-25,-28,-13,-46v13,-20,20,-50,39,-64v14,6,18,0,27,-7v-16,32,-38,64,-50,99v0,5,2,10,6,10v4,0,26,-8,36,-25r38,-68v2,-10,16,-10,23,-6v3,0,9,-9,13,-10v-7,12,-33,69,-70,121v42,-28,64,-59,100,-90xm13,22v-39,13,-82,29,-82,58v0,9,6,15,15,15v17,0,30,-12,67,-73","w":137},"z":{"d":"121,-78v-10,16,-46,68,-99,94v10,58,-30,108,-88,108v-18,0,-29,-10,-29,-27v0,-33,49,-64,99,-78v0,-3,2,-11,-2,-20v-12,5,-31,9,-33,-4v3,-14,26,-12,37,-3v9,-7,33,-43,33,-68v-6,-21,-25,-12,-39,9v1,-36,66,-61,66,-15v0,41,-42,73,-56,78v2,3,8,12,9,16v32,-15,62,-41,99,-93xm-1,-5v-7,-8,-23,-10,-26,0v3,11,20,4,26,0xm4,23v-29,7,-89,46,-89,82v0,9,8,16,17,16v29,0,72,-63,72,-98","w":112},"{":{"d":"185,-245v-66,11,-44,138,-109,152r-1,3v13,1,20,16,15,31r-24,69v-9,25,-13,45,9,52v-77,2,-10,-88,-6,-122v5,-13,2,-26,-10,-32v67,-23,29,-158,126,-153","w":144},"|":{"d":"66,29r-20,0r0,-303r20,0r0,303","w":93},"}":{"d":"99,-245v97,4,-30,113,17,153v-67,22,-29,157,-126,152v65,-12,44,-137,109,-151r1,-3v-13,-1,-20,-16,-15,-31r23,-69v9,-25,13,-44,-9,-51","w":144},"~":{"d":"161,-85v-22,46,-90,4,-137,24v24,-44,93,-4,137,-24","w":158},"\u20ac":{"d":"173,-130v0,25,-41,39,-43,12v-1,-14,13,-24,23,-14v-8,4,-8,12,-1,14v5,0,14,-7,14,-15v0,-14,-13,-22,-25,-22v-30,0,-59,32,-77,66r55,0r-2,5r-55,0v-3,6,-6,12,-8,18r52,0r-2,6r-52,0v-5,26,-9,56,23,56v21,0,47,-19,68,-42r3,3v-22,25,-51,46,-78,46v-49,0,-50,-29,-43,-63r-17,0v-1,-10,12,-5,19,-6v2,-6,4,-12,7,-18r-13,0v-1,-8,10,-4,16,-5v23,-40,69,-70,106,-70v17,0,30,11,30,29","w":169},"\u00b0":{"d":"99,-193v0,26,-29,66,-61,66v-15,0,-23,-12,-23,-26v0,-27,38,-61,62,-61v15,0,22,8,22,21xm90,-190v0,-8,-1,-14,-10,-14v-20,0,-43,42,-43,59v0,5,2,9,7,9v11,0,46,-28,46,-54","w":165},"\u00b2":{"d":"15,-109v13,-45,105,-55,105,-107v0,-10,-9,-17,-20,-17v-18,0,-37,27,-17,34v7,0,6,-8,4,-12v10,-3,12,7,12,10v0,7,-6,12,-14,12v-9,0,-15,-7,-15,-17v0,-16,19,-32,39,-32v17,0,28,10,28,28v0,54,-89,50,-107,83v27,-9,57,13,74,-11v3,9,-16,30,-33,30v-15,-4,-53,-6,-56,-1","w":146},"\u00bd":{"d":"210,-100v0,54,-89,50,-107,83v28,-9,55,13,74,-11v4,20,-38,36,-63,25v-27,-1,-22,7,-28,2v22,-43,103,-54,107,-105v0,-10,-9,-17,-20,-17v-18,0,-37,27,-17,34v7,0,5,-9,3,-12v10,-3,13,7,13,10v0,7,-6,12,-14,12v-9,0,-15,-7,-15,-17v0,-16,19,-32,39,-32v17,0,28,10,28,28xm42,4v-10,-2,-8,9,-15,12v-4,-10,6,-28,24,-57v41,-69,71,-106,151,-196r6,1v-35,41,-138,188,-151,223v-4,12,-7,16,-15,17xm124,-219v6,5,-31,46,-47,78v-15,30,-6,49,-33,44v0,0,-5,7,-8,8v9,-46,52,-83,58,-99v-7,2,-22,20,-27,21v2,-3,48,-52,57,-52","w":217},"\u00c0":{"d":"341,-285v12,1,36,18,61,36v-31,-16,-66,-20,-66,-32v0,-3,2,-4,5,-4xm442,5v0,30,-36,54,-65,55v-55,1,-92,-31,-101,-37v-8,4,-73,46,-135,46v-83,0,-144,-56,-144,-133v0,-84,66,-145,149,-125r0,4v-83,-22,-145,49,-145,121v0,74,59,130,140,130v59,0,132,-45,132,-45r-13,-12v0,0,-37,8,-37,-10v0,-17,38,1,38,1v33,-13,48,-65,57,-112v-11,2,-32,4,-44,4v-19,28,-67,118,-131,118v-37,0,-57,-20,-57,-46v0,-40,40,-78,95,-78r90,0v0,0,11,-23,28,-45v53,-66,105,-78,105,-78v14,25,-45,22,-49,114v0,0,70,-23,70,-88v0,-51,-53,-92,-119,-92v-72,0,-122,51,-122,93v-1,59,43,60,37,70v0,0,-42,-13,-42,-70v0,-44,53,-98,127,-98v69,0,124,43,124,97v0,70,-76,94,-76,94v0,0,-2,21,-3,26v-4,15,-28,68,-82,98r10,10v78,-48,88,-53,115,-53v27,0,48,18,48,41xm380,-222v-9,0,-43,26,-65,51v-24,28,-35,52,-37,57v6,0,29,-1,41,-3v9,-56,67,-105,61,-105xm437,6v0,-21,-18,-37,-42,-37v-29,0,-40,8,-112,52v0,0,39,34,94,34v28,0,60,-23,60,-49xm251,4v0,0,-20,-12,-20,-4v0,9,20,4,20,4xm267,-108r-73,0v-50,0,-91,35,-91,72v0,31,16,41,40,41v57,0,103,-81,124,-113","w":381},"\u00c1":{"d":"387,-273v0,12,-35,17,-66,33r0,-3v34,-15,48,-40,66,-30xm442,5v0,30,-36,54,-65,55v-55,1,-92,-31,-101,-37v-8,4,-73,46,-135,46v-83,0,-144,-56,-144,-133v0,-84,66,-145,149,-125r0,4v-83,-22,-145,49,-145,121v0,74,59,130,140,130v59,0,132,-45,132,-45r-13,-12v0,0,-37,8,-37,-10v0,-17,38,1,38,1v33,-13,48,-65,57,-112v-11,2,-32,4,-44,4v-19,28,-67,118,-131,118v-37,0,-57,-20,-57,-46v0,-40,40,-78,95,-78r90,0v0,0,11,-23,28,-45v53,-66,105,-78,105,-78v14,25,-45,22,-49,114v0,0,70,-23,70,-88v0,-51,-53,-92,-119,-92v-72,0,-122,51,-122,93v-1,59,43,60,37,70v0,0,-42,-13,-42,-70v0,-44,53,-98,127,-98v69,0,124,43,124,97v0,70,-76,94,-76,94v0,0,-2,21,-3,26v-4,15,-28,68,-82,98r10,10v78,-48,88,-53,115,-53v27,0,48,18,48,41xm380,-222v-9,0,-43,26,-65,51v-24,28,-35,52,-37,57v6,0,29,-1,41,-3v9,-56,67,-105,61,-105xm437,6v0,-21,-18,-37,-42,-37v-29,0,-40,8,-112,52v0,0,39,34,94,34v28,0,60,-23,60,-49xm251,4v0,0,-20,-12,-20,-4v0,9,20,4,20,4xm267,-108r-73,0v-50,0,-91,35,-91,72v0,31,16,41,40,41v57,0,103,-81,124,-113","w":381},"\u00c4":{"d":"341,-270v5,0,10,5,9,11v-2,12,-24,15,-22,0v1,-6,7,-11,13,-11xm373,-259v1,-13,24,-15,22,0v-1,12,-24,15,-22,0xm442,5v0,30,-36,54,-65,55v-55,1,-92,-31,-101,-37v-8,4,-73,46,-135,46v-83,0,-144,-56,-144,-133v0,-84,66,-145,149,-125r0,4v-83,-22,-145,49,-145,121v0,74,59,130,140,130v59,0,132,-45,132,-45r-13,-12v0,0,-37,8,-37,-10v0,-17,38,1,38,1v33,-13,48,-65,57,-112v-11,2,-32,4,-44,4v-19,28,-67,118,-131,118v-37,0,-57,-20,-57,-46v0,-40,40,-78,95,-78r90,0v0,0,11,-23,28,-45v53,-66,105,-78,105,-78v14,25,-45,22,-49,114v0,0,70,-23,70,-88v0,-51,-53,-92,-119,-92v-72,0,-122,51,-122,93v-1,59,43,60,37,70v0,0,-42,-13,-42,-70v0,-44,53,-98,127,-98v69,0,124,43,124,97v0,70,-76,94,-76,94v0,0,-2,21,-3,26v-4,15,-28,68,-82,98r10,10v78,-48,88,-53,115,-53v27,0,48,18,48,41xm380,-222v-9,0,-43,26,-65,51v-24,28,-35,52,-37,57v6,0,29,-1,41,-3v9,-56,67,-105,61,-105xm437,6v0,-21,-18,-37,-42,-37v-29,0,-40,8,-112,52v0,0,39,34,94,34v28,0,60,-23,60,-49xm251,4v0,0,-20,-12,-20,-4v0,9,20,4,20,4xm267,-108r-73,0v-50,0,-91,35,-91,72v0,31,16,41,40,41v57,0,103,-81,124,-113","w":381},"\u00d6":{"d":"140,-273v5,0,10,5,9,11v-2,12,-24,15,-22,0v1,-6,7,-11,13,-11xm172,-262v1,-13,24,-15,22,0v-1,12,-24,15,-22,0xm57,6v50,0,128,-144,128,-197v0,-20,-6,-29,-20,-29v-32,0,-78,55,-78,100v0,17,10,27,23,27v34,0,56,-49,56,-68v0,-26,-15,-28,-34,-8v6,-22,38,-22,38,8v0,28,-25,72,-60,72v-16,0,-27,-12,-27,-31v0,-42,44,-103,82,-103v21,0,40,25,40,52v-2,78,-83,180,-148,180v-33,0,-57,-30,-57,-66v0,-56,72,-160,136,-173r15,0v-68,26,-123,140,-124,200v0,22,13,36,30,36","w":216},"\u00dc":{"d":"257,-273v5,0,9,5,8,11v-2,12,-24,16,-21,0v1,-6,7,-11,13,-11xm289,-262v1,-12,24,-16,21,0v-1,12,-24,16,-21,0xm217,-147v0,49,-73,94,-73,133v0,9,5,17,14,17v17,0,38,-22,50,-40v23,-32,47,-96,142,-157v-3,-2,-59,-44,-98,-35v40,-6,71,0,108,31v74,-41,195,-28,195,46v0,22,-25,41,-54,41v-78,0,-143,-74,-143,-74v0,0,-55,41,-88,97v-34,57,-49,89,-35,89v25,0,43,-38,40,-19v0,0,-16,25,-45,25v-14,0,-21,-11,-21,-35v-21,26,-37,35,-51,35v-15,0,-30,-17,-30,-38v0,-49,71,-105,71,-137v0,-37,-26,-58,-65,-58v-82,0,-129,60,-129,102v1,56,70,68,115,41r1,2v-39,29,-119,16,-119,-43v0,-44,46,-105,132,-105v47,0,83,28,83,82xm552,-152v0,-37,-38,-66,-92,-66v-45,0,-94,26,-94,26v0,0,76,78,135,78v28,0,51,-20,51,-38","w":311},"\u00df":{"d":"57,-55v-20,-63,59,-86,56,-142v0,-4,-1,-8,-5,-8v-18,0,-60,83,-98,165v-36,77,-67,153,-118,153v-20,0,-36,-10,-36,-32v0,-27,45,-48,51,-17v3,17,-29,24,-33,6v9,2,15,-8,6,-10v-29,7,-17,48,11,48v39,0,58,-79,94,-156v38,-83,97,-164,129,-164v39,15,1,64,-22,87v-50,27,-3,56,-17,107v22,-3,44,-33,62,-62r2,2v-19,33,-37,59,-67,64v-13,24,-64,31,-66,-7v3,-19,28,-13,40,-3v7,-8,11,-20,11,-31xm42,-21v-11,-5,-21,-16,-25,-3v2,13,18,12,25,3","w":131},"\u00e0":{"d":"162,-78v-38,47,-77,83,-95,83v-16,0,-21,-8,-27,-21v-13,17,-24,21,-35,21v-14,0,-24,-11,-24,-35v0,-32,34,-78,81,-78v13,-3,15,15,25,3v13,4,20,1,27,-7v-17,35,-40,67,-53,105v0,4,3,7,8,7v13,0,59,-43,90,-81xm9,0v33,-5,59,-83,66,-93v0,-4,-3,-9,-8,-9v-31,0,-65,70,-65,90v0,8,1,12,7,12xm30,-161v18,-13,32,15,66,29r0,3v-31,-16,-66,-20,-66,-32","w":153},"\u00e1":{"d":"162,-78v-38,47,-77,83,-95,83v-16,0,-21,-8,-27,-21v-13,17,-24,21,-35,21v-14,0,-24,-11,-24,-35v0,-32,34,-78,81,-78v13,-3,15,15,25,3v13,4,20,1,27,-7v-17,35,-40,67,-53,105v0,4,3,7,8,7v13,0,59,-43,90,-81xm9,0v33,-5,59,-83,66,-93v0,-4,-3,-9,-8,-9v-31,0,-65,70,-65,90v0,8,1,12,7,12xm113,-158v0,12,-35,16,-66,32r0,-3v30,-15,47,-33,61,-33v3,0,5,1,5,4","w":153},"\u00e4":{"d":"162,-78v-38,47,-77,83,-95,83v-16,0,-21,-8,-27,-21v-13,17,-24,21,-35,21v-14,0,-24,-11,-24,-35v0,-32,34,-78,81,-78v13,-3,15,15,25,3v13,4,20,1,27,-7v-17,35,-40,67,-53,105v0,4,3,7,8,7v13,0,59,-43,90,-81xm9,0v33,-5,59,-83,66,-93v0,-4,-3,-9,-8,-9v-31,0,-65,70,-65,90v0,8,1,12,7,12xm64,-156v5,0,10,5,9,11v-1,5,-8,10,-13,10v-6,0,-10,-5,-9,-10v1,-6,7,-11,13,-11xm96,-145v1,-13,24,-15,22,0v-1,11,-24,14,-22,0","w":153},"\u00e8":{"d":"119,-78v-11,18,-66,83,-106,83v-20,0,-32,-15,-32,-32v0,-50,55,-81,82,-81v11,0,21,9,21,20v0,35,-63,49,-75,49v-6,10,-12,39,4,39v36,0,90,-59,103,-81xm66,-95v0,-5,-3,-8,-8,-8v-10,0,-27,19,-45,55v20,0,53,-34,53,-47xm11,-161v18,-13,32,15,66,29r0,3v-31,-16,-66,-20,-66,-32","w":110},"\u00e9":{"d":"119,-78v-11,18,-66,83,-106,83v-20,0,-32,-15,-32,-32v0,-50,55,-81,82,-81v11,0,21,9,21,20v0,35,-63,49,-75,49v-6,10,-12,39,4,39v36,0,90,-59,103,-81xm66,-95v0,-5,-3,-8,-8,-8v-10,0,-27,19,-45,55v20,0,53,-34,53,-47xm100,-158v0,12,-34,16,-65,32r0,-3v30,-15,46,-33,60,-33v3,0,5,1,5,4","w":110},"\u00f6":{"d":"144,-78v-13,13,-38,31,-65,32v-7,18,-43,51,-83,51v-29,0,-19,-40,-9,-58r26,-47v6,-10,14,-2,21,-2v3,0,6,-8,12,-10v-15,32,-35,64,-48,98v0,9,6,14,12,14v15,0,31,-17,47,-51v-25,-22,-6,-59,14,-60v24,-2,25,48,11,60v13,0,36,-9,59,-30xm59,-55v3,-5,29,-42,7,-48v-18,2,-22,37,-7,48xm51,-156v5,0,9,5,8,11v-1,11,-23,14,-21,0v1,-6,7,-11,13,-11xm83,-145v1,-12,24,-16,21,0v-1,11,-24,14,-21,0","w":135},"\u00fc":{"d":"158,-78v-14,22,-61,83,-100,83v-12,0,-19,-9,-21,-30v-19,21,-26,30,-45,30v-49,-19,13,-77,21,-105v6,-9,12,-3,22,-2v3,0,9,-9,13,-10v-15,32,-39,64,-50,100v0,5,3,10,10,10v18,-4,57,-71,70,-98v4,-8,13,-3,21,-2v3,0,8,-8,13,-10v-17,34,-39,66,-52,102v0,4,4,7,10,7v16,0,54,-34,85,-78xm64,-156v5,0,10,5,9,11v-1,5,-8,10,-13,10v-6,0,-10,-5,-9,-10v1,-6,7,-11,13,-11xm96,-145v1,-13,24,-15,22,0v-1,11,-24,14,-22,0","w":149},"\u00a0":{"w":97}}});


/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright © 1986, 1990, 1991, 1994, 2001 Adobe Systems Incorporated.  All
 * Rights Reserved.
 * 
 * Trademark:
 * Century Old Style
 * 
 * Full name:
 * CenturyOldStyleStd-Regular
 * 
 * Designer:
 * Morris Fuller Benton
 * 
 * Vendor URL:
 * http://www.adobe.com/type
 * 
 * License information:
 * http://www.adobe.com/type/legal.html
 */
Cufon.registerFont({"w":180,"face":{"font-family":"Century Old Style Std","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 5 6 3 6 5 5 2 2 4","ascent":"276","descent":"-84","x-height":"4","bbox":"-30 -361.67 349 90","underline-thickness":"18","underline-position":"-18","stemh":"10","stemv":"32","unicode-range":"U+0020-U+20AC"},"glyphs":{" ":{"w":90},"!":{"d":"72,-18v0,12,-10,22,-23,22v-12,0,-23,-10,-23,-22v0,-13,10,-23,23,-23v13,0,23,10,23,23xm71,-243v0,55,-18,113,-16,171r-11,0v1,-58,-17,-117,-17,-171v0,-13,8,-24,22,-24v14,0,22,11,22,24","w":94},"\"":{"d":"30,-132r-8,-97v-1,-12,-4,-38,14,-38v19,0,17,26,16,38r-11,97v-1,4,0,14,-6,14v-6,0,-5,-10,-5,-14xm98,-132r-8,-97v-1,-12,-4,-38,14,-38v19,0,17,26,16,38r-11,97v-1,4,0,14,-6,14v-6,0,-5,-10,-5,-14","w":142},"#":{"d":"167,-106r0,21r-40,0r-12,85r-22,0r12,-85r-39,0r-12,85r-22,0r11,-85r-40,0r0,-21r43,0r7,-54r-39,0r0,-21r42,0r11,-80r22,0r-11,80r40,0r11,-80r21,0r-10,80r38,0r0,21r-41,0r-7,54r37,0xm115,-160r-39,0r-8,54r40,0"},"$":{"d":"142,-57v0,-72,-129,-48,-129,-131v0,-37,27,-68,64,-73r0,-38r17,0r0,38v30,3,64,23,64,57v0,12,-6,20,-18,20v-20,0,-21,-22,-16,-40v0,-18,-20,-25,-35,-25v-27,0,-55,17,-55,47v0,70,133,44,133,134v0,41,-34,68,-73,72r0,42r-17,0r0,-42v-32,-3,-68,-26,-68,-61v0,-13,7,-25,21,-25v27,2,15,32,9,48v0,19,27,26,42,26v28,0,61,-17,61,-49"},"%":{"d":"206,-63v0,25,-16,67,-49,67v-34,0,-49,-42,-49,-66v0,-25,15,-67,49,-67v33,0,49,41,49,66xm181,-61v0,-14,0,-58,-24,-58v-24,0,-25,43,-25,56v0,15,0,57,26,57v21,0,23,-42,23,-55xm102,-196v0,25,-15,67,-49,67v-34,0,-49,-41,-49,-65v0,-25,15,-67,49,-67v33,0,49,40,49,65xm77,-194v0,-14,0,-57,-24,-57v-24,0,-24,42,-24,55v0,15,-1,58,25,58v21,0,23,-43,23,-56xm163,-257r19,0r-137,257r-18,0","w":208},"&":{"d":"114,-164v23,-10,49,-24,49,-52v0,-20,-12,-40,-34,-40v-45,0,-33,64,-15,92xm89,-139v-67,20,-39,130,30,127v15,0,32,-4,43,-14v-28,-35,-52,-73,-73,-113xm12,-66v0,-42,41,-65,72,-84v-31,-45,-14,-117,49,-117v27,0,56,16,56,45v0,34,-43,55,-69,68v21,37,41,74,68,106v15,-21,25,-46,25,-72v0,-21,-16,-24,-34,-24r0,-10r93,0r0,10v-28,1,-30,10,-39,33v-10,25,-20,50,-37,72v18,25,55,24,77,3r6,6v-26,32,-79,49,-110,13v-52,38,-157,24,-157,-49","w":284},"(":{"d":"140,-276r8,10v-53,36,-66,102,-66,161v0,58,17,119,66,154r-8,10v-121,-70,-123,-266,0,-335","w":142},")":{"d":"5,59r-8,-10v49,-35,66,-96,66,-154v0,-59,-13,-125,-66,-161r8,-10v124,69,120,265,0,335","w":142},"*":{"d":"85,-202v-1,-20,-13,-51,7,-59v21,7,10,39,7,59v16,-6,48,-33,58,-9v0,18,-41,19,-53,22v9,9,32,30,32,43v0,5,-2,11,-9,11v-15,0,-28,-33,-34,-45v-7,12,-20,45,-36,45v-26,-13,15,-43,24,-54v-13,-3,-54,-4,-54,-22v9,-25,42,3,58,9"},"+":{"d":"10,-108r69,0r0,-72r21,0r0,72r69,0r0,21r-69,0r0,73r-21,0r0,-73r-69,0r0,-21"},",":{"d":"46,13v0,-15,-24,-12,-24,-32v0,-13,10,-22,22,-22v55,15,13,85,-21,98r-4,-6v10,-9,27,-25,27,-38","w":90},"-":{"d":"0,-105r81,0r0,26r-81,0r0,-26","w":85},".":{"d":"22,-18v0,-13,10,-23,23,-23v13,0,23,10,23,23v0,12,-10,22,-23,22v-12,0,-23,-10,-23,-22","w":90},"\/":{"d":"155,-276r24,0r-143,312r-26,0","w":189},"0":{"d":"92,4v-108,-13,-108,-252,0,-265v109,15,108,250,0,265xm139,-130v0,-29,-5,-119,-47,-119v-43,0,-46,92,-46,122v0,32,3,119,48,119v37,0,45,-83,45,-122"},"1":{"d":"81,-167v0,-36,2,-56,-51,-51r0,-12v26,1,54,-9,71,-31r11,0r0,195v-6,40,16,57,48,54r0,12r-128,0r0,-12v12,0,30,1,37,-7v25,-29,12,-99,12,-148"},"2":{"d":"35,-28v60,-2,106,11,120,-42r11,3r-16,67r-138,0r-2,-17v29,-65,120,-100,120,-180v0,-26,-17,-52,-45,-52v-17,0,-36,10,-36,28v6,18,17,49,-10,49v-14,0,-22,-12,-22,-26v2,-84,149,-81,149,3v0,37,-28,62,-54,83v-40,31,-49,42,-77,84"},"3":{"d":"98,-138v35,5,68,30,68,69v0,45,-43,73,-85,73v-28,0,-70,-12,-70,-48v0,-12,6,-23,19,-23v19,0,22,19,18,36v0,17,19,23,33,23v36,0,48,-35,48,-65v0,-34,-24,-69,-65,-54v-6,0,-12,-3,-12,-10v1,-17,24,-9,35,-8v45,-9,45,-102,-5,-104v-21,-1,-37,16,-30,41v0,10,-7,19,-18,19v-12,0,-20,-10,-20,-21v0,-74,144,-65,142,11v0,30,-30,54,-58,61"},"4":{"d":"69,-12v38,2,30,-19,31,-52r-91,0r0,-17r107,-180r16,0r0,180r40,0r0,17r-40,0v1,29,-4,56,28,52r0,12r-91,0r0,-12xm100,-206r-73,125r73,0r0,-125"},"5":{"d":"52,-231r-6,83v50,-43,124,-1,124,63v0,48,-37,89,-85,89v-27,0,-69,-19,-69,-51v0,-12,6,-25,20,-25v20,0,21,23,16,40v0,15,15,24,29,24v40,0,55,-43,55,-76v0,-32,-15,-66,-51,-66v-19,0,-35,10,-45,25r-12,-5r8,-127r120,0r-5,26r-99,0"},"6":{"d":"15,-112v0,-68,31,-148,98,-149v19,0,52,13,52,36v0,12,-8,20,-20,20v-26,0,-9,-44,-41,-44v-42,0,-56,92,-56,124v16,-19,36,-37,63,-37v39,0,64,38,64,74v0,45,-32,92,-79,92v-53,0,-81,-53,-81,-116xm99,-144v-21,0,-50,22,-50,47v0,31,5,89,46,89v61,0,63,-136,4,-136"},"7":{"d":"94,-233v-38,-7,-65,17,-70,48r-10,-3r14,-69r140,0r3,20v-38,60,-79,132,-79,205v0,14,2,36,-19,36v-14,0,-19,-10,-19,-22v4,-70,65,-160,97,-215r-57,0"},"8":{"d":"107,-150v41,-19,41,-98,-13,-99v-26,0,-44,21,-44,46v0,26,36,45,57,53xm82,-125v-51,19,-52,116,13,117v30,0,52,-25,52,-54v0,-37,-39,-47,-65,-63xm173,-73v0,43,-39,77,-83,77v-39,0,-78,-26,-78,-68v0,-33,33,-55,60,-66v-25,-12,-46,-31,-46,-60v0,-84,138,-95,138,-13v0,28,-23,44,-45,58v28,14,54,39,54,72"},"9":{"d":"136,-154v-1,-32,-2,-95,-47,-95v-37,0,-45,45,-45,74v0,27,9,62,42,62v23,0,39,-24,50,-41xm41,-52v27,2,9,44,39,44v42,0,59,-92,56,-125v-17,21,-35,37,-63,37v-100,0,-70,-165,15,-165v62,0,82,67,82,118v0,68,-32,145,-97,147v-20,0,-52,-12,-52,-36v0,-12,8,-20,20,-20"},":":{"d":"68,-157v0,12,-10,22,-23,22v-12,0,-23,-10,-23,-22v0,-13,10,-23,23,-23v13,0,23,10,23,23xm68,-18v0,12,-10,22,-23,22v-12,0,-23,-10,-23,-22v0,-13,10,-23,23,-23v13,0,23,10,23,23","w":90},";":{"d":"46,12v0,-16,-24,-13,-24,-33v0,-13,10,-22,22,-22v18,0,27,18,27,34v0,28,-26,50,-48,64r-4,-6v10,-10,27,-24,27,-37xm68,-157v0,12,-10,22,-23,22v-12,0,-22,-10,-22,-22v0,-13,9,-23,22,-23v13,0,23,10,23,23","w":90},"<":{"d":"167,-161r-134,64r134,63r0,20r-154,-74r0,-18r154,-74r0,19"},"=":{"d":"14,-132r152,0r0,21r-152,0r0,-21xm14,-83r152,0r0,21r-152,0r0,-21"},">":{"d":"13,-34r134,-63r-134,-64r0,-19r154,74r0,18r-154,74r0,-20"},"?":{"d":"57,-121r0,49r-15,0r0,-77v38,3,61,-17,61,-52v0,-16,-7,-46,-27,-46v-23,0,-19,26,-40,26v-10,0,-19,-6,-19,-18v0,-20,24,-28,41,-28v41,0,72,37,72,76v0,43,-31,70,-73,70xm75,-18v0,12,-11,22,-24,22v-12,0,-22,-10,-22,-22v0,-13,9,-23,22,-23v13,0,24,10,24,23","w":142},"@":{"d":"125,-63v46,0,48,-72,63,-112v0,-13,-7,-26,-21,-26v-38,0,-63,86,-63,116v0,13,8,22,21,22xm279,-154v0,51,-38,101,-86,102v-12,0,-28,-7,-30,-21v-27,37,-87,20,-87,-30v0,-46,31,-109,83,-109v15,0,32,7,36,22r6,-17r30,0r-34,100v-1,12,-20,41,0,43v41,-5,67,-51,67,-92v0,-55,-51,-96,-104,-96v-65,0,-117,52,-117,118v0,68,49,122,116,122v41,0,82,-24,101,-61r16,0v-18,47,-68,77,-117,77v-74,0,-132,-61,-132,-136v0,-73,58,-135,131,-135v64,0,121,44,121,113","w":306},"A":{"d":"104,-264r34,-9v31,83,50,175,89,251v6,7,15,9,24,10r0,12r-106,0r0,-12v12,-1,35,3,35,-16v0,-25,-15,-45,-21,-67r-92,0v-6,15,-19,45,-19,62v0,18,19,21,34,21r0,12r-92,0r0,-12v31,0,41,-30,49,-55xm154,-112r-41,-121r-40,121r81,0","w":236},"B":{"d":"81,-145v50,1,96,1,97,-55v0,-37,-32,-52,-65,-52v-53,0,-25,65,-32,107xm81,-133v7,46,-23,121,34,121v39,0,75,-14,75,-58v-1,-61,-54,-64,-109,-63xm231,-71v0,94,-126,67,-219,71r0,-12v28,0,33,-9,33,-49r0,-141v0,-40,-5,-50,-33,-50r0,-12r78,0v45,0,126,-2,126,61v1,47,-41,57,-77,65v40,1,92,20,92,67","w":246},"C":{"d":"130,-267v32,0,52,21,78,3r24,65r-9,5v-19,-26,-54,-59,-88,-59v-60,0,-77,65,-77,113v0,52,26,122,88,122v39,0,65,-27,83,-58r7,5v-19,42,-56,75,-104,75v-71,0,-115,-59,-115,-126v0,-69,45,-143,113,-145","w":246},"D":{"d":"110,0r-98,0r0,-12v29,0,33,-9,33,-49r0,-141v0,-40,-4,-50,-33,-50r0,-12v80,4,135,-14,194,26v34,24,48,61,48,102v0,88,-60,136,-144,136xm81,-206r0,145v0,39,5,49,35,49v73,0,96,-58,96,-122v0,-66,-23,-118,-96,-118v-31,0,-35,8,-35,46","w":275},"E":{"d":"165,-188r0,103r-10,0v-2,-53,-36,-47,-74,-46v8,46,-26,119,37,119v59,0,69,-15,105,-60r8,4r-26,68r-193,0r0,-12v28,0,33,-9,33,-49r0,-141v0,-40,-5,-50,-33,-50r0,-12r188,0r25,62r-9,5v-32,-42,-43,-55,-96,-55v-64,0,-31,64,-39,109v41,1,71,0,74,-45r10,0","w":236},"F":{"d":"81,-130v5,48,-20,128,40,118r0,12r-109,0r0,-12v29,0,33,-9,33,-49r0,-141v0,-40,-4,-50,-33,-50r0,-12r190,0r23,63r-8,6v-32,-43,-46,-57,-102,-57v-54,0,-28,66,-34,110v41,1,71,0,74,-45r10,0r0,103r-10,0v-2,-53,-36,-47,-74,-46","w":218,"k":{"A":8,"\u00c1":8,"\u00c4":8,",":36,".":50}},"G":{"d":"209,-269r24,67r-10,5v-18,-29,-46,-59,-83,-59v-63,0,-81,84,-81,134v0,48,26,114,84,114v41,0,52,-26,52,-63v0,-31,-9,-35,-39,-35r0,-12r102,0r0,12v-49,1,-25,59,-31,100v-30,-10,-56,10,-92,10v-76,0,-117,-59,-117,-130v0,-66,41,-141,115,-141v33,0,53,13,76,-2","w":265},"H":{"d":"81,-144r112,0v-3,-42,14,-117,-33,-108r0,-12r103,0r0,12v-30,0,-34,10,-34,50r0,141v0,40,4,49,34,49r0,12r-103,0r0,-12v49,9,29,-72,33,-115r-112,0v4,43,-16,124,33,115r0,12r-102,0r0,-12v28,0,33,-9,33,-49r0,-141v0,-40,-5,-50,-33,-50r0,-12r102,0r0,12v-47,-9,-30,66,-33,108","w":275},"I":{"d":"81,-202r0,141v0,40,5,49,34,49r0,12r-103,0r0,-12v29,0,33,-9,33,-49r0,-141v0,-40,-4,-50,-33,-50r0,-12r103,0r0,12v-29,0,-34,10,-34,50","w":123},"J":{"d":"43,29v22,0,17,-41,17,-62r0,-169v0,-40,-5,-50,-36,-50r0,-12r106,0r0,12v-30,0,-35,10,-35,50r0,147v6,55,-30,99,-78,103v-31,2,-46,-48,-11,-48v24,0,21,29,37,29","w":142},"K":{"d":"82,-125r83,-84v6,-6,20,-19,20,-28v0,-14,-18,-15,-28,-15r0,-12r100,0r0,12v-51,5,-82,58,-116,87r70,107v14,22,29,49,59,46r0,12r-111,0r0,-12v11,0,30,2,30,-10v-19,-43,-51,-78,-74,-117r-33,35v2,40,-11,102,33,92r0,12r-103,0r0,-12v30,0,34,-9,34,-49r0,-141v0,-40,-4,-50,-34,-50r0,-12r103,0r0,12v-53,-7,-27,82,-33,127","w":255},"L":{"d":"214,-71r10,5r-25,66r-187,0r0,-12v30,0,34,-9,34,-49r0,-141v0,-40,-4,-50,-34,-50r0,-12r105,0r0,12v-30,0,-35,10,-35,50r0,148v0,32,3,42,39,42v48,0,69,-19,93,-59","w":208,"k":{"V":19,"W":8,"y":-31,"Y":14}},"M":{"d":"292,-202r0,141v0,40,5,49,34,49r0,12r-104,0r0,-12v29,0,34,-9,34,-49r-1,-174r-89,235r-14,0r-89,-237r0,176v0,40,4,49,33,49r0,12r-84,0r0,-12v29,0,34,-9,34,-49r0,-141v0,-40,-5,-50,-34,-50r0,-12r78,0r79,210r79,-210r78,0r0,12v-29,0,-34,10,-34,50","w":341},"N":{"d":"75,-264r139,197r0,-135v0,-40,-5,-50,-34,-50r0,-12r84,0r0,12v-28,0,-34,10,-34,50r0,202r-12,0r-156,-219r0,158v0,40,5,49,34,49r0,12r-84,0r0,-12v29,0,34,-9,34,-49r0,-141v0,-40,-5,-50,-34,-50r0,-12r63,0","w":275},"O":{"d":"252,-130v0,70,-42,134,-117,134v-75,0,-117,-67,-117,-136v0,-68,44,-135,118,-135v75,0,116,68,116,137xm136,-256v-60,0,-76,77,-76,123v0,45,16,125,75,125v62,0,76,-76,76,-124v0,-47,-15,-124,-75,-124","w":275},"P":{"d":"82,-124v4,43,-16,121,34,112r0,12r-104,0r0,-12v30,0,34,-9,34,-49r0,-141v0,-40,-4,-50,-34,-50r0,-12v89,3,206,-22,206,69v0,69,-69,73,-136,71xm118,-252v-59,0,-29,70,-36,116v53,1,98,-3,98,-61v0,-39,-26,-55,-62,-55","w":218,"k":{"A":7,"\u00c1":7,"\u00c4":7,",":58,".":58}},"Q":{"d":"167,0v-87,22,-149,-52,-149,-129v0,-69,41,-138,117,-138v128,0,155,191,62,253v7,21,32,47,58,31r5,7v-13,10,-30,20,-47,20v-25,0,-39,-23,-46,-44xm183,-32v22,-23,28,-67,28,-98v0,-49,-14,-126,-76,-126v-60,0,-75,80,-75,126v0,27,4,60,17,84v16,-53,89,-23,106,14xm161,-14v-6,-22,-19,-49,-45,-49v-13,0,-27,9,-27,23v0,31,46,39,72,26","w":275},"R":{"d":"107,-129r-26,0v4,43,-16,126,33,117r0,12r-102,0r0,-12v28,0,33,-9,33,-49r0,-141v0,-29,2,-50,-33,-50r0,-12v87,3,202,-21,202,66v0,37,-33,62,-68,66r48,86v13,23,17,35,46,34r0,12r-60,0xm112,-252v-54,0,-23,70,-31,112v49,5,95,-10,95,-58v0,-36,-32,-54,-64,-54","w":227,"k":{"V":-5,"W":-11,"y":-17,"Y":-13,"T":-27}},"S":{"d":"94,-267v23,0,47,21,66,3r24,63r-11,6v-18,-28,-45,-61,-81,-61v-27,0,-48,21,-48,48v0,79,150,38,150,135v0,46,-35,77,-80,77v-35,0,-58,-21,-79,0r-26,-70r11,-5v22,29,55,63,92,63v28,0,53,-19,53,-49v0,-84,-147,-41,-147,-137v0,-45,31,-73,76,-73","w":199},"T":{"d":"133,-212r0,151v0,40,5,49,38,49r0,12r-111,0r0,-12v33,0,37,-9,37,-49r0,-151v0,-18,4,-40,-20,-40v-37,0,-67,28,-82,59r-9,-4r26,-67r207,0r25,67r-9,4v-15,-31,-46,-59,-82,-59v-24,0,-20,22,-20,40","w":227,"k":{"\u00f6":9,"\u00e8":9,"\u00e0":3,"y":-15,"A":3,"\u00c1":3,"\u00c4":3,",":36,".":36,"c":9,"e":9,"\u00e9":9,"o":9,"r":-10,"u":-13,"\u00fa":-13,"\u00fc":-13,"w":-15,"a":3,"\u00e1":3,"\u00e4":3,"i":-13,"\u00ed":-13,":":-15,";":-11}},"U":{"d":"143,-11v95,0,67,-108,67,-191v0,-40,-5,-50,-33,-50r0,-12r83,0r0,12v-29,0,-34,10,-34,50r0,111v0,64,-29,95,-93,95v-55,0,-91,-29,-91,-85r0,-121v0,-40,-5,-50,-32,-50r0,-12r102,0r0,12v-30,0,-35,10,-35,50v0,83,-26,191,66,191","w":265},"V":{"d":"127,0r-12,0r-74,-214v-6,-27,-19,-40,-49,-38r0,-12r110,0r0,12v-12,0,-30,0,-30,15v17,62,40,118,59,178r45,-129v4,-11,13,-35,13,-46v0,-18,-19,-16,-31,-18r0,-12r90,0r0,12v-34,-3,-45,37,-53,60","w":236,"k":{"\u00f6":30,"\u00e8":30,"\u00e0":24,"\u00e4":24,"y":2,"A":30,"\u00c1":30,"\u00c4":30,",":36,".":27,"e":30,"\u00e9":30,"o":30,"r":17,"u":14,"\u00fa":14,"\u00fc":14,"a":24,"\u00e1":24,"i":-11,"\u00ed":-11,":":7,";":7}},"W":{"d":"168,-195r-58,195r-11,0r-57,-202v-8,-29,-14,-52,-50,-50r0,-12r103,0r0,12v-10,1,-27,0,-27,14r47,171r45,-153v-5,-19,-16,-34,-37,-32r0,-12r104,0r0,12v-12,0,-32,-1,-32,15v13,59,31,113,46,170r37,-127v3,-12,9,-29,9,-40v0,-19,-21,-17,-31,-18r0,-12r93,0r0,12v-40,-2,-46,31,-55,61r-59,191r-11,0","w":341,"k":{"\u00fc":14,"\u00f6":29,"\u00e4":23,"y":2,"A":29,"\u00c1":29,"\u00c4":29,",":34,".":36,"e":29,"\u00e9":29,"\u00e8":29,"o":29,"r":17,"u":14,"\u00fa":14,"a":23,"\u00e1":23,"\u00e0":23,"i":-11,"\u00ed":-11,":":7,";":7}},"X":{"d":"126,-147r56,95v12,21,25,41,52,40r0,12r-106,0r0,-12v9,0,27,1,27,-12v-11,-34,-35,-59,-50,-89v-15,26,-40,54,-48,86v0,14,16,15,27,15r0,12r-92,0r0,-12v32,0,40,-15,56,-40r48,-76r-48,-80v-14,-25,-24,-45,-56,-44r0,-12r107,0r0,12v-6,1,-26,-1,-26,10v8,30,31,54,44,80v14,-25,35,-47,45,-76v0,-14,-17,-13,-26,-14r0,-12r88,0r0,12v-30,-1,-40,16,-55,39","w":227},"Y":{"d":"127,-128v17,-36,42,-68,54,-108v0,-17,-18,-15,-30,-16r0,-12r89,0r0,12v-30,-2,-39,22,-51,44r-52,95v3,41,-14,111,34,101r0,12r-104,0r0,-12v45,9,33,-49,35,-90r-58,-102v-11,-20,-24,-49,-52,-48r0,-12r105,0r0,12v-9,0,-31,-1,-31,13v15,42,42,74,61,111","w":227,"k":{"\u00f6":27,"A":23,"\u00c1":23,"\u00c4":23,",":20,".":20,"e":27,"\u00e9":27,"\u00e8":27,"o":27,"q":26,"u":17,"\u00fa":17,"\u00fc":17,"v":3,"a":18,"\u00e1":18,"\u00e4":18,"\u00e0":18,"i":-11,"\u00ed":-11,":":7,";":7,"p":15}},"Z":{"d":"194,-71r12,5r-26,66r-179,0r160,-252v-68,-1,-101,2,-134,57r-10,-5r23,-64r169,0r-159,252v72,4,116,-8,144,-59","w":208},"[":{"d":"81,-262r0,291r37,0r0,14r-67,0r0,-319r67,0r0,14r-37,0","w":142},"\\":{"d":"94,0r-124,-266r26,0r124,266r-26,0","w":90},"]":{"d":"64,-262r-37,0r0,-14r67,0r0,319r-67,0r0,-14r37,0r0,-291","w":142},"^":{"d":"155,-109r-63,-134r-67,134r-20,0r78,-155r17,0r75,155r-20,0"},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18"},"a":{"d":"112,-36r0,-58v-26,4,-66,21,-66,51v0,40,50,30,66,7xm19,-139v13,-61,124,-55,124,13r0,82v0,9,0,24,11,24v6,0,11,-4,15,-9r5,8v-10,26,-59,37,-62,0v-28,30,-100,39,-100,-18v0,-48,63,-60,100,-67v0,-29,4,-60,-26,-62v-34,-2,-20,45,-50,45v-10,0,-17,-6,-17,-16","w":170},"b":{"d":"65,-141r0,108v10,8,21,18,36,18v36,0,49,-47,49,-76v0,-29,-15,-70,-50,-70v-14,0,-26,10,-35,20xm62,-23v-10,8,-15,21,-29,25r0,-215v0,-31,-4,-30,-30,-32r0,-11r62,-20r0,120v13,-13,32,-24,50,-24v45,0,69,48,69,87v0,41,-25,97,-73,97v-19,0,-37,-13,-49,-27","w":199},"c":{"d":"161,-48r6,5v-17,26,-43,47,-76,47v-47,0,-81,-43,-81,-88v0,-53,37,-96,92,-96v21,0,59,13,59,38v0,10,-10,18,-20,18v-27,0,-15,-44,-50,-44v-37,0,-45,49,-45,77v0,34,19,76,59,76v24,0,41,-16,56,-33","w":170},"d":{"d":"134,-34r0,-108v-10,-10,-25,-23,-40,-23v-35,0,-45,50,-45,77v0,28,9,76,45,76v15,0,30,-12,40,-22xm134,-157v-4,-37,16,-97,-31,-88r0,-11r63,-20r0,227v0,34,0,36,24,39r0,10r-56,0r0,-21v-13,13,-30,25,-49,25v-48,0,-70,-50,-70,-91v0,-100,70,-112,119,-70","w":199},"e":{"d":"170,-99r-122,0v0,35,10,87,55,87v24,0,45,-13,59,-32r6,5v-15,25,-39,43,-69,43v-50,0,-87,-41,-87,-90v0,-46,32,-94,82,-94v45,0,76,39,76,81xm50,-113r84,0v2,-25,-9,-55,-40,-55v-31,0,-43,31,-44,55"},"f":{"d":"36,-176v-3,-47,24,-87,64,-91v24,-3,36,33,8,34v-12,0,-16,-13,-28,-13v-23,6,-9,45,-13,70r43,0r0,12r-43,0r0,115v-2,40,6,38,37,39r0,10r-103,0r0,-10v30,-1,35,0,35,-39r0,-115r-35,0r0,-12r35,0","w":104,"k":{"f":-25,"\u00df":-25}},"g":{"d":"150,29v-8,-28,-50,-23,-74,-35v-15,5,-41,13,-41,32v0,24,43,25,61,25v16,0,54,-1,54,-22xm52,-48v29,35,125,8,125,67v0,40,-55,44,-85,44v-23,0,-89,-3,-89,-36v0,-26,36,-31,54,-37v-10,-4,-37,-11,-37,-26v0,-15,19,-23,32,-26v-19,-11,-31,-32,-31,-55v0,-58,80,-82,121,-46v12,-16,53,-32,55,1v0,9,-5,17,-14,17v-14,0,-21,-22,-35,-11v44,51,-18,127,-86,99v-4,1,-10,4,-10,9xm129,-113v0,-21,-10,-55,-36,-55v-51,0,-52,103,1,104v27,0,35,-27,35,-49","w":199},"h":{"d":"66,-137r0,88v0,34,1,36,25,39r0,10r-81,0r0,-10v24,-3,25,-5,25,-39r0,-164v0,-31,-5,-30,-31,-32r0,-11r62,-20r0,124v16,-15,42,-28,64,-28v61,-1,45,75,45,131v0,34,0,36,24,39r0,10r-79,0r0,-10v43,4,24,-69,24,-105v0,-25,-6,-46,-30,-46v-19,0,-35,12,-48,24","w":208},"i":{"d":"64,-183r0,134v0,34,1,36,25,39r0,10r-81,0r0,-11v45,1,16,-78,24,-116v-1,-19,-1,-26,-23,-26r0,-8xm67,-243v0,13,-10,23,-23,23v-13,0,-25,-10,-25,-23v0,-13,11,-24,24,-24v13,0,24,11,24,24","w":94},"j":{"d":"63,-26v6,44,-12,95,-55,93v-12,0,-26,-6,-26,-21v0,-10,9,-19,19,-19v19,0,14,23,24,23v9,0,7,-14,7,-20r0,-157v0,-19,-2,-26,-23,-26r0,-8r54,-22r0,157xm65,-243v0,13,-11,23,-24,23v-13,0,-24,-10,-24,-23v0,-13,11,-24,24,-24v13,0,24,11,24,24","w":85},"k":{"d":"65,-84v19,-23,48,-40,61,-69v0,-9,-7,-13,-19,-13r0,-10r84,0r0,10v-38,2,-55,36,-80,55r51,74v10,15,19,27,38,27r0,10r-86,0r0,-10v27,2,17,-21,8,-33r-33,-47v-10,12,-24,15,-24,41v0,34,0,36,25,39r0,10r-81,0r0,-10v24,-3,24,-5,24,-39r0,-164v0,-31,-4,-30,-30,-32r0,-11r62,-20r0,192","w":199},"l":{"d":"35,-49r0,-164v0,-31,-5,-30,-31,-32r0,-11r62,-20r0,227v0,34,0,36,25,39r0,10r-81,0r0,-10v24,-3,25,-5,25,-39","w":94},"m":{"d":"228,-180v56,-2,46,71,46,131v0,34,0,36,24,39r0,10r-80,0r0,-10v43,4,25,-67,25,-104v0,-19,0,-47,-27,-47v-19,0,-35,13,-47,26r0,86v0,34,1,36,25,39r0,10r-81,0r0,-10v43,4,25,-67,25,-104v0,-19,-1,-47,-28,-47v-19,0,-35,13,-46,26r0,86v0,34,1,36,25,39r0,10r-81,0r0,-10v24,-3,24,-5,24,-39r0,-78v-1,-19,-1,-26,-23,-26r0,-8r55,-22r0,36v22,-35,88,-49,103,0v17,-17,35,-33,61,-33","w":303},"n":{"d":"121,-180v57,0,46,71,46,131v0,34,0,36,24,39r0,10r-80,0r0,-10v43,4,24,-65,24,-102v0,-22,-2,-49,-30,-49v-16,0,-30,13,-41,24r0,88v0,34,0,36,24,39r0,10r-80,0r0,-10v24,-3,24,-5,24,-39r0,-78v-1,-19,-1,-26,-23,-26r0,-8r55,-22r0,31v14,-15,37,-28,57,-28","w":199},"o":{"d":"93,4v-46,0,-80,-45,-80,-89v0,-47,31,-95,82,-95v50,0,80,49,80,95v0,46,-34,89,-82,89xm93,-8v37,0,46,-56,46,-84v0,-26,-9,-76,-44,-76v-36,0,-45,47,-45,75v0,26,8,85,43,85","w":189},"p":{"d":"61,-143r0,111v10,10,24,20,39,20v39,0,47,-48,47,-79v0,-31,-10,-74,-48,-74v-13,0,-30,13,-38,22xm61,-18v3,31,-11,77,24,71r0,10r-80,0r0,-10v24,-3,25,-5,25,-39r0,-141v-1,-19,-2,-26,-24,-26r0,-8r55,-22r0,26v15,-13,31,-23,51,-23v95,0,91,181,-5,184v-18,0,-34,-10,-46,-22","w":189},"q":{"d":"137,-157v12,-9,17,-25,32,-31r0,202v0,34,0,36,25,39r0,10r-82,0r0,-10v37,4,22,-39,25,-72v-15,13,-32,23,-52,23v-98,-5,-94,-180,2,-184v19,0,37,9,50,23xm96,-12v18,0,28,-12,41,-21r0,-110v-10,-9,-24,-18,-38,-18v-38,0,-51,40,-51,71v0,31,9,78,48,78","w":199},"r":{"d":"63,-124r0,75v0,34,0,36,24,39r0,10r-79,0r0,-10v24,-3,23,-5,23,-39r0,-78v-1,-19,-1,-26,-23,-26r0,-8r55,-22r0,43v14,-17,35,-43,59,-43v12,0,22,8,22,21v0,29,-32,19,-48,11v-13,0,-27,17,-33,27","w":142,"k":{"y":-30,"f":-24,"\u00df":-24,",":24,".":24,"c":-4,"d":-6,"e":-4,"\u00e9":-4,"\u00e8":-4,"g":-2,"h":-6,"m":-10,"n":-17,"o":-4,"\u00f6":-4,"q":-5,"r":-17,"t":-24,"u":-20,"\u00fa":-20,"\u00fc":-20,"v":-30,"w":-30,"x":-28,"z":-4}},"s":{"d":"154,-50v0,46,-56,65,-96,46v-8,0,-15,3,-21,8r-22,-61r8,-4v14,23,47,53,74,53v17,0,32,-12,32,-29v0,-46,-112,-27,-112,-92v0,-46,52,-59,92,-45v7,0,12,-4,16,-9r21,59r-8,5v-18,-23,-40,-49,-69,-49v-14,0,-28,9,-28,24v0,44,113,28,113,94","w":161},"t":{"d":"30,-164r-27,0r0,-9v27,-11,43,-39,46,-66r12,0r0,63r51,0r0,12r-51,0r0,109v0,16,-1,40,21,40v14,0,22,-9,31,-18r7,7v-14,15,-32,30,-54,30v-32,0,-36,-26,-36,-52r0,-116","w":111},"u":{"d":"76,4v-56,2,-48,-70,-48,-131v0,-19,-1,-26,-23,-26r0,-8r55,-22r0,130v0,19,8,38,30,38v18,0,31,-15,43,-26r0,-86v-1,-19,-2,-26,-24,-26r0,-8r56,-22r0,134v0,34,-1,36,24,39r0,10r-56,0r0,-26v-15,15,-35,30,-57,30","w":199},"v":{"d":"91,-45v12,-35,29,-65,37,-103v0,-14,-12,-18,-24,-18r0,-10r72,0r0,10v-23,-3,-27,25,-33,39r-51,127r-17,0r-54,-138v-5,-13,-9,-28,-26,-28r0,-10r80,0r0,10v-20,-3,-25,16,-18,34","w":170,"k":{",":28,".":28}},"w":{"d":"130,-114r-43,114r-10,0r-47,-130v-6,-17,-11,-38,-33,-36r0,-10r73,0r0,10v-14,-1,-18,11,-13,24r32,91r33,-89v-6,-17,-14,-26,-31,-26r0,-10r76,0r0,10v-14,-2,-22,9,-16,25r31,87r33,-87v7,-18,-11,-25,-25,-25r0,-10r71,0r0,10v-21,-1,-28,23,-34,39r-46,127r-11,0","w":255,"k":{",":24,".":24}},"x":{"d":"106,-94v27,27,43,74,85,84r0,10r-83,0r0,-10v5,0,17,0,17,-8v-9,-19,-27,-35,-39,-52v-10,15,-26,28,-32,47v0,12,15,13,24,13r0,10r-79,0r0,-10v37,-8,54,-49,77,-73v-26,-26,-42,-69,-79,-83r0,-10r86,0r0,10v-29,-4,-20,24,-7,33r20,25v10,-15,26,-27,31,-46v0,-12,-12,-12,-21,-12r0,-10r76,0r0,10v-40,3,-52,49,-76,72","w":189},"y":{"d":"94,-45v12,-35,38,-65,38,-105v0,-14,-16,-16,-26,-16r0,-10r77,0r0,10v-28,-2,-35,30,-43,49r-51,129v-10,26,-23,55,-55,55v-28,0,-39,-41,-9,-42v14,0,18,14,27,14v15,0,21,-31,26,-42r-51,-130v-7,-17,-11,-33,-32,-33r0,-10r81,0r0,10v-18,-3,-26,13,-17,28","k":{",":25,".":36}},"z":{"d":"158,-59r-21,59r-136,0r117,-166v-49,-2,-73,12,-92,50r-10,-5r21,-55r126,0r-117,166v54,2,79,-10,101,-54","w":161},"{":{"d":"50,-120v51,10,36,62,36,113v0,23,9,35,32,43v-75,7,-60,-54,-60,-115v0,-24,-8,-34,-32,-41v79,-8,-23,-171,92,-155v-75,7,14,140,-68,155","w":142},"|":{"d":"32,90r0,-360r26,0r0,360r-26,0","w":90},"}":{"d":"91,-121v-52,-9,-36,-62,-36,-113v0,-23,-10,-34,-33,-42v75,-7,60,54,60,115v0,24,9,33,33,40v-80,8,22,171,-93,156v76,-8,-13,-139,69,-156","w":142},"~":{"d":"57,-120v20,0,50,25,69,25v14,0,22,-13,28,-26r14,11v-14,39,-51,45,-84,21v-23,-17,-50,-8,-59,19r-13,-11v11,-21,23,-39,45,-39"},"\u00a7":{"d":"41,-15v23,1,17,28,12,45v7,45,86,31,86,-14v0,-58,-117,-61,-117,-127v0,-26,16,-39,37,-51v-15,-13,-26,-29,-26,-49v0,-37,33,-56,66,-56v26,0,63,17,63,47v0,12,-7,23,-20,23v-17,-1,-18,-21,-12,-36v-6,-39,-75,-28,-75,11v0,50,109,58,109,121v0,22,-13,39,-30,51v17,13,30,32,30,55v-1,78,-141,84,-143,6v0,-12,6,-26,20,-26xm45,-125v0,35,53,51,78,68v8,-9,16,-17,16,-30v0,-35,-51,-50,-73,-69v-10,6,-21,19,-21,31"},"'":{"d":"30,-132r-7,-97v-1,-12,-4,-38,14,-38v18,0,17,26,16,38r-11,97v0,4,0,14,-6,14v-6,0,-6,-10,-6,-14","w":75},"`":{"d":"39,-267v27,7,23,48,36,70v-12,8,-15,-13,-22,-19v-5,-11,-45,-47,-14,-51","w":104},"\u00b4":{"d":"41,-197r17,-50v1,-16,24,-29,31,-11v-6,20,-31,47,-42,64","w":104},"\u00df":{"d":"135,-169v12,39,62,68,62,114v0,33,-28,59,-61,59v-24,0,-54,-17,-54,-44v0,-9,8,-18,17,-18v32,1,4,50,41,50v17,0,29,-16,29,-32v0,-42,-64,-87,-64,-115v0,-22,34,-31,34,-63v0,-18,-12,-38,-35,-38v-39,0,-41,49,-41,76r0,180r-55,0r0,-10v24,-3,24,-5,24,-39v0,-95,-26,-221,77,-218v29,0,62,11,62,42v0,25,-33,38,-36,56","w":208},"\u00b0":{"d":"133,-207v0,30,-24,54,-54,54v-30,0,-54,-24,-54,-54v0,-30,24,-54,54,-54v30,0,54,24,54,54xm40,-207v0,22,17,39,39,39v22,0,39,-17,39,-39v0,-22,-17,-39,-39,-39v-22,0,-39,17,-39,39"},"\u00c1":{"d":"104,-264r34,-9v31,83,50,175,89,251v6,7,15,9,24,10r0,12r-106,0r0,-12v12,-1,35,3,35,-16v0,-25,-15,-45,-21,-67r-92,0v-6,15,-19,45,-19,62v0,18,19,21,34,21r0,12r-92,0r0,-12v31,0,41,-30,49,-55xm154,-112r-41,-121r-40,121r81,0xm108,-285r17,-49v0,-17,23,-30,31,-12v-6,20,-32,46,-42,64","w":236},"\u00c4":{"d":"104,-264r34,-9v31,83,50,175,89,251v6,7,15,9,24,10r0,12r-106,0r0,-12v12,-1,35,3,35,-16v0,-25,-15,-45,-21,-67r-92,0v-6,15,-19,45,-19,62v0,18,19,21,34,21r0,12r-92,0r0,-12v31,0,41,-30,49,-55xm154,-112r-41,-121r-40,121r81,0xm99,-309v0,11,-8,20,-19,20v-11,0,-20,-9,-20,-20v0,-11,8,-20,19,-20v12,0,20,8,20,20xm179,-309v0,11,-9,20,-20,20v-11,0,-19,-9,-19,-20v0,-11,8,-20,19,-20v12,0,20,8,20,20","w":236},"\u00c9":{"d":"165,-188r0,103r-10,0v-2,-53,-36,-47,-74,-46v8,46,-26,119,37,119v59,0,69,-15,105,-60r8,4r-26,68r-193,0r0,-12v28,0,33,-9,33,-49r0,-141v0,-40,-5,-50,-33,-50r0,-12r188,0r25,62r-9,5v-32,-42,-43,-55,-96,-55v-64,0,-31,64,-39,109v41,1,71,0,74,-45r10,0xm108,-292r17,-49v0,-17,23,-30,31,-12v-6,20,-32,46,-42,64","w":236},"\u00cd":{"d":"81,-202r0,141v0,40,5,49,34,49r0,12r-103,0r0,-12v29,0,33,-9,33,-49r0,-141v0,-40,-4,-50,-33,-50r0,-12r103,0r0,12v-29,0,-34,10,-34,50xm51,-285r17,-49v0,-17,23,-30,31,-12v-6,20,-32,46,-42,64","w":123},"\u00d6":{"d":"252,-130v0,70,-42,134,-117,134v-75,0,-117,-67,-117,-136v0,-68,44,-135,118,-135v75,0,116,68,116,137xm136,-256v-60,0,-76,77,-76,123v0,45,16,125,75,125v62,0,76,-76,76,-124v0,-47,-15,-124,-75,-124xm118,-309v0,11,-8,20,-19,20v-11,0,-20,-9,-20,-20v0,-11,8,-20,19,-20v12,0,20,8,20,20xm198,-309v0,11,-8,20,-19,20v-11,0,-20,-9,-20,-20v0,-11,8,-20,19,-20v12,0,20,8,20,20","w":275},"\u00dc":{"d":"143,-11v95,0,67,-108,67,-191v0,-40,-5,-50,-33,-50r0,-12r83,0r0,12v-29,0,-34,10,-34,50r0,111v0,64,-29,95,-93,95v-55,0,-91,-29,-91,-85r0,-121v0,-40,-5,-50,-32,-50r0,-12r102,0r0,12v-30,0,-35,10,-35,50v0,83,-26,191,66,191xm114,-309v0,11,-9,20,-20,20v-11,0,-20,-9,-20,-20v0,-11,9,-20,20,-20v12,0,20,8,20,20xm194,-309v0,11,-9,20,-20,20v-11,0,-20,-9,-20,-20v0,-11,9,-20,20,-20v12,0,20,8,20,20","w":265},"\u00e1":{"d":"112,-36r0,-58v-26,4,-66,21,-66,51v0,40,50,30,66,7xm19,-139v13,-61,124,-55,124,13r0,82v0,9,0,24,11,24v6,0,11,-4,15,-9r5,8v-10,26,-59,37,-62,0v-28,30,-100,39,-100,-18v0,-48,63,-60,100,-67v0,-29,4,-60,-26,-62v-34,-2,-20,45,-50,45v-10,0,-17,-6,-17,-16xm75,-197r16,-50v1,-16,24,-29,31,-11v-6,20,-31,46,-41,64","w":170},"\u00e4":{"d":"112,-36r0,-58v-26,4,-66,21,-66,51v0,40,50,30,66,7xm19,-139v13,-61,124,-55,124,13r0,82v0,9,0,24,11,24v6,0,11,-4,15,-9r5,8v-10,26,-59,37,-62,0v-28,30,-100,39,-100,-18v0,-48,63,-60,100,-67v0,-29,4,-60,-26,-62v-34,-2,-20,45,-50,45v-10,0,-17,-6,-17,-16xm66,-221v0,11,-9,19,-20,19v-11,0,-19,-8,-19,-19v0,-11,8,-21,19,-21v12,0,20,9,20,21xm146,-221v0,11,-9,19,-20,19v-11,0,-19,-8,-19,-19v0,-11,8,-21,19,-21v12,0,20,9,20,21","w":170},"\u00e0":{"d":"112,-36r0,-58v-26,4,-66,21,-66,51v0,40,50,30,66,7xm19,-139v13,-61,124,-55,124,13r0,82v0,9,0,24,11,24v6,0,11,-4,15,-9r5,8v-10,26,-59,37,-62,0v-28,30,-100,39,-100,-18v0,-48,63,-60,100,-67v0,-29,4,-60,-26,-62v-34,-2,-20,45,-50,45v-10,0,-17,-6,-17,-16xm65,-275v27,8,23,49,36,71v-11,7,-14,-14,-22,-20v-5,-11,-45,-47,-14,-51","w":170},"\u00e9":{"d":"170,-99r-122,0v0,35,10,87,55,87v24,0,45,-13,59,-32r6,5v-15,25,-39,43,-69,43v-50,0,-87,-41,-87,-90v0,-46,32,-94,82,-94v45,0,76,39,76,81xm50,-113r84,0v2,-25,-9,-55,-40,-55v-31,0,-43,31,-44,55xm79,-197r17,-50v1,-16,24,-29,31,-11v-6,20,-31,47,-42,64"},"\u00e8":{"d":"170,-99r-122,0v0,35,10,87,55,87v24,0,45,-13,59,-32r6,5v-15,25,-39,43,-69,43v-50,0,-87,-41,-87,-90v0,-46,32,-94,82,-94v45,0,76,39,76,81xm50,-113r84,0v2,-25,-9,-55,-40,-55v-31,0,-43,31,-44,55xm77,-275v27,8,23,49,36,71v-11,7,-14,-14,-22,-20v-5,-11,-45,-47,-14,-51"},"\u00ed":{"d":"63,-183r0,134v0,34,1,36,25,39r0,10r-80,0r0,-11v45,1,16,-78,24,-116v-1,-19,-1,-26,-23,-26r0,-8xm36,-197r17,-50v1,-16,24,-29,31,-11v-6,20,-31,47,-42,64","w":94},"\u00f6":{"d":"93,4v-46,0,-80,-45,-80,-89v0,-47,31,-95,82,-95v50,0,80,49,80,95v0,46,-34,89,-82,89xm93,-8v37,0,46,-56,46,-84v0,-26,-9,-76,-44,-76v-36,0,-45,47,-45,75v0,26,8,85,43,85xm76,-221v0,11,-9,19,-20,19v-11,0,-20,-8,-20,-19v0,-11,9,-21,20,-21v12,0,20,9,20,21xm156,-221v0,11,-9,19,-20,19v-11,0,-20,-8,-20,-19v0,-11,9,-21,20,-21v12,0,20,9,20,21","w":189},"\u00fa":{"d":"76,4v-56,2,-48,-70,-48,-131v0,-19,-1,-26,-23,-26r0,-8r55,-22r0,130v0,19,8,38,30,38v18,0,31,-15,43,-26r0,-86v-1,-19,-2,-26,-24,-26r0,-8r56,-22r0,134v0,34,-1,36,24,39r0,10r-56,0r0,-26v-15,15,-35,30,-57,30xm89,-197r16,-50v1,-16,24,-29,31,-11v-6,20,-31,46,-41,64","w":199},"\u00fc":{"d":"76,4v-56,2,-48,-70,-48,-131v0,-19,-1,-26,-23,-26r0,-8r55,-22r0,130v0,19,8,38,30,38v18,0,31,-15,43,-26r0,-86v-1,-19,-2,-26,-24,-26r0,-8r56,-22r0,134v0,34,-1,36,24,39r0,10r-56,0r0,-26v-15,15,-35,30,-57,30xm81,-221v0,11,-9,19,-20,19v-11,0,-20,-8,-20,-19v0,-11,8,-21,19,-21v12,0,21,9,21,21xm161,-221v0,11,-9,19,-20,19v-11,0,-20,-8,-20,-19v0,-11,8,-21,19,-21v12,0,21,9,21,21","w":199},"\u20ac":{"d":"166,-212r-7,0v-3,-23,-19,-34,-42,-34v-36,0,-50,34,-54,92r86,0r-5,13r-81,0r-1,24r73,0r-5,14r-67,0v3,60,22,92,55,92v20,0,37,-9,41,-34r7,0r-1,28v-9,12,-23,21,-54,21v-51,0,-77,-36,-81,-107r-24,0r5,-14r17,0r0,-24r-22,0r5,-13r18,0v6,-70,28,-107,82,-107v45,0,58,9,55,49"},"\u00a0":{"w":90}}});


/* Cufón Configuration */

	Cufon.replace('h1', { fontFamily: 'ChopinScript', fontSize: '31px' });
	Cufon.replace('h2', { fontFamily: 'Century Old Style Std', fontSize: '18px' });
	Cufon.replace('.p-price', { fontFamily: 'Century Old Style Std', fontSize: '17px' });
	Cufon.replace('#abm .p-price', { fontFamily: 'Century Old Style Std', fontSize: '15px' });
	//Cufon.replace('.object .item .price span', { fontFamily: 'Century Old Style Std', fontSize: '17px' });
	Cufon.replace('.subnavTeaser li a', { fontFamily: 'Century Old Style Std', fontSize: '15px' });
	Cufon.replace('.related dt', { fontFamily: 'Century Old Style Std', fontSize: '15px' });

// ColorBox v1.3.16 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+
// Copyright (c) 2011 Jack Moore - jack@colorpowered.com
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
(function(a,b,c){function ba(b){if(!T){O=b,Z(a.extend(J,a.data(O,e))),x=a(O),P=0,J.rel!=="nofollow"&&(x=a("."+V).filter(function(){var b=a.data(this,e).rel||this.rel;return b===J.rel}),P=x.index(O),P===-1&&(x=x.add(O),P=x.length-1));if(!R){R=S=!0,q.show();if(J.returnFocus)try{O.blur(),a(O).one(k,function(){try{this.focus()}catch(a){}})}catch(c){}p.css({opacity:+J.opacity,cursor:J.overlayClose?"pointer":"auto"}).show(),J.w=X(J.initialWidth,"x"),J.h=X(J.initialHeight,"y"),U.position(0),n&&y.bind("resize."+o+" scroll."+o,function(){p.css({width:y.width(),height:y.height(),top:y.scrollTop(),left:y.scrollLeft()})}).trigger("resize."+o),$(g,J.onOpen),I.add(C).hide(),H.html(J.close).show()}U.load(!0)}}function _(){var a,b=f+"Slideshow_",c="click."+f,d,e,g;J.slideshow&&x[1]&&(d=function(){E.text(J.slideshowStop).unbind(c).bind(i,function(){if(P<x.length-1||J.loop)a=setTimeout(U.next,J.slideshowSpeed)}).bind(h,function(){clearTimeout(a)}).one(c+" "+j,e),q.removeClass(b+"off").addClass(b+"on"),a=setTimeout(U.next,J.slideshowSpeed)},e=function(){clearTimeout(a),E.text(J.slideshowStart).unbind([i,h,j,c].join(" ")).one(c,d),q.removeClass(b+"on").addClass(b+"off")},J.slideshowAuto?d():e())}function $(b,c){c&&c.call(O),a.event.trigger(b)}function Z(b){for(var c in b)a.isFunction(b[c])&&c.substring(0,2)!=="on"&&(b[c]=b[c].call(O));b.rel=b.rel||O.rel||"nofollow",b.href=a.trim(b.href||a(O).attr("href")),b.title=b.title||O.title}function Y(a){return J.photo||/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(a)}function X(a,b){b=b==="x"?y.width():y.height();return typeof a=="string"?Math.round(/%/.test(a)?b/100*parseInt(a,10):parseInt(a,10)):a}function W(c,d){var e=b.createElement("div");c&&(e.id=f+c),e.style.cssText=d||!1;return a(e)}var d={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:!1,returnFocus:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0},e="colorbox",f="cbox",g=f+"_open",h=f+"_load",i=f+"_complete",j=f+"_cleanup",k=f+"_closed",l=f+"_purge",m=a.browser.msie&&!a.support.opacity,n=m&&a.browser.version<7,o=f+"_IE6",p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J={},K,L,M,N,O,P,Q,R,S,T=!1,U,V=f+"Element";U=a.fn[e]=a[e]=function(b,c){var f=this,g;if(!f[0]&&f.selector)return f;b=b||{},c&&(b.onComplete=c);if(!f[0]||f.selector===undefined)f=a("<a/>"),b.open=!0;f.each(function(){a.data(this,e,a.extend({},a.data(this,e)||d,b)),a(this).addClass(V)}),g=b.open,a.isFunction(g)&&(g=g.call(f)),g&&ba(f[0]);return f},U.init=function(){y=a(c),q=W().attr({id:e,"class":m?f+(n?"IE6":"IE"):""}),p=W("Overlay",n?"position:absolute":"").hide(),r=W("Wrapper"),s=W("Content").append(z=W("LoadedContent","width:0; height:0; overflow:hidden"),B=W("LoadingOverlay").add(W("LoadingGraphic")),C=W("Title"),D=W("Current"),F=W("Next"),G=W("Previous"),E=W("Slideshow").bind(g,_),H=W("Close")),r.append(W().append(W("TopLeft"),t=W("TopCenter"),W("TopRight")),W(!1,"clear:left").append(u=W("MiddleLeft"),s,v=W("MiddleRight")),W(!1,"clear:left").append(W("BottomLeft"),w=W("BottomCenter"),W("BottomRight"))).children().children().css({"float":"left"}),A=W(!1,"position:absolute; width:9999px; visibility:hidden; display:none"),a("body").prepend(p,q.append(r,A)),s.children().hover(function(){a(this).addClass("hover")},function(){a(this).removeClass("hover")}).addClass("hover"),K=t.height()+w.height()+s.outerHeight(!0)-s.height(),L=u.width()+v.width()+s.outerWidth(!0)-s.width(),M=z.outerHeight(!0),N=z.outerWidth(!0),q.css({"padding-bottom":K,"padding-right":L}).hide(),F.click(function(){U.next()}),G.click(function(){U.prev()}),H.click(function(){U.close()}),I=F.add(G).add(D).add(E),s.children().removeClass("hover"),a("."+V).live("click",function(a){a.button!==0&&typeof a.button!="undefined"||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),ba(this))}),p.click(function(){J.overlayClose&&U.close()}),a(b).bind("keydown."+f,function(a){var b=a.keyCode;R&&J.escKey&&b===27&&(a.preventDefault(),U.close()),R&&J.arrowKey&&x[1]&&(b===37?(a.preventDefault(),G.click()):b===39&&(a.preventDefault(),F.click()))})},U.remove=function(){q.add(p).remove(),a("."+V).die("click").removeData(e).removeClass(V)},U.position=function(a,c){function g(a){t[0].style.width=w[0].style.width=s[0].style.width=a.style.width,B[0].style.height=B[1].style.height=s[0].style.height=u[0].style.height=v[0].style.height=a.style.height}var d,e=Math.max(b.documentElement.clientHeight-J.h-M-K,0)/2+y.scrollTop(),f=Math.max(y.width()-J.w-N-L,0)/2+y.scrollLeft();d=q.width()===J.w+N&&q.height()===J.h+M?0:a,r[0].style.width=r[0].style.height="9999px",q.dequeue().animate({width:J.w+N,height:J.h+M,top:e,left:f},{duration:d,complete:function(){g(this),S=!1,r[0].style.width=J.w+N+L+"px",r[0].style.height=J.h+M+K+"px",c&&c()},step:function(){g(this)}})},U.resize=function(a){if(R){a=a||{},a.width&&(J.w=X(a.width,"x")-N-L),a.innerWidth&&(J.w=X(a.innerWidth,"x")),z.css({width:J.w}),a.height&&(J.h=X(a.height,"y")-M-K),a.innerHeight&&(J.h=X(a.innerHeight,"y"));if(!a.innerHeight&&!a.height){var b=z.wrapInner("<div style='overflow:auto'></div>").children();J.h=b.height(),b.replaceWith(b.children())}z.css({height:J.h}),U.position(J.transition==="none"?0:J.speed)}},U.prep=function(b){function h(b){U.position(b,function(){var b,d,g,h,j=x.length,k,n;!R||(n=function(){B.hide(),$(i,J.onComplete)},m&&Q&&z.fadeIn(100),C.html(J.title).add(z).show(),j>1?(typeof J.current=="string"&&D.html(J.current.replace(/\{current\}/,P+1).replace(/\{total\}/,j)).show(),F[J.loop||P<j-1?"show":"hide"]().html(J.next),G[J.loop||P?"show":"hide"]().html(J.previous),b=P?x[P-1]:x[j-1],g=P<j-1?x[P+1]:x[0],J.slideshow&&E.show(),J.preloading&&(h=a.data(g,e).href||g.href,d=a.data(b,e).href||b.href,h=a.isFunction(h)?h.call(g):h,d=a.isFunction(d)?d.call(b):d,Y(h)&&(a("<img/>")[0].src=h),Y(d)&&(a("<img/>")[0].src=d))):I.hide(),J.iframe?(k=a("<iframe/>").addClass(f+"Iframe")[0],J.fastIframe?n():a(k).load(n),k.name=f+ +(new Date),k.src=J.href,J.scrolling||(k.scrolling="no"),m&&(k.frameBorder=0,k.allowTransparency="true"),a(k).appendTo(z).one(l,function(){k.src="//about:blank"})):n(),J.transition==="fade"?q.fadeTo(c,1,function(){q[0].style.filter=""}):q[0].style.filter="",y.bind("resize."+f,function(){U.position(0)}))})}function g(){J.h=J.h||z.height(),J.h=J.mh&&J.mh<J.h?J.mh:J.h;return J.h}function d(){J.w=J.w||z.width(),J.w=J.mw&&J.mw<J.w?J.mw:J.w;return J.w}if(!!R){var c=J.transition==="none"?0:J.speed;y.unbind("resize."+f),z.remove(),z=W("LoadedContent").html(b),z.hide().appendTo(A.show()).css({width:d(),overflow:J.scrolling?"auto":"hidden"}).css({height:g()}).prependTo(s),A.hide(),a(Q).css({"float":"none"}),n&&a("select").not(q.find("select")).filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one(j,function(){this.style.visibility="inherit"}),J.transition==="fade"?q.fadeTo(c,0,function(){h(0)}):h(c)}},U.load=function(b){var c,d,g=U.prep;S=!0,Q=!1,O=x[P],b||Z(a.extend(J,a.data(O,e))),$(l),$(h,J.onLoad),J.h=J.height?X(J.height,"y")-M-K:J.innerHeight&&X(J.innerHeight,"y"),J.w=J.width?X(J.width,"x")-N-L:J.innerWidth&&X(J.innerWidth,"x"),J.mw=J.w,J.mh=J.h,J.maxWidth&&(J.mw=X(J.maxWidth,"x")-N-L,J.mw=J.w&&J.w<J.mw?J.w:J.mw),J.maxHeight&&(J.mh=X(J.maxHeight,"y")-M-K,J.mh=J.h&&J.h<J.mh?J.h:J.mh),c=J.href,B.show(),J.inline?(W().hide().insertBefore(a(c)[0]).one(l,function(){a(this).replaceWith(z.children())}),g(a(c))):J.iframe?g(" "):J.html?g(J.html):Y(c)?(a(Q=new Image).addClass(f+"Photo").error(function(){J.title=!1,g(W("Error").text("This image could not be loaded"))}).load(function(){var a;Q.onload=null,J.scalePhotos&&(d=function(){Q.height-=Q.height*a,Q.width-=Q.width*a},J.mw&&Q.width>J.mw&&(a=(Q.width-J.mw)/Q.width,d()),J.mh&&Q.height>J.mh&&(a=(Q.height-J.mh)/Q.height,d())),J.h&&(Q.style.marginTop=Math.max(J.h-Q.height,0)/2+"px"),x[1]&&(P<x.length-1||J.loop)&&(Q.style.cursor="pointer",Q.onclick=function(){U.next()}),m&&(Q.style.msInterpolationMode="bicubic"),setTimeout(function(){g(Q)},1)}),setTimeout(function(){Q.src=c},1)):c&&A.load(c,function(b,c,d){g(c==="error"?W("Error").text("Request unsuccessful: "+d.statusText):a(this).contents())})},U.next=function(){!S&&x[1]&&(P<x.length-1||J.loop)&&(P=P<x.length-1?P+1:0,U.load())},U.prev=function(){!S&&x[1]&&(P||J.loop)&&(P=P?P-1:x.length-1,U.load())},U.close=function(){R&&!T&&(T=!0,R=!1,$(j,J.onCleanup),y.unbind("."+f+" ."+o),p.fadeTo(200,0),q.stop().fadeTo(300,0,function(){q.add(p).css({opacity:1,cursor:"auto"}).hide(),$(l),z.remove(),setTimeout(function(){T=!1,$(k,J.onClosed)},1)}))},U.element=function(){return a(O)},U.settings=d,a(U.init)})(jQuery,document,this);

$(document).ready(function(){
	$("a[rel='cbox_example4']").colorbox({slideshow:false, slideshowSpeed:4500});

	$(".panos").colorbox({iframe:true, innerWidth:870, innerHeight:620});
	$(".agblink").colorbox({iframe:true, innerWidth:870, innerHeight:620});
});

/*
 * 	Easy Slider 1.7 - jQuery plugin
 *	written by Alen Grakalic	
 *	http://cssglobe.com/post/4004/easy-slider-15-the-easiest-jquery-plugin-for-sliding
 *
 *	Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
 *	Dual licensed under the MIT (MIT-LICENSE.txt)
 *	and GPL (GPL-LICENSE.txt) licenses.
 *
 *	Built for jQuery library
 *	http://jquery.com
 *
 */
 

(function($) {

	$.fn.easySlider = function(options){
	  
		// default configuration properties
		var defaults = {			
			prevId: 		'prevBtn',
			prevText: 		'Previous',
			nextId: 		'nextBtn',	
			nextText: 		'Next',
			controlsShow:	false,
			controlsBefore:	'',
			controlsAfter:	'',	
			controlsFade:	true,
			firstId: 		'firstBtn',
			firstText: 		'First',
			firstShow:		false,
			lastId: 		'lastBtn',	
			lastText: 		'Last',
			lastShow:		false,				
			vertical:		false,
			speed: 			800,
			auto:			true,
			pause:			5000,
			continuous:		true, 
			numeric: 		false,
			numericId: 		'controls'
		}; 
		
		var options = $.extend(defaults, options);  
				
		this.each(function() {  
			var obj = $(this); 				
			var s = $("li", obj).length;
			var w = $("li", obj).width(); 
			var h = $("li", obj).height(150); 
			var clickable = true;
			obj.width(w); 
			obj.height(h); 
			obj.css("overflow","hidden");
			var ts = s-1;
			var t = 0;
			$("ul", obj).css('width',s*w);			
			
			if(options.continuous){
				$("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px"));
				$("ul", obj).append($("ul li:nth-child(2)", obj).clone());
				$("ul", obj).css('width',(s+1)*w);
			};				
			
			if(!options.vertical) $("li", obj).css('float','left');
								
			if(options.controlsShow){
				var html = options.controlsBefore;				
				if(options.numeric){
					html += '<ol id="'+ options.numericId +'"></ol>';
				} else {
					if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
					html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
					html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
					if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';				
				};
				
				html += options.controlsAfter;						
				$(obj).after(html);										
			};
			
			if(options.numeric){									
				for(var i=0;i<s;i++){						
					$(document.createElement("li"))
						.attr('id',options.numericId + (i+1))
						.html('<a rel='+ i +' href=\"javascript:void(0);\">'+ (i+1) +'</a>')
						.appendTo($("#"+ options.numericId))
						.click(function(){							
							animate($("a",$(this)).attr('rel'),true);
						}); 												
				};							
			} else {
				$("a","#"+options.nextId).click(function(){		
					animate("next",true);
				});
				$("a","#"+options.prevId).click(function(){		
					animate("prev",true);				
				});	
				$("a","#"+options.firstId).click(function(){		
					animate("first",true);
				});				
				$("a","#"+options.lastId).click(function(){		
					animate("last",true);				
				});				
			};
			
			function setCurrent(i){
				i = parseInt(i)+1;
				$("li", "#" + options.numericId).removeClass("current");
				$("li#" + options.numericId + i).addClass("current");
			};
			
			function adjust(){
				if(t>ts) t=0;		
				if(t<0) t=ts;	
				if(!options.vertical) {
					$("ul",obj).css("margin-left",(t*w*-1));
				} else {
					$("ul",obj).css("margin-left",(t*h*-1));
				}
				clickable = true;
				if(options.numeric) setCurrent(t);
			};
			
			function animate(dir,clicked){
				if (clickable){
					clickable = false;
					var ot = t;				
					switch(dir){
						case "next":
							t = (ot>=ts) ? (options.continuous ? t+1 : ts) : t+1;						
							break; 
						case "prev":
							t = (t<=0) ? (options.continuous ? t-1 : 0) : t-1;
							break; 
						case "first":
							t = 0;
							break; 
						case "last":
							t = ts;
							break; 
						default:
							t = dir;
							break; 
					};	
					var diff = Math.abs(ot-t);
					var speed = diff*options.speed;						
					if(!options.vertical) {
						p = (t*w*-1);
						$("ul",obj).animate(
							{ marginLeft: p }, 
							{ queue:false, duration:speed, complete:adjust }
						);				
					} else {
						p = (t*h*-1);
						$("ul",obj).animate(
							{ marginTop: p }, 
							{ queue:false, duration:speed, complete:adjust }
						);					
					};
					
					if(!options.continuous && options.controlsFade){					
						if(t==ts){
							$("a","#"+options.nextId).hide();
							$("a","#"+options.lastId).hide();
						} else {
							$("a","#"+options.nextId).show();
							$("a","#"+options.lastId).show();					
						};
						if(t==0){
							$("a","#"+options.prevId).hide();
							$("a","#"+options.firstId).hide();
						} else {
							$("a","#"+options.prevId).show();
							$("a","#"+options.firstId).show();
						};					
					};				
					
					if(clicked) clearTimeout(timeout);
					if(options.auto && dir=="next" && !clicked){;
						timeout = setTimeout(function(){
							animate("next",false);
						},diff*options.speed+options.pause);
					};
			
				};
				
			};
			// init
			var timeout;
			if(options.auto){;
				timeout = setTimeout(function(){
					animate("next",false);
				},options.pause);
			};		
			
			if(options.numeric) setCurrent(0);
		
			if(!options.continuous && options.controlsFade){					
				$("a","#"+options.prevId).hide();
				$("a","#"+options.firstId).hide();				
			};				
			
		});
	  
	};

})(jQuery);







// Position der einzelnen Saisonen
var posSpring = "0px";
var posSummer = "-985px";
var posAutumn = "-1970px";
var posWinter = "-2955px";
  
// Dauer des Slides
var dauerSlide = 1000;

// Angabe wann welche Saison beginnt
// Erstes Zeichen ist der Tag, das zweite der Monat
var springBeginn = new Array(20,3);
var summerBeginn = new Array(21,6);
var autumnBeginn = new Array(23,9);
var winterBeginn = new Array(12,10);

$(document).ready(function(){	
  
  // akt. Monat und Tag ermitteln
  var nowDate = new Date();
  var aktDatum = new Array(nowDate.getDate(), (nowDate.getMonth() + 1));
  
  // Saisonabhängig anzeigen
  if((aktDatum[1] > springBeginn[1] || (aktDatum[1] == springBeginn[1] && aktDatum[0] >= springBeginn[0])) && (aktDatum[1] < summerBeginn[1] || (aktDatum[1] == summerBeginn[1] && aktDatum[0] < summerBeginn[0])))
    bewegeDIV(posSpring),
	$("dd.spring a").addClass('seasonActive');
  else if((aktDatum[1] > summerBeginn[1] || (aktDatum[1] == summerBeginn[1] && aktDatum[0] >= summerBeginn[0])) && (aktDatum[1] < autumnBeginn[1] || (aktDatum[1] == autumnBeginn[1] && aktDatum[0] < autumnBeginn[0])))
    bewegeDIV(posSummer),
	$("dd.summer a").addClass('seasonActive');
  else if((aktDatum[1] > autumnBeginn[1] || (aktDatum[1] == autumnBeginn[1] && aktDatum[0] >= autumnBeginn[0])) && (aktDatum[1] < winterBeginn[1] || (aktDatum[1] == winterBeginn[1] && aktDatum[0] < winterBeginn[0])))
    bewegeDIV(posAutumn),
	$("dd.autumn a").addClass('seasonActive');
  else
    bewegeDIV(posWinter),
	$("dd.winter a").addClass('seasonActive');
  
  // Click-Events abfangen
  $("dd.spring a").click(function (){
    bewegeDIV(posSpring),
	$("dd.spring a").addClass('seasonActive');
	$("dd.summer a").removeClass('seasonActive');
	$("dd.autumn a").removeClass('seasonActive');
	$("dd.winter a").removeClass('seasonActive');
  });
  
  $("dd.summer a").click(function (){      
   bewegeDIV(posSummer),
   $("dd.spring a").removeClass('seasonActive');
	$("dd.summer a").addClass('seasonActive');
	$("dd.autumn a").removeClass('seasonActive');
	$("dd.winter a").removeClass('seasonActive');
  });
  
  $("dd.autumn a").click(function (){
    bewegeDIV(posAutumn),
	$("dd.spring a").removeClass('seasonActive');
	$("dd.summer a").removeClass('seasonActive');
	$("dd.autumn a").addClass('seasonActive');
	$("dd.winter a").removeClass('seasonActive');
  });
  
  $("dd.winter a").click(function (){
    bewegeDIV(posWinter),
	$("dd.spring a").removeClass('seasonActive');
	$("dd.summer a").removeClass('seasonActive');
	$("dd.autumn a").removeClass('seasonActive');
	$("dd.winter a").addClass('seasonActive');
  });

});

// Bewegungsfunktion
function bewegeDIV(pos)
{
  $(".position").animate({ 
      left: pos
    }, dauerSlide);
}

// Result Option checked

$(document).ready(function(){
 $(".offerTab input:radio:checked").parent().parent().parent().addClass("offerChecked");
 $(".offerTab input:radio").click(function (){
  $(".resultblock").removeClass("offerChecked");
  $(this).parent().parent().parent().addClass("offerChecked");
 });
});

// Object Details

$(document).ready(function(){
  $("a.roomlink").click(function () { 
      $(this).next(".divPosition").children(".details").show();
      return false;
  });
    
  $("a.close").click(function () { 
      $(this).parent(".details").hide();
      return false;
  });
  
$("div.details").each(function () { 
      if($(this).children(".detailsContent").html() == "")
      {
        var parentNode = $(this).parent();
        var aNode = parentNode.prev().prev();
        aNode.replaceWith("<span>" + aNode.text() + "</span>");
        $(this).empty();
      }
  });

});

// Manual Show/Hide

function plus(divID){
        var obj = document.getElementById(divID);
        obj.style.display = 'block';
}

function minus(divID){
        var obj = document.getElementById(divID);
        obj.style.display = 'none';
}

/*  Copyright Mihai Bazon, 2002-2005  |  www.bazon.net/mishoo
 * -----------------------------------------------------------
 *
 * The DHTML Calendar, version 1.0 "It is happening again"
 *
 * Details and latest version at:
 * www.dynarch.com/projects/calendar
 *
 * This script is developed by Dynarch.com.  Visit us at www.dynarch.com.
 *
 * This script is distributed under the GNU Lesser General Public License.
 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
 */

// $Id: calendar.js,v 1.51 2005/03/07 16:44:31 mishoo Exp $

/** The Calendar object constructor. */
Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) {
	// member variables
	this.activeDiv = null;
	this.currentDateEl = null;
	this.getDateStatus = null;
	this.getDateToolTip = null;
	this.getDateText = null;
	this.timeout = null;
	this.onSelected = onSelected || null;
	this.onClose = onClose || null;
	this.dragging = false;
	this.hidden = false;
	this.minYear = 2000;
	this.maxYear = 2100;
	this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"];
	this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];
	this.isPopup = true;
	this.weekNumbers = true;
	this.firstDayOfWeek = typeof firstDayOfWeek == "number" ? firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc.
	this.showsOtherMonths = false;
	this.dateStr = dateStr;
	this.ar_days = null;
	this.showsTime = false;
	this.time24 = true;
	this.yearStep = 2;
	this.hiliteToday = true;
	this.multiple = null;
	// HTML elements
	this.table = null;
	this.element = null;
	this.tbody = null;
	this.firstdayname = null;
	// Combo boxes
	this.monthsCombo = null;
	this.yearsCombo = null;
	this.hilitedMonth = null;
	this.activeMonth = null;
	this.hilitedYear = null;
	this.activeYear = null;
	// Information
	this.dateClicked = false;

	// one-time initializations
	if (typeof Calendar._SDN == "undefined") {
		// table of short day names
		if (typeof Calendar._SDN_len == "undefined")
			Calendar._SDN_len = 3;
		var ar = new Array();
		for (var i = 8; i > 0;) {
			ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len);
		}
		Calendar._SDN = ar;
		// table of short month names
		if (typeof Calendar._SMN_len == "undefined")
			Calendar._SMN_len = 3;
		ar = new Array();
		for (var i = 12; i > 0;) {
			ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len);
		}
		Calendar._SMN = ar;
	}
};

// ** constants

/// "static", needed for event handlers.
Calendar._C = null;

/// detect a special case of "web browser"
Calendar.is_ie = ( /msie/i.test(navigator.userAgent) &&
		   !/opera/i.test(navigator.userAgent) );

Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) );

/// detect Opera browser
Calendar.is_opera = /opera/i.test(navigator.userAgent);

/// detect KHTML-based browsers
Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);

// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate
//        library, at some point.

Calendar.getAbsolutePos = function(el) {
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = this.getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};

Calendar.isRelated = function (el, evt) {
	var related = evt.relatedTarget;
	if (!related) {
		var type = evt.type;
		if (type == "mouseover") {
			related = evt.fromElement;
		} else if (type == "mouseout") {
			related = evt.toElement;
		}
	}
	while (related) {
		if (related == el) {
			return true;
		}
		related = related.parentNode;
	}
	return false;
};

Calendar.removeClass = function(el, className) {
	if (!(el && el.className)) {
		return;
	}
	var cls = el.className.split(" ");
	var ar = new Array();
	for (var i = cls.length; i > 0;) {
		if (cls[--i] != className) {
			ar[ar.length] = cls[i];
		}
	}
	el.className = ar.join(" ");
};

Calendar.addClass = function(el, className) {
	Calendar.removeClass(el, className);
	el.className += " " + className;
};

// FIXME: the following 2 functions totally suck, are useless and should be replaced immediately.
Calendar.getElement = function(ev) {
	var f = Calendar.is_ie ? window.event.srcElement : ev.currentTarget;
	while (f.nodeType != 1 || /^div$/i.test(f.tagName))
		f = f.parentNode;
	return f;
};

Calendar.getTargetElement = function(ev) {
	var f = Calendar.is_ie ? window.event.srcElement : ev.target;
	while (f.nodeType != 1)
		f = f.parentNode;
	return f;
};

Calendar.stopEvent = function(ev) {
	ev || (ev = window.event);
	if (Calendar.is_ie) {
		ev.cancelBubble = true;
		ev.returnValue = false;
	} else {
		ev.preventDefault();
		ev.stopPropagation();
	}
	return false;
};

Calendar.addEvent = function(el, evname, func) {
	if (el.attachEvent) { // IE
		el.attachEvent("on" + evname, func);
	} else if (el.addEventListener) { // Gecko / W3C
		el.addEventListener(evname, func, true);
	} else {
		el["on" + evname] = func;
	}
};

Calendar.removeEvent = function(el, evname, func) {
	if (el.detachEvent) { // IE
		el.detachEvent("on" + evname, func);
	} else if (el.removeEventListener) { // Gecko / W3C
		el.removeEventListener(evname, func, true);
	} else {
		el["on" + evname] = null;
	}
};

Calendar.createElement = function(type, parent) {
	var el = null;
	if (document.createElementNS) {
		// use the XHTML namespace; IE won't normally get here unless
		// _they_ "fix" the DOM2 implementation.
		el = document.createElementNS("http://www.w3.org/1999/xhtml", type);
	} else {
		el = document.createElement(type);
	}
	if (typeof parent != "undefined") {
		parent.appendChild(el);
	}
	return el;
};

// END: UTILITY FUNCTIONS

// BEGIN: CALENDAR STATIC FUNCTIONS

/** Internal -- adds a set of events to make some element behave like a button. */
Calendar._add_evs = function(el) {
	with (Calendar) {
		addEvent(el, "mouseover", dayMouseOver);
		addEvent(el, "mousedown", dayMouseDown);
		addEvent(el, "mouseout", dayMouseOut);
		if (is_ie) {
			addEvent(el, "dblclick", dayMouseDblClick);
			el.setAttribute("unselectable", true);
		}
	}
};

Calendar.findMonth = function(el) {
	if (typeof el.month != "undefined") {
		return el;
	} else if (typeof el.parentNode.month != "undefined") {
		return el.parentNode;
	}
	return null;
};

Calendar.findYear = function(el) {
	if (typeof el.year != "undefined") {
		return el;
	} else if (typeof el.parentNode.year != "undefined") {
		return el.parentNode;
	}
	return null;
};

Calendar.showMonthsCombo = function () {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	var cal = cal;
	var cd = cal.activeDiv;
	var mc = cal.monthsCombo;
	if (cal.hilitedMonth) {
		Calendar.removeClass(cal.hilitedMonth, "hilite");
	}
	if (cal.activeMonth) {
		Calendar.removeClass(cal.activeMonth, "active");
	}
	var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
	Calendar.addClass(mon, "active");
	cal.activeMonth = mon;
	var s = mc.style;
	s.display = "block";
	if (cd.navtype < 0)
		s.left = cd.offsetLeft + "px";
	else {
		var mcw = mc.offsetWidth;
		if (typeof mcw == "undefined")
			// Konqueror brain-dead techniques
			mcw = 50;
		s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px";
	}
	s.top = (cd.offsetTop + cd.offsetHeight) + "px";
};

Calendar.showYearsCombo = function (fwd) {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	var cal = cal;
	var cd = cal.activeDiv;
	var yc = cal.yearsCombo;
	if (cal.hilitedYear) {
		Calendar.removeClass(cal.hilitedYear, "hilite");
	}
	if (cal.activeYear) {
		Calendar.removeClass(cal.activeYear, "active");
	}
	cal.activeYear = null;
	var Y = cal.date.getFullYear() + (fwd ? 1 : -1);
	var yr = yc.firstChild;
	var show = false;
	for (var i = 12; i > 0; --i) {
		if (Y >= cal.minYear && Y <= cal.maxYear) {
			yr.innerHTML = Y;
			yr.year = Y;
			yr.style.display = "block";
			show = true;
		} else {
			yr.style.display = "none";
		}
		yr = yr.nextSibling;
		Y += fwd ? cal.yearStep : -cal.yearStep;
	}
	if (show) {
		var s = yc.style;
		s.display = "block";
		if (cd.navtype < 0)
			s.left = cd.offsetLeft + "px";
		else {
			var ycw = yc.offsetWidth;
			if (typeof ycw == "undefined")
				// Konqueror brain-dead techniques
				ycw = 50;
			s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px";
		}
		s.top = (cd.offsetTop + cd.offsetHeight) + "px";
	}
};

// event handlers

Calendar.tableMouseUp = function(ev) {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	if (cal.timeout) {
		clearTimeout(cal.timeout);
	}
	var el = cal.activeDiv;
	if (!el) {
		return false;
	}
	var target = Calendar.getTargetElement(ev);
	ev || (ev = window.event);
	Calendar.removeClass(el, "active");
	if (target == el || target.parentNode == el) {
		Calendar.cellClick(el, ev);
	}
	var mon = Calendar.findMonth(target);
	var date = null;
	if (mon) {
		date = new Date(cal.date);
		if (mon.month != date.getMonth()) {
			date.setMonth(mon.month);
			cal.setDate(date);
			cal.dateClicked = false;
			cal.callHandler();
		}
	} else {
		var year = Calendar.findYear(target);
		if (year) {
			date = new Date(cal.date);
			if (year.year != date.getFullYear()) {
				date.setFullYear(year.year);
				cal.setDate(date);
				cal.dateClicked = false;
				cal.callHandler();
			}
		}
	}
	with (Calendar) {
		removeEvent(document, "mouseup", tableMouseUp);
		removeEvent(document, "mouseover", tableMouseOver);
		removeEvent(document, "mousemove", tableMouseOver);
		cal._hideCombos();
		_C = null;
		return stopEvent(ev);
	}
};

Calendar.tableMouseOver = function (ev) {
	var cal = Calendar._C;
	if (!cal) {
		return;
	}
	var el = cal.activeDiv;
	var target = Calendar.getTargetElement(ev);
	if (target == el || target.parentNode == el) {
		Calendar.addClass(el, "hilite active");
		Calendar.addClass(el.parentNode, "rowhilite");
	} else {
		if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2)))
			Calendar.removeClass(el, "active");
		Calendar.removeClass(el, "hilite");
		Calendar.removeClass(el.parentNode, "rowhilite");
	}
	ev || (ev = window.event);
	if (el.navtype == 50 && target != el) {
		var pos = Calendar.getAbsolutePos(el);
		var w = el.offsetWidth;
		var x = ev.clientX;
		var dx;
		var decrease = true;
		if (x > pos.x + w) {
			dx = x - pos.x - w;
			decrease = false;
		} else
			dx = pos.x - x;

		if (dx < 0) dx = 0;
		var range = el._range;
		var current = el._current;
		var count = Math.floor(dx / 10) % range.length;
		for (var i = range.length; --i >= 0;)
			if (range[i] == current)
				break;
		while (count-- > 0)
			if (decrease) {
				if (--i < 0)
					i = range.length - 1;
			} else if ( ++i >= range.length )
				i = 0;
		var newval = range[i];
		el.innerHTML = newval;

		cal.onUpdateTime();
	}
	var mon = Calendar.findMonth(target);
	if (mon) {
		if (mon.month != cal.date.getMonth()) {
			if (cal.hilitedMonth) {
				Calendar.removeClass(cal.hilitedMonth, "hilite");
			}
			Calendar.addClass(mon, "hilite");
			cal.hilitedMonth = mon;
		} else if (cal.hilitedMonth) {
			Calendar.removeClass(cal.hilitedMonth, "hilite");
		}
	} else {
		if (cal.hilitedMonth) {
			Calendar.removeClass(cal.hilitedMonth, "hilite");
		}
		var year = Calendar.findYear(target);
		if (year) {
			if (year.year != cal.date.getFullYear()) {
				if (cal.hilitedYear) {
					Calendar.removeClass(cal.hilitedYear, "hilite");
				}
				Calendar.addClass(year, "hilite");
				cal.hilitedYear = year;
			} else if (cal.hilitedYear) {
				Calendar.removeClass(cal.hilitedYear, "hilite");
			}
		} else if (cal.hilitedYear) {
			Calendar.removeClass(cal.hilitedYear, "hilite");
		}
	}
	return Calendar.stopEvent(ev);
};

Calendar.tableMouseDown = function (ev) {
	if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) {
		return Calendar.stopEvent(ev);
	}
};

Calendar.calDragIt = function (ev) {
	var cal = Calendar._C;
	if (!(cal && cal.dragging)) {
		return false;
	}
	var posX;
	var posY;
	if (Calendar.is_ie) {
		posY = window.event.clientY + document.body.scrollTop;
		posX = window.event.clientX + document.body.scrollLeft;
	} else {
		posX = ev.pageX;
		posY = ev.pageY;
	}
	cal.hideShowCovered();
	var st = cal.element.style;
	st.left = (posX - cal.xOffs) + "px";
	st.top = (posY - cal.yOffs) + "px";
	return Calendar.stopEvent(ev);
};

Calendar.calDragEnd = function (ev) {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	cal.dragging = false;
	with (Calendar) {
		removeEvent(document, "mousemove", calDragIt);
		removeEvent(document, "mouseup", calDragEnd);
		tableMouseUp(ev);
	}
	cal.hideShowCovered();
};

Calendar.dayMouseDown = function(ev) {
	var el = Calendar.getElement(ev);
	if (el.disabled) {
		return false;
	}
	var cal = el.calendar;
	cal.activeDiv = el;
	Calendar._C = cal;
	if (el.navtype != 300) with (Calendar) {
		if (el.navtype == 50) {
			el._current = el.innerHTML;
			addEvent(document, "mousemove", tableMouseOver);
		} else
			addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver);
		addClass(el, "hilite active");
		addEvent(document, "mouseup", tableMouseUp);
	} else if (cal.isPopup) {
		cal._dragStart(ev);
	}
	if (el.navtype == -1 || el.navtype == 1) {
		if (cal.timeout) clearTimeout(cal.timeout);
		cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250);
	} else if (el.navtype == -2 || el.navtype == 2) {
		if (cal.timeout) clearTimeout(cal.timeout);
		cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250);
	} else {
		cal.timeout = null;
	}
	return Calendar.stopEvent(ev);
};

Calendar.dayMouseDblClick = function(ev) {
	Calendar.cellClick(Calendar.getElement(ev), ev || window.event);
	if (Calendar.is_ie) {
		document.selection.empty();
	}
};

Calendar.dayMouseOver = function(ev) {
	var el = Calendar.getElement(ev);
	if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) {
		return false;
	}
	if (el.ttip) {
		if (el.ttip.substr(0, 1) == "_") {
			el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1);
		}
		el.calendar.tooltips.innerHTML = el.ttip;
	}
	if (el.navtype != 300) {
		Calendar.addClass(el, "hilite");
		if (el.caldate) {
			Calendar.addClass(el.parentNode, "rowhilite");
		}
	}
	return Calendar.stopEvent(ev);
};

Calendar.dayMouseOut = function(ev) {
	with (Calendar) {
		var el = getElement(ev);
		if (isRelated(el, ev) || _C || el.disabled)
			return false;
		removeClass(el, "hilite");
		if (el.caldate)
			removeClass(el.parentNode, "rowhilite");
		if (el.calendar)
			el.calendar.tooltips.innerHTML = _TT["SEL_DATE"];
		return stopEvent(ev);
	}
};

/**
 *  A generic "click" handler :) handles all types of buttons defined in this
 *  calendar.
 */
Calendar.cellClick = function(el, ev) {
	var cal = el.calendar;
	var closing = false;
	var newdate = false;
	var date = null;
	if (typeof el.navtype == "undefined") {
		if (cal.currentDateEl) {
			Calendar.removeClass(cal.currentDateEl, "selected");
			Calendar.addClass(el, "selected");
			closing = (cal.currentDateEl == el);
			if (!closing) {
				cal.currentDateEl = el;
			}
		}
		cal.date.setDateOnly(el.caldate);
		date = cal.date;
		var other_month = !(cal.dateClicked = !el.otherMonth);
		if (!other_month && !cal.currentDateEl)
			cal._toggleMultipleDate(new Date(date));
		else
			newdate = !el.disabled;
		// a date was clicked
		if (other_month)
			cal._init(cal.firstDayOfWeek, date);
	} else {
		if (el.navtype == 200) {
			Calendar.removeClass(el, "hilite");
			cal.callCloseHandler();
			return;
		}
		date = new Date(cal.date);
		if (el.navtype == 0)
			date.setDateOnly(new Date()); // TODAY
		// unless "today" was clicked, we assume no date was clicked so
		// the selected handler will know not to close the calenar when
		// in single-click mode.
		// cal.dateClicked = (el.navtype == 0);
		cal.dateClicked = false;
		var year = date.getFullYear();
		var mon = date.getMonth();
		function setMonth(m) {
			var day = date.getDate();
			var max = date.getMonthDays(m);
			if (day > max) {
				date.setDate(max);
			}
			date.setMonth(m);
		};
		switch (el.navtype) {
		    case 400:
			Calendar.removeClass(el, "hilite");
			var text = Calendar._TT["ABOUT"];
			if (typeof text != "undefined") {
				text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : "";
			} else {
				// FIXME: this should be removed as soon as lang files get updated!
				text = "Help and about box text is not translated into this language.\n" +
					"If you know this language and you feel generous please update\n" +
					"the corresponding file in \"lang\" subdir to match calendar-en.js\n" +
					"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n" +
					"Thank you!\n" +
					"http://dynarch.com/mishoo/calendar.epl\n";
			}
			alert(text);
			return;
		    case -2:
			if (year > cal.minYear) {
				date.setFullYear(year - 1);
			}
			break;
		    case -1:
			if (mon > 0) {
				setMonth(mon - 1);
			} else if (year-- > cal.minYear) {
				date.setFullYear(year);
				setMonth(11);
			}
			break;
		    case 1:
			if (mon < 11) {
				setMonth(mon + 1);
			} else if (year < cal.maxYear) {
				date.setFullYear(year + 1);
				setMonth(0);
			}
			break;
		    case 2:
			if (year < cal.maxYear) {
				date.setFullYear(year + 1);
			}
			break;
		    case 100:
			cal.setFirstDayOfWeek(el.fdow);
			return;
		    case 50:
			var range = el._range;
			var current = el.innerHTML;
			for (var i = range.length; --i >= 0;)
				if (range[i] == current)
					break;
			if (ev && ev.shiftKey) {
				if (--i < 0)
					i = range.length - 1;
			} else if ( ++i >= range.length )
				i = 0;
			var newval = range[i];
			el.innerHTML = newval;
			cal.onUpdateTime();
			return;
		    case 0:
			// TODAY will bring us here
			if ((typeof cal.getDateStatus == "function") &&
			    cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) {
				return false;
			}
			break;
		}
		if (!date.equalsTo(cal.date)) {
			cal.setDate(date);
			newdate = true;
		} else if (el.navtype == 0)
			newdate = closing = true;
	}
	if (newdate) {
		ev && cal.callHandler();
	}
	if (closing) {
		Calendar.removeClass(el, "hilite");
		ev && cal.callCloseHandler();
	}
};

// END: CALENDAR STATIC FUNCTIONS

// BEGIN: CALENDAR OBJECT FUNCTIONS

/**
 *  This function creates the calendar inside the given parent.  If _par is
 *  null than it creates a popup calendar inside the BODY element.  If _par is
 *  an element, be it BODY, then it creates a non-popup calendar (still
 *  hidden).  Some properties need to be set before calling this function.
 */
Calendar.prototype.create = function (_par) {
	var parent = null;
	if (! _par) {
		// default parent is the document body, in which case we create
		// a popup calendar.
		parent = document.getElementsByTagName("body")[0];
		this.isPopup = true;
	} else {
		parent = _par;
		this.isPopup = false;
	}
	this.date = this.dateStr ? new Date(this.dateStr) : new Date();

	var table = Calendar.createElement("table");
	this.table = table;
	table.cellSpacing = 0;
	table.cellPadding = 0;
	table.calendar = this;
	Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);

	var div = Calendar.createElement("div");
	this.element = div;
	div.className = "calendar";
	if (this.isPopup) {
		div.style.position = "absolute";
		div.style.display = "none";
	}
	div.appendChild(table);

	var thead = Calendar.createElement("thead", table);
	var cell = null;
	var row = null;

	var cal = this;
	var hh = function (text, cs, navtype) {
		cell = Calendar.createElement("td", row);
		cell.colSpan = cs;
		cell.className = "button";
		if (navtype != 0 && Math.abs(navtype) <= 2)
			cell.className += " nav";
		Calendar._add_evs(cell);
		cell.calendar = cal;
		cell.navtype = navtype;
		cell.innerHTML = "<div unselectable='on'>" + text + "</div>";
		return cell;
	};

	row = Calendar.createElement("tr", thead);
	var title_length = 6;
	(this.isPopup) && --title_length;
	(this.weekNumbers) && ++title_length;

	hh("?", 1, 400).ttip = Calendar._TT["INFO"];
	this.title = hh("", title_length, 300);
	this.title.className = "title";
	if (this.isPopup) {
		this.title.ttip = Calendar._TT["DRAG_TO_MOVE"];
		this.title.style.cursor = "move";
		hh("&#x00d7;", 1, 200).ttip = Calendar._TT["CLOSE"];
	}

	row = Calendar.createElement("tr", thead);
	row.className = "headrow";

	this._nav_py = hh("&#x00ab;", 1, -2);
	this._nav_py.ttip = Calendar._TT["PREV_YEAR"];

	this._nav_pm = hh("&#x2039;", 1, -1);
	this._nav_pm.ttip = Calendar._TT["PREV_MONTH"];

	this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0);
	this._nav_now.ttip = Calendar._TT["GO_TODAY"];

	this._nav_nm = hh("&#x203a;", 1, 1);
	this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"];

	this._nav_ny = hh("&#x00bb;", 1, 2);
	this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"];

	// day names
	row = Calendar.createElement("tr", thead);
	row.className = "daynames";
	if (this.weekNumbers) {
		cell = Calendar.createElement("td", row);
		cell.className = "name wn";
		cell.innerHTML = Calendar._TT["WK"];
	}
	for (var i = 7; i > 0; --i) {
		cell = Calendar.createElement("td", row);
		if (!i) {
			cell.navtype = 100;
			cell.calendar = this;
			Calendar._add_evs(cell);
		}
	}
	this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild;
	this._displayWeekdays();

	var tbody = Calendar.createElement("tbody", table);
	this.tbody = tbody;

	for (i = 6; i > 0; --i) {
		row = Calendar.createElement("tr", tbody);
		if (this.weekNumbers) {
			cell = Calendar.createElement("td", row);
		}
		for (var j = 7; j > 0; --j) {
			cell = Calendar.createElement("td", row);
			cell.calendar = this;
			Calendar._add_evs(cell);
		}
	}

	if (this.showsTime) {
		row = Calendar.createElement("tr", tbody);
		row.className = "time";

		cell = Calendar.createElement("td", row);
		cell.className = "time";
		cell.colSpan = 2;
		cell.innerHTML = Calendar._TT["TIME"] || "&nbsp;";

		cell = Calendar.createElement("td", row);
		cell.className = "time";
		cell.colSpan = this.weekNumbers ? 4 : 3;

		(function(){
			function makeTimePart(className, init, range_start, range_end) {
				var part = Calendar.createElement("span", cell);
				part.className = className;
				part.innerHTML = init;
				part.calendar = cal;
				part.ttip = Calendar._TT["TIME_PART"];
				part.navtype = 50;
				part._range = [];
				if (typeof range_start != "number")
					part._range = range_start;
				else {
					for (var i = range_start; i <= range_end; ++i) {
						var txt;
						if (i < 10 && range_end >= 10) txt = '0' + i;
						else txt = '' + i;
						part._range[part._range.length] = txt;
					}
				}
				Calendar._add_evs(part);
				return part;
			};
			var hrs = cal.date.getHours();
			var mins = cal.date.getMinutes();
			var t12 = !cal.time24;
			var pm = (hrs > 12);
			if (t12 && pm) hrs -= 12;
			var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23);
			var span = Calendar.createElement("span", cell);
			span.innerHTML = ":";
			span.className = "colon";
			var M = makeTimePart("minute", mins, 0, 59);
			var AP = null;
			cell = Calendar.createElement("td", row);
			cell.className = "time";
			cell.colSpan = 2;
			if (t12)
				AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);
			else
				cell.innerHTML = "&nbsp;";

			cal.onSetTime = function() {
				var pm, hrs = this.date.getHours(),
					mins = this.date.getMinutes();
				if (t12) {
					pm = (hrs >= 12);
					if (pm) hrs -= 12;
					if (hrs == 0) hrs = 12;
					AP.innerHTML = pm ? "pm" : "am";
				}
				H.innerHTML = (hrs < 10) ? ("0" + hrs) : hrs;
				M.innerHTML = (mins < 10) ? ("0" + mins) : mins;
			};

			cal.onUpdateTime = function() {
				var date = this.date;
				var h = parseInt(H.innerHTML, 10);
				if (t12) {
					if (/pm/i.test(AP.innerHTML) && h < 12)
						h += 12;
					else if (/am/i.test(AP.innerHTML) && h == 12)
						h = 0;
				}
				var d = date.getDate();
				var m = date.getMonth();
				var y = date.getFullYear();
				date.setHours(h);
				date.setMinutes(parseInt(M.innerHTML, 10));
				date.setFullYear(y);
				date.setMonth(m);
				date.setDate(d);
				this.dateClicked = false;
				this.callHandler();
			};
		})();
	} else {
		this.onSetTime = this.onUpdateTime = function() {};
	}

	var tfoot = Calendar.createElement("tfoot", table);

	row = Calendar.createElement("tr", tfoot);
	row.className = "footrow";

	cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300);
	cell.className = "ttip";
	if (this.isPopup) {
		cell.ttip = Calendar._TT["DRAG_TO_MOVE"];
		cell.style.cursor = "move";
	}
	this.tooltips = cell;

	div = Calendar.createElement("div", this.element);
	this.monthsCombo = div;
	div.className = "combo";
	for (i = 0; i < Calendar._MN.length; ++i) {
		var mn = Calendar.createElement("div");
		mn.className = Calendar.is_ie ? "label-IEfix" : "label";
		mn.month = i;
		mn.innerHTML = Calendar._SMN[i];
		div.appendChild(mn);
	}

	div = Calendar.createElement("div", this.element);
	this.yearsCombo = div;
	div.className = "combo";
	for (i = 12; i > 0; --i) {
		var yr = Calendar.createElement("div");
		yr.className = Calendar.is_ie ? "label-IEfix" : "label";
		div.appendChild(yr);
	}

	this._init(this.firstDayOfWeek, this.date);
	parent.appendChild(this.element);
};

/** keyboard navigation, only for popup calendars */
Calendar._keyEvent = function(ev) {
	var cal = window._dynarch_popupCalendar;
	if (!cal || cal.multiple)
		return false;
	(Calendar.is_ie) && (ev = window.event);
	var act = (Calendar.is_ie || ev.type == "keypress"),
		K = ev.keyCode;
	if (ev.ctrlKey) {
		switch (K) {
		    case 37: // KEY left
			act && Calendar.cellClick(cal._nav_pm);
			break;
		    case 38: // KEY up
			act && Calendar.cellClick(cal._nav_py);
			break;
		    case 39: // KEY right
			act && Calendar.cellClick(cal._nav_nm);
			break;
		    case 40: // KEY down
			act && Calendar.cellClick(cal._nav_ny);
			break;
		    default:
			return false;
		}
	} else switch (K) {
	    case 32: // KEY space (now)
		Calendar.cellClick(cal._nav_now);
		break;
	    case 27: // KEY esc
		act && cal.callCloseHandler();
		break;
	    case 37: // KEY left
	    case 38: // KEY up
	    case 39: // KEY right
	    case 40: // KEY down
		if (act) {
			var prev, x, y, ne, el, step;
			prev = K == 37 || K == 38;
			step = (K == 37 || K == 39) ? 1 : 7;
			function setVars() {
				el = cal.currentDateEl;
				var p = el.pos;
				x = p & 15;
				y = p >> 4;
				ne = cal.ar_days[y][x];
			};setVars();
			function prevMonth() {
				var date = new Date(cal.date);
				date.setDate(date.getDate() - step);
				cal.setDate(date);
			};
			function nextMonth() {
				var date = new Date(cal.date);
				date.setDate(date.getDate() + step);
				cal.setDate(date);
			};
			while (1) {
				switch (K) {
				    case 37: // KEY left
					if (--x >= 0)
						ne = cal.ar_days[y][x];
					else {
						x = 6;
						K = 38;
						continue;
					}
					break;
				    case 38: // KEY up
					if (--y >= 0)
						ne = cal.ar_days[y][x];
					else {
						prevMonth();
						setVars();
					}
					break;
				    case 39: // KEY right
					if (++x < 7)
						ne = cal.ar_days[y][x];
					else {
						x = 0;
						K = 40;
						continue;
					}
					break;
				    case 40: // KEY down
					if (++y < cal.ar_days.length)
						ne = cal.ar_days[y][x];
					else {
						nextMonth();
						setVars();
					}
					break;
				}
				break;
			}
			if (ne) {
				if (!ne.disabled)
					Calendar.cellClick(ne);
				else if (prev)
					prevMonth();
				else
					nextMonth();
			}
		}
		break;
	    case 13: // KEY enter
		if (act)
			Calendar.cellClick(cal.currentDateEl, ev);
		break;
	    default:
		return false;
	}
	return Calendar.stopEvent(ev);
};

/**
 *  (RE)Initializes the calendar to the given date and firstDayOfWeek
 */
Calendar.prototype._init = function (firstDayOfWeek, date) {
	var today = new Date(),
		TY = today.getFullYear(),
		TM = today.getMonth(),
		TD = today.getDate();
	this.table.style.visibility = "hidden";
	var year = date.getFullYear();
	if (year < this.minYear) {
		year = this.minYear;
		date.setFullYear(year);
	} else if (year > this.maxYear) {
		year = this.maxYear;
		date.setFullYear(year);
	}
	this.firstDayOfWeek = firstDayOfWeek;
	this.date = new Date(date);
	var month = date.getMonth();
	var mday = date.getDate();
	var no_days = date.getMonthDays();

	// calendar voodoo for computing the first day that would actually be
	// displayed in the calendar, even if it's from the previous month.
	// WARNING: this is magic. ;-)
	date.setDate(1);
	var day1 = (date.getDay() - this.firstDayOfWeek) % 7;
	if (day1 < 0)
		day1 += 7;
	date.setDate(-day1);
	date.setDate(date.getDate() + 1);

	var row = this.tbody.firstChild;
	var MN = Calendar._SMN[month];
	var ar_days = this.ar_days = new Array();
	var weekend = Calendar._TT["WEEKEND"];
	var dates = this.multiple ? (this.datesCells = {}) : null;
	for (var i = 0; i < 6; ++i, row = row.nextSibling) {
		var cell = row.firstChild;
		if (this.weekNumbers) {
			cell.className = "day wn";
			cell.innerHTML = date.getWeekNumber();
			cell = cell.nextSibling;
		}
		row.className = "daysrow";
		var hasdays = false, iday, dpos = ar_days[i] = [];
		for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(iday + 1)) {
			iday = date.getDate();
			var wday = date.getDay();
			cell.className = "day";
			cell.pos = i << 4 | j;
			dpos[j] = cell;
			var current_month = (date.getMonth() == month);
			if (!current_month) {
				if (this.showsOtherMonths) {
					cell.className += " othermonth";
					cell.otherMonth = true;
				} else {
					cell.className = "emptycell";
					cell.innerHTML = "&nbsp;";
					cell.disabled = true;
					continue;
				}
			} else {
				cell.otherMonth = false;
				hasdays = true;
			}
			cell.disabled = false;
			cell.innerHTML = this.getDateText ? this.getDateText(date, iday) : iday;
			if (dates)
				dates[date.print("%Y%m%d")] = cell;
			if (this.getDateStatus) {
				var status = this.getDateStatus(date, year, month, iday);
				if (this.getDateToolTip) {
					var toolTip = this.getDateToolTip(date, year, month, iday);
					if (toolTip)
						cell.title = toolTip;
				}
				if (status === true) {
					cell.className += " disabled";
					cell.disabled = true;
				} else {
					if (/disabled/i.test(status))
						cell.disabled = true;
					cell.className += " " + status;
				}
			}
			if (!cell.disabled) {
				cell.caldate = new Date(date);
				cell.ttip = "_";
				if (!this.multiple && current_month
				    && iday == mday && this.hiliteToday) {
					cell.className += " selected";
					this.currentDateEl = cell;
				}
				if (date.getFullYear() == TY &&
				    date.getMonth() == TM &&
				    iday == TD) {
					cell.className += " today";
					cell.ttip += Calendar._TT["PART_TODAY"];
				}
				if (weekend.indexOf(wday.toString()) != -1)
					cell.className += cell.otherMonth ? " oweekend" : " weekend";
			}
		}
		if (!(hasdays || this.showsOtherMonths))
			row.className = "emptyrow";
	}
	this.title.innerHTML = Calendar._MN[month] + ", " + year;
	this.onSetTime();
	this.table.style.visibility = "visible";
	this._initMultipleDates();
	// PROFILE
	// this.tooltips.innerHTML = "Generated in " + ((new Date()) - today) + " ms";
};

Calendar.prototype._initMultipleDates = function() {
	if (this.multiple) {
		for (var i in this.multiple) {
			var cell = this.datesCells[i];
			var d = this.multiple[i];
			if (!d)
				continue;
			if (cell)
				cell.className += " selected";
		}
	}
};

Calendar.prototype._toggleMultipleDate = function(date) {
	if (this.multiple) {
		var ds = date.print("%Y%m%d");
		var cell = this.datesCells[ds];
		if (cell) {
			var d = this.multiple[ds];
			if (!d) {
				Calendar.addClass(cell, "selected");
				this.multiple[ds] = date;
			} else {
				Calendar.removeClass(cell, "selected");
				delete this.multiple[ds];
			}
		}
	}
};

Calendar.prototype.setDateToolTipHandler = function (unaryFunction) {
	this.getDateToolTip = unaryFunction;
};

/**
 *  Calls _init function above for going to a certain date (but only if the
 *  date is different than the currently selected one).
 */
Calendar.prototype.setDate = function (date) {
	if (!date.equalsTo(this.date)) {
		this._init(this.firstDayOfWeek, date);
	}
};

/**
 *  Refreshes the calendar.  Useful if the "disabledHandler" function is
 *  dynamic, meaning that the list of disabled date can change at runtime.
 *  Just * call this function if you think that the list of disabled dates
 *  should * change.
 */
Calendar.prototype.refresh = function () {
	this._init(this.firstDayOfWeek, this.date);
};

/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */
Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) {
	this._init(firstDayOfWeek, this.date);
	this._displayWeekdays();
};

/**
 *  Allows customization of what dates are enabled.  The "unaryFunction"
 *  parameter must be a function object that receives the date (as a JS Date
 *  object) and returns a boolean value.  If the returned value is true then
 *  the passed date will be marked as disabled.
 */
Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) {
	this.getDateStatus = unaryFunction;
};

/** Customization of allowed year range for the calendar. */
Calendar.prototype.setRange = function (a, z) {
	this.minYear = a;
	this.maxYear = z;
};

/** Calls the first user handler (selectedHandler). */
Calendar.prototype.callHandler = function () {
	if (this.onSelected) {
		this.onSelected(this, this.date.print(this.dateFormat));
	}
};

/** Calls the second user handler (closeHandler). */
Calendar.prototype.callCloseHandler = function () {
	if (this.onClose) {
		this.onClose(this);
	}
	this.hideShowCovered();
};

/** Removes the calendar object from the DOM tree and destroys it. */
Calendar.prototype.destroy = function () {
	var el = this.element.parentNode;
	el.removeChild(this.element);
	Calendar._C = null;
	window._dynarch_popupCalendar = null;
};

/**
 *  Moves the calendar element to a different section in the DOM tree (changes
 *  its parent).
 */
Calendar.prototype.reparent = function (new_parent) {
	var el = this.element;
	el.parentNode.removeChild(el);
	new_parent.appendChild(el);
};

// This gets called when the user presses a mouse button anywhere in the
// document, if the calendar is shown.  If the click was outside the open
// calendar this function closes it.
Calendar._checkCalendar = function(ev) {
	var calendar = window._dynarch_popupCalendar;
	if (!calendar) {
		return false;
	}
	var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
	for (; el != null && el != calendar.element; el = el.parentNode);
	if (el == null) {
		// calls closeHandler which should hide the calendar.
		window._dynarch_popupCalendar.callCloseHandler();
		return Calendar.stopEvent(ev);
	}
};

/** Shows the calendar. */
Calendar.prototype.show = function () {
	var rows = this.table.getElementsByTagName("tr");
	for (var i = rows.length; i > 0;) {
		var row = rows[--i];
		Calendar.removeClass(row, "rowhilite");
		var cells = row.getElementsByTagName("td");
		for (var j = cells.length; j > 0;) {
			var cell = cells[--j];
			Calendar.removeClass(cell, "hilite");
			Calendar.removeClass(cell, "active");
		}
	}
	this.element.style.display = "block";
	this.hidden = false;
	if (this.isPopup) {
		window._dynarch_popupCalendar = this;
		Calendar.addEvent(document, "keydown", Calendar._keyEvent);
		Calendar.addEvent(document, "keypress", Calendar._keyEvent);
		Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);
	}
	this.hideShowCovered();
};

/**
 *  Hides the calendar.  Also removes any "hilite" from the class of any TD
 *  element.
 */
Calendar.prototype.hide = function () {
	if (this.isPopup) {
		Calendar.removeEvent(document, "keydown", Calendar._keyEvent);
		Calendar.removeEvent(document, "keypress", Calendar._keyEvent);
		Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);
	}
	this.element.style.display = "none";
	this.hidden = true;
	this.hideShowCovered();
};

/**
 *  Shows the calendar at a given absolute position (beware that, depending on
 *  the calendar element style -- position property -- this might be relative
 *  to the parent's containing rectangle).
 */
Calendar.prototype.showAt = function (x, y) {
	var s = this.element.style;
	s.left = x + "px";
	s.top = y + "px";
	this.show();
};

/** Shows the calendar near a given element. */
Calendar.prototype.showAtElement = function (el, opts) {
	var self = this;
	var p = Calendar.getAbsolutePos(el);
	if (!opts || typeof opts != "string") {
		this.showAt(p.x, p.y + el.offsetHeight);
		return true;
	}
	function fixPosition(box) {
		if (box.x < 0)
			box.x = 0;
		if (box.y < 0)
			box.y = 0;
		var cp = document.createElement("div");
		var s = cp.style;
		s.position = "absolute";
		s.right = s.bottom = s.width = s.height = "0px";
		document.body.appendChild(cp);
		var br = Calendar.getAbsolutePos(cp);
		document.body.removeChild(cp);
		if (Calendar.is_ie) {
			//br.y += document.body.scrollTop;
			br.y += typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement && document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop?document.body.scrollTop:0;
			br.x += document.body.scrollLeft;
		} else {
			br.y += window.scrollY;
			br.x += window.scrollX;
		}
		var tmp = box.x + box.width - br.x;
		if (tmp > 0) box.x -= tmp;
		tmp = box.y + box.height - br.y;
		if (tmp > 0) box.y -= tmp;
	};
	this.element.style.display = "block";
	Calendar.continuation_for_the_fucking_khtml_browser = function() {
		var w = self.element.offsetWidth;
		var h = self.element.offsetHeight;
		self.element.style.display = "none";
		var valign = opts.substr(0, 1);
		var halign = "l";
		if (opts.length > 1) {
			halign = opts.substr(1, 1);
		}
		// vertical alignment
		switch (valign) {
		    case "T": p.y -= h; break;
		    case "B": p.y += el.offsetHeight; break;
		    case "C": p.y += (el.offsetHeight - h) / 2; break;
		    case "t": p.y += el.offsetHeight - h; break;
		    case "b": break; // already there
		}
		// horizontal alignment
		switch (halign) {
		    case "L": p.x -= w; break;
		    case "R": p.x += el.offsetWidth; break;
		    case "C": p.x += (el.offsetWidth - w) / 2; break;
		    case "l": p.x += el.offsetWidth - w; break;
		    case "r": break; // already there
		}
		p.width = w;
		p.height = h + 40;
		self.monthsCombo.style.display = "none";
		fixPosition(p);
		self.showAt(p.x, p.y);
	};
	if (Calendar.is_khtml)
		setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10);
	else
		Calendar.continuation_for_the_fucking_khtml_browser();
};

/** Customizes the date format. */
Calendar.prototype.setDateFormat = function (str) {
	this.dateFormat = str;
};

/** Customizes the tooltip date format. */
Calendar.prototype.setTtDateFormat = function (str) {
	this.ttDateFormat = str;
};

/**
 *  Tries to identify the date represented in a string.  If successful it also
 *  calls this.setDate which moves the calendar to the given date.
 */
Calendar.prototype.parseDate = function(str, fmt) {
	if (!fmt)
		fmt = this.dateFormat;
	this.setDate(Date.parseDate(str, fmt));
};

Calendar.prototype.hideShowCovered = function () {
	if (!Calendar.is_ie && !Calendar.is_opera)
		return;
	function getVisib(obj){
		var value = obj.style.visibility;
		if (!value) {
			if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
				if (!Calendar.is_khtml)
					value = document.defaultView.
						getComputedStyle(obj, "").getPropertyValue("visibility");
				else
					value = '';
			} else if (obj.currentStyle) { // IE
				value = obj.currentStyle.visibility;
			} else
				value = '';
		}
		return value;
	};

	var tags = new Array("applet", "iframe", "select");
	var el = this.element;

	var p = Calendar.getAbsolutePos(el);
	var EX1 = p.x;
	var EX2 = el.offsetWidth + EX1;
	var EY1 = p.y;
	var EY2 = el.offsetHeight + EY1;

	for (var k = tags.length; k > 0; ) {
		var ar = document.getElementsByTagName(tags[--k]);
		var cc = null;

		for (var i = ar.length; i > 0;) {
			cc = ar[--i];

			p = Calendar.getAbsolutePos(cc);
			var CX1 = p.x;
			var CX2 = cc.offsetWidth + CX1;
			var CY1 = p.y;
			var CY2 = cc.offsetHeight + CY1;

			if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
				if (!cc.__msh_save_visibility) {
					cc.__msh_save_visibility = getVisib(cc);
				}
				cc.style.visibility = cc.__msh_save_visibility;
			} else {
				if (!cc.__msh_save_visibility) {
					cc.__msh_save_visibility = getVisib(cc);
				}
				cc.style.visibility = "hidden";
			}
		}
	}
};

/** Internal function; it displays the bar with the names of the weekday. */
Calendar.prototype._displayWeekdays = function () {
	var fdow = this.firstDayOfWeek;
	var cell = this.firstdayname;
	var weekend = Calendar._TT["WEEKEND"];
	for (var i = 0; i < 7; ++i) {
		cell.className = "day name";
		var realday = (i + fdow) % 7;
		if (i) {
			cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]);
			cell.navtype = 100;
			cell.calendar = this;
			cell.fdow = realday;
			Calendar._add_evs(cell);
		}
		if (weekend.indexOf(realday.toString()) != -1) {
			Calendar.addClass(cell, "weekend");
		}
		cell.innerHTML = Calendar._SDN[(i + fdow) % 7];
		cell = cell.nextSibling;
	}
};

/** Internal function.  Hides all combo boxes that might be displayed. */
Calendar.prototype._hideCombos = function () {
	this.monthsCombo.style.display = "none";
	this.yearsCombo.style.display = "none";
};

/** Internal function.  Starts dragging the element. */
Calendar.prototype._dragStart = function (ev) {
	if (this.dragging) {
		return;
	}
	this.dragging = true;
	var posX;
	var posY;
	if (Calendar.is_ie) {
		posY = window.event.clientY + document.body.scrollTop;
		posX = window.event.clientX + document.body.scrollLeft;
	} else {
		posY = ev.clientY + window.scrollY;
		posX = ev.clientX + window.scrollX;
	}
	var st = this.element.style;
	this.xOffs = posX - parseInt(st.left);
	this.yOffs = posY - parseInt(st.top);
	with (Calendar) {
		addEvent(document, "mousemove", calDragIt);
		addEvent(document, "mouseup", calDragEnd);
	}
};

// BEGIN: DATE OBJECT PATCHES

/** Adds the number of days array to the Date object. */
Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

/** Constants used for time computations */
Date.SECOND = 1000 /* milliseconds */;
Date.MINUTE = 60 * Date.SECOND;
Date.HOUR   = 60 * Date.MINUTE;
Date.DAY    = 24 * Date.HOUR;
Date.WEEK   =  7 * Date.DAY;

Date.parseDate = function(str, fmt) {
	var today = new Date();
	var y = 0;
	var m = -1;
	var d = 0;
	var a = str.split(/\W+/);
	var b = fmt.match(/%./g);
	var i = 0, j = 0;
	var hr = 0;
	var min = 0;
	for (i = 0; i < a.length; ++i) {
		if (!a[i])
			continue;
		switch (b[i]) {
		    case "%d":
		    case "%e":
			d = parseInt(a[i], 10);
			break;

		    case "%m":
			m = parseInt(a[i], 10) - 1;
			break;

		    case "%Y":
		    case "%y":
			y = parseInt(a[i], 10);
			(y < 100) && (y += (y > 29) ? 1900 : 2000);
			break;

		    case "%b":
		    case "%B":
			for (j = 0; j < 12; ++j) {
				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
			}
			break;

		    case "%H":
		    case "%I":
		    case "%k":
		    case "%l":
			hr = parseInt(a[i], 10);
			break;

		    case "%P":
		    case "%p":
			if (/pm/i.test(a[i]) && hr < 12)
				hr += 12;
			else if (/am/i.test(a[i]) && hr >= 12)
				hr -= 12;
			break;

		    case "%M":
			min = parseInt(a[i], 10);
			break;
		}
	}
	if (isNaN(y)) y = today.getFullYear();
	if (isNaN(m)) m = today.getMonth();
	if (isNaN(d)) d = today.getDate();
	if (isNaN(hr)) hr = today.getHours();
	if (isNaN(min)) min = today.getMinutes();
	if (y != 0 && m != -1 && d != 0)
		return new Date(y, m, d, hr, min, 0);
	y = 0; m = -1; d = 0;
	for (i = 0; i < a.length; ++i) {
		if (a[i].search(/[a-zA-Z]+/) != -1) {
			var t = -1;
			for (j = 0; j < 12; ++j) {
				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; }
			}
			if (t != -1) {
				if (m != -1) {
					d = m+1;
				}
				m = t;
			}
		} else if (parseInt(a[i], 10) <= 12 && m == -1) {
			m = a[i]-1;
		} else if (parseInt(a[i], 10) > 31 && y == 0) {
			y = parseInt(a[i], 10);
			(y < 100) && (y += (y > 29) ? 1900 : 2000);
		} else if (d == 0) {
			d = a[i];
		}
	}
	if (y == 0)
		y = today.getFullYear();
	if (m != -1 && d != 0)
		return new Date(y, m, d, hr, min, 0);
	return today;
};

/** Returns the number of days in the current month */
Date.prototype.getMonthDays = function(month) {
	var year = this.getFullYear();
	if (typeof month == "undefined") {
		month = this.getMonth();
	}
	if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) {
		return 29;
	} else {
		return Date._MD[month];
	}
};

/** Returns the number of day in the year. */
Date.prototype.getDayOfYear = function() {
	var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
	var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
	var time = now - then;
	return Math.floor(time / Date.DAY);
};

/** Returns the number of the week in year, as defined in ISO 8601. */
Date.prototype.getWeekNumber = function() {
	var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
	var DoW = d.getDay();
	d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
	var ms = d.valueOf(); // GMT
	d.setMonth(0);
	d.setDate(4); // Thu in Week 1
	return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;
};

/** Checks date and time equality */
Date.prototype.equalsTo = function(date) {
	return ((this.getFullYear() == date.getFullYear()) &&
		(this.getMonth() == date.getMonth()) &&
		(this.getDate() == date.getDate()) &&
		(this.getHours() == date.getHours()) &&
		(this.getMinutes() == date.getMinutes()));
};

/** Set only the year, month, date parts (keep existing time) */
Date.prototype.setDateOnly = function(date) {
	var tmp = new Date(date);
	this.setDate(1);
	this.setFullYear(tmp.getFullYear());
	this.setMonth(tmp.getMonth());
	this.setDate(tmp.getDate());
};

/** Prints the date in a string according to the given format. */
Date.prototype.print = function (str) {
	var m = this.getMonth();
	var d = this.getDate();
	var y = this.getFullYear();
	var wn = this.getWeekNumber();
	var w = this.getDay();
	var s = {};
	var hr = this.getHours();
	var pm = (hr >= 12);
	var ir = (pm) ? (hr - 12) : hr;
	var dy = this.getDayOfYear();
	if (ir == 0)
		ir = 12;
	var min = this.getMinutes();
	var sec = this.getSeconds();
	s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N]
	s["%A"] = Calendar._DN[w]; // full weekday name
	s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N]
	s["%B"] = Calendar._MN[m]; // full month name
	// FIXME: %c : preferred date and time representation for the current locale
	s["%C"] = 1 + Math.floor(y / 100); // the century number
	s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31)
	s["%e"] = d; // the day of the month (range 1 to 31)
	// FIXME: %D : american date style: %m/%d/%y
	// FIXME: %E, %F, %G, %g, %h (man strftime)
	s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format)
	s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format)
	s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366)
	s["%k"] = hr;		// hour, range 0 to 23 (24h format)
	s["%l"] = ir;		// hour, range 1 to 12 (12h format)
	s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12
	s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59
	s["%n"] = "\n";		// a newline character
	s["%p"] = pm ? "PM" : "AM";
	s["%P"] = pm ? "pm" : "am";
	// FIXME: %r : the time in am/pm notation %I:%M:%S %p
	// FIXME: %R : the time in 24-hour notation %H:%M
	s["%s"] = Math.floor(this.getTime() / 1000);
	s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59
	s["%t"] = "\t";		// a tab character
	// FIXME: %T : the time in 24-hour notation (%H:%M:%S)
	s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn;
	s["%u"] = w + 1;	// the day of the week (range 1 to 7, 1 = MON)
	s["%w"] = w;		// the day of the week (range 0 to 6, 0 = SUN)
	// FIXME: %x : preferred date representation for the current locale without the time
	// FIXME: %X : preferred time representation for the current locale without the date
	s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99)
	s["%Y"] = y;		// year with the century
	s["%%"] = "%";		// a literal '%' character

	var re = /%./g;
	if (!Calendar.is_ie5 && !Calendar.is_khtml)
		return str.replace(re, function (par) { return s[par] || par; });

	var a = str.match(re);
	for (var i = 0; i < a.length; i++) {
		var tmp = s[a[i]];
		if (tmp) {
			re = new RegExp(a[i], 'g');
			str = str.replace(re, tmp);
		}
	}

	return str;
};

Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
Date.prototype.setFullYear = function(y) {
	var d = new Date(this);
	d.__msh_oldSetFullYear(y);
	if (d.getMonth() != this.getMonth())
		this.setDate(28);
	this.__msh_oldSetFullYear(y);
};

// END: DATE OBJECT PATCHES


// global object that remembers the calendar
window._dynarch_popupCalendar = null;

/*  Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
 * ---------------------------------------------------------------------------
 *
 * The DHTML Calendar
 *
 * Details and latest version at:
 * http://dynarch.com/mishoo/calendar.epl
 *
 * This script is distributed under the GNU Lesser General Public License.
 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
 *
 * This file defines helper functions for setting up the calendar.  They are
 * intended to help non-programmers get a working calendar on their site
 * quickly.  This script should not be seen as part of the calendar.  It just
 * shows you what one can do with the calendar, while in the same time
 * providing a quick and simple method for setting it up.  If you need
 * exhaustive customization of the calendar creation process feel free to
 * modify this code to suit your needs (this is recommended and much better
 * than modifying calendar.js itself).
 */

// $Id: calendar-setup.js,v 1.25 2005/03/07 09:51:33 mishoo Exp $

/**
 *  This function "patches" an input field (or other element) to use a calendar
 *  widget for date selection.
 *
 *  The "params" is a single object that can have the following properties:
 *
 *    prop. name   | description
 *  -------------------------------------------------------------------------------------------------
 *   inputField    | the ID of an input field to store the date
 *   displayArea   | the ID of a DIV or other element to show the date
 *   button        | ID of a button or other element that will trigger the calendar
 *   eventName     | event that will trigger the calendar, without the "on" prefix (default: "click")
 *   ifFormat      | date format that will be stored in the input field
 *   daFormat      | the date format that will be used to display the date in displayArea
 *   singleClick   | (true/false) wether the calendar is in single click mode or not (default: true)
 *   firstDay      | numeric: 0 to 6.  "0" means display Sunday first, "1" means display Monday first, etc.
 *   align         | alignment (default: "Br"); if you don't know what's this see the calendar documentation
 *   range         | array with 2 elements.  Default: [1900, 2999] -- the range of years available
 *   weekNumbers   | (true/false) if it's true (default) the calendar will display week numbers
 *   flat          | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID
 *   flatCallback  | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar)
 *   disableFunc   | function that receives a JS Date object and should return true if that date has to be disabled in the calendar
 *   onSelect      | function that gets called when a date is selected.  You don't _have_ to supply this (the default is generally okay)
 *   onClose       | function that gets called when the calendar is closed.  [default]
 *   onUpdate      | function that gets called after the date is updated in the input field.  Receives a reference to the calendar.
 *   date          | the date that the calendar will be initially displayed to
 *   showsTime     | default: false; if true the calendar will include a time selector
 *   timeFormat    | the time format; can be "12" or "24", default is "24"
 *   electric      | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close
 *   step          | configures the step of the years in drop-down boxes; default: 2
 *   position      | configures the calendar absolute position; default: null
 *   cache         | if "true" (but default: "false") it will reuse the same calendar object, where possible
 *   showOthers    | if "true" (but default: "false") it will show days from other months too
 *
 *  None of them is required, they all have default values.  However, if you
 *  pass none of "inputField", "displayArea" or "button" you'll get a warning
 *  saying "nothing to setup".
 */
Calendar.setup = function (params) {
	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };

	param_default("inputField",     null);
	param_default("displayArea",    null);
	param_default("button",         null);
	param_default("eventName",      "click");
	param_default("ifFormat",       "%d.%m.%Y");
	param_default("daFormat",       "%d.%m.%Y");
	param_default("singleClick",    true);
	param_default("disableFunc",    disableDate);
	param_default("dateStatusFunc", params["disableFunc"]);	// takes precedence if both are defined
	param_default("dateText",       null);
	param_default("firstDay",       1);
	param_default("align",          "Br");
	param_default("range",          [new Date().getFullYear(), new Date().getFullYear() + 5]);
	param_default("weekNumbers",    false);
	param_default("flat",           null);
	param_default("flatCallback",   null);
	param_default("onSelect",       null);
	param_default("onClose",        null);
	param_default("onUpdate",       null);
	param_default("date",           null);
	param_default("showsTime",      false);
	param_default("timeFormat",     "24");
	param_default("electric",       false);
	param_default("step",           1);
	param_default("position",       null);
	param_default("cache",          false);
	param_default("showOthers",     false);
	param_default("multiple",       null);
	param_default("arriveFieldID",  null);
	param_default("leaveFieldID",   null);

	var tmp = ["inputField", "displayArea", "button"];
	for (var i in tmp) {
		if (typeof params[tmp[i]] == "string") {
			params[tmp[i]] = document.getElementById(params[tmp[i]]);
		}
	}
	if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) {
		alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");
		return false;
	}

	function onSelect(cal) {
		var p = cal.params;
		var update = (cal.dateClicked || p.electric);
		if (update && p.inputField) {
			p.inputField.value = cal.date.print(p.ifFormat);
			if (typeof p.inputField.onchange == "function")
				p.inputField.onchange();
		}
		if (update && p.displayArea)
			p.displayArea.innerHTML = cal.date.print(p.daFormat);
		if (update && typeof p.onUpdate == "function")
			p.onUpdate(cal);
		if (update && p.flat) {
			if (typeof p.flatCallback == "function")
				p.flatCallback(cal);
		}
		if (update && p.singleClick && cal.dateClicked)
			cal.callCloseHandler();
	};

	if (params.flat != null) {
		if (typeof params.flat == "string")
			params.flat = document.getElementById(params.flat);
		if (!params.flat) {
			alert("Calendar.setup:\n  Flat specified but can't find parent.");
			return false;
		}
		var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect);
		cal.showsOtherMonths = params.showOthers;
		cal.showsTime = params.showsTime;
		cal.time24 = (params.timeFormat == "24");
		cal.params = params;
		cal.weekNumbers = params.weekNumbers;
		cal.setRange(params.range[0], params.range[1]);
		cal.setDateStatusHandler(params.dateStatusFunc);
		cal.getDateText = params.dateText;
		if (params.ifFormat) {
			cal.setDateFormat(params.ifFormat);
		}
		if (params.inputField && typeof params.inputField.value == "string") {
			cal.parseDate(params.inputField.value);
		}
		cal.create(params.flat);
		cal.show();
		return false;
	}

	var triggerEl = params.button || params.displayArea || params.inputField;
	triggerEl["on" + params.eventName] = function() {
		var dateEl = params.inputField || params.displayArea;
		var dateFmt = params.inputField ? params.ifFormat : params.daFormat;
		var mustCreate = false;
		var cal = window.calendar;

		if (dateEl.value != ''){
			params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt);
		}
		if (!(cal && params.cache)) {
      window.calendar = cal = new Calendar(params.firstDay,
							     params.date,
							     params.onSelect || onSelect,
							     params.onClose || function(cal) { cal.hide(); });
			cal.showsTime = params.showsTime;
			cal.time24 = (params.timeFormat == "24");
			cal.weekNumbers = params.weekNumbers;
			mustCreate = true;
		} else {
			if (params.date)
				cal.setDate(params.date);
			cal.hide();
		}
		if (params.multiple) {
			cal.multiple = {};
			for (var i = params.multiple.length; --i >= 0;) {
				var d = params.multiple[i];
				var ds = d.print("%Y%m%d");
				cal.multiple[ds] = d;
			}
		}
		cal.showsOtherMonths = params.showOthers;
		cal.yearStep = params.step;
		cal.setRange(params.range[0], params.range[1]);
		cal.params = params;
		cal.setDateStatusHandler(params.dateStatusFunc);
		cal.getDateText = params.dateText;
		cal.setDateFormat(dateFmt);
		if (mustCreate)
			cal.create();
		cal.refresh();
		if (!params.position)
			cal.showAtElement(params.button || params.displayArea || params.inputField, params.align);
		else
			cal.showAt(params.position[0], params.position[1]);
		return false;
	};

	return cal;
};

/*  Copyright websline, 2008 | www.websline.de
 * --------------------------------------------------------------------------
 *
 * The DHTML Calendar EXTENSION, version 1.0 
 *   
 * Developed by melko
 * 
 * Benutzerspezifische Daten   
 *
 * This script is distributed under the GNU Lesser General Public License.
 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html 
 ----------------------------------------------------------------------------
 */
 
/*
  WICHTIG!! Hier definiert man Saisonbeginn und Ende!!
  Monate gehen von 0 bis 11 !!
  Wenn man das ganze Jahr haben möcht, muss man folgendes definieren:
  
  beg_day  = 1;
  beg_mon  = 0;
  beg_year = 0;
  end_day  = 31;
  end_mon  = 11;
  end_year = 0;
  
  Jänner     = 0;
  Februar    = 1;
  März       = 2;
  April      = 3;
  Mai        = 4;
  Juni       = 5;
  Juli       = 6;
  August     = 7;
  September  = 8;
  Oktober    = 9;
  November   = 10;
  Dezember   = 11;
*/

var beg_day  = 1;
var beg_mon  = 0;
var beg_year = 0;
var end_day  = 31;
var end_mon  = 11;
var end_year = 0;

// wieviele Tage sollen automatisch für das Abreisedatum hinzugefügt werden!! (default 7)
var add_days = 7;

/* Schnellanfrage-Definition Start */

  // Beim Link zusammensetzen, das heißt beim Setzen der Parameter für linkPage, werden diese Variablen benötigt,
  // welche die ID der Calendar-Felder beinhalten.
  // Dieselbe ID wird ebenfalls als Ziel-Felder-id vom linkPage gesetzt. [function getURLValue()]
  //var arrive_date = "TIS.DateArrive_s";
  //var leave_date = "TIS.DateLeave_s";
  
  // Wenn im linkPage Fenster bzw. einem Iframe innerhalb diesem, das übergebene Datum in jeweils drei Felder
  // gesetzt werden soll, da muss in diesen Variablen hier dessen ID angegeben werden. [function getURLValue3()]
  //var arrive_day = "FF_24_TT";
  //var arrive_month = "FF_24_MM";
  //var arrive_year = "FF_24_JJJJ";
  //var leave_day = "FF_25_TT";
  //var leave_month = "FF_25_MM";
  //var leave_year = "FF_25_JJJJ";

  // hier bitte die <form-id der Schnellanfrage definieren!
  var frm = "schnellanfrage";
  
  // wenn man auf eine statische Seite verlinkt, dann bitte die URL hier eintragen, sonst leer lassen 
  var linkPage = "";

/* Schnellanfrage-Definition Ende */


/* Kundenspezifische Definition Start */

  // maximale Anzahl an Suchergebnissen
  var maxSPResults = 25;

/* Kundenspezifische Definition Ende */

/*  Copyright websline, 2008 | www.websline.de
 * --------------------------------------------------------------------------
 *
 * The DHTML Calendar EXTENSION, version 1.0 
 *   
 * Developed by melko 
 *
 * This script is distributed under the GNU Lesser General Public License.
 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html 
 * 
 * Don't change anything in this file !!! 
 ----------------------------------------------------------------------------
 */

// init Variablen
var aktDate = new Date();
var beginnSeason = new Date();
var beg_dt = new Date();
var end_dt = new Date();

// setze die Stunden auf null
aktDate.setHours(00, 00, 00, 00);
beginnSeason.setHours(00, 00, 00, 00);
beg_dt.setHours(00, 00, 00, 00);
end_dt.setHours(00, 00, 00, 00);

/*--------------------------------------------------*/
/* Calendar ÜberprüfungsFunktionen                  */
/*--------------------------------------------------*/

// hole das Saison-Beginn-Datum
getBeginnSeason();

/*
* holt das Saison-Beginn-Datum
* 
* Füllt die globalen Variablen beginnSeason
* und beg_dt_sel mit dem richtigen Datum
*/
function getBeginnSeason() {
  
  if(beg_year != 0){
    beginnSeason.setYear(beg_year);
    beginnSeason.setMonth(beg_mon);
    beginnSeason.setDate(beg_day);
    
    if(beginnSeason < aktDate){
      beginnSeason = aktDate;
    }
  } 
  else {
    if(beg_mon <= end_mon){
      if(beg_mon <= aktDate.getMonth()){
        beginnSeason = aktDate;
      }
      else{
        beginnSeason.setYear(aktDate.getFullYear());
        beginnSeason.setDate(beg_day);
        beginnSeason.setMonth(beg_mon);
      }
    }
    else{
      if(end_mon >= aktDate.getMonth()){
        beginnSeason = aktDate;
      }
      else{
        beginnSeason.setYear(aktDate.getFullYear());
        beginnSeason.setDate(beg_day);
        beginnSeason.setMonth(beg_mon);
      }
    }
  }  
}

/*
* Calculates the other date
* if the akt-inputField is arrive_date
* 
* Called by the inputField -> disableFunc
*
* Sets also the date-limit for the leave_date
*/
function calcOtherDate(cal) {
    
    var date = cal.date; 
    
    // if selected field is arrive_date
    if (cal.params.leaveFieldID != null) {
      // field to set Date is leave_date
      field = document.getElementById(cal.params.leaveFieldID);
      
      // add the right number of days
      var date2 = addDays(date);
          
      // write it
      field.value = date2.print(cal.params.ifFormat);
    }
}

/*
* Check the visible date and definies 
* if it is disabled or not
* 
* Called by the inputField -> onUpdate
* 
* Returns:
*  TRUE   -> date is disabled
*  FALSE  -> date isn't disabled
*/
function disableDate(date) {

    // set beginn and end date
    setBegEndDate(date);
    
    // Calendar-instanz
    var cal = window.calendar;
     
    // if selected field is leave_date
    if (cal.params.arriveFieldID != null) {
      
      // beg_dt_from_arriveField
      var datum = document.getElementById(cal.params.arriveFieldID).value;
      
      var beg_dt_sel = new Date();
      beg_dt_sel.setHours(00, 00, 00, 00);
      
      if(datum != ""){
        var werte = datum.split(".");
        beg_dt_sel.setYear(werte[2]);
        beg_dt_sel.setDate(werte[0]);
        beg_dt_sel.setMonth(werte[1]-1);
      }
      else {
        beg_dt_sel = beginnSeason;
      }
    
      if(date < beg_dt_sel){
        return true;
      }
    }

    // date is in the past
    if(date < aktDate){
      return true;
    }
    // date is in season
    else if(date >= beg_dt && date <= end_dt){
      return false;
    }
    
    // disable all other dates
    return true;
}

/*
* Sets the global variables beg_dt and end_dt
* with the right season_beginn and season_end
*/
function setBegEndDate(date) {
    
    // is year defined?? 
    if(beg_year == 0 && end_year == 0){
      // is beg_mon < end_mon??
      if(beg_mon <= end_mon){
        // year is date.YEAR
        beg_dt.setYear(date.getFullYear());
      }
      else{
        // is date.MONTH < end_mon ??
        if(date.getMonth() <= end_mon){
          beg_dt.setYear(date.getFullYear()-1);
        }
        else if(date.getMonth() >= beg_mon){
          beg_dt.setYear(date.getFullYear());
        }
        else{
          beg_dt.setYear(date.getFullYear());
        }
      }
	  // end_dt Jahr ist IMMER beg_dt.YEAR + 5
	  end_dt.setYear(beg_dt.getFullYear() + 5);
    }
    // year is defined
    else{
      // then set it
      beg_dt.setYear(beg_year);
      end_dt.setYear(end_year);
    }

    beg_dt.setDate(beg_day);
    beg_dt.setMonth(beg_mon);

    end_dt.setDate(end_day);
    end_dt.setMonth(end_mon);
}

/*
* Add so many days as defined
*/
function addDays(date) {

  var date2 = new Date(date);
  // add Days
  date2.setDate(date.getDate() + add_days);
  
  // set right date
  if(date2 < aktDate){
     date2 = aktDate;
  }
  else if(date2 < beg_dt){
    date2 = beg_dt;
  }
  else if(date2 > end_dt){
    date2 = end_dt;
  }
  return date2;
}

/*
* Sets the akt beg-date and end-date
* 
* If leave_field_id is "", then only arrive_field is set.
*/
function setBegSeason(arrive_field_id, leave_field_id) {
  
  // arrive_field element
  aField = document.getElementById(arrive_field_id);
  
  setBegEndDate(beginnSeason);
  
  // arrive_field date
  aField.value = beginnSeason.print("%d.%m.%Y");
  
  if(leave_field_id != "") {
    
    // leave_field element
    lField = document.getElementById(leave_field_id);

    // leave_field date
    lField.value = addDays(beginnSeason).print("%d.%m.%Y");
  }
}


