/**
 * @author randy
 * 
 */
$(document).ready(function()
	{
	jQuery.validator.addMethod("minDate", function(value, element, params)
		{
		var d1 = new Date(value);
		var d2 = new Date(params);
    	return this.optional(element) || d2 <= d1; 
		}, "Date entered is too early"); 	
		
	jQuery.validator.addMethod("maxDate", function(value, element, params)
		{
		var d1 = new Date(value);
		var d2 = new Date(params);
    	return this.optional(element) || d2 >= d1; 
		}, "Date entered is too late");
		
	jQuery.validator.addMethod("geDate", function(value, element, params)
		{
		var d1 = new Date(value);
		var d2 = new Date($(params).val());
    	return this.optional(element) || d2 <= d1; 
		}, "Date is too early");  
		
		
	$('#freeAnnouncement select').HSASelector({ajaxCall: 		'/freeAnnouncement/schoolsLookUpAJXFA.php',
	 														 cascadeClass: 'selectorSignUp'
															});
	
	$('#freeAnnouncement').HSATabControl();
	
	var s = Date.today();
	var e = Date.today().add({ years: 10 });
	$('#freeAnnouncement').validate(
		{
		errorClass: "ferror",
		errorElement: "p",
		rules:		{	schoolfa: 	{ required: true },
							year: 		{ required: true, digits: true, minlength: 4, maxlength: 4,
											  min: s.getFullYear()-75, 
											  max: s.getFullYear()+1 },
							startdate:	{ required: true, 
											  date:  	true, 
											  minDate: 	s.toString('M/dd/yyyy'),
											  maxDate:	e.toString('M/dd/yyyy') },
							stopdate:	{ required: true, 
											  date:  	true,
											  minDate:  s.toString('M/dd/yyyy'),
											  maxDate:  e.toString('M/dd/yyyy'),
											  geDate:	'#startdate' },
							email: 		{ required: true, email: true },
							vemail:	 	{ required: true, email: true, equalTo: "#email"},
							epassword: 	{ required: true, minlength:6, maxlength:20 },
							vepassword:	{ required: true, minlength:6, maxlength:20, equalTo: "#epassword"},
							termsofuse: "required" } ,
		messages:	{  schoolfa:	{ required: 	'A school needs to be selected' },
							startdate:	{ minDate:  	'You must enter a date greater than ' + s.toString('M/dd/yyyy'),
											  maxDate:  	'You must enter a date less than ' + e.toString('M/dd/yyyy') },
							stopdate:	{ minDate:  	'You must enter a date greater than ' + s.toString('M/dd/yyyy'),
											  maxDate:  	'You must enter a date less than ' + e.toString('M/dd/yyyy'),
											  geDate: 		'Endding date must be greater than or equal to beginning date ' },
							termsofuse: { required: 	'You must check the above box acknowledging the ' +
																'<a href="#" style="text-decoration: underline; color: #FF0000;" ' +
																'onclick="popupLegal(\'/FreeAnnouncement/termsAndConditions.html\');">terms and conditions</a>'} }
		});	
		
	$('#startdate').datepicker({ changeMonth: 		true,
										  changeYear: 			true,
										  maxDate:				'+10y',
										  minDate:				'+0d',
										  yearRange:			'+0;+10',
										  altField:				'#stopdate',
										  altFormat:			'mm/dd/yy'
									   });
										
	$('#stopdate').datepicker({ changeMonth: 		true,
									    changeYear: 		true,
										 maxDate:			'+10y',
										 minDate:			'+0d',
										 yearRange:			'+0;+10'
									  });
									  
				  
	$('.faPopUpHelp').livequery(function()
		{		
		$(this).tooltip(
			{
			delay:	0,
			showURL:	false,
			showBody: ' - '
			});
		});		
			
	$('.faButtons button').livequery(function()
		{		
		$(this).tooltip(
			{
			delay:	500,
			showURL:	false,
			showBody: ' - '
			});
		});

	});
	


