function addEvent(obj, evType, fn){
	 if (obj.addEventListener) {
		 obj.addEventListener(evType, fn, true);
		 return true;
	 } else if (obj.attachEvent) {
		 var r = obj.attachEvent("on"+evType, fn);
		 return r;
	 } else {
		return false;
	 }
}

function unselectCheckinDates() {
	
	// uncheck any checkin dates that where checked
	var elems = document.getElementsByTagName("input");
	for (var i = 0; i < elems.length; i++) {
		var elem = elems[i];
		if (/\bcheckin_time\b/.exec(elem.name)) {
			elem.checked = false;
		}
	}
	
}

function unselectInterviewTimes() {
	
	// uncheck an interview times that where checked
	var elems = document.getElementsByTagName("input");
	for (var i = 0; i < elems.length; i++) {
		var elem = elems[i];
		if (/\binterview_times\b/.exec(elem.name) || /\binterview_place\b/.exec(elem.name)) {
			elem.checked = false;
		}
	}
	
}
function unselectTuesInterviewTimes() {

	if (document.getElementById('tues').checked == false) {
		document.getElementById('where_interv1').checked = false; 
		document.getElementById('where_interv2').checked = false; 
	} else {
		document.getElementById('where_interv1').checked = true;
	}
	
}

function display_checkin(expo_num) {

	unselectCheckinDates();
	unselectInterviewTimes();

	if (expo_num == 1) {
		
		// display expo 1
		checkin_expo1 = document.getElementById('checkin_expo_1');
		checkin_expo1.style.display = "block";
		
		// hide expo 2
		checkin_expo2 = document.getElementById('checkin_expo_2');
		checkin_expo2.style.display = "none";
		
	} else {
		
		// display expo 2
		checkin_expo2 = document.getElementById('checkin_expo_2');
		checkin_expo2.style.display = "block";
		
		// hide expo 1
		checkin_expo1 = document.getElementById('checkin_expo_1');
		checkin_expo1.style.display = "none";
		
	}

	// check if interview is selected
	var interview = false;
	var elems = document.getElementsByTagName("input");
	for (var i = 0; i < elems.length; i++) {
		var elem = elems[i];
		if (elem.name == 'interview' && elem.checked == true) {
			interview = elem.value;
		}
	}

	if (interview != false) {
		displayInterviewTimes();
	}
	
}

function displayInterviewTimes() {

	// get which design expo they selected
	var date_preference = false;
	var elems = document.getElementsByTagName("input");
	for (var i = 0; i < elems.length; i++) {
		var elem = elems[i];
		if (elem.name == 'expo_date_preference' && elem.checked == true) {
			date_preference = elem.value;
		}
	}

	if (date_preference == false) {
		alert('Please select which DesignExpo you wish to attend.');
	} else {

		unselectInterviewTimes();

		if (date_preference == 'October 28-30, 2008') {

			// display interview info for expo 1
			interviewsExpo1 = document.getElementById('interviews_expo1');
			interviewsExpo1.style.display = "block";
			
			// hide interview info for expo 2
			interviewsExpo2 = document.getElementById('interviews_expo2');
			interviewsExpo2.style.display = "none";
			
		} else {

			// display interview info for expo 2
			interviewsExpo2 = document.getElementById('interviews_expo2');
			interviewsExpo2.style.display = "block";
			
			// hide interview info for expo 1
			interviewsExpo1 = document.getElementById('interviews_expo1');
			interviewsExpo1.style.display = "none";
			
		}

		// display interview location
		interviewLocation = document.getElementById('interview_location');
		interviewLocation.style.display = "block";
		
	}
	
}

function hideInterviewTimes() {

	unselectInterviewTimes();

	// hide interview info for expo 2
	interviewsExpo2 = document.getElementById('interviews_expo2');
	interviewsExpo2.style.display = "none";
			
	// hide interview info for expo 1
	interviewsExpo1 = document.getElementById('interviews_expo1');
	interviewsExpo1.style.display = "none";


	// hide interview location
	interviewLocation = document.getElementById('interview_location');
	interviewLocation.style.display = "none";
	
}


function count_rep() {

	num_reps = 0;
	total_due = 350;
	rep_obj = new Object();
	rep_obj[1] = false;
	rep_obj[2] = false;
	rep_obj[3] = false;
	rep_obj[4] = false;
	
	var elems = document.getElementsByTagName("input");
	for (var i = 1; i <= 4; i++) {

		rep_first = document.getElementById('rep_first'+i);
		rep_last  = document.getElementById('rep_last'+i);

		if (rep_first.value != '' || rep_last.value != '') {
			rep_obj[i] = true;
		} else {
			rep_obj[i] = false;
		}
	}

	// add up the reps
	for (key in rep_obj) {
		if (rep_obj[key] == true) {
			num_reps++;
		}
	}

	// figure total due
	if (num_reps > 2) {
		total_due = 350+(15*(num_reps-2));
	}

	// update the html text total due 
	total_amount1 = document.getElementById('total-amount1');
	total_amount2 = document.getElementById('total-amount2');
	total_amount1.innerHTML = '$'+total_due;
	total_amount2.innerHTML = '$'+total_due;
	
	// update the totoal due in the form
	totalAmountDue = document.getElementById('total_amount_due');
	totalAmountDue.value = total_due;

	// update rep number
	switch(num_reps) {
		case 1:
			num_reps_word = 'representatives';
		break;
		case 2:
			num_reps_word = 'two representatives';
		break;
		case 3:
			num_reps_word = 'three representatives';
		break;
		case 4:
			num_reps_word = 'four representatives';
		break;
		default:
			num_reps_word = 'representative';		
		break;
	}
	reps_text = document.getElementById('num-reps-text');
	reps_text.innerHTML = num_reps_word;

	// update the html text number of reps in the form
	repNumber = document.getElementById('rep_number');
	repNumber.value = num_reps;

}

addEvent(window, 'load', count_rep);

