(function($){
	/* hoverIntent by Brian Cherne */
	$.fn.hoverIntent = function(f,g) {
		// default configuration options
		var cfg = {
			sensitivity: 7,
			interval: 100,
			timeout: 0
		};
		// override configuration options with user supplied object
		cfg = $.extend(cfg, g ? { over: f, out: g } : f );

		// instantiate variables
		// cX, cY = current X and Y position of mouse, updated by mousemove event
		// pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
		var cX, cY, pX, pY;

		// A private function for getting mouse position
		var track = function(ev) {
			cX = ev.pageX;
			cY = ev.pageY;
		};

		// A private function for comparing current and previous mouse position
		var compare = function(ev,ob) {
			ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
			// compare mouse positions to see if they've crossed the threshold
			if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
				$(ob).unbind("mousemove",track);
				// set hoverIntent state to true (so mouseOut can be called)
				ob.hoverIntent_s = 1;
				return cfg.over.apply(ob,[ev]);
			} else {
				// set previous coordinates for next time
				pX = cX; pY = cY;
				// use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
				ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );
			}
		};

		// A private function for delaying the mouseOut function
		var delay = function(ev,ob) {
			ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
			ob.hoverIntent_s = 0;
			return cfg.out.apply(ob,[ev]);
		};

		// A private function for handling mouse 'hovering'
		var handleHover = function(e) {
			// next three lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut
			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; }

			// copy objects to be passed into t (required for event object to be passed in IE)
			var ev = jQuery.extend({},e);
			var ob = this;

			// cancel hoverIntent timer if it exists
			if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }

			// else e.type == "onmouseover"
			if (e.type == "mouseover") {
				// set "previous" X and Y position based on initial entry point
				pX = ev.pageX; pY = ev.pageY;
				// update "current" X and Y position based on mousemove
				$(ob).bind("mousemove",track);
				// start polling interval (self-calling timeout) to compare mouse coordinates over time
				if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}

			// else e.type == "onmouseout"
			} else {
				// unbind expensive mousemove event
				$(ob).unbind("mousemove",track);
				// if hoverIntent state is true, then call the mouseOut function after the specified delay
				if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
			}
		};

		// bind the function to the two event listeners
		return this.mouseover(handleHover).mouseout(handleHover);
	};
	
})(jQuery);

/*
 * Superfish v1.4.8 - jQuery menu widget
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 * 	http://www.opensource.org/licenses/mit-license.php
 * 	http://www.gnu.org/licenses/gpl.html
 *
 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
 */

;(function($){
	$.fn.superfish = function(op){

		var sf = $.fn.superfish,
			c = sf.c,
			$arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
			over = function(){
				var $$ = $(this), menu = getMenu($$);
				clearTimeout(menu.sfTimer);
				$$.showSuperfishUl().siblings().hideSuperfishUl();
			},
			out = function(){
				var $$ = $(this), menu = getMenu($$), o = sf.op;
				clearTimeout(menu.sfTimer);
				menu.sfTimer=setTimeout(function(){
					o.retainPath=($.inArray($$[0],o.$path)>-1);
					$$.hideSuperfishUl();
					if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
				},o.delay);	
			},
			getMenu = function($menu){
				var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
				sf.op = sf.o[menu.serial];
				return menu;
			},
			addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
			
		return this.each(function() {
			var s = this.serial = sf.o.length;
			var o = $.extend({},sf.defaults,op);
			o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
				$(this).addClass([o.hoverClass,c.bcClass].join(' '))
					.filter('li:has(ul)').removeClass(o.pathClass);
			});
			sf.o[s] = sf.op = o;
			
			$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
				if (o.autoArrows) addArrow( $('>a:first-child',this) );
			})
			.not('.'+c.bcClass)
				.hideSuperfishUl();
			
			var $a = $('a',this);
			$a.each(function(i){
				var $li = $a.eq(i).parents('li');
				$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
			});
			o.onInit.call(this);
			
		}).each(function() {
			menuClasses = [c.menuClass];
			if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
			$(this).addClass(menuClasses.join(' '));
		});
	};

	var sf = $.fn.superfish;
	sf.o = [];
	sf.op = {};
	sf.IE7fix = function(){
		var o = sf.op;
		if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
			this.toggleClass(sf.c.shadowClass+'-off');
		};
	sf.c = {
		bcClass     : 'sf-breadcrumb',
		menuClass   : 'sf-js-enabled',
		anchorClass : 'sf-with-ul',
		arrowClass  : 'sf-sub-indicator',
		shadowClass : 'sf-shadow'
	};
	sf.defaults = {
		hoverClass	: 'sfHover',
		pathClass	: 'overideThisToUse',
		pathLevels	: 1,
		delay		: 800,
		animation	: {opacity:'show'},
		speed		: 'normal',
		autoArrows	: true,
		dropShadows : true,
		disableHI	: false,		// true disables hoverIntent detection
		onInit		: function(){}, // callback functions
		onBeforeShow: function(){},
		onShow		: function(){},
		onHide		: function(){}
	};
	$.fn.extend({
		hideSuperfishUl : function(){
			var o = sf.op,
				not = (o.retainPath===true) ? o.$path : '';
			o.retainPath = false;
			var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
					.find('>ul').hide().css('visibility','hidden');
			o.onHide.call($ul);
			return this;
		},
		showSuperfishUl : function(){
			var o = sf.op,
				sh = sf.c.shadowClass+'-off',
				$ul = this.addClass(o.hoverClass)
					.find('>ul:hidden').css('visibility','visible');
			sf.IE7fix.call($ul);
			o.onBeforeShow.call($ul);
			$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
			return this;
		}
	});

})(jQuery);

function doFading(elem) {
	$(elem).find("li").not(".leaf").each(function() {
		var siblingHoverLength = $(this).siblings(".sfHover").length;

		var anchor = $(this).find("a"); anchor = $(anchor[0]);
		if ($(this).hasClass("nofade")) {
			// Do nothing
		} else if ($(this).find("a").length == 0) {
			$(this).fadeTo(1,1.00);
		} else if ($(this).hasClass("sfHover") || ($(this).parents("li").length == 0 && siblingHoverLength == 0)) {
			$(this).fadeTo(1,1.00);
		} else if ($(this).parents("li.sfHover").length > 0 && siblingHoverLength == 0) {
			$(this).fadeTo(1,1.00);
		} else {
			$(this).fadeTo(1,0.25);
		}
	});
}

/*
 * jQuery Media Plugin for converting elements into rich media content.
 *
 * Examples and documentation at: http://malsup.com/jquery/media/
 * Copyright (c) 2007 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * @author: M. Alsup
 * @version: 0.75 (02/20/2008)
 * @requires jQuery v1.1.2 or later
 * $Id: jquery.media.js 4795 2008-02-20 23:29:28Z malsup $
 *
 * Supported Media Players:
 *    - Flash
 *    - Quicktime
 *    - Real Player
 *    - Silverlight
 *    - Windows Media Player
 *    - iframe
 *
 * Supported Media Formats:
 *   Any types supported by the above players, such as:
 *     Video: asf, avi, flv, mov, mpg, mpeg, mp4, qt, smil, swf, wmv, 3g2, 3gp
 *     Audio: aif, aac, au, gsm, mid, midi, mov, mp3, m4a, snd, rm, wav, wma
 *     Other: bmp, html, pdf, psd, qif, qtif, qti, tif, tiff, xaml
 *
 * Thanks to Mark Hicken and Brent Pedersen for helping me debug this on the Mac!
 * Thanks to Dan Rossi for numerous bug reports and code bits!
 */
(function($) {

/**
 * Chainable method for converting elements into rich media.
 *
 * @name media
 * @param Object options Options object
 * @param Function callback fn invoked for each matched element before conversion
 * @param Function callback fn invoked for each matched element after conversion
 * @cat Plugins/media
 */
$.fn.media = function(options, f1, f2) {
    return this.each(function() {
        if (typeof options == 'function') {
            f2 = f1;
            f1 = options;
            options = {};
        }
        var o = getSettings(this, options);
        // pre-conversion callback, passes original element and fully populated options
        if (typeof f1 == 'function') f1(this, o);
        
        var r = getTypesRegExp();
        var m = r.exec(o.src) || [''];
        o.type ? m[0] = o.type : m.shift();
        for (var i=0; i < m.length; i++) {
            fn = m[i].toLowerCase();
            if (isDigit(fn[0])) fn = 'fn' + fn; // fns can't begin with numbers
            if (!$.fn.media[fn]) 
                continue;  // unrecognized media type
            // normalize autoplay settings
            var player = $.fn.media[fn+'_player'];
            if (!o.params) o.params = {};
            if (player) {
                var num = player.autoplayAttr == 'autostart';
                o.params[player.autoplayAttr || 'autoplay'] = num ? (o.autoplay ? 1 : 0) : o.autoplay ? true : false;
            }
            var $div = $.fn.media[fn](this, o);

            $div.css('backgroundColor', o.bgColor).width(o.width);
            
            // post-conversion callback, passes original element, new div element and fully populated options
            if (typeof f2 == 'function') f2(this, $div[0], o, player.name);
            break;
        }
    });
};

/**
 * Chainable method for preparing elements to display rich media with
 * a page overlay.
 *
 * @name mediabox
 * @param Object options Options object
 * @param Object css values for the media div
 * @cat Plugins/media
 */
$.fn.mediabox = function(options, css) {
    return this.click(function() {
        if (typeof $.blockUI == 'undefined' || typeof $.blockUI.version == 'undefined' || $.blockUI.version < 1.26) {
            if (typeof $.fn.mediabox.warning != 'undefined') return this; // one warning is enough
            $.fn.mediabox.warning = 1;
            alert('The mediabox method requires blockUI v1.26 or later.');
            return false;
        }
        var o, p, div=0, $e = $(this).clone();
        $e.appendTo('body').hide().css({margin: 0});
        options = $.extend({}, options, { autoplay: 1 }); // force autoplay in box mode
        $e.media(options, function(){}, function(origEl, newEl, opts, player) {
            div = newEl;
            o = opts;
            p = player;
        });
        if (!div) return false;
        // don't pull element from the dom on Safari
        var $div = $.browser.safari ? $(div).hide() : $(div).remove();

        if (o.loadingImage)
            $div.css({
                backgroundImage:    'url('+o.loadingImage+')',
                backgroundPosition: 'center center',
                backgroundRepeat:   'no-repeat'
            });
				
        if (o.boxTitle)
            $div.prepend('<p class="movie-title">' + o.boxTitle + '</p>');

				$div.prepend('<a class="close-dot" href="javascript:void(0);"><img src="../../images/animation/dot.jpg" alt="Close" /></a>');

				if (css) $div.css(css);

				$div.displayBox( { width: o.width, height: o.height }, function(el) {
            // quirkiness; sometimes media doesn't stop when removed from the DOM (especially in IE)
            $('object,embed', el).each(function() {
                try { this.Stop();   } catch(e) {}  // quicktime
                try { this.DoStop(); } catch(e) {}  // real
                try { this.controls.stop(); } catch(e) {} // windows media player
                $(this).remove();
            });
        }, p == 'flash'); // <-- mac/ff workaround
        
     		enableQTPopupTitle();
				$(".close-dot").click(function() {
	        $('body .displayBox').hide().remove();
				});
				
				return false;
    });
};

  
/**
 * Non-chainable method for adding or changing file format / player mapping
 * @name mapFormat
 * @param String format File format extension (ie: mov, wav, mp3)
 * @param String player Player name to use for the format (one of: flash, quicktime, realplayer, winmedia, silverlight or iframe
 */
$.fn.media.mapFormat = function(format, player) {
    if (!format || !player || !$.fn.media.defaults.players[player]) return; // invalid
    format = format.toLowerCase();
    if (isDigit(format[0])) format = 'fn' + format;
    $.fn.media[format] = $.fn.media[player];
    $.fn.media[format+'_player'] = $.fn.media.defaults.players[player];
};

// global defautls; override as needed
$.fn.media.defaults = {
    width:         400,
    height:        400,
    preferMeta:    1,         // true if markup metadata takes precedence over options object
    autoplay:      0,         // normalized cross-player setting
    bgColor:       '#ffffff', // background color
    params:        {},        // added to object element as param elements; added to embed element as attrs
    attrs:         {},        // added to object and embed elements as attrs
    flashvars:     {},        // added to flash content as flashvars param/attr
    flashVersion:  '7',       // required flash version
    expressInstaller: null,
    
    // MediaBox options
    boxTitle:      null,      // MediaBox titlebar
    loadingImage:  null,      // MediaBox loading indicator
    
    // default flash video and mp3 player (@see: http://jeroenwijering.com/?item=Flash_Media_Player)
    flvPlayer:     'mediaplayer.swf',
    mp3Player:     'mediaplayer.swf',
    
    // @see http://msdn2.microsoft.com/en-us/library/bb412401.aspx
    silverlight: {
        inplaceInstallPrompt: 'true', // display in-place install prompt?
        isWindowless:         'true', // windowless mode (false for wrapping markup)
        framerate:            '24',   // maximum framerate
        version:              '0.9',  // Silverlight version
        onError:              null,   // onError callback
        onLoad:               null,   // onLoad callback
        initParams:           null,   // object init params
        userContext:          null    // callback arg passed to the load callback
    }
};

// Media Players; think twice before overriding
$.fn.media.defaults.players = {
    flash: {
        name:         'flash',
        types:        'flv,mp3,swf',
        oAttrs:   {
            classid:  'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
            type:     'application/x-oleobject',
            codebase: 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + $.fn.media.defaults.flashVersion
        },
        eAttrs: {
            type:         'application/x-shockwave-flash',
            pluginspage:  'http://www.adobe.com/go/getflashplayer'
        }        
    },
    quicktime: {
        name:         'quicktime',
        types:        'aif,aiff,aac,au,bmp,gsm,mov,mid,midi,mpg,mpeg,mp4,m4a,psd,qt,qtif,qif,qti,snd,tif,tiff,wav,3g2,3gp',
        oAttrs:   {
            classid:  'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
            codebase: 'http://www.apple.com/qtactivex/qtplugin.cab'
        },
        eAttrs: {
            pluginspage:  'http://www.apple.com/quicktime/download/'
        }
    },
    realplayer: {
        name:         'real',
        types:        'ra,ram,rm,rpm,rv,smi,smil',
        autoplayAttr: 'autostart',
        oAttrs:   {
            classid:  'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'
        },
        eAttrs: {
            type:         'audio/x-pn-realaudio-plugin',
            pluginspage:  'http://www.real.com/player/'
        }
    },
    winmedia: {
        name:         'winmedia',
        types:        'asf,avi,wma,wmv',
        autoplayAttr: 'autostart',
        oUrl:         'url',
        oAttrs:   {
            classid:  'clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6',
            type:     'application/x-oleobject'
        },
        eAttrs: {
            type:         $.browser.mozilla && isFirefoxWMPPluginInstalled() ? 'application/x-ms-wmp' : 'application/x-mplayer2',
            pluginspage:  'http://www.microsoft.com/Windows/MediaPlayer/'
        }        
    },
    // special cases
    iframe: {
        name:  'iframe',
        types: 'html,pdf'
    },
    silverlight: {
        name:  'silverlight',
        types: 'xaml'
    }
};

//
//  everything below here is private
//


// detection script for FF WMP plugin (http://www.therossman.org/experiments/wmp_play.html)
// (hat tip to Mark Ross for this script)
function isFirefoxWMPPluginInstalled() {
    var plugs = navigator.plugins;
    for (i = 0; i < plugs.length; i++) {
        var plugin = plugs[i];
        if (plugin['filename'] == 'np-mswmp.dll')
            return true;
    }
    return false;
}

var counter = 1;

for (var player in $.fn.media.defaults.players) {
    var types = $.fn.media.defaults.players[player].types;
    $.each(types.split(','), function(i,o) {
        if (isDigit(o[0])) o = 'fn' + o;
        $.fn.media[o] = $.fn.media[player] = getGenerator(player);
        $.fn.media[o+'_player'] = $.fn.media.defaults.players[player];
    });
};

function getTypesRegExp() {
    var types = '';
    for (var player in $.fn.media.defaults.players) {
        if (types.length) types += ',';
        types += $.fn.media.defaults.players[player].types;
    };
    return new RegExp('\\.(' + types.replace(/,/g,'|') + ')\\b');
};

function getGenerator(player) {
    return function(el, options) {
        return generate(el, options, player);
    };
};

function isDigit(c) {
    return '0123456789'.indexOf(c) > -1;
};

// flatten all possible options: global defaults, meta, option obj
function getSettings(el, options) {
    options = options || {};
    var $el = $(el);
    var cls = el.className || '';
    // support metadata plugin (v1.0 and v2.0)
    var meta = $.metadata ? $el.metadata() : $.meta ? $el.data() : {};
    var w = meta.width  || parseInt(((cls.match(/w:(\d+)/)||[])[1]||0));
    var h = meta.height || parseInt(((cls.match(/h:(\d+)/)||[])[1]||0));
    if (w) meta.width  = w;
    if (h) meta.height = h;
    if (cls) meta.cls = cls;

    var a = $.fn.media.defaults;
    var b = (($.meta || $.metadata) && $.fn.media.defaults.preferMeta) ? options : meta;
    var c = b == options ? meta : options;

    var p = { params: { bgColor: options.bgColor || $.fn.media.defaults.bgColor } };
    var opts = $.extend({}, a, b, c);
    $.each(['attrs','params','flashvars','silverlight'], function(i,o) {
        opts[o] = $.extend({}, p[o] || {}, a[o] || {}, b[o] || {}, c[o] || {});
    });

    if (typeof opts.caption == 'undefined') opts.caption = $el.text();

    // make sure we have a source!
    opts.src = opts.src || $el.attr('href') || $el.attr('src') || 'unknown';
    return opts;
};

//
//  Flash Player
//

// generate flash using SWFObject if possible
$.fn.media.swf = function(el, opts) {
    if (typeof SWFObject == 'undefined') {
        // roll our own
        if (opts.flashvars) {
            var a = [];
            for (var f in opts.flashvars)
                a.push(f + '=' + opts.flashvars[f]);
            if (!opts.params) opts.params = {};
            opts.params.flashvars = a.join('&');
        }
        return generate(el, opts, 'flash');
    }

    var id = el.id ? (' id="'+el.id+'"') : '';
    var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
    var $div = $('<div' + id + cls + '>');
    $(el).after($div).remove();

    var so = new SWFObject(opts.src, 'movie_player_' + counter++, opts.width, opts.height, opts.flashVersion, opts.bgColor);
    if (opts.expressInstaller) so.useExpressInstall(opts.expressInstaller);    

    for (var p in opts.params)
        if (p != 'bgColor') so.addParam(p, opts.params[p]);
    for (var f in opts.flashvars)
        so.addVariable(f, opts.flashvars[f]);
    so.write($div[0]);

    if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
    return $div;
};

// map flv and mp3 files to the swf player by default
$.fn.media.flv = $.fn.media.mp3 = function(el, opts) {
    var src = opts.src;
    var player = /\.mp3\b/i.test(src) ? $.fn.media.defaults.mp3Player : $.fn.media.defaults.flvPlayer;
    opts.src = player;
    opts.src = opts.src + '?file=' + src;
    opts.flashvars = $.extend({}, { file: src }, opts.flashvars );
    return $.fn.media.swf(el, opts);
};

//
//  Silverlight
//
$.fn.media.xaml = function(el, opts) {
    if (!window.Sys || !window.Sys.Silverlight) {
        if ($.fn.media.xaml.warning) return;
        $.fn.media.xaml.warning = 1;
        alert('You must include the Silverlight.js script.');
        return;
    }

    var props = {
        width: opts.width,
        height: opts.height,
        background: opts.bgColor,
        inplaceInstallPrompt: opts.silverlight.inplaceInstallPrompt,
        isWindowless: opts.silverlight.isWindowless,
        framerate: opts.silverlight.framerate,
        version: opts.silverlight.version
    };
    var events = {
        onError: opts.silverlight.onError,
        onLoad: opts.silverlight.onLoad
    };

    var id1 = el.id ? (' id="'+el.id+'"') : '';
    var id2 = opts.id || 'AG' + counter++;
    // convert element to div
    var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
    var $div = $('<div' + id1 + cls + '>');
    $(el).after($div).remove();
    
    Sys.Silverlight.createObjectEx({
        source: opts.src,
        initParams: opts.silverlight.initParams,
        userContext: opts.silverlight.userContext,
        id: id2,
        parentElement: $div[0],
        properties: props,
        events: events
    });

    if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
    return $div;
};

//
// generate object/embed markup
//
function generate(el, opts, player) {
    var $el = $(el);
    var o = $.fn.media.defaults.players[player];
    
    if (player == 'iframe') {
        var o = $('<iframe' + ' width="' + opts.width + '" height="' + opts.height + '" >');
        o.attr('src', opts.src);
        o.css('backgroundColor', o.bgColor);
    }
    else if ($.browser.msie) {
        var a = ['<object width="' + opts.width + '" height="' + opts.height + '" '];
        for (var key in opts.attrs)
            a.push(key + '="'+opts.attrs[key]+'" ');
        for (var key in o.oAttrs || {})
            a.push(key + '="'+o.oAttrs[key]+'" ');
        a.push('></ob'+'ject'+'>');
        var p = ['<param name="' + (o.oUrl || 'src') +'" value="' + opts.src + '">'];
        for (var key in opts.params)
            p.push('<param name="'+ key +'" value="' + opts.params[key] + '">');
        var o = document.createElement(a.join(''));
        for (var i=0; i < p.length; i++)
            o.appendChild(document.createElement(p[i]));
    }
    else {
        var a = ['<embed width="' + opts.width + '" height="' + opts.height + '" style="display:block"'];
        if (opts.src) a.push(' src="' + opts.src + '" ');
        for (var key in opts.attrs)
            a.push(key + '="'+opts.attrs[key]+'" ');
        for (var key in o.eAttrs || {})
            a.push(key + '="'+o.eAttrs[key]+'" ');
        for (var key in opts.params)
            a.push(key + '="'+opts.params[key]+'" ');
        a.push('></em'+'bed'+'>');
    }
    // convert element to div
    var id = el.id ? (' id="'+el.id+'"') : '';
    var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
    var $div = $('<div' + id + cls + '>');
    $el.after($div).remove();
    ($.browser.msie || player == 'iframe') ? $div.append(o) : $div.html(a.join(''));
    if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
    return $div;
};


})(jQuery);


/*
 * jQuery blockUI plugin
 * Version 1.33  (09/14/2007)
 * @requires jQuery v1.1.1
 *
 * $Id$
 *
 * Examples at: http://malsup.com/jquery/block/
 * Copyright (c) 2007 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
 (function($) {
/**
 * blockUI provides a mechanism for blocking user interaction with a page (or parts of a page).
 * This can be an effective way to simulate synchronous behavior during ajax operations without
 * locking the browser.  It will prevent user operations for the current page while it is
 * active ane will return the page to normal when it is deactivate.  blockUI accepts the following
 * two optional arguments:
 *
 *   message (String|Element|jQuery): The message to be displayed while the UI is blocked. The message
 *              argument can be a plain text string like "Processing...", an HTML string like
 *              "<h1><img src="busy.gif" /> Please wait...</h1>", a DOM element, or a jQuery object.
 *              The default message is "<h1>Please wait...</h1>"
 *
 *   css (Object):  Object which contains css property/values to override the default styles of
 *              the message.  Use this argument if you wish to override the default
 *              styles.  The css Object should be in a format suitable for the jQuery.css
 *              function.  For example:
 *              $.blockUI({
 *                    backgroundColor: '#ff8',
 *                    border: '5px solid #f00,
 *                    fontWeight: 'bold'
 *              });
 *
 * The default blocking message used when blocking the entire page is "<h1>Please wait...</h1>"
 * but this can be overridden by assigning a value to $.blockUI.defaults.pageMessage in your
 * own code.  For example:
 *
 *      $.blockUI.defaults.pageMessage = "<h1>Bitte Wartezeit</h1>";
 *
 * The default message styling can also be overridden.  For example:
 *
 *      $.extend($.blockUI.defaults.pageMessageCSS, { color: '#00a', backgroundColor: '#0f0' });
 *
 * The default styles work well for simple messages like "Please wait", but for longer messages
 * style overrides may be necessary.
 *
 * @example  $.blockUI();
 * @desc prevent user interaction with the page (and show the default message of 'Please wait...')
 *
 * @example  $.blockUI( { backgroundColor: '#f00', color: '#fff'} );
 * @desc prevent user interaction and override the default styles of the message to use a white on red color scheme
 *
 * @example  $.blockUI('Processing...');
 * @desc prevent user interaction and display the message "Processing..." instead of the default message
 *
 * @name blockUI
 * @param String|jQuery|Element message Message to display while the UI is blocked
 * @param Object css Style object to control look of the message
 * @cat Plugins/blockUI
 */
$.blockUI = function(msg, css, opts) {
    $.blockUI.impl.install(window, msg, css, opts);
};

// expose version number so other plugins can interogate
$.blockUI.version = 1.33;

/**
 * unblockUI removes the UI block that was put in place by blockUI
 *
 * @example  $.unblockUI();
 * @desc unblocks the page
 *
 * @name unblockUI
 * @cat Plugins/blockUI
 */
$.unblockUI = function(opts) {
    $.blockUI.impl.remove(window, opts);
};

/**
 * Blocks user interaction with the selected elements.  (Hat tip: Much of
 * this logic comes from Brandon Aaron's bgiframe plugin.  Thanks, Brandon!)
 * By default, no message is displayed when blocking elements.
 *
 * @example  $('div.special').block();
 * @desc prevent user interaction with all div elements with the 'special' class.
 *
 * @example  $('div.special').block('Please wait');
 * @desc prevent user interaction with all div elements with the 'special' class
 * and show a message over the blocked content.
 *
 * @name block
 * @type jQuery
 * @param String|jQuery|Element message Message to display while the element is blocked
 * @param Object css Style object to control look of the message
 * @cat Plugins/blockUI
 */
$.fn.block = function(msg, css, opts) {
    return this.each(function() {
		if (!this.$pos_checked) {
            if ($.css(this,"position") == 'static')
                this.style.position = 'relative';
            if ($.browser.msie) this.style.zoom = 1; // force 'hasLayout' in IE
            this.$pos_checked = 1;
        }
        $.blockUI.impl.install(this, msg, css, opts);
    });
};

/**
 * Unblocks content that was blocked by "block()"
 *
 * @example  $('div.special').unblock();
 * @desc unblocks all div elements with the 'special' class.
 *
 * @name unblock
 * @type jQuery
 * @cat Plugins/blockUI
 */
$.fn.unblock = function(opts) {
    return this.each(function() {
        $.blockUI.impl.remove(this, opts);
    });
};

/**
 * displays the first matched element in a "display box" above a page overlay.
 *
 * @example  $('#myImage').displayBox();
 * @desc displays "myImage" element in a box
 *
 * @name displayBox
 * @type jQuery
 * @cat Plugins/blockUI
 */
$.fn.displayBox = function(css, fn, isFlash) {
    var msg = this[0];
    if (!msg) return;
    var $msg = $(msg);
    css = css || {};

    var w = $msg.width()  || $msg.attr('width')  || css.width  || $.blockUI.defaults.displayBoxCSS.width;
    var h = $msg.height() || $msg.attr('height') || css.height || $.blockUI.defaults.displayBoxCSS.height ;
    if (w[w.length-1] == '%') {
        var ww = document.documentElement.clientWidth || document.body.clientWidth;
        w = parseInt(w) || 100;
        w = (w * ww) / 100;
    }
    if (h[h.length-1] == '%') {
        var hh = document.documentElement.clientHeight || document.body.clientHeight;
        h = parseInt(h) || 100;
        h = (h * hh) / 100;
    }

    var ml = '-' + parseInt(w)/2 + 'px';
    var mt = '-' + parseInt(h)/2 + 'px';

    // supress opacity on overlay if displaying flash content on mac/ff platform
    var ua = navigator.userAgent.toLowerCase();
    var opts = {
        displayMode: fn || 1,
        noalpha: isFlash && /mac/.test(ua) && /firefox/.test(ua)
    };

    $.blockUI.impl.install(window, msg, { width: w, height: h, marginTop: mt, marginLeft: ml }, opts);
};


// override these in your code to change the default messages and styles
$.blockUI.defaults = {
    // the message displayed when blocking the entire page
    pageMessage:    '<h1>Please wait...</h1>',
    // the message displayed when blocking an element
    elementMessage: '', // none
    // styles for the overlay iframe
    overlayCSS:  { backgroundColor: '#fff', opacity: '0.5' },
    // styles for the message when blocking the entire page
    pageMessageCSS:    { width:'250px', margin:'-50px 0 0 -125px', top:'50%', left:'50%', textAlign:'center', color:'#000', backgroundColor:'#fff', border:'3px solid #aaa' },
    // styles for the message when blocking an element
    elementMessageCSS: { width:'250px', padding:'10px', textAlign:'center', backgroundColor:'#fff'},
    // styles for the displayBox
    displayBoxCSS: { width: '400px', height: '400px', top:'50%', left:'50%' },
    // allow body element to be stetched in ie6
    ie6Stretch: 1,
    // supress tab nav from leaving blocking content?
    allowTabToLeave: 0,
    // Title attribute for overlay when using displayBox
    closeMessage: 'Click to close',
    // use fadeOut effect when unblocking (can be overridden on unblock call)
    fadeOut:  1,
    // fadeOut transition time in millis
    fadeTime: 400
};

// the gory details
$.blockUI.impl = {
    box: null,
    boxCallback: null,
    pageBlock: null,
    pageBlockEls: [],
    op8: window.opera && window.opera.version() < 9,
    ie6: $.browser.msie && /MSIE 6.0/.test(navigator.userAgent),
    install: function(el, msg, css, opts) {
        opts = opts || {};
        this.boxCallback = typeof opts.displayMode == 'function' ? opts.displayMode : null;
        this.box = opts.displayMode ? msg : null;
        var full = (el == window);

        // use logical settings for opacity support based on browser but allow overrides via opts arg
        var noalpha = this.op8 || $.browser.mozilla && /Linux/.test(navigator.platform);
        if (typeof opts.alphaOverride != 'undefined')
            noalpha = opts.alphaOverride == 0 ? 1 : 0;

        if (full && this.pageBlock) this.remove(window, {fadeOut:0});
        // check to see if we were only passed the css object (a literal)
        if (msg && typeof msg == 'object' && !msg.jquery && !msg.nodeType) {
            css = msg;
            msg = null;
        }
        msg = msg ? (msg.nodeType ? $(msg) : msg) : full ? $.blockUI.defaults.pageMessage : $.blockUI.defaults.elementMessage;
        if (opts.displayMode)
            var basecss = jQuery.extend({}, $.blockUI.defaults.displayBoxCSS);
        else
            var basecss = jQuery.extend({}, full ? $.blockUI.defaults.pageMessageCSS : $.blockUI.defaults.elementMessageCSS);
        css = jQuery.extend(basecss, css || {});
        var f = ($.browser.msie) ? $('<iframe class="blockUI" style="z-index:1000;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="javascript:false;"></iframe>')
                                 : $('<div class="blockUI" style="display:none"></div>');
        var w = $('<div class="blockUI" style="z-index:1001;cursor:wait;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
        var m = full ? $('<div class="blockUI blockMsg" style="z-index:1002;cursor:wait;padding:0;position:fixed"></div>')
                     : $('<div class="blockUI" style="display:none;z-index:1002;cursor:wait;position:absolute"></div>');
        w.css('position', full ? 'fixed' : 'absolute');
        if (msg) m.css(css);
        if (!noalpha) w.css($.blockUI.defaults.overlayCSS);
        if (this.op8) w.css({ width:''+el.clientWidth,height:''+el.clientHeight }); // lame
        if ($.browser.msie) f.css('opacity','0.0');

        $([f[0],w[0],m[0]]).appendTo(full ? 'body' : el);

        // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
        var expr = $.browser.msie && (!$.boxModel || $('object,embed', full ? null : el).length > 0);
        if (this.ie6 || expr) {
            // stretch content area if it's short
            if (full && $.blockUI.defaults.ie6Stretch && $.boxModel)
                $('html,body').css('height','100%');

            // fix ie6 problem when blocked element has a border width
            if ((this.ie6 || !$.boxModel) && !full) {
                var t = this.sz(el,'borderTopWidth'), l = this.sz(el,'borderLeftWidth');
                var fixT = t ? '(0 - '+t+')' : 0;
                var fixL = l ? '(0 - '+l+')' : 0;
            }

            // simulate fixed position
            $.each([f,w,m], function(i,o) {
                var s = o[0].style;
                s.position = 'absolute';
                if (i < 2) {
                    full ? s.setExpression('height','document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + "px"')
                         : s.setExpression('height','this.parentNode.offsetHeight + "px"');
                    full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
                         : s.setExpression('width','this.parentNode.offsetWidth + "px"');
                    if (fixL) s.setExpression('left', fixL);
                    if (fixT) s.setExpression('top', fixT);
                }
                else {
                    if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
                    s.marginTop = 0;
                }
            });
        }
        if (opts.displayMode) {
            w.css('cursor','default').attr('title', $.blockUI.defaults.closeMessage);
            m.css('cursor','default');
            $([f[0],w[0],m[0]]).removeClass('blockUI').addClass('displayBox');
            $().click($.blockUI.impl.boxHandler).bind('keypress', $.blockUI.impl.boxHandler);
        }
        else
            this.bind(1, el);
        m.append(msg).show();
        if (msg.jquery) msg.show();
        if (opts.displayMode) return;
        if (full) {
            this.pageBlock = m[0];
            this.pageBlockEls = $(':input:enabled:visible',this.pageBlock);
            setTimeout(this.focus, 20);
        }
        else this.center(m[0]);
    },
    remove: function(el, opts) {
        var o = $.extend({}, $.blockUI.defaults, opts);
        this.bind(0, el);
        var full = el == window;
        var els = full ? $('body').children().filter('.blockUI') : $('.blockUI', el);
        if (full) this.pageBlock = this.pageBlockEls = null;

        if (o.fadeOut) {
            els.fadeOut(o.fadeTime, function() {
                if (this.parentNode) this.parentNode.removeChild(this);
            });
        }
        else els.remove();
    },
    boxRemove: function(el) {
        $().unbind('click',$.blockUI.impl.boxHandler).unbind('keypress', $.blockUI.impl.boxHandler);
        if (this.boxCallback)
            this.boxCallback(this.box);
        $('body .displayBox').hide().remove();
    },
    // event handler to suppress keyboard/mouse events when blocking
    handler: function(e) {
        if (e.keyCode && e.keyCode == 9) {
            if ($.blockUI.impl.pageBlock && !$.blockUI.defaults.allowTabToLeave) {
                var els = $.blockUI.impl.pageBlockEls;
                var fwd = !e.shiftKey && e.target == els[els.length-1];
                var back = e.shiftKey && e.target == els[0];
                if (fwd || back) {
                    setTimeout(function(){$.blockUI.impl.focus(back)},10);
                    return false;
                }
            }
        }
        if ($(e.target).parents('div.blockMsg').length > 0)
            return true;
        return $(e.target).parents().children().filter('div.blockUI').length == 0;
    },
    boxHandler: function(e) {
        if ((e.keyCode && e.keyCode == 27) || (e.type == 'click' && $(e.target).parents('div.blockMsg').length == 0))
            $.blockUI.impl.boxRemove();
        return true;
    },
    // bind/unbind the handler
    bind: function(b, el) {
        var full = el == window;
        // don't bother unbinding if there is nothing to unbind
        if (!b && (full && !this.pageBlock || !full && !el.$blocked)) return;
        if (!full) el.$blocked = b;
        var $e = $(el).find('a,:input');
        $.each(['mousedown','mouseup','keydown','keypress','click'], function(i,o) {
            $e[b?'bind':'unbind'](o, $.blockUI.impl.handler);
        });
    },
    focus: function(back) {
        if (!$.blockUI.impl.pageBlockEls) return;
        var e = $.blockUI.impl.pageBlockEls[back===true ? $.blockUI.impl.pageBlockEls.length-1 : 0];
        if (e) e.focus();
    },
    center: function(el) {
		var p = el.parentNode, s = el.style;
        var l = ((p.offsetWidth - el.offsetWidth)/2) - this.sz(p,'borderLeftWidth');
        var t = ((p.offsetHeight - el.offsetHeight)/2) - this.sz(p,'borderTopWidth');
        s.left = l > 0 ? (l+'px') : '0';
        s.top  = t > 0 ? (t+'px') : '0';
    },
    sz: function(el, p) { return parseInt($.css(el,p))||0; }
};

})(jQuery);

/*
 * Metadata - jQuery plugin for parsing metadata from elements
 *
 * Copyright (c) 2006 John Resig, Yehuda Katz, J?örn Zaefferer, Paul McLanahan
 *
 * 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.metadata.js 3620 2007-10-10 20:55:38Z pmclanahan $
 *
 */
(function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(type,name){this.defaults.type=type;this.defaults.name=name},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length){settings.single="metadata"}var data=$.data(elem,settings.single);if(data){return data}data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m){data=m[1]}}else{if(settings.type=="elem"){if(!elem.getElementsByTagName){return }var e=elem.getElementsByTagName(settings.name);if(e.length){data=$.trim(e[0].innerHTML)}}else{if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr){data=attr}}}}if(data.indexOf("{")<0){data="{"+data+"}"}data=eval("("+data+")");$.data(elem,settings.single,data);return data}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts)}})(jQuery);


/**
 * jQuery.Preload - Multifunctional preloader
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Dual licensed under MIT and GPL.
 * Date: 3/12/2008
 * @author Ariel Flesler
 * @version 1.0.7
 */
(function($){var n=$.preload=function(c,d){if(c.split)c=$(c);d=$.extend({},n.defaults,d);var f=$.map(c,function(a){if(!a)return;if(a.split)return d.base+a+d.ext;var b=a.src||a.href;if(typeof d.placeholder=='string'&&a.src)a.src=d.placeholder;if(b&&d.find)b=b.replace(d.find,d.replace);return b||null}),g={loaded:0,failed:0,next:0,done:0,total:f.length};if(!g.total)return m();var h='<img/>',j=d.threshold;while(--j>0)h+='<img/>';h=$(h).load(k).error(k).bind('abort',k).each(l);function k(e){g.found=e.type=='load';g.image=this.src;var a=g.original=c[this.index];g[g.found?'loaded':'failed']++;g.done++;if(d.placeholder&&a.src)a.src=g.found?g.image:d.notFound||a.src;if(d.onComplete)d.onComplete(g);if(g.done<g.total)l(0,this);else{if(h.unbind)h.unbind('load').unbind('error').unbind('abort');h=null;m()}};function l(i,a,b){if($.browser.msie&&g.next&&g.next%n.gap==0&&!b){setTimeout(function(){l(i,a,1)},0);return!1}if(g.next==g.total)return!1;a.index=g.next;a.src=f[g.next++];if(d.onRequest){g.image=a.src;g.original=c[g.next-1];d.onRequest(g)}};function m(){if(d.onFinish)d.onFinish(g)}};n.gap=14;n.defaults={threshold:2,base:'',ext:'',replace:''};$.fn.preload=function(a){n(this,a);return this}})(jQuery);

/*
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2008 M. Alsup
 * Version: 2.24
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
;eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(4($){8 n=\'2.24\';8 q=$.22.23&&/2Z 6.0/.1t(30.31);4 1l(){7(25.26&&25.26.1l)25.26.1l(\'[B] \'+32.33.34.35(36,\'\'))};$.E.B=4(m){O A.1q(4(){7(m===37||m===R)m={};7(m.27==2w){38(m){28\'39\':7(A.V)1D(A.V);A.V=0;$(A).1K(\'B.29\',\'\');O;28\'2a\':A.1m=1;O;28\'3a\':A.1m=0;O;3b:m={1r:m}}}P 7(m.27==3c){8 c=m;m=$(A).1K(\'B.29\');7(!m){1l(\'3d 1u 3e, 3f 1u 1L 2x\');O}7(c<0||c>=m.2b.L){1l(\'3g 2x 1E: \'+c);O}m.N=c;7(A.V){1D(A.V);A.V=0}1n(m.2b,m,1,1);O}7(A.V)1D(A.V);A.V=0;A.1m=0;8 d=$(A);8 e=m.2c?$(m.2c,A):d.3h();8 f=e.3i();7(f.L<2){1l(\'3j; 3k 3l 3m: \'+f.L);O}8 g=$.3n({},$.E.B.2y,m||{},$.2z?d.2z():$.3o?d.1K():{});7(g.2d)g.2e=g.2f||f.L;d.1K(\'B.29\',g);g.1M=A;g.2b=f;g.H=g.H?[g.H]:[];g.1i=g.1i?[g.1i]:[];g.1i.2A(4(){g.2g=0});7(g.1v)g.1i.J(4(){1n(f,g,0,!g.1w)});7(q&&g.1N&&!g.2B)2h(e);8 h=A.3p;g.D=X((h.1F(/w:(\\d+)/)||[])[1])||g.D;g.C=X((h.1F(/h:(\\d+)/)||[])[1])||g.C;g.Y=X((h.1F(/t:(\\d+)/)||[])[1])||g.Y;7(d.u(\'1O\')==\'3q\')d.u(\'1O\',\'3r\');7(g.D)d.D(g.D);7(g.C&&g.C!=\'1P\')d.C(g.C);7(g.1j){g.1o=[];1G(8 i=0;i<f.L;i++)g.1o.J(i);g.1o.3s(4(a,b){O 3t.1j()-0.5});g.T=0;g.1e=g.1o[0]}P 7(g.1e>=f.L)g.1e=0;8 j=g.1e||0;e.u({1O:\'2C\',x:0,9:0}).U().1q(4(i){8 z=j?i>=j?f.L-(i-j):j-i:f.L-i;$(A).u(\'z-1E\',z)});$(f[j]).u(\'1f\',1).S();7($.22.23)f[j].2D.2E(\'2i\');7(g.1k&&g.D)e.D(g.D);7(g.1k&&g.C&&g.C!=\'1P\')e.C(g.C);7(g.2a)d.3u(4(){A.1m=1},4(){A.1m=0});8 k=$.E.B.M[g.1r];7($.2F(k))k(d,e,g);P 7(g.1r!=\'2j\')1l(\'3v 3w: \'+g.1r);e.1q(4(){8 a=$(A);A.Z=(g.1k&&g.C)?g.C:a.C();A.11=(g.1k&&g.D)?g.D:a.D()});g.y=g.y||{};g.I=g.I||{};g.G=g.G||{};e.1u(\':2k(\'+j+\')\').u(g.y);7(g.1d)$(e[j]).u(g.1d);7(g.Y){7(g.19.27==2w)g.19={3x:3y,3z:3A}[g.19]||3B;7(!g.1Q)g.19=g.19/2;3C((g.Y-g.19)<3D)g.Y+=g.19}7(g.2l)g.1R=g.1S=g.2l;7(!g.1x)g.1x=g.19;7(!g.1H)g.1H=g.19;g.2G=f.L;g.1g=j;7(g.1j){g.N=g.1g;7(++g.T==f.L)g.T=0;g.N=g.1o[g.T]}P g.N=g.1e>=(f.L-1)?0:g.1e+1;8 l=e[j];7(g.H.L)g.H[0].1T(l,[l,l,g,2H]);7(g.1i.L>1)g.1i[1].1T(l,[l,l,g,2H]);7(g.1I&&!g.18)g.18=g.1I;7(g.18)$(g.18).2m(\'1I\',4(){O 1L(f,g,g.1w?-1:1)});7(g.2n)$(g.2n).2m(\'1I\',4(){O 1L(f,g,g.1w?1:-1)});7(g.1p)2I(f,g);g.3E=4(a){8 b=$(a),s=b[0];7(!g.2f)g.2e++;f.J(s);7(g.1a)g.1a.J(s);g.2G=f.L;b.u(\'1O\',\'2C\').2J(d);7(q&&g.1N&&!g.2B)2h(b);7(g.1k&&g.D)b.D(g.D);7(g.1k&&g.C&&g.C!=\'1P\')e.C(g.C);s.Z=(g.1k&&g.C)?g.C:b.C();s.11=(g.1k&&g.D)?g.D:b.D();b.u(g.y);7(g.1p)$.E.B.2o(f.L-1,s,$(g.1p),f,g);7(1U g.12==\'4\')g.12(b)};7(g.Y||g.1v)A.V=1V(4(){1n(f,g,0,!g.1w)},g.1v?10:g.Y+(g.2K||0))})};4 1n(a,b,c,d){7(b.2g)O;8 p=b.1M,1y=a[b.1g],18=a[b.N];7(p.V===0&&!c)O;7(!c&&!p.1m&&((b.2d&&(--b.2e<=0))||(b.1W&&!b.1j&&b.N<b.1g))){7(b.2p)b.2p(b);O}7(c||!p.1m){7(b.H.L)$.1q(b.H,4(i,o){o.1T(18,[1y,18,b,d])});8 e=4(){7($.22.23&&b.1N)A.2D.2E(\'2i\');$.1q(b.1i,4(i,o){o.1T(18,[1y,18,b,d])})};7(b.N!=b.1g){b.2g=1;7(b.1X)b.1X(1y,18,b,e,d);P 7($.2F($.E.B[b.1r]))$.E.B[b.1r](1y,18,b,e);P $.E.B.2j(1y,18,b,e)}7(b.1j){b.1g=b.N;7(++b.T==a.L)b.T=0;b.N=b.1o[b.T]}P{8 f=(b.N+1)==a.L;b.N=f?0:b.N+1;b.1g=f?a.L-1:b.N-1}7(b.1p)$.E.B.2q(b.1p,b.1g)}7(b.Y&&!b.1v)p.V=1V(4(){1n(a,b,0,!b.1w)},b.Y);P 7(b.1v&&p.1m)p.V=1V(4(){1n(a,b,0,!b.1w)},10)};$.E.B.2q=4(a,b){$(a).3F(\'a\').3G(\'2L\').2i(\'a:2k(\'+b+\')\').3H(\'2L\')};4 1L(a,b,c){8 p=b.1M,Y=p.V;7(Y){1D(Y);p.V=0}7(b.1j&&c<0){b.T--;7(--b.T==-2)b.T=a.L-2;P 7(b.T==-1)b.T=a.L-1;b.N=b.1o[b.T]}P 7(b.1j){7(++b.T==a.L)b.T=0;b.N=b.1o[b.T]}P{b.N=b.1g+c;7(b.N<0){7(b.1W)O 1Y;b.N=a.L-1}P 7(b.N>=a.L){7(b.1W)O 1Y;b.N=0}}1l(\'N: \'+b.N+\'; T: \'+b.T);7(b.1Z&&1U b.1Z==\'4\')b.1Z(c>0,b.N,a[b.N]);1n(a,b,1,c>=0);O 1Y};4 2I(a,b){8 c=$(b.1p);$.1q(a,4(i,o){$.E.B.2o(i,o,c,a,b)});$.E.B.2q(b.1p,b.1e)};$.E.B.2o=4(i,a,b,c,d){8 e=(1U d.2r==\'4\')?$(d.2r(i,a)):$(\'<a 3I="#">\'+(i+1)+\'</a>\');7(e.3J(\'3K\').L==0)e.2J(b);e.2m(d.2M,4(){d.N=i;8 p=d.1M,Y=p.V;7(Y){1D(Y);p.V=0}7(1U d.2s==\'4\')d.2s(d.N,c[d.N]);1n(c,d,1,d.1g<i);O 1Y})};4 2h(b){4 20(s){8 s=X(s).3L(16);O s.L<2?\'0\'+s:s};4 2N(e){1G(;e&&e.3M.3N()!=\'3O\';e=e.3P){8 v=$.u(e,\'2O-2P\');7(v.3Q(\'3R\')>=0){8 a=v.1F(/\\d+/g);O\'#\'+20(a[0])+20(a[1])+20(a[2])}7(v&&v!=\'3S\')O v}O\'#3T\'};b.1q(4(){$(A).u(\'2O-2P\',2N(A))})};$.E.B.2j=4(a,b,c,d){8 e=$(a),$n=$(b);$n.u(c.y);8 f=4(){$n.21(c.I,c.1x,c.1R,d)};e.21(c.G,c.1H,c.1S,4(){7(c.K)e.u(c.K);7(!c.1Q)f()});7(c.1Q)f()};$.E.B.M={2Q:4(a,b,c){b.1u(\':2k(\'+c.1e+\')\').u(\'1f\',0);c.H.J(4(){$(A).S()});c.I={1f:1};c.G={1f:0};c.y={1f:0};c.K={Q:\'W\'}}};$.E.B.3U=4(){O n};$.E.B.2y={1r:\'2Q\',Y:3V,1v:0,19:3W,1x:R,1H:R,18:R,2n:R,1Z:R,1p:R,2s:R,2M:\'1I\',2r:R,H:R,1i:R,2p:R,2l:R,1R:R,1S:R,1J:R,I:R,G:R,y:R,K:R,1X:R,C:\'1P\',1e:0,1Q:1,1j:0,1k:0,2a:0,2d:0,2f:0,2K:0,2c:R,1N:0,1W:0}})(2R);(4($){$.E.B.M.3X=4(d,e,f){d.u(\'17\',\'1b\');f.H.J(4(a,b,c){$(A).S();c.y.x=b.1z;c.G.x=0-a.1z});f.1d={x:0};f.I={x:0};f.K={Q:\'W\'}};$.E.B.M.3Y=4(d,e,f){d.u(\'17\',\'1b\');f.H.J(4(a,b,c){$(A).S();c.y.x=0-b.1z;c.G.x=a.1z});f.1d={x:0};f.I={x:0};f.K={Q:\'W\'}};$.E.B.M.3Z=4(d,e,f){d.u(\'17\',\'1b\');f.H.J(4(a,b,c){$(A).S();c.y.9=b.1A;c.G.9=0-a.1A});f.1d={9:0};f.I={9:0}};$.E.B.M.40=4(d,e,f){d.u(\'17\',\'1b\');f.H.J(4(a,b,c){$(A).S();c.y.9=0-b.1A;c.G.9=a.1A});f.1d={9:0};f.I={9:0}};$.E.B.M.41=4(f,g,h){f.u(\'17\',\'1b\').D();h.H.J(4(a,b,c,d){$(A).S();8 e=a.1A,2t=b.1A;c.y=d?{9:2t}:{9:-2t};c.I.9=0;c.G.9=d?-e:e;g.1u(a).u(c.y)});h.1d={9:0};h.K={Q:\'W\'}};$.E.B.M.42=4(f,g,h){f.u(\'17\',\'1b\');h.H.J(4(a,b,c,d){$(A).S();8 e=a.1z,2u=b.1z;c.y=d?{x:-2u}:{x:2u};c.I.x=0;c.G.x=d?e:-e;g.1u(a).u(c.y)});h.1d={x:0};h.K={Q:\'W\'}};$.E.B.M.43=4(d,e,f){f.H.J(4(a,b,c){$(a).u(\'F\',1)});f.12=4(a){a.U()};f.y={F:2};f.I={D:\'S\'};f.G={D:\'U\'}};$.E.B.M.44=4(d,e,f){f.H.J(4(a,b,c){$(a).u(\'F\',1)});f.12=4(a){a.U()};f.y={F:2};f.I={C:\'S\'};f.G={C:\'U\'}};$.E.B.M.1J=4(g,h,j){8 w=g.u(\'17\',\'2S\').D();h.u({9:0,x:0});j.H.J(4(){$(A).S()});j.19=j.19/2;j.1j=0;j.1J=j.1J||{9:-w,x:15};j.1a=[];1G(8 i=0;i<h.L;i++)j.1a.J(h[i]);1G(8 i=0;i<j.1e;i++)j.1a.J(j.1a.2T());j.1X=4(a,b,c,d,e){8 f=e?$(a):$(b);f.21(c.1J,c.1x,c.1R,4(){e?c.1a.J(c.1a.2T()):c.1a.2A(c.1a.45());7(e)1G(8 i=0,2v=c.1a.L;i<2v;i++)$(c.1a[i]).u(\'z-1E\',2v-i);P{8 z=$(a).u(\'z-1E\');f.u(\'z-1E\',X(z)+1)}f.21({9:0,x:0},c.1H,c.1S,4(){$(e?A:a).U();7(d)d()})})};j.12=4(a){a.U()}};$.E.B.M.46=4(d,e,f){f.H.J(4(a,b,c){$(A).S();c.y.x=b.Z;c.I.C=b.Z});f.12=4(a){a.U()};f.1d={x:0};f.y={C:0};f.I={x:0};f.G={C:0};f.K={Q:\'W\'}};$.E.B.M.47=4(d,e,f){f.H.J(4(a,b,c){$(A).S();c.I.C=b.Z;c.G.x=a.Z});f.12=4(a){a.U()};f.1d={x:0};f.y={x:0,C:0};f.G={C:0};f.K={Q:\'W\'}};$.E.B.M.48=4(d,e,f){f.H.J(4(a,b,c){$(A).S();c.y.9=b.11;c.I.D=b.11});f.12=4(a){a.U()};f.y={D:0};f.I={9:0};f.G={D:0};f.K={Q:\'W\'}};$.E.B.M.49=4(d,e,f){f.H.J(4(a,b,c){$(A).S();c.I.D=b.11;c.G.9=a.11});f.12=4(a){a.U()};f.y={9:0,D:0};f.I={9:0};f.G={D:0};f.K={Q:\'W\'}};$.E.B.M.2U=4(d,e,f){f.1d={x:0,9:0};f.K={Q:\'W\'};f.H.J(4(a,b,c){$(A).S();c.y={D:0,C:0,x:b.Z/2,9:b.11/2};c.K={Q:\'W\'};c.I={x:0,9:0,D:b.11,C:b.Z};c.G={D:0,C:0,x:a.Z/2,9:a.11/2};$(a).u(\'F\',2);$(b).u(\'F\',1)});f.12=4(a){a.U()}};$.E.B.M.4a=4(d,e,f){f.H.J(4(a,b,c){c.y={D:0,C:0,1f:1,9:b.11/2,x:b.Z/2,F:1};c.I={x:0,9:0,D:b.11,C:b.Z}});f.G={1f:0};f.K={F:0}};$.E.B.M.4b=4(d,e,f){8 w=d.u(\'17\',\'1b\').D();e.S();f.H.J(4(a,b,c){$(a).u(\'F\',1)});f.y={9:w,F:2};f.K={F:1};f.I={9:0};f.G={9:w}};$.E.B.M.4c=4(d,e,f){8 h=d.u(\'17\',\'1b\').C();e.S();f.H.J(4(a,b,c){$(a).u(\'F\',1)});f.y={x:h,F:2};f.K={F:1};f.I={x:0};f.G={x:h}};$.E.B.M.4d=4(d,e,f){8 h=d.u(\'17\',\'1b\').C();8 w=d.D();e.S();f.H.J(4(a,b,c){$(a).u(\'F\',1)});f.y={x:h,9:w,F:2};f.K={F:1};f.I={x:0,9:0};f.G={x:h,9:w}};$.E.B.M.4e=4(d,e,f){f.H.J(4(a,b,c){c.y={9:A.11/2,D:0,F:2};c.I={9:0,D:A.11};c.G={9:0};$(a).u(\'F\',1)});f.12=4(a){a.U().u(\'F\',1)}};$.E.B.M.4f=4(d,e,f){f.H.J(4(a,b,c){c.y={x:A.Z/2,C:0,F:2};c.I={x:0,C:A.Z};c.G={x:0};$(a).u(\'F\',1)});f.12=4(a){a.U().u(\'F\',1)}};$.E.B.M.4g=4(d,e,f){f.H.J(4(a,b,c){c.y={9:b.11/2,D:0,F:1,Q:\'1B\'};c.I={9:0,D:A.11};c.G={9:a.11/2,D:0};$(a).u(\'F\',2)});f.12=4(a){a.U()};f.K={F:1,Q:\'W\'}};$.E.B.M.4h=4(d,e,f){f.H.J(4(a,b,c){c.y={x:b.Z/2,C:0,F:1,Q:\'1B\'};c.I={x:0,C:A.Z};c.G={x:a.Z/2,C:0};$(a).u(\'F\',2)});f.12=4(a){a.U()};f.K={F:1,Q:\'W\'}};$.E.B.M.4i=4(e,f,g){8 d=g.2V||\'9\';8 w=e.u(\'17\',\'1b\').D();8 h=e.C();g.H.J(4(a,b,c){c.y=c.y||{};c.y.F=2;c.y.Q=\'1B\';7(d==\'2W\')c.y.9=-w;P 7(d==\'2X\')c.y.x=h;P 7(d==\'2Y\')c.y.x=-h;P c.y.9=w;$(a).u(\'F\',1)});7(!g.I)g.I={9:0,x:0};7(!g.G)g.G={9:0,x:0};g.K=g.K||{};g.K.F=2;g.K.Q=\'W\'};$.E.B.M.4j=4(e,f,g){8 d=g.2V||\'9\';8 w=e.u(\'17\',\'1b\').D();8 h=e.C();g.H.J(4(a,b,c){c.y.Q=\'1B\';7(d==\'2W\')c.G.9=w;P 7(d==\'2X\')c.G.x=-h;P 7(d==\'2Y\')c.G.x=h;P c.G.9=-w;$(a).u(\'F\',2);$(b).u(\'F\',1)});g.12=4(a){a.U()};7(!g.I)g.I={9:0,x:0};g.y=g.y||{};g.y.x=0;g.y.9=0;g.K=g.K||{};g.K.F=1;g.K.Q=\'W\'};$.E.B.M.4k=4(d,e,f){8 w=d.u(\'17\',\'2S\').D();8 h=d.C();f.H.J(4(a,b,c){$(a).u(\'F\',2);c.y.Q=\'1B\';7(!c.G.9&&!c.G.x)c.G={9:w*2,x:-h/2,1f:0};P c.G.1f=0});f.12=4(a){a.U()};f.y={9:0,x:0,F:1,1f:1};f.I={9:0};f.K={F:2,Q:\'W\'}};$.E.B.M.4l=4(o,p,q){8 w=o.u(\'17\',\'1b\').D();8 h=o.C();q.y=q.y||{};8 s;7(q.1h){7(/4m/.1t(q.1h))s=\'1s(1c 1c \'+h+\'14 1c)\';P 7(/4n/.1t(q.1h))s=\'1s(1c \'+w+\'14 \'+h+\'14 \'+w+\'14)\';P 7(/4o/.1t(q.1h))s=\'1s(1c \'+w+\'14 1c 1c)\';P 7(/4p/.1t(q.1h))s=\'1s(\'+h+\'14 \'+w+\'14 \'+h+\'14 1c)\';P 7(/2U/.1t(q.1h)){8 t=X(h/2);8 l=X(w/2);s=\'1s(\'+t+\'14 \'+l+\'14 \'+t+\'14 \'+l+\'14)\'}}q.y.1h=q.y.1h||s||\'1s(1c 1c 1c 1c)\';8 d=q.y.1h.1F(/(\\d+)/g);8 t=X(d[0]),r=X(d[1]),b=X(d[2]),l=X(d[3]);q.H.J(4(g,i,j){7(g==i)O;8 k=$(g).u(\'F\',2);8 m=$(i).u({F:3,Q:\'1B\'});8 n=1,1C=X((j.1x/13))-1;4 f(){8 a=t?t-X(n*(t/1C)):0;8 c=l?l-X(n*(l/1C)):0;8 d=b<h?b+X(n*((h-b)/1C||1)):h;8 e=r<w?r+X(n*((w-r)/1C||1)):w;m.u({1h:\'1s(\'+a+\'14 \'+e+\'14 \'+d+\'14 \'+c+\'14)\'});(n++<=1C)?1V(f,13):k.u(\'Q\',\'W\')}f()});q.K={};q.I={9:0};q.G={9:0}}})(2R);',62,274,'||||function|||if|var|left|||||||||||||||||||||css|||top|cssBefore||this|cycle|height|width|fn|zIndex|animOut|before|animIn|push|cssAfter|length|transitions|nextSlide|return|else|display|null|show|randomIndex|hide|cycleTimeout|none|parseInt|timeout|cycleH||cycleW|onAddSlide||px|||overflow|next|speed|els|hidden|0px|cssFirst|startingSlide|opacity|currSlide|clip|after|random|fit|log|cyclePause|go|randomMap|pager|each|fx|rect|test|not|continuous|rev|speedIn|curr|offsetHeight|offsetWidth|block|count|clearTimeout|index|match|for|speedOut|click|shuffle|data|advance|container|cleartype|position|auto|sync|easeIn|easeOut|apply|typeof|setTimeout|nowrap|fxFn|false|prevNextClick|hex|animate|browser|msie||window|console|constructor|case|opts|pause|elements|slideExpr|autostop|countdown|autostopCount|busy|clearTypeFix|filter|custom|eq|easing|bind|prev|createPagerAnchor|end|updateActivePagerLink|pagerAnchorBuilder|pagerClick|nextW|nextH|len|String|slide|defaults|metadata|unshift|cleartypeNoBg|absolute|style|removeAttribute|isFunction|slideCount|true|buildPager|appendTo|delay|activeSlide|pagerEvent|getBg|background|color|fade|jQuery|visible|shift|zoom|direction|right|up|down|MSIE|navigator|userAgent|Array|prototype|join|call|arguments|undefined|switch|stop|resume|default|Number|options|found|can|invalid|children|get|terminating|too|few|slides|extend|meta|className|static|relative|sort|Math|hover|unknown|transition|slow|600|fast|200|400|while|250|addSlide|find|removeClass|addClass|href|parents|body|toString|nodeName|toLowerCase|html|parentNode|indexOf|rgb|transparent|ffffff|ver|4000|1000|scrollUp|scrollDown|scrollLeft|scrollRight|scrollHorz|scrollVert|slideX|slideY|pop|turnUp|turnDown|turnLeft|turnRight|fadeZoom|blindX|blindY|blindZ|growX|growY|curtainX|curtainY|cover|uncover|toss|wipe|l2r|r2l|t2b|b2t'.split('|'),0,{}));

