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

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

		var sf = $.fn.superfish,
			c = sf.c,
			$arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
			over = function(){
				var $$ = $(this), menu = getMenu($$);
				clearTimeout(menu.sfTimer);
				$$.showSuperfishUl().siblings().hideSuperfishUl();
			},
			out = function(){
				var $$ = $(this), menu = getMenu($$), o = sf.op;
				clearTimeout(menu.sfTimer);
				menu.sfTimer=setTimeout(function(){
					o.retainPath=($.inArray($$[0],o.$path)>-1);
					$$.hideSuperfishUl();
					if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
				},o.delay);
			},
			getMenu = function($menu){
				var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
				sf.op = sf.o[menu.serial];
				return menu;
			},
			addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };

		return this.each(function() {
			var s = this.serial = sf.o.length;
			var o = $.extend({},sf.defaults,op);
			o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
				$(this).addClass([o.hoverClass,c.bcClass].join(' '))
					.filter('li:has(ul)').removeClass(o.pathClass);
			});
			sf.o[s] = sf.op = o;

			$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
				if (o.autoArrows) addArrow( $('>a:first-child',this) );
			})
			.not('.'+c.bcClass)
				.hideSuperfishUl();

			var $a = $('a',this);
			$a.each(function(i){
				var $li = $a.eq(i).parents('li');
				$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
			});
			o.onInit.call(this);

		}).each(function() {
			var menuClasses = [c.menuClass];
			if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
			$(this).addClass(menuClasses.join(' '));
		});
	};

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

})(jQuery);


/* http://keith-wood.name/datepick.html
   Datepicker for jQuery 3.5.1.
   Written by Marc Grabanski (m@marcgrabanski.com) and
              Keith Wood (kbwood@virginbroadband.com.au).
   Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
   MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
   Please attribute the authors if you use it. */
(function($){var bn='datepick';function Datepick(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this.regional=[];this.regional['']={clearText:'Clear',clearStatus:'Erase the current date',closeText:'Close',closeStatus:'Close without change',prevText:'&#x3c;Prev',prevStatus:'Show the previous month',prevBigText:'&#x3c;&#x3c;',prevBigStatus:'Show the previous year',nextText:'Next&#x3e;',nextStatus:'Show the next month',nextBigText:'&#x3e;&#x3e;',nextBigStatus:'Show the next year',currentText:'Today',currentStatus:'Show the current month',monthNames:['January','February','March','April','May','June','July','August','September','October','November','December'],monthNamesShort:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],monthStatus:'Show a different month',yearStatus:'Show a different year',weekHeader:'Wk',weekStatus:'Week of the year',dayNames:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],dayNamesShort:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],dayNamesMin:['Su','Mo','Tu','We','Th','Fr','Sa'],dayStatus:'Set DD as first week day',dateStatus:'Select DD, M d',dateFormat:'mm/dd/yy',firstDay:0,initStatus:'Select a date',isRTL:false};this._defaults={showOn:'focus',showAnim:'show',showOptions:{},duration:'normal',buttonText:'...',buttonImage:'',buttonImageOnly:false,defaultDate:null,appendText:'',closeAtTop:true,mandatory:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,showBigPrevNext:false,stepMonths:1,stepBigMonths:12,gotoCurrent:false,changeMonth:true,changeYear:true,showMonthAfterYear:false,yearRange:'-10:+10',changeFirstDay:false,showOtherMonths:false,selectOtherMonths:false,highlightWeek:false,showWeeks:false,calculateWeek:this.iso8601Week,shortYearCutoff:'+10',showStatus:false,statusForDate:this.dateStatus,minDate:null,maxDate:null,numberOfMonths:1,showCurrentAtPos:0,rangeSelect:false,rangeSeparator:' - ',beforeShow:null,beforeShowDay:null,onChangeMonthYear:null,onHover:null,onSelect:null,onClose:null,altField:'',altFormat:'',constrainInput:true};$.extend(this._defaults,this.regional['']);this.dpDiv=$('<div id="'+this._mainDivId+'" style="display: none;"></div>')}$.extend(Datepick.prototype,{markerClassName:'hasDatepick',_mainDivId:'datepick-div',_inlineClass:'datepick-inline',_appendClass:'datepick-append',_triggerClass:'datepick-trigger',_dialogClass:'datepick-dialog',_promptClass:'datepick-prompt',_disableClass:'datepick-disabled',_oneMonthClass:'datepick-one-month',_unselectableClass:'datepick-unselectable',_currentClass:'datepick-current-day',_dayOverClass:'datepick-days-cell-over',_weekOverClass:'datepick-week-over',_coverClass:'datepick-cover',setDefaults:function(a){extendRemove(this._defaults,a||{});return this},_attachDatepick:function(a,b){var c=null;for(var d in this._defaults){var e=a.getAttribute('date:'+d);if(e){c=c||{};try{c[d]=eval(e)}catch(err){c[d]=e}}}var f=a.nodeName.toLowerCase();var g=(f=='div'||f=='span');if(!a.id)a.id='dp'+(++this.uuid);var h=this._newInst($(a),g);h.settings=$.extend({},b||{},c||{});if(f=='input'){this._connectDatepick(a,h)}else if(g){this._inlineDatepick(a,h)}},_newInst:function(a,b){var c=a[0].id.replace(/([:\[\]\.])/g,'\\\\$1');return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:(!b?this.dpDiv:$('<div class="'+this._inlineClass+'"></div>'))}},_connectDatepick:function(d,e){var f=$(d);if(f.hasClass(this.markerClassName))return;var g=this._get(e,'appendText');var h=this._get(e,'isRTL');if(g)f[h?'before':'after']('<span class="'+this._appendClass+'">'+g+'</span>');var i=this._get(e,'showOn');if(i=='focus'||i=='both')f.focus(this._showDatepick);if(i=='button'||i=='both'){var j=this._get(e,'buttonText');var k=this._get(e,'buttonImage');var l=$(this._get(e,'buttonImageOnly')?$('<img/>').addClass(this._triggerClass).attr({src:k,alt:j,title:j}):$('<button type="button"></button>').addClass(this._triggerClass).html(k==''?j:$('<img/>').attr({src:k,alt:j,title:j})));f[h?'before':'after'](l);l.click(function(){if($.datepick._datepickerShowing&&$.datepick._lastInput==d)$.datepick._hideDatepick();else $.datepick._showDatepick(d);return false})}f.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepick",function(a,b,c){e.settings[b]=c}).bind("getData.datepick",function(a,b){return this._get(e,b)});$.data(d,bn,e)},_inlineDatepick:function(d,e){var f=$(d);if(f.hasClass(this.markerClassName))return;f.addClass(this.markerClassName).bind("setData.datepick",function(a,b,c){e.settings[b]=c}).bind("getData.datepick",function(a,b){return this._get(e,b)});$.data(d,bn,e);this._setDate(e,this._getDefaultDate(e));$('body').append(e.dpDiv);this._updateDatepick(e);e.dpDiv.width(this._getNumberOfMonths(e)[1]*$('.'+this._oneMonthClass,e.dpDiv)[0].offsetWidth);f.append(e.dpDiv);this._updateAlternate(e)},_dialogDatepick:function(a,b,c,d,e){var f=this._dialogInst;if(!f){var g='dp'+(++this.uuid);this._dialogInput=$('<input type="text" id="'+g+'" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);$('body').append(this._dialogInput);f=this._dialogInst=this._newInst(this._dialogInput,false);f.settings={};$.data(this._dialogInput[0],bn,f)}extendRemove(f.settings,d||{});this._dialogInput.val(b);this._pos=(e?(isArray(e)?e:[e.pageX,e.pageY]):null);if(!this._pos){var h=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var i=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var j=document.documentElement.scrollLeft||document.body.scrollLeft;var k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(h/2)-100+j,(i/2)-150+k]}this._dialogInput.css('left',this._pos[0]+'px').css('top',this._pos[1]+'px');f.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepick(this._dialogInput[0]);if($.blockUI)$.blockUI(this.dpDiv);$.data(this._dialogInput[0],bn,f)},_destroyDatepick:function(a){var b=$(a);if(!b.hasClass(this.markerClassName)){return}var c=a.nodeName.toLowerCase();$.removeData(a,bn);if(c=='input'){b.siblings('.'+this._appendClass).remove().end().siblings('.'+this._triggerClass).remove().end().removeClass(this.markerClassName).unbind('focus',this._showDatepick).unbind('keydown',this._doKeyDown).unbind('keypress',this._doKeyPress)}else if(c=='div'||c=='span')b.removeClass(this.markerClassName).empty()},_enableDatepick:function(b){var c=$(b);if(!c.hasClass(this.markerClassName)){return}var d=b.nodeName.toLowerCase();if(d=='input'){b.disabled=false;c.siblings('button.'+this._triggerClass).each(function(){this.disabled=false}).end().siblings('img.'+this._triggerClass).css({opacity:'1.0',cursor:''})}else if(d=='div'||d=='span'){c.children('.'+this._disableClass).remove()}this._disabledInputs=$.map(this._disabledInputs,function(a){return(a==b?null:a)})},_disableDatepick:function(b){var c=$(b);if(!c.hasClass(this.markerClassName)){return}var d=b.nodeName.toLowerCase();if(d=='input'){b.disabled=true;c.siblings('button.'+this._triggerClass).each(function(){this.disabled=true}).end().siblings('img.'+this._triggerClass).css({opacity:'0.5',cursor:'default'})}else if(d=='div'||d=='span'){var e=c.children('.'+this._inlineClass);var f=e.offset();var g={left:0,top:0};e.parents().each(function(){if($(this).css('position')=='relative'){g=$(this).offset();return false}});c.prepend('<div class="'+this._disableClass+'" style="'+'width: '+e.width()+'px; height: '+e.height()+'px; left: '+(f.left-g.left)+'px; top: '+(f.top-g.top)+'px;"></div>')}this._disabledInputs=$.map(this._disabledInputs,function(a){return(a==b?null:a)});this._disabledInputs.push(b)},_isDisabledDatepick:function(a){return(!a?false:$.inArray(a,this._disabledInputs)>-1)},_getInst:function(a){try{return $.data(a,bn)}catch(err){throw'Missing instance data for this datepicker';}},_optionDatepick:function(a,b,c){var d=b||{};if(typeof b=='string'){d={};d[b]=c}var e=this._getInst(a);if(e){if(this._curInst==e){this._hideDatepick(null)}extendRemove(e.settings,d);var f=new Date();extendRemove(e,{rangeStart:null,endDay:null,endMonth:null,endYear:null,selectedDay:f.getDate(),selectedMonth:f.getMonth(),selectedYear:f.getFullYear(),currentDay:f.getDate(),currentMonth:f.getMonth(),currentYear:f.getFullYear(),drawMonth:f.getMonth(),drawYear:f.getFullYear()});this._updateDatepick(e)}},_changeDatepick:function(a,b,c){this._optionDatepick(a,b,c)},_refreshDatepick:function(a){var b=this._getInst(a);if(b){this._updateDatepick(b)}},_setDateDatepick:function(a,b,c){var d=this._getInst(a);if(d){this._setDate(d,b,c);this._updateDatepick(d);this._updateAlternate(d)}},_getDateDatepick:function(a){var b=this._getInst(a);if(b&&!b.inline)this._setDateFromField(b);return(b?this._getDate(b):null)},_doKeyDown:function(a){var b=$.datepick._getInst(a.target);var c=true;var d=$.datepick._get(b,'isRTL');b._keyEvent=true;if($.datepick._datepickerShowing)switch(a.keyCode){case 9:$.datepick._hideDatepick(null,'');break;case 13:var e=$('td.'+$.datepick._dayOverClass+', td.'+$.datepick._currentClass,b.dpDiv);if(e[0])$.datepick._selectDay(a.target,b.selectedYear,b.selectedMonth,e[0]);else $.datepick._hideDatepick(null,$.datepick._get(b,'duration'));break;case 27:$.datepick._hideDatepick(null,$.datepick._get(b,'duration'));break;case 33:$.datepick._adjustDate(a.target,(a.ctrlKey?-$.datepick._get(b,'stepBigMonths'):-$.datepick._get(b,'stepMonths')),'M');break;case 34:$.datepick._adjustDate(a.target,(a.ctrlKey?+$.datepick._get(b,'stepBigMonths'):+$.datepick._get(b,'stepMonths')),'M');break;case 35:if(a.ctrlKey||a.metaKey)$.datepick._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)$.datepick._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)$.datepick._adjustDate(a.target,(d?+1:-1),'D');c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)$.datepick._adjustDate(a.target,(a.ctrlKey?-$.datepick._get(b,'stepBigMonths'):-$.datepick._get(b,'stepMonths')),'M');break;case 38:if(a.ctrlKey||a.metaKey)$.datepick._adjustDate(a.target,-7,'D');c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)$.datepick._adjustDate(a.target,(d?-1:+1),'D');c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)$.datepick._adjustDate(a.target,(a.ctrlKey?+$.datepick._get(b,'stepBigMonths'):+$.datepick._get(b,'stepMonths')),'M');break;case 40:if(a.ctrlKey||a.metaKey)$.datepick._adjustDate(a.target,+7,'D');c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)$.datepick._showDatepick(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}return!c},_doKeyPress:function(a){var b=$.datepick._getInst(a.target);if($.datepick._get(b,'constrainInput')){var c=$.datepick._possibleChars(b);var d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||(d<' '||!c||c.indexOf(d)>-1)}},_possibleChars:function(a){var b=$.datepick._get(a,'dateFormat');var c=($.datepick._get(a,'rangeSelect')?$.datepick._get(a,'rangeSeparator'):'');var d=false;for(var e=0;e<b.length;e++)if(d)if(b.charAt(e)=="'"&&!lookAhead("'"))d=false;else c+=b.charAt(e);else switch(b.charAt(e)){case'd':case'm':case'y':case'@':c+='0123456789';break;case'D':case'M':return null;case"'":if(lookAhead("'"))c+="'";else d=true;break;default:c+=b.charAt(e)}return c},_showDatepick:function(b){b=b.target||b;if(b.nodeName.toLowerCase()!='input')b=$('input',b.parentNode)[0];if($.datepick._isDisabledDatepick(b)||$.datepick._lastInput==b)return;var c=$.datepick._getInst(b);var d=$.datepick._get(c,'beforeShow');extendRemove(c.settings,(d?d.apply(b,[b,c]):{}));$.datepick._hideDatepick(null,'');$.datepick._lastInput=b;$.datepick._setDateFromField(c);if($.datepick._inDialog)b.value='';if(!$.datepick._pos){$.datepick._pos=$.datepick._findPos(b);$.datepick._pos[1]+=b.offsetHeight}var e=false;$(b).parents().each(function(){e|=$(this).css('position')=='fixed';return!e});if(e&&$.browser.opera){$.datepick._pos[0]-=document.documentElement.scrollLeft;$.datepick._pos[1]-=document.documentElement.scrollTop}var f={left:$.datepick._pos[0],top:$.datepick._pos[1]};$.datepick._pos=null;c.rangeStart=null;c.dpDiv.css({position:'absolute',display:'block',top:'-1000px'});$.datepick._updateDatepick(c);c.dpDiv.width($.datepick._getNumberOfMonths(c)[1]*$('.'+$.datepick._oneMonthClass,c.dpDiv)[0].offsetWidth);f=$.datepick._checkOffset(c,f,e);c.dpDiv.css({position:($.datepick._inDialog&&$.blockUI?'static':(e?'fixed':'absolute')),display:'none',left:f.left+'px',top:f.top+'px'});if(!c.inline){var g=$.datepick._get(c,'showAnim')||'show';var h=$.datepick._get(c,'duration');var i=function(){$.datepick._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){var a=$.datepick._getExtras(c.dpDiv);$('iframe.'+$.datepick._coverClass).css({width:c.dpDiv.width()+a[0],height:c.dpDiv.height()+a[1]})}};if($.effects&&$.effects[g])c.dpDiv.show(g,$.datepick._get(c,'showOptions'),h,i);else c.dpDiv[g](h,i);if(h=='')i();if(c.input[0].type!='hidden')c.input[0].focus();$.datepick._curInst=c}},_updateDatepick:function(a){var b=this._getExtras(a.dpDiv);var c={width:a.dpDiv.width()+b[0],height:a.dpDiv.height()+b[1]};a.dpDiv.empty().append(this._generateHTML(a)).find('iframe.'+this._coverClass).css({width:c.width,height:c.height});var d=this._getNumberOfMonths(a);a.dpDiv[(d[0]!=1||d[1]!=1?'add':'remove')+'Class']('datepick-multi');a.dpDiv[(this._get(a,'isRTL')?'add':'remove')+'Class']('datepick-rtl');if(a.input&&a.input[0].type!='hidden'&&a==$.datepick._curInst)$(a.input[0]).focus()},_getExtras:function(b){var c=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseInt(c(b.css('border-left-width')))+parseInt(c(b.css('border-right-width')))+parseInt(b.css('padding-left'))+parseInt(b.css('padding-right')),parseInt(c(b.css('border-top-width')))+parseInt(c(b.css('border-bottom-width')))+parseInt(b.css('padding-top'))+parseInt(b.css('padding-bottom'))]},_checkOffset:function(a,b,c){var d=a.input?this._findPos(a.input[0]):null;var e=window.innerWidth||(document.documentElement?document.documentElement.clientWidth:document.body.clientWidth);var f=window.innerHeight||(document.documentElement?document.documentElement.clientHeight:document.body.clientHeight);if(e==0)return b;var g=document.documentElement.scrollLeft||document.body.scrollLeft;var h=document.documentElement.scrollTop||document.body.scrollTop;if(this._get(a,'isRTL')||(b.left+a.dpDiv.width()-g)>e)b.left=Math.max((c?0:g),d[0]+(a.input?a.input.width():0)-(c?g:0)-a.dpDiv.width()-(c&&$.browser.opera?document.documentElement.scrollLeft:0));else b.left-=(c?g:0);if((b.top+a.dpDiv.height()-h)>f)b.top=Math.max((c?0:h),d[1]-(c?h:0)-(this._inDialog?0:a.dpDiv.height())-(c&&$.browser.opera?document.documentElement.scrollTop:0));else b.top-=(c?h:0);return b},_findPos:function(a){while(a&&(a.type=='hidden'||a.nodeType!=1)){a=a.nextSibling}var b=$(a).offset();return[b.left,b.top]},_hideDatepick:function(a,b){var c=this._curInst;if(!c||(a&&c!=$.data(a,bn)))return;var d=this._get(c,'rangeSelect');if(d&&c.stayOpen)this._selectDate('#'+c.id,this._formatDate(c,c.currentDay,c.currentMonth,c.currentYear));c.stayOpen=false;if(this._datepickerShowing){b=(b!=null?b:this._get(c,'duration'));var e=this._get(c,'showAnim');var f=function(){$.datepick._tidyDialog(c)};if(b!=''&&$.effects&&$.effects[e])c.dpDiv.hide(e,$.datepick._get(c,'showOptions'),b,f);else c.dpDiv[(b==''?'hide':(e=='slideDown'?'slideUp':(e=='fadeIn'?'fadeOut':'hide')))](b,f);if(b=='')this._tidyDialog(c);var g=this._get(c,'onClose');if(g)g.apply((c.input?c.input[0]:null),[(c.input?c.input.val():''),c]);this._datepickerShowing=false;this._lastInput=null;c.settings.prompt=null;if(this._inDialog){this._dialogInput.css({position:'absolute',left:'0',top:'-100px'});if($.blockUI){$.unblockUI();$('body').append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind('.datepick');$('.'+this._promptClass,a.dpDiv).remove()},_checkExternalClick:function(a){if(!$.datepick._curInst)return;var b=$(a.target);if(!b.parents().andSelf().is('#'+$.datepick._mainDivId)&&!b.hasClass($.datepick.markerClassName)&&!b.parents().andSelf().hasClass($.datepick._triggerClass)&&$.datepick._datepickerShowing&&!($.datepick._inDialog&&$.blockUI))$.datepick._hideDatepick(null,'')},_adjustDate:function(a,b,c){var d=this._getInst($(a)[0]);this._adjustInstDate(d,b+(c=='M'?this._get(d,'showCurrentAtPos'):0),c);this._updateDatepick(d)},_gotoToday:function(a){var b=$(a);var c=this._getInst(b[0]);if(this._get(c,'gotoCurrent')&&c.currentDay){c.selectedDay=c.currentDay;c.drawMonth=c.selectedMonth=c.currentMonth;c.drawYear=c.selectedYear=c.currentYear}else{var d=new Date();c.selectedDay=d.getDate();c.drawMonth=c.selectedMonth=d.getMonth();c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c);this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a);var e=this._getInst(d[0]);e._selectingMonthYear=false;e['selected'+(c=='M'?'Month':'Year')]=e['draw'+(c=='M'?'Month':'Year')]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(d)},_clickMonthYear:function(a){var b=this._getInst($(a)[0]);if(b.input&&b._selectingMonthYear&&!$.browser.msie)b.input[0].focus();b._selectingMonthYear=!b._selectingMonthYear},_changeFirstDay:function(a,b){var c=this._getInst($(a)[0]);c.settings.firstDay=b;this._updateDatepick(c)},_doHover:function(a,b,c,d){if($(d).hasClass(this._unselectableClass))return;var e=this._getInst($(a)[0]);var f=this._get(e,'onHover');f.apply((e.input?e.input[0]:null),[(b?new Date(b,c,$(d).text()):null),e])},_selectDay:function(a,b,c,d){if($(d).hasClass(this._unselectableClass))return;var e=this._getInst($(a)[0]);var f=this._get(e,'rangeSelect');if(f){e.stayOpen=!e.stayOpen;if(e.stayOpen){$('.datepick td',e.dpDiv).removeClass(this._currentClass);$(d).addClass(this._currentClass)}}e.selectedDay=e.currentDay=$('a',d).html();e.selectedMonth=e.currentMonth=c;e.selectedYear=e.currentYear=b;if(e.stayOpen){e.endDay=e.endMonth=e.endYear=null}else if(f){e.endDay=e.currentDay;e.endMonth=e.currentMonth;e.endYear=e.currentYear}this._selectDate(a,this._formatDate(e,e.currentDay,e.currentMonth,e.currentYear));if(e.stayOpen){e.rangeStart=this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));this._updateDatepick(e)}else if(f){e.selectedDay=e.currentDay=e.rangeStart.getDate();e.selectedMonth=e.currentMonth=e.rangeStart.getMonth();e.selectedYear=e.currentYear=e.rangeStart.getFullYear();e.rangeStart=null;if(e.inline)this._updateDatepick(e)}},_clearDate:function(a){var b=$(a);var c=this._getInst(b[0]);if(this._get(c,'mandatory'))return;c.stayOpen=false;c.endDay=c.endMonth=c.endYear=c.rangeStart=null;this._selectDate(b,'')},_selectDate:function(a,b){var c=this._getInst($(a)[0]);b=(b!=null?b:this._formatDate(c));if(this._get(c,'rangeSelect')&&b)b=(c.rangeStart?this._formatDate(c,c.rangeStart):b)+this._get(c,'rangeSeparator')+b;if(c.input)c.input.val(b);this._updateAlternate(c);var d=this._get(c,'onSelect');if(d)d.apply((c.input?c.input[0]:null),[b,c]);else if(c.input)c.input.trigger('change');if(c.inline)this._updateDatepick(c);else if(!c.stayOpen){this._hideDatepick(null,this._get(c,'duration'));this._lastInput=c.input[0];if(typeof(c.input[0])!='object')c.input[0].focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,'altField');if(b){var c=this._get(a,'altFormat')||this._get(a,'dateFormat');var d=this._getDate(a);dateStr=(isArray(d)?(!d[0]&&!d[1]?'':this.formatDate(c,d[0],this._getFormatConfig(a))+this._get(a,'rangeSeparator')+this.formatDate(c,d[1]||d[0],this._getFormatConfig(a))):this.formatDate(c,d,this._getFormatConfig(a)));$(b).each(function(){$(this).val(dateStr)})}},noWeekends:function(a){return[(a.getDay()||7)<6,'']},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();b.setMonth(0);b.setDate(1);return Math.floor((c-b)/(86400000*7))+1},dateStatus:function(a,b){return $.datepick.formatDate($.datepick._get(b,'dateStatus'),a,$.datepick._getFormatConfig(b))},parseDate:function(e,f,g){if(e==null||f==null)throw'Invalid arguments';f=(typeof f=='object'?f.toString():f+'');if(f=='')return null;g=g||{};var h=g.shortYearCutoff||this._defaults.shortYearCutoff;var j=g.dayNamesShort||this._defaults.dayNamesShort;var k=g.dayNames||this._defaults.dayNames;var l=g.monthNamesShort||this._defaults.monthNamesShort;var m=g.monthNames||this._defaults.monthNames;var n=-1;var o=-1;var p=-1;var q=-1;var r=false;var s=function(a){var b=(x+1<e.length&&e.charAt(x+1)==a);if(b)x++;return b};var t=function(a){s(a);var b=(a=='@'?14:(a=='y'?4:(a=='o'?3:2)));var c=new RegExp('^\\d{1,'+b+'}');var d=f.substring(w).match(c);if(!d)throw'Missing number at position '+w;w+=d[0].length;return parseInt(d[0],10)};var u=function(a,b,c){var d=(s(a)?c:b);for(var i=0;i<d.length;i++){if(f.substr(w,d[i].length)==d[i]){w+=d[i].length;return i+1}}throw'Unknown name at position '+w;};var v=function(){if(f.charAt(w)!=e.charAt(x))throw'Unexpected literal at position '+w;w++};var w=0;for(var x=0;x<e.length;x++){if(r)if(e.charAt(x)=="'"&&!s("'"))r=false;else v();else switch(e.charAt(x)){case'd':p=t('d');break;case'D':u('D',j,k);break;case'o':q=t('o');break;case'm':o=t('m');break;case'M':o=u('M',l,m);break;case'y':n=t('y');break;case'@':var y=new Date(t('@'));n=y.getFullYear();o=y.getMonth()+1;p=y.getDate();break;case"'":if(s("'"))v();else r=true;break;default:v()}}if(w<f.length)throw'Additional text found at end';if(n==-1)n=new Date().getFullYear();else if(n<100)n+=new Date().getFullYear()-new Date().getFullYear()%100+(n<=h?0:-100);if(q>-1){o=1;p=q;do{var z=this._getDaysInMonth(n,o-1);if(p<=z)break;o++;p-=z}while(true)}var y=this._daylightSavingAdjust(new Date(n,o-1,p));if(y.getFullYear()!=n||y.getMonth()+1!=o||y.getDate()!=p)throw'Invalid date';return y},ATOM:'yy-mm-dd',COOKIE:'D, dd M yy',ISO_8601:'yy-mm-dd',RFC_822:'D, d M y',RFC_850:'DD, dd-M-y',RFC_1036:'D, d M y',RFC_1123:'D, d M yy',RFC_2822:'D, d M yy',RSS:'D, d M y',TIMESTAMP:'@',W3C:'yy-mm-dd',formatDate:function(e,f,g){if(!f)return'';var h=(g?g.dayNamesShort:null)||this._defaults.dayNamesShort;var i=(g?g.dayNames:null)||this._defaults.dayNames;var j=(g?g.monthNamesShort:null)||this._defaults.monthNamesShort;var k=(g?g.monthNames:null)||this._defaults.monthNames;var l=function(a){var b=(q+1<e.length&&e.charAt(q+1)==a);if(b)q++;return b};var m=function(a,b,c){var d=''+b;if(l(a))while(d.length<c)d='0'+d;return d};var n=function(a,b,c,d){return(l(a)?d[b]:c[b])};var o='';var p=false;if(f)for(var q=0;q<e.length;q++){if(p)if(e.charAt(q)=="'"&&!l("'"))p=false;else o+=e.charAt(q);else switch(e.charAt(q)){case'd':o+=m('d',f.getDate(),2);break;case'D':o+=n('D',f.getDay(),h,i);break;case'o':o+=m('o',(f.getTime()-new Date(f.getFullYear(),0,0).getTime())/86400000,3);break;case'm':o+=m('m',f.getMonth()+1,2);break;case'M':o+=n('M',f.getMonth(),j,k);break;case'y':o+=(l('y')?f.getFullYear():(f.getYear()%100<10?'0':'')+f.getYear()%100);break;case'@':o+=f.getTime();break;case"'":if(l("'"))o+="'";else p=true;break;default:o+=e.charAt(q)}}return o},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a){var b=this._get(a,'dateFormat');var c=a.input?a.input.val().split(this._get(a,'rangeSeparator')):null;a.endDay=a.endMonth=a.endYear=null;var d=defaultDate=this._getDefaultDate(a);if(isArray(c)){var e=this._getFormatConfig(a);if(c.length>1){d=this.parseDate(b,c[1],e)||defaultDate;a.endDay=d.getDate();a.endMonth=d.getMonth();a.endYear=d.getFullYear()}try{d=this.parseDate(b,c[0],e)||defaultDate}catch(event){d=defaultDate}}a.selectedDay=d.getDate();a.drawMonth=a.selectedMonth=d.getMonth();a.drawYear=a.selectedYear=d.getFullYear();a.currentDay=(c[0]?d.getDate():0);a.currentMonth=(c[0]?d.getMonth():0);a.currentYear=(c[0]?d.getFullYear():0);this._adjustInstDate(a)},_getDefaultDate:function(a){var b=this._determineDate(this._get(a,'defaultDate'),new Date());var c=this._getMinMaxDate(a,'min',true);var d=this._getMinMaxDate(a,'max');b=(c&&b<c?c:b);b=(d&&b>d?d:b);return b},_determineDate:function(i,j){var k=function(a){var b=new Date();b.setDate(b.getDate()+a);return b};var l=function(a,b){var c=new Date();var d=c.getFullYear();var e=c.getMonth();var f=c.getDate();var g=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var h=g.exec(a);while(h){switch(h[2]||'d'){case'd':case'D':f+=parseInt(h[1],10);break;case'w':case'W':f+=parseInt(h[1],10)*7;break;case'm':case'M':e+=parseInt(h[1],10);f=Math.min(f,b(d,e));break;case'y':case'Y':d+=parseInt(h[1],10);f=Math.min(f,b(d,e));break}h=g.exec(a)}return new Date(d,e,f)};i=(i==null?j:(typeof i=='string'?l(i,this._getDaysInMonth):(typeof i=='number'?(isNaN(i)?j:k(i)):i)));i=(i&&i.toString()=='Invalid Date'?j:i);if(i){i.setHours(0);i.setMinutes(0);i.setSeconds(0);i.setMilliseconds(0)}return this._daylightSavingAdjust(i)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var d=!(b);var e=a.selectedMonth;var f=a.selectedYear;b=this._determineDate(b,new Date());a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if(this._get(a,'rangeSelect')){if(c){c=this._determineDate(c,null);a.endDay=c.getDate();a.endMonth=c.getMonth();a.endYear=c.getFullYear()}else{a.endDay=a.currentDay;a.endMonth=a.currentMonth;a.endYear=a.currentYear}}if(e!=a.selectedMonth||f!=a.selectedYear)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(d?'':this._formatDate(a)+(!this._get(a,'rangeSelect')?'':this._get(a,'rangeSeparator')+this._formatDate(a,a.endDay,a.endMonth,a.endYear)))},_getDate:function(a){var b=(!a.currentYear||(a.input&&a.input.val()=='')?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay)));if(this._get(a,'rangeSelect')){return[a.rangeStart||b,(!a.endYear?a.rangeStart||b:this._daylightSavingAdjust(new Date(a.endYear,a.endMonth,a.endDay)))]}else return b},_generateHTML:function(a){var b=new Date();b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,'showStatus');var d=this._get(a,'initStatus')||'&#xa0;';var e=this._get(a,'isRTL');var f=(this._get(a,'mandatory')?'':'<div class="datepick-clear"><a onclick="jQuery.datepick._clearDate(\'#'+a.id+'\');"'+this._addStatus(c,a.id,this._get(a,'clearStatus'),d)+'>'+this._get(a,'clearText')+'</a></div>');var g='<div class="datepick-control">'+(e?'':f)+'<div class="datepick-close"><a onclick="jQuery.datepick._hideDatepick();"'+this._addStatus(c,a.id,this._get(a,'closeStatus'),d)+'>'+this._get(a,'closeText')+'</a></div>'+(e?f:'')+'</div>';var h=this._get(a,'prompt');var i=this._get(a,'closeAtTop');var j=this._get(a,'hideIfNoPrevNext');var k=this._get(a,'navigationAsDateFormat');var l=this._get(a,'showBigPrevNext');var m=this._getNumberOfMonths(a);var n=this._get(a,'showCurrentAtPos');var o=this._get(a,'stepMonths');var p=this._get(a,'stepBigMonths');var q=(m[0]!=1||m[1]!=1);var r=this._daylightSavingAdjust((!a.currentDay?new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)));var s=this._getMinMaxDate(a,'min',true);var t=this._getMinMaxDate(a,'max');var u=a.drawMonth-n;var v=a.drawYear;if(u<0){u+=12;v--}if(t){var w=this._daylightSavingAdjust(new Date(t.getFullYear(),t.getMonth()-m[1]+1,t.getDate()));w=(s&&w<s?s:w);while(this._daylightSavingAdjust(new Date(v,u,1))>w){u--;if(u<0){u=11;v--}}}a.drawMonth=u;a.drawYear=v;var x=this._get(a,'prevText');x=(!k?x:this.formatDate(x,this._daylightSavingAdjust(new Date(v,u-o,1)),this._getFormatConfig(a)));var y=(l?this._get(a,'prevBigText'):'');y=(!k?y:this.formatDate(y,this._daylightSavingAdjust(new Date(v,u-p,1)),this._getFormatConfig(a)));var z='<div class="datepick-prev">'+(this._canAdjustMonth(a,-1,v,u)?(l?'<a onclick="jQuery.datepick._adjustDate(\'#'+a.id+'\', -'+p+', \'M\');"'+this._addStatus(c,a.id,this._get(a,'prevBigStatus'),d)+'>'+y+'</a>':'')+'<a onclick="jQuery.datepick._adjustDate(\'#'+a.id+'\', -'+o+', \'M\');"'+this._addStatus(c,a.id,this._get(a,'prevStatus'),d)+'>'+x+'</a>':(j?'&#xa0;':(l?'<label>'+y+'</label>':'')+'<label>'+x+'</label>'))+'</div>';var A=this._get(a,'nextText');A=(!k?A:this.formatDate(A,this._daylightSavingAdjust(new Date(v,u+o,1)),this._getFormatConfig(a)));var B=(l?this._get(a,'nextBigText'):'');B=(!k?B:this.formatDate(B,this._daylightSavingAdjust(new Date(v,u+p,1)),this._getFormatConfig(a)));var C='<div class="datepick-next">'+(this._canAdjustMonth(a,+1,v,u)?'<a onclick="jQuery.datepick._adjustDate(\'#'+a.id+'\', +'+o+', \'M\');"'+this._addStatus(c,a.id,this._get(a,'nextStatus'),d)+'>'+A+'</a>'+(l?'<a onclick="jQuery.datepick._adjustDate(\'#'+a.id+'\', +'+p+', \'M\');"'+this._addStatus(c,a.id,this._get(a,'nextBigStatus'),d)+'>'+B+'</a>':''):(j?'&#xa0;':'<label>'+A+'</label>'+(l?'<label>'+B+'</label>':'')))+'</div>';var D=this._get(a,'currentText');var E=(this._get(a,'gotoCurrent')&&a.currentDay?r:b);D=(!k?D:this.formatDate(D,E,this._getFormatConfig(a)));var F=(i&&!a.inline?g:'')+'<div class="datepick-links">'+(e?C:z)+(this._isInRange(a,E)?'<div class="datepick-current">'+'<a onclick="jQuery.datepick._gotoToday(\'#'+a.id+'\');"'+this._addStatus(c,a.id,this._get(a,'currentStatus'),d)+'>'+D+'</a></div>':'')+(e?z:C)+'</div>'+(h?'<div class="'+this._promptClass+'"><span>'+h+'</span></div>':'');var G=parseInt(this._get(a,'firstDay'));G=(isNaN(G)?0:G);var H=this._get(a,'changeFirstDay');var I=this._get(a,'dayNames');var J=this._get(a,'dayNamesShort');var K=this._get(a,'dayNamesMin');var L=this._get(a,'monthNames');var M=this._get(a,'beforeShowDay');var N=this._get(a,'highlightWeek');var O=this._get(a,'showOtherMonths');var P=this._get(a,'selectOtherMonths');var Q=this._get(a,'showWeeks');var R=this._get(a,'calculateWeek')||this.iso8601Week;var S=this._get(a,'weekStatus');var T=(c?this._get(a,'dayStatus')||d:'');var U=this._get(a,'statusForDate')||this.dateStatus;var V=this._get(a,'onHover');var W=a.endDay?this._daylightSavingAdjust(new Date(a.endYear,a.endMonth,a.endDay)):r;var X=this._getDefaultDate(a);for(var Y=0;Y<m[0];Y++)for(var Z=0;Z<m[1];Z++){var bo=this._daylightSavingAdjust(new Date(v,u,a.selectedDay));F+='<div class="'+this._oneMonthClass+(Z==0?' datepick-new-row':'')+'">'+this._generateMonthYearHeader(a,u,v,s,t,bo,Y>0||Z>0,c,d,L)+'<table class="datepick" cellpadding="0" cellspacing="0"><thead>'+'<tr class="datepick-title-row">'+(Q?'<th'+this._addStatus(c,a.id,S,d)+'>'+this._get(a,'weekHeader')+'</th>':'');for(var bp=0;bp<7;bp++){var bq=(bp+G)%7;var br=(T.indexOf('DD')>-1?T.replace(/DD/,I[bq]):T.replace(/D/,J[bq]));F+='<th'+((bp+G+6)%7>=5?' class="datepick-week-end-cell"':'')+'>'+(!H?'<span'+this._addStatus(c,a.id,I[bq],d):'<a onclick="jQuery.datepick._changeFirstDay(\'#'+a.id+'\', '+bq+');"'+this._addStatus(c,a.id,br,d))+' title="'+I[bq]+'">'+K[bq]+(H?'</a>':'</span>')+'</th>'}F+='</tr></thead><tbody>';var bs=this._getDaysInMonth(v,u);if(v==a.selectedYear&&u==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,bs);var bt=(this._getFirstDayOfMonth(v,u)-G+7)%7;var bu=(q?6:Math.ceil((bt+bs)/7));var bv=this._daylightSavingAdjust(new Date(v,u,1-bt));for(var bw=0;bw<bu;bw++){F+='<tr class="datepick-days-row">'+(Q?'<td class="datepick-week-col"'+this._addStatus(c,a.id,S,d)+'>'+R(bv)+'</td>':'');for(var bp=0;bp<7;bp++){var bx=(M?M.apply((a.input?a.input[0]:null),[bv]):[true,'']);var by=(bv.getMonth()!=u);var bz=(by&&!P)||!bx[0]||(s&&bv<s)||(t&&bv>t);var bA=by&&!O;F+='<td class="datepick-days-cell'+((bp+G+6)%7>=5?' datepick-week-end-cell':'')+(by?' datepick-other-month':'')+((bv.getTime()==bo.getTime()&&u==a.selectedMonth&&a._keyEvent)||(X.getTime()==bv.getTime()&&X.getTime()==bo.getTime())?' '+$.datepick._dayOverClass:'')+(bz?' '+this._unselectableClass:'')+(bA?'':' '+bx[1]+(bv.getTime()>=r.getTime()&&bv.getTime()<=W.getTime()?' '+this._currentClass:'')+(bv.getTime()==b.getTime()?' datepick-today':''))+'"'+(!bA&&bx[2]?' title="'+bx[2]+'"':'')+' onmouseover="'+(bz?'':'jQuery(this).addClass(\''+this._dayOverClass+'\');')+(N?'jQuery(this).parent().addClass(\''+this._weekOverClass+'\');':'')+(!c||bA?'':'jQuery(\'#datepick-status-'+a.id+'\').html(\''+(U.apply((a.input?a.input[0]:null),[bv,a])||d)+'\');')+(V&&!bA?'jQuery.datepick._doHover(\'#'+a.id+'\','+bv.getFullYear()+','+bv.getMonth()+', this);':'')+'"'+' onmouseout="'+(bz?'':'jQuery(this).removeClass(\''+this._dayOverClass+'\');')+(N?'jQuery(this).parent().removeClass(\''+this._weekOverClass+'\');"':'')+(!c||bA?'':'jQuery(\'#datepick-status-'+a.id+'\').html(\''+d+'\');')+(V&&!bA?'jQuery.datepick._doHover(\'#'+a.id+'\');':'')+'"'+(bz?'':' onclick="jQuery.datepick._selectDay(\'#'+a.id+'\''+','+bv.getFullYear()+','+bv.getMonth()+',this);"')+'>'+(bA?'&#xa0;':(bz?bv.getDate():'<a>'+bv.getDate()+'</a>'))+'</td>';bv.setDate(bv.getDate()+1);bv=this._daylightSavingAdjust(bv)}F+='</tr>'}u++;if(u>11){u=0;v++}F+='</tbody></table></div>'}F+=(c?'<div style="clear: both;"></div><div id="datepick-status-'+a.id+'" class="datepick-status">'+d+'</div>':'')+(!i&&!a.inline?g:'')+'<div style="clear: both;"></div>'+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="'+this._coverClass+'"></iframe>':'');a._keyEvent=false;return F},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h,i,j){d=(a.rangeStart&&d&&f<d?f:d);var k=this._get(a,'changeMonth');var l=this._get(a,'changeYear');var m=this._get(a,'showMonthAfterYear');var n='<div class="datepick-header">';var o='';if(g||!k)o+='<span>'+j[b]+'</span>';else{var p=(d&&d.getFullYear()==c);var q=(e&&e.getFullYear()==c);o+='<select class="datepick-new-month" '+'onchange="jQuery.datepick._selectMonthYear(\'#'+a.id+'\', this, \'M\');" '+'onclick="jQuery.datepick._clickMonthYear(\'#'+a.id+'\');"'+this._addStatus(h,a.id,this._get(a,'monthStatus'),i)+'>';for(var r=0;r<12;r++){if((!p||r>=d.getMonth())&&(!q||r<=e.getMonth()))o+='<option value="'+r+'"'+(r==b?' selected="selected"':'')+'>'+j[r]+'</option>'}o+='</select>'}if(!m)n+=o+(g||!k||!l?'&#xa0;':'');if(g||!l)n+='<span>'+c+'</span>';else{var s=this._get(a,'yearRange').split(':');var t=0;var u=0;if(s.length!=2){t=c-10;u=c+10}else if(s[0].charAt(0)=='+'||s[0].charAt(0)=='-'){t=c+parseInt(s[0],10);u=c+parseInt(s[1],10)}else{t=parseInt(s[0],10);u=parseInt(s[1],10)}t=(d?Math.max(t,d.getFullYear()):t);u=(e?Math.min(u,e.getFullYear()):u);n+='<select class="datepick-new-year" '+'onchange="jQuery.datepick._selectMonthYear(\'#'+a.id+'\', this, \'Y\');" '+'onclick="jQuery.datepick._clickMonthYear(\'#'+a.id+'\');"'+this._addStatus(h,a.id,this._get(a,'yearStatus'),i)+'>';for(;t<=u;t++){n+='<option value="'+t+'"'+(t==c?' selected="selected"':'')+'>'+t+'</option>'}n+='</select>'}if(m)n+=(g||!k||!l?'&#xa0;':'')+o;n+='</div>';return n},_addStatus:function(a,b,c,d){return(a?' onmouseover="jQuery(\'#datepick-status-'+b+'\').html(\''+(c||d)+'\');" '+'onmouseout="jQuery(\'#datepick-status-'+b+'\').html(\''+d+'\');"':'')},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=='Y'?b:0);var e=a.drawMonth+(c=='M'?b:0);var f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=='D'?b:0);var g=this._daylightSavingAdjust(new Date(d,e,f));var h=this._getMinMaxDate(a,'min',true);var i=this._getMinMaxDate(a,'max');g=(h&&g<h?h:g);g=(i&&g>i?i:g);a.selectedDay=g.getDate();a.drawMonth=a.selectedMonth=g.getMonth();a.drawYear=a.selectedYear=g.getFullYear();if(c=='M'||c=='Y')this._notifyChange(a)},_notifyChange:function(a){var b=this._get(a,'onChangeMonthYear');if(b)b.apply((a.input?a.input[0]:null),[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,'numberOfMonths');return(b==null?[1,1]:(typeof b=='number'?[1,b]:b))},_getMinMaxDate:function(a,b,c){var d=this._determineDate(this._get(a,b+'Date'),null);return(!c||!a.rangeStart?d:(!d||a.rangeStart>d?a.rangeStart:d))},_getDaysInMonth:function(a,b){return 32-new Date(a,b,32).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a);var f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[1]),1));if(b<0)f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth()));return this._isInRange(a,f)},_isInRange:function(a,b){var c=(!a.rangeStart?null:this._daylightSavingAdjust(new Date(a.selectedYear,a.selectedMonth,a.selectedDay)));c=(c&&a.rangeStart<c?a.rangeStart:c);var d=c||this._getMinMaxDate(a,'min');var e=this._getMinMaxDate(a,'max');return((!d||b>=d)&&(!e||b<=e))},_getFormatConfig:function(a){var b=this._get(a,'shortYearCutoff');b=(typeof b!='string'?b:new Date().getFullYear()%100+parseInt(b,10));return{shortYearCutoff:b,dayNamesShort:this._get(a,'dayNamesShort'),dayNames:this._get(a,'dayNames'),monthNamesShort:this._get(a,'monthNamesShort'),monthNames:this._get(a,'monthNames')}},_formatDate:function(a,b,c,d){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}var e=(b?(typeof b=='object'?b:this._daylightSavingAdjust(new Date(d,c,b))):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay)));return this.formatDate(this._get(a,'dateFormat'),e,this._getFormatConfig(a))}});function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a};function isArray(a){return(a&&a.constructor==Array)};$.fn.datepick=function(a){var b=Array.prototype.slice.call(arguments,1);if(typeof a=='string'&&(a=='isDisabled'||a=='getDate'))return $.datepick['_'+a+'Datepick'].apply($.datepick,[this[0]].concat(b));return this.each(function(){typeof a=='string'?$.datepick['_'+a+'Datepick'].apply($.datepick,[this].concat(b)):$.datepick._attachDatepick(this,a)})};$.datepick=new Datepick();$.datepick.uuid=new Date().getTime();$.datepick.version='3.5.1';$(function(){$(document).mousedown($.datepick._checkExternalClick).find('body').append($.datepick.dpDiv)})})(jQuery);

/* Hungarian initialisation for the jQuery UI date picker plugin. */
/* Written by Istvan Karaszi (jquerycalendar@spam.raszi.hu). */
(function($) {
	$.datepick.regional['hu'] = {
		clearText: 'törlés', clearStatus: '',
		closeText: 'bezárás', closeStatus: '',
		prevText: '&laquo;&nbsp;vissza', prevStatus: '',
		prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
		nextText: 'előre&nbsp;&raquo;', nextStatus: '',
		nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
		currentText: 'ma', currentStatus: '',
		monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
		'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
		monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
		'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
		monthStatus: '', yearStatus: '',
		weekHeader: 'Hé', weekStatus: '',
		dayNames: ['Vasámap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
		dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
		dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
		dayStatus: 'DD', dateStatus: 'D, M d',
		dateFormat: 'yy-mm-dd', firstDay: 1,
		initStatus: '', isRTL: false};
	$.datepick.setDefaults($.datepick.regional['hu']);
})(jQuery);

$.frontendValidator = {

	_digit: function() {
		$(this).val($(this).val().replace(/[^0-9]/gi,""));
	},
	
	_instantRequest: function() {
		$(this).parents("form").submit();		
	},
	
	_instantRequestFocus: function() {
		$.WBValidatorTempTextFocus = $(this).val();		
	},
	
	_instantRequestBlur: function() {
		if ($.WBValidatorTempTextFocus != $(this).val()) $(this).parents("form").submit();
		$.WBValidatorTempTextFocus;		
	},	

	init: function(el) {
		var fv = this;
		var filter = "";
		
		if (typeof el != "undefined") filter = "#" + el.attr("id") + " "; 
				
		$(filter + ".digitValidator")
			.unbind("keyup", fv._digit)
			.bind("keyup", fv._digit);
		
		$(filter + ".instantRequest").each(function() {
			$this = $(this);
				
			if ($this.attr("type") == "text") {
				$.WBValidatorTempTextFocus = "";							
				$this.unbind("focus", fv._instantRequestFocus).bind("focus", fv._instantRequestFocus);
				$this.unbind("blur", fv._instantRequestBlur).bind("blur", fv._instantRequestBlur);			
			} else {				
				$this.unbind("change", fv._instantRequest).bind("change", fv._instantRequest);
			}
			
				
		
		});								
	}

};

/*
 * jQuery Star Rating plugin
 * Version 1.0.0 (10/02/2009)
 * @requires jQuery v1.2.1 or later
 *
 * Copyright (c) 2009 Aleksandar Pavic
 * http://acosonic.com/jquery_star_rating/

USAGE:
	$(  ).starRatingImages(); 	//uses images
		or
	$(  ).starRatingBg(); 		//uses 1 background image
*/
(function($) {

$.fn.starRating = function(options) {

var opts = $.extend({}, $.fn.starRating.defaults, options);

return this.each(function() {
	$this = $(this);
	var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
	var ratingID = $(this).attr('id');			//grab id of element star rating is used on
	if(o.clickable == false) {					//read settings (enabled/disabled) from configuration or starRating object if it's already used
		$.fn.starRating.clickable[ratingID]=false;
	} else if($.fn.starRating.clickable[ratingID] != false) $.fn.starRating.clickable[ratingID] = true;
	if(o.hoverable == false) {					//read settings (enabled/disabled) from configuration or starRating object if it's already used
		$.fn.starRating.hoverable[ratingID]=false;
	} else if($.fn.starRating.hoverable[ratingID] != false) {
      $.fn.starRating.hoverable[ratingID] = true;
        //add hover functionality to stars holder
        //$this.hover( function() {console.log("jos");}, function() {	$.fn.starRating.updateStars(o.rating,ratingID);});
        $this.bind( 'mouseout', function() {	$.fn.starRating.updateStars(o.rating,ratingID);});
      }
	$.fn.starRating.opts[ratingID]=o;			//remember the settings for rate function
	//o.rating = Math.round(o.rating);
	$.fn.starRating.drawStars(o.rating,ratingID);
 });
 };

// rating function, performs ajax rating
$.fn.starRating.rate = function(val,ratingID) {
	var o = $.fn.starRating.opts[ratingID];
  var paramId = o.paramId;
	var paramValue = o.paramValue;
	//ajax request with callback
  var params = {};
  params[paramId] = ratingID;
	params[paramValue] = val;
  for(param in o.customParams) {
    params[param] = o.customParams[param];
  }

  $.get(o.ratingUrl, params , function(data) { //perform ajax voting and update stars with new result
		if(typeof(o.success)=='function') o.success(data);
  });
};

$.fn.starRating.drawStars = function(rate,ratingID) {
	var o = $.fn.starRating.opts[ratingID];
	for(var i=0;i<o.ratingStars;i++) {			//create stars for voting
		var j = i+1;
		var star				= document.createElement('img');
		if(j<=rate) star.src 	= o.ratedImage;
		else star.src		= o.basicImage;
		star.id					= ratingID + "StarRating" + j;
		star.alt				= j;
		star.title			= j;
		var $star				= $(star);
		this.star				= $star;
		$this.append($star);
    //add onclick voting functionality if click functionality is enabled
		if($.fn.starRating.clickable[ratingID] == true) {
			$('#'+star.id).click(function() {
			      $.fn.starRating.hoverable[ratingID] = false;
            $this.unbind('mouseout');
            if($.fn.starRating.clickable[ratingID] == true)
							$.fn.starRating.rate($(this).attr('title'),ratingID);
              return false;
			});
		}

    //add hover functionality if click functionality is enabled
		if($.fn.starRating.hoverable[ratingID] == true) {
		$('#'+star.id).hover(function() {
		 if($.fn.starRating.hoverable[ratingID] == true) {
			 $("#"+ratingID+"no").html($(this).attr('alt'));
			if($(this).attr("src") == o.basicImage || $(this).attr("src") == o.ratedImage) {
				$(this).attr("src",o.hoverImage);
				$(this).prevAll().attr("src",o.hoverImage);
			} else {
				if($(this).attr('alt')<=rate) { //if you are hovering a rated star
					$(this).attr("src",o.ratedImage);
					$(this).nextAll(function(){
						if($(this).attr('alt')<=rate)$(this).attr("src",o.ratedImage);
						else $(this).attr("src",o.basicImage);
					});
				} else {
					if($(this).attr('alt')>=rate) { //if you are hovering unrated star
					$(this).nextAll().attr("src",o.basicImage);
					}

				}
			}
		 }
		},function() {
				if($.fn.starRating.hoverable[ratingID] == true) {
					if($(this).attr('alt')<=rate) $(this).attr("src",o.ratedImage);
					else $(this).attr("src",o.basicImage);
					}
		});
		}

	}
	if(o.showNumber) { //show value as number after the stars ***** 4
		var numb				= document.createElement('p');
		numb.id					= ratingID + "no";
		$this.append(numb);
		$("#"+numb.id).html(o.rating);
	}
}

$.fn.starRating.updateStars = function(rate,ratingID) {
	var o = $.fn.starRating.opts[ratingID];
	$("#"+ratingID+"no").html(rate);
	for(var i=0;i<o.ratingStars;i++) {
		var j = i+1;
		if(j<=rate) $("#"+ratingID+"StarRating" + j).attr('src',o.ratedImage);
		else $("#"+ratingID+"StarRating" + j).attr('src',o.basicImage);
		}
}

  $.fn.starRating.clickable = [];
  $.fn.starRating.hoverable = [];
  $.fn.starRating.opts = {};

  $.fn.starRating.defaults = {
	basicImage   : 'star.gif',
	ratedImage   : 'star_hover.gif',
	hoverImage   : 'star_blue.gif',
	ratingStars  : 5,             //how much stars to draw
	ratingUrl	   : 'rate.php',    //url for ajax request which will manage  ratings
	paramValue   : 'rate',        //parameter holding the value of rating ?rate=4
	paramId      : 'id',          //parameter holding the id of rate ?rate=4&id=photo442
	customParams : {},            //lets you use custom params for request for example ?rate=4&id=photo442&type=photos ...
	clickable	: true,             //click enabled or disabled
	hoverable	: true,             //hover effect enabled or disabled
	success		: null,             //callback on sucessful rating
	failure		: null,             //callback on failure rating
	rating		: 0,                //current rating
	showNumber	: false           //show number after stars
  };

})(jQuery);

$.rate = function (el, rating, model, iId, clickable) {	

	if (typeof clickable == "undefined") clickable = true;

	$.fn.starRating.clickable = [];
	$.fn.starRating.hoverable = [];
	$.fn.starRating.opts = {};

	var pic = new Image(25,25);
	pic.src = $.base + 'public/css/images/rate1.gif';
	var pic2 = new Image(25,25);
	pic2.src = $.base + 'public/css/images/rate2.gif';
	var pic3 = new Image(25,25);
	pic3.src = $.base + 'public/css/images/rate3.gif';

	el.starRating({
			basicImage: $.base + 'public/css/images/rate1.gif',
			hoverImage: $.base + 'public/css/images/rate2.gif',
			ratedImage: $.base + 'public/css/images/rate3.gif',
			ratingStars: 5,
			clickable: clickable,
			hoverable: clickable,
			rating: rating,
			customParams : {model: model, itemId: iId},

			ratingUrl : $.base + 'rate',
			paramValue : 'rate',

			showNumber: false,

			success: function(data) {
				el.find("*").remove();				
				$.rate(el, data, model, iId, false);
			}

	});

}

/* WB TAG Plugin */
$.wbTags = {
	add_tag: function () {

		var $ct = $("textarea", "#mainContent");
		var str = $(this).attr("lang");

		var selection = "";
		var value = $ct.val();
		var range = $ct.getSelection();
		var before = value.substring(0, range.start);
		var after = value.substring(range.end, value.length);

		if ((range.text.length > 0) || (str != "img" && str != "url")) {
			if ((str == "url" || str == "img") && range.text.substr(0,7) != "http://" ) {
				range.text = "http://" + range.text;
			}
			var trailing = "";
			if (range.text[range.length-1] == " ") {
				range.text = range.text.substring(0, range.length-1);
				trailing = " ";
			}
    		var selection = "["+str+"]" + range.text + "[/"+str+"]";
			$ct.val(before + selection + trailing + after);
		} else if (str == "url") {
			if (selection = prompt("Adja meg az urlt!","http://")) {
				$ct.val(before + "[url=" + selection + "]link[/url] " + after);
			}
		} else if (str == "img") {
			if (selection = prompt("Adja meg az kép url-t!","http://")) {
				$ct.val(before + "[img]" + selection + "[/img] " + after);
			}
		}

		return false;
	},

	html_to_BBCode: function (s) {
		s = $.trim(s);

		function rep(re, str) {
			s = s.replace(re, str);
		};

		rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");
		rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
		rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
		rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
		rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
		rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");
		rep(/<font>(.*?)<\/font>/gi,"$1");
		rep(/<img.*?src=\"(.*?)\".*?>/gi,"[img]$1[/img]");
		rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");
		rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");
		rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");
		rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");
		rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");
		rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");
		rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");
		rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");
		rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");
		rep(/<\/(strong|b)>/gi,"[/b]");
		rep(/<(strong|b)>/gi,"[b]");
		rep(/<\/(em|i)>/gi,"[/i]");
		rep(/<(em|i)>/gi,"[i]");
		rep(/<\/u>/gi,"[/u]");
		rep(/<u>/gi,"[u]");
		rep(/<br \/>/gi,"\n");
		rep(/<br\/>/gi,"\n");
		rep(/<br>/gi,"\n");
		rep(/<p>/gi,"");
		rep(/<\/p>/gi,"\n");
		rep(/&nbsp;/gi," ");
		rep(/&quot;/gi,"\"");
		rep(/&lt;/gi,"<");
		rep(/&gt;/gi,">");
		rep(/&amp;/gi,"&");
		rep(/&undefined;/gi,"'"); // quickfix
		return s;
	}
}

/* WB Comment System */
$.wbComments = {

	init: function() {
		var $c = $("#widget_comments");

		$c.find("form").submit(this.add).end()
		  .find("a.widget_comment_reply")	.die().live("click", this.reply).end()
		  .find("a.widget_comment_modify")	.die().live("click", this.modify).end()
		  .find("a.widget_comment_remove")	.die().live("click", this.remove).end()
		  .find("a.widget_comment_moderate").die().live("click", this.moderate).end()
		  .find("a.widget_comment_tag")		.die().live("click", $.wbTags.add_tag).end()
		  .find("a.widget_comment_more")	.die().live("click", this.more);
	},

	more: function() {
		var $c = $("#widget_comments");
		$('html, body').animate({scrollTop: $c.offset().top - 30}, 'slow');
		$.wbComments.show_message("Kérjük várjon!");

		$.post($.base+"comments/more", {url: $c.find("input[name=url]").val(), template: $c.find("input[name=template]").val()}, function(data) {
			$.wbComments.hide_message();
			$c.find(".widget_comment_container").html(data);
		});

		return false;
	},

	add: function() {
		var $f = $("#widget_comments").find("form");
		var pars = $f.serialize() + "&ajax=true";

		$f.find("input[type=submit]").attr("disabled", true);
		setTimeout('$("#widget_comments").find("input[type=submit]").attr("disabled", false);', 5000);

		$.wbComments.show_message("Kérjük várjon!");

		$.post($f.attr("action"), pars, function(data) {
			$.wbComments.hide_message();

			if ($f.attr("action").search("modify") >= 0) $.wbComments.refresh();

			var $c = $("#widget_comments");
			var commentkeys = new Array();
			$c.find(".widget_comment_reply").each(function() {
				commentkeys[$(this).attr("lang")] = true;
			});

			$("body").append("<div id='widget_comment_temporary_container'></div>");
			$("#widget_comment_temporary_container")
				.css({ width: '1px', height: '1px', overflow: 'hidden', opacity: 0 })
				.html(data)
				.find(".widget_comment")
					.each(function() {
						if (commentkeys[ $(this).find(".widget_comment_reply").attr("lang") ] != undefined) return $(this).remove();

						$(this).hide();
					})
					.end()
				.children()
					.prependTo("#widget_comments .widget_comment_container");

			$c.find(".widget_comment_caption")
				.html('Hozzászólás:').end()
			  	.find("input[name=replyto]").val("0").end()
			  .find("textarea[name=comment]").val("");

			$("#widget_comment_temporary_container").remove();

			$(".widget_comment", "#widget_comments").show("slow");

		});

		return false;
	},

	remove: function() {
		var $el = $(this);
		$.wbComments.show_message("Kérjük várjon!");
		$.post($.base+"comments/remove", {id: $el.attr("lang")}, function() {
			$.wbComments.hide_message();
			$el.closest(".widget_comment").hide("slow", function(){ $(this).remove(); })
		});

		return false;
	},

	moderate: function() {
		var $el = $(this);
		$.wbComments.show_message("Kérjük várjon!");

		$.post($.base+"comments/moderate", {id: $(this).attr("lang")}, function() {
			$.wbComments.hide_message();
			$el.closest(".widget_comment").hide("slow", function(){
				$(this)
					.find(".widget_comment_text")
						.html("MODERÁLVA")
						.end()
					.show("slow");
			});
		});

		return false;
	},

	reply: function() {
		var replyto = $(this).attr("lang");

		$('html, body').animate({scrollTop: $("#widget_comments").offset().top - 30}, 'slow');

		$(".widget_comment_caption", "#widget_comments")
			.html('Válasz erre: #'+replyto).end()
		  	.find("input[name=replyto]").val(replyto).end()
		  	.find("textarea").focus();

		return false;
	},

	modify: function() {
		var $c = $("#widget_comments");
		var $f = $c.find("form");
		var $t = $f.find("textarea");
		var id = $(this).attr("lang");

		$('html, body').animate({scrollTop: $c.offset().top - 30}, 'slow');
		$t.val($.wbTags.html_to_BBCode($(this).closest(".widget_comment").find(".widget_comment_text").html())).focus();

		$f.attr("action", $f.attr("action").replace("add", "modify"));
		$f.find("input[name=id]").val(id);

		$c.find(".widget_comment_caption").html("Hozzászólás szerkesztése:");

		return false;
	},

	refresh: function() {
		window.location = window.location.toString().split("?")[0]+"?refresh="+Math.floor(Math.random(10)*10);
	},

	show_message: function(msg) {
		$(".widget_comment_messages", "#widget_comments")
			.find("span")
				.html(msg)
				.end()
			.show("slow");
	},

	hide_message: function() {
		$(".widget_comment_messages", "#widget_comments").hide("slow");
	}

}


/*
 * jQuery plugin: fieldSelection - v0.1.0 - last change: 2006-12-16
 * (c) 2006 Alex Brem <alex@0xab.cd> - http://blog.0xab.cd
 */

var fieldSelection = {

	getSelection: function() {

		var e = this.jquery ? this[0] : this;

		return (

			/* mozilla / dom 3.0 */
			('selectionStart' in e && function() {
				var l = e.selectionEnd - e.selectionStart;
				return { start: e.selectionStart, end: e.selectionEnd, length: l, text: e.value.substr(e.selectionStart, l) };
			}) ||

			/* exploder */
			(document.selection && function() {

				e.focus();

				var r = document.selection.createRange();
				if (r == null) {
					return { start: 0, end: e.value.length, length: 0 }
				}

				var re = e.createTextRange();
				var rc = re.duplicate();
				re.moveToBookmark(r.getBookmark());
				rc.setEndPoint('EndToStart', re);

				return { start: rc.text.length, end: rc.text.length + r.text.length, length: r.text.length, text: r.text };
			}) ||

			/* browser not supported */
			function() {
				return { start: 0, end: e.value.length, length: 0 };
			}

		)();

	},

	replaceSelection: function() {

		var e = this.jquery ? this[0] : this;
		var text = arguments[0] || '';

		return (

			/* mozilla / dom 3.0 */
			('selectionStart' in e && function() {
				e.value = e.value.substr(0, e.selectionStart) + text + e.value.substr(e.selectionEnd, e.value.length);
				return this;
			}) ||

			/* exploder */
			(document.selection && function() {
				e.focus();
				document.selection.createRange().text = text;
				return this;
			}) ||

			/* browser not supported */
			function() {
				e.value += text;
				return this;
			}

		)();

	}

};

jQuery.each(fieldSelection, function(i) { jQuery.fn[i] = this; });

/*
 * WB Forum written by Drawain
 */
$.wbForum = {

	init: function() {
		var content = $("#mainContent");
		content
			.find("a.forum_tag").unbind().bind("click", $.wbTags.add_tag).end()
			.find("a.forum_reply").unbind().bind("click", this.reply).end()
			.find("a.forum_modify").unbind().bind("click", this.modify).end()
			.find("a.forum_moderate").unbind().bind("click", this.moderate).end()
			.find("form#forum_new_thread").unbind().bind("submit", this.new_thread).end()
			.find("form#forum_new_post").unbind().bind("submit", this.new_post).end()
			;

		$("#forum_pagination").find("a").removeClass("noRefreshAnim").addClass("noRefreshAnim");
	},

	new_thread: function() {		
		$this = $(this);
		if (($.trim($this.find("input[name=title]").val()) == "") || ($.trim($this.find("textarea[name=text]").val()) == "")) {
			alert("A cím és az első hozzászólás mezőt ki kell tölteni!");		
		} else {
			$.executeRemoteForm($this);
		}

		return false;
	},

	new_post: function() {
		$this = $(this);
		if ($.trim($this.find("textarea[name=text]").val()) == "") {
			alert("A hozzászólás írásához kérjük valamilyen konstruktív megnyilvánulással töltse ki a megfelelő mezőt! (az üres hozzászólás nem túl konstruktív)");
		} else {
			$.executeRemoteForm($this);
		}

		return false;
	},

	moderate: function() {
		$.executeRemoteLink($(this));
		return false;
	},

	reply: function() {
		var replyto = $(this).attr("lang");

		$('html, body').animate({scrollTop: $("#forum_new_post").offset().top - 30}, 'slow');

		$(".forum_post_caption", "#forum_new_post")
			.html('Válasz erre: #'+replyto).end()
		  	.find("input[name=replyto]").val(replyto).end()
		  	.find("textarea").focus();

		return false;
	},

	modify: function() {
		var $c = $("#forum_new_post");
		var $t = $c.find("textarea");
		var id = $(this).attr("lang");

		$('html, body').animate({scrollTop: $c.parent().offset().top - 30}, 'slow');
		$t.val($.wbTags.html_to_BBCode($(this).closest(".forum_post").find(".forum_post_text").html())).focus();

		$c.attr("action", $c.attr("action").replace("uj_hozzaszolas", "hozzaszolas_modositas"));
		$c.find("input[name=replyto]").val(id);

		$c.find(".forum_post_caption").html("Hozzászólás szerkesztése:");

		return false;
	}
	
}

$.wbForumAdminInit = function() {
	if (typeof $.wbForumAdmin == "undefined") {
		$.getScript($.base + "public/js/jquery.admin.forum.js", function() {
			$.wbForumAdmin.init();
		});
	} else {
		$.wbForumAdmin.init();
	}
}

/*
 * WB SideScroller written by Drawain
 */

$.fn.wbScroller = function(options) {

	var opts = $.extend({
		timer: 2000
	}, options);
	
	return this.each(function() {
		var $this = $(this).addClass("wbScroller");
	    var controllers = $this.find(".control li");
	    var items = $this.find(".items li");
		var width = items.width();
		
		var slideTo = function(num) {
			controllers.removeClass("selected").eq(num).addClass("selected");
		    items.parent("ul").animate({ left: "-" + num * width + "px" }, "normal", "swing");
		};
		
		var slideToNext = function() {
      		var next = $this.find(".control li.selected").next("li");
      		if (next.length) {
      		    slideTo(controllers.index(next));
			} else {
			    slideTo(0);
			}
		}

		$this
			.bind('mouseover', function() {
				$.fn.wbScroller.lock = true;
				setTimeout("$.fn.wbScroller.lock = false;", 30000);
			})
			.bind('mouseout', function() {
				$.fn.wbScroller.lock = false;
			});

		controllers.each(function(){
		    $(this).unbind().bind("click", function() {
				slideTo(controllers.index(this));
				return false;
			});
		});
		
		controllers.eq(0).addClass("selected");
		slideTo(0);
		
		var autoSlide = function() {
			if (!$.fn.wbScroller.lock) {
				slideToNext();			    
			}
			setTimeout(autoSlide, opts.timer);
		}
		
		if (opts.timer > 0) setTimeout(autoSlide, opts.timer);
		
	});
	
};

$.fn.wbScroller.lock = false;


/*
 * TableDnD plug-in for JQuery, allows you to drag and drop table rows
 * You can set up various options to control how the system will work
 * Copyright (c) Denis Howlett <denish@isocra.com>
 * Licensed like jQuery, see http://docs.jquery.com/License.
 */
jQuery.tableDnD={currentTable:null,dragObject:null,mouseOffset:null,oldY:0,build:function(options){this.each(function(){this.tableDnDConfig=jQuery.extend({onDragStyle:null,onDropStyle:null,onDragClass:"tDnD_whileDrag",onDrop:null,onDragStart:null,scrollAmount:5,serializeRegexp:/[^\-]*$/,serializeParamName:null,dragHandle:null},options||{});jQuery.tableDnD.makeDraggable(this);});jQuery(document).bind('mousemove',jQuery.tableDnD.mousemove).bind('mouseup',jQuery.tableDnD.mouseup);return this;},makeDraggable:function(table){var config=table.tableDnDConfig;if(table.tableDnDConfig.dragHandle){var cells=jQuery("td."+table.tableDnDConfig.dragHandle,table);cells.each(function(){jQuery(this).mousedown(function(ev){jQuery.tableDnD.dragObject=this.parentNode;jQuery.tableDnD.currentTable=table;jQuery.tableDnD.mouseOffset=jQuery.tableDnD.getMouseOffset(this,ev);if(config.onDragStart){config.onDragStart(table,this);}
return false;});})}else{var rows=jQuery("tr",table);rows.each(function(){var row=jQuery(this);if(!row.hasClass("nodrag")){row.mousedown(function(ev){if(ev.target.tagName=="TD"){jQuery.tableDnD.dragObject=this;jQuery.tableDnD.currentTable=table;jQuery.tableDnD.mouseOffset=jQuery.tableDnD.getMouseOffset(this,ev);if(config.onDragStart){config.onDragStart(table,this);}
return false;}}).css("cursor","move");}});}},updateTables:function(){this.each(function(){if(this.tableDnDConfig){jQuery.tableDnD.makeDraggable(this);}})},mouseCoords:function(ev){if(ev.pageX||ev.pageY){return{x:ev.pageX,y:ev.pageY};}
return{x:ev.clientX+document.body.scrollLeft-document.body.clientLeft,y:ev.clientY+document.body.scrollTop-document.body.clientTop};},getMouseOffset:function(target,ev){ev=ev||window.event;var docPos=this.getPosition(target);var mousePos=this.mouseCoords(ev);return{x:mousePos.x-docPos.x,y:mousePos.y-docPos.y};},getPosition:function(e){var left=0;var top=0;if(e.offsetHeight==0){e=e.firstChild;}
while(e.offsetParent){left+=e.offsetLeft;top+=e.offsetTop;e=e.offsetParent;}
left+=e.offsetLeft;top+=e.offsetTop;return{x:left,y:top};},mousemove:function(ev){if(jQuery.tableDnD.dragObject==null){return;}
var dragObj=jQuery(jQuery.tableDnD.dragObject);var config=jQuery.tableDnD.currentTable.tableDnDConfig;var mousePos=jQuery.tableDnD.mouseCoords(ev);var y=mousePos.y-jQuery.tableDnD.mouseOffset.y;var yOffset=window.pageYOffset;if(document.all){if(typeof document.compatMode!='undefined'&&document.compatMode!='BackCompat'){yOffset=document.documentElement.scrollTop;}
else if(typeof document.body!='undefined'){yOffset=document.body.scrollTop;}}
if(mousePos.y-yOffset<config.scrollAmount){window.scrollBy(0,-config.scrollAmount);}else{var windowHeight=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight;if(windowHeight-(mousePos.y-yOffset)<config.scrollAmount){window.scrollBy(0,config.scrollAmount);}}
if(y!=jQuery.tableDnD.oldY){var movingDown=y>jQuery.tableDnD.oldY;jQuery.tableDnD.oldY=y;if(config.onDragClass){dragObj.addClass(config.onDragClass);}else{dragObj.css(config.onDragStyle);}
var currentRow=jQuery.tableDnD.findDropTargetRow(dragObj,y);if(currentRow){if(movingDown&&jQuery.tableDnD.dragObject!=currentRow){jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject,currentRow.nextSibling);}else if(!movingDown&&jQuery.tableDnD.dragObject!=currentRow){jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject,currentRow);}}}
return false;},findDropTargetRow:function(draggedRow,y){var rows=jQuery.tableDnD.currentTable.rows;for(var i=0;i<rows.length;i++){var row=rows[i];var rowY=this.getPosition(row).y;var rowHeight=parseInt(row.offsetHeight)/2;if(row.offsetHeight==0){rowY=this.getPosition(row.firstChild).y;rowHeight=parseInt(row.firstChild.offsetHeight)/2;}
if((y>rowY-rowHeight)&&(y<(rowY+rowHeight))){if(row==draggedRow){return null;}
var config=jQuery.tableDnD.currentTable.tableDnDConfig;if(config.onAllowDrop){if(config.onAllowDrop(draggedRow,row)){return row;}else{return null;}}else{var nodrop=jQuery(row).hasClass("nodrop");if(!nodrop){return row;}else{return null;}}
return row;}}
return null;},mouseup:function(e){if(jQuery.tableDnD.currentTable&&jQuery.tableDnD.dragObject){var droppedRow=jQuery.tableDnD.dragObject;var config=jQuery.tableDnD.currentTable.tableDnDConfig;if(config.onDragClass){jQuery(droppedRow).removeClass(config.onDragClass);}else{jQuery(droppedRow).css(config.onDropStyle);}
jQuery.tableDnD.dragObject=null;if(config.onDrop){config.onDrop(jQuery.tableDnD.currentTable,droppedRow);}
jQuery.tableDnD.currentTable=null;}},serialize:function(){if(jQuery.tableDnD.currentTable){return jQuery.tableDnD.serializeTable(jQuery.tableDnD.currentTable);}else{return"Error: No Table id set, you need to set an id on your table and every row";}},serializeTable:function(table){var result="";var tableId=table.id;var rows=table.rows;for(var i=0;i<rows.length;i++){if(result.length>0)result+="&";var rowId=rows[i].id;if(rowId&&rowId&&table.tableDnDConfig&&table.tableDnDConfig.serializeRegexp){rowId=rowId.match(table.tableDnDConfig.serializeRegexp)[0];}
result+=tableId+'[]='+rowId;}
return result;},serializeTables:function(){var result="";this.each(function(){result+=jQuery.tableDnD.serializeTable(this);});return result;}}
jQuery.fn.extend({tableDnD:jQuery.tableDnD.build,tableDnDUpdate:jQuery.tableDnD.updateTables,tableDnDSerialize:jQuery.tableDnD.serializeTables});

/*
 * WB USER GALLERY by Drawain
 */
$.wbUGallery = {

	init: function() {
		var $c = $("#mainContent");

		$("#ugallery_new a")
			.unbind("click")
			.click(function() {
				$(this).parent().find("div").toggle("fast");
				return false;
			})
			.parent()
				.find("div")
				.hide();

		$("#ugallery_new input[type=submit]")
			.unbind("click")
			.click(function() {
				if ($.trim($("#ugallery_new input[name=title]").val()) == "") {
					alert("Címet kell adnia az új galériának!");
					return false;
				}
			});

		$("#ugallery_modify .ugallery_modifycover")
			.unbind("change")
			.change(function() {
				var $this = $(this);
				if ($this.val() == "yes")
				{
					$("#ugallery_modify .ugallery_modifycover[value=no]").attr("checked", true);
					$(this).attr("checked", true);
				}
			});

		if ($("#ugallery_upload").length > 0) $.uploadManager.init();
		
		$("#mainContent table.dragtable").tableDnD();

	}


}

$.uploadManager = {

	instance: null,
	initialized: false,

	get: function() {
		return this.instance;
	},

	init: function() {
		if (!this.initialized) {
			loading(1);
			$.getScript($.base + "public/js/jquery.vendor.upload.js", function() {
				loading(0);
				$.uploadManager.initialized = true;
				$.uploadManager.init();
			});
			return true;
		}

		if (this.instance !== null) {
			this.instance.destroy();
			this.instance = null;
		}

		var $e = $("#ugallery_upload");

		var settings = {
			flash_url : $.base + "public/css/admin/swfupload.swf",
			upload_url: $("#ugallery_upload input[name=ugallery_uploadurl]").val(),
			file_size_limit : "3 MB",
			file_types : "*.jpg;*.jpeg;*.png;*.gif",
			file_types_description : "Képek",
			file_upload_limit : 30,
			file_queue_limit : 0,

			debug: false,
			debug_handler : this.debug,

			// Button settings
			button_image_url: $.base + "public/css/images/uploadbuttons.png",	// Relative to the Flash file
			button_width: "61",
			button_height: "22",
			button_placeholder_id: "filemanager_button",
			button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT,
			button_cursor: SWFUpload.CURSOR.HAND,

			moving_average_history_size: 40,

			file_queued_handler : this.fileQueued,
			file_dialog_complete_handler: this.fileDialogComplete,
			upload_start_handler : this.uploadStart,
			upload_progress_handler : this.uploadProgress,
			upload_success_handler : this.uploadSuccess,
			upload_complete_handler : this.uploadComplete
		};

		this.instance = new SWFUpload(settings);
		
		$("#filemanager_cancel").unbind("click").click(this.cancel);
	},

	debug: function(message) {
		try {
			if (window.console && typeof(window.console.error) === "function" && typeof(window.console.log) === "function") {
				if (typeof(message) === "object" && typeof(message.name) === "string" && typeof(message.message) === "string") {
					window.console.error(message);
				} else {
					window.console.log(message);
				}
			}
		} catch (ex) {
		}
	},

	fileQueued: function(file) {
		try {

			$("#ugallery_upload .filemanager_template:first")
				.clone()
				.appendTo("#filemanager_uploadcontainer")				
				.find(".filemanager_title")
					.html(file.name)
					.end()
				.find(".filemanager_percent")
					.html("0%")
					.end()
				.find(".filemanager_speed")
					.html("(0kb/s)")
					.end()
				.find(".filemanager_progress")
					.css({ width: 0 })
					.end()
				.attr("id", "filemanager_file_"+file.id)
				.fadeIn("fast");

		} catch (ex) {
			this.debug(ex);
		}

	},

	fileDialogComplete: function() {
		this.startUpload();
	},

	uploadStart: function(file) {
		try {						
			$.uploadManager.updateDisplay.call(this, file);
		}
		catch (ex) {
			this.debug(ex);
		}

	},

	uploadProgress: function(file, bytesLoaded, bytesTotal) {
		try {
			$.uploadManager.updateDisplay.call(this, file);
		} catch (ex) {
			this.debug(ex);
		}
	},

	uploadSuccess: function(file, serverData) {
		try {
			$.uploadManager.updateDisplay.call(this, file);
			$("#filemanager_file_"+file.id).fadeOut("fast", function(){ $(this).remove(); });
		} catch (ex) {
			this.debug(ex);
		}
	},

	uploadComplete: function(file) {
		var stats = this.getStats();
		if (stats.files_queued == 0)
		{
			window.location.href=window.location.href.split("?")[0] + "?" + Math.floor(Math.random(10000)*10000);
		}
	},

	updateDisplay: function(file) {
		try {
			$("#filemanager_file_"+file.id)
				.find(".filemanager_percent")
					.html(SWFUpload.speed.formatPercent(file.percentUploaded) + "")
					.end()
				.find(".filemanager_speed")
					.html("("+ SWFUpload.speed.formatBPS(file.currentSpeed) +")")
					.end()
				.find(".filemanager_progress")
					.css({ width: Math.floor(SWFUpload.speed.formatPercent(file.percentUploaded).substr(0,5)) + "%" })
					.end()			    
		} catch (ex) {
			this.debug(ex);
		}

		/*this.customSettings.CurrentSpeed.html("(" + SWFUpload.speed.formatBPS(file.currentSpeed) + ")");
		this.customSettings.TimeRemaining.html(SWFUpload.speed.formatTime(file.timeRemaining));
		this.customSettings.TimeElapsed.html(SWFUpload.speed.formatTime(file.timeElapsed));
		this.customSettings.PercentUploaded.html(SWFUpload.speed.formatPercent(file.percentUploaded));
		$("#FMUploadProgressbar").progressbar("value", Math.floor(SWFUpload.speed.formatPercent(file.percentUploaded).substr(0,5)));*/
	},

	cancel: function() {
		var stats = $.uploadManager.instance.getStats();
		if (((stats.files_queued !== 0) && confirm("Nyomjon OK gombot ha meg akarja szakítani az összes várakozó feltöltést!")) || (stats.files_queued == 0))
		{
			$.uploadManager.instance.stopUpload();
			do {
				stats = $.uploadManager.instance.getStats();
				var file = $.uploadManager.instance.getFile();
				if (file !== null) $("#filemanager_file_"+file.id).fadeOut("fast", function(){ $(this).remove(); });
				$.uploadManager.instance.cancelUpload();
			} while (stats.files_queued !== 0);
		}
		
		return false;
	}

}









