$(function(){
	var datesXML;
	var displayMonths = 3;
	
	var $datePicker = $('#datePicker').html('Loading Calendar...');
	
	var urlvars = getUrlVars();
	$.ajax({
			type: 'GET'
		   ,cache: false
		   ,url: '/base/Commerce/GetProgramDates/'+ displayMonths +'.aspx'
		   ,dataType: 'xml'
		   ,success: function(xml) { 
		   		datesXML = xml;
				var maxDate = $(datesXML).find('date:last').attr('value').toString();
				var defaultDate = (urlvars["date"]) ? new Date(unescape(urlvars["date"])) : new Date();
				$datePicker.html('').datepicker({
					 dateFormat: 'm/dd/yy'
					,minDate: 0
					,maxDate: new Date(maxDate)
					,defaultDate: defaultDate
					,beforeShowDay: function(date) {
						var dateString = (date.getMonth()+1) +'/'+ date.getDate() +'/'+ date.getFullYear();
						if ($(datesXML).find('date[value='+ dateString +']').length > 0) {
							return [true, 'hasEvents', ''];
						}
						else { return [false, '']; }
					}
					,onSelect: function(dateText, inst) { window.location = '?search=true&date='+ dateText; }
				}).datepicker('show');
			} /* End AJAX */
	});
	

	$('form#mainForm').validate({
		 errorLabelContainer: "#msgBox"
		,wrapper: "div"
		,errorClass: "invalid"
		,focusInvalid: false
		,onfocusout: false
		,onkeyup: false
		,focusCleanup: false
		,invalidHandler: function(form, validator) {
		  var errors = validator.numberOfInvalids();
		  if (errors) { $("#msgBox").addClass('error').show(); } 
		  else { $("#msgBox").removeClass('error').hide(); }
		 }
		,debug:false
	});
	
	$('table.paginate').paginate({ rowsPerPage: 10, prevText:'&lt; Prev', nextText:'Next &gt;', showAll:true});

});

