/* preload images function */
(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preloadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery);

/**
 * jQuery.splitList
 */
(function($) {
    $.fn.splitList = function(options) {
        var defaults = { numColumns: 0, equalizeCols:false };
        var opts = $.extend($.fn.splitList.defaults, options);
        
        if(opts.equalizeCols==true) {
            cWidth = $(this).parent().width();
            colW = Math.floor(cWidth / opts.numColumns);
        }

        this.each(function() {
            var ul = this;
            var li = $(ul).children("li");
            var xClass = $(ul).attr("class");
            $(ul).empty();

            if(opts.numColumns > 0) {
                opts.itemsPerColumn = Math.ceil(li.length / opts.numColumns);
            }

            for (var i = 0; i < opts.itemsPerColumn; i++)
                $(ul).append(li[i]);

                var curUl = ul;
                $(curUl).css({"float":"left","width":colW+"px"});
                             
                for (var i = 1; i < li.length / opts.itemsPerColumn; i++) {
                    
                    var newUl = document.createElement("ul");
                    for (var j = opts.itemsPerColumn * i; j < (opts.itemsPerColumn * i) + opts.itemsPerColumn; j++)
                        $(newUl).append(li[j]);
                    
                    $(newUl).css({"float":"left","width":colW+"px"}).addClass(xClass);
                    $(curUl).after(newUl);
                    curUl = newUl;
                }
            });
    };
})(jQuery);

/*
 * jquery.tools 1.1.2 - The missing UI library for the Web
 *
 * [tools.tabs-1.0.4, tools.tabs.slideshow-1.0.2, tools.tabs.history-1.0.2, tools.tooltip-1.1.2, tools.tooltip.slide-1.0.0, tools.tooltip.dynamic-1.0.1, tools.scrollable-1.1.2, tools.scrollable.circular-0.5.1, tools.scrollable.autoscroll-1.0.1, tools.scrollable.navigator-1.0.2, tools.scrollable.mousewheel-1.0.1, tools.overlay-1.1.2, tools.overlay.gallery-1.0.0, tools.overlay.apple-1.0.1, tools.expose-1.0.5]
 *
 * Copyright (c) 2009 Tero Piirainen
 * http://flowplayer.org/tools/
 *
 * Dual licensed under MIT and GPL 2+ licenses
 * http://www.opensource.org/licenses
 *
 * -----
 *
 * jquery.event.wheel.js - rev 1
 * Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
 * Liscensed under the MIT License (MIT-LICENSE.txt)
 * http://www.opensource.org/licenses/mit-license.php
 * Created: 2008-07-01 | Updated: 2008-07-14
 *
 * -----
 *
 * File generated: Wed Oct 07 12:05:57 GMT+00:00 2009
 */
(function(d){d.tools=d.tools||{};d.tools.tabs={version:"1.0.4",conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialIndex:0,event:"click",api:false,rotate:false},addEffect:function(e,f){c[e]=f}};var c={"default":function(f,e){this.getPanes().hide().eq(f).show();e.call()},fade:function(g,e){var f=this.getConf(),j=f.fadeOutSpeed,h=this.getPanes();if(j){h.fadeOut(j)}else{h.hide()}h.eq(g).fadeIn(f.fadeInSpeed,e)},slide:function(f,e){this.getPanes().slideUp(200);this.getPanes().eq(f).slideDown(400,e)},ajax:function(f,e){this.getPanes().eq(0).load(this.getTabs().eq(f).attr("href"),e)}};var b;d.tools.tabs.addEffect("horizontal",function(f,e){if(!b){b=this.getPanes().eq(0).width()}this.getCurrentPane().animate({width:0},function(){d(this).hide()});this.getPanes().eq(f).animate({width:b},function(){d(this).show();e.call()})});function a(g,h,f){var e=this,j=d(this),i;d.each(f,function(k,l){if(d.isFunction(l)){j.bind(k,l)}});d.extend(this,{click:function(k,n){var o=e.getCurrentPane();var l=g.eq(k);if(typeof k=="string"&&k.replace("#","")){l=g.filter("[href*="+k.replace("#","")+"]");k=Math.max(g.index(l),0)}if(f.rotate){var m=g.length-1;if(k<0){return e.click(m,n)}if(k>m){return e.click(0,n)}}if(!l.length){if(i>=0){return e}k=f.initialIndex;l=g.eq(k)}if(k===i){return e}n=n||d.Event();n.type="onBeforeClick";j.trigger(n,[k]);if(n.isDefaultPrevented()){return}c[f.effect].call(e,k,function(){n.type="onClick";j.trigger(n,[k])});n.type="onStart";j.trigger(n,[k]);if(n.isDefaultPrevented()){return}i=k;g.removeClass(f.current);l.addClass(f.current);return e},getConf:function(){return f},getTabs:function(){return g},getPanes:function(){return h},getCurrentPane:function(){return h.eq(i)},getCurrentTab:function(){return g.eq(i)},getIndex:function(){return i},next:function(){return e.click(i+1)},prev:function(){return e.click(i-1)},bind:function(k,l){j.bind(k,l);return e},onBeforeClick:function(k){return this.bind("onBeforeClick",k)},onClick:function(k){return this.bind("onClick",k)},unbind:function(k){j.unbind(k);return e}});g.each(function(k){d(this).bind(f.event,function(l){e.click(k,l);return false})});if(location.hash){e.click(location.hash)}else{if(f.initialIndex===0||f.initialIndex>0){e.click(f.initialIndex)}}h.find("a[href^=#]").click(function(k){e.click(d(this).attr("href"),k)})}d.fn.tabs=function(i,f){var g=this.eq(typeof f=="number"?f:0).data("tabs");if(g){return g}if(d.isFunction(f)){f={onBeforeClick:f}}var h=d.extend({},d.tools.tabs.conf),e=this.length;f=d.extend(h,f);this.each(function(l){var j=d(this);var k=j.find(f.tabs);if(!k.length){k=j.children()}var m=i.jquery?i:j.children(i);if(!m.length){m=e==1?d(i):j.parent().find(i)}g=new a(k,m,f);j.data("tabs",g)});return f.api?g:this}})(jQuery);
(function(b){var a=b.tools.tabs;a.plugins=a.plugins||{};a.plugins.slideshow={version:"1.0.2",conf:{next:".forward",prev:".backward",disabledClass:"disabled",autoplay:false,autopause:true,interval:3000,clickable:true,api:false}};b.prototype.slideshow=function(e){var f=b.extend({},a.plugins.slideshow.conf),c=this.length,d;e=b.extend(f,e);this.each(function(){var p=b(this),m=p.tabs(),i=b(m),o=m;b.each(e,function(t,u){if(b.isFunction(u)){m.bind(t,u)}});function n(t){return c==1?b(t):p.parent().find(t)}var s=n(e.next).click(function(){m.next()});var q=n(e.prev).click(function(){m.prev()});var h,j,l,g=false;b.extend(m,{play:function(){if(h){return}var t=b.Event("onBeforePlay");i.trigger(t);if(t.isDefaultPrevented()){return m}g=false;h=setInterval(m.next,e.interval);i.trigger("onPlay");m.next()},pause:function(){if(!h){return m}var t=b.Event("onBeforePause");i.trigger(t);if(t.isDefaultPrevented()){return m}h=clearInterval(h);l=clearInterval(l);i.trigger("onPause")},stop:function(){m.pause();g=true},onBeforePlay:function(t){return m.bind("onBeforePlay",t)},onPlay:function(t){return m.bind("onPlay",t)},onBeforePause:function(t){return m.bind("onBeforePause",t)},onPause:function(t){return m.bind("onPause",t)}});if(e.autopause){var k=m.getTabs().add(s).add(q).add(m.getPanes());k.hover(function(){m.pause();j=clearInterval(j)},function(){if(!g){j=setTimeout(m.play,e.interval)}})}if(e.autoplay){l=setTimeout(m.play,e.interval)}else{m.stop()}if(e.clickable){m.getPanes().click(function(){m.next()})}if(!m.getConf().rotate){var r=e.disabledClass;if(!m.getIndex()){q.addClass(r)}m.onBeforeClick(function(u,t){if(!t){q.addClass(r)}else{q.removeClass(r);if(t==m.getTabs().length-1){s.addClass(r)}else{s.removeClass(r)}}})}});return e.api?d:this}})(jQuery);
(function(d){var a=d.tools.tabs;a.plugins=a.plugins||{};a.plugins.history={version:"1.0.2",conf:{api:false}};var e,b;function c(f){if(f){var g=b.contentWindow.document;g.open().close();g.location.hash=f}}d.fn.onHash=function(g){var f=this;if(d.browser.msie&&d.browser.version<"8"){if(!b){b=d("<iframe/>").attr("src","javascript:false;").hide().get(0);d("body").append(b);setInterval(function(){var i=b.contentWindow.document,j=i.location.hash;if(e!==j){d.event.trigger("hash",j);e=j}},100);c(location.hash||"#")}f.bind("click.hash",function(h){c(d(this).attr("href"))})}else{setInterval(function(){var j=location.hash;var i=f.filter("[href$="+j+"]");if(!i.length){j=j.replace("#","");i=f.filter("[href$="+j+"]")}if(i.length&&j!==e){e=j;d.event.trigger("hash",j)}},100)}d(window).bind("hash",g);return this};d.fn.history=function(g){var h=d.extend({},a.plugins.history.conf),f;g=d.extend(h,g);this.each(function(){var j=d(this).tabs(),i=j.getTabs();if(j){f=j}i.onHash(function(k,l){if(!l||l=="#"){l=j.getConf().initialIndex}j.click(l)});i.click(function(k){location.hash=d(this).attr("href").replace("#","")})});return g.api?f:this}})(jQuery);
(function(b){b.tools=b.tools||{};b.tools.scrollable={version:"1.1.2",conf:{size:5,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:"disabled",hoverClass:null,clickable:true,activeClass:"active",easing:"swing",loop:false,items:".items",item:null,prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",api:false}};var c;function a(o,m){var r=this,p=b(this),d=!m.vertical,e=o.children(),k=0,i;if(!c){c=r}b.each(m,function(s,t){if(b.isFunction(t)){p.bind(s,t)}});if(e.length>1){e=b(m.items,o)}function l(t){var s=b(t);return m.globalNav?s:o.parent().find(t)}o.data("finder",l);var f=l(m.prev),h=l(m.next),g=l(m.prevPage),n=l(m.nextPage);b.extend(r,{getIndex:function(){return k},getClickIndex:function(){var s=r.getItems();return s.index(s.filter("."+m.activeClass))},getConf:function(){return m},getSize:function(){return r.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/m.size)},getPageIndex:function(){return Math.ceil(k/m.size)},getNaviButtons:function(){return f.add(h).add(g).add(n)},getRoot:function(){return o},getItemWrap:function(){return e},getItems:function(){return e.children(m.item)},getVisibleItems:function(){return r.getItems().slice(k,k+m.size)},seekTo:function(s,w,t){if(s<0){s=0}if(k===s){return r}if(b.isFunction(w)){t=w}if(s>r.getSize()-m.size){return m.loop?r.begin():this.end()}var u=r.getItems().eq(s);if(!u.length){return r}var v=b.Event("onBeforeSeek");p.trigger(v,[s]);if(v.isDefaultPrevented()){return r}if(w===undefined||b.isFunction(w)){w=m.speed}function x(){if(t){t.call(r,s)}p.trigger("onSeek",[s])}if(d){e.animate({left:-u.position().left},w,m.easing,x)}else{e.animate({top:-u.position().top},w,m.easing,x)}c=r;k=s;v=b.Event("onStart");p.trigger(v,[s]);if(v.isDefaultPrevented()){return r}f.add(g).toggleClass(m.disabledClass,s===0);h.add(n).toggleClass(m.disabledClass,s>=r.getSize()-m.size);return r},move:function(u,t,s){i=u>0;return this.seekTo(k+u,t,s)},next:function(t,s){return this.move(1,t,s)},prev:function(t,s){return this.move(-1,t,s)},movePage:function(w,v,u){i=w>0;var s=m.size*w;var t=k%m.size;if(t>0){s+=(w>0?-t:m.size-t)}return this.move(s,v,u)},prevPage:function(t,s){return this.movePage(-1,t,s)},nextPage:function(t,s){return this.movePage(1,t,s)},setPage:function(t,u,s){return this.seekTo(t*m.size,u,s)},begin:function(t,s){i=false;return this.seekTo(0,t,s)},end:function(t,s){i=true;var u=this.getSize()-m.size;return u>0?this.seekTo(u,t,s):r},reload:function(){p.trigger("onReload");return r},focus:function(){c=r;return r},click:function(u){var v=r.getItems().eq(u),s=m.activeClass,t=m.size;if(u<0||u>=r.getSize()){return r}if(t==1){if(m.loop){return r.next()}if(u===0||u==r.getSize()-1){i=(i===undefined)?true:!i}return i===false?r.prev():r.next()}if(t==2){if(u==k){u--}r.getItems().removeClass(s);v.addClass(s);return r.seekTo(u,time,fn)}if(!v.hasClass(s)){r.getItems().removeClass(s);v.addClass(s);var x=Math.floor(t/2);var w=u-x;if(w>r.getSize()-t){w=r.getSize()-t}if(w!==u){return r.seekTo(w)}}return r},bind:function(s,t){p.bind(s,t);return r},unbind:function(s){p.unbind(s);return r}});b.each("onBeforeSeek,onStart,onSeek,onReload".split(","),function(s,t){r[t]=function(u){return r.bind(t,u)}});f.addClass(m.disabledClass).click(function(){r.prev()});h.click(function(){r.next()});n.click(function(){r.nextPage()});if(r.getSize()<m.size){h.add(n).addClass(m.disabledClass)}g.addClass(m.disabledClass).click(function(){r.prevPage()});var j=m.hoverClass,q="keydown."+Math.random().toString().substring(10);r.onReload(function(){if(j){r.getItems().hover(function(){b(this).addClass(j)},function(){b(this).removeClass(j)})}if(m.clickable){r.getItems().each(function(s){b(this).unbind("click.scrollable").bind("click.scrollable",function(t){if(b(t.target).is("a")){return}return r.click(s)})})}if(m.keyboard){b(document).unbind(q).bind(q,function(t){if(t.altKey||t.ctrlKey){return}if(m.keyboard!="static"&&c!=r){return}var u=m.keyboardSteps;if(d&&(t.keyCode==37||t.keyCode==39)){r.move(t.keyCode==37?-u:u);return t.preventDefault()}if(!d&&(t.keyCode==38||t.keyCode==40)){r.move(t.keyCode==38?-u:u);return t.preventDefault()}return true})}else{b(document).unbind(q)}});r.reload()}b.fn.scrollable=function(d){var e=this.eq(typeof d=="number"?d:0).data("scrollable");if(e){return e}var f=b.extend({},b.tools.scrollable.conf);d=b.extend(f,d);d.keyboardSteps=d.keyboardSteps||d.size;this.each(function(){e=new a(b(this),d);b(this).data("scrollable",e)});return d.api?e:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.circular={version:"0.5.1",conf:{api:false,clonedClass:"cloned"}};b.fn.circular=function(e){var d=b.extend({},a.plugins.circular.conf),c;b.extend(d,e);this.each(function(){var i=b(this).scrollable(),n=i.getItems(),k=i.getConf(),f=i.getItemWrap(),j=0;if(i){c=i}if(n.length<k.size){return false}n.slice(0,k.size).each(function(o){b(this).clone().appendTo(f).click(function(){i.click(n.length+o)}).addClass(d.clonedClass)});var l=b.makeArray(n.slice(-k.size)).reverse();b(l).each(function(o){b(this).clone().prependTo(f).click(function(){i.click(-o-1)}).addClass(d.clonedClass)});var m=f.children(k.item);var h=k.hoverClass;if(h){m.hover(function(){b(this).addClass(h)},function(){b(this).removeClass(h)})}function g(o){var p=m.eq(o);if(k.vertical){f.css({top:-p.position().top})}else{f.css({left:-p.position().left})}}g(k.size);b.extend(i,{move:function(s,r,p,q){var u=j+s+k.size;var t=u>i.getSize()-k.size;if(u<=0||t){var o=j+k.size+(t?-n.length:n.length);g(o);u=o+s}if(q){m.removeClass(k.activeClass).eq(u+Math.floor(k.size/2)).addClass(k.activeClass)}if(u===j+k.size){return self}return i.seekTo(u,r,p)},begin:function(p,o){return this.seekTo(k.size,p,o)},end:function(p,o){return this.seekTo(n.length,p,o)},click:function(p,r,q){if(!k.clickable){return self}if(k.size==1){return this.next()}var s=p-j,o=k.activeClass;s-=Math.floor(k.size/2);return this.move(s,r,q,true)},getIndex:function(){return j},setPage:function(p,q,o){return this.seekTo(p*k.size+k.size,q,o)},getPageAmount:function(){return Math.ceil(n.length/k.size)},getPageIndex:function(){if(j<0){return this.getPageAmount()-1}if(j>=n.length){return 0}var o=(j+k.size)/k.size-1;return o},getVisibleItems:function(){var o=j+k.size;return m.slice(o,o+k.size)}});i.onStart(function(p,o){j=o-k.size;return false});i.getNaviButtons().removeClass(k.disabledClass)});return d.api?c:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.autoscroll={version:"1.0.1",conf:{autoplay:true,interval:3000,autopause:true,steps:1,api:false}};b.fn.autoscroll=function(d){if(typeof d=="number"){d={interval:d}}var e=b.extend({},a.plugins.autoscroll.conf),c;b.extend(e,d);this.each(function(){var g=b(this).scrollable();if(g){c=g}var i,f,h=true;g.play=function(){if(i){return}h=false;i=setInterval(function(){g.move(e.steps)},e.interval);g.move(e.steps)};g.pause=function(){i=clearInterval(i)};g.stop=function(){g.pause();h=true};if(e.autopause){g.getRoot().add(g.getNaviButtons()).hover(function(){g.pause();clearInterval(f)},function(){if(!h){f=setTimeout(g.play,e.interval)}})}if(e.autoplay){setTimeout(g.play,e.interval)}});return e.api?c:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.navigator={version:"1.0.2",conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,api:false,idPrefix:null}};b.fn.navigator=function(d){var e=b.extend({},a.plugins.navigator.conf),c;if(typeof d=="string"){d={navi:d}}d=b.extend(e,d);this.each(function(){var i=b(this).scrollable(),f=i.getRoot(),l=f.data("finder").call(null,d.navi),g=null,k=i.getNaviButtons();if(i){c=i}i.getNaviButtons=function(){return k.add(l)};function j(){if(!l.children().length||l.data("navi")==i){l.empty();l.data("navi",i);for(var m=0;m<i.getPageAmount();m++){l.append(b("<"+(d.naviItem||"a")+"/>"))}g=l.children().each(function(n){var o=b(this);o.click(function(p){i.setPage(n);return p.preventDefault()});if(d.indexed){o.text(n)}if(d.idPrefix){o.attr("id",d.idPrefix+n)}})}else{g=d.naviItem?l.find(d.naviItem):l.children();g.each(function(n){var o=b(this);o.click(function(p){i.setPage(n);return p.preventDefault()})})}g.eq(0).addClass(d.activeClass)}i.onStart(function(o,n){var m=d.activeClass;g.removeClass(m).eq(i.getPageIndex()).addClass(m)});i.onReload(function(){j()});j();var h=g.filter("[href="+location.hash+"]");if(h.length){i.move(g.index(h))}});return d.api?c:this}})(jQuery);

/*  ColorBox v1.3.6 - a full featured, light-weight, customizable lightbox based on jQuery 1.3 */
(function(c){function r(b,d){d=d==="x"?m.width():m.height();return typeof b==="string"?Math.round(b.match(/%/)?d/100*parseInt(b,10):parseInt(b,10)):b}function M(b){b=c.isFunction(b)?b.call(i):b;return a.photo||b.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i)}function Y(){for(var b in a)if(c.isFunction(a[b])&&b.substring(0,2)!=="on")a[b]=a[b].call(i);a.rel=a.rel||i.rel;a.href=a.href||i.href;a.title=a.title||i.title}function Z(b){i=b;a=c(i).data(q);Y();if(a.rel&&a.rel!=="nofollow"){g= c(".cboxElement").filter(function(){return(c(this).data(q).rel||this.rel)===a.rel});j=g.index(i);if(j<0){g=g.add(i);j=g.length-1}}else{g=c(i);j=0}if(!B){C=B=n;N=i;N.blur();c(document).bind("keydown.cbox_close",function(d){if(d.keyCode===27){d.preventDefault();e.close()}}).bind("keydown.cbox_arrows",function(d){if(g.length>1)if(d.keyCode===37){d.preventDefault();D.click()}else if(d.keyCode===39){d.preventDefault();E.click()}});a.overlayClose&&s.css({cursor:"pointer"}).one("click",e.close);c.event.trigger(aa); a.onOpen&&a.onOpen.call(i);s.css({opacity:a.opacity}).show();a.w=r(a.initialWidth,"x");a.h=r(a.initialHeight,"y");e.position(0);O&&m.bind("resize.cboxie6 scroll.cboxie6",function(){s.css({width:m.width(),height:m.height(),top:m.scrollTop(),left:m.scrollLeft()})}).trigger("scroll.cboxie6")}P.add(D).add(E).add(t).add(Q).hide();R.html(a.close).show();e.slideshow();e.load()}var q="colorbox",F="hover",n=true,e,x=!c.support.opacity,O=x&&!window.XMLHttpRequest,aa="cbox_open",H="cbox_load",S="cbox_complete", T="resize.cbox_resize",s,k,u,p,U,V,W,X,g,m,l,I,J,K,Q,P,t,E,D,R,y,z,v,w,i,N,j,a,B,C,$={transition:"elastic",speed:350,width:false,height:false,innerWidth:false,innerHeight:false,initialWidth:"400",initialHeight:"400",maxWidth:false,maxHeight:false,scalePhotos:n,scrolling:n,inline:false,html:false,iframe:false,photo:false,href:false,title:false,rel:false,opacity:0.9,preloading:n,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:false,overlayClose:n,slideshow:false, slideshowAuto:n,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false};e=c.fn.colorbox=function(b,d){var h=this;if(!h.length)if(h.selector===""){h=c("<a/>");b.open=n}else return this;h.each(function(){var f=c.extend({},c(this).data(q)?c(this).data(q):$,b);c(this).data(q,f).addClass("cboxElement");if(d)c(this).data(q).onComplete=d});b&&b.open&&Z(h);return this};e.init=function(){function b(d){return c('<div id="cbox'+ d+'"/>')}m=c(window);k=c('<div id="colorbox"/>');s=b("Overlay").hide();u=b("Wrapper");p=b("Content").append(l=b("LoadedContent").css({width:0,height:0}),J=b("LoadingOverlay"),K=b("LoadingGraphic"),Q=b("Title"),P=b("Current"),t=b("Slideshow"),E=b("Next"),D=b("Previous"),R=b("Close"));u.append(c("<div/>").append(b("TopLeft"),U=b("TopCenter"),b("TopRight")),c("<div/>").append(V=b("MiddleLeft"),p,W=b("MiddleRight")),c("<div/>").append(b("BottomLeft"),X=b("BottomCenter"),b("BottomRight"))).children().children().css({"float":"left"}); I=c("<div style='position:absolute; top:0; left:0; width:9999px; height:0;'/>");c("body").prepend(s,k.append(u,I));if(x){k.addClass("cboxIE");O&&s.css("position","absolute")}p.children().bind("mouseover mouseout",function(){c(this).toggleClass(F)}).addClass(F);y=U.height()+X.height()+p.outerHeight(n)-p.height();z=V.width()+W.width()+p.outerWidth(n)-p.width();v=l.outerHeight(n);w=l.outerWidth(n);k.css({"padding-bottom":y,"padding-right":z}).hide();E.click(e.next);D.click(e.prev);R.click(e.close);p.children().removeClass(F); c(".cboxElement").live("click",function(d){if(d.button!==0&&typeof d.button!=="undefined")return n;else{Z(this);return false}})};e.position=function(b,d){function h(A){U[0].style.width=X[0].style.width=p[0].style.width=A.style.width;K[0].style.height=J[0].style.height=p[0].style.height=V[0].style.height=W[0].style.height=A.style.height}var f=m.height();f=Math.max(f-a.h-v-y,0)/2+m.scrollTop();var o=Math.max(document.documentElement.clientWidth-a.w-w-z,0)/2+m.scrollLeft();b=k.width()===a.w+w&&k.height()=== a.h+v?0:b;u[0].style.width=u[0].style.height="9999px";k.dequeue().animate({width:a.w+w,height:a.h+v,top:f,left:o},{duration:b,complete:function(){h(this);C=false;u[0].style.width=a.w+w+z+"px";u[0].style.height=a.h+v+y+"px";d&&d()},step:function(){h(this)}})};e.resize=function(b){function d(){a.w=a.w||l.width();a.w=a.mw&&a.mw<a.w?a.mw:a.w;return a.w}function h(){a.h=a.h||l.height();a.h=a.mh&&a.mh<a.h?a.mh:a.h;return a.h}function f(G){e.position(G,function(){if(B){if(x){A&&l.fadeIn(100);k[0].style.removeAttribute("filter")}if(a.iframe)l.append("<iframe id='cboxIframe'"+ (a.scrolling?" ":"scrolling='no'")+" name='iframe_"+(new Date).getTime()+"' frameborder=0 src='"+a.href+"' "+(x?"allowtransparency='true'":"")+" />");l.show();Q.show().html(a.title);if(g.length>1){P.html(a.current.replace(/\{current\}/,j+1).replace(/\{total\}/,g.length)).show();E.html(a.next).show();D.html(a.previous).show();a.slideshow&&t.show()}J.hide();K.hide();c.event.trigger(S);a.onComplete&&a.onComplete.call(i);a.transition==="fade"&&k.fadeTo(L,1,function(){x&&k[0].style.removeAttribute("filter")}); m.bind(T,function(){e.position(0)})}})}if(B){var o,A,L=a.transition==="none"?0:a.speed;m.unbind(T);if(b){l.remove();l=c('<div id="cboxLoadedContent"/>').html(b);l.hide().appendTo(I).css({width:d(),overflow:a.scrolling?"auto":"hidden"}).css({height:h()}).prependTo(p);c("#cboxPhoto").css({cssFloat:"none"});O&&c("select:not(#colorbox select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("cbox_cleanup",function(){this.style.visibility="inherit"});a.transition=== "fade"&&k.fadeTo(L,0,function(){f(0)})||f(L);if(a.preloading&&g.length>1){b=j>0?g[j-1]:g[g.length-1];o=j<g.length-1?g[j+1]:g[0];o=c(o).data(q).href||o.href;b=c(b).data(q).href||b.href;M(o)&&c("<img />").attr("src",o);M(b)&&c("<img />").attr("src",b)}}else setTimeout(function(){var G=l.wrapInner("<div style='overflow:auto'></div>").children();a.h=G.height();l.css({height:a.h});G.replaceWith(G.children());e.position(L)},1)}};e.load=function(){var b,d,h,f=e.resize;C=n;i=g[j];a=c(i).data(q);Y();c.event.trigger(H); a.onLoad&&a.onLoad.call(i);a.h=a.height?r(a.height,"y")-v-y:a.innerHeight?r(a.innerHeight,"y"):false;a.w=a.width?r(a.width,"x")-w-z:a.innerWidth?r(a.innerWidth,"x"):false;a.mw=a.w;a.mh=a.h;if(a.maxWidth){a.mw=r(a.maxWidth,"x")-w-z;a.mw=a.w&&a.w<a.mw?a.w:a.mw}if(a.maxHeight){a.mh=r(a.maxHeight,"y")-v-y;a.mh=a.h&&a.h<a.mh?a.h:a.mh}b=a.href;J.show();K.show();if(a.inline){c('<div id="cboxInlineTemp" />').hide().insertBefore(c(b)[0]).bind(H+" cbox_cleanup",function(){c(this).replaceWith(l.children())}); f(c(b))}else if(a.iframe)f(" ");else if(a.html)f(a.html);else if(M(b)){d=new Image;d.onload=function(){var o;d.onload=null;d.id="cboxPhoto";c(d).css({margin:"auto",border:"none",display:"block",cssFloat:"left"});if(a.scalePhotos){h=function(){d.height-=d.height*o;d.width-=d.width*o};if(a.mw&&d.width>a.mw){o=(d.width-a.mw)/d.width;h()}if(a.mh&&d.height>a.mh){o=(d.height-a.mh)/d.height;h()}}if(a.h)d.style.marginTop=Math.max(a.h-d.height,0)/2+"px";f(d);g.length>1&&c(d).css({cursor:"pointer"}).click(e.next); if(x)d.style.msInterpolationMode="bicubic"};d.src=b}else c("<div />").appendTo(I).load(b,function(o,A){A==="success"?f(this):f(c("<p>Request unsuccessful.</p>"))})};e.next=function(){if(!C){j=j<g.length-1?j+1:0;e.load()}};e.prev=function(){if(!C){j=j>0?j-1:g.length-1;e.load()}};e.slideshow=function(){function b(){t.text(a.slideshowStop).bind(S,function(){h=setTimeout(e.next,a.slideshowSpeed)}).bind(H,function(){clearTimeout(h)}).one("click",function(){d();c(this).removeClass(F)});k.removeClass(f+ "off").addClass(f+"on")}var d,h,f="cboxSlideshow_";t.bind("cbox_closed",function(){t.unbind();clearTimeout(h);k.removeClass(f+"off "+f+"on")});d=function(){clearTimeout(h);t.text(a.slideshowStart).unbind(S+" "+H).one("click",function(){b();h=setTimeout(e.next,a.slideshowSpeed);c(this).removeClass(F)});k.removeClass(f+"on").addClass(f+"off")};if(a.slideshow&&g.length>1)a.slideshowAuto?b():d()};e.close=function(){c.event.trigger("cbox_cleanup");a.onCleanup&&a.onCleanup.call(i);B=false;c(document).unbind("keydown.cbox_close keydown.cbox_arrows"); m.unbind(T+" resize.cboxie6 scroll.cboxie6");s.css({cursor:"auto"}).fadeOut("fast");k.stop(n,false).fadeOut("fast",function(){c("#colorbox iframe").attr("src","about:blank");l.remove();k.css({opacity:1});try{N.focus()}catch(b){}c.event.trigger("cbox_closed");a.onClosed&&a.onClosed.call(i)})};e.element=function(){return c(i)};e.settings=$;c(e.init)})(jQuery);

/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
*
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);

(function($){

	//Finding min and max values in array from http://snippets.dzone.com/posts/show/769
	Array.prototype.min = function(){ return Math.min.apply({},this) };
	Array.prototype.max = function(){ return Math.max.apply({},this) };

	$.fn.masonry = function() {
		this.each(function() {

			var wall = $(this);

			if ( wall.children().length > 0 ) { // check if the element has anything in it

				if( wall.children('.masonryWrap').length == 0 ) {      // checks if the masonryWrap div is already there
					wall.wrapInner('<div class=\"masonryWrap\"></div>');
				}
				var mWrap = wall.children('.masonryWrap');

				var brick = mWrap.children();
				var brickW = brick.outerWidth(true);
				var colCount = Math.floor( mWrap.width() / brickW ) ;

				var colH=new Array();
				for ( i=0; i < colCount; i++) {
					colH[ i ] =  0 ;
				}

				mWrap.css({ position: 'relative' });

				brick.css({
						float: 'none',
						position: 'absolute',
						display: 'block'
					})
					.each(function(){
						for ( i=colCount-1; i > -1; i-- ) {
							if ( colH[ i ] == colH.min() ) {
								var thisCol = i;
							}
						}
						$(this).css({
							top: colH[ thisCol ],
							left: brickW * thisCol
						});
						colH[ thisCol ] += $(this).outerHeight(true);
					});

				mWrap.height( colH.max() );
			}

			return this;
		});
	};
})(jQuery);

/*
 * Autocomplete - jQuery plugin 1.1pre
 *
 * Copyright (c) 2007 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, J?rn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.autocomplete.js 5785 2008-07-12 10:37:33Z joern.zaefferer $
 *
 */

;(function($) {

$.fn.extend({
	autocomplete: function(urlOrData, options) {
		var isUrl = typeof urlOrData == "string";
		options = $.extend({}, $.Autocompleter.defaults, {
			url: isUrl ? urlOrData : null,
			data: isUrl ? null : urlOrData,
			delay: isUrl ? $.Autocompleter.defaults.delay : 10,
			max: options && !options.scroll ? 10 : 150
		}, options);

		// if highlight is set to false, replace it with a do-nothing function
		options.highlight = options.highlight || function(value) { return value; };

		// if the formatMatch option is not specified, then use formatItem for backwards compatibility
		options.formatMatch = options.formatMatch || options.formatItem;

		return this.each(function() {
			new $.Autocompleter(this, options);
		});
	},
	result: function(handler) {
		return this.bind("result", handler);
	},
	search: function(handler) {
		return this.trigger("search", [handler]);
	},
	flushCache: function() {
		return this.trigger("flushCache");
	},
	setOptions: function(options){
		return this.trigger("setOptions", [options]);
	},
	unautocomplete: function() {
		return this.trigger("unautocomplete");
	}
});

$.Autocompleter = function(input, options) {

	var KEY = {
		UP: 38,
		DOWN: 40,
		DEL: 46,
		TAB: 9,
		RETURN: 13,
		ESC: 27,
		COMMA: 188,
		PAGEUP: 33,
		PAGEDOWN: 34,
		BACKSPACE: 8
	};

	// Create $ object for input element
	var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);

	var timeout;
	var previousValue = "";
	var cache = $.Autocompleter.Cache(options);
	var hasFocus = 0;
	var lastKeyPressCode;
	var config = {
		mouseDownOnSelect: false
	};
	var select = $.Autocompleter.Select(options, input, selectCurrent, config);

	var blockSubmit;

	// prevent form submit in opera when selecting with return key
	$.browser.opera && $(input.form).bind("submit.autocomplete", function() {
		if (blockSubmit) {
			blockSubmit = false;
			return false;
		}
	});

	// only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
	$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
		// track last key pressed
		lastKeyPressCode = event.keyCode;
		switch(event.keyCode) {

			case KEY.UP:
				event.preventDefault();
				if ( select.visible() ) {
					select.prev();
				} else {
					onChange(0, true);
				}
				break;

			case KEY.DOWN:
				event.preventDefault();
				if ( select.visible() ) {
					select.next();
				} else {
					onChange(0, true);
				}
				break;

			case KEY.PAGEUP:
				event.preventDefault();
				if ( select.visible() ) {
					select.pageUp();
				} else {
					onChange(0, true);
				}
				break;

			case KEY.PAGEDOWN:
				event.preventDefault();
				if ( select.visible() ) {
					select.pageDown();
				} else {
					onChange(0, true);
				}
				break;

			// matches also semicolon
			case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
			case KEY.TAB:
			case KEY.RETURN:
				if( selectCurrent() ) {
					// stop default to prevent a form submit, Opera needs special handling
					event.preventDefault();
					blockSubmit = true;
					return false;
				}
				break;

			case KEY.ESC:
				select.hide();
				break;

			default:
				clearTimeout(timeout);
				timeout = setTimeout(onChange, options.delay);
				break;
		}
	}).focus(function(){
		// track whether the field has focus, we shouldn't process any
		// results if the field no longer has focus
		hasFocus++;
	}).blur(function() {
		hasFocus = 0;
		if (!config.mouseDownOnSelect) {
			hideResults();
		}
	}).click(function() {
		// show select when clicking in a focused field
		if ( hasFocus++ > 1 && !select.visible() ) {
			onChange(0, true);
		}
	}).bind("search", function() {
		// TODO why not just specifying both arguments?
		var fn = (arguments.length > 1) ? arguments[1] : null;
		function findValueCallback(q, data) {
			var result;
			if( data && data.length ) {
				for (var i=0; i < data.length; i++) {
					if( data[i].result.toLowerCase() == q.toLowerCase() ) {
						result = data[i];
						break;
					}
				}
			}
			if( typeof fn == "function" ) fn(result);
			else $input.trigger("result", result && [result.data, result.value]);
		}
		$.each(trimWords($input.val()), function(i, value) {
			request(value, findValueCallback, findValueCallback);
		});
	}).bind("flushCache", function() {
		cache.flush();
	}).bind("setOptions", function() {
		$.extend(options, arguments[1]);
		// if we've updated the data, repopulate
		if ( "data" in arguments[1] )
			cache.populate();
	}).bind("unautocomplete", function() {
		select.unbind();
		$input.unbind();
		$(input.form).unbind(".autocomplete");
	});
	
	function selectCurrent() {
		var selected = select.selected();
		if( !selected )
			return false;

		var v = selected.result;
		previousValue = v;

		if ( options.multiple ) {
			var words = trimWords($input.val());
			if ( words.length > 1 ) {
				v = words.slice(0, words.length - 1).join( options.multipleSeparator ) + options.multipleSeparator + v;
			}
			v += options.multipleSeparator;
		}

		$input.val(v);
		hideResultsNow();
		$input.trigger("result", [selected.data, selected.value]);
		return true;
	}

	function onChange(crap, skipPrevCheck) {
		if( lastKeyPressCode == KEY.DEL ) {
			select.hide();
			return;
		}

		var currentValue = $input.val();

		if ( !skipPrevCheck && currentValue == previousValue )
			return;

		previousValue = currentValue;

		currentValue = lastWord(currentValue);
		if ( currentValue.length >= options.minChars) {
			$input.addClass(options.loadingClass);
			if (!options.matchCase)
				currentValue = currentValue.toLowerCase();
			request(currentValue, receiveData, hideResultsNow);
		} else {
			stopLoading();
			select.hide();
		}
	};

	function trimWords(value) {
		if ( !value ) {
			return [""];
		}
		var words = value.split( options.multipleSeparator );
		var result = [];
		$.each(words, function(i, value) {
			if ( $.trim(value) )
				result[i] = $.trim(value);
		});
		return result;
	}

	function lastWord(value) {
		if ( !options.multiple )
			return value;
		var words = trimWords(value);
		return words[words.length - 1];
	}

	// fills in the input box w/the first match (assumed to be the best match)
	// q: the term entered
	// sValue: the first matching result
	function autoFill(q, sValue){
		// autofill in the complete box w/the first match as long as the user hasn't entered in more data
		// if the last user key pressed was backspace, don't autofill
		if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
			// fill in the value (keep the case the user has typed)
			$input.val($input.val() + sValue.substring(lastWord(previousValue).length));
			// select the portion of the value not typed by the user (so the next character will erase)
			$.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length);
		}
	};

	function hideResults() {
		clearTimeout(timeout);
		timeout = setTimeout(hideResultsNow, 200);
	};

	function hideResultsNow() {
		var wasVisible = select.visible();
		select.hide();
		clearTimeout(timeout);
		stopLoading();
		if (options.mustMatch) {
			// call search and run callback
			$input.search(
				function (result){
					// if no value found, clear the input box
					if( !result ) {
						if (options.multiple) {
							var words = trimWords($input.val()).slice(0, -1);
							$input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
						}
						else
							$input.val( "" );
					}
				}
			);
		}
		if (wasVisible)
			// position cursor at end of input field
			$.Autocompleter.Selection(input, input.value.length, input.value.length);
	};

	function receiveData(q, data) {
		if ( data && data.length && hasFocus ) {
			stopLoading();
			select.display(data, q);
			autoFill(q, data[0].value);
			select.show();
		} else {
			hideResultsNow();
		}
	};

	function request(term, success, failure) {
		if (!options.matchCase)
			term = term.toLowerCase();
		var data = cache.load(term);
		// recieve the cached data
		if (data && data.length) {
			success(term, data);
		// if an AJAX url has been supplied, try loading the data now
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){

			var extraParams = {
				timestamp: +new Date()
			};
			$.each(options.extraParams, function(key, param) {
				extraParams[key] = typeof param == "function" ? param() : param;
			});

			$.ajax({
				// try to leverage ajaxQueue plugin to abort previous requests
				mode: "abort",
				// limit abortion to this input
				port: "autocomplete" + input.name,
				dataType: options.dataType,
				url: options.url,
				data: $.extend({
					q: lastWord(term),
					limit: options.max
				}, extraParams),
				success: function(data) {
					var parsed = options.parse && options.parse(data) || parse(data);
					cache.add(term, parsed);
					success(term, parsed);
				}
			});
		} else {
			// if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
			select.emptyList();
			failure(term);
		}
	};

	function parse(data) {
		var parsed = [];
		var rows = data.split("\n");
		for (var i=0; i < rows.length; i++) {
			var row = $.trim(rows[i]);
			if (row) {
				row = row.split("|");
				parsed[parsed.length] = {
					data: row,
					value: row[0],
					result: options.formatResult && options.formatResult(row, row[0]) || row[0]
				};
			}
		}
		return parsed;
	};

	function stopLoading() {
		$input.removeClass(options.loadingClass);
	};

};

$.Autocompleter.defaults = {
	inputClass: "ac_input",
	resultsClass: "ac_results",
	loadingClass: "ac_loading",
	minChars: 1,
	delay: 400,
	matchCase: false,
	matchSubset: true,
	matchContains: false,
	cacheLength: 10,
	max: 100,
	mustMatch: false,
	extraParams: {},
	selectFirst: true,
	formatItem: function(row) { return row[0]; },
	formatMatch: null,
	autoFill: false,
	width: 0,
	multiple: false,
	multipleSeparator: ", ",
	highlight: function(value, term) {
		return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
	},
    scroll: true,
    scrollHeight: 180
};

$.Autocompleter.Cache = function(options) {

	var data = {};
	var length = 0;

	function matchSubset(s, sub) {
		if (!options.matchCase)
			s = s.toLowerCase();
		var i = s.indexOf(sub);
		if (options.matchContains == "word"){
			i = s.toLowerCase().search("\\b" + sub.toLowerCase());
		}
		if (i == -1) return false;
		return i == 0 || options.matchContains;
	};

	function add(q, value) {
		if (length > options.cacheLength){
			flush();
		}
		if (!data[q]){
			length++;
		}
		data[q] = value;
	}

	function populate(){
		if( !options.data ) return false;
		// track the matches
		var stMatchSets = {},
			nullData = 0;

		// no url was specified, we need to adjust the cache length to make sure it fits the local data store
		if( !options.url ) options.cacheLength = 1;

		// track all options for minChars = 0
		stMatchSets[""] = [];

		// loop through the array and create a lookup structure
		for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
			var rawValue = options.data[i];
			// if rawValue is a string, make an array otherwise just reference the array
			rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;

			var value = options.formatMatch(rawValue, i+1, options.data.length);
			if ( value === false )
				continue;

			var firstChar = value.charAt(0).toLowerCase();
			// if no lookup array for this character exists, look it up now
			if( !stMatchSets[firstChar] )
				stMatchSets[firstChar] = [];

			// if the match is a string
			var row = {
				value: value,
				data: rawValue,
				result: options.formatResult && options.formatResult(rawValue) || value
			};

			// push the current match into the set list
			stMatchSets[firstChar].push(row);

			// keep track of minChars zero items
			if ( nullData++ < options.max ) {
				stMatchSets[""].push(row);
			}
		};

		// add the data items to the cache
		$.each(stMatchSets, function(i, value) {
			// increase the cache size
			options.cacheLength++;
			// add to the cache
			add(i, value);
		});
	}

	// populate any existing data
	setTimeout(populate, 25);

	function flush(){
		data = {};
		length = 0;
	}

	return {
		flush: flush,
		add: add,
		populate: populate,
		load: function(q) {
			if (!options.cacheLength || !length)
				return null;
			/*
			 * if dealing w/local data and matchContains than we must make sure
			 * to loop through all the data collections looking for matches
			 */
			if( !options.url && options.matchContains ){
				// track all matches
				var csub = [];
				// loop through all the data grids for matches
				for( var k in data ){
					// don't search through the stMatchSets[""] (minChars: 0) cache
					// this prevents duplicates
					if( k.length > 0 ){
						var c = data[k];
						$.each(c, function(i, x) {
							// if we've got a match, add it to the array
							if (matchSubset(x.value, q)) {
								csub.push(x);
							}
						});
					}
				}
				return csub;
			} else
			// if the exact item exists, use it
			if (data[q]){
				return data[q];
			} else
			if (options.matchSubset) {
				for (var i = q.length - 1; i >= options.minChars; i--) {
					var c = data[q.substr(0, i)];
					if (c) {
						var csub = [];
						$.each(c, function(i, x) {
							if (matchSubset(x.value, q)) {
								csub[csub.length] = x;
							}
						});
						return csub;
					}
				}
			}
			return null;
		}
	};
};

$.Autocompleter.Select = function (options, input, select, config) {
	var CLASSES = {
		ACTIVE: "ac_over"
	};

	var listItems,
		active = -1,
		data,
		term = "",
		needsInit = true,
		element,
		list;

	// Create results
	function init() {
		if (!needsInit)
			return;
		element = $("<div/>")
		.hide()
		.addClass(options.resultsClass)
		.css("position", "absolute")
		.appendTo(document.body);

		list = $("<ul/>").appendTo(element).mouseover( function(event) {
			if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
	            active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
			    $(target(event)).addClass(CLASSES.ACTIVE);
	        }
		}).click(function(event) {
			$(target(event)).addClass(CLASSES.ACTIVE);
			select();
			// TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
			input.focus();
			return false;
		}).mousedown(function() {
			config.mouseDownOnSelect = true;
		}).mouseup(function() {
			config.mouseDownOnSelect = false;
		});

		if( options.width > 0 )
			element.css("width", options.width);

		needsInit = false;
	}

	function target(event) {
		var element = event.target;
		while(element && element.tagName != "LI")
			element = element.parentNode;
		// more fun with IE, sometimes event.target is empty, just ignore it then
		if(!element)
			return [];
		return element;
	}

	function moveSelect(step) {
		listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
		movePosition(step);
        var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
        if(options.scroll) {
            var offset = 0;
            listItems.slice(0, active).each(function() {
				offset += this.offsetHeight;
			});
            if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
                list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
            } else if(offset < list.scrollTop()) {
                list.scrollTop(offset);
            }
        }
	};

	function movePosition(step) {
		active += step;
		if (active < 0) {
			active = listItems.size() - 1;
		} else if (active >= listItems.size()) {
			active = 0;
		}
	}

	function limitNumberOfItems(available) {
		return options.max && options.max < available
			? options.max
			: available;
	}

	function fillList() {
		list.empty();
		var max = limitNumberOfItems(data.length);
		for (var i=0; i < max; i++) {
			if (!data[i])
				continue;
			var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
			if ( formatted === false )
				continue;
			var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
			$.data(li, "ac_data", data[i]);
		}
		listItems = list.find("li");
		if ( options.selectFirst ) {
			listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
			active = 0;
		}
		// apply bgiframe if available
		if ( $.fn.bgiframe )
			list.bgiframe();
	}

	return {
		display: function(d, q) {
			init();
			data = d;
			term = q;
			fillList();
		},
		next: function() {
			moveSelect(1);
		},
		prev: function() {
			moveSelect(-1);
		},
		pageUp: function() {
			if (active != 0 && active - 8 < 0) {
				moveSelect( -active );
			} else {
				moveSelect(-8);
			}
		},
		pageDown: function() {
			if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
				moveSelect( listItems.size() - 1 - active );
			} else {
				moveSelect(8);
			}
		},
		hide: function() {
			element && element.hide();
			listItems && listItems.removeClass(CLASSES.ACTIVE);
			active = -1;
		},
		visible : function() {
			return element && element.is(":visible");
		},
		current: function() {
			return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
		},
		show: function() {
			var offset = $(input).offset();
			element.css({
				width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
				top: offset.top + input.offsetHeight,
				left: offset.left
			}).show();
            if(options.scroll) {
                list.scrollTop(0);
                list.css({
					maxHeight: options.scrollHeight,
					overflow: 'auto'
				});

                if($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
					var listHeight = 0;
					listItems.each(function() {
						listHeight += this.offsetHeight;
					});
					var scrollbarsVisible = listHeight > options.scrollHeight;
                    list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
					if (!scrollbarsVisible) {
						// IE doesn't recalculate width when scrollbar disappears
						listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
					}
                }

            }
		},
		selected: function() {
			var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
			return selected && selected.length && $.data(selected[0], "ac_data");
		},
		emptyList: function (){
			list && list.empty();
		},
		unbind: function() {
			element && element.remove();
		}
	};
};

$.Autocompleter.Selection = function(field, start, end) {
	if( field.createTextRange ){
		var selRange = field.createTextRange();
		selRange.collapse(true);
		selRange.moveStart("character", start);
		selRange.moveEnd("character", end);
		selRange.select();
	} else if( field.setSelectionRange ){
		field.setSelectionRange(start, end);
	} else {
		if( field.selectionStart ){
			field.selectionStart = start;
			field.selectionEnd = end;
		}
	}
	field.focus();
};

})(jQuery);



// HTML Truncator for jQuery
// by Henrik Nyh <http://henrik.nyh.se> 2008-02-28.
// Free to modify and redistribute with credit.

(function($) {

  var trailing_whitespace = true;

  $.fn.truncate = function(options) {

    var opts = $.extend({}, $.fn.truncate.defaults, options);

    $(this).each(function() {

      var content_length = $.trim(squeeze($(this).text())).length;
      if (content_length <= opts.max_length)
        return;  // bail early if not overlong

      var actual_max_length = opts.max_length - opts.more.length - 3;  // 3 for " ()"
      var truncated_node = recursivelyTruncate(this, actual_max_length);
      var full_node = $(this).hide();

      truncated_node.insertAfter(full_node);

      findNodeForMore(truncated_node).append(' (<a href="#show more content">'+opts.more+'</a>)');
      findNodeForLess(full_node).append(' (<a href="#show less content">'+opts.less+'</a>)');

      truncated_node.find('a:last').click(function() {
        truncated_node.hide(); full_node.show(); return false;
      });
      full_node.find('a:last').click(function() {
        truncated_node.show(); full_node.hide(); return false;
      });

    });
  }

  // Note that the " (more)" bit counts towards the max length ï¿½ï¿½ï¿½ so a max
  // length of 10 would truncate "1234567890" to "12 (ï¿½ï¿½?more)".
  $.fn.truncate.defaults = {
    max_length: 100,
    more: 'more',
    less: 'less'
  };

  function recursivelyTruncate(node, max_length) {
    return (node.nodeType == 3) ? truncateText(node, max_length) : truncateNode(node, max_length);
  }

  function truncateNode(node, max_length) {
    var node = $(node);
    var new_node = node.clone().empty();
    var truncatedChild;
    node.contents().each(function() {
      var remaining_length = max_length - new_node.text().length;
      if (remaining_length == 0) return;  // breaks the loop
      truncatedChild = recursivelyTruncate(this, remaining_length);
      if (truncatedChild) new_node.append(truncatedChild);
    });
    return new_node;
  }

  function truncateText(node, max_length) {
    var text = squeeze(node.data);
    if (trailing_whitespace)  // remove initial whitespace if last text
      text = text.replace(/^ /, '');  // node had trailing whitespace.
    trailing_whitespace = !!text.match(/ $/);
    var text = text.slice(0, max_length);
    // Ensure HTML entities are encoded
    // http://debuggable.com/posts/encode-html-entities-with-jquery:480f4dd6-13cc-4ce9-8071-4710cbdd56cb
    text = $('<div/>').text(text).html();
    return text;
  }

  // Collapses a sequence of whitespace into a single space.
  function squeeze(string) {
    return string.replace(/\s+/g, ' ');
  }

  // Finds the last, innermost block-level element
  function findNodeForMore(node) {
    var $node = $(node);
    var last_child = $node.children(":last");
    if (!last_child) return node;
    var display = last_child.css('display');
    if (!display || display=='inline') return $node;
    return findNodeForMore(last_child);
  };

  // Finds the last child if it's a p; otherwise the parent
  function findNodeForLess(node) {
    var $node = $(node);
    var last_child = $node.children(":last");
    if (last_child && last_child.is('p')) return last_child;
    return node;
  };

})(jQuery);


/**
 * jQuery.fn.rewImgSizer
 * version 1.2
 * COPYRIGHT 2010
 *
 * Usage: $('img').rewImgSizer({});
 *
 * Options: 
 *
 * scale : Ratio (e.g 1.25)
 * align: 'top left', 'top center', 'top right', 'center', 'center right', 'center left', 'bottom right', 'bottom center' or 'bottom left'
 * scale: 'scale', 'crop', 'fit' or 'none'
 * noUpscale: bollean (true or false)
 * onBeforeShow:
 * onAfterShow:
 *
**/
jQuery.fn.rewImgSizer = function(options) {

	var $self = this;

	var defaults = {
		method: 'crop',
		scale: 1,
		align: 'center',
		effect: 'fadeIn',
		noUpScale: false,
		onBeforeShow: function(){},
		onAfterShow: function(){}
	};

	var options = $.extend(defaults, options);

	$self.resize = function ($img) {

		/* photo
		----------------------------------------------------------- */

		var pho_vsize = 1;
		var pho_hsize = 1;
		var pho_width = $img.width();
		var pho_heigh = $img.height();

		if (pho_width > pho_heigh) {
			pho_vsize = Math.round((pho_width / pho_heigh) * 100) / 100;
		} else{
			pho_hsize = Math.round((pho_heigh / pho_width) * 100) / 100;
		}

		/* canvas
		----------------------------------------------------------- */

		$can = $img.parent();
		
		var can_vsize = 1;
		var can_hsize = 1;
		var can_width = $can.width();
		var can_heigh = $can.height();

		if (can_width > can_heigh) {
			can_vsize = Math.round((can_width / can_heigh) * 100) / 100;
		} else{
			can_hsize = Math.round((can_heigh / can_width) * 100) / 100;
		}

		/* store in case we want to revert */
		oldmethod = options.method;

		if (options.noUpScale) {
			if(pho_width < can_width && pho_heigh < can_heigh) {
				options.method = 'none';
			}

		}

		/* ect.
		----------------------------------------------------------- */

		//console.log(pho_hsize + ':' + pho_vsize + ' in ' + can_hsize + ':' + can_vsize);

		if (options.method == 'crop') {

			if (pho_hsize > can_hsize) {
				$img.width(can_width);
			} else if (pho_vsize > can_vsize) {
				$img.height(can_heigh);
			} else {
				// square 1:1
				if (can_hsize > can_vsize) {
					$img.height(can_heigh);
				} else {
					$img.width(can_width);
				}
			}

		} else if (options.method == 'fit') {
		
			$img.height(can_heigh);
			$img.width(can_width);

		} else if (options.method == 'scale') {
		
			if (pho_hsize > can_hsize) {
				$img.height(can_heigh);
			} else if (pho_vsize > can_vsize) {
				$img.width(can_width);
			} else {
				// square 1:1
				if (can_hsize > can_vsize) {
					$img.width(can_width);
				} else {
					$img.height(can_heigh);
				}
			}

		} else {

			/* no resize */

		}

		/* SCALE OPTION */
		if (options.scale) {
			sImgH = $img.height() * options.scale;
			sImgW = $img.width() * options.scale;
			$img.width(sImgW); $img.height(sImgH);
		}

		$img.css({position:'absolute', left: ''});

		switch (options.align) {
		    
			case 'center':
    			$img.css('top', -($img.height() - can_heigh) / 2 + 'px');
    			$img.css('left', -($img.width() - can_width) / 2 + 'px');
			break;
			
			case 'top left':
    			$img.css({'top': 0, 'left': 0});
			break;
			
			case 'top center':
    			$img.css('top', 0);
    			$img.css('left', -($img.width() - can_width) / 2 + 'px');
			break;
			
			case 'top right':
    			$img.css('top', 0);
    			$img.css('right', 0);
			break;
			
			case 'center right':
    			$img.css('top', -($img.height() - can_heigh) / 2 + 'px');
    			$img.css('right', 0);
			break;
			
			case 'center left':
    			$img.css('top', -($img.height() - can_heigh) / 2 + 'px');
    			$img.css('left', 0);
			break;
			
			case 'bottom right':
    			$img.css('bottom', 0);
    			$img.css('right', 0);
			break;
			
			case 'bottom center':
    			$img.css('bottom', 0);
    			$img.css('left', -($img.width() - can_width) / 2 + 'px');
			break;
			
			case 'bottom left':
    			$img.css('bottom', 0);
    			$img.css('left', 0);
			break;
			
		}

		$img.hide();
	
		//showImage();

		//function showImage() {
			options.onBeforeShow.call(this);
			$img.fadeIn('slow', options.onAfterShow.call(this));
		//}
		
		options.method = oldmethod;

	};

    jQuery(this).each(function (i) {

		$img = $(this);
		$img.css({position: 'absolute', left: '-999em'});

		var orgSrc = this.src;
		if (!$.browser.msie) {
			this.src = ""; //ie will do funky things if this is here (show the image as an X, only show half of the image, etc)
		}
		$(this).bind('load', function(){
		    $(this).unbind('load');
			$self.resize($(this));
		});
		if (!$.browser.msie) {
			this.src = orgSrc; //needed for potential cached images
		} else if (this.complete || this.complete === undefined) {
			this.src = orgSrc;
			$(this).trigger('load');
		}
		
	});

	// allow jQuery chaining 
	return this;

};/**
 * jQuery Facebox Plugin (Redux)
 */
(function($) {

    /* jQuery.fn.facebox */
    $.facebox = function(options) {
        
        /* Instance */
        var $self = this;

        /* Facebox Defaults */
        $self.defaults = {
            opacity      : 0.3,
            overlay      : true,
            modal        : true,
            noclose      : false,
            //
            div          : false,
            ajax         : false,
            image        : false,
            data         : false,
            iframe       : false,
            //
            title        : '&nbsp;',
            css_top      : 'auto', // auto or number of pixels
            css_left     : 'auto', // auto or number of pixels
            loadingImage : '/img/facebox/loading.gif',
            closeImage   : '/img/facebox/closelabel.gif',
            imageTypes   : [ 'png', 'jpg', 'jpeg', 'gif' ],
            faceboxHtml  : '\
                <div id="facebox" style="display:none;"> \
                    <div class="popup"> \
                        <table> \
                          <tbody> \
                            <tr> \
                              <td class="tl"/><td class="b"/><td class="tr"/> \
                            </tr> \
                            <tr> \
                              <td class="b"/> \
                              <td class="body"> \
                                <div class="titlebar"> \
                                  <span class="title">&nbsp;</span> \
                                  <a href="#" class="close">Close</a> \
                                </div> \
                                <div class="content"> \
                                </div> \
                              </td> \
                              <td class="b"/> \
                            </tr> \
                            <tr> \
                              <td class="bl"/><td class="b"/><td class="br"/> \
                            </tr> \
                          </tbody> \
                        </table> \
                      </div> \
                </div>'
        };

        /* Instance Options */
        $self.options = $.extend($self.defaults, options);

        /* Initilized Boolean */
        $self.initilized = false;

        /* $.facebox.makeCompatible */
        $self.makeCompatible = function () {
            $self.options.loadingImage = $self.options.loading_image || $self.options.loadingImage;
            $self.options.closeImage   = $self.options.close_image   || $self.options.closeImage;
            $self.options.imageTypes   = $self.options.image_types   || $self.options.imageTypes;
            $self.options.faceboxHtml  = $self.options.facebox_html  || $self.options.faceboxHtml;
        }

        /* $facebox.close */
        $self.close = function () {
            $(document).unbind('close.facebox');
            $(document).unbind('keydown.facebox');
            $('#facebox').fadeOut(function() {
                $('#facebox .content').removeClass().addClass('content');
                $self.hideOverlay();
                $('#facebox .loading').remove();
            }).remove();
            return false;
        }

        /* $facebox.skipOverlay */
        $self.skipOverlay = function () {
            return $self.options.overlay == false || $self.options.opacity === null;
        }

        /* $facebox.showOverlay */
        $self.showOverlay = function () {
            if ($self.skipOverlay()) return;
            if ($('#facebox_overlay').length == 0) {
                $("body").append('<div id="facebox_overlay" class="facebox_hide"></div>');
            }
            $('#facebox_overlay').hide().addClass("facebox_overlayBG").css('opacity', $self.options.opacity).click(function() {
                if ($self.options.modal != true) {
                    $self.close();
                }
            }).fadeIn(200);
            return false;
        }

        /* $facebox.hideOverlay */
        $self.hideOverlay = function () {
            if ($self.skipOverlay()) return;
            $('#facebox_overlay').fadeOut(200, function() {
                $("#facebox_overlay").removeClass("facebox_overlayBG");
                $("#facebox_overlay").addClass("facebox_hide");
                $("#facebox_overlay").remove();
            });
            return false;
        }

        /* $facebox.fillFaceboxFromHref */
        $self.fillFaceboxFromHref = function (href) {

            // div
            if (href.match(/#/)) {
                var url    = window.location.href.split('#')[0];
                var target = href.replace(url, '');
                if (target == '#') return;
                $self.reveal($(target).html());

            // image
            } else if (href.match($self.options.imageTypesRegexp)) {
                $self.fillFaceboxFromImage(href);

            // ajax
            } else {
                $self.fillFaceboxFromAjax(href);

            }

        }

        /* $facebox.fillFaceboxFromImage */
        $self.fillFaceboxFromImage = function (href) {
            var image = new Image();
            image.onload = function () {
                $self.reveal('<div class="image"><img src="' + image.src + '" /></div>');
            }
            image.src = href;
        }

        /* $facebox.fillFaceboxFromAjax */
        $self.fillFaceboxFromAjax = function (href) {
            $.get(href, function(data) {
                $self.reveal(data);
            });
        }

        /* $facebox.fillFaceboxFromIFrame */
        $self.fillFaceboxFromIFrame = function (href) {
            
            /* Append facebox_Frame=true to URL Query */
            var href = (href.indexOf('?') != -1) ? href + '&facebox_Frame=true' : href + '?facebox_Frame=false';

            /* Remove Existing IFrame */
            $('#facebox-iframe').remove();
            
            /* Build IFrame */
            var iframe = $('<iframe id="facebox-iframe" src="' + href + '" width="100%" height="100" frameborder="0" scrolling="no" style="overflow-x: hidden;" />');
            
            /*
            iframe.load(function () {
                var height = this.contentWindow.document.body.scrollHeight;
                $(this).css('height', height + 'px');
            });
            */
            
            $self.reveal(iframe);

        }

        /* $facebox.reveal */
        $self.reveal = function (data) {
            $('#facebox .content').append(data);
            $('#facebox .loading').remove();
            $('#facebox .body').children().fadeIn('normal');
            if ($self.options.noclose == true) {
                $('#facebox .titlebar a.close').hide();
            } else {
                $('#facebox .titlebar a.close').show();
            }
            $('#facebox').css('left', $(window).width() / 2 - ($('#facebox table').width() / 2));
        }

        /* $facebox.getPageScroll */
        $self.getPageScroll = function () {
            var xScroll, yScroll;
            if (self.pageYOffset) {
                yScroll = self.pageYOffset;
                xScroll = self.pageXOffset;
            } else if (document.documentElement && document.documentElement.scrollTop) {     // Explorer 6 Strict
                yScroll = document.documentElement.scrollTop;
                xScroll = document.documentElement.scrollLeft;
            } else if (document.body) {// all other Explorers
                yScroll = document.body.scrollTop;
                xScroll = document.body.scrollLeft;
            }
            return new Array(xScroll, yScroll);
        }

        /* $facebox.getPageHeight */
        $self.getPageHeight = function () {
            var windowHeight;
            if (self.innerHeight) { // all except Explorer
                windowHeight = self.innerHeight;
            } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
                windowHeight = document.documentElement.clientHeight;
            } else if (document.body) { // other Explorers
                windowHeight = document.body.clientHeight;
            }
            return windowHeight;
        }

        /* $.facebox.init */
        $self.init = function () {

            /* Return if Already Initilized */
            if ($self.initilized) {
                return true;
            } else {
                $self.initilized = true;
            }

            /* Make Compatible */
            $self.makeCompatible();

            var imageTypes = $self.options.imageTypes.join('|');
            $self.options.imageTypesRegexp = new RegExp('\.(' + imageTypes + ')$', 'i');

            /* Append Facebox Content to Document Body */
            $('body').append($self.options.faceboxHtml);

            /* Preload Close & Loading Images */
            var preload = [ new Image(), new Image() ];
            preload[0].src = $self.options.closeImage;
            preload[1].src = $self.options.loadingImage;

            /* Preload Images */
            $('#facebox').find('.b:first, .bl').each(function() {
                preload.push(new Image());
                preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1');
            });

            /* Close Button */
            $('#facebox .close').click($self.close);
            $('#facebox .close_image').attr('src', $self.options.closeImage);

        }

        /* $.facebox.loading */
        $self.loading = function() {

            $self.init();

            if ($('#facebox .loading').length == 1) return true;

            $self.showOverlay();

            $('#facebox .content').empty();
            $('#facebox .body').children().hide().end().
            append('<div class="loading"><img src="' + $self.options.loadingImage + '"/></div>')

            $('#facebox').css({
                top:    $self.options.css_top  != 'auto' ? $self.options.css_top  : $self.getPageScroll()[1] + ($self.getPageHeight() / 10),
                left:   $self.options.css_left != 'auto' ? $self.options.css_left : $(window).width() / 2 - 205
            }).show()

            if (typeof($self.options.title) != 'undefined') {
                $('#facebox .titlebar span.title').html($self.options.title);
            }

            if (typeof($self.options.width) != 'undefined') {
                $('#facebox .body').width($self.options.width);
            }

            if (typeof($self.options.height) != 'undefined') {
                $('#facebox .body').height($self.options.height);
            }

            $(document).bind('keydown.facebox', function(e) {
                if ($self.options.modal != true) {
                    if (e.keyCode == 27) {
                        $self.close();
                    }
                }
                return true;
            });
            
            $(document).bind('close.facebox', function(e) {
                $self.close();
            });

        }

        /* Initilize Facebox */
        $self.init();

        /* Loading */
        $self.loading();

        /* AJAX */
        if ($self.options.ajax) {
            $self.fillFaceboxFromAjax($self.options.ajax);

        /* IFrame */
        } else if ($self.options.iframe) {
            $self.fillFaceboxFromIFrame($self.options.iframe);

        /* Image */
        } else if ($self.options.image) {
            $self.fillFaceboxFromImage($self.options.image);

        /* Container */
        } else if ($self.options.div) {
            $self.fillFaceboxFromHref($self.options.div);

        /* Load Data */
        } else {
            $self.reveal($self.options.data);

        }

        /* Return Facebox Instance */
        return $self;

    };

})(jQuery);$(document).ready(function() {

    $.preloadImages('/inc/skins/surterre/img/no-bookmarks.png');

    $('.rewbtn').each(function(){
        $button = $(this);
        $button.mousedown(function(){$(this).addClass('active'); });
        $button.mouseleave(function(){$(this).removeClass('active');});
    });

    $('body').append('<div class="tooltip"></div>');

    $('#content .tabset li').bind('click', function(event) {
        if ($(event.target).is('li')) {
            $('a', event.target).trigger('click');
            return false;
        } else if ($(event.target).is('a')) {
            window.location.href = $(event.target).attr('href');
        }
    });

    $("form").attr("autocomplete", "off");
    $('.photos img').rewImgSizer({method:'crop','scale':1.25});
    $('#idx-detail .description p').truncate({'max_length': 760})

    $('#idx-detail .photos').each(function() {
        $(this).wrap('<div class="gallery"></div>');
        $(this).parent('.gallery').prepend('<div id="image_wrap"></div>');
        $(this).wrapInner('<div class="slides"></div>');
        $('img', this).wrap('<div class="slide"></div>');
        var $num = $('.slide', this).length;
        var photosurl = window.location + 'photos.html';
        $(this).after('<div class="controls"><a href="javascript:void(0);" class="prev">&laquo; Previous</a><a href="javascript:void(0);" class="next">Next &raquo;</a></div>');
    });

    //$('#feature img.panel-img').rewImgSizer();

    $('#idx-detail .gallery img').rewImgSizer();

    $('.agent .photos img').rewImgSizer({method:'crop'});

    var hoverConfig = {
        'over' : function() {
            // mouseover
            $(this).trigger('hoverIntent');
        },
        'out' : function () {
            // mouseout
        }
    };

    /* Ok, let's prep colorbox stuff */
    $('#idx-detail .gallery').each(function(){
        $gallery = $(this);
        $gallery.prepend('<div id="colorbox_gallery"></div>');
    });

    var $wrap = $("#image_wrap");

    $("#content .slides .slide").each(function(i){

        $slide = $(this);
        var $slideImg = $('img', $slide);
        var $si_src = $slideImg.attr('src');
        var $si_rel = 'imgnum_' + i;
        $slideImg.attr('rel', $si_rel);

        $nImg = $('<img src="' + $si_src  + '" id="'+ $si_rel +'" />').appendTo($wrap).hide();

        /* colorbox */
        $imgLink = $('<a href="' + $si_src + '" rel="colorbox" class="' + $slideImg.attr('rel') + '">View Large Images</a>');
        $imgLink.appendTo('#colorbox_gallery');

        $slide.bind('mouseover',function(){
            if ($(this).is(":not(.active)")) {
                $rel = $('img',this).attr('rel');
                $showImg = $('img#'+ $rel);
                $showImg.siblings('img').fadeOut();
                $showImg.rewImgSizer({method:'scale'});
                $(this).addClass('active').siblings().removeClass('active');
                $("a[rel='colorbox']").hide().filter('.' + $rel).show();
            }
        });

        $("#content .slides .slide").filter(":first").trigger('hover').addClass('active');

        // Make Large Image Clickable
        $nImg.bind('click', function () {
            $('a.' + $slideImg.attr('rel')).trigger('click');
        });

    });

	$('#imgnum_0').rewImgSizer({method:'scale'});

    //$("#content .slides .slide").filter(":first").trigger('hover');

    $("a[rel='colorbox']").each(function(i) {
        $(this).colorbox({
            photo: true,
            slideshow: false,
            opacity: 0.8,
            initialWidth: 60,
            initialHeight: 60
        });
        if (i > 0) {
            $(this).hide();
        }
    });

    $('#idx-detail .photos.disabled').hide();

    $('#idx-detail .photos').scrollable({
        size: 5,
        next: '',
        prev: '',
        nextPage: '.next',
        prevPage: '.prev'
    });

    $('#refine-form dl.panel, #quick-search dl.panel').each(function(i){
        $('dt', this).append('<span class="ico-panel-trigger"></span>');
        $('dt', this).click(function(){
            $(this).next('dd').slideToggle('slow',function(){
                $(this).parent('dl').toggleClass('open');
            });
        });
    });

    $("#content div.item").wrap('<div class="dialog">'+'<div class="bd">'+'<div class="c">'+'<div class="s">'+'</div>'+'</div>'+'</div>'+'</div>');

    $('div.dialog').prepend('<div class="hd">'+'<div class="c"></div>'+'</div>').append('<div class="ft">'+'<div class="c"></div>'+'</div>');

    $('#nav .nav.primary li div').css({'left':'-1px'}).hide();

    $('#nav .nav.primary li').hoverIntent(function() {
        $('div', this).show();
    }, function() {
        $('div', this).hide();
    });

    $('#content hr').wrap('<div class="hr"></div>');

    $('#content legend').each( function() {
        val = $(this).html();
        $(this).after('<h5 class="legend"><span>' + val + '</span></h5>');
        $(this).html('');
    });

});

/* REWFW: FORMS */

$(document).ready(function(){

    function rewForm(rewform) {
        rewform.each(function(){
             var dform = $(this);
             $(dform).wrapInner('<div class="form-wrap"></div>');
             $('.field input:text,.field input:password', dform).wrap('<span class="input-wrap"></span>');
             $('.field select', dform).wrap('<span class="select-wrap"></span>');
             $('.field textarea', dform).not('.richtext').wrap('<span class="textarea-wrap"></span>');
             $('.field', dform).wrapInner('<span class="field-iwrap"></span>');
             $('.token', dform).wrapInner('<span class="token-iwrap"></span>');
             $('legend', dform).each(function() {
                var content = $(this).html();
                $(this).after('<h4 class="legend">'+ content +'</h4>').hide();
                $(this).remove();
             });

        });
    }

    rewForm($('#page-body form.rewfw'));

    $('#content .actions a.button').each(function(){
        $button = $(this);
        $label = $(this).html();
        $classes = $(this).attr('class').replace('button','');
        $(this).wrap('<div class="button link ' + $classes + '"></div>').after('<span class="label">' + $label + '</span>');
        $('.button', this).live('click', function() {
            document.location = $('a', this).attr('href');
        });
    });

});

/* IDX STUFF */

$(document).ready(function(){

    $('#navi-favorites').hoverIntent(
        function(){
            if ($('#favs-menu').hasClass('loaded')) {
            } else {
                $('#favs-menu').load('/idx/inc/php/ajax/favourites.php', function () {
                    $(this).addClass('loaded');
                });
            }
            $('#favs-menu').fadeIn();
            $(this).addClass('hover');
        },
        function(){
            $('#favs-menu').hide();
            $(this).removeClass('hover');
            }
    );

    /* IDX Saved Searches */
    $('#navi-searches').hoverIntent(
        function(){
            if ($('#searches-menu').hasClass('loaded')) {
                $('#searches-menu').show();
            } else {
                $('#searches-menu').load('/idx/inc/php/ajax/saved_searches.php', function () {
                    $(this).addClass('loaded').show();
                });
            }
            $('#searches-menu').fadeIn();
            $(this).addClass('hover');
        },
        function(){
            $('#searches-menu').hide();
            $(this).removeClass('hover');
    });

    $('#navi-searches').live('mouseout', function() {
        $('#searches-menu').hide();
    });

    /* IDX Save this Search */
    $('body').append('<div id="form-save"></div>');
    $('#navi-save').bind('mouseover', function() {
        $savemenuoffset      = $('#navi-save').offset();
        $savemenuoffset.top  = $savemenuoffset.top  + $('#navi-save').outerHeight();
        $('#form-save').show().css({
            left: $savemenuoffset.left + 'px',
            top: $savemenuoffset.top + 'px'
        });
    });
    $('#form-save').hide().addClass('menu');

    /* Save this Search Form */
    $('#form-save').html('<form action="' + window.location.href + '" onsubmit="this.action += ((this.action.indexOf(\'?\') != -1) ? \'&\' : \'?\') + \'search_title=\' + this.search_title.value;" method="post" class="rewfw">'
                           + '<input id="search_title" name="search_title" type="text" value="Search Title"'
                           + ' onfocus="this.value = this.value == \'Search Title\' ? \'\' : this.value;"'
                           + ' onblur="this.value = this.value == \'\' ? \'Search Title\' : this.value;"'
                           + ' />'
                           + '<div class="buttonset"><button type="submit" class="positive" value="Save">Save</button>'
                       + '</form>').css('width', '140px');

    /* IDX Nav Toolbar */
    $('#nav-supplementary li a').mouseover(function(){closeAllMenus();})
    $('.menu').hover(function(){},function(){closeAllMenus();})

    function closeAllMenus() {
        $('.menu').hide();
    }

    $('.compact .listing').live('mouseover',function(){$(this).addClass('hover');});
    $('.compact .listing').live('mouseout',function(){$(this).removeClass('hover');});
    $('.compact .listing').live('click',function(){
        document.location = $('a:first', this).attr('href');
    });

    $closeLink = $('<a href="javascript:void(0)" title="Click to Hide" class="action-close">close</a>');
    $('#login .errors').append($closeLink);
    $closeLink.click(function() {
        $(this).parent().hide();
    });

});

/* IDX Auto Complete */
$(document).ready(function () {
    $('form.rewfw input.autocomplete').each(function () {
        var multiple = $(this).hasClass('single') ? false : true;
        $(this).autocomplete('/idx/inc/php/ajax/json.php?search=' + $(this).attr('name'), {
            extraParams : {
                'search_city' : function () {
                    return $('select[name="search_city"]').val();
                }
            },
            cacheLength: 0,
            multiple: multiple,
            dataType: 'json',
            parse: function (data) {
                var parsed = [];
                var rows   = data.options;
                for (var i=0; i < rows.length; i++) {
                    var row = $.trim(rows[i].title);
                    if (row) {
                        row = row.split("|");
                        parsed[parsed.length] = {
                            data: row,
                            value: row[0],
                            result: row
                        };
                    }
                }
                return parsed;
            }
        });
    });
});

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}

/* IDX Bookmarking */
function bookmarkListing (mls_number, container) {

    /* POST HTTP Request, Expect JSON */
    $.ajax({
        'url'      : '/idx/inc/php/ajax/json.php?bookmarkListing',
        'type'     : 'POST',
        'dataType' : 'json',
        'data'     : {
            'mls_number' : mls_number
        },
        'error'    : function (XMLHttpRequest, textStatus, errorThrown) {
            alert('An error has occurred. Listing could not be saved.');
            return;
        },
        'success'  : function (json, textStatus) {

            /* Return Code */
            if (json.returnCode == 200) {

                /* Success - Saved */
                if (json.added) {
                    $(container).addClass('saved');
                }

                /* Success - Removed */
                if (json.removed) {
                    $(container).removeClass('saved');
                }

                /* reload favs menu */
                $('#favs-menu').load('/idx/inc/php/ajax/favourites.php', function () {
                    $(this).addClass('loaded');
                });

            } else {

                /* Require Registration */
                if (json.register) {

                    /* Registration Form Overlay */
                    openPage(json.register);

                } else {

                    /* Error Occurred */
                    alert('An error has occurred. Listing could not be saved.');

                }
            }
            return;
        }
    });

}

$(function() {
    if ($.browser.msie) {
        $('select[name="minimum_price"],select[name="maximum_price"]')
            .bind('mousedown', function() {
                if ($(this).css('width') != 'auto') {
                    $(this).data('origWidth', $(this).css('width')).css('width', 'auto');
                }
            })
            .bind('blur', function() {
                $(this).css('width', $(this).data('origWidth'));
            })
            .bind('change', function() {
                $(this).css('width', $(this).data('origWidth'));
            });
    }
});

/**
 * Global Javascript Functions
 */

/* Open Facebox Iframe */
var openPage = function openPage (href) {
    $.facebox({'iframe' : href});
};

/* Global Facebox Close Function */
var closeFacebox = function () {
    $(document).trigger('close.facebox');
};

/* Re-Load User Search Tools */
var reloadUserTools = function () {
    $.ajax({
        'url' : '?',
        'success' : function (data) {
            var data = $('#login', data).html();
            if (typeof(data) != 'undefined') {
                $('#login', window.parent.document.body).html(data);
                Cufon.refresh();
            }
        }
    });
};/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version 1.09
 */
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright © 1988, 1990, 1994, 2002 Adobe Systems Incorporated.  All Rights
 * Reserved. © 1981, 2002 Heidelberger Druckmaschinen AG. All rights reserved.
 * 
 * Trademark:
 * Frutiger is a trademark of Heidelberger Druckmaschinen AG, exclusively licensed
 * through Linotype Library GmbH, and may be registered in certain jurisdictions.
 * 
 * Full name:
 * FrutigerLTStd-Roman
 * 
 * Designer:
 * Adrian Frutiger
 * 
 * Vendor URL:
 * http://www.adobe.com/type
 * 
 * License information:
 * http://www.adobe.com/type/legal.html
 */
Cufon.registerFont({"w":200,"face":{"font-family":"Frutiger LT Std","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 6 2 2 2 4 2 2 4","ascent":"270","descent":"-90","x-height":"4","bbox":"-9 -290 359 90","underline-thickness":"18","underline-position":"-18","stemh":"27","stemv":"34","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":100},"!":{"d":"90,-251r-4,180r-31,0r-5,-180r40,0xm50,0r0,-40r40,0r0,40r-40,0","w":140},"\"":{"d":"111,-163r0,-88r32,0r0,88r-32,0xm57,-163r0,-88r32,0r0,88r-32,0"},"#":{"d":"34,0r10,-75r-34,0r0,-27r38,0r7,-47r-35,0r0,-27r39,0r10,-75r27,0r-10,75r43,0r10,-75r27,0r-10,75r34,0r0,27r-38,0r-7,47r35,0r0,27r-39,0r-10,75r-27,0r10,-75r-42,0r-11,75r-27,0xm118,-102r7,-47r-43,0r-6,47r42,0"},"$":{"d":"89,-157r0,-64v-32,8,-30,54,0,64xm110,-104r0,73v33,-10,32,-64,0,-73xm89,38r0,-34v-23,0,-41,-3,-59,-10r4,-35v14,10,32,15,55,14r0,-88v-31,-15,-63,-32,-62,-72v0,-36,27,-62,62,-67r0,-36r21,0r0,34v18,0,34,3,51,9r-5,34v-13,-7,-27,-11,-46,-11r0,78v30,17,63,33,63,76v0,39,-25,66,-63,72r0,36r-21,0"},"%":{"d":"94,-112v-41,0,-54,-36,-54,-72v0,-39,10,-72,54,-72v44,0,54,34,54,72v0,36,-13,72,-54,72xm94,-137v22,0,22,-32,22,-47v0,-16,2,-46,-22,-46v-22,0,-23,31,-23,46v0,15,1,47,23,47xm266,-21v22,0,23,-32,23,-47v0,-16,1,-46,-23,-46v-22,0,-22,31,-22,46v0,15,0,47,22,47xm266,4v-41,0,-54,-36,-54,-72v0,-39,10,-72,54,-72v44,0,54,34,54,72v0,36,-13,72,-54,72xm89,8r156,-267r26,0r-156,267r-26,0","w":360},"&":{"d":"199,-136r34,0v-3,41,-15,64,-29,86r44,50r-45,0r-20,-24v-39,51,-153,31,-153,-42v0,-38,22,-59,56,-73v-13,-16,-26,-34,-26,-58v0,-40,30,-59,66,-59v33,0,62,17,62,57v0,32,-28,54,-55,66r51,58v10,-15,13,-32,15,-61xm68,-68v0,54,79,53,96,21r-61,-71v-19,13,-35,25,-35,50xm124,-228v-40,-1,-34,59,-8,75v15,-7,38,-23,38,-44v0,-23,-13,-31,-30,-31","w":259},"(":{"d":"115,50r-33,0v-33,-49,-59,-101,-59,-161v0,-62,27,-111,59,-161r33,0v-28,49,-56,103,-56,161v0,58,27,112,56,161","w":119},")":{"d":"5,-272r32,0v33,49,59,101,59,161v0,62,-27,111,-59,161r-32,0v28,-49,55,-103,55,-161v0,-58,-26,-112,-55,-161","w":119},"*":{"d":"129,-112r-29,-49r-29,49r-27,-18r40,-44r-58,-12r10,-30r54,22r-5,-57r32,0r-5,57r53,-22r9,30r-56,12r38,44"},"+":{"d":"17,-75r0,-32r75,0r0,-75r32,0r0,75r75,0r0,32r-75,0r0,75r-32,0r0,-75r-75,0","w":216},",":{"d":"7,48r23,-88r40,0r-30,88r-33,0","w":100},"-":{"d":"14,-83r0,-28r92,0r0,28r-92,0","w":119},".":{"d":"30,0r0,-40r40,0r0,40r-40,0","w":100},"\/":{"d":"-9,4r86,-260r32,0r-86,260r-32,0","w":100},"0":{"d":"15,-126v0,-55,16,-130,85,-130v69,0,85,75,85,130v0,55,-16,130,-85,130v-69,0,-85,-75,-85,-130xm53,-126v0,31,4,101,47,101v43,0,47,-70,47,-101v0,-32,-6,-100,-47,-100v-41,0,-47,68,-47,100"},"1":{"d":"97,0r0,-210r-39,33r-19,-24r62,-50r32,0r0,251r-36,0"},"2":{"d":"174,-184v-3,64,-77,116,-117,154r120,0r0,30r-159,0r0,-39v38,-37,113,-84,117,-147v3,-48,-76,-46,-105,-24r-4,-31v58,-29,152,-17,148,57"},"3":{"d":"52,-116r0,-29v38,1,82,-2,83,-41v2,-52,-75,-45,-105,-26r-3,-32v56,-22,146,-16,146,57v0,33,-27,50,-54,58v33,7,56,26,56,62v0,79,-95,79,-157,62r3,-34v33,19,116,25,116,-29v0,-45,-41,-50,-85,-48"},"4":{"d":"124,-87r-1,-135r-78,135r79,0xm124,0r0,-57r-117,0r0,-30r101,-164r52,0r0,164r32,0r0,30r-32,0r0,57r-36,0"},"5":{"d":"172,-251r0,29r-104,0r-2,68v55,-16,113,18,113,74v0,76,-89,97,-150,76r1,-34v37,24,111,16,111,-37v0,-56,-70,-64,-109,-44r2,-132r138,0"},"6":{"d":"172,-248r-5,32v-60,-32,-119,14,-114,81v46,-50,131,-14,131,56v0,52,-35,83,-81,83v-70,0,-84,-63,-84,-120v0,-68,22,-140,102,-140v17,0,42,4,51,8xm101,-25v58,1,61,-104,3,-104v-30,0,-47,23,-47,51v0,24,14,53,44,53"},"7":{"d":"177,-251r0,29r-93,222r-40,0r96,-222r-122,0r0,-29r159,0"},"8":{"d":"99,4v-42,0,-85,-24,-85,-70v-1,-34,25,-55,53,-67v-79,-30,-56,-124,34,-123v91,1,104,89,33,122v30,10,52,33,52,66v0,50,-40,72,-87,72xm148,-65v1,-35,-27,-41,-54,-54v-21,14,-42,21,-42,51v0,54,95,58,96,3xm56,-190v0,17,18,28,52,45v30,-23,33,-32,33,-49v0,-46,-85,-42,-85,4"},"9":{"d":"148,-117v-45,51,-132,16,-132,-55v0,-52,35,-84,81,-84v70,0,84,64,84,121v0,68,-21,139,-101,139v-17,0,-43,-4,-52,-8r5,-32v59,34,119,-14,115,-81xm99,-226v-58,-1,-61,103,-3,103v30,0,47,-22,47,-50v0,-24,-14,-53,-44,-53"},":":{"d":"70,-184r0,41r-40,0r0,-41r40,0xm30,0r0,-40r40,0r0,40r-40,0","w":100},";":{"d":"7,48r23,-88r40,0r-30,88r-33,0xm70,-184r0,41r-40,0r0,-41r40,0","w":100},"<":{"d":"199,-185r0,32r-141,62r141,62r0,32r-182,-80r0,-28","w":216},"=":{"d":"17,-113r0,-32r182,0r0,32r-182,0xm17,-37r0,-32r182,0r0,32r-182,0","w":216},">":{"d":"17,3r0,-32r141,-62r-141,-62r0,-32r182,80r0,28","w":216},"?":{"d":"164,-190v0,51,-56,65,-57,119r-34,0v-8,-53,51,-70,53,-117v1,-47,-74,-41,-97,-22r-2,-34v50,-24,137,-12,137,54xm70,0r0,-40r41,0r0,40r-41,0","w":180},"@":{"d":"132,-78v41,1,68,-84,18,-89v-45,-3,-71,84,-18,89xm221,-192r-27,107v0,5,2,9,7,9v21,0,44,-30,44,-67v0,-56,-43,-87,-96,-87v-61,0,-101,46,-101,105v0,104,124,133,183,72r27,0v-59,100,-240,62,-240,-73v0,-78,60,-130,132,-130v63,0,120,43,120,107v0,68,-58,100,-85,100v-12,1,-19,-9,-22,-20v-29,38,-92,14,-92,-37v0,-63,77,-127,118,-67r5,-19r27,0","w":288},"A":{"d":"4,0r108,-251r37,0r107,251r-40,0r-25,-63r-123,0r-26,63r-38,0xm179,-93r-50,-124r-50,124r100,0","w":259},"B":{"d":"30,0r0,-251v72,-1,156,-7,156,63v0,36,-22,51,-52,61v34,3,59,25,59,60v-1,78,-87,67,-163,67xm66,-114r0,84v43,0,88,4,88,-40v0,-47,-45,-44,-88,-44xm66,-222r0,78v42,0,86,4,84,-40v-2,-45,-43,-38,-84,-38","w":219},"C":{"d":"208,-245r-2,35v-67,-38,-149,7,-149,84v0,81,82,122,150,86r2,35v-100,32,-190,-22,-190,-122v0,-96,96,-155,189,-118","w":219},"D":{"d":"30,0r0,-251v115,-10,207,18,208,123v2,112,-89,138,-208,128xm66,-220r0,188v81,6,136,-14,134,-94v-2,-75,-55,-102,-134,-94","w":259},"E":{"d":"34,0r0,-251r141,0r0,31r-105,0r0,74r95,0r0,32r-95,0r0,82r105,0r0,32r-141,0"},"F":{"d":"30,0r0,-251r133,0r0,31r-97,0r0,74r93,0r0,32r-93,0r0,114r-36,0","w":180,"k":{"A":13,",":46,".":46}},"G":{"d":"226,-243r-3,36v-18,-12,-37,-17,-69,-17v-58,0,-97,42,-97,98v0,74,69,114,135,94r0,-76r-53,0r0,-30r89,0r0,131v-14,5,-37,11,-76,11v-80,0,-133,-51,-133,-131v0,-105,115,-154,207,-116","w":259},"H":{"d":"34,0r0,-251r36,0r0,105r120,0r0,-105r36,0r0,251r-36,0r0,-114r-120,0r0,114r-36,0","w":259},"I":{"d":"32,0r0,-251r36,0r0,251r-36,0","w":100},"J":{"d":"8,0r0,-31v37,13,63,-5,63,-45r0,-175r36,0r0,186v8,44,-44,82,-99,65","w":140},"K":{"d":"34,0r0,-251r36,0r0,110r107,-110r48,0r-118,119r127,132r-52,0r-112,-123r0,123r-36,0","w":240},"L":{"d":"32,0r0,-251r36,0r0,219r105,0r0,32r-141,0","w":180,"k":{"T":20,"V":27,"W":13,"y":13,"Y":33}},"M":{"d":"32,0r0,-251r60,0r79,209r77,-209r59,0r0,251r-36,0r0,-217r-83,217r-36,0r-84,-217r0,217r-36,0","w":339},"N":{"d":"32,0r0,-251r49,0r111,202r0,-202r36,0r0,251r-46,0r-114,-207r0,207r-36,0","w":259},"O":{"d":"57,-126v0,50,25,99,83,99v58,0,83,-49,83,-99v0,-51,-28,-98,-83,-98v-55,0,-83,47,-83,98xm19,-126v0,-75,45,-130,121,-130v76,0,121,55,121,130v0,76,-44,130,-121,130v-77,0,-121,-54,-121,-130","w":280},"P":{"d":"66,-220r0,88v44,1,82,3,86,-44v-5,-43,-44,-46,-86,-44xm30,0r0,-251v79,-1,160,-7,160,75v0,69,-57,80,-124,76r0,100r-36,0","k":{"A":13,",":46,".":46}},"Q":{"d":"57,-126v0,50,25,99,83,99v58,0,83,-49,83,-99v0,-51,-28,-98,-83,-98v-55,0,-83,47,-83,98xm207,46r-47,-43v-89,9,-141,-46,-141,-129v0,-75,45,-130,121,-130v137,0,160,208,53,250r59,52r-45,0","w":280},"R":{"d":"30,0r0,-251v75,2,157,-14,159,68v1,32,-25,50,-52,58v11,4,18,10,25,25r47,100r-41,0r-38,-87v-14,-31,-32,-24,-64,-25r0,112r-36,0xm66,-220r0,77v43,3,85,-6,85,-40v0,-35,-44,-40,-85,-37","w":219,"k":{"T":6,"V":6,"Y":6}},"S":{"d":"151,-247r-5,34v-32,-15,-91,-22,-91,23v0,48,108,36,108,119v0,73,-83,87,-143,65r3,-34v32,16,102,26,102,-28v0,-56,-108,-41,-108,-119v0,-65,76,-82,134,-60","w":180},"T":{"d":"82,0r0,-220r-78,0r0,-31r192,0r0,31r-78,0r0,220r-36,0","k":{"w":27,"y":27,"A":20,",":33,".":33,"-":27,"a":27,"c":27,"e":27,"i":13,"o":27,"r":27,"s":27,"u":27,":":33,";":33}},"U":{"d":"228,-251r0,147v0,71,-36,108,-98,108v-62,0,-98,-37,-98,-108r0,-147r36,0v7,87,-30,224,62,224v92,0,54,-138,62,-224r36,0","w":259},"V":{"d":"238,-251r-96,251r-45,0r-95,-251r40,0r79,219r79,-219r38,0","w":240,"k":{"y":4,"A":13,",":33,".":33,"-":13,"a":18,"e":13,"i":6,"o":18,"r":11,"u":11,":":20,";":20}},"W":{"d":"77,0r-76,-251r39,0r61,215r54,-215r51,0r55,215r60,-215r38,0r-77,251r-47,0r-55,-220r-55,220r-48,0","w":360,"k":{"A":6,",":20,".":20,"-":6,"a":6,"e":11,"o":11,"r":4,"u":4,":":13,";":13}},"X":{"d":"3,0r92,-131r-84,-120r43,0r67,96r67,-96r41,0r-85,120r93,131r-45,0r-74,-107r-72,107r-43,0","w":240},"Y":{"d":"102,0r0,-105r-98,-146r42,0r75,112r73,-112r42,0r-98,146r0,105r-36,0","w":240,"k":{"v":18,"A":20,",":46,".":46,"-":27,"a":27,"e":27,"i":13,"o":35,"u":28,":":33,";":33,"p":24,"q":31}},"Z":{"d":"12,0r0,-32r130,-188r-126,0r0,-31r167,0r0,32r-130,187r132,0r0,32r-173,0"},"[":{"d":"34,50r0,-322r68,0r0,25r-36,0r0,272r36,0r0,25r-68,0","w":119},"\\":{"d":"77,4r-86,-260r32,0r86,260r-32,0","w":100},"]":{"d":"86,-272r0,322r-68,0r0,-25r36,0r0,-272r-36,0r0,-25r68,0","w":119},"^":{"d":"22,-106r71,-145r30,0r71,145r-32,0r-54,-112r-54,112r-32,0","w":216},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"a":{"d":"39,-142r-2,-29v17,-10,38,-17,61,-17v97,0,69,103,75,188r-32,0r0,-24v-8,11,-26,28,-57,28v-40,0,-67,-17,-67,-57v0,-59,65,-63,121,-60v8,-59,-69,-57,-99,-29xm87,-23v39,-1,55,-25,51,-64v-33,-2,-85,-6,-85,34v0,19,19,30,34,30"},"b":{"d":"29,0r0,-270r34,0r0,112v10,-17,29,-30,61,-30v53,0,79,44,79,93v0,50,-23,99,-78,99v-34,1,-53,-17,-64,-30r0,26r-32,0xm117,-23v67,-5,70,-136,0,-138v-71,2,-74,135,0,138","w":219},"c":{"d":"148,-181r-3,28v-50,-25,-95,11,-95,61v0,47,50,89,97,59r3,30v-72,26,-136,-21,-136,-89v0,-71,65,-114,134,-89","w":159},"d":{"d":"159,0v-1,-8,2,-20,-1,-26v-9,14,-30,30,-63,30v-55,0,-78,-49,-78,-99v0,-49,26,-93,79,-93v32,0,51,13,61,30r0,-112r34,0r0,270r-32,0xm53,-93v0,29,14,70,50,70v74,0,71,-136,0,-138v-37,0,-50,35,-50,68","w":219},"e":{"d":"170,-41r0,33v-13,5,-28,12,-58,12v-65,0,-95,-39,-95,-99v0,-54,34,-93,86,-93v61,0,81,45,81,104r-131,0v0,36,28,61,60,61v22,0,49,-11,57,-18xm53,-109r95,0v0,-28,-17,-52,-46,-52v-33,0,-46,28,-49,52"},"f":{"d":"51,0r0,-156r-43,0r0,-28r43,0v-7,-63,18,-101,84,-88r-1,27v-41,-10,-55,17,-49,61r48,0r0,28r-48,0r0,156r-34,0","w":140,"k":{"f":6}},"g":{"d":"191,-184v-9,115,41,264,-95,264v-19,0,-35,-3,-65,-13r3,-31v57,34,135,19,123,-64v-14,19,-39,28,-62,28v-53,0,-78,-42,-78,-90v0,-47,27,-98,82,-98v33,-1,49,14,61,32r0,-28r31,0xm104,-27v32,0,53,-29,53,-63v0,-38,-17,-71,-53,-71v-67,0,-68,135,0,134","w":219},"h":{"d":"29,0r0,-270r34,0r0,113v12,-19,33,-31,59,-31v88,0,67,105,69,188r-34,0v-4,-59,18,-160,-39,-161v-68,-1,-54,92,-55,161r-34,0","w":219},"i":{"d":"33,0r0,-184r34,0r0,184r-34,0xm69,-263r0,38r-38,0r0,-38r38,0","w":100},"j":{"d":"-6,78r1,-29v25,5,39,-6,38,-37r0,-196r34,0r0,190v0,27,-1,74,-52,74v-7,0,-16,-1,-21,-2xm69,-263r0,38r-38,0r0,-38r38,0","w":100},"k":{"d":"29,0r0,-270r34,0r0,161r73,-75r47,0r-86,82r96,102r-48,0r-82,-94r0,94r-34,0"},"l":{"d":"33,0r0,-270r34,0r0,270r-34,0","w":100},"m":{"d":"28,0r0,-184r32,0v1,8,-2,21,1,27v23,-40,91,-45,110,5v32,-64,121,-37,121,34r0,118r-34,0r0,-109v0,-23,-6,-52,-33,-52v-65,0,-45,96,-48,161r-34,0r0,-109v0,-23,-5,-52,-32,-52v-66,0,-46,95,-49,161r-34,0","w":320},"n":{"d":"29,0r0,-184r33,0r0,30v10,-21,34,-34,60,-34v88,0,67,105,69,188r-34,0v-4,-59,18,-160,-39,-161v-68,-1,-54,92,-55,161r-34,0","w":219},"o":{"d":"17,-92v0,-56,37,-96,93,-96v56,0,93,40,93,96v0,53,-38,96,-93,96v-55,0,-93,-43,-93,-96xm110,-161v-73,0,-79,137,0,138v79,-1,73,-138,0,-138","w":219},"p":{"d":"29,76r0,-260r32,0v1,8,-2,20,1,26v9,-14,30,-30,62,-30v53,0,79,44,79,93v0,50,-23,99,-78,99v-32,0,-52,-12,-62,-29r0,101r-34,0xm117,-23v67,-5,70,-136,0,-138v-71,2,-74,135,0,138","w":219},"q":{"d":"191,-184r0,260r-34,0r0,-100v-10,17,-35,28,-62,28v-55,0,-78,-49,-78,-99v0,-49,26,-93,79,-93v33,-1,52,18,63,31r0,-27r32,0xm53,-93v0,29,14,70,50,70v74,0,71,-136,0,-138v-37,0,-50,35,-50,68","w":219},"r":{"d":"29,0r0,-184r31,0v1,9,-2,22,1,29v12,-26,40,-39,70,-30r0,30v-72,-24,-71,79,-68,155r-34,0","w":140,"k":{",":33,".":33,"-":6}},"s":{"d":"13,-6r2,-30v13,9,32,13,42,13v15,0,35,-6,35,-26v0,-33,-80,-31,-80,-82v0,-54,61,-67,107,-50r-3,30v-21,-13,-68,-16,-68,13v0,37,80,26,80,85v0,59,-68,68,-115,47","w":140},"t":{"d":"126,-184r0,28r-48,0v2,53,-18,160,51,126r0,29v-40,13,-85,1,-85,-48r0,-107r-41,0r0,-28r41,0r0,-42r34,-11r0,53r48,0","w":140},"u":{"d":"191,-184r0,184r-33,0r0,-29v-10,21,-34,33,-60,33v-88,0,-67,-105,-69,-188r34,0v4,59,-18,160,39,161v68,1,54,-92,55,-161r34,0","w":219},"v":{"d":"176,-184r-66,184r-40,0r-66,-184r37,0r50,150r51,-150r34,0","w":180,"k":{",":27,".":27}},"w":{"d":"296,-184r-59,184r-40,0r-48,-154r-46,154r-40,0r-59,-184r37,0r43,152r47,-152r40,0r47,152r44,-152r34,0","w":299,"k":{",":20,".":20}},"x":{"d":"4,0r66,-96r-60,-88r42,0r40,66r41,-66r38,0r-59,88r64,96r-41,0r-46,-72r-45,72r-40,0","w":180},"y":{"d":"13,77r2,-27v4,1,10,3,16,3v30,0,40,-42,40,-46r-68,-191r37,0r50,152r50,-152r34,0r-67,188v-13,42,-37,89,-94,73","w":180,"k":{",":27,".":27}},"z":{"d":"15,0r0,-30r106,-126r-100,0r0,-28r140,0r0,30r-106,127r110,0r0,27r-150,0","w":180},"{":{"d":"113,-272r0,25v-53,-11,-37,49,-37,93v0,32,-24,41,-33,43v9,1,33,10,33,45v0,38,-21,100,37,91r0,25v-39,3,-69,-3,-69,-45v0,-41,6,-104,-31,-103r0,-25v38,2,31,-63,31,-104v0,-42,30,-48,69,-45","w":119},"|":{"d":"24,-270r32,0r0,360r-32,0r0,-360","w":79},"}":{"d":"7,50r0,-25v52,11,37,-48,37,-92v0,-32,24,-42,33,-44v-9,-1,-33,-10,-33,-45v0,-38,21,-100,-37,-91r0,-25v39,-3,69,3,69,45v0,41,-6,105,31,104r0,25v-37,-2,-31,62,-31,103v0,42,-30,48,-69,45","w":119},"~":{"d":"70,-118v24,0,56,23,77,24v14,0,23,-13,31,-26r13,25v-8,15,-21,31,-45,31v-24,0,-56,-25,-77,-25v-14,0,-23,14,-31,27r-13,-25v8,-15,21,-31,45,-31","w":216},"'":{"d":"34,-163r0,-88r32,0r0,88r-32,0","w":100},"`":{"d":"42,-261r32,52r-24,0r-47,-52r39,0","w":100},"\u00a0":{"w":100}}});
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright © 1988, 1990, 1994, 2002 Adobe Systems Incorporated.  All Rights
 * Reserved. © 1981, 2002 Heidelberger Druckmaschinen AG. All rights reserved.
 * 
 * Trademark:
 * Frutiger is a trademark of Heidelberger Druckmaschinen AG, exclusively licensed
 * through Linotype Library GmbH, and may be registered in certain jurisdictions.
 * 
 * Full name:
 * FrutigerLTStd-Bold
 * 
 * Designer:
 * Adrian Frutiger
 * 
 * Vendor URL:
 * http://www.adobe.com/type
 * 
 * License information:
 * http://www.adobe.com/type/legal.html
 */
Cufon.registerFont({"w":200,"face":{"font-family":"Frutiger LT Std","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 7 3 3 5 4 2 2 4","ascent":"270","descent":"-90","x-height":"4","bbox":"-5 -282 356 90","underline-thickness":"18","underline-position":"-18","stemh":"35","stemv":"50","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":100},"!":{"d":"49,-74r-7,-177r56,0r-8,177r-41,0xm45,0r0,-50r50,0r0,50r-50,0","w":140},"\"":{"d":"98,-161r0,-90r43,0r0,90r-43,0xm32,-161r0,-90r44,0r0,90r-44,0","w":173},"#":{"d":"178,-103r0,29r-33,0r-11,74r-31,0r10,-74r-37,0r-10,74r-32,0r10,-74r-32,0r0,-29r36,0r6,-46r-31,0r0,-28r36,0r10,-74r32,0r-10,74r36,0r11,-74r31,0r-10,74r29,0r0,28r-33,0r-6,46r29,0xm123,-149r-37,0r-6,46r37,0"},"$":{"d":"93,-156r0,-56v-23,7,-29,48,0,56xm110,-95r0,55v27,-9,28,-46,0,-55xm93,-282r17,0r0,26v21,0,41,3,59,9r-5,42v-17,-7,-34,-11,-54,-11r0,67v32,13,74,25,74,77v0,47,-33,70,-74,75r0,29r-17,0r0,-28v-29,0,-42,-3,-68,-9r5,-46v19,10,40,19,63,15r0,-67v-32,-13,-72,-26,-72,-76v0,-49,33,-71,72,-76r0,-27"},"%":{"d":"262,-24v33,0,33,-75,0,-75v-19,0,-23,22,-23,37v0,15,4,38,23,38xm262,4v-39,0,-60,-24,-60,-66v0,-42,21,-66,60,-66v39,0,60,24,60,66v0,42,-21,66,-60,66xm99,-123v-39,0,-61,-24,-61,-66v0,-42,22,-67,61,-67v39,0,59,25,59,67v0,42,-20,66,-59,66xm99,-152v19,0,22,-22,22,-37v0,-15,-3,-38,-22,-38v-33,0,-33,75,0,75xm88,8r156,-267r29,0r-155,267r-30,0","w":360},"&":{"d":"156,-48r-56,-63v-41,13,-38,80,12,78v17,0,33,-4,44,-15xm112,-158v13,-6,32,-21,32,-36v0,-18,-13,-26,-27,-26v-14,0,-29,8,-29,26v0,14,14,26,24,36xm140,-132r46,50v12,-14,15,-35,16,-54r44,0v-1,32,-13,62,-33,86r45,50r-61,0r-17,-22v-47,48,-158,28,-158,-47v0,-30,13,-52,53,-69v-19,-18,-35,-31,-35,-60v2,-74,146,-82,148,-1v0,35,-21,51,-48,67","w":259},"(":{"d":"72,-272r45,0v-67,88,-68,232,0,322r-45,0v-76,-90,-76,-234,0,-322","w":119},")":{"d":"48,50r-45,0v67,-90,68,-234,0,-322r45,0v76,88,76,232,0,322","w":119},"*":{"d":"174,-182r-50,11r35,39r-33,23r-26,-44r-27,44r-33,-23r35,-39r-49,-11r12,-38r48,21r-6,-52r41,0r-6,52r48,-21"},"+":{"d":"89,-110r0,-72r38,0r0,72r72,0r0,38r-72,0r0,72r-38,0r0,-72r-72,0r0,-38r72,0","w":216},",":{"d":"8,40r23,-90r53,0r-33,90r-43,0","w":100},"-":{"d":"107,-77r-94,0r0,-40r94,0r0,40","w":119},".":{"d":"25,0r0,-50r50,0r0,50r-50,0","w":100},"\/":{"d":"8,4r87,-260r38,0r-88,260r-37,0","w":140},"0":{"d":"100,-33v38,0,37,-60,37,-92v0,-32,0,-93,-37,-93v-37,0,-37,61,-37,93v0,32,0,92,37,92xm100,4v-77,0,-87,-76,-87,-129v0,-63,19,-131,87,-131v73,0,88,73,88,131v0,58,-15,129,-88,129"},"1":{"d":"28,-192r74,-59r45,0r0,251r-51,0r0,-194r-42,35"},"2":{"d":"182,0r-167,0r0,-42v23,-23,108,-94,108,-140v0,-49,-72,-36,-99,-14r-3,-42v58,-32,153,-25,153,56v0,53,-54,102,-95,142r103,0r0,40"},"3":{"d":"16,-4r3,-43v36,16,104,23,109,-24v4,-38,-39,-40,-80,-39r0,-40v38,2,81,-4,79,-33v-3,-47,-68,-36,-100,-20r-3,-40v56,-19,147,-30,153,52v3,35,-23,49,-47,61v32,4,48,28,48,59v0,85,-94,82,-162,67"},"4":{"d":"51,-90r63,0r-1,-109xm6,-52r0,-41r94,-158r62,0r0,161r32,0r0,38r-32,0r0,52r-48,0r0,-52r-108,0"},"5":{"d":"176,-251r0,37r-96,0r-2,54v51,-10,105,4,105,79v0,47,-33,85,-98,85v-19,0,-42,-3,-59,-7r1,-45v31,18,106,23,105,-32v-1,-48,-61,-49,-102,-36r2,-135r144,0"},"6":{"d":"172,-247r-6,41v-13,-6,-27,-10,-44,-10v-43,-1,-61,43,-59,78v36,-53,122,-17,122,52v0,54,-27,90,-84,90v-70,0,-85,-58,-85,-117v0,-68,22,-143,103,-143v18,0,36,3,53,9xm100,-125v-24,0,-34,22,-34,47v0,24,10,45,35,45v45,-1,44,-93,-1,-92"},"7":{"d":"18,-212r0,-39r162,0r0,41r-89,210r-55,0r93,-212r-111,0"},"8":{"d":"13,-68v-1,-29,18,-46,46,-63v-25,-11,-42,-32,-42,-58v0,-45,34,-67,80,-67v44,0,84,19,84,61v0,23,-14,49,-42,60v33,15,49,37,49,66v0,51,-37,73,-87,73v-49,0,-88,-21,-88,-72xm65,-188v0,22,23,32,40,38v33,-8,40,-68,-3,-68v-18,0,-37,10,-37,30xm95,-110v-42,10,-42,77,6,77v20,0,36,-13,36,-34v0,-25,-21,-36,-42,-43"},"9":{"d":"28,-5r7,-40v13,6,27,10,44,10v44,1,62,-43,59,-79v-36,52,-122,18,-122,-51v0,-54,26,-91,83,-91v70,0,86,58,86,117v0,68,-23,143,-104,143v-18,0,-36,-3,-53,-9xm100,-126v24,0,34,-23,34,-48v0,-24,-10,-44,-35,-44v-45,1,-44,93,1,92"},":":{"d":"25,-135r0,-50r50,0r0,50r-50,0xm25,0r0,-50r50,0r0,50r-50,0","w":100},";":{"d":"8,40r23,-90r53,0r-33,90r-43,0xm25,-135r0,-50r50,0r0,50r-50,0","w":100},"<":{"d":"199,-34r0,37r-182,-79r0,-31r182,-78r0,37r-134,57","w":216},"=":{"d":"199,-149r0,37r-182,0r0,-37r182,0xm199,-71r0,38r-182,0r0,-38r182,0","w":216},">":{"d":"17,-34r134,-57r-134,-57r0,-37r182,78r0,31r-182,79r0,-37","w":216},"?":{"d":"66,-73v-3,-60,46,-69,53,-112v-4,-46,-66,-35,-97,-19r-4,-40v60,-21,153,-21,153,53v0,50,-65,71,-61,118r-44,0xm63,0r0,-50r50,0r0,50r-50,0","w":180},"@":{"d":"149,-161v-39,-3,-59,73,-13,76v38,3,59,-73,13,-76xm227,-51r31,0v-68,95,-244,67,-245,-75v0,-72,59,-130,140,-130v58,0,122,32,122,106v0,74,-67,100,-91,100v-11,0,-17,-7,-20,-18v-29,36,-92,12,-92,-41v0,-67,75,-118,116,-64r4,-17r30,0r-22,100v0,3,1,5,5,5v18,0,41,-19,41,-64v0,-59,-51,-73,-93,-73v-60,0,-102,45,-102,96v0,91,106,124,176,75","w":288},"A":{"d":"165,-97r-37,-104r-36,104r73,0xm3,0r98,-251r57,0r99,251r-56,0r-22,-58r-102,0r-22,58r-52,0","w":259},"B":{"d":"80,-112r0,72v35,0,75,2,75,-35v0,-42,-38,-37,-75,-37xm80,-212r0,62v31,0,68,3,68,-30v0,-36,-36,-32,-68,-32xm29,0r0,-251v78,5,161,-24,169,64v3,31,-22,50,-50,57v34,3,58,26,58,57v0,98,-93,68,-177,73","w":219},"C":{"d":"210,-46r2,42v-98,25,-195,-11,-195,-117v0,-107,95,-159,195,-124r-4,42v-66,-37,-139,6,-139,78v0,73,76,110,141,79","w":219},"D":{"d":"29,0r0,-251v115,-3,214,-3,214,125v0,127,-98,130,-214,126xm80,-212r0,172v64,6,110,-20,110,-86v0,-66,-46,-92,-110,-86","w":259},"E":{"d":"29,0r0,-251r148,0r0,39r-97,0r0,62r89,0r0,40r-89,0r0,70r98,0r0,40r-149,0"},"F":{"d":"29,0r0,-251r140,0r0,39r-89,0r0,62r85,0r0,40r-85,0r0,110r-51,0","w":180,"k":{"A":11,",":46,".":46}},"G":{"d":"229,-245r-4,42v-70,-34,-156,1,-156,78v0,62,52,104,119,86r0,-65r-53,0r0,-40r101,0r0,135v-102,33,-219,5,-219,-112v0,-115,108,-157,212,-124","w":259},"H":{"d":"29,0r0,-251r51,0r0,101r100,0r0,-101r51,0r0,251r-51,0r0,-110r-100,0r0,110r-51,0","w":259},"I":{"d":"25,0r0,-251r50,0r0,251r-50,0","w":100},"J":{"d":"8,0r0,-44v7,3,14,4,24,4v33,0,33,-26,33,-44r0,-167r50,0r0,191v0,27,-18,64,-69,64v-14,0,-24,0,-38,-4","w":140},"K":{"d":"29,0r0,-251r51,0r0,108r90,-108r62,0r-103,118r108,133r-66,0r-91,-117r0,117r-51,0","w":240},"L":{"d":"29,0r0,-251r51,0r0,211r97,0r0,40r-148,0","w":180,"k":{"T":33,"V":33,"W":20,"y":13,"Y":40}},"M":{"d":"29,0r0,-251r81,0r60,190r60,-190r81,0r0,251r-49,0r0,-207r-68,207r-48,0r-69,-207r0,207r-48,0","w":339},"N":{"d":"27,0r0,-251r62,0r96,188r0,-188r48,0r0,251r-61,0r-97,-188r0,188r-48,0","w":259},"O":{"d":"17,-126v0,-77,43,-130,123,-130v79,0,123,54,123,130v0,76,-43,130,-123,130v-81,0,-123,-53,-123,-130xm140,-216v-96,1,-96,180,0,181v97,-1,96,-180,0,-181","w":280},"P":{"d":"75,-212r0,77v34,1,66,-1,66,-37v0,-36,-30,-42,-66,-40xm25,0r0,-251v82,-1,168,-7,168,76v0,66,-52,83,-118,80r0,95r-50,0","k":{"A":27,",":61,".":61}},"Q":{"d":"257,48r-61,0r-44,-44v-87,5,-136,-49,-135,-130v0,-77,43,-130,123,-130v138,0,162,200,60,247xm140,-216v-96,1,-96,180,0,181v97,-1,96,-180,0,-181","w":280},"R":{"d":"75,-212r0,68v34,0,70,2,70,-35v0,-36,-37,-33,-70,-33xm25,0r0,-251v78,4,168,-21,173,68v1,31,-22,52,-52,59v14,1,21,15,26,26r41,98r-56,0r-31,-78v-7,-25,-22,-27,-51,-26r0,104r-50,0","w":219,"k":{"T":6,"V":6,"W":6,"Y":13}},"S":{"d":"169,-247r-5,42v-33,-13,-91,-25,-91,24v0,44,111,25,111,109v1,79,-92,87,-159,67r5,-46v31,19,101,29,101,-17v0,-48,-110,-28,-110,-111v1,-80,85,-88,148,-68"},"T":{"d":"75,0r0,-212r-72,0r0,-39r194,0r0,39r-72,0r0,212r-50,0","k":{"w":40,"y":40,"A":29,",":40,".":40,"c":40,"e":40,"o":40,"-":42,"a":40,"r":33,"s":40,"u":33,":":26,";":30}},"U":{"d":"27,-91r0,-160r51,0v9,79,-31,216,52,216v83,0,43,-138,52,-216r51,0r0,160v0,67,-39,95,-103,95v-64,0,-103,-28,-103,-95","w":259},"V":{"d":"90,0r-86,-251r54,0r65,197r63,-197r51,0r-85,251r-62,0","w":240,"k":{"y":6,"A":27,",":46,".":46,"e":20,"o":20,"-":20,"a":20,"r":13,"u":13,":":12,";":17,"i":-4}},"W":{"d":"70,0r-66,-251r53,0r47,201r43,-201r68,0r45,201r47,-201r49,0r-65,251r-65,0r-46,-201r-45,201r-65,0","w":360,"k":{"A":13,",":27,".":27,"e":6,"o":6,"-":10,"a":13,"r":6,"u":6,":":2,";":6}},"X":{"d":"4,0r82,-131r-75,-120r58,0r53,89r54,-89r54,0r-76,120r83,131r-60,0r-58,-98r-59,98r-56,0","w":240},"Y":{"d":"96,0r0,-99r-92,-152r59,0r59,105r61,-105r53,0r-90,152r0,99r-50,0","w":240,"k":{"v":20,"A":35,",":40,".":40,"e":33,"o":33,"q":33,"-":40,"a":33,"u":27,":":33,";":33,"i":3,"p":27}},"Z":{"d":"13,0r0,-41r118,-171r-113,0r0,-39r167,0r0,41r-119,170r121,0r0,40r-174,0"},"[":{"d":"26,50r0,-322r81,0r0,35r-35,0r0,252r35,0r0,35r-81,0","w":119},"\\":{"d":"95,4r-88,-260r38,0r87,260r-37,0","w":140},"]":{"d":"13,-272r81,0r0,322r-81,0r0,-35r35,0r0,-252r-35,0r0,-35","w":119},"^":{"d":"61,-113r-37,0r67,-138r34,0r67,138r-37,0r-47,-100","w":216},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"a":{"d":"13,-51v0,-61,60,-65,121,-63v3,-57,-72,-43,-99,-20r-2,-42v60,-27,142,-20,144,64r3,112r-42,0v-3,-10,0,-24,-3,-28v-25,51,-122,39,-122,-23xm59,-54v0,31,53,28,64,6v8,-10,11,-24,11,-38v-33,0,-75,-3,-75,32"},"b":{"d":"73,-93v0,26,11,60,43,60v32,0,41,-34,41,-60v0,-25,-9,-59,-40,-59v-31,0,-44,33,-44,59xm25,0r0,-270r48,0r1,108v13,-18,30,-28,55,-28v57,0,78,46,78,97v0,51,-21,97,-78,97v-21,0,-43,-7,-57,-27r0,23r-47,0","w":219},"c":{"d":"149,-184r-4,39v-38,-19,-82,1,-82,51v0,51,47,75,87,52r3,40v-73,22,-140,-15,-140,-92v0,-71,63,-114,136,-90","w":159},"d":{"d":"63,-93v0,26,9,60,41,60v60,0,58,-119,-1,-119v-31,0,-40,34,-40,59xm148,0r0,-21v-14,18,-34,25,-57,25v-57,0,-78,-46,-78,-97v0,-51,21,-97,78,-97v25,-1,40,10,56,26r0,-106r48,0r0,270r-47,0","w":219},"e":{"d":"59,-111r82,0v-1,-23,-12,-43,-39,-43v-27,0,-41,18,-43,43xm174,-50r0,40v-68,35,-161,5,-161,-82v0,-54,28,-98,86,-98v69,0,88,47,88,112r-128,0v2,58,79,54,115,28"},"f":{"d":"42,0r0,-150r-35,0r0,-35r35,0v-10,-67,32,-102,95,-85r-4,40v-14,-14,-48,-4,-42,22r0,23r42,0r0,35r-42,0r0,150r-49,0","w":140,"k":{"f":6}},"g":{"d":"104,-37v30,0,43,-27,43,-58v0,-32,-12,-57,-40,-57v-61,1,-58,115,-3,115xm149,-185r46,0r0,167v0,50,-20,98,-98,98v-19,0,-41,-3,-64,-13r4,-41v15,8,39,16,54,16v52,1,58,-42,55,-72v-9,16,-30,30,-57,30v-55,0,-76,-44,-76,-94v0,-45,23,-96,78,-96v25,-1,43,11,58,30r0,-25","w":219},"h":{"d":"25,0r0,-270r48,0r1,110v12,-18,33,-30,58,-30v86,-1,59,110,63,190r-48,0r0,-99v0,-23,0,-53,-31,-53v-65,0,-37,90,-43,152r-48,0","w":219},"i":{"d":"26,0r0,-185r48,0r0,185r-48,0xm26,-219r0,-46r48,0r0,46r-48,0","w":100},"j":{"d":"-5,77r1,-35v26,-1,30,-6,30,-35r0,-192r48,0r0,199v0,26,-8,66,-56,66v-8,0,-17,-1,-23,-3xm26,-219r0,-46r48,0r0,46r-48,0","w":100},"k":{"d":"26,0r0,-270r48,0r1,159r57,-74r57,0r-69,82r78,103r-61,0r-63,-90r0,90r-48,0"},"l":{"d":"26,0r0,-270r48,0r0,270r-48,0","w":100},"m":{"d":"24,0r0,-185r45,0v1,8,-2,20,1,26v28,-44,90,-41,110,2v11,-22,35,-33,58,-33v86,1,50,113,58,190r-48,0r0,-111v0,-17,0,-41,-28,-41v-59,0,-29,94,-36,152r-48,0r0,-111v0,-17,0,-41,-28,-41v-59,0,-29,94,-36,152r-48,0","w":320},"n":{"d":"25,0r0,-185r46,0r0,25v35,-54,124,-32,124,43r0,117r-48,0r0,-99v0,-23,0,-53,-31,-53v-65,0,-37,90,-43,152r-48,0","w":219},"o":{"d":"13,-91v0,-61,42,-99,97,-99v55,0,97,38,97,99v0,53,-35,95,-97,95v-61,0,-97,-42,-97,-95xm63,-97v0,31,10,64,47,64v65,-1,64,-119,0,-119v-31,0,-47,27,-47,55","w":219},"p":{"d":"25,76r0,-261r46,0v1,8,-2,20,1,26v11,-18,29,-31,57,-31v57,0,78,46,78,97v0,51,-21,97,-79,97v-22,1,-37,-6,-55,-25r0,97r-48,0xm117,-152v-31,0,-44,33,-44,59v0,26,11,60,43,60v32,0,41,-34,41,-60v0,-25,-9,-59,-40,-59","w":219},"q":{"d":"147,76r-1,-97v-17,21,-33,25,-54,25v-58,0,-79,-46,-79,-97v0,-51,21,-97,79,-97v28,-1,43,14,57,31r0,-26r46,0r0,261r-48,0xm103,-152v-31,0,-40,34,-40,59v0,26,9,60,41,60v60,0,58,-119,-1,-119","w":219},"r":{"d":"26,0r0,-185r43,0r0,42v2,-20,31,-57,66,-45r0,48v-4,-3,-13,-4,-22,-4v-60,0,-33,88,-39,144r-48,0","w":140,"k":{",":33,".":33,"c":6,"d":6,"e":6,"n":-6,"o":6,"q":6,"-":20}},"s":{"d":"138,-183r-3,36v-23,-7,-72,-18,-72,13v0,30,84,11,84,78v0,63,-77,69,-132,52r3,-39v25,13,71,24,79,-11v0,-36,-84,-11,-84,-78v0,-60,77,-66,125,-51","w":159},"t":{"d":"99,4v-74,3,-56,-85,-58,-154r-36,0r0,-35r36,0r0,-37r48,-16r0,53r43,0r0,35r-43,0r0,86v-5,27,25,38,45,26r1,38v-10,3,-22,4,-36,4","w":140},"u":{"d":"195,-185r0,185r-46,0r0,-25v-35,50,-124,33,-124,-43r0,-117r48,0r0,99v0,23,0,53,31,53v65,0,37,-90,43,-152r48,0","w":219},"v":{"d":"73,0r-69,-185r52,0r47,135r45,-135r48,0r-69,185r-54,0","k":{",":27,".":27}},"w":{"d":"67,0r-63,-185r51,0r42,137r37,-137r56,0r41,137r39,-137r46,0r-57,185r-57,0r-41,-141r-39,141r-55,0","w":320,"k":{",":20,".":20}},"x":{"d":"67,-97r-57,-88r57,0r36,60r36,-60r51,0r-56,88r63,97r-58,0r-41,-69r-42,69r-53,0"},"y":{"d":"57,-185r46,135r44,-135r49,0r-69,184v-14,53,-45,97,-112,76r4,-36v24,8,60,1,56,-30r-71,-194r53,0","k":{",":33,".":33}},"z":{"d":"17,-148r0,-37r147,0r0,39r-92,109r95,0r0,37r-154,0r0,-39r94,-109r-90,0","w":180},"{":{"d":"6,-95r0,-31v13,0,30,-8,30,-34r0,-64v2,-43,37,-51,80,-48r0,29v-50,-11,-34,48,-34,88v0,34,-25,43,-40,44v15,1,40,8,40,47v0,35,-20,96,34,86r0,28v-43,3,-80,-4,-80,-48r0,-61v0,-28,-17,-36,-30,-36","w":119},"|":{"d":"21,-270r38,0r0,360r-38,0r0,-360","w":79},"}":{"d":"113,-126r0,31v-13,0,-29,8,-29,36r0,61v-2,43,-37,51,-80,48r0,-28v49,11,34,-46,34,-86v0,-39,25,-46,40,-47v-15,-1,-40,-10,-40,-44v0,-36,21,-97,-34,-88r0,-29v43,-3,80,4,80,48v0,37,-7,103,29,98","w":119},"~":{"d":"150,-60v-41,-2,-92,-52,-112,1r-13,-32v8,-15,20,-31,43,-31v45,1,86,52,110,-1r13,32v-9,15,-22,31,-41,31","w":216},"'":{"d":"28,-161r0,-90r44,0r0,90r-44,0","w":100},"`":{"d":"60,-263r30,52r-30,0r-50,-52r50,0","w":100},"\u00a0":{"w":100}}});
/*!
 * jQuery corner plugin: simple corner rounding
 * Examples and documentation at: http://jquery.malsup.com/corner/
 * version 2.10 (05-MAY-2010)
 * Requires jQuery v1.3.2 or later
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Authors: Dave Methvin and Mike Alsup
 */

/**
 *  corner() takes a single string argument:  $('#myDiv').corner("effect corners width")
 *
 *  effect:  name of the effect to apply, such as round, bevel, notch, bite, etc (default is round). 
 *  corners: one or more of: top, bottom, tr, tl, br, or bl.  (default is all corners)
 *  width:   width of the effect; in the case of rounded corners this is the radius. 
 *           specify this value using the px suffix such as 10px (yes, it must be pixels).
 */
;(function($) { 

var style = document.createElement('div').style;
var moz = style['MozBorderRadius'] !== undefined;
var webkit = style['WebkitBorderRadius'] !== undefined;
var radius = style['borderRadius'] !== undefined || style['BorderRadius'] !== undefined;
var mode = document.documentMode || 0;
var noBottomFold = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8);

var expr = $.browser.msie && (function() {
    var div = document.createElement('div');
    try { div.style.setExpression('width','0+0'); div.style.removeExpression('width'); }
    catch(e) { return false; }
    return true;
})();
    
function sz(el, p) { 
    return parseInt($.css(el,p))||0; 
};
function hex2(s) {
    var s = parseInt(s).toString(16);
    return ( s.length < 2 ) ? '0'+s : s;
};
function gpc(node) {
    while(node) {
        var v = $.css(node,'backgroundColor');
        if (v && v != 'transparent' && v != 'rgba(0, 0, 0, 0)') {
	        if (v.indexOf('rgb') >= 0) { 
	            var rgb = v.match(/\d+/g); 
	            return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
	        }
            return v;
		}
		if (node.nodeName.toLowerCase() == 'html')
		    break;
		node = node.parentNode; // keep walking if transparent
    }
    return '#ffffff';
};

function getWidth(fx, i, width) {
    switch(fx) {
    case 'round':  return Math.round(width*(1-Math.cos(Math.asin(i/width))));
    case 'cool':   return Math.round(width*(1+Math.cos(Math.asin(i/width))));
    case 'sharp':  return Math.round(width*(1-Math.cos(Math.acos(i/width))));
    case 'bite':   return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
    case 'slide':  return Math.round(width*(Math.atan2(i,width/i)));
    case 'jut':    return Math.round(width*(Math.atan2(width,(width-i-1))));
    case 'curl':   return Math.round(width*(Math.atan(i)));
    case 'tear':   return Math.round(width*(Math.cos(i)));
    case 'wicked': return Math.round(width*(Math.tan(i)));
    case 'long':   return Math.round(width*(Math.sqrt(i)));
    case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
	case 'dogfold':
    case 'dog':    return (i&1) ? (i+1) : width;
    case 'dog2':   return (i&2) ? (i+1) : width;
    case 'dog3':   return (i&3) ? (i+1) : width;
    case 'fray':   return (i%2)*width;
    case 'notch':  return width; 
	case 'bevelfold':
    case 'bevel':  return i+1;
    }
};

$.fn.corner = function(options) {
    // in 1.3+ we can fix mistakes with the ready state
	if (this.length == 0) {
        if (!$.isReady && this.selector) {
            var s = this.selector, c = this.context;
            $(function() {
                $(s,c).corner(options);
            });
        }
        return this;
	}

    return this.each(function(index){
		var $this = $(this);
		// meta values override options
		var o = [$this.attr($.fn.corner.defaults.metaAttr) || '', options || ''].join(' ').toLowerCase();
		var keep = /keep/.test(o);                       // keep borders?
		var cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]);  // corner color
		var sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]);  // strip color
		var width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10; // corner width
		var re = /round|bevelfold|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dogfold|dog/;
		var fx = ((o.match(re)||['round'])[0]);
		var fold = /dogfold|bevelfold/.test(o);
		var edges = { T:0, B:1 };
		var opts = {
			TL:  /top|tl|left/.test(o),       TR:  /top|tr|right/.test(o),
			BL:  /bottom|bl|left/.test(o),    BR:  /bottom|br|right/.test(o)
		};
		if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
			opts = { TL:1, TR:1, BL:1, BR:1 };
			
		// support native rounding
		if ($.fn.corner.defaults.useNative && fx == 'round' && (radius || moz || webkit) && !cc && !sc) {
			if (opts.TL)
				$this.css(radius ? 'border-top-left-radius' : moz ? '-moz-border-radius-topleft' : '-webkit-border-top-left-radius', width + 'px');
			if (opts.TR)
				$this.css(radius ? 'border-top-right-radius' : moz ? '-moz-border-radius-topright' : '-webkit-border-top-right-radius', width + 'px');
			if (opts.BL)
				$this.css(radius ? 'border-bottom-left-radius' : moz ? '-moz-border-radius-bottomleft' : '-webkit-border-bottom-left-radius', width + 'px');
			if (opts.BR)
				$this.css(radius ? 'border-bottom-right-radius' : moz ? '-moz-border-radius-bottomright' : '-webkit-border-bottom-right-radius', width + 'px');
			return;
		}
			
		var strip = document.createElement('div');
		$(strip).css({
			overflow: 'hidden',
			height: '1px',
			minHeight: '1px',
			fontSize: '1px',
			backgroundColor: sc || 'transparent',
			borderStyle: 'solid'
		});
	
        var pad = {
            T: parseInt($.css(this,'paddingTop'))||0,     R: parseInt($.css(this,'paddingRight'))||0,
            B: parseInt($.css(this,'paddingBottom'))||0,  L: parseInt($.css(this,'paddingLeft'))||0
        };

        if (typeof this.style.zoom != undefined) this.style.zoom = 1; // force 'hasLayout' in IE
        if (!keep) this.style.border = 'none';
        strip.style.borderColor = cc || gpc(this.parentNode);
        var cssHeight = $(this).outerHeight();

        for (var j in edges) {
            var bot = edges[j];
            // only add stips if needed
            if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) {
                strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
                var d = document.createElement('div');
                $(d).addClass('jquery-corner');
                var ds = d.style;

                bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);

                if (bot && cssHeight != 'auto') {
                    if ($.css(this,'position') == 'static')
                        this.style.position = 'relative';
                    ds.position = 'absolute';
                    ds.bottom = ds.left = ds.padding = ds.margin = '0';
                    if (expr)
                        ds.setExpression('width', 'this.parentNode.offsetWidth');
                    else
                        ds.width = '100%';
                }
                else if (!bot && $.browser.msie) {
                    if ($.css(this,'position') == 'static')
                        this.style.position = 'relative';
                    ds.position = 'absolute';
                    ds.top = ds.left = ds.right = ds.padding = ds.margin = '0';
                    
                    // fix ie6 problem when blocked element has a border width
                    if (expr) {
                        var bw = sz(this,'borderLeftWidth') + sz(this,'borderRightWidth');
                        ds.setExpression('width', 'this.parentNode.offsetWidth - '+bw+'+ "px"');
                    }
                    else
                        ds.width = '100%';
                }
                else {
                	ds.position = 'relative';
                    ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' : 
                                        (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';                
                }

                for (var i=0; i < width; i++) {
                    var w = Math.max(0,getWidth(fx,i, width));
                    var e = strip.cloneNode(false);
                    e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
                    bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
                }
				
				if (fold && $.support.boxModel) {
					if (bot && noBottomFold) continue;
					for (var c in opts) {
						if (!opts[c]) continue;
						if (bot && (c == 'TL' || c == 'TR')) continue;
						if (!bot && (c == 'BL' || c == 'BR')) continue;
						
						var common = { position: 'absolute', border: 'none', margin: 0, padding: 0, overflow: 'hidden', backgroundColor: strip.style.borderColor };
						var $horz = $('<div/>').css(common).css({ width: width + 'px', height: '1px' });
						switch(c) {
						case 'TL': $horz.css({ bottom: 0, left: 0 }); break;
						case 'TR': $horz.css({ bottom: 0, right: 0 }); break;
						case 'BL': $horz.css({ top: 0, left: 0 }); break;
						case 'BR': $horz.css({ top: 0, right: 0 }); break;
						}
						d.appendChild($horz[0]);
						
						var $vert = $('<div/>').css(common).css({ top: 0, bottom: 0, width: '1px', height: width + 'px' });
						switch(c) {
						case 'TL': $vert.css({ left: width }); break;
						case 'TR': $vert.css({ right: width }); break;
						case 'BL': $vert.css({ left: width }); break;
						case 'BR': $vert.css({ right: width }); break;
						}
						d.appendChild($vert[0]);
					}
				}
            }
        }
    });
};

$.fn.uncorner = function() { 
	if (radius || moz || webkit)
		this.css(radius ? 'border-radius' : moz ? '-moz-border-radius' : '-webkit-border-radius', 0);
	$('div.jquery-corner', this).remove();
	return this;
};

// expose options
$.fn.corner.defaults = {
	useNative: true, // true if plugin should attempt to use native browser support for border radius rounding
	metaAttr:  'data-corner' // name of meta attribute to use for options
};
    
})(jQuery);
$(document).ready(function(){

	var resizeTimer = null;
	
	$(window).bind('resize', function() {
		if (resizeTimer) clearTimeout(resizeTimer);
		resizeTimer = setTimeout(handleInitSizing, 100);
	});

	function handleInitSizing() {
		if($('body').width() < 680) { $('body').addClass('compact'); } else { $('body').removeClass('compact');}
		$('.set .photos').each(function(){
			$frameWidth = $(this).width();
			$newH = $frameWidth * .65;
			$(this).height($newH);
			$('.grid .listing').css('padding-top', $newH+10+'px')
			$('img', this).rewImgSizer({scale: 1, method:'crop'});
		});
	}

	handleInitSizing();



	   	 $('#nav-primary .nav li:first').addClass('first');
		 $('#nav-primary .nav li:last-child').addClass('last');
		 
		 $('#content-secondary ul.nav li:first-child').addClass('first');
		 $('#content-secondary ul.nav li:last-child').addClass('last');
		 
		  $('.pg-best-buys #inner-content .listing:even').addClass('even');
		   $('.pg-best-buys #inner-content .listing:odd').addClass('odd');
		 
		 $('#legal ul li:last-child').addClass('last');

		 $("#content-primary #inner-content").corner("10px");
		 
		 $("#content").corner("10px");

});



			Cufon.replace('#header .agent h2');
			Cufon.replace('#header .agent p span');
			Cufon.replace('#nav-primary ul li a');
			Cufon.replace('#quick-search h3');
			Cufon.replace('#content-secondary dt');
			Cufon.replace('#content-secondary .nav dd ul li a ');
			
