window.addEvent('domready', function() {

	
// ###################################################################################################################################################
// class registration form
// ###################################################################################################################################################
	if ($('frm_class')) {
		if ($('hid_total_fee').value != '') { total_fee = $('hid_total_fee').value; } else { total_fee = 0; }
		var discount;
		discount = 0;
		$('participants_age_details').slide('hide');
		$('discount').setStyle('opacity','0');
		
		$('frm_class').addEvent('submit', function(e) {
			$('btn_submit').disabled = 1;
			$('btn_submit').set('value', 'Processing...');
		});
		
		if (total_fee == 0) { $('cc_container').slide('hide'); $('btn_submit').value = "SUBMIT Registration"; } else { $('btn_submit').value = "SUBMIT Registration & Charge My Card"; }	
	}
	
	// looping through age and adding click event.
	$$('input[id^=rbl_age]').each(function(el) {
		if (el.value == 'Under 18' && el.checked) {	 $('participants_age_details').slide('show'); }
		if (el.value == '60+ (10% discount applies)' && el.checked) { discount = .1; $('discount').setStyle('opacity','1'); }

		el.addEvent('click', function() {
			if (el.value == 'Under 18') {
				$('participants_age_details').slide('in');
			} else {
				$('participants_age_details').slide('out');
				$('txt_age').value = '';
				$('txt_legal_guardian').value = '';
			}
			
			if (el.value == '60+ (10% discount applies)') {
				discount = .1;
				$('txt_total_fee').value = (total_fee - (total_fee * discount)).toFixed(2);
				$('txt_discount').value = (total_fee * discount).toFixed(2);
				$('discount').setStyle('opacity','1');
			} else {
				discount = 0;
				$('txt_total_fee').value = total_fee;
				$('txt_discount').value = '';
				$('discount').setStyle('opacity','0');
			}
		});
	});

    // adds date picker calendar to any input textbox that has a class of show_calendar.
	$$('.show_calendar').each(function(el) { new Calendar(eval('({'+el.id+':"m/d/Y"})'), { direction:.5, clear:true, navigation:1 }); });
	
	// adding keyup event to every txt_fee textbox
	$$('input[id^=txt_fee_]').each(function(el) {
		el.addEvent('keyup', function() {
			total_fee = 0;
			$$('input[id^=txt_fee_]').each(function(el_fee) {
				if(!(isNaN(el_fee.value)) && el_fee.value > 0) {
					total_fee = (total_fee.toFloat() + el_fee.value.toFloat()).toFixed(2);
				}
			});
		
			$('txt_total_fee').value = (total_fee - (total_fee * discount)).toFixed(2);
			$('hid_total_fee').value = total_fee;
			$('txt_discount').value = (total_fee * discount).toFixed(2);
			
			if (total_fee == 0) { $('cc_container').slide('out'); $('btn_submit').value = "SUBMIT Registration"; } else { $('cc_container').slide('in'); $('btn_submit').value = "SUBMIT Registration & Charge My Card"; }	
		});
	});

	// add_course click event. creates new row and adds keyup event to the txt_fee textbox.
	if ($('add_course')) {
		$('add_course').addEvent('click', function() {
			// getting and setting number of courses.
			var course_count = $('hid_course_count').get('value');
			var course_count_next = parseInt(course_count)+1;
			
			// creating row and cells.
			var row_course = new Element('tr').set('id', 'course_row_' + course_count_next);
			var col_course_title = new Element('td').set('html', course_count_next + ': <input type="text" name="txt_course_'+course_count_next+'" id="txt_course_'+course_count_next+'" value="" />').inject(row_course);
			var col_course_date = new Element('td').set('html', '<input type="text" name="txt_date_'+course_count_next+'" id="txt_date_'+course_count_next+'" value="" />').inject(row_course);
			var col_course_time = new Element('td').set('html', '<input type="text" name="txt_time_'+course_count_next+'" id="txt_time_'+course_count_next+'" value="" />').inject(row_course);
			var col_course_fee = new Element('td').set('html', '$ <input type="text" name="txt_fee_'+course_count_next+'" id="txt_fee_'+course_count_next+'" value="" />').inject(row_course);
	
			// injecting row after last row.
			row_course.inject($('course_tbody'));
			
			// adding calendar to date field
			new Calendar(eval('({' + $('txt_date_' + course_count_next).id + ':"m/d/Y"})'), { direction:.5, clear:true, navigation:1 });
			
			// adding keyup event to the newly created txt_fee textbox.
			$('txt_fee_' + course_count_next).addEvent('keyup', function() {
				total_fee = 0;
				$$('input[id^=txt_fee_]').each(function(el_fee) {
					if(!(isNaN(el_fee.value)) && el_fee.value > 0) {
						total_fee = (total_fee.toFloat() + el_fee.value.toFloat()).toFixed(2);
					}
				});
										 
				$('txt_total_fee').value = (total_fee - (total_fee * discount)).toFixed(2);
				$('hid_total_fee').value = total_fee;
				$('txt_discount').value = (total_fee * discount).toFixed(2);	
				
				if (total_fee == 0) { $('cc_container').slide('out'); $('btn_submit').value = "SUBMIT Registration"; } else { $('cc_container').slide('in'); $('btn_submit').value = "SUBMIT Registration & Charge My Card"; }																	 
			});
			
			// updating the number of courses.
			$('hid_course_count').set('value', course_count_next);

			
			// setting foucs.
			$('txt_course_'+course_count_next).focus();
		});
	}
	
// ###################################################################################################################################################
// donation form
// ###################################################################################################################################################
	if ($('frm_gift')) {
		$('frm_gift').addEvent('submit', function(e) {
			$('btn_submit').disabled = 1;
			$('btn_submit').set('value', 'Processing...');
		});
	}
	
	$$('input[id^=rbl_gift_from]').each(function(el) {									 
		if (el.value == 'By Name/Company' && el.checked) { $('gift_from_details').slide('show'); } else { $('gift_from_details').slide('hide'); }											 
					
		el.addEvent('click', function() {
			if (el.value == 'Anonymous') {
				$('gift_from_details').slide('out');
				$('txt_gift_from_name').value = '';
			} else if (el.value == 'By Name/Company') {
				$('gift_from_details').slide('in');
			}	
		});
	});
	
	
	if ($('gift_honor_memory_details')) { $('gift_honor_memory_details').slide('hide'); }	
	$$('input[id^=rbl_gift_honor_memory]').each(function(el) {									 
		if (el.checked) { $('gift_honor_memory_details').slide('show'); }											 
					
		el.addEvent('click', function() {
			$('gift_honor_memory_details').slide('in');	
		});
	});
});
