﻿/**
This Javascript file uses code from other places, generally using the MIT or GPL licensing schemes.
Information on these licenses can be found at:
http://www.opensource.org/licenses/mit-license.php (MIT)
http://www.gnu.org/licenses/gpl.html (GPL)

Minifier: http://www.vlead.in/resources/tools/minify-javascript/
^ Dead
http://jscompress.com/
*/

/* Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
* Licensed under the MIT License (LICENSE.txt).
*
* Version 2.1.2
*/
(function (a) { a.fn.bgiframe = (a.browser.msie && /msie 6\.0/i.test(navigator.userAgent) ? function (d) { d = a.extend({ top: "auto", left: "auto", width: "auto", height: "auto", opacity: true, src: "javascript:false;" }, d); var c = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="' + d.src + '"style="display:block;position:absolute;z-index:-1;' + (d.opacity !== false ? "filter:Alpha(Opacity='0');" : "") + "top:" + (d.top == "auto" ? "expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+'px')" : b(d.top)) + ";left:" + (d.left == "auto" ? "expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+'px')" : b(d.left)) + ";width:" + (d.width == "auto" ? "expression(this.parentNode.offsetWidth+'px')" : b(d.width)) + ";height:" + (d.height == "auto" ? "expression(this.parentNode.offsetHeight+'px')" : b(d.height)) + ';"/>'; return this.each(function () { if (a(this).children("iframe.bgiframe").length === 0) { this.insertBefore(document.createElement(c), this.firstChild) } }) } : function () { return this }); a.fn.bgIframe = a.fn.bgiframe; function b(c) { return c && c.constructor === Number ? c + "px" : c } })(jQuery);


/*
Scripts for creating and manipulating custom menus based on standard <ul> markup
Version: 3.0, 03.31.2009
By: Maggie Costello Wachs (maggie@filamentgroup.com) and Scott Jehl (scott@filamentgroup.com)
http://www.filamentgroup.com
* reference articles: http://www.filamentgroup.com/lab/jquery_ipod_style_drilldown_menu/
Copyright (c) 2009 Filament Group
Dual licensed under the MIT and GPL licenses.
*/
var allUIMenus = []; $.fn.fgmenu = function (options) { var caller = this; var options = options; var m = new Menu(caller, options); allUIMenus.push(m); $(this).mousedown(function () { if (!m.menuOpen) { m.showLoading() } }).click(function () { if (m.menuOpen == false) { m.showMenu() } else { m.kill() }; return false }) }; function Menu(caller, options) { var menu = this; var caller = $(caller); var container = $('<div class="fg-menu-container ui-widget ui-widget-content ui-corner-all">' + options.content + '</div>'); this.menuOpen = false; this.menuExists = false; var options = jQuery.extend({ content: null, width: 180, maxHeight: 180, positionOpts: { posX: 'left', posY: 'bottom', offsetX: 0, offsetY: 0, directionH: 'right', directionV: 'down', detectH: true, detectV: true, linkToFront: false }, showSpeed: 200, callerOnState: 'ui-state-active', loadingState: 'ui-state-loading', linkHover: 'ui-state-hover', linkHoverSecondary: 'li-hover', crossSpeed: 200, crumbDefaultText: 'Choose an option:', backLink: true, backLinkText: 'Back', flyOut: false, flyOutOnState: 'ui-state-default', nextMenuLink: 'ui-icon-triangle-1-e', topLinkText: 'All', nextCrumbLink: 'ui-icon-carat-1-e', OnSelect: function (item) { return } }, options); var killAllMenus = function () { $.each(allUIMenus, function (i) { if (allUIMenus[i].menuOpen) { allUIMenus[i].kill() } }) }; this.kill = function () { caller.removeClass(options.loadingState).removeClass('fg-menu-open').removeClass(options.callerOnState); container.find('li').removeClass(options.linkHoverSecondary).find('a').removeClass(options.linkHover); if (options.flyOutOnState) { container.find('li a').removeClass(options.flyOutOnState) }; if (options.callerOnState) { caller.removeClass(options.callerOnState) }; if (container.is('.fg-menu-ipod')) { menu.resetDrilldownMenu() }; if (container.is('.fg-menu-flyout')) { menu.resetFlyoutMenu() }; container.parent().hide(); menu.menuOpen = false; $(document).unbind('click', killAllMenus); $(document).unbind('keydown') }; this.showLoading = function () { caller.addClass(options.loadingState) }; this.showMenu = function () { killAllMenus(); if (!menu.menuExists) { menu.create() }; caller.addClass('fg-menu-open').addClass(options.callerOnState); container.parent().show().click(function () { menu.kill(); return false }); container.hide().slideDown(options.showSpeed).find('.fg-menu:eq(0)'); menu.menuOpen = true; caller.removeClass(options.loadingState); $(document).click(killAllMenus); $(document).keydown(function (event) { var e; if (event.which != "") { e = event.which } else if (event.charCode != "") { e = event.charCode } else if (event.keyCode != "") { e = event.keyCode } var menuType = ($(event.target).parents('div').is('.fg-menu-flyout')) ? 'flyout' : 'ipod'; switch (e) { case 37: if (menuType == 'flyout') { $(event.target).trigger('mouseout'); if ($('.' + options.flyOutOnState).size() > 0) { $('.' + options.flyOutOnState).trigger('mouseover') } }; if (menuType == 'ipod') { $(event.target).trigger('mouseout'); if ($('.fg-menu-footer').find('a').size() > 0) { $('.fg-menu-footer').find('a').trigger('click') }; if ($('.fg-menu-header').find('a').size() > 0) { $('.fg-menu-current-crumb').prev().find('a').trigger('click') }; if ($('.fg-menu-current').prev().is('.fg-menu-indicator')) { $('.fg-menu-current').prev().trigger('mouseover') } }; return false; break; case 38: if ($(event.target).is('.' + options.linkHover)) { var prevLink = $(event.target).parent().prev().find('a:eq(0)'); if (prevLink.size() > 0) { $(event.target).trigger('mouseout'); prevLink.trigger('mouseover') } } else { container.find('a:eq(0)').trigger('mouseover') } return false; break; case 39: if ($(event.target).is('.fg-menu-indicator')) { if (menuType == 'flyout') { $(event.target).next().find('a:eq(0)').trigger('mouseover') } else if (menuType == 'ipod') { $(event.target).trigger('click'); setTimeout(function () { $(event.target).next().find('a:eq(0)').trigger('mouseover') }, options.crossSpeed) } }; return false; break; case 40: if ($(event.target).is('.' + options.linkHover)) { var nextLink = $(event.target).parent().next().find('a:eq(0)'); if (nextLink.size() > 0) { $(event.target).trigger('mouseout'); nextLink.trigger('mouseover') } } else { container.find('a:eq(0)').trigger('mouseover') } return false; break; case 27: killAllMenus(); break; case 13: if ($(event.target).is('.fg-menu-indicator') && menuType == 'ipod') { $(event.target).trigger('click'); setTimeout(function () { $(event.target).next().find('a:eq(0)').trigger('mouseover') }, options.crossSpeed) }; break } }) }; this.create = function () { if ($("form").length > 0) { container.css({ width: options.width }).appendTo($('form').eq(0)).find('ul:first').not('.fg-menu-breadcrumb').addClass('fg-menu') } else { container.css({ width: options.width }).appendTo('body').find('ul:first').not('.fg-menu-breadcrumb').addClass('fg-menu') } container.find('ul, li a').addClass('ui-corner-all'); container.find('ul').attr('role', 'menu').eq(0).attr('aria-activedescendant', 'active-menuitem').attr('aria-labelledby', caller.attr('id')); container.find('li').attr('role', 'menuitem'); container.find('li:has(ul)').attr('aria-haspopup', 'true').find('ul').attr('aria-expanded', 'false'); container.find('a').attr('tabindex', '-1'); if (container.find('ul').size() > 1) { if (options.flyOut) { menu.flyout(container, options) } else { menu.drilldown(container, options) } } else { container.find('a').click(function () { menu.chooseItem(this); return false }) }; if (options.linkHover) { var allLinks = container.find('.fg-menu li a'); allLinks.hover(function () { var menuitem = $(this); $('.' + options.linkHover).removeClass(options.linkHover).blur().parent().removeAttr('id'); $(this).addClass(options.linkHover).focus().parent().attr('id', 'active-menuitem') }, function () { $(this).removeClass(options.linkHover).blur().parent().removeAttr('id') }) }; if (options.linkHoverSecondary) { container.find('.fg-menu li').hover(function () { $(this).siblings('li').removeClass(options.linkHoverSecondary); if (options.flyOutOnState) { $(this).siblings('li').find('a').removeClass(options.flyOutOnState) } $(this).addClass(options.linkHoverSecondary) }, function () { $(this).removeClass(options.linkHoverSecondary) }) }; menu.setPosition(container, caller, options); menu.menuExists = true }; this.chooseItem = function (item) { menu.kill(); options.OnSelect(item) } }; Menu.prototype.flyout = function (container, options) { var menu = this; this.resetFlyoutMenu = function () { var allLists = container.find('ul ul'); allLists.removeClass('ui-widget-content').hide() }; container.addClass('fg-menu-flyout').find('li:has(ul)').each(function () { var linkWidth = container.width(); var showTimer, hideTimer; var allSubLists = $(this).find('ul'); allSubLists.css({ left: linkWidth, width: linkWidth }).hide(); $(this).find('a:eq(0)').addClass('fg-menu-indicator').html('<span>' + $(this).find('a:eq(0)').text() + '</span><span class="ui-icon ' + options.nextMenuLink + '"></span>').hover(function () { clearTimeout(hideTimer); var subList = $(this).next(); if (!fitVertical(subList, $(this).offset().top)) { subList.css({ top: 'auto', bottom: 0 }) }; if (!fitHorizontal(subList, $(this).offset().left + 100)) { subList.css({ left: 'auto', right: linkWidth, 'z-index': 999 }) }; showTimer = setTimeout(function () { subList.addClass('ui-widget-content').show(options.showSpeed).attr('aria-expanded', 'true') }, 300) }, function () { clearTimeout(showTimer); var subList = $(this).next(); hideTimer = setTimeout(function () { subList.removeClass('ui-widget-content').hide(options.showSpeed).attr('aria-expanded', 'false') }, 400) }); $(this).find('ul a').hover(function () { clearTimeout(hideTimer); if ($(this).parents('ul').prev().is('a.fg-menu-indicator')) { $(this).parents('ul').prev().addClass(options.flyOutOnState) } }, function () { hideTimer = setTimeout(function () { allSubLists.hide(options.showSpeed); container.find(options.flyOutOnState).removeClass(options.flyOutOnState) }, 500) }) }); container.find('a').click(function () { menu.chooseItem(this); return false }) }; Menu.prototype.drilldown = function (container, options) { var menu = this; var topList = container.find('.fg-menu'); var breadcrumb = $('<ul class="fg-menu-breadcrumb ui-widget-header ui-corner-all ui-helper-clearfix"></ul>'); var crumbDefaultHeader = $('<li class="fg-menu-breadcrumb-text">' + options.crumbDefaultText + '</li>'); var firstCrumbText = (options.backLink) ? options.backLinkText : options.topLinkText; var firstCrumbClass = (options.backLink) ? 'fg-menu-prev-list' : 'fg-menu-all-lists'; var firstCrumbLinkClass = (options.backLink) ? 'ui-state-default ui-corner-all' : ''; var firstCrumbIcon = (options.backLink) ? '<span class="ui-icon ui-icon-triangle-1-w"></span>' : ''; var firstCrumb = $('<li class="' + firstCrumbClass + '"><a href="#" class="' + firstCrumbLinkClass + '">' + firstCrumbIcon + firstCrumbText + '</a></li>'); container.addClass('fg-menu-ipod'); if (options.backLink) { breadcrumb.addClass('fg-menu-footer').appendTo(container).hide() } else { breadcrumb.addClass('fg-menu-header').prependTo(container) }; breadcrumb.append(crumbDefaultHeader); var checkMenuHeight = function (el) { if (el.height() > options.maxHeight) { el.addClass('fg-menu-scroll') }; el.css({ height: options.maxHeight }) }; var resetChildMenu = function (el) { el.removeClass('fg-menu-scroll').removeClass('fg-menu-current').height('auto') }; this.resetDrilldownMenu = function () { $('.fg-menu-current').removeClass('fg-menu-current'); topList.animate({ left: 0 }, options.crossSpeed, function () { $(this).find('ul').each(function () { $(this).hide(); resetChildMenu($(this)) }); topList.addClass('fg-menu-current') }); $('.fg-menu-all-lists').find('span').remove(); breadcrumb.empty().append(crumbDefaultHeader); $('.fg-menu-footer').empty().hide(); checkMenuHeight(topList) }; topList.addClass('fg-menu-content fg-menu-current ui-widget-content ui-helper-clearfix').css({ width: container.width() }).find('ul').css({ width: container.width(), left: container.width() }).addClass('ui-widget-content').hide(); checkMenuHeight(topList); topList.find('a').each(function () { if ($(this).next().is('ul')) { $(this).addClass('fg-menu-indicator').each(function () { $(this).html('<span>' + $(this).text() + '</span><span class="ui-icon ' + options.nextMenuLink + '"></span>') }).click(function () { var nextList = $(this).next(); var parentUl = $(this).parents('ul:eq(0)'); var parentLeft = (parentUl.is('.fg-menu-content')) ? 0 : parseFloat(topList.css('left')); var nextLeftVal = Math.round(parentLeft - parseFloat(container.width())); var footer = $('.fg-menu-footer'); resetChildMenu(parentUl); checkMenuHeight(nextList); topList.animate({ left: nextLeftVal }, options.crossSpeed); nextList.show().addClass('fg-menu-current').attr('aria-expanded', 'true'); var setPrevMenu = function (backlink) { var b = backlink; var c = $('.fg-menu-current'); var prevList = c.parents('ul:eq(0)'); c.hide().attr('aria-expanded', 'false'); resetChildMenu(c); checkMenuHeight(prevList); prevList.addClass('fg-menu-current').attr('aria-expanded', 'true'); if (prevList.hasClass('fg-menu-content')) { b.remove(); footer.hide() } }; if (options.backLink) { if (footer.find('a').size() == 0) { footer.show(); $('<a href="#"><span class="ui-icon ui-icon-triangle-1-w"></span> <span>Back</span></a>').appendTo(footer).click(function () { var b = $(this); var prevLeftVal = parseFloat(topList.css('left')) + container.width(); topList.animate({ left: prevLeftVal }, options.crossSpeed, function () { setPrevMenu(b) }); return false }) } } else { if (breadcrumb.find('li').size() == 1) { breadcrumb.empty().append(firstCrumb); firstCrumb.find('a').click(function () { menu.resetDrilldownMenu(); return false }) } $('.fg-menu-current-crumb').removeClass('fg-menu-current-crumb'); var crumbText = $(this).find('span:eq(0)').text(); var newCrumb = $('<li class="fg-menu-current-crumb"><a href="javascript://" class="fg-menu-crumb">' + crumbText + '</a></li>'); newCrumb.appendTo(breadcrumb).find('a').click(function () { if ($(this).parent().is('.fg-menu-current-crumb')) { menu.chooseItem(this) } else { var newLeftVal = -($('.fg-menu-current').parents('ul').size() - 1) * 180; topList.animate({ left: newLeftVal }, options.crossSpeed, function () { setPrevMenu() }); $(this).parent().addClass('fg-menu-current-crumb').find('span').remove(); $(this).parent().nextAll().remove() }; return false }); newCrumb.prev().append(' <span class="ui-icon ' + options.nextCrumbLink + '"></span>') }; return false }) } else { $(this).click(function () { menu.chooseItem(this); return false }) } }) }; Menu.prototype.setPosition = function (widget, caller, options) { var el = widget; var referrer = caller; var dims = { refX: referrer.offset().left, refY: referrer.offset().top, refW: referrer.getTotalWidth(), refH: referrer.getTotalHeight() }; var options = options; var xVal, yVal; var helper = $('<div class="positionHelper"></div>'); helper.css({ position: 'absolute', left: dims.refX, top: dims.refY, width: dims.refW, height: dims.refH }); el.wrap(helper); switch (options.positionOpts.posX) { case 'left': xVal = 0; break; case 'center': xVal = dims.refW / 2; break; case 'right': xVal = dims.refW; break }; switch (options.positionOpts.posY) { case 'top': yVal = 0; break; case 'center': yVal = dims.refH / 2; break; case 'bottom': yVal = dims.refH; break }; xVal += options.positionOpts.offsetX; yVal += options.positionOpts.offsetY; if (options.positionOpts.directionV == 'up') { el.css({ top: 'auto', bottom: yVal }); if (options.positionOpts.detectV && !fitVertical(el)) { el.css({ bottom: 'auto', top: yVal }) } } else { el.css({ bottom: 'auto', top: yVal }); if (options.positionOpts.detectV && !fitVertical(el)) { el.css({ top: 'auto', bottom: yVal }) } }; if (options.positionOpts.directionH == 'left') { el.css({ left: 'auto', right: xVal }); if (options.positionOpts.detectH && !fitHorizontal(el)) { el.css({ right: 'auto', left: xVal }) } } else { el.css({ right: 'auto', left: xVal }); if (options.positionOpts.detectH && !fitHorizontal(el)) { el.css({ left: 'auto', right: xVal }) } }; if (options.positionOpts.linkToFront) { referrer.clone().addClass('linkClone').css({ position: 'absolute', top: 0, right: 'auto', bottom: 'auto', left: 0, width: referrer.width(), height: referrer.height() }).insertAfter(el) } }; function sortBigToSmall(a, b) { return b - a }; jQuery.fn.getTotalWidth = function () { return $(this).width() + parseInt($(this).css('paddingRight')) + parseInt($(this).css('paddingLeft')) + parseInt($(this).css('borderRightWidth')) + parseInt($(this).css('borderLeftWidth')) }; jQuery.fn.getTotalHeight = function () { return $(this).height() + parseInt($(this).css('paddingTop')) + parseInt($(this).css('paddingBottom')) + parseInt($(this).css('borderTopWidth')) + parseInt($(this).css('borderBottomWidth')) }; function getScrollTop() { return self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop }; function getScrollLeft() { return self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft }; function getWindowHeight() { var de = document.documentElement; return self.innerHeight || (de && de.clientHeight) || document.body.clientHeight }; function getWindowWidth() { var de = document.documentElement; return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth }; function fitHorizontal(el, leftOffset) { var leftVal = parseInt(leftOffset) || $(el).offset().left; return (leftVal + $(el).width() <= getWindowWidth() + getScrollLeft() && leftVal - getScrollLeft() >= 0) }; function fitVertical(el, topOffset) { var topVal = parseInt(topOffset) || $(el).offset().top; return (topVal + $(el).height() <= getWindowHeight() + getScrollTop() && topVal - getScrollTop() >= 0) }; Number.prototype.pxToEm = String.prototype.pxToEm = function (settings) { settings = jQuery.extend({ scope: 'body', reverse: false }, settings); var pxVal = (this == '') ? 0 : parseFloat(this); var scopeVal; var getWindowWidth = function () { var de = document.documentElement; return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth }; if (settings.scope == 'body' && $.browser.msie && (parseFloat($('body').css('font-size')) / getWindowWidth()).toFixed(1) > 0.0) { var calcFontSize = function () { return (parseFloat($('body').css('font-size')) / getWindowWidth()).toFixed(3) * 16 }; scopeVal = calcFontSize() } else { scopeVal = parseFloat(jQuery(settings.scope).css("font-size")) }; var result = (settings.reverse == true) ? (pxVal * scopeVal).toFixed(2) + 'px' : (pxVal / scopeVal).toFixed(2) + 'em'; return result };

/*
* jQuery UI selectmenu
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT and GPL licenses.
* http://www.filamentgroup.com/lab/jquery_ui_selectmenu_an_aria_accessible_plugin_for_styling_a_html_select/
*/
(function ($) {
	$.widget("ui.selectmenu", { _init: function () {
		var self = this, o = this.options; var num = Math.round(Math.random() * 1000); this.ids = [this.element.attr('id') + '_' + 'button' + '_' + num, this.element.attr('id') + '_' + 'menu' + '_' + num]; this._safemouseup = true; this.newelement = $('<a class="' + this.widgetBaseClass + ' ui-widget ui-state-default ui-corner-all" id="' + this.ids[0] + '" role="button" href="#" aria-haspopup="true" aria-owns="' + this.ids[1] + '"></a>').insertAfter(this.element); if (this.element.attr('tabindex')) { this.newelement.attr('tabindex', tabindex); }
		this.newelement.data('selectelement', this.element); this.selectmenuIcon = $('<span class="' + this.widgetBaseClass + '-icon ui-icon"></span>').prependTo(this.newelement).addClass((o.style == "popup") ? 'ui-icon-triangle-2-n-s' : 'ui-icon-triangle-1-s'); $('label[for=' + this.element.attr('id') + ']').attr('for', this.ids[0]).bind('click', function () { self.newelement.focus(); return false; }); this.newelement.bind('mousedown', function (event) {
			self._toggle(event); if (o.style == "popup") { self._safemouseup = false; setTimeout(function () { self._safemouseup = true; }, 300); }
			return false;
		}).bind('click', function () { return false; }).keydown(function (event) {
			var ret = true; switch (event.keyCode) { case $.ui.keyCode.ENTER: ret = true; break; case $.ui.keyCode.SPACE: ret = false; self._toggle(event); break; case $.ui.keyCode.UP: case $.ui.keyCode.LEFT: ret = false; self._moveSelection(-1); break; case $.ui.keyCode.DOWN: case $.ui.keyCode.RIGHT: ret = false; self._moveSelection(1); break; case $.ui.keyCode.TAB: ret = true; break; default: ret = false; self._typeAhead(event.keyCode, 'mouseup'); break; }
			return ret;
		}).bind('mouseover focus', function () { $(this).addClass(self.widgetBaseClass + '-focus ui-state-hover'); }).bind('mouseout blur', function () { $(this).removeClass(self.widgetBaseClass + '-focus ui-state-hover'); }); $(document).mousedown(function (event) { self.close(event); }); this.element.click(function () { this._refreshValue(); }).focus(function () { this.newelement.focus(); }); var cornerClass = (o.style == "dropdown") ? " ui-corner-bottom" : " ui-corner-all"
		this.list = $('<ul class="' + self.widgetBaseClass + '-menu ui-widget ui-widget-content' + cornerClass + '" aria-hidden="true" role="listbox" aria-labelledby="' + this.ids[0] + '" id="' + this.ids[1] + '"></ul>').appendTo('body'); var selectOptionData = []; this.element.find('option').each(function () { selectOptionData.push({ value: $(this).attr('value'), text: self._formatText(jQuery(this).text()), selected: $(this).attr('selected'), classes: $(this).attr('class'), parentOptGroup: $(this).parent('optgroup').attr('label') }); }); var activeClass = (self.options.style == "popup") ? " ui-state-active" : ""; for (var i in selectOptionData) {
			var thisLi = $('<li role="presentation"><a href="#" tabindex="-1" role="option" aria-selected="false">' + selectOptionData[i].text + '</a></li>').data('index', i).addClass(selectOptionData[i].classes).data('optionClasses', selectOptionData[i].classes || '').mouseup(function (event) {
				if (self._safemouseup) {
					var changed = $(this).data('index') != self._selectedIndex(); self.value($(this).data('index')); self.select(event); if (changed) { self.change(event); }
					self.close(event, true);
				}
				return false;
			}).click(function () { return false; }).bind('mouseover focus', function () { self._selectedOptionLi().addClass(activeClass); self._focusedOptionLi().removeClass(self.widgetBaseClass + '-item-focus ui-state-hover'); $(this).removeClass('ui-state-active').addClass(self.widgetBaseClass + '-item-focus ui-state-hover'); }).bind('mouseout blur', function () {
				if ($(this).is(self._selectedOptionLi())) { $(this).addClass(activeClass); }
				$(this).removeClass(self.widgetBaseClass + '-item-focus ui-state-hover');
			}); if (selectOptionData[i].parentOptGroup) {
				var optGroupName = self.widgetBaseClass + '-group-' + selectOptionData[i].parentOptGroup; if (this.list.find('li.' + optGroupName).size()) { this.list.find('li.' + optGroupName + ':last ul').append(thisLi); }
				else { $('<li role="presentation" class="' + self.widgetBaseClass + '-group ' + optGroupName + '"><span class="' + self.widgetBaseClass + '-group-label">' + selectOptionData[i].parentOptGroup + '</span><ul></ul></li>').appendTo(this.list).find('ul').append(thisLi); } 
			}
			else { thisLi.appendTo(this.list); }
			this.list.bind('mousedown mouseup', function () { return false; }); if (o.icons) { for (var j in o.icons) { if (thisLi.is(o.icons[j].find)) { thisLi.data('optionClasses', selectOptionData[i].classes + ' ' + self.widgetBaseClass + '-hasIcon').addClass(self.widgetBaseClass + '-hasIcon'); var iconClass = o.icons[j].icon || ""; thisLi.find('a:eq(0)').prepend('<span class="' + self.widgetBaseClass + '-item-icon ui-icon ' + iconClass + '"></span>'); } } } 
		}
		this.list.find('li:last').addClass("ui-corner-bottom"); if (o.style == 'popup') { this.list.find('li:first').addClass("ui-corner-top"); }
		if (o.transferClasses) { var transferClasses = this.element.attr('class') || ''; this.newelement.add(this.list).addClass(transferClasses); }
		var selectWidth = this.element.width(); this.newelement.width((o.width) ? o.width : selectWidth); if (o.style == 'dropdown') { this.list.width((o.menuWidth) ? o.menuWidth : ((o.width) ? o.width : selectWidth)); }
		else { this.list.width((o.menuWidth) ? o.menuWidth : ((o.width) ? o.width - o.handleWidth : selectWidth - o.handleWidth)); }
		if (o.maxHeight && o.maxHeight < this.list.height()) { this.list.height(o.maxHeight); }
		this._optionLis = this.list.find('li:not(.' + self.widgetBaseClass + '-group)'); this.list.keydown(function (event) {
			var ret = true; switch (event.keyCode) { case $.ui.keyCode.UP: case $.ui.keyCode.LEFT: ret = false; self._moveFocus(-1); break; case $.ui.keyCode.DOWN: case $.ui.keyCode.RIGHT: ret = false; self._moveFocus(1); break; case $.ui.keyCode.HOME: ret = false; self._moveFocus(':first'); break; case $.ui.keyCode.PAGE_UP: ret = false; self._scrollPage('up'); break; case $.ui.keyCode.PAGE_DOWN: ret = false; self._scrollPage('down'); break; case $.ui.keyCode.END: ret = false; self._moveFocus(':last'); break; case $.ui.keyCode.ENTER: case $.ui.keyCode.SPACE: ret = false; self.close(event, true); $(event.target).parents('li:eq(0)').trigger('mouseup'); break; case $.ui.keyCode.TAB: ret = true; self.close(event, true); break; case $.ui.keyCode.ESCAPE: ret = false; self.close(event, true); break; default: ret = false; self._typeAhead(event.keyCode, 'focus'); break; }
			return ret;
		}); if (o.style == 'dropdown') { this.newelement.addClass(self.widgetBaseClass + "-dropdown"); this.list.addClass(self.widgetBaseClass + "-menu-dropdown"); }
		else { this.newelement.addClass(self.widgetBaseClass + "-popup"); this.list.addClass(self.widgetBaseClass + "-menu-popup"); }
		this.newelement.prepend('<span class="' + self.widgetBaseClass + '-status">' + selectOptionData[this._selectedIndex()].text + '</span>'); this.element.hide(); if (this.element.attr('disabled') == true) { this.disable(); }
		this.value(this._selectedIndex());
	}, destroy: function () { this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass + '-disabled' + ' ' + this.namespace + '-state-disabled').removeAttr('aria-disabled'); $('label[for=' + this.newelement.attr('id') + ']').attr('for', this.element.attr('id')).unbind('click'); this.newelement.remove(); this.list.remove(); this.element.show(); }, _typeAhead: function (code, eventType) {
		var self = this; if (!self._prevChar) { self._prevChar = ['', 0]; }
		var C = String.fromCharCode(code); c = C.toLowerCase(); var focusFound = false; function focusOpt(elem, ind) { focusFound = true; $(elem).trigger(eventType); self._prevChar[1] = ind; }; this.list.find('li a').each(function (i) {
			if (!focusFound) {
				var thisText = $(this).text(); if (thisText.indexOf(C) == 0 || thisText.indexOf(c) == 0) {
					if (self._prevChar[0] == C) { if (self._prevChar[1] < i) { focusOpt(this, i); } }
					else { focusOpt(this, i); } 
				} 
			} 
		}); this._prevChar[0] = C;
	}, _uiHash: function () { return { value: this.value() }; }, open: function (event) {
		var self = this; this._refreshPosition(); this._closeOthers(event); this.newelement.addClass('ui-state-active'); this.list.appendTo('body').addClass(self.widgetBaseClass + '-open').attr('aria-hidden', false).find('li:not(.' + self.widgetBaseClass + '-group):eq(' + this._selectedIndex() + ') a').focus(); if (this.options.style == "dropdown") { this.newelement.removeClass('ui-corner-all').addClass('ui-corner-top'); }
		this._refreshPosition(); this._trigger("open", event, this._uiHash());
	}, close: function (event, retainFocus) {
		if (this.newelement.is('.ui-state-active')) {
			this.newelement.removeClass('ui-state-active'); this.list.attr('aria-hidden', true).removeClass(this.widgetBaseClass + '-open'); if (this.options.style == "dropdown") { this.newelement.removeClass('ui-corner-top').addClass('ui-corner-all'); }
			if (retainFocus) { this.newelement.focus(); }
			this._trigger("close", event, this._uiHash());
		} 
	}, change: function (event) { this.element.trigger('change'); this._trigger("change", event, this._uiHash()); }, select: function (event) { this._trigger("select", event, this._uiHash()); }, _closeOthers: function (event) { $('.' + this.widgetBaseClass + '.ui-state-active').not(this.newelement).each(function () { $(this).data('selectelement').selectmenu('close', event); }); $('.' + this.widgetBaseClass + '.ui-state-hover').trigger('mouseout'); }, _toggle: function (event, retainFocus) {
		if (this.list.is('.' + this.widgetBaseClass + '-open')) { this.close(event, retainFocus); }
		else { this.open(event); } 
	}, _formatText: function (text) { return this.options.format ? this.options.format(text) : text; }, _selectedIndex: function () { return this.element[0].selectedIndex; }, _selectedOptionLi: function () { return this._optionLis.eq(this._selectedIndex()); }, _focusedOptionLi: function () { return this.list.find('.' + this.widgetBaseClass + '-item-focus'); }, _moveSelection: function (amt) { var currIndex = parseInt(this._selectedOptionLi().data('index'), 10); var newIndex = currIndex + amt; return this._optionLis.eq(newIndex).trigger('mouseup'); }, _moveFocus: function (amt) {
		if (!isNaN(amt)) { var currIndex = parseInt(this._focusedOptionLi().data('index'), 10); var newIndex = currIndex + amt; }
		else { var newIndex = parseInt(this._optionLis.filter(amt).data('index'), 10); }
		if (newIndex < 0) { newIndex = 0; }
		if (newIndex > this._optionLis.size() - 1) { newIndex = this._optionLis.size() - 1; }
		var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000); this._focusedOptionLi().find('a:eq(0)').attr('id', '').blur(); this._optionLis.eq(newIndex).find('a:eq(0)').attr('id', activeID).focus(); this.list.attr('aria-activedescendant', activeID);
	}, _scrollPage: function (direction) { var numPerPage = Math.floor(this.list.outerHeight() / this.list.find('li:first').outerHeight()); numPerPage = (direction == 'up') ? -numPerPage : numPerPage; this._moveFocus(numPerPage); }, _setData: function (key, value) {
		this.options[key] = value; if (key == 'disabled') {
			this.element.add(this.newelement).add(this.list)
	[value ? 'addClass' : 'removeClass'](this.widgetBaseClass + '-disabled' + ' ' +
	this.namespace + '-state-disabled').attr("aria-disabled", value);
		} 
	}, value: function (newValue) {
		if (arguments.length) { this.element[0].selectedIndex = newValue; this._refreshValue(); this._refreshPosition(); }
		return this.element[0].selectedIndex;
	}, _refreshValue: function () { var activeClass = (this.options.style == "popup") ? " ui-state-active" : ""; var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000); this.list.find('.' + this.widgetBaseClass + '-item-selected').removeClass(this.widgetBaseClass + "-item-selected" + activeClass).find('a').attr('aria-selected', 'false').attr('id', ''); this._selectedOptionLi().addClass(this.widgetBaseClass + "-item-selected" + activeClass).find('a').attr('aria-selected', 'true').attr('id', activeID); var currentOptionClasses = this.newelement.data('optionClasses') ? this.newelement.data('optionClasses') : ""; var newOptionClasses = this._selectedOptionLi().data('optionClasses') ? this._selectedOptionLi().data('optionClasses') : ""; this.newelement.removeClass(currentOptionClasses).data('optionClasses', newOptionClasses).addClass(newOptionClasses).find('.' + this.widgetBaseClass + '-status').html(this._selectedOptionLi().find('a:eq(0)').html()); this.list.attr('aria-activedescendant', activeID) }, _refreshPosition: function () {
		this.list.css('left', this.newelement.offset().left); var menuTop = this.newelement.offset().top; var scrolledAmt = this.list[0].scrollTop; this.list.find('li:lt(' + this._selectedIndex() + ')').each(function () { scrolledAmt -= $(this).outerHeight(); }); if (this.newelement.is('.' + this.widgetBaseClass + '-popup')) { menuTop += scrolledAmt; this.list.css('top', menuTop); }
		else { menuTop += this.newelement.height(); this.list.css('top', menuTop); } 
	} 
	}); $.extend($.ui.selectmenu, { getter: "value", version: "@VERSION", eventPrefix: "selectmenu", defaults: { transferClasses: true, style: 'popup', width: null, menuWidth: null, handleWidth: 26, maxHeight: null, icons: null, format: null} });
})(jQuery);

/*
* jQuery blockUI plugin
* Version 2.31 (06-JAN-2010)
* Examples at: http://malsup.com/jquery/block/
* Copyright (c) 2007-2008 M. Alsup
* Dual licensed under the MIT and GPL licenses
* Thanks to Amir-Hossein Sobhi for some excellent contributions!
*/
; (function ($) {
	if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) { alert('blockUI requires jQuery v1.2.3 or later!  You are using v' + $.fn.jquery); return; }
	$.fn._fadeIn = $.fn.fadeIn; var noOp = function () { }; var mode = document.documentMode || 0; var setExpr = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8); var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode; $.blockUI = function (opts) { install(window, opts); }; $.unblockUI = function (opts) { remove(window, opts); }; $.growlUI = function (title, message, timeout, onClose) { var $m = $('<div class="growlUI"></div>'); if (title) $m.append('<h1>' + title + '</h1>'); if (message) $m.append('<h2>' + message + '</h2>'); if (timeout == undefined) timeout = 3000; $.blockUI({ message: $m, fadeIn: 700, fadeOut: 1000, centerY: false, timeout: timeout, showOverlay: false, onUnblock: onClose, css: $.blockUI.defaults.growlCSS }); }; $.fn.block = function (opts) {
		return this.unblock({ fadeOut: 0 }).each(function () {
			if ($.css(this, 'position') == 'static')
				this.style.position = 'relative'; if ($.browser.msie)
				this.style.zoom = 1; install(this, opts);
		});
	}; $.fn.unblock = function (opts) { return this.each(function () { remove(this, opts); }); }; $.blockUI.version = 2.31; $.blockUI.defaults = { message: '<h1>Please wait...</h1>', title: null, draggable: true, theme: false, css: { padding: 0, margin: 0, width: '30%', top: '40%', left: '35%', textAlign: 'center', color: '#000', border: '3px solid #aaa', backgroundColor: '#fff', cursor: 'wait' }, themedCSS: { width: '30%', top: '40%', left: '35%' }, overlayCSS: { backgroundColor: '#000', opacity: 0.6, cursor: 'wait' }, growlCSS: { width: '350px', top: '10px', left: '', right: '10px', border: 'none', padding: '5px', opacity: 0.6, cursor: 'default', color: '#fff', backgroundColor: '#000', '-webkit-border-radius': '10px', '-moz-border-radius': '10px' }, iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', forceIframe: false, baseZ: 1000, centerX: true, centerY: true, allowBodyStretch: true, bindEvents: true, constrainTabKey: true, fadeIn: 200, fadeOut: 400, timeout: 0, showOverlay: true, focusInput: true, applyPlatformOpacityRules: true, onBlock: null, onUnblock: null, quirksmodeOffsetHack: 4 }; var pageBlock = null; var pageBlockEls = []; function install(el, opts) {
		var full = (el == window); var msg = opts && opts.message !== undefined ? opts.message : undefined; opts = $.extend({}, $.blockUI.defaults, opts || {}); opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {}); var css = $.extend({}, $.blockUI.defaults.css, opts.css || {}); var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {}); msg = msg === undefined ? opts.message : msg; if (full && pageBlock)
			remove(window, { fadeOut: 0 }); if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
			var node = msg.jquery ? msg[0] : msg; var data = {}; $(el).data('blockUI.history', data); data.el = node; data.parent = node.parentNode; data.display = node.style.display; data.position = node.style.position; if (data.parent)
				data.parent.removeChild(node);
		}
		var z = opts.baseZ; var lyr1 = ($.browser.msie || opts.forceIframe) ? $('<iframe class="blockUI" style="z-index:' + (z++) + ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' + opts.iframeSrc + '"></iframe>') : $('<div class="blockUI" style="display:none"></div>'); var lyr2 = $('<div class="blockUI blockOverlay" style="z-index:' + (z++) + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'); var lyr3; if (opts.theme && full) { var s = '<div class="blockUI blockMsg blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + z + ';display:none;position:fixed">' + '<div class="ui-widget-header ui-dialog-titlebar blockTitle">' + (opts.title || ' ') + '</div>' + '<div class="ui-widget-content ui-dialog-content"></div>' + '</div>'; lyr3 = $(s); }
		else { lyr3 = full ? $('<div class="blockUI blockMsg blockPage" style="z-index:' + z + ';display:none;position:fixed"></div>') : $('<div class="blockUI blockMsg blockElement" style="z-index:' + z + ';display:none;position:absolute"></div>'); }
		if (msg) {
			if (opts.theme) { lyr3.css(themedCSS); lyr3.addClass('ui-widget-content'); }
			else
				lyr3.css(css);
		}
		if (!opts.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform)))
			lyr2.css(opts.overlayCSS); lyr2.css('position', full ? 'fixed' : 'absolute'); if ($.browser.msie || opts.forceIframe)
			lyr1.css('opacity', 0.0); var layers = [lyr1, lyr2, lyr3], $par = full ? $('body') : $(el); $.each(layers, function () { this.appendTo($par); }); if (opts.theme && opts.draggable && $.fn.draggable) { lyr3.draggable({ handle: '.ui-dialog-titlebar', cancel: 'li' }); }
		var expr = setExpr && (!$.boxModel || $('object,embed', full ? null : el).length > 0); if (ie6 || expr) {
			if (full && opts.allowBodyStretch && $.boxModel)
				$('html,body').css('height', '100%'); if ((ie6 || !$.boxModel) && !full) { var t = sz(el, 'borderTopWidth'), l = sz(el, 'borderLeftWidth'); var fixT = t ? '(0 - ' + t + ')' : 0; var fixL = l ? '(0 - ' + l + ')' : 0; }
			$.each([lyr1, lyr2, lyr3], function (i, o) {
				var s = o[0].style; s.position = 'absolute'; if (i < 2) { full ? s.setExpression('height', 'Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:' + opts.quirksmodeOffsetHack + ') + "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 (opts.centerY) { 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; }
				else if (!opts.centerY && full) { var top = (opts.css && opts.css.top) ? parseInt(opts.css.top) : 0; var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + ' + top + ') + "px"'; s.setExpression('top', expression); } 
			});
		}
		if (msg) {
			if (opts.theme)
				lyr3.find('.ui-widget-content').append(msg); else
				lyr3.append(msg); if (msg.jquery || msg.nodeType)
				$(msg).show();
		}
		if (($.browser.msie || opts.forceIframe) && opts.showOverlay)
			lyr1.show(); if (opts.fadeIn) {
			var cb = opts.onBlock ? opts.onBlock : noOp; var cb1 = (opts.showOverlay && !msg) ? cb : noOp; var cb2 = msg ? cb : noOp; if (opts.showOverlay)
				lyr2._fadeIn(opts.fadeIn, cb1); if (msg)
				lyr3._fadeIn(opts.fadeIn, cb2);
		}
		else {
			if (opts.showOverlay)
				lyr2.show(); if (msg)
				lyr3.show(); if (opts.onBlock)
				opts.onBlock();
		}
		bind(1, el, opts); if (full) {
			pageBlock = lyr3[0]; pageBlockEls = $(':input:enabled:visible', pageBlock); if (opts.focusInput)
				setTimeout(focus, 20);
		}
		else
			center(lyr3[0], opts.centerX, opts.centerY); if (opts.timeout) { var to = setTimeout(function () { full ? $.unblockUI(opts) : $(el).unblock(opts); }, opts.timeout); $(el).data('blockUI.timeout', to); } 
	}; function remove(el, opts) {
		var full = (el == window); var $el = $(el); var data = $el.data('blockUI.history'); var to = $el.data('blockUI.timeout'); if (to) { clearTimeout(to); $el.removeData('blockUI.timeout'); }
		opts = $.extend({}, $.blockUI.defaults, opts || {}); bind(0, el, opts); var els; if (full)
			els = $('body').children().filter('.blockUI').add('body > .blockUI'); else
			els = $('.blockUI', el); if (full)
			pageBlock = pageBlockEls = null; if (opts.fadeOut) { els.fadeOut(opts.fadeOut); setTimeout(function () { reset(els, data, opts, el); }, opts.fadeOut); }
		else
			reset(els, data, opts, el);
	}; function reset(els, data, opts, el) {
		els.each(function (i, o) {
			if (this.parentNode)
				this.parentNode.removeChild(this);
		}); if (data && data.el) {
			data.el.style.display = data.display; data.el.style.position = data.position; if (data.parent)
				data.parent.appendChild(data.el); $(el).removeData('blockUI.history');
		}
		if (typeof opts.onUnblock == 'function')
			opts.onUnblock(el, opts);
	}; function bind(b, el, opts) {
		var full = el == window, $el = $(el); if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
			return; if (!full)
			$el.data('blockUI.isBlocked', b); if (!opts.bindEvents || (b && !opts.showOverlay))
			return; var events = 'mousedown mouseup keydown keypress'; b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler);
	}; function handler(e) {
		if (e.keyCode && e.keyCode == 9) { if (pageBlock && e.data.constrainTabKey) { var els = pageBlockEls; var fwd = !e.shiftKey && e.target == els[els.length - 1]; var back = e.shiftKey && e.target == els[0]; if (fwd || back) { setTimeout(function () { 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;
	}; function focus(back) {
		if (!pageBlockEls)
			return; var e = pageBlockEls[back === true ? pageBlockEls.length - 1 : 0]; if (e)
			e.focus();
	}; function center(el, x, y) { var p = el.parentNode, s = el.style; var l = ((p.offsetWidth - el.offsetWidth) / 2) - sz(p, 'borderLeftWidth'); var t = ((p.offsetHeight - el.offsetHeight) / 2) - sz(p, 'borderTopWidth'); if (x) s.left = l > 0 ? (l + 'px') : '0'; if (y) s.top = t > 0 ? (t + 'px') : '0'; }; function sz(el, p) { return parseInt($.css(el, p)) || 0; };
})(jQuery);

/*
* Cookie plugin
* Copyright (c) 2006 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses
*/
; jQuery.cookie = function (name, value, options) { if (typeof value != 'undefined') { options = options || {}; if (value === null) { value = ''; options.expires = -1 } var expires = ''; if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)) } else { date = options.expires } expires = '; expires=' + date.toUTCString() } var path = options.path ? '; path=' + (options.path) : ''; var domain = options.domain ? '; domain=' + (options.domain) : ''; var secure = options.secure ? '; secure' : ''; document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('') } else { var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break } } } return cookieValue } };

/*
* jQuery Media Plugin for converting elements into rich media content.
* Examples and documentation at: http://malsup.com/jquery/media/
* Copyright (c) 2007-2008 M. Alsup
* Dual licensed under the MIT and GPL licenses
* @author: M. Alsup
* @version: 0.90 (10-MAY-2009)
*/
; (function ($) { $.fn.media = function (options, f1, f2) { return this.each(function () { if (typeof options == 'function') { f2 = f1; f1 = options; options = {} } var o = getSettings(this, options); if (typeof f1 == 'function') f1(this, o); var r = getTypesRegExp(); var m = r.exec(o.src.toLowerCase()) || ['']; 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; if (!$.fn.media[fn]) continue; 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); if (typeof f2 == 'function') f2(this, $div[0], o, player.name); break } }) }; $.fn.media.mapFormat = function (format, player) { if (!format || !player || !$.fn.media.defaults.players[player]) return; 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] }; $.fn.media.defaults = { width: 400, height: 400, autoplay: 0, bgColor: '#ffffff', params: { wmode: 'transparent' }, attrs: {}, flvKeyName: 'file', flashvars: {}, flashVersion: '7', expressInstaller: null, flvPlayer: 'mediaplayer.swf', mp3Player: 'mediaplayer.swf', silverlight: { inplaceInstallPrompt: 'true', isWindowless: 'true', framerate: '24', version: '0.9', onError: null, onLoad: null, initParams: null, userContext: null} }; $.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: 'asx,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/'} }, iframe: { name: 'iframe', types: 'html,pdf' }, silverlight: { name: 'silverlight', types: 'xaml'} }; 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(/,/ig, '|') + ')\\b') }; function getGenerator(player) { return function (el, options) { return generate(el, options, player) } }; function isDigit(c) { return '0123456789'.indexOf(c) > -1 }; function getSettings(el, options) { options = options || {}; var $el = $(el); var cls = el.className || ''; var meta = $.metadata ? $el.metadata() : $.meta ? $el.data() : {}; meta = meta || {}; 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 = options; var c = meta; 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(); opts.src = opts.src || $el.attr('href') || $el.attr('src') || 'unknown'; return opts }; $.fn.media.swf = function (el, opts) { if (!window.SWFObject && !window.swfobject) { 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 + '>'); if (window.swfobject) { $(el).after($div).appendTo($div); if (!el.id) el.id = 'movie_player_' + counter++; swfobject.embedSWF(opts.src, el.id, opts.width, opts.height, opts.flashVersion, opts.expressInstaller, opts.flashvars, opts.params, opts.attrs) } else { $(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 }; $.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; var key = opts.flvKeyName; src = encodeURIComponent(src); opts.src = player; opts.src = opts.src + '?' + key + '=' + (src); var srcObj = {}; srcObj[key] = src; opts.flashvars = $.extend({}, srcObj, opts.flashvars); return $.fn.media.swf(el, opts) }; $.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++; 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 }; 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 || {}) { var v = o.oAttrs[key]; if (key == 'codebase' && window.location.protocol == 'https:') v = v.replace('http', 'https'); a.push(key + '="' + v + '" ') } 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) { if (key == 'wmode' && player != 'flash') continue; a.push(key + '="' + opts.params[key] + '" ') } a.push('></em' + 'bed' + '>') } 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 Multiple File Upload Plugin v1.31 - 2009-01-17 ###
* Home: http://www.fyneworks.com/jquery/multiple-file-upload/
* Code: http://code.google.com/p/jquery-multifile-plugin/
* Dual licensed under the MIT and GPL licenses:
*/
; if (window.jQuery) (function ($) { $.extend($, { MultiFile: function (o) { return $("input:file.multi").MultiFile(o) } }); $.extend($.MultiFile, { options: { fileLabelClass: '', accept: '', max: -1, error: function (s) { if ($.blockUI) { $.blockUI({ message: s.replace(/\n/gi, '<br/>'), css: { border: 'none', padding: '15px', size: '12.0pt', backgroundColor: '#900', color: '#fff', opacity: '.8', '-webkit-border-radius': '10px', '-moz-border-radius': '10px'} }); window.setTimeout($.unblockUI, 2000) } else { alert(s) } }, namePattern: '$name', STRING: { remove: 'x', denied: 'You cannot select a $ext file.\nTry again...', file: '$file', selected: 'File selected: $file', duplicate: 'This file has already been selected:\n$file'}} }); $.extend($.MultiFile, { disableEmpty: function (klass) { var o = []; $('input:file').each(function () { if ($(this).val() == '') o[o.length] = this }); return $(o).each(function () { this.disabled = true }).addClass(klass || 'mfD') }, reEnableEmpty: function (klass) { klass = klass || 'mfD'; return $('input:file.' + klass).removeClass(klass).each(function () { this.disabled = false }) }, autoIntercept: ['submit', 'ajaxSubmit', 'validate'], intercepted: {}, intercept: function (methods, context, args) { var method, value; args = args || []; if (args.constructor.toString().indexOf("Array") < 0) args = [args]; if (typeof (methods) == 'function') { $.MultiFile.disableEmpty(); value = methods.apply(context || window, args); $.MultiFile.reEnableEmpty(); return value }; if (methods.constructor.toString().indexOf("Array") < 0) methods = [methods]; for (var i = 0; i < methods.length; i++) { method = methods[i] + ''; if (method) (function (method) { $.MultiFile.intercepted[method] = $.fn[method] || function () { }; $.fn[method] = function () { $.MultiFile.disableEmpty(); value = $.MultiFile.intercepted[method].apply(this, arguments); $.MultiFile.reEnableEmpty(); return value } })(method) } } }); $.extend($.fn, { reset: function () { return this.each(function () { try { this.reset() } catch (e) { } }) }, MultiFile: function (options) { if ($.MultiFile.autoIntercept) { $.MultiFile.intercept($.MultiFile.autoIntercept); $.MultiFile.autoIntercept = null }; return $(this).each(function (group_count) { if (this._MultiFile) return; this._MultiFile = true; window.MultiFile = (window.MultiFile || 0) + 1; group_count = window.MultiFile; var MF = { e: this, E: $(this), clone: $(this).clone() }; if (typeof options == 'number') options = { max: options }; if (typeof options == 'string') options = { accept: options }; var o = $.extend({}, $.MultiFile.options, options || {}, ($.meta ? MF.E.data() : ($.metadata ? MF.E.metadata() : null)) || {}); if (!(o.max > 0)) { o.max = MF.E.attr('maxlength'); if (!(o.max > 0)) { o.max = (String(MF.e.className.match(/\b(max|limit)\-([0-9]+)\b/gi) || ['']).match(/[0-9]+/gi) || [''])[0]; if (!(o.max > 0)) o.max = -1; else o.max = String(o.max).match(/[0-9]+/gi)[0] } }; o.max = new Number(o.max); o.accept = o.accept || MF.E.attr('accept') || ''; if (!o.accept) { o.accept = (MF.e.className.match(/\b(accept\-[\w\|]+)\b/gi)) || ''; o.accept = new String(o.accept).replace(/^(accept|ext)\-/i, '') }; $.extend(MF, o || {}); MF.STRING = $.extend({}, $.MultiFile.options.STRING, MF.STRING); $.extend(MF, { n: 0, slaves: [], files: [], instanceKey: MF.e.id || 'MultiFile' + String(group_count), generateID: function (z) { return MF.instanceKey + (z > 0 ? '_F' + String(z) : '') }, trigger: function (event, element) { var handler = MF[event], value = $(element).attr('value'); if (handler) { var returnValue = handler(element, value, MF); if (returnValue != null) return returnValue } return true } }); if (String(MF.accept).length > 1) { MF.rxAccept = new RegExp('\\.(' + (MF.accept ? MF.accept : '') + ')$', 'gi') }; MF.wrapID = MF.instanceKey + '_wrap'; MF.E.wrap('<div id="' + MF.wrapID + '"></div>'); MF.wrapper = $('#' + MF.wrapID + ''); MF.e.name = MF.e.name || 'file' + group_count + '[]'; if (!MF.list) { MF.wrapper.append('<span id="' + MF.wrapID + '_list" class="' + MF.fileLabelClass + '"></span>'); MF.list = $('#' + MF.wrapID + '_list') }; MF.list = $(MF.list); MF.addSlave = function (slave, slave_count) { MF.n++; slave.MF = MF; slave.i = slave_count; if (slave.i > 0) slave.id = slave.name = null; slave.id = slave.id || MF.generateID(slave.i); slave.name = String(MF.namePattern.replace(/\$name/gi, MF.E.attr('name')).replace(/\$id/gi, MF.E.attr('id')).replace(/\$g/gi, (group_count > 0 ? group_count : '')).replace(/\$i/gi, (slave_count > 0 ? slave_count : ''))); $(slave).val('').attr('value', '')[0].value = ''; if ((MF.max > 0) && ((MF.n - 1) > (MF.max))) slave.disabled = true; MF.current = MF.slaves[slave.i] = slave; slave = $(slave); $(slave).change(function () { $(this).blur(); if (!MF.trigger('onFileSelect', this, MF)) return false; var ERROR = '', v = String(this.value || ''); if (MF.accept && v && !v.match(MF.rxAccept)) ERROR = MF.STRING.denied.replace('$ext', String(v.match(/\.\w{1,4}$/gi))); for (var f in MF.slaves) if (MF.slaves[f] && MF.slaves[f] != this) if (MF.slaves[f].value == v) ERROR = MF.STRING.duplicate.replace('$file', v.match(/[^\/\\]+$/gi)); var newEle = $(MF.clone).clone(); newEle.addClass('MultiFile'); if (ERROR != '') { MF.error(ERROR); MF.n--; MF.addSlave(newEle[0], this.i); slave.parent().prepend(newEle); slave.remove(); return false }; $(this).css({ position: 'absolute', top: '-3000px' }); MF.list.before(newEle); MF.addToList(this); MF.addSlave(newEle[0], this.i + 1); if (!MF.trigger('afterFileSelect', this, MF)) return false }) }; MF.addToList = function (slave) { if (!MF.trigger('onFileAppend', slave, MF)) return false; var r = $('<div></div>'), v = String(slave.value || ''), a = $('<span class="file" title="' + MF.STRING.selected.replace('$file', v) + '">' + MF.STRING.file.replace('$file', v.match(/[^\/\\]+$/gi)[0]) + '</span>'), b = $('<a href="#' + MF.wrapID + '">' + MF.STRING.remove + '</a>'); MF.list.append(r.append(b, ' ', a)); b.click(function () { if (!MF.trigger('onFileRemove', slave, MF)) return false; MF.n--; MF.current.disabled = false; MF.slaves[slave.i] = null; $(slave).remove(); $(this).parent().remove(); $(MF.current).css({ position: '', top: '' }); $(MF.current).reset().val('').attr('value', '')[0].value = ''; if (!MF.trigger('afterFileRemove', slave, MF)) return false; return false }); if (!MF.trigger('afterFileAppend', slave, MF)) return false }; if (!MF.MF) MF.addSlave(MF.e, 0); MF.n++ }) } }); $(function () { $.MultiFile() }) })(jQuery);

/*
* jQuery UI Multiselect
* Authors:
* Michael Aufreiter (quasipartikel.at)
* Yanick Rochon (yanick.rochon[at]gmail[dot]com)
* Dual licensed under the MIT and GPL licenses.
* http://yanickrochon.uuuq.com/multiselect/
*/
; (function ($) {
	$.widget("ui.multiselect", { _init: function () {
		this.element.hide(); this.busy = false; this.container = $('<div class="ui-multiselect ui-helper-clearfix ui-widget"></div>').insertAfter(this.element); this.selectedContainer = $('<div class="ui-widget-content list-container selected"></div>').appendTo(this.container); this.availableContainer = $('<div class="ui-widget-content list-container available"></div>').appendTo(this.container); this.selectedActions = $('<div class="actions ui-widget-header ui-helper-clearfix"><span class="count">' + $.tmpl($.ui.multiselect.locale.itemsCount, { count: 0 }) + '</span><a href="#" class="remove-all">' + $.tmpl($.ui.multiselect.locale.removeAll) + '</a></div>').appendTo(this.selectedContainer); this.availableActions = $('<div class="actions ui-widget-header ui-helper-clearfix"><span class="busy">' + $.tmpl($.ui.multiselect.locale.busy) + '</span><input type="text" class="search ui-widget-content ui-corner-all"/><a href="#" class="add-all">' + $.tmpl($.ui.multiselect.locale.addAll) + '</a></div>').appendTo(this.availableContainer); this.selectedList = $('<ul class="list selected"><li class="ui-helper-hidden-accessible"></li></ul>').bind('selectstart', function () { return false; }).appendTo(this.selectedContainer); this.availableList = $('<ul class="list available"><li class="ui-helper-hidden-accessible"></li></ul>').bind('selectstart', function () { return false; }).appendTo(this.availableContainer); var that = this; this.availableList.data('multiselect.cache', {}); this.selectedList.data('multiselect.cache', {}); if (!this.options.animated) { this.options.show = 'show'; this.options.hide = 'hide'; }
		var dragOptions = { selected: { sortable: ('both' == this.options.sortable || 'left' == this.options.sortable), droppable: ('both' == this.options.droppable || 'left' == this.options.droppable) }, available: { sortable: ('both' == this.options.sortable || 'right' == this.options.sortable), droppable: ('both' == this.options.droppable || 'right' == this.options.droppable)} }; this._prepareLists('selected', 'available', dragOptions); this._prepareLists('available', 'selected', dragOptions); this._registerSearchEvents(this.availableContainer.find('input.search'), true); this._setBusy(false); this.container.find(".remove-all").bind('click.multiselect', function () { that.selectNone(); return false; }); this.container.find(".add-all").bind('click.multiselect', function () { that.selectAll(); return false; }); this.container.width(this.element.width() + 1); this._refreshDividerLocation(); this.availableActions.find('input').width(Math.max(this.availableActions.width() - this.availableActions.find('a.add-all').width() - 30, 20)); this.selectedList.height(Math.max(this.element.height() - this.selectedActions.height(), 1)); this.availableList.height(Math.max(this.element.height() - this.availableActions.height(), 1)); this._populateLists(this.element.find('option'));
	}, destroy: function () { this.container.remove(); this.element.show(); $.widget.prototype.destroy.apply(this, arguments); }, isBusy: function () { return !!this.busy; }, isSelected: function (item) { if (this.enabled()) { return !!this._findItem(item, this.selectedList); } else { return null; } }, selectedValues: function () { return $.map(this.element.find('option[selected]'), function (item, i) { return $(item).val(); }); }, enabled: function (state, msg) {
		if (undefined !== state) { if (state) { this.container.unblock(); this.element.removeAttr('disabled'); } else { this.container.block({ message: msg || null, overlayCSS: { backgroundColor: '#fff', opacity: 0.4, cursor: 'default'} }); this.element.attr('disabled', true); } }
		return !this.element.attr('disabled');
	}, selectAll: function () { if (this.enabled()) { this._batchSelect(this.availableList.children('li.ui-element:visible'), true); } }, selectNone: function () { if (this.enabled()) { this._batchSelect(this.selectedList.children('li.ui-element:visible'), false); } }, select: function (text) { if (this.enabled()) { var available = this._findItem(text, this.availableList); if (available) { this._setSelected(available, true); } } }, deselect: function (text) { if (this.enabled()) { var selected = this._findItem(text, this.selectedList); if (selected) { this._setSelected(selected, false); } } }, search: function (query) { if (!this.busy && this.enabled() && this.options.searchable) { var input = this.availableActions.children('input:first'); input.val(query); input.trigger('keydown.multiselect'); } }, addOptions: function (data) {
		if (this.enabled()) {
			this._setBusy(true); var elements = []; if (data = this.options.dataParser.call(this, data)) { for (var key in data) { if (this.element.find('option[value="' + key + '"]').size() == 0) { elements.push($('<option value="' + key + '"/>').text(data[key].value).appendTo(this.element)[0]); } } }
			if (elements.length > 0) { this._populateLists($(elements)); }
			this._filter(this.availableList.children('li.ui-element')); this._setBusy(false); return elements.length;
		} else { return false; } 
	}, _setData: function (key, value) { switch (key) { case 'dividerLocation': this.options.dividerLocation = value; this._refreshDividerLocation(); break; case 'searchable': this.options.searchable = value; this._registerSearchEvents(this.availableContainer.find('input.search'), false); break; case 'droppable': case 'sortable': this._messages($.ui.multiselect.constants.MESSAGE_WARNING, $.ui.multiselect.locale.errorReadonly, { option: key }); default: this.options[key] = value; break; } }, _ui: function (type) {
		var uiObject = { sender: this.element }; switch (type) { case 'message': uiObject.type = arguments[1]; uiObject.message = arguments[2]; break; case 'selection': uiObject.option = arguments[1]; break; }
		return uiObject;
	}, _messages: function (type, msg, params) { this._trigger('messages', null, this._ui('message', type, $.tmpl(msg, params))); }, _refreshDividerLocation: function () { this.selectedContainer.width(Math.floor(this.element.width() * this.options.dividerLocation)); this.availableContainer.width(Math.floor(this.element.width() * (1 - this.options.dividerLocation))); }, _prepareLists: function (side, otherSide, opts) {
		var that = this; var itemSelected = ('selected' == side); var list = this[side + 'List']; var otherList = this[otherSide + 'List']; var listDragHelper = opts[otherSide].sortable ? _dragHelper : 'clone'; list.data('multiselect.sortable', opts[side].sortable).data('multiselect.droppable', opts[side].droppable).data('multiselect.draggable', !opts[side].sortable && (opts[otherSide].sortable || opts[otherSide].droppable)); if (opts[side].sortable) {
			list.sortable({ appendTo: this.container, connectWith: otherList, containment: this.container, helper: listDragHelper, items: 'li.ui-element', revert: !(opts[otherSide].sortable || opts[otherSide].droppable), receive: function (event, ui) {
				if (opts[otherSide].sortable) {
					var optionLink = ui.item.data('multiselect.optionLink'); that._applyItemState(ui.item.hide(), itemSelected); if (otherList.data('multiselect.cache')[optionLink.val()]) { delete otherList.data('multiselect.cache')[optionLink.val()]; }
					ui.item.hide(); that._setSelected(ui.item, itemSelected, true);
				} else { setTimeout(function () { that._setSelected(ui.item, itemSelected); }, 10); } 
			}, stop: function (event, ui) { that._moveOptionNode(ui.item); } 
			});
		}
		if (!(opts[side].sortable && opts[otherSide].sortable) && (opts[side].droppable || opts[otherSide].sortable || opts[otherSide].droppable)) {
			list.droppable({ accept: '.ui-multiselect li.ui-element', hoverClass: 'ui-state-highlight', revert: !(opts[otherSide].sortable || opts[otherSide].droppable), greedy: true, drop: function (event, ui) {
				if (!ui.draggable.data('multiselect.optionLink')) {
					var optionLink = ui.helper.data('multiselect.optionLink'); ui.draggable.data('multiselect.optionLink', optionLink); if (list.data('multiselect.cache')[optionLink.val()]) { delete list.data('multiselect.cache')[optionLink.val()]; }
					list.data('multiselect.cache')[optionLink.val()] = ui.draggable; that._applyItemState(ui.draggable, itemSelected);
				} else if (!opts[side].sortable) { setTimeout(function () { ui.draggable.hide(); that._setSelected(ui.draggable, itemSelected); }, 10); } 
			} 
			});
		} 
	}, _populateLists: function (options) { this._setBusy(true); var that = this; setTimeout(function () { $(options.each(function (i) { var list = (this.selected ? that.selectedList : that.availableList); var item = that._getOptionNode(this).show(); that._applyItemState(item, this.selected); item.data('multiselect.idx', i); list.data('multiselect.cache')[item.data('multiselect.optionLink').val()] = item; that._insertToList(item, list); })); that._setBusy(false); that._updateCount(); }, 1); }, _insertToList: function (node, list) {
		var that = this; this._setBusy(true); var _addNodeRetry = 0; var _addNode = function () {
			var succ = (that.options.nodeComparator ? that._getSuccessorNode(node, list) : null); try {
				if (succ) { node.insertBefore(succ); } else { list.append(node); }
				if (list === that.selectedList) that._moveOptionNode(node); if ('function' == typeof that.options.nodeInserted) that.options.nodeInserted(node); that._setBusy(false);
			} catch (e) { if (_addNodeRetry++ < 10) { setTimeout(function () { _addNode(); }, 1); } else { that._messages($.ui.multiselect.constants.MESSAGE_EXCEPTION, $.ui.multiselect.locale.errorInsertNode, { key: node.data('multiselect.optionLink').val(), value: node.text() }); that._setBusy(false); } } 
		}; _addNode();
	}, _updateCount: function () { var that = this; if (this.busy) setTimeout(function () { that._updateCount(); }, 100); var count = this.selectedList.children('li:not(.ui-helper-hidden-accessible,.ui-sortable-placeholder):visible').size(); var total = this.availableList.children('li:not(.ui-helper-hidden-accessible,.ui-sortable-placeholder,.shadowed)').size() + count; this.selectedContainer.find('span.count').text($.tmpl($.ui.multiselect.locale.itemsCount, { count: count })).attr('title', $.tmpl($.ui.multiselect.locale.itemsTotal, { count: total })); }, _getOptionNode: function (option) { option = $(option); var node = $('<li class="ui-state-default ui-element"><span class="ui-icon"/>' + option.text() + '<a href="#" class="ui-state-default action"><span class="ui-corner-all ui-icon"/></a></li>').hide(); node.data('multiselect.optionLink', option); return node; }, _moveOptionNode: function (item) { setTimeout(function () { var optionLink = item.data('multiselect.optionLink'); if (optionLink) { var prevItem = item.prev('li:not(.ui-helper-hidden-accessible,.ui-sortable-placeholder):visible'); var prevOptionLink = prevItem.size() ? prevItem.data('multiselect.optionLink') : null; if (prevOptionLink) { optionLink.insertAfter(prevOptionLink); } else { optionLink.prependTo(optionLink.parent()); } } }, 100); }, _findItem: function (text, list) { var found = null; list.children('li.ui-element:visible').each(function (i, el) { el = $(el); if (el.text().toLowerCase() === text.toLowerCase()) { found = el; } }); if (found && found.size()) { return found; } else { return false; } }, _cloneWithData: function (clonee, cacheName, insertItem) {
		var that = this; var id = clonee.data('multiselect.optionLink').val(); var selected = ('selected' == cacheName); var list = (selected ? this.selectedList : this.availableList); var clone = list.data('multiselect.cache')[id]; if (!clone) { clone = clonee.clone().hide(); this._applyItemState(clone, selected); list.data('multiselect.cache')[id] = clone; clone.data('multiselect.optionLink', clonee.data('multiselect.optionLink')); clone.data('multiselect.idx', clonee.data('multiselect.idx')); if (insertItem) { this._insertToList(clone, list); } } else { clone.data('multiselect.idx', clonee.data('multiselect.idx')); }
		return clone;
	}, _batchSelect: function (elements, state) { this._setBusy(true); var that = this; setTimeout(function () { var _backup = { animated: that.options.animated, hide: that.options.hide, show: that.options.show }; that.options.animated = null; that.options.hide = 'hide'; that.options.show = 'show'; elements.each(function (i, element) { that._setSelected($(element), state); }); if (!state) that._filter(that.availableList.find('li.ui-element')); $.extend(that.options, _backup); that._updateCount(); that._setBusy(false); }, 10); }, _getSuccessorNode: function (item, list) {
		var items = list.find('li.ui-element'), comparator = this.options.nodeComparator; var itemsSize = items.size(); if (items.size() == 0) return null; var succ, i = Math.min(item.data('multiselect.idx'), itemsSize - 1), direction = comparator(item, $(items[i])); if (direction) {
			if (0 > direction && 0 >= i) { succ = items[0]; } else if (0 < direction && itemsSize - 1 <= i) { i++; succ = null; } else {
				while (i >= 0 && i < items.length) {
					direction > 0 ? i++ : i--; if (i < 0) { succ = item[0] }
					if (direction != comparator(item, $(items[i]))) { succ = items[direction > 0 ? i : i + 1]; break; } 
				} 
			} 
		} else { succ = items[i]; }
		item.data('multiselect.idx', i); return succ;
	}, _setSelected: function (item, selected, noclone) {
		var that = this, otherItem; var optionLink = item.data('multiselect.optionLink'); if (selected) {
			if (optionLink.attr('selected')) return; optionLink.attr('selected', 'selected'); if (noclone) { otherItem = item; } else { otherItem = this._cloneWithData(item, 'selected', true).hide(); item.addClass('shadowed')[this.options.hide](this.options.animated, function () { that._updateCount(); }); }
			otherItem[this.options.show](this.options.animated);
		} else {
			if (!optionLink.attr('selected')) return; optionLink.removeAttr('selected'); if (noclone) { otherItem = item; } else { otherItem = this._cloneWithData(item, 'available', true).hide().removeClass('shadowed'); item[this.options.hide](this.options.animated, function () { that._updateCount() }); }
			if (!otherItem.is('.filtered')) otherItem[this.options.show](this.options.animated);
		}
		if (!this.busy) { if (this.options.animated) { otherItem.fadeTo('fast', 0.3, function () { $(this).fadeTo('fast', 1); }); } }
		this._trigger(selected ? 'selected' : 'deselected', null, this._ui('selection', optionLink)); return otherItem;
	}, _setBusy: function (state) {
		var input = this.availableActions.children('input.search'); var busy = this.availableActions.children('.busy'); this.busy = Math.max(state ? ++this.busy : --this.busy, 0); this.container.find("a.remove-all, a.add-all")[this.busy ? 'hide' : 'show'](); if (state && (1 == this.busy)) {
			if (this.options.searchable) { input.data('multiselect.hadFocus', input.data('multiselect.hasFocus')); input.blur().hide(); }
			busy.show();
		} else if (!this.busy) {
			if (this.options.searchable) { input.show(); if (input.data('multiselect.hadFocus')) input.focus(); }
			busy.hide();
		} 
	}, _applyItemState: function (item, selected) {
		if (selected) { item.children('span').addClass('ui-helper-hidden').removeClass('ui-icon'); item.find('a.action span').addClass('ui-icon-minus').removeClass('ui-icon-plus'); this._registerRemoveEvents(item.find('a.action')); } else { item.children('span').addClass('ui-helper-hidden').removeClass('ui-icon'); item.find('a.action span').addClass('ui-icon-plus').removeClass('ui-icon-minus'); this._registerAddEvents(item.find('a.action')); }
		this._registerHoverEvents(item); return item;
	}, _filter: function (elements) {
		var input = this.availableActions.children('input.search'); var term = $.trim(input.val().toLowerCase()); if (!term) { elements.removeClass('filtered'); } else { elements.each(function (i, element) { element = $(element); element[(element.text().toLowerCase().indexOf(term) >= 0 ? 'remove' : 'add') + 'Class']('filtered'); }); }
		return elements.not('.filtered, .shadowed').show().end().filter('.filtered, .shadowed').hide().end();
	}, _registerHoverEvents: function (elements) { elements.unbind('mouseover.multiselect').bind('mouseover.multiselect', function () { $(this).find('a').andSelf().addClass('ui-state-hover'); }).unbind('mouseout.multiselect').bind('mouseout.multiselect', function () { $(this).find('a').andSelf().removeClass('ui-state-hover'); }).find('a').andSelf().removeClass('ui-state-hover'); }, _registerAddEvents: function (elements) {
		var that = this; elements.unbind('click.multiselect').bind('click.multiselect', function () {
			if (!this.busy) { that._setSelected($(this).parent(), true); }
			return false;
		}); if (this.availableList.data('multiselect.draggable')) { elements.each(function () { $(this).parent().draggable({ connectToSortable: that.selectedList, helper: _dragHelper, appendTo: that.container, containment: that.container, revert: 'invalid' }); }); if (this.selectedList.data('multiselect.sortable')) { this.selectedList.sortable('refresh'); } } 
	}, _registerRemoveEvents: function (elements) {
		var that = this; elements.unbind('click.multiselect').bind('click.multiselect', function () {
			if (!that.busy) { that._setSelected($(this).parent(), false); }
			return false;
		}); if (this.selectedList.data('multiselect.draggable')) { elements.each(function () { $(this).parent().draggable({ connectToSortable: that.availableList, helper: _dragHelper, appendTo: that.container, containment: that.container, revert: 'invalid' }); }); if (this.availableList.data('multiselect.sortable')) { this.availableList.sortable('refresh'); } } 
	}, _registerSearchEvents: function (input, searchNow) {
		var that = this; var previousValue = input.val(), timer; var _searchNow = function (forceUpdate) {
			if (that.busy) return; var value = input.val(); if ((value != previousValue) || (forceUpdate)) {
				that._setBusy(true); if (that.options.remoteUrl) { var params = $.extend({}, that.options.remoteParams); try { $.ajax({ url: that.options.remoteUrl, data: $.extend(params, { q: escape(value) }), success: function (data) { that.addOptions(data); that._setBusy(false); }, error: function (request, status, e) { that._messages($.ui.multiselect.constants.MESSAGE_ERROR, $.ui.multiselect.locale.errorRequest, { status: status }); that._setBusy(false); } }); } catch (e) { that._messages($.ui.multiselect.constants.MESSAGE_EXCEPTION, e.message); that._setBusy(false); } } else { that._filter(that.availableList.children('li.ui-element')); that._setBusy(false); }
				previousValue = value;
			} 
		}; input.unbind('focus.multiselect blur.multiselect keydown.multiselect keypress.multiselect'); if (this.options.searchable) { input.bind('focus.multiselect', function () { $(this).addClass('ui-state-active').data('multiselect.hasFocus', true); }).bind('blur.multiselect', function () { $(this).removeClass('ui-state-active').data('multiselect.hasFocus', false); }).bind('keydown.multiselect keypress.multiselect', function (e) { if (timer) clearTimeout(timer); switch (e.which) { case 13: _searchNow(true); return false; default: timer = setTimeout(function () { _searchNow(); }, Math.max(that.options.searchDelay, 1)); } }).show(); } else { input.val('').hide(); this._filter(that.availableList.find('li.ui-element')) }
		var _initSearch = function () {
			if (that.busy) { setTimeout(function () { _initSearch(); }, 100); }
			_searchNow(true);
		}; if (searchNow) _initSearch();
	} 
	}); var _dragHelper = function (event, ui) { var item = $(event.target); var clone = item.clone().width(item.width()); clone.data('multiselect.optionLink', item.data('multiselect.optionLink')).data('multiselect.list', item.parent()).find('a').remove(); return clone; }; var defaultDataParser = function (data) {
		if (typeof data == 'string') { var pattern = /^(\s\n\r\t)*\+?$/; var selected, line, lines = data.split(/\n/); data = {}; for (var i in lines) { line = lines[i].split("="); if (!pattern.test(line[0])) { selected = (line[0].lastIndexOf('+') == line.length - 1); if (selected) line[0] = line.substr(0, line.length - 1); data[line[0]] = { selected: false, value: line[1] || line[0] }; } } } else { this._messages($.ui.multiselect.constants.MESSAGE_ERROR, $.ui.multiselect.locale.errorDataFormat); data = false; }
		return data;
	}; var defaultNodeComparator = function (node1, node2) { var text1 = node1.text(), text2 = node2.text(); return text1 == text2 ? 0 : (text1 < text2 ? -1 : 1); }; $.extend($.ui.multiselect, { getter: 'selectedValues enabled isBusy', defaults: { sortable: 'left', droppable: 'both', searchable: true, searchDelay: 400, remoteUrl: null, remoteParams: {}, animated: 'fast', show: 'slideDown', hide: 'slideUp', dividerLocation: 0.6, dataParser: defaultDataParser, nodeComparator: defaultNodeComparator, nodeInserted: null }, locale: { addAll: 'Add all', removeAll: 'Remove all', itemsCount: '#{count} items selected', itemsTotal: '#{count} items total', busy: 'please wait...', errorDataFormat: "Cannot add options, unknown data format", errorInsertNode: "There was a problem trying to add the item:\n\n\t[#{key}] => #{value}\n\nThe operation was aborted.", errorReadonly: "The option #{option} is readonly", errorRequest: "Sorry! There seemed to be a problem with the remote call. (Type: #{status})" }, constants: { MESSAGE_WARNING: 0, MESSAGE_EXCEPTION: 1, MESSAGE_ERROR: 2} });
})(jQuery);

/*
* jQuery Simple Templates plugin 1.1.1
* http://andrew.hedges.name/tmpl/
* http://docs.jquery.com/Plugins/Tmpl
* Copyright (c) 2008 Andrew Hedges, andrew@hedges.name
* The changes for version 1.1 were inspired by the discussion at this thread:
*   http://groups.google.com/group/jquery-ui/browse_thread/thread/45d0f5873dad0178/0f3c684499d89ff4 
* Dual licensed under the MIT and GPL licenses
*/
(function ($) { $.extend({ tmpl: function (tmpl, vals) { var rgxp, repr; tmpl = tmpl || ''; vals = vals || {}; rgxp = /#\{([^{}]*)}/g; repr = function (str, match) { return typeof vals[match] === 'string' || typeof vals[match] === 'number' ? vals[match] : str; }; return tmpl.replace(rgxp, repr); } }); })(jQuery);

/*
* Old Browser Warning v1.1.0
* Copyright (c) 2010 Making Everlasting Memories
* Date: 2010-03-23 15:10 -0500 (Tue, 23 Mar 2010)
* Revision: 1.1.0
*/
$.fn.OldBrowserWarning = function (options) {
	var opts = $.extend({}, $.fn.OldBrowserWarning.defaults, options); if (opts.ForceOpen || ($.browser.msie && parseInt($.browser.version) <= 6)) {
		if ($.cookie("IE6Warning") === null || (opts.ForceOpen)) {
			if ($(".browserWarning").length == 0) { $("<div class='browserWarning " + opts.ExtraCSSClass + "' style='display: none;'>" + opts.WarningText + " <a class='warningClose' href='#'>" + opts.CloseText + "</a></div>").prependTo("body").slideDown('fast'); } else { $('.browserWarning').html(opts.WarningText + " <a class='warningClose' href='#'>" + opts.CloseText + "</a>"); $('.browserWarning').attr("class", "browserWarning " + opts.ExtraCSSClass); $('.browserWarning').slideDown('fast'); }
			$('.warningClose').click(function () { $('.browserWarning').slideUp('slow'); $.cookie("IE6Warning", 'true', { path: '/', expires: 7 }); return false; }); return false;
		} 
	} 
}; $.fn.OldBrowserWarning.defaults = { ForceOpen: false, WarningText: "You are using an unsupported version of Internet Explorer. For your best experience, please update to <a href='http://www.microsoft.com/windows/internet-explorer/default.aspx'>Internet Explorer 8</a>. Thanks!", CloseText: "[ X ]", ExtraCSSClass: "" }

/*
* Cloneform v1.0.0
* Copyright (c) 2010 Making Everlasting Memories
* Date: 2010-09-22 11:30 -0500 (Tue, 22 Sep 2010)
* Revision: 1.0.0
*/
$.fn.CloneForm = function (a) { a = $.extend({}, $.fn.CloneForm.defaults, a); $form = $(this); $newform = $form.clone(); $(a.InputTypes, $newform).not(a.InputFilter).val(""); a.ResetIDs && $("input[itemprop='Id']", $newform).val(0); return $newform }; 
$.fn.CloneForm.defaults = { InputTypes: "input[itemprop!='$type'], select, textarea", InputFilter: "input[itemprop*='Type'][dataType='int'][type='hidden']", ResetIDs: true };

/*
* jQuery.ScrollTo - Easy element scrolling using jQuery.
* Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
* Dual licensed under MIT and GPL.
* Date: 3/9/2009
* @author Ariel Flesler
* @version 1.4.1
*
* http://flesler.blogspot.com/2007/10/jqueryscrollto.html
*/
	; (function ($) { var m = $.scrollTo = function (b, h, f) { $(window).scrollTo(b, h, f) }; m.defaults = { axis: 'xy', duration: parseFloat($.fn.jquery) >= 1.3 ? 0 : 1 }; m.window = function (b) { return $(window).scrollable() }; $.fn.scrollable = function () { return this.map(function () { var b = this, h = !b.nodeName || $.inArray(b.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1; if (!h) return b; var f = (b.contentWindow || b).document || b.ownerDocument || b; return $.browser.safari || f.compatMode == 'BackCompat' ? f.body : f.documentElement }) }; $.fn.scrollTo = function (l, j, a) { if (typeof j == 'object') { a = j; j = 0 } if (typeof a == 'function') a = { onAfter: a }; if (l == 'max') l = 9e9; a = $.extend({}, m.defaults, a); j = j || a.speed || a.duration; a.queue = a.queue && a.axis.length > 1; if (a.queue) j /= 2; a.offset = n(a.offset); a.over = n(a.over); return this.scrollable().each(function () { var k = this, o = $(k), d = l, p, g = {}, q = o.is('html,body'); switch (typeof d) { case 'number': case 'string': if (/^([+-]=)?\d+(\.\d+)?(px)?$/.test(d)) { d = n(d); break } d = $(d, this); case 'object': if (d.is || d.style) p = (d = $(d)).offset() } $.each(a.axis.split(''), function (b, h) { var f = h == 'x' ? 'Left' : 'Top', i = f.toLowerCase(), c = 'scroll' + f, r = k[c], s = h == 'x' ? 'Width' : 'Height'; if (p) { g[c] = p[i] + (q ? 0 : r - o.offset()[i]); if (a.margin) { g[c] -= parseInt(d.css('margin' + f)) || 0; g[c] -= parseInt(d.css('border' + f + 'Width')) || 0 } g[c] += a.offset[i] || 0; if (a.over[i]) g[c] += d[s.toLowerCase()]() * a.over[i] } else g[c] = d[i]; if (/^\d+$/.test(g[c])) g[c] = g[c] <= 0 ? 0 : Math.min(g[c], u(s)); if (!b && a.queue) { if (r != g[c]) t(a.onAfterFirst); delete g[c] } }); t(a.onAfter); function t(b) { o.animate(g, j, a.easing, b && function () { b.call(this, l, a) }) }; function u(b) { var h = 'scroll' + b; if (!q) return k[h]; var f = 'client' + b, i = k.ownerDocument.documentElement, c = k.ownerDocument.body; return Math.max(i[h], c[h]) - Math.min(i[f], c[f]) } }).end() }; function n(b) { return typeof b == 'object' ? b : { top: b, left: b} } })(jQuery);

/*
* jQuery Textbox Character Limiter
* Copyright (c) 2010 Making Everlasting Memories
* Date: 2010-03-24 09:57 -0500 (Tue, 24 Mar 2010)
* Revision: 1.1.0
*/
$.fn.TextboxCharacterLimiter = function (f) { function d(b, a) { var c = b.val().length; if (c >= a.Limit) { b.val(b.val().substring(0, a.Limit)); c = a.Limit } if (a.CharactersLeftTextLabel == null || typeof a.CharactersLeftTextLabel == "undefined") $("#" + b.attr("id") + "_characterLimit").length > 0 ? $("#" + b.attr("id") + "_characterLimit").text(a.CharactersLeftText.replace(/{#}/, a.Limit - c)) : b.after('<span class="characterLimit" id=' + b.attr("id") + "_characterLimit>" + a.CharactersLeftText.replace(/{#}/, a.Limit - c) + "</span>"); else a.CharactersLeftTextLabel.text(a.CharactersLeftText.replace(/{#}/, a.Limit - c)) } var e = $.extend({}, $.fn.TextboxCharacterLimiter.defaults, f); return this.each(function () { var b = $(this), a = $.meta ? $.extend({}, e, $this.data()) : e; d(b, a); b.keyup(function () { d(b, a) }) }) }; $.fn.TextboxCharacterLimiter.defaults = { CharactersLeftText: "{#} characters left", Limit: 1E3, CharactersLeftTextLabel: null };

/*
* jquery.watermark.js
* 
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* 
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
* 
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
* NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* http://daersystems.com/jquery/watermark/
*/
(function (b) {
    b.extend(b, { clearwatermarks: function () { b("[wmwrap='true']").find("input,textarea").watermark({ remove: true }) }, addwatermarks: function () { b("[placeholder]").each(function (a, c) { b(c).watermark(b(c).attr("placeholder")) }) }, watermark: function (a) {
        placeHolderSupport = "placeholder" in document.createElement("input"); if (!placeHolderSupport) {
            a.el = b(a.el); if (a.remove) a.el.parent().attr("wmwrap") == "true" && a.el.parent().replaceWith(a.el); else if (a.el.parent().attr("wmwrap") != "true") {
                a.el = a.el.wrap("<span wmwrap='true' style='position:relative; display: inline-block; margin:0;'/>");
                var c = b("<label/>"); a.html && c.html(a.html); a.attr && c.html(a.el.attr(a.attr)); a.cls && c.addClass(a.cls); a.css && c.css(a.css); c.css({ position: "absolute", left: "3px", top: parseInt(a.el.css("paddingTop")) + 2, display: "inline", cursor: "text" }); if (a.el.is("TEXTAREA")) { b.browser.msie && c.css("width", a.el.width()); if (b.browser.mozilla || b.browser.safari) c.css("top", "") } !a.cls && !a.css && c.css("color", "#ccc"); a.el.focus(function () { b(this).parent().children("label").first().hide() }); a.el.blur(function () {
                    b(this).val() ?
b(this).parent().children("label").first().hide() : b(this).parent().children("label").first().show()
                }); a.el.click(function () { b(this).focus() }); c.click(function () { b(this).parent().children("input, textarea, select").first().focus() }); if (a.inherit) if (typeof a.inherit == "string") c.css(a.inherit, a.el.css(a.inherit)); else for (var d = 0; d < a.inherit.length; d++) c.css(a.inherit[d], a.el.css(a.inherit[d])); a.el.before(c); a.el.val() && c.hide()
            } 
        } return a.el
    } 
    }); b.fn.watermark = function (a) {
        return this.each(function () {
            if (typeof a ==
"string") try { a = eval("(" + a + ")") } catch (c) { a = { html: a} } a.el = this; return b.watermark(a)
        })
    } 
})(jQuery);

/*
http://www.JSON.org/json2.js
2009-09-29
Public Domain.
NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
See http://www.JSON.org/js.html

Also some more jsonify / jquery functions that were heavily modified
*/
if (!this.JSON) this.JSON = {};
(function () {
	function n(f) { return f < 10 ? "0" + f : f } function p(f) { a.lastIndex = 0; return a.test(f) ? '"' + f.replace(a, function (h) { var d = q[h]; return typeof d === "string" ? d : "\\u" + ("0000" + h.charCodeAt(0).toString(16)).slice(-4) }) + '"' : '"' + f + '"' } function l(f, h) {
		var d, e, g, r, o = b, j, c = h[f]; if (c && typeof c === "object" && typeof c.toJSON === "function") c = c.toJSON(f); if (typeof k === "function") c = k.call(h, f, c); switch (typeof c) {
			case "string": return p(c); case "number": return isFinite(c) ? String(c) : "null"; case "boolean": case "null": return String(c);
			case "object": if (!c) return "null"; b += i; j = []; if (Object.prototype.toString.apply(c) === "[object Array]") { r = c.length; for (d = 0; d < r; d += 1) j[d] = l(d, c) || "null"; g = j.length === 0 ? "[]" : b ? "[\n" + b + j.join(",\n" + b) + "\n" + o + "]" : "[" + j.join(",") + "]"; b = o; return g } if (k && typeof k === "object") { r = k.length; for (d = 0; d < r; d += 1) { e = k[d]; if (typeof e === "string") if (g = l(e, c)) j.push(p(e) + (b ? ": " : ":") + g) } } else for (e in c) if (Object.hasOwnProperty.call(c, e)) if (g = l(e, c)) j.push(p(e) + (b ? ": " : ":") + g); g = j.length === 0 ? "{}" : b ? "{\n" + b + j.join(",\n" + b) +
"\n" + o + "}" : "{" + j.join(",") + "}"; b = o; return g
		} 
	} if (typeof Date.prototype.toJSON !== "function") { Date.prototype.toJSON = function () { return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + n(this.getUTCMonth() + 1) + "-" + n(this.getUTCDate()) + "T" + n(this.getUTCHours()) + ":" + n(this.getUTCMinutes()) + ":" + n(this.getUTCSeconds()) + "Z" : null }; String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function () { return this.valueOf() } } var m = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
a = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, b, i, q = { "\u0008": "\\b", "\t": "\\t", "\n": "\\n", "\u000c": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }, k; if (typeof JSON.stringify !== "function") JSON.stringify = function (f, h, d) {
	var e; i = b = ""; if (typeof d === "number") for (e = 0; e < d; e += 1) i += " "; else if (typeof d === "string") i = d; if ((k = h) && typeof h !== "function" && (typeof h !== "object" || typeof h.length !== "number")) throw Error("JSON.stringify"); return l("",
{ "": f })
}; if (typeof JSON.parse !== "function") JSON.parse = function (f, h) {
	function d(g, r) { var o, j, c = g[r]; if (c && typeof c === "object") for (o in c) if (Object.hasOwnProperty.call(c, o)) { j = d(c, o); if (j !== undefined) c[o] = j; else delete c[o] } return h.call(g, r, c) } var e; m.lastIndex = 0; if (m.test(f)) f = f.replace(m, function (g) { return "\\u" + ("0000" + g.charCodeAt(0).toString(16)).slice(-4) }); if (/^[\],:{}\s]*$/.test(f.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) { e = eval("(" + f + ")"); return typeof h === "function" ? d({ "": e }, "") : e } throw new SyntaxError("JSON.parse");
} 
})();
(function () {
	function n(a) { if ((a = /^(\d{4,})-(\d\d)-(\d\d)/.exec(a)) && a[1] >= 1 && a[2] >= 1 && a[2] <= 12 && a[3] >= 1 && a[3] <= (a[2] == 1 || a[2] == 3 || a[2] == 5 || a[2] == 7 || a[2] == 8 || a[2] == 10 || a[2] == 12 ? 31 : a[2] == 4 || a[2] == 6 || a[2] == 9 || a[2] == 11 ? 30 : a[2] == 2 && (a[1] % 400 == 0 || a[1] % 4 == 0 && a[1] % 100 != 0) ? 29 : 28)) return a[0].length; return 0 } function p(a) { if (a && /\S/.test(a)) return a.replace(/^\s+|\s+$/g, "").split(/\s+/); return [] } function l(a) { if (!a) return ""; var b = document.createElement("img"); b.setAttribute("src", a); return b.src } function m(a) {
		return function () {
			var b =
[]; jQuery.each(p(this.attr(a)), function (i, q) { jQuery.inArray(q, b) == -1 && b.push(q) }); return jQuery(b)
		} 
	} jQuery.microdata = {}; jQuery.microdata.isValidGlobalDateAndTimeString = function (a) { var b = n(a); if (b && a[b] == "T") { a = a.substr(b + 1); b = (b = /^(\d\d):(\d\d)(:(\d\d)(\.\d+)?)?/.exec(a)) && b[1] <= 23 && b[2] <= 59 && (!b[4] || b[4] <= 59) ? b[0].length : 0; if (b) { a = a.substr(b); if (a == "Z") return true; if ((a = /^[+-](\d\d):(\d\d)$/.exec(a)) && a[1] <= 23 && a[2] <= 59) return true } } return false }; jQuery.microdata.isValidDateString = function (a) {
		return a &&
n(a) == a.length
	}; jQuery.fn.extend({ items: function (a) { a = jQuery.map(p(a), function (b) { return '[itemtype~="' + b.replace(/"/g, '\\"') + '"]' }).join(",") || "*"; return jQuery(a, this).filter(function () { return this.getAttribute("itemscope") != null && this.getAttribute("itemprop") == null }) }, itemScope: function () { return this.attr("itemscope") != undefined }, itemType: function () { return this.attr("itemtype") || "" }, itemId: function () { return l(this.attr("itemid")) }, itemProp: m("itemprop"), itemRef: m("itemref"), itemValue: function () {
		var a =
this.get(0); if (this.attr("itemprop") === undefined) return null; if (this.itemScope()) return a; switch (a.tagName.toUpperCase()) { case "META": return this.attr("content") || ""; case "AUDIO": case "EMBED": case "IFRAME": case "IMG": case "SOURCE": case "VIDEO": return l(this.attr("src")); case "A": case "AREA": case "LINK": return l(this.attr("href")); case "OBJECT": return l(this.attr("data")); case "TIME": a = this.attr("datetime"); if (a !== undefined) return a; case "INPUT": case "SELECT": case "TEXTAREA": return this.val(); default: return this.text() } 
	},
		properties: function (a) {
			function b(q, k) { function f(d) { var e = jQuery(d), g = e.itemProp(); if (g.length > 0) if (k) { if (e.itemScope()) switch (jQuery.inArray(d, k)) { case -1: b(d, k.concat([d])); break; case 0: throw prop; } } else if (!a || jQuery.inArray(a, g.toArray()) != -1) { if (e.itemScope()) try { b(d, [q]) } catch (r) { return } i.push(d) } e.itemScope() || e.children().each(function () { f(this) }) } var h = jQuery(q); h.children().each(function () { f(this) }); h.itemRef().each(function (d, e) { var g = jQuery("#" + e); g.length == 1 && f(g.get(0)) }) } var i = [];
			this.each(function (q, k) { jQuery(k).itemScope() && b(k) }); return jQuery(jQuery.unique(i))
		} 
	})
})();
jQuery.microdata.json = function (n) {
	function p(m) { var a = {}; if (m.itemType()) a.type = m.itemType(); if (m.itemId()) a.id = m.itemId(); a.properties = {}; m.properties().each(function () { var b = jQuery(this), i; if (b.itemScope()) i = p(b); else { i = b.itemValue(); if (b.attr("dataType") == "int" && !isNaN(parseInt(i))) i = parseInt(i) } b.itemProp().each(function () { a.properties[this] || (a.properties[this] = []); if (b.itemProp().length > 1 || b.attr("islist") == "true") a.properties[this].push(i); else a.properties[this] = i }) }); return a.properties }
	var l = {}; l.items = []; (n ? jQuery(n) : jQuery(document).items()).each(function (m, a) { var b = jQuery(a); b.itemScope() && l.items.push(p(b)) }); return JSON.stringify(l.items, undefined, 2)
};

// jquery language translations
jQuery(function (a) {
    a.datepicker.regional.es = { closeText: "Cerrar", prevText: "&#x3c;Ant", nextText: "Sig&#x3e;", currentText: "Hoy", monthNames: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], monthNamesShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], dayNames: ["Domingo", "Lunes", "Martes", "Mi&eacute;rcoles", "Jueves", "Viernes", "S&aacute;bado"], dayNamesShort: ["Dom", "Lun", "Mar", "Mi&eacute;", "Juv", "Vie", "S&aacute;b"],
        dayNamesMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "S&aacute;"], weekHeader: "Sm", dateFormat: "dd/mm/yy", firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ""
    }; a.datepicker.setDefaults(a.datepicker.regional.es)
});
jQuery(function (a) {
    a.datepicker.regional.fr = { closeText: "Fermer", prevText: "&#x3c;Pr\u00e9c", nextText: "Suiv&#x3e;", currentText: "Courant", monthNames: ["Janvier", "F\u00e9vrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Ao\u00fbt", "Septembre", "Octobre", "Novembre", "D\u00e9cembre"], monthNamesShort: ["Jan", "F\u00e9v", "Mar", "Avr", "Mai", "Jun", "Jul", "Ao\u00fb", "Sep", "Oct", "Nov", "D\u00e9c"], dayNames: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], dayNamesShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven",
"Sam"], dayNamesMin: ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"], weekHeader: "Sm", dateFormat: "dd/mm/yy", firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ""
    }; a.datepicker.setDefaults(a.datepicker.regional.fr)
});
jQuery(function (a) {
    a.datepicker.regional.no = { closeText: "Lukk", prevText: "&laquo;Forrige", nextText: "Neste&raquo;", currentText: "I dag", monthNames: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], dayNamesShort: ["S\u00f8n", "Man", "Tir", "Ons", "Tor", "Fre", "L\u00f8r"], dayNames: ["S\u00f8ndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "L\u00f8rdag"], dayNamesMin: ["S\u00f8",
"Ma", "Ti", "On", "To", "Fr", "L\u00f8"], weekHeader: "Uke", dateFormat: "yy-mm-dd", firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ""
    }; a.datepicker.setDefaults(a.datepicker.regional.no)
});

$(function () {
	var overlay_defaultpageform = $('form.default');
	if (overlay_defaultpageform.length == 1) {
		var subdomain = window.location.href.replace(/http\:\/\/(\w+)(.(dev|test))?\.mem\.com.*/, "$1");
		if (subdomain == 'www') {
			var sample = $('<div class="Sample"/>');
			sample.load('/overlay/content.htm', function (responseText, textStatus, XMLHttpRequest) {
				if (textStatus == 'success' || textStatus == 'notmodified') {
					var overlay = $('<div id="overlaydiv" style="position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;"/>');
					sample.appendTo(overlay);
					overlay.prependTo(overlay_defaultpageform).hide();
					$("head").append("<link>");
					$("head").children("link:last").attr({ rel: "stylesheet", type: "text/css", href: "/overlay/new.css" });
					function setCookie(c_name, value, exdays) { var exdate = new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()); document.cookie = c_name + "=" + c_value; }
					function getCookie(c_name) { var i, x, y, ARRcookies = document.cookie.split(";"); for (i = 0; i < ARRcookies.length; i++) { x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("=")); y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1); x = x.replace(/^\s+|\s+$/g, ""); if (x == c_name) { return unescape(y); } } }
					var closebutton = $('<div id="overlayclosebuttondiv" style="position:fixed;top:10px;right:10px;width:36px;height:28px;border-radius:5px;z-index:10001;cursor:pointer;background-color:#ccc;"/>').prependTo(overlay_defaultpageform).show();
					var openbutton = $('<div id="overlayopenbuttondiv" style="position:fixed;top:10px;right:10px;width:36px;height:28px;border-radius:5px;z-index:10001;cursor:pointer;background-color:#ccc;"/>').prependTo(overlay_defaultpageform).hide();
					closebutton.click(function () { $('#overlaydiv').hide(); closebutton.hide(); openbutton.show(); setCookie('openSample', 'false'); });
					openbutton.click(function () { $('#overlaydiv').show(); closebutton.show(); openbutton.hide(); setCookie('openSample', 'true'); });
					overlay.click(function () { closebutton.click(); });
					$('#Samplewrapper').click(function (event) { event.stopPropagation(); event.preventDefault(); });
					if (getCookie('openSample') == 'false') { closebutton.click(); }
					else { openbutton.click(); }
				}
			});
		}
	}
});

