var valid_browser = true;
var tooltips = false;

// Check browser
if($.browser.webkit){
	// 533
	if(parseInt($.browser.version) < 420){ valid_browser = false; }
} else if($.browser.opera){
	if(parseInt($.browser.version) < 10){ valid_browser = false; }
} else if($.browser.msie){
	if(parseInt($.browser.version) < 7){ valid_browser = false; }
} else if($.browser.mozilla){
	if($.browser.version < '1.9.0.0'){ valid_browser = false; }
}

if(!valid_browser){
	location.href = '/update_browser.html';
}

var top_banners, top_banners_size, curr_tb, curr_tmr, curr_gallery, curr_gi;
var scroller_imgs = {};
//var scroller_thumbs = {};
var scroller_titles = {};
var curr_gt = {};
var curr_gtmr = {};


$(document).ready(function(){
	$(".to-hide").hide();

	if($(".cms-panel").size()){
		$("body").addClass("cms-body");
	}

	$("#top-menu li").hover(
		function(){ $(this).addClass("hover"); },
		function(){ $(this).removeClass("hover"); }
	);

	if($.browser.webkit || $.browser.opera){
		$("#join-us-tab").css('margin-top', '67px');
	}

	top_banners = $("#middle-banners img");
	top_banners_size = top_banners.size();

	if(top_banners_size > 1){
		curr_tb = 0;
		top_banners.filter(":gt(0)").hide();

		setInterval('changeTopBanner()', 10000);
	}

	$(".image-scroller-feed").each(function(){
		var imgs = $("a", this);
		var tag = imgs.eq(0).attr("rel");

		//scroller_thumbs[tag] = imgs;
		curr_gt[tag] = 0;
		curr_gtmr[tag] = setInterval("scrollGallery('" + tag + "', 1)", 5000);
	});

	$(".image-scroller-feed a").each(function(){
		var obj = $(this);
		var tag = obj.attr("rel");
		var src = obj.attr('href');

		var img = new Image();
		img.src = src;

		if(typeof scroller_imgs[tag] == 'undefined'){
			scroller_imgs[tag] = [];
			scroller_titles[tag] = []
		}

		scroller_imgs[tag][scroller_imgs[tag].length] = src;
		scroller_titles[tag][scroller_titles[tag].length] = obj.attr("title");
	});

	$(".image-scroller-next, .image-scroller-prev").click(function(){
		var obj = $(this);
		var tag = obj.attr("href");
		tag = tag.substring(1, tag.length);

		scrollGallery(tag, obj.hasClass("image-scroller-prev") ? -1 : 1);

		this.blur();
		return false;
	});

	$(".image-scroller").hover(
		function(){ var tag = $(".image-scroller-feed a", this).eq(0).attr("rel"); clearInterval(curr_gtmr[tag]); },
		function(){ var tag = $(".image-scroller-feed a", this).eq(0).attr("rel"); curr_gtmr[tag] = setInterval("scrollGallery('" + tag + "', 1)", 5000); }
	);

	$(".new-window").each(function(){
		$(this).attr('target', '_blank');
	});

	$(".new-dwindow").click(function(){
		window.open($(this).attr('href'), "", "menubar=yes,toolbar=yes,location=yes,status=yes,scrollbars=yes,resizable=yes,width="+($(window).width()-50)+",height="+($(window).height()-50));
		return false;
	});

	if($(".get-window").size() || $(".call-window").size() || $(".show-image").size() || typeof gen_mess != 'undefined' || typeof gen_error != 'undefined'){
		$('<div id="window-fade"></div><div id="window-content-surr"><div id="window-content"><div class="window-header"><div class="window-header-content"><div class="close"><a href="#" class="close-window">Close</a><img src="/img/close.png" alt="Close Window" class="close-window" /></div><span></span></div></div><div class="window-body-border"><div class="window-body"></div></div></div></div>').appendTo("body");

		// Correct position values
		var obj = $("#window-content-surr");
		obj.css({ "left":($(window).width()-obj.width())/2+"px", "top": ($(window).height()-obj.height())/2+"px" });

		$("#window-content").delegate(".window-left-scroller", "click", function(){
			return changeGalleryImage(-1);
		}).delegate(".window-right-scroller", "click", function(){
			return changeGalleryImage(1);
		});
	}

	if($(".call-tooltip").size()){
		tooltips = true;
	}

	if(tooltips){
		$('<div id="tooltip"><div class="tooltip-surr">&nbsp;</div><div class="tooltip"></div></div>').appendTo("body");
		$("a[tooltip]").live("mouseover", function(e){
			var poss = getMousePosition(e);

			$("#tooltip .tooltip").html($(this).attr("tooltip"));
			$("#tooltip").css({'top':poss.y+15, 'left':poss.x-35}).show();
		}).live("mouseout", function(){
			$("#tooltip").hide();
		});

		$("#tooltip .tooltip").live("mouseleave", function(){
			$("#tooltip").hide();
		});
	}

	$(".get-window").live("click", function(){
		var title = $(this).attr("title");

		$.get($(this).attr("href"), {}, function(data){
			if(data){
				showWindow(title, data);
			}
		});
		return false;
	});

	$("#window-fade").click(function(){
		return closeWindow();
	});

	$(".call-close").click(function(){
		if(window.opener){
			close();
		}
		return false;
	});

	if(typeof gen_mess != 'undefined'){
		showWindow(typeof gen_mess_header != 'undefined' ? gen_mess_header : 'Message', gen_mess);
	}

	if(typeof gen_error != 'undefined'){
		showWindow('Error', gen_error);
	}

	$(".window-body .inside").live("click", function(){
		$.get($(this).attr("href"), {}, function(data){
			if(data){
				replaceWindowContent('', data);
			}
		});

		return false;
	});

	$(".show-image").live("click", function(){
		var obj = $(this);
		var lnk = obj.attr("href");
		var tag = obj.attr("rel") || "";

		var to_load_title = obj.find("img").attr("alt");
		var to_load_html = (tag && scroller_imgs[tag].length > 1 ? '<a href="#" class="window-right-scroller"></a><a href="#" class="window-left-scroller"></a>' : '') + "<div class='window-image'><img src='" + lnk + "' alt='" + to_load_title + "' class='scroller-img' /></div>";

		if(tag && scroller_imgs[tag].length > 1){
			curr_gallery = tag;
			curr_gi = $.inArray(lnk, scroller_imgs[tag]);
		}

		showWindowCallback(to_load_title, to_load_html);

		//showWindowCallback(to_load_title, "<div style='text-align:center'><img src='/img/ajax-loader.gif' alt='Loading&hellip;' /></div>", function(){
		//	if($.browser.opera){
		//		replaceWindowContent(to_load_title, to_load_html);
		//	} else {
		//		$("<img src='" + lnk + "' />").load(function(){
		//			replaceWindowContent(to_load_title, to_load_html);
		//		});
		//	}
		//});

		return false;
	});

	$("select").live("change", function(){
		var sel = $(this);
		
		if(!sel.hasClass("multiple")){
			var obj = $("#sel-"+sel.attr("id"));
			var sel_dom = sel.get(0);

			obj.html(sel_dom.options[sel_dom.options.selectedIndex].text);
		}
	});

	$(".select-block").live("click", function(){
		var id = $(this).attr("id");
		id = id.substring(9, id.length);

		$("#sel-block"+id).slideToggle("normal");
		$("div", this).toggleClass("expanded");
	})
		
	$(".mixed-select").mouseleave(function(){
		$(this).slideUp("normal");
		$(this).parent().find(".expanded").removeClass("expanded");
	});

	$(".mixed-select input:checkbox").live("change", function(){
		var obj = $(this).parents(".mixed-select");
		var id = obj.attr("id");
		id = id.substring(9, id.length);

		var data = [];
		obj.find("input:checked").each(function(){
			data[data.length] = this.value;
		});

		if(!data.length){
			data[0] = "Please select";
		}

		$("#sel-field"+id+" div").html(data.join(", "));
	}).eq(0).change();

	$(".contact-field-surr textarea").keyup(function(e){
		var obj = $(this);
		var chars = obj.prop('maxlength');

		if(obj.val().length > chars-1){
			var poss = getMousePosition(e);
			
			$('#tooltip .tooltip').html('You have entered more than ('+chars+') we have<br />removed some of your text to reduce the<br /> characters to ('+chars+') please check your text<br /> before submitting the form');
			$("#tooltip").css({'top':poss.y+$(window).height()/2, 'left':$(window).width()/2}).show();
			setTimeout('$("#tooltip").hide();', 5000);
		}
	});

	/*$(".file-surr input").live("change", function(){
		var sel = $(this);
		var obj = $("#sel-"+sel.attr("id"));

		obj.text(sel.val());
	});
	
	$(".radio-surr input").live("click", refreshRadios);

	$(".check-surr input").live("click", function(){
		var obj = $(this);
		var ch = obj.get(0).checked;

		if(ch){
			obj.parent().addClass("check-surr-active");
		} else {
			obj.parent().removeClass("check-surr-active");
		}
	});*/

	$(".print").click(function(e){
		e.preventDefault();
		print();
	});

	changeValText(".val-text");

	initChanges();
});

var changeTopBanner = function(){
	top_banners.eq(curr_tb).fadeOut(1500, function(){
		if(++curr_tb >= top_banners_size){
			curr_tb = 0;
		}

		top_banners.eq(curr_tb).fadeIn(1500);
	});
}

var changeGalleryImage = function(i){
	var len = scroller_imgs[curr_gallery].length;
	curr_gi += i;

	if(curr_gi > len-1){
		curr_gi = 0;
	} else if(curr_gi < 0) {
		curr_gi = len - 1;
	}

	var to_load_title = scroller_titles[curr_gallery][curr_gi];
	var to_load_html = '<a href="#" class="window-right-scroller"></a><a href="#" class="window-left-scroller"></a><div class="window-image"><img src="' + scroller_imgs[curr_gallery][curr_gi] + '" alt="' + scroller_titles[curr_gallery][curr_gi] + '" class="scroller-img" /></div>';

	if($("#window-content-surr").is(":visible")){
		if(!to_load_title)
			to_load_title = "&nbsp;";

		var wh_obj = $(".window-header");
		wh_obj.find("span").html(to_load_title);

		$(".window-body").html(to_load_html);
	} else {
		replaceWindowContent(to_load_title, to_load_html);
	}

	return false;
}

var scrollGallery = function(tag, i){
	var obj = $("#"+tag);
	var sobj = obj.parent();
	var len = obj.size();
	//curr_gt[tag] += i;

	//if(curr_gt[tag] > len-1){
	//	curr_gt[tag] = 0;
	//} else if(curr_gt[tag] < 0) {
	//	curr_gt[tag] = len - 1;
	//}

	//var el = scroller_thumbs[tag].eq(curr_gt[tag]);
	var imgs = obj.find("a");

	if(i > 0){
		sobj.scrollTo("+=121px", 800, { onAfter:function(){
			imgs.first().appendTo(obj);
			sobj.scrollTo(0);
		}});
	} else {
		imgs.last().prependTo(obj);
		sobj.scrollTo("121px");
		sobj.scrollTo("-=121px", 800);
	}
}

var showWindow = function(title, data){
	showWindowCallback(title, data, null);
}

var showWindowCallback = function(title, data, func){
	$("#window-fade").css({width:$(document).width() + 'px', height:$(document).height() + 'px', opacity:0.6}).fadeIn('fast', function(){
		var ww = $(window).width();
		var wh = $(window).height();
		//var l = Math.floor(($(window).width()-840)/2);

		if(!title)
			title = "&nbsp;";

		var wh_obj = $(".window-header");
		wh_obj.find("span").html(title);

		$(".window-body").css("maxHeight", (wh-100) + "px").html(data);//.css({height: wh+'px'})
		$("#window-content-surr").css("visibility", "hidden")/*.css({left: l + 'px'})*/.fadeIn('fast', function(){
			var obj = $(this);
			//obj.animate({top: Math.floor((wh - obj.height())/2), left: Math.floor((ww - obj.width())/2)}, 500, function(){
			obj.css({top: Math.floor((wh - obj.height())/2), left: Math.floor((ww - obj.width())/2), "visibility":"visible"});
			//});
		});

		window_opened = true;

		$(".close-window").click(function(){
			return closeWindow();
		});

		if(typeof func == "function"){
			func();
		}
	});

	$(window).resize(function(){
		$("#window-fade").css({width:$(window).width() + 'px', height:$(document).height() + 'px'});

		var ww = $(window).width();
		var wh = $(window).height();
		//var l = ($(window).width()-840)/2;

		var wh_obj = $(".window-header");

		$(".window-body").css("maxHeight", (wh-100) + "px")//.html(data);.css({height: wh-30+'px'});

		var wh_obj = $("#window-content-surr");
		wh_obj.css({left: Math.floor((ww - wh_obj.width())/2) + 'px', top: Math.floor((wh - wh_obj.height())/2) + "px" });
	});
}

var replaceWindowContent = function(title, data){
	if(!title)
		title = "&nbsp;";

	$(".window-header span").html(title);
	var wb = $("#window-content-surr");
	
	wb.fadeOut("normal", function(){
		wb.css("visibility", "hidden").show();

		$(".window-body").html(data);

		var ww = $(window).width();
		var wh = $(window).height();

		var wh_obj = $(".window-header");

		var mh = wh-200;
		$(".window-body").css("maxHeight", mh + "px");

		//$(".window-body .scroller-img").each(function(){
		//	var iobj = $(this);
		//	if(iobj.height() > mh-50){
		//		iobj.css("height", mh-50);
		//	}
		//});

		var wh_obj = $("#window-content-surr");

		var sh = function(){
			wh_obj.fadeIn('fast', function(){
				wh_obj.animate({top: Math.floor((wh - wh_obj.height())/2), left: Math.floor((ww - wh_obj.width())/2)}, 500, function(){
					wb.hide().css("visibility", "visible").fadeIn("normal");
				});
			});
		};

		if($.browser.webkit){
			setTimeout(sh, 500);
		} else {
			sh();
		}
		
	});
}

var closeWindow = function(){
	$("#window-content-surr").fadeOut('fast', function(){
		$(".window-header span").html('');
		$(".window-body").html('');

		$("#window-fade").fadeOut('fast');

		var obj = $(this);
		obj.css({ "left":($(window).width()-obj.width())/2+"px", "top": ($(window).height()-obj.height())/2+"px" });
	});

	if(typeof refreshWindowByClose == 'function'){
		refreshWindowByClose();
	}

	return false;
}

var closeWindowImmediate = function(){
	var obj = $("#window-content-surr");
	obj.hide().css({ "left":($(window).width()-obj.width())/2+"px", "top": ($(window).height()-obj.height())/2+"px" });

	$(".window-header span, .window-body").html('');

	return false;
}

var changeValText = function(sClass){
	$(sClass).live("focus", function(){
		var obj = $(this);

		if(obj.attr("title") == obj.val()){
			obj.val("");
		}
	}).live("blur", function(){
		var obj = $(this);

		if("" == obj.val()){
			obj.val(obj.attr("title"));
		}
	}).blur();
}

var refreshRadios = function(){
	$(".radio-surr input").each(function(){
		var obj = $(this);
		var ch = obj.get(0).checked;

		if(ch){
			obj.parent().addClass("radio-surr-active");
		} else {
			obj.parent().removeClass("radio-surr-active");
		}
	});
}

var initChanges = function(){
	$(".select-surr").each(function(){
		var obj = $(this);
		var sel = obj.find("select");

		if(sel.size()){
			var sel_dom = sel.get(0);

			sel.css("opacity", 0);
		
			obj.prepend('<div class="select"><div id="sel-' + (sel.attr("id")) + '">' + (sel_dom.options.length && sel_dom.options.selectedIndex>-1 ? sel_dom.options[sel_dom.options.selectedIndex].text : "&nbsp;") + '</div></div>');
		}
	});

	$(".date-picker").each(function(){
		var obj = $(this);
		var id = obj.attr("id");
		id = id.substring(5, id.length);

		obj.datepick({dateFormat: 'dd/mm/yyyy', showTrigger: '#dimg'+id, rangeSelect: obj.hasClass("date-range")});

		$('#dimg'+id).hide();
	});

	/*$(".radio-surr").each(function(){
		var obj = $(this);
		var sel = obj.find("input");
		var ch = sel.get(0).checked;

		sel.css("opacity", 0);
		if(ch){
			obj.addClass("radio-surr-active");
		}
	});

	$(".check-surr").each(function(){
		var obj = $(this);
		var sel = obj.find("input");
		var ch = sel.get(0).checked;

		sel.css("opacity", 0);
		if(ch){
			obj.addClass("check-surr-active");
		}
	});

	$(".file-surr").each(function(){
		var obj = $(this);
		var sel = obj.find("input");
		var t = sel.attr("title") || "";

		sel.css("opacity", 0);
		obj.prepend('<div class="file"><div id="sel-' + (sel.attr("id")) + '">'+t+'</div></div>');
	});*/
}

var getMousePosition = function(e){
	var poss = { x:0, y:0 };

	if (!e) var e = window.event;
	if (e.pageX || e.pageY){
		poss.x = e.pageX;
		poss.y = e.pageY;
	} else if (e.clientX || e.clientY){
		poss.x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		poss.y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}

	return poss;
}

var removeTooltip = function(){
	$("#tooltip").fadeOut(function(){ $(this).remove(); });
	clearTimeout(curr_tmr);
}




/**
 * 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: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

/* http://keith-wood.name/datepick.html
   Date picker for jQuery v4.0.5.
   Written by Keith Wood (kbwood{at}iinet.com.au) February 2010.
   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 author if you use it. */
(function($){function Datepicker(){this._defaults={pickerClass:'',showOnFocus:true,showTrigger:null,showAnim:'show',showOptions:{},showSpeed:'normal',popupContainer:null,alignment:'bottom',fixedWeeks:false,firstDay:0,calculateWeek:this.iso8601Week,monthsToShow:1,monthsOffset:0,monthsToStep:1,monthsToJump:12,useMouseWheel:true,changeMonth:true,yearRange:'c-10:c+10',shortYearCutoff:'+10',showOtherMonths:false,selectOtherMonths:false,defaultDate:null,selectDefaultDate:false,minDate:null,maxDate:null,dateFormat:'mm/dd/yyyy',autoSize:false,rangeSelect:false,rangeSeparator:' - ',multiSelect:0,multiSeparator:',',onDate:null,onShow:null,onChangeMonthYear:null,onSelect:null,onClose:null,altField:null,altFormat:null,constrainInput:true,commandsAsDateFormat:false,commands:this.commands};this.regional={'':{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'],dayNames:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],dayNamesShort:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],dayNamesMin:['Su','Mo','Tu','We','Th','Fr','Sa'],dateFormat:'mm/dd/yyyy',firstDay:0,renderer:this.defaultRenderer,prevText:'&lt;Prev',prevStatus:'Show the previous month',prevJumpText:'&lt;&lt;',prevJumpStatus:'Show the previous year',nextText:'Next&gt;',nextStatus:'Show the next month',nextJumpText:'&gt;&gt;',nextJumpStatus:'Show the next year',currentText:'Current',currentStatus:'Show the current month',todayText:'Today',todayStatus:'Show today\'s month',clearText:'Clear',clearStatus:'Clear all the dates',closeText:'Close',closeStatus:'Close the datepicker',yearStatus:'Change the year',monthStatus:'Change the month',weekText:'Wk',weekStatus:'Week of the year',dayStatus:'Select DD, M d, yyyy',defaultStatus:'Select a date',isRTL:false}};$.extend(this._defaults,this.regional['']);this._disabled=[]}$.extend(Datepicker.prototype,{dataName:'datepick',markerClass:'hasDatepick',_popupClass:'datepick-popup',_triggerClass:'datepick-trigger',_disableClass:'datepick-disable',_coverClass:'datepick-cover',_monthYearClass:'datepick-month-year',_curMonthClass:'datepick-month-',_anyYearClass:'datepick-any-year',_curDoWClass:'datepick-dow-',commands:{prev:{text:'prevText',status:'prevStatus',keystroke:{keyCode:33},enabled:function(a){var b=a.curMinDate();return(!b||$.datepick.add($.datepick.day($.datepick.add($.datepick.newDate(a.drawDate),1-a.get('monthsToStep')-a.get('monthsOffset'),'m'),1),-1,'d').getTime()>=b.getTime())},date:function(a){return $.datepick.day($.datepick.add($.datepick.newDate(a.drawDate),-a.get('monthsToStep')-a.get('monthsOffset'),'m'),1)},action:function(a){$.datepick.changeMonth(this,-a.get('monthsToStep'))}},prevJump:{text:'prevJumpText',status:'prevJumpStatus',keystroke:{keyCode:33,ctrlKey:true},enabled:function(a){var b=a.curMinDate();return(!b||$.datepick.add($.datepick.day($.datepick.add($.datepick.newDate(a.drawDate),1-a.get('monthsToJump')-a.get('monthsOffset'),'m'),1),-1,'d').getTime()>=b.getTime())},date:function(a){return $.datepick.day($.datepick.add($.datepick.newDate(a.drawDate),-a.get('monthsToJump')-a.get('monthsOffset'),'m'),1)},action:function(a){$.datepick.changeMonth(this,-a.get('monthsToJump'))}},next:{text:'nextText',status:'nextStatus',keystroke:{keyCode:34},enabled:function(a){var b=a.get('maxDate');return(!b||$.datepick.day($.datepick.add($.datepick.newDate(a.drawDate),a.get('monthsToStep')-a.get('monthsOffset'),'m'),1).getTime()<=b.getTime())},date:function(a){return $.datepick.day($.datepick.add($.datepick.newDate(a.drawDate),a.get('monthsToStep')-a.get('monthsOffset'),'m'),1)},action:function(a){$.datepick.changeMonth(this,a.get('monthsToStep'))}},nextJump:{text:'nextJumpText',status:'nextJumpStatus',keystroke:{keyCode:34,ctrlKey:true},enabled:function(a){var b=a.get('maxDate');return(!b||$.datepick.day($.datepick.add($.datepick.newDate(a.drawDate),a.get('monthsToJump')-a.get('monthsOffset'),'m'),1).getTime()<=b.getTime())},date:function(a){return $.datepick.day($.datepick.add($.datepick.newDate(a.drawDate),a.get('monthsToJump')-a.get('monthsOffset'),'m'),1)},action:function(a){$.datepick.changeMonth(this,a.get('monthsToJump'))}},current:{text:'currentText',status:'currentStatus',keystroke:{keyCode:36,ctrlKey:true},enabled:function(a){var b=a.curMinDate();var c=a.get('maxDate');var d=a.selectedDates[0]||$.datepick.today();return(!b||d.getTime()>=b.getTime())&&(!c||d.getTime()<=c.getTime())},date:function(a){return a.selectedDates[0]||$.datepick.today()},action:function(a){var b=a.selectedDates[0]||$.datepick.today();$.datepick.showMonth(this,b.getFullYear(),b.getMonth()+1)}},today:{text:'todayText',status:'todayStatus',keystroke:{keyCode:36,ctrlKey:true},enabled:function(a){var b=a.curMinDate();var c=a.get('maxDate');return(!b||$.datepick.today().getTime()>=b.getTime())&&(!c||$.datepick.today().getTime()<=c.getTime())},date:function(a){return $.datepick.today()},action:function(a){$.datepick.showMonth(this)}},clear:{text:'clearText',status:'clearStatus',keystroke:{keyCode:35,ctrlKey:true},enabled:function(a){return true},date:function(a){return null},action:function(a){$.datepick.clear(this)}},close:{text:'closeText',status:'closeStatus',keystroke:{keyCode:27},enabled:function(a){return true},date:function(a){return null},action:function(a){$.datepick.hide(this)}},prevWeek:{text:'prevWeekText',status:'prevWeekStatus',keystroke:{keyCode:38,ctrlKey:true},enabled:function(a){var b=a.curMinDate();return(!b||$.datepick.add($.datepick.newDate(a.drawDate),-7,'d').getTime()>=b.getTime())},date:function(a){return $.datepick.add($.datepick.newDate(a.drawDate),-7,'d')},action:function(a){$.datepick.changeDay(this,-7)}},prevDay:{text:'prevDayText',status:'prevDayStatus',keystroke:{keyCode:37,ctrlKey:true},enabled:function(a){var b=a.curMinDate();return(!b||$.datepick.add($.datepick.newDate(a.drawDate),-1,'d').getTime()>=b.getTime())},date:function(a){return $.datepick.add($.datepick.newDate(a.drawDate),-1,'d')},action:function(a){$.datepick.changeDay(this,-1)}},nextDay:{text:'nextDayText',status:'nextDayStatus',keystroke:{keyCode:39,ctrlKey:true},enabled:function(a){var b=a.get('maxDate');return(!b||$.datepick.add($.datepick.newDate(a.drawDate),1,'d').getTime()<=b.getTime())},date:function(a){return $.datepick.add($.datepick.newDate(a.drawDate),1,'d')},action:function(a){$.datepick.changeDay(this,1)}},nextWeek:{text:'nextWeekText',status:'nextWeekStatus',keystroke:{keyCode:40,ctrlKey:true},enabled:function(a){var b=a.get('maxDate');return(!b||$.datepick.add($.datepick.newDate(a.drawDate),7,'d').getTime()<=b.getTime())},date:function(a){return $.datepick.add($.datepick.newDate(a.drawDate),7,'d')},action:function(a){$.datepick.changeDay(this,7)}}},defaultRenderer:{picker:'<div class="datepick">'+'<div class="datepick-nav">{link:prev}{link:today}{link:next}</div>{months}'+'{popup:start}<div class="datepick-ctrl">{link:clear}{link:close}</div>{popup:end}'+'<div class="datepick-clear-fix"></div></div>',monthRow:'<div class="datepick-month-row">{months}</div>',month:'<div class="datepick-month"><div class="datepick-month-header">{monthHeader}</div>'+'<table><thead>{weekHeader}</thead><tbody>{weeks}</tbody></table></div>',weekHeader:'<tr>{days}</tr>',dayHeader:'<th>{day}</th>',week:'<tr>{days}</tr>',day:'<td>{day}</td>',monthSelector:'.datepick-month',daySelector:'td',rtlClass:'datepick-rtl',multiClass:'datepick-multi',defaultClass:'',selectedClass:'datepick-selected',highlightedClass:'datepick-highlight',todayClass:'datepick-today',otherMonthClass:'datepick-other-month',weekendClass:'datepick-weekend',commandClass:'datepick-cmd',commandButtonClass:'',commandLinkClass:'',disabledClass:'datepick-disabled'},setDefaults:function(a){$.extend(this._defaults,a||{});return this},_ticksTo1970:(((1970-1)*365+Math.floor(1970/4)-Math.floor(1970/100)+Math.floor(1970/400))*24*60*60*10000000),_msPerDay:24*60*60*1000,ATOM:'yyyy-mm-dd',COOKIE:'D, dd M yyyy',FULL:'DD, MM d, yyyy',ISO_8601:'yyyy-mm-dd',JULIAN:'J',RFC_822:'D, d M yy',RFC_850:'DD, dd-M-yy',RFC_1036:'D, d M yy',RFC_1123:'D, d M yyyy',RFC_2822:'D, d M yyyy',RSS:'D, d M yy',TICKS:'!',TIMESTAMP:'@',W3C:'yyyy-mm-dd',formatDate:function(f,g,h){if(typeof f!='string'){h=g;g=f;f=''}if(!g){return''}f=f||this._defaults.dateFormat;h=h||{};var i=h.dayNamesShort||this._defaults.dayNamesShort;var j=h.dayNames||this._defaults.dayNames;var k=h.monthNamesShort||this._defaults.monthNamesShort;var l=h.monthNames||this._defaults.monthNames;var m=h.calculateWeek||this._defaults.calculateWeek;var n=function(a,b){var c=1;while(s+c<f.length&&f.charAt(s+c)==a){c++}s+=c-1;return Math.floor(c/(b||1))>1};var o=function(a,b,c,d){var e=''+b;if(n(a,d)){while(e.length<c){e='0'+e}}return e};var p=function(a,b,c,d){return(n(a)?d[b]:c[b])};var q='';var r=false;for(var s=0;s<f.length;s++){if(r){if(f.charAt(s)=="'"&&!n("'")){r=false}else{q+=f.charAt(s)}}else{switch(f.charAt(s)){case'd':q+=o('d',g.getDate(),2);break;case'D':q+=p('D',g.getDay(),i,j);break;case'o':q+=o('o',this.dayOfYear(g),3);break;case'w':q+=o('w',m(g),2);break;case'm':q+=o('m',g.getMonth()+1,2);break;case'M':q+=p('M',g.getMonth(),k,l);break;case'y':q+=(n('y',2)?g.getFullYear():(g.getFullYear()%100<10?'0':'')+g.getFullYear()%100);break;case'@':q+=Math.floor(g.getTime()/1000);break;case'!':q+=g.getTime()*10000+this._ticksTo1970;break;case"'":if(n("'")){q+="'"}else{r=true}break;default:q+=f.charAt(s)}}}return q},parseDate:function(f,g,h){if(g==null){throw'Invalid arguments';}g=(typeof g=='object'?g.toString():g+'');if(g==''){return null}f=f||this._defaults.dateFormat;h=h||{};var j=h.shortYearCutoff||this._defaults.shortYearCutoff;j=(typeof j!='string'?j:this.today().getFullYear()%100+parseInt(j,10));var k=h.dayNamesShort||this._defaults.dayNamesShort;var l=h.dayNames||this._defaults.dayNames;var m=h.monthNamesShort||this._defaults.monthNamesShort;var n=h.monthNames||this._defaults.monthNames;var o=-1;var p=-1;var q=-1;var r=-1;var s=false;var t=false;var u=function(a,b){var c=1;while(z+c<f.length&&f.charAt(z+c)==a){c++}z+=c-1;return Math.floor(c/(b||1))>1};var v=function(a,b){u(a,b);var c=[2,3,4,11,20]['oy@!'.indexOf(a)+1];var d=new RegExp('^-?\\d{1,'+c+'}');var e=g.substring(y).match(d);if(!e){throw'Missing number at position {0}'.replace(/\{0\}/,y);}y+=e[0].length;return parseInt(e[0],10);};var w=function(a,b,c,d){var e=(u(a,d)?c:b);for(var i=0;i<e.length;i++){if(g.substr(y,e[i].length)==e[i]){y+=e[i].length;return i+1;}}throw'Unknown name at position {0}'.replace(/\{0\}/,y);};var x=function(){if(g.charAt(y)!=f.charAt(z)){throw'Unexpected literal at position {0}'.replace(/\{0\}/,y);}y++;};var y=0;for(var z=0;z<f.length;z++){if(t){if(f.charAt(z)=="'"&&!u("'")){t=false;}else{x();}}else{switch(f.charAt(z)){case'd':q=v('d');break;case'D':w('D',k,l);break;case'o':r=v('o');break;case'w':v('w');break;case'm':p=v('m');break;case'M':p=w('M',m,n);break;case'y':var A=z;s=!u('y',2);z=A;o=v('y',2);break;case'@':var B=this._normaliseDate(new Date(v('@')*1000));o=B.getFullYear();p=B.getMonth()+1;q=B.getDate();break;case'!':var B=this._normaliseDate(new Date((v('!')-this._ticksTo1970)/10000));o=B.getFullYear();p=B.getMonth()+1;q=B.getDate();break;case'*':y=g.length;break;case"'":if(u("'")){x();}else{t=true;}break;default:x();}}}if(y<g.length){throw'Additional text found at end';}if(o==-1){o=this.today().getFullYear();}else if(o<100&&s){o+=(j==-1?1900:this.today().getFullYear()-this.today().getFullYear()%100-(o<=j?0:100));}if(r>-1){p=1;q=r;for(var C=this.daysInMonth(o,p);q>C;C=this.daysInMonth(o,p)){p++;q-=C;}}var B=this.newDate(o,p,q);if(B.getFullYear()!=o||B.getMonth()+1!=p||B.getDate()!=q){throw'Invalid date';}return B;},determineDate:function(f,g,h,i,j){if(h&&typeof h!='object'){j=i;i=h;h=null;}if(typeof i!='string'){j=i;i='';}var k=function(a){try{return $.datepick.parseDate(i,a,j);}catch(e){}a=a.toLowerCase();var b=(a.match(/^c/)&&h?$.datepick.newDate(h):null)||$.datepick.today();var c=/([+-]?[0-9]+)\s*(d|w|m|y)?/g;var d=c.exec(a);while(d){b=$.datepick.add(b,parseInt(d[1],10),d[2]||'d');d=c.exec(a);}return b;};g=(g?$.datepick.newDate(g):null);f=(f==null?g:(typeof f=='string'?k(f):(typeof f=='number'?(isNaN(f)||f==Infinity||f==-Infinity?g:$.datepick.add($.datepick.today(),f,'d')):$.datepick._normaliseDate(f))));return f;},daysInMonth:function(a,b){b=(a.getFullYear?a.getMonth()+1:b);a=(a.getFullYear?a.getFullYear():a);return this.newDate(a,b+1,0).getDate();},dayOfYear:function(a,b,c){var d=(a.getFullYear?a:this.newDate(a,b,c));var e=this.newDate(d.getFullYear(),1,1);return Math.floor((d.getTime()-e.getTime())/this._msPerDay)+1;},iso8601Week:function(a,b,c){var d=(a.getFullYear?new Date(a.getTime()):this.newDate(a,b,c));d.setDate(d.getDate()+4-(d.getDay()||7));var e=d.getTime();d.setMonth(0,1);return Math.floor(Math.round((e-d)/86400000)/7)+1;},today:function(){return this._normaliseDate(new Date());},newDate:function(a,b,c){return(!a?null:(a.getFullYear?this._normaliseDate(new Date(a.getTime())):new Date(a,b-1,c,12)));},_normaliseDate:function(a){if(a){a.setHours(12,0,0,0);}return a;},year:function(a,b){a.setFullYear(b);return this._normaliseDate(a);},month:function(a,b){a.setMonth(b-1);return this._normaliseDate(a);},day:function(a,b){a.setDate(b);return this._normaliseDate(a);},add:function(a,b,c){if(c=='d'||c=='w'){this._normaliseDate(a);a.setDate(a.getDate()+b*(c=='w'?7:1));}else{var d=a.getFullYear()+(c=='y'?b:0);var e=a.getMonth()+(c=='m'?b:0);a.setTime($.datepick.newDate(d,e+1,Math.min(a.getDate(),this.daysInMonth(d,e+1))).getTime());}return a;},_attachPicker:function(c,d){c=$(c);if(c.hasClass(this.markerClass)){return;}c.addClass(this.markerClass);var e={target:c,selectedDates:[],drawDate:null,pickingRange:false,inline:($.inArray(c[0].nodeName.toLowerCase(),['div','span'])>-1),get:function(a){var b=this.settings[a]!==undefined?this.settings[a]:$.datepick._defaults[a];if($.inArray(a,['defaultDate','minDate','maxDate'])>-1){b=$.datepick.determineDate(b,null,this.selectedDates[0],this.get('dateFormat'),e.getConfig());}return b;},curMinDate:function(){return(this.pickingRange?this.selectedDates[0]:this.get('minDate'));},getConfig:function(){return{dayNamesShort:this.get('dayNamesShort'),dayNames:this.get('dayNames'),monthNamesShort:this.get('monthNamesShort'),monthNames:this.get('monthNames'),calculateWeek:this.get('calculateWeek'),shortYearCutoff:this.get('shortYearCutoff')};}};$.data(c[0],this.dataName,e);var f=($.fn.metadata?c.metadata():{});e.settings=$.extend({},d||{},f||{});if(e.inline){this._update(c[0]);if($.fn.mousewheel){c.mousewheel(this._doMouseWheel);}}else{this._attachments(c,e);c.bind('keydown.'+this.dataName,this._keyDown).bind('keypress.'+this.dataName,this._keyPress).bind('keyup.'+this.dataName,this._keyUp);if(c.attr('disabled')){this.disable(c[0]);}}},options:function(a,b){var c=$.data(a,this.dataName);return(c?(b?(b=='all'?c.settings:c.settings[b]):$.datepick._defaults):{});},option:function(a,b,c){a=$(a);if(!a.hasClass(this.markerClass)){return;}b=b||{};if(typeof b=='string'){var d=b;b={};b[d]=c;}var e=$.data(a[0],this.dataName);var f=e.selectedDates;extendRemove(e.settings,b);this.setDate(a[0],f,null,false,true);e.pickingRange=false;e.drawDate=$.datepick.newDate(this._checkMinMax((b.defaultDate?e.get('defaultDate'):e.drawDate)||e.get('defaultDate')||$.datepick.today(),e));if(!e.inline){this._attachments(a,e);}if(e.inline||e.div){this._update(a[0]);}},_attachments:function(a,b){a.unbind('focus.'+this.dataName);if(b.get('showOnFocus')){a.bind('focus.'+this.dataName,this.show);}if(b.trigger){b.trigger.remove();}var c=b.get('showTrigger');b.trigger=(!c?$([]):$(c).clone().removeAttr('id').addClass(this._triggerClass)[b.get('isRTL')?'insertBefore':'insertAfter'](a).click(function(){if(!$.datepick.isDisabled(a[0])){$.datepick[$.datepick.curInst==b?'hide':'show'](a[0]);}}));this._autoSize(a,b);var d=this._extractDates(b,a.val());if(d){this.setDate(a[0],d,null,true);}if(b.get('selectDefaultDate')&&b.get('defaultDate')&&b.selectedDates.length==0){this.setDate(a[0],$.datepick.newDate(b.get('defaultDate')||$.datepick.today()));}},_autoSize:function(d,e){if(e.get('autoSize')&&!e.inline){var f=$.datepick.newDate(2009,10,20);var g=e.get('dateFormat');if(g.match(/[DM]/)){var h=function(a){var b=0;var c=0;for(var i=0;i<a.length;i++){if(a[i].length>b){b=a[i].length;c=i;}}return c;};f.setMonth(h(e.get(g.match(/MM/)?'monthNames':'monthNamesShort')));f.setDate(h(e.get(g.match(/DD/)?'dayNames':'dayNamesShort'))+20-f.getDay());}e.target.attr('size',$.datepick.formatDate(g,f,e.getConfig()).length);}},destroy:function(a){a=$(a);if(!a.hasClass(this.markerClass)){return;}var b=$.data(a[0],this.dataName);if(b.trigger){b.trigger.remove();}a.removeClass(this.markerClass).empty().unbind('.'+this.dataName);if(b.inline&&$.fn.mousewheel){a.unmousewheel();}if(!b.inline&&b.get('autoSize')){a.removeAttr('size');}$.removeData(a[0],this.dataName);},multipleEvents:function(b){var c=arguments;return function(a){for(var i=0;i<c.length;i++){c[i].apply(this,arguments);}};},enable:function(b){var c=$(b);if(!c.hasClass(this.markerClass)){return;}var d=$.data(b,this.dataName);if(d.inline)c.children('.'+this._disableClass).remove().end().find('button,select').attr('disabled','').end().find('a').attr('href','javascript:void(0)');else{b.disabled=false;d.trigger.filter('button.'+this._triggerClass).attr('disabled','').end().filter('img.'+this._triggerClass).css({opacity:'1.0',cursor:''});}this._disabled=$.map(this._disabled,function(a){return(a==b?null:a);});},disable:function(b){var c=$(b);if(!c.hasClass(this.markerClass))return;var d=$.data(b,this.dataName);if(d.inline){var e=c.children(':last');var f=e.offset();var g={left:0,top:0};e.parents().each(function(){if($(this).css('position')=='relative'){g=$(this).offset();return false;}});var h=c.css('zIndex');h=(h=='auto'?0:parseInt(h,10))+1;c.prepend('<div class="'+this._disableClass+'" style="'+'width: '+e.outerWidth()+'px; height: '+e.outerHeight()+'px; left: '+(f.left-g.left)+'px; top: '+(f.top-g.top)+'px; z-index: '+h+'"></div>').find('button,select').attr('disabled','disabled').end().find('a').removeAttr('href');}else{b.disabled=true;d.trigger.filter('button.'+this._triggerClass).attr('disabled','disabled').end().filter('img.'+this._triggerClass).css({opacity:'0.5',cursor:'default'});}this._disabled=$.map(this._disabled,function(a){return(a==b?null:a);});this._disabled.push(b);},isDisabled:function(a){return(a&&$.inArray(a,this._disabled)>-1);},show:function(b){b=b.target||b;var c=$.data(b,$.datepick.dataName);if($.datepick.curInst==c){return;}if($.datepick.curInst){$.datepick.hide($.datepick.curInst,true);}if(c){c.lastVal=null;c.selectedDates=$.datepick._extractDates(c,$(b).val());c.pickingRange=false;c.drawDate=$.datepick._checkMinMax($.datepick.newDate(c.selectedDates[0]||c.get('defaultDate')||$.datepick.today()),c);c.prevDate=$.datepick.newDate(c.drawDate);$.datepick.curInst=c;$.datepick._update(b,true);var d=$.datepick._checkOffset(c);c.div.css({left:d.left,top:d.top});var e=c.get('showAnim');var f=c.get('showSpeed');f=(f=='normal'&&$.ui&&$.ui.version>='1.8'?'_default':f);var g=function(){var a=$.datepick._getBorders(c.div);c.div.find('.'+$.datepick._coverClass).css({left:-a[0],top:-a[1],width:c.div.outerWidth()+a[0],height:c.div.outerHeight()+a[1]});};if($.effects&&$.effects[e]){var h=c.div.data();for(var i in h){if(i.match(/^ec\.storage\./)){h[i]=c._mainDiv.css(i.replace(/ec\.storage\./,''));}}c.div.data(h).show(e,c.get('showOptions'),f,g);}else{c.div[e||'show']((e?f:''),g);}if(!e){g();}}},_extractDates:function(a,b){if(b==a.lastVal){return;}a.lastVal=b;var c=a.get('dateFormat');var d=a.get('multiSelect');var f=a.get('rangeSelect');b=b.split(d?a.get('multiSeparator'):(f?a.get('rangeSeparator'):'\x00'));var g=[];for(var i=0;i<b.length;i++){try{var h=$.datepick.parseDate(c,b[i],a.getConfig());if(h){var k=false;for(var j=0;j<g.length;j++){if(g[j].getTime()==h.getTime()){k=true;break;}}if(!k){g.push(h);}}}catch(e){}}g.splice(d||(f?2:1),g.length);if(f&&g.length==1){g[1]=g[0];}return g;},_update:function(a,b){a=$(a.target||a);var c=$.data(a[0],$.datepick.dataName);if(c){if(c.inline||$.datepick.curInst==c){var d=c.get('onChangeMonthYear');if(d&&(!c.prevDate||c.prevDate.getFullYear()!=c.drawDate.getFullYear()||c.prevDate.getMonth()!=c.drawDate.getMonth())){d.apply(a[0],[c.drawDate.getFullYear(),c.drawDate.getMonth()+1]);}}if(c.inline){a.html(this._generateContent(a[0],c));}else if($.datepick.curInst==c){if(!c.div){c.div=$('<div></div>').addClass(this._popupClass).css({display:(b?'none':'static'),position:'absolute',left:a.offset().left,top:a.offset().top+a.outerHeight()}).appendTo($(c.get('popupContainer')||'body'));if($.fn.mousewheel){c.div.mousewheel(this._doMouseWheel);}}c.div.html(this._generateContent(a[0],c));a.focus();}}},_updateInput:function(a,b){var c=$.data(a,this.dataName);if(c){var d='';var e='';var f=(c.get('multiSelect')?c.get('multiSeparator'):c.get('rangeSeparator'));var g=c.get('dateFormat');var h=c.get('altFormat')||g;for(var i=0;i<c.selectedDates.length;i++){d+=(b?'':(i>0?f:'')+$.datepick.formatDate(g,c.selectedDates[i],c.getConfig()));e+=(i>0?f:'')+$.datepick.formatDate(h,c.selectedDates[i],c.getConfig());}if(!c.inline&&!b){$(a).val(d);}$(c.get('altField')).val(e);var j=c.get('onSelect');if(j&&!b&&!c.inSelect){c.inSelect=true;j.apply(a,[c.selectedDates]);c.inSelect=false;}}},_getBorders:function(c){var d=function(a){var b=($.browser.msie?1:0);return{thin:1+b,medium:3+b,thick:5+b}[a]||a;};return[parseFloat(d(c.css('border-left-width'))),parseFloat(d(c.css('border-top-width')))];},_checkOffset:function(a){var b=(a.target.is(':hidden')&&a.trigger?a.trigger:a.target);var c=b.offset();var d=false;$(a.target).parents().each(function(){d|=$(this).css('position')=='fixed';return!d;});if(d&&$.browser.opera){c.left-=document.documentElement.scrollLeft;c.top-=document.documentElement.scrollTop;}var e=(!$.browser.mozilla||document.doctype?document.documentElement.clientWidth:0)||document.body.clientWidth;var f=(!$.browser.mozilla||document.doctype?document.documentElement.clientHeight:0)||document.body.clientHeight;if(e==0){return c;}var g=a.get('alignment');var h=a.get('isRTL');var i=document.documentElement.scrollLeft||document.body.scrollLeft;var j=document.documentElement.scrollTop||document.body.scrollTop;var k=c.top-a.div.outerHeight()-(d&&$.browser.opera?document.documentElement.scrollTop:0);var l=c.top+b.outerHeight();var m=c.left;var n=c.left+b.outerWidth()-a.div.outerWidth()-(d&&$.browser.opera?document.documentElement.scrollLeft:0);var o=(c.left+a.div.outerWidth()-i)>e;var p=(c.top+a.target.outerHeight()+a.div.outerHeight()-j)>f;if(g=='topLeft'){c={left:m,top:k};}else if(g=='topRight'){c={left:n,top:k};}else if(g=='bottomLeft'){c={left:m,top:l};}else if(g=='bottomRight'){c={left:n,top:l};}else if(g=='top'){c={left:(h||o?n:m),top:k};}else{c={left:(h||o?n:m),top:(p?k:l)};}c.left=Math.max((d?0:i),c.left-(d?i:0));c.top=Math.max((d?0:j),c.top-(d?j:0));return c;},_checkExternalClick:function(a){if(!$.datepick.curInst){return;}var b=$(a.target);if(!b.parents().andSelf().hasClass($.datepick._popupClass)&&!b.hasClass($.datepick.markerClass)&&!b.parents().andSelf().hasClass($.datepick._triggerClass)){$.datepick.hide($.datepick.curInst);}},hide:function(b,c){var d=$.data(b,this.dataName)||b;if(d&&d==$.datepick.curInst){var e=(c?'':d.get('showAnim'));var f=d.get('showSpeed');f=(f=='normal'&&$.ui&&$.ui.version>='1.8'?'_default':f);var g=function(){d.div.remove();d.div=null;$.datepick.curInst=null;var a=d.get('onClose');if(a){a.apply(b,[d.selectedDates]);}};d.div.stop();if($.effects&&$.effects[e]){d.div.hide(e,d.get('showOptions'),f,g);}else{var h=(e=='slideDown'?'slideUp':(e=='fadeIn'?'fadeOut':'hide'));d.div[h]((e?f:''),g);}if(!e){g();}}},_keyDown:function(a){var b=a.target;var c=$.data(b,$.datepick.dataName);var d=false;if(c.div){if(a.keyCode==9){$.datepick.hide(b);}else if(a.keyCode==13){$.datepick.selectDate(b,$('a.'+c.get('renderer').highlightedClass,c.div)[0]);d=true;}else{var e=c.get('commands');for(var f in e){var g=e[f];if(g.keystroke.keyCode==a.keyCode&&!!g.keystroke.ctrlKey==!!(a.ctrlKey||a.metaKey)&&!!g.keystroke.altKey==a.altKey&&!!g.keystroke.shiftKey==a.shiftKey){$.datepick.performAction(b,f);d=true;break;}}}}else{var g=c.get('commands').current;if(g.keystroke.keyCode==a.keyCode&&!!g.keystroke.ctrlKey==!!(a.ctrlKey||a.metaKey)&&!!g.keystroke.altKey==a.altKey&&!!g.keystroke.shiftKey==a.shiftKey){$.datepick.show(b);d=true;}}c.ctrlKey=((a.keyCode<48&&a.keyCode!=32)||a.ctrlKey||a.metaKey);if(d){a.preventDefault();a.stopPropagation();}return!d;},_keyPress:function(a){var b=a.target;var c=$.data(b,$.datepick.dataName);if(c&&c.get('constrainInput')){var d=String.fromCharCode(a.keyCode||a.charCode);var e=$.datepick._allowedChars(c);return(a.metaKey||c.ctrlKey||d<' '||!e||e.indexOf(d)>-1);}return true;},_allowedChars:function(a){var b=a.get('dateFormat');var c=(a.get('multiSelect')?a.get('multiSeparator'):(a.get('rangeSelect')?a.get('rangeSeparator'):''));var d=false;var e=false;for(var i=0;i<b.length;i++){var f=b.charAt(i);if(d){if(f=="'"&&b.charAt(i+1)!="'"){d=false;}else{c+=f;}}else{switch(f){case'd':case'm':case'o':case'w':c+=(e?'':'0123456789');e=true;break;case'y':case'@':case'!':c+=(e?'':'0123456789')+'-';e=true;break;case'J':c+=(e?'':'0123456789')+'-.';e=true;break;case'D':case'M':case'Y':return null;case"'":if(b.charAt(i+1)=="'"){c+="'";}else{d=true;}break;default:c+=f;}}}return c;},_keyUp:function(a){var b=a.target;var c=$.data(b,$.datepick.dataName);if(c&&!c.ctrlKey&&c.lastVal!=c.target.val()){try{var d=$.datepick._extractDates(c,c.target.val());if(d.length>0){$.datepick.setDate(b,d,null,true);}}catch(a){}}return true;},_doMouseWheel:function(a,b){var c=($.datepick.curInst&&$.datepick.curInst.target[0])||$(a.target).closest('.'+$.datepick.markerClass)[0];if($.datepick.isDisabled(c)){return;}var d=$.data(c,$.datepick.dataName);if(d.get('useMouseWheel')){b=($.browser.opera?-b:b);b=(b<0?-1:+1);$.datepick.changeMonth(c,-d.get(a.ctrlKey?'monthsToJump':'monthsToStep')*b);}a.preventDefault();},clear:function(a){var b=$.data(a,this.dataName);if(b){b.selectedDates=[];this.hide(a);if(b.get('selectDefaultDate')&&b.get('defaultDate')){this.setDate(a,$.datepick.newDate(b.get('defaultDate')||$.datepick.today()));}else{this._updateInput(a);}}},getDate:function(a){var b=$.data(a,this.dataName);return(b?b.selectedDates:[]);},setDate:function(a,b,c,d,e){var f=$.data(a,this.dataName);if(f){if(!$.isArray(b)){b=[b];if(c){b.push(c);}}var g=f.get('dateFormat');var h=f.get('minDate');var k=f.get('maxDate');var l=f.selectedDates[0];f.selectedDates=[];for(var i=0;i<b.length;i++){var m=$.datepick.determineDate(b[i],null,l,g,f.getConfig());if(m){if((!h||m.getTime()>=h.getTime())&&(!k||m.getTime()<=k.getTime())){var n=false;for(var j=0;j<f.selectedDates.length;j++){if(f.selectedDates[j].getTime()==m.getTime()){n=true;break;}}if(!n){f.selectedDates.push(m);}}}}var o=f.get('rangeSelect');f.selectedDates.splice(f.get('multiSelect')||(o?2:1),f.selectedDates.length);if(o){switch(f.selectedDates.length){case 1:f.selectedDates[1]=f.selectedDates[0];break;case 2:f.selectedDates[1]=(f.selectedDates[0].getTime()>f.selectedDates[1].getTime()?f.selectedDates[0]:f.selectedDates[1]);break;}f.pickingRange=false;}f.prevDate=(f.drawDate?$.datepick.newDate(f.drawDate):null);f.drawDate=this._checkMinMax($.datepick.newDate(f.selectedDates[0]||f.get('defaultDate')||$.datepick.today()),f);if(!e){this._update(a);this._updateInput(a,d);}}},isSelectable:function(a,b){var c=$.data(a,this.dataName);if(!c){return false;}b=$.datepick.determineDate(b,c.selectedDates[0]||this.today(),null,c.get('dateFormat'),c.getConfig());return this._isSelectable(a,b,c.get('onDate'),c.get('minDate'),c.get('maxDate'));},_isSelectable:function(a,b,c,d,e){var f=(typeof c=='boolean'?{selectable:c}:(!c?{}:c.apply(a,[b,true])));return(f.selectable!=false)&&(!d||b.getTime()>=d.getTime())&&(!e||b.getTime()<=e.getTime());},performAction:function(a,b){var c=$.data(a,this.dataName);if(c&&!this.isDisabled(a)){var d=c.get('commands');if(d[b]&&d[b].enabled.apply(a,[c])){d[b].action.apply(a,[c]);}}},showMonth:function(a,b,c,d){var e=$.data(a,this.dataName);if(e&&(d!=null||(e.drawDate.getFullYear()!=b||e.drawDate.getMonth()+1!=c))){e.prevDate=$.datepick.newDate(e.drawDate);var f=this._checkMinMax((b!=null?$.datepick.newDate(b,c,1):$.datepick.today()),e);e.drawDate=$.datepick.newDate(f.getFullYear(),f.getMonth()+1,(d!=null?d:Math.min(e.drawDate.getDate(),$.datepick.daysInMonth(f.getFullYear(),f.getMonth()+1))));this._update(a);}},changeMonth:function(a,b){var c=$.data(a,this.dataName);if(c){var d=$.datepick.add($.datepick.newDate(c.drawDate),b,'m');this.showMonth(a,d.getFullYear(),d.getMonth()+1);}},changeDay:function(a,b){var c=$.data(a,this.dataName);if(c){var d=$.datepick.add($.datepick.newDate(c.drawDate),b,'d');this.showMonth(a,d.getFullYear(),d.getMonth()+1,d.getDate());}},_checkMinMax:function(a,b){var c=b.get('minDate');var d=b.get('maxDate');a=(c&&a.getTime()<c.getTime()?$.datepick.newDate(c):a);a=(d&&a.getTime()>d.getTime()?$.datepick.newDate(d):a);return a;},retrieveDate:function(a,b){var c=$.data(a,this.dataName);return(!c?null:this._normaliseDate(new Date(parseInt(b.className.replace(/^.*dp(-?\d+).*$/,'$1'),10))));},selectDate:function(a,b){var c=$.data(a,this.dataName);if(c&&!this.isDisabled(a)){var d=this.retrieveDate(a,b);var e=c.get('multiSelect');var f=c.get('rangeSelect');if(e){var g=false;for(var i=0;i<c.selectedDates.length;i++){if(d.getTime()==c.selectedDates[i].getTime()){c.selectedDates.splice(i,1);g=true;break;}}if(!g&&c.selectedDates.length<e){c.selectedDates.push(d);}}else if(f){if(c.pickingRange){c.selectedDates[1]=d;}else{c.selectedDates=[d,d];}c.pickingRange=!c.pickingRange;}else{c.selectedDates=[d];}c.prevDate=$.datepick.newDate(d);this._updateInput(a);if(c.inline||c.pickingRange||c.selectedDates.length<(e||(f?2:1))){this._update(a);}else{this.hide(a);}}},_generateContent:function(h,i){var j=i.get('renderer');var k=i.get('monthsToShow');k=($.isArray(k)?k:[1,k]);i.drawDate=this._checkMinMax(i.drawDate||i.get('defaultDate')||$.datepick.today(),i);var l=$.datepick.add($.datepick.newDate(i.drawDate),-i.get('monthsOffset'),'m');var m='';for(var n=0;n<k[0];n++){var o='';for(var p=0;p<k[1];p++){o+=this._generateMonth(h,i,l.getFullYear(),l.getMonth()+1,j,(n==0&&p==0));$.datepick.add(l,1,'m');}m+=this._prepare(j.monthRow,i).replace(/\{months\}/,o);}var q=this._prepare(j.picker,i).replace(/\{months\}/,m).replace(/\{weekHeader\}/g,this._generateDayHeaders(i,j))+($.browser.msie&&parseInt($.browser.version,10)<7&&!i.inline?'<iframe src="javascript:void(0);" class="'+this._coverClass+'"></iframe>':'');var r=i.get('commands');var s=i.get('commandsAsDateFormat');var t=function(a,b,c,d,e){if(q.indexOf('{'+a+':'+d+'}')==-1){return;}var f=r[d];var g=(s?f.date.apply(h,[i]):null);q=q.replace(new RegExp('\\{'+a+':'+d+'\\}','g'),'<'+b+(f.status?' title="'+i.get(f.status)+'"':'')+' class="'+j.commandClass+' '+j.commandClass+'-'+d+' '+e+(f.enabled(i)?'':' '+j.disabledClass)+'">'+(g?$.datepick.formatDate(i.get(f.text),g,i.getConfig()):i.get(f.text))+'</'+c+'>');};for(var u in r){t('button','button type="button"','button',u,j.commandButtonClass);t('link','a href="javascript:void(0)"','a',u,j.commandLinkClass);}q=$(q);if(k[1]>1){var v=0;$(j.monthSelector,q).each(function(){var a=++v%k[1];$(this).addClass(a==1?'first':(a==0?'last':''));});}var w=this;q.find(j.daySelector+' a').hover(function(){$(this).addClass(j.highlightedClass);},function(){(i.inline?$(this).parents('.'+w.markerClass):i.div).find(j.daySelector+' a').removeClass(j.highlightedClass);}).click(function(){w.selectDate(h,this);}).end().find('select.'+this._monthYearClass+':not(.'+this._anyYearClass+')').change(function(){var a=$(this).val().split('/');w.showMonth(h,parseInt(a[1],10),parseInt(a[0],10));}).end().find('select.'+this._anyYearClass).click(function(){$(this).css('visibility','hidden').next('input').css({left:this.offsetLeft,top:this.offsetTop,width:this.offsetWidth,height:this.offsetHeight}).show().focus();}).end().find('input.'+w._monthYearClass).change(function(){try{var a=parseInt($(this).val(),10);a=(isNaN(a)?i.drawDate.getFullYear():a);w.showMonth(h,a,i.drawDate.getMonth()+1,i.drawDate.getDate());}catch(e){alert(e);}}).keydown(function(a){if(a.keyCode==13){$(a.target).change();}else if(a.keyCode==27){$(a.target).hide().prev('select').css('visibility','visible');i.target.focus();}});q.find('.'+j.commandClass).click(function(){if(!$(this).hasClass(j.disabledClass)){var a=this.className.replace(new RegExp('^.*'+j.commandClass+'-([^ ]+).*$'),'$1');$.datepick.performAction(h,a);}});if(i.get('isRTL')){q.addClass(j.rtlClass);}if(k[0]*k[1]>1){q.addClass(j.multiClass);}var x=i.get('pickerClass');if(x){q.addClass(x);}$('body').append(q);var y=0;q.find(j.monthSelector).each(function(){y+=$(this).outerWidth();});q.width(y/k[0]);var z=i.get('onShow');if(z){z.apply(h,[q,i]);}return q;},_generateMonth:function(a,b,c,d,e,f){var g=$.datepick.daysInMonth(c,d);var h=b.get('monthsToShow');h=($.isArray(h)?h:[1,h]);var j=b.get('fixedWeeks')||(h[0]*h[1]>1);var k=b.get('firstDay');var l=($.datepick.newDate(c,d,1).getDay()-k+7)%7;var m=(j?6:Math.ceil((l+g)/7));var n=b.get('showOtherMonths');var o=b.get('selectOtherMonths')&&n;var p=b.get('dayStatus');var q=(b.pickingRange?b.selectedDates[0]:b.get('minDate'));var r=b.get('maxDate');var s=b.get('rangeSelect');var t=b.get('onDate');var u=e.week.indexOf('{weekOfYear}')>-1;var v=b.get('calculateWeek');var w=$.datepick.today();var x=$.datepick.newDate(c,d,1);$.datepick.add(x,-l-(j&&(x.getDay()==k)?7:0),'d');var y=x.getTime();var z='';for(var A=0;A<m;A++){var B=(!u?'':'<span class="dp'+y+'">'+(v?v(x):0)+'</span>');var C='';for(var D=0;D<7;D++){var E=false;if(s&&b.selectedDates.length>0){E=(x.getTime()>=b.selectedDates[0]&&x.getTime()<=b.selectedDates[1]);}else{for(var i=0;i<b.selectedDates.length;i++){if(b.selectedDates[i].getTime()==x.getTime()){E=true;break;}}}var F=(!t?{}:t.apply(a,[x,x.getMonth()+1==d]));var G=(o||x.getMonth()+1==d)&&this._isSelectable(a,x,F.selectable,q,r);C+=this._prepare(e.day,b).replace(/\{day\}/g,(G?'<a href="javascript:void(0)"':'<span')+' class="dp'+y+' '+(F.dateClass||'')+(E&&(o||x.getMonth()+1==d)?' '+e.selectedClass:'')+(G?' '+e.defaultClass:'')+((x.getDay()||7)<6?'':' '+e.weekendClass)+(x.getMonth()+1==d?'':' '+e.otherMonthClass)+(x.getTime()==w.getTime()&&(x.getMonth()+1)==d?' '+e.todayClass:'')+(x.getTime()==b.drawDate.getTime()&&(x.getMonth()+1)==d?' '+e.highlightedClass:'')+'"'+(F.title||(p&&G)?' title="'+(F.title||$.datepick.formatDate(p,x,b.getConfig()))+'"':'')+'>'+(n||(x.getMonth()+1)==d?F.content||x.getDate():'&nbsp;')+(G?'</a>':'</span>'));$.datepick.add(x,1,'d');y=x.getTime();}z+=this._prepare(e.week,b).replace(/\{days\}/g,C).replace(/\{weekOfYear\}/g,B);}var H=this._prepare(e.month,b).match(/\{monthHeader(:[^\}]+)?\}/);H=(H[0].length<=13?'MM yyyy':H[0].substring(13,H[0].length-1));H=(f?this._generateMonthSelection(b,c,d,q,r,H,e):$.datepick.formatDate(H,$.datepick.newDate(c,d,1),b.getConfig()));var I=this._prepare(e.weekHeader,b).replace(/\{days\}/g,this._generateDayHeaders(b,e));return this._prepare(e.month,b).replace(/\{monthHeader(:[^\}]+)?\}/g,H).replace(/\{weekHeader\}/g,I).replace(/\{weeks\}/g,z);},_generateDayHeaders:function(a,b){var c=a.get('firstDay');var d=a.get('dayNames');var e=a.get('dayNamesMin');var f='';for(var g=0;g<7;g++){var h=(g+c)%7;f+=this._prepare(b.dayHeader,a).replace(/\{day\}/g,'<span class="'+this._curDoWClass+h+'" title="'+d[h]+'">'+e[h]+'</span>');}return f;},_generateMonthSelection:function(a,b,c,d,e,f){if(!a.get('changeMonth')){return $.datepick.formatDate(f,$.datepick.newDate(b,c,1),a.getConfig());}var g=a.get('monthNames'+(f.match(/mm/i)?'':'Short'));var h=f.replace(/m+/i,'\\x2E').replace(/y+/i,'\\x2F');var i='<select class="'+this._monthYearClass+'" title="'+a.get('monthStatus')+'">';for(var m=1;m<=12;m++){if((!d||$.datepick.newDate(b,m,$.datepick.daysInMonth(b,m)).getTime()>=d.getTime())&&(!e||$.datepick.newDate(b,m,1).getTime()<=e.getTime())){i+='<option value="'+m+'/'+b+'"'+(c==m?' selected="selected"':'')+'>'+g[m-1]+'</option>';}}i+='</select>';h=h.replace(/\\x2E/,i);var j=a.get('yearRange');if(j=='any'){i='<select class="'+this._monthYearClass+' '+this._anyYearClass+'" title="'+a.get('yearStatus')+'">'+'<option>'+b+'</option></select>'+'<input class="'+this._monthYearClass+' '+this._curMonthClass+c+'" value="'+b+'">';}else{j=j.split(':');var k=$.datepick.today().getFullYear();var l=(j[0].match('c[+-].*')?b+parseInt(j[0].substring(1),10):((j[0].match('[+-].*')?k:0)+parseInt(j[0],10)));var n=(j[1].match('c[+-].*')?b+parseInt(j[1].substring(1),10):((j[1].match('[+-].*')?k:0)+parseInt(j[1],10)));i='<select class="'+this._monthYearClass+'" title="'+a.get('yearStatus')+'">';l=$.datepick.add($.datepick.newDate(l+1,1,1),-1,'d');n=$.datepick.newDate(n,1,1);var o=function(y){if(y!=0){i+='<option value="'+c+'/'+y+'"'+(b==y?' selected="selected"':'')+'>'+y+'</option>';}};if(l.getTime()<n.getTime()){l=(d&&d.getTime()>l.getTime()?d:l).getFullYear();n=(e&&e.getTime()<n.getTime()?e:n).getFullYear();for(var y=l;y<=n;y++){o(y);}}else{l=(e&&e.getTime()<l.getTime()?e:l).getFullYear();n=(d&&d.getTime()>n.getTime()?d:n).getFullYear();for(var y=l;y>=n;y--){o(y);}}i+='</select>';}h=h.replace(/\\x2F/,i);return h;},_prepare:function(e,f){var g=function(a,b){while(true){var c=e.indexOf('{'+a+':start}');if(c==-1){return;}var d=e.substring(c).indexOf('{'+a+':end}');if(d>-1){e=e.substring(0,c)+(b?e.substr(c+a.length+8,d-a.length-8):'')+e.substring(c+d+a.length+6);}}};g('inline',f.inline);g('popup',!f.inline);var h=/\{l10n:([^\}]+)\}/;var i=null;while(i=h.exec(e)){e=e.replace(i[0],f.get(i[1]));}return e;}});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;};$.fn.datepick=function(a){var b=Array.prototype.slice.call(arguments,1);if($.inArray(a,['getDate','isDisabled','isSelectable','options','retrieveDate'])>-1){return $.datepick[a].apply($.datepick,[this[0]].concat(b));}return this.each(function(){if(typeof a=='string'){$.datepick[a].apply($.datepick,[this].concat(b))}else{$.datepick._attachPicker(this,a||{})}})};$.datepick=new Datepicker();$(function(){$(document).mousedown($.datepick._checkExternalClick).resize(function(){$.datepick.hide($.datepick.curInst)})})})(jQuery);
