// JavaScript Document
// This set of Javascript functions handles the Attendance submission form calculations

function ToggleSingleRoom_5 (form)
	{
	// Make sure that ROOMS are Single OR Double, not both
	if	(document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked == true)
		{
		if (document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked == true)
			{
			document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked = false;
			}
		}
	update (form);
	}
function ToggleDoubleRoom_5 (form)
	{
	// Make sure that ROOMS are Single OR Double, not both
	if	(document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked == true)
		{
		if (document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked == true)
			{
			document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked = false;
			}
		}
	update (form);
	}
function ToggleSingleRoom_6 (form)
	{
	// Make sure that ROOMS are Single OR Double, not both
	if	(document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked == true)
		{
		if (document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked == true)
			{
			document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked = false;
			}
		}
	update (form);
	}
function ToggleDoubleRoom_6 (form)
	{
	// Make sure that ROOMS are Single OR Double, not both
	if	(document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked == true)
		{
		if (document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked == true)
			{
			document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked = false;
			}
		}
	update (form);
	}

function update (form)
	{
	
	var total = 0
	var discount = 0
	var final_total = 0

	var single_room = 110;
	var double_room = 70;
	var dinner = 35;
	var day_fee = 65;
	var day_fee_student_discount = 20;
	var student_days = 0;
	var master_discount = 80;
	var membership_discount = 20;
	var complete_discount = 20;
	var complete_additional_discount = 20;
	var handling_fee = 15;
	var speaker_moderator_discount = day_fee + handling_fee;
	
	var complete_meeting = 0;
	var defaultValue = '';
	
	var testing = document.forms['ENP2008_Attendance'].elements['newCompletePackage'].checked;

	if	(document.forms['ENP2008_Attendance'].elements['newCompletePackage'].checked) {
		document.forms['ENP2008_Attendance'].elements['newMeeting_05'].checked = true;
		document.forms['ENP2008_Attendance'].elements['newDinner_05'].checked = true;
		document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked = true;
		document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked = false;
		document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked = true;
		document.forms['ENP2008_Attendance'].elements['newDinner_06'].checked = true;
		document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked = true;
		document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked = false;
		document.forms['ENP2008_Attendance'].elements['newMeeting_08'].checked = true;
		document.forms['ENP2008_Attendance'].elements['newCompletePackage'].checked = false;
		}

	// Make sure that accompanying persons do not register for the meeting
	// AND clear also memberships and moderator/speaker boxes
	if (document.forms['ENP2008_Attendance'].elements['newGuest'].checked == true)
		{
		document.forms['ENP2008_Attendance'].elements['newMeeting_05'].checked = false;
		document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked = false;
		document.forms['ENP2008_Attendance'].elements['newMeeting_08'].checked = false;
		document.forms['ENP2008_Attendance'].elements['newModerator'].checked = false;
		document.forms['ENP2008_Attendance'].elements['newSpeaker'].checked = false;
		document.forms['ENP2008_Attendance'].elements['newNeurofederation'].checked = false;
		}

	if (document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked == true)
		{
		document.forms['ENP2008_Attendance'].elements['Roommate_05'].value = '';
		}
	if (document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked == true)
		{
		document.forms['ENP2008_Attendance'].elements['Roommate_06'].value = '';
		}
	if (document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked == false)
		{
		document.forms['ENP2008_Attendance'].elements['Roommate_05'].value = '';
		}
	if (document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked == false)
		{
		document.forms['ENP2008_Attendance'].elements['Roommate_06'].value = '';
		}

	// Calculate DINNER
	if	(document.forms['ENP2008_Attendance'].elements['newDinner_05'].checked == true) {
		total += dinner;
		}
	if	(document.forms['ENP2008_Attendance'].elements['newDinner_06'].checked == true) {
		total += dinner;
		}
	// Calculate ROOM
	if	(document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked == true) {
		total += single_room;
		}
	if	(document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked == true) {
		total += single_room;
		}
	if	(document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked == true) {
		total += double_room;
		}
	if	(document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked == true) {
		total += double_room;
		}
	// Calculate MEETING
	if	(document.forms['ENP2008_Attendance'].elements['newMeeting_05'].checked == true) {
		total += day_fee;
		}
	if	(document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked == true) {

		total += day_fee;
		}
	if	(document.forms['ENP2008_Attendance'].elements['newMeeting_08'].checked == true) {
		total += day_fee;
		}
	
	// Let's start calculating the discounts...
	discount = 0;

	// Do we have a membership package discount ?
		// If the user attends the meeting on two consecutive days AND
		// has dinner AND 
		// sleeps AND
		// is a member of at least one society AND
		// NOT a speaker or moderator (a bigger discount applies in this case)
	if	(
			(
				(
					((document.forms['ENP2008_Attendance'].elements['newMeeting_05'].checked == true) && (document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked == true))
					&& 
					(document.forms['ENP2008_Attendance'].elements['newDinner_05'].checked == true)
					&& 
					((document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked == true) || (document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked == true))
					&&
					(document.forms['ENP2008_Attendance'].elements['newNeurofederation'].checked == true)
				)
				||
				(
					((document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked == true) && (document.forms['ENP2008_Attendance'].elements['newMeeting_08'].checked == true))
					&& 
					(document.forms['ENP2008_Attendance'].elements['newDinner_06'].checked == true)
					&& 
					((document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked == true) || (document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked == true))
					&&
					(document.forms['ENP2008_Attendance'].elements['newNeurofederation'].checked == true)
				)
			) && (
				(
					((document.forms['ENP2008_Attendance'].elements['newNeurofederation'].checked == true) || (document.forms['ENP2008_Attendance'].elements['newNVE'].checked == true))
					&&
					((document.forms['ENP2008_Attendance'].elements['newModerator'].checked == false) && (document.forms['ENP2008_Attendance'].elements['newSpeaker'].checked == false))
				)
			)
		)
		{
		discount += membership_discount;
		}
	// Do we have a complete meeting?
	// But NO OTHER discounts:
	// Not a student, not a society member, and not a speaker/moderator
	// Or is it an additional discount:
	// For moderators/speakers and society members
	if	(
			(document.forms['ENP2008_Attendance'].elements['newMeeting_05'].checked == true) && 
			(document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked == true) && 
			(document.forms['ENP2008_Attendance'].elements['newMeeting_08'].checked == true) &&
			(document.forms['ENP2008_Attendance'].elements['newDinner_05'].checked == true) &&
			(document.forms['ENP2008_Attendance'].elements['newDinner_06'].checked == true) &&
			((document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked == true) || (document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked == true)) &&
			((document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked == true) || (document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked == true))
		)
		{
		complete_meeting = 1;
		if (
				(document.forms['ENP2008_Attendance'].elements['newModerator'].checked == false) &&
//				(document.forms['ENP2008_Attendance'].elements['newStudent'].checked == false) &&
				(document.forms['ENP2008_Attendance'].elements['newSpeaker'].checked == false) &&
				(document.forms['ENP2008_Attendance'].elements['newNeurofederation'].checked == false)
			)
			{
			discount = complete_discount;
			}
		if (
				(document.forms['ENP2008_Attendance'].elements['newModerator'].checked == true) ||
				(document.forms['ENP2008_Attendance'].elements['newSpeaker'].checked == true) ||
				(document.forms['ENP2008_Attendance'].elements['newNeurofederation'].checked == true)
			)
			{
			discount += complete_additional_discount;
			}
		}
	// Is it a student?
/*	if	(document.forms['ENP2008_Attendance'].elements['newStudent'].checked == true) {
		if	(document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked == true)
			{
			student_days += 1;
			}
		if	(document.forms['ENP2008_Attendance'].elements['newMeeting_07'].checked == true)
			{
			student_days += 1;
			}
		if	(document.forms['ENP2008_Attendance'].elements['newMeeting_08'].checked == true)
			{
			student_days += 1;
			}
		if	(document.forms['ENP2008_Attendance'].elements['newMeeting_09'].checked == true)
			{
			student_days += 1;
			}
		discount = (student_days*day_fee_student_discount);
		}
*/	
	// Do we have a speaker or moderator?
	// Apply discount only if registered for at least a day!
	if	(
			(document.forms['ENP2008_Attendance'].elements['newModerator'].checked == true) ||
			(document.forms['ENP2008_Attendance'].elements['newSpeaker'].checked == true)
		)
		{
		if	(
			(document.forms['ENP2008_Attendance'].elements['newMeeting_05'].checked == true) || 
			(document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked == true) || 
			(document.forms['ENP2008_Attendance'].elements['newMeeting_08'].checked == true)
			)
			{
			discount = speaker_moderator_discount;
			}
		if (complete_meeting == 1)
			{
			discount += complete_additional_discount;
			}
		}

	// Do we have a Master student?
	// 
	if	(
			(document.forms['ENP2008_Attendance'].elements['newMaster'].checked == true)
		)
		{
		if	(
			(document.forms['ENP2008_Attendance'].elements['newMeeting_05'].checked == true) || 
			(document.forms['ENP2008_Attendance'].elements['newMeeting_06'].checked == true) || 
			(document.forms['ENP2008_Attendance'].elements['newMeeting_08'].checked == true)
			)
			{
			discount = master_discount;
			}
		if (complete_meeting == 1)
			{
			discount += complete_additional_discount;
			}
		}


// Make sure that foreign invited speakers pay zero!
if (
	document.forms['ENP2008_Attendance'].elements['newEmail'].value    == 'magalhaes@azuleon.com_pjm'
|| document.forms['ENP2008_Attendance'].elements['newEmail'].value == 'w.scheenen@science.ru.nlpjm'
	)
	{
	discount = total + 10;
	}
// Make sure that DUTCH invited speakers get their special discount
if	(
	document.forms['ENP2008_Attendance'].elements['newEmail'].value    == 'test_nl@enpmeeting.org'

	)
	{
	// Deduct ONE dinner max
	if	(
		document.forms['ENP2008_Attendance'].elements['newDinner_05'].checked == true
		|| document.forms['ENP2008_Attendance'].elements['newDinner_06'].checked == true
		)
		{
		discount += 35;
		}
	// Deduct ONE night max
	if	(
		document.forms['ENP2008_Attendance'].elements['newRoom_05a'].checked == true
		|| document.forms['ENP2008_Attendance'].elements['newRoom_06a'].checked == true
		)
		{
		discount += 85;
		}
	else if
		(
		document.forms['ENP2008_Attendance'].elements['newRoom_05b'].checked == true
		|| document.forms['ENP2008_Attendance'].elements['newRoom_06b'].checked == true
		)
		{
		discount += 55;
		}
	}

document.forms['ENP2008_Attendance'].elements['total'].value = parseFloat(total).toFixed(2);
document.forms['ENP2008_Attendance'].elements['discount'].value = parseFloat(discount).toFixed(2);

if (document.forms['ENP2008_Attendance'].elements['total'].value>0)
	{
document.forms['ENP2008_Attendance'].elements['final_total'].value = (parseFloat(document.forms['ENP2008_Attendance'].elements['total'].value) 
	- parseFloat(document.forms['ENP2008_Attendance'].elements['discount'].value)
	+ parseFloat(handling_fee)).toFixed(2);
	} else {
document.forms['ENP2008_Attendance'].elements['final_total'].value = parseFloat(0).toFixed(2);
document.forms['ENP2008_Attendance'].elements['handling'].disabled = true;
	}
if (document.forms['ENP2008_Attendance'].elements['final_total'].value>0)
	{
	document.forms['ENP2008_Attendance'].elements['handling'].disabled = false;
	}

}

