// Used on the e-mail form to show additional attachments
function showAttachment(num) {
	var row = eval('document.getElementById("row_attachment' + num + '")');
	row.style.display = '';
}

// Email/export/etc
function performAction(faction,frm) {
	var somethingChecked = false;
	if(frm.userids.length) {
		for(var i=0;i<frm.userids.length;i++) {
			if(frm.userids[i].checked)
				somethingChecked = true;
		}
	}
	else {
		if(frm.userids.checked)
			somethingChecked = true;
	}
	
	if(!somethingChecked) {
		alert("You must select at least one member to perform this action.");
	}
	else {
		frm.fa.value = faction;
		frm.submit();
	}
}

// For "make same as billing"
function copyBillingToPrimary(checkedValue) {
	var frm = document.getElementById("mainform")
	if(checkedValue) {
		frm.address1.value = frm.baddress1.value;
		frm.address1.disabled = true;
		frm.address2.value = frm.baddress2.value;
		frm.address2.disabled = true;
		frm.city.value = frm.bcity.value;
		frm.city.disabled = true;
		frm.statecode.value = frm.bstatecode.value;
		frm.statecode.disabled = true;
		frm.postalcode.value = frm.bpostalcode.value;
		frm.postalcode.disabled = true;
		frm.countrycode.selectedIndex = frm.bcountrycode.selectedIndex;
		frm.countrycode.disabled = true;
		frm.phone.value = frm.bphone.value;
		frm.phone.disabled = true;
		frm.extension.value = frm.bextension.value;
		frm.extension.disabled = true;
		frm.email.value = frm.bemail.value;
		frm.email.disabled = true;
	}
	else {
		frm.address1.disabled = false;
		frm.address2.disabled = false;
		frm.city.disabled = false;
		frm.statecode.disabled = false;
		frm.postalcode.disabled = false;
		frm.phone.disabled = false;
		frm.extension.disabled = false;
		frm.email.disabled = false;
	}
}

function hideTo() {
	document.getElementById("hide").style.display = 'none';
	document.getElementById("show").style.display = '';
	document.getElementById("addresses").style.display = 'none';
	document.getElementById("noaddresses").style.display = '';
}
function showTo() {
	document.getElementById("show").style.display = 'none';
	document.getElementById("hide").style.display = '';	
	document.getElementById("addresses").style.display = '';
	document.getElementById("noaddresses").style.display = 'none';
}

// Clear everything on a form
function clearForm(frm) {
	for(i=0; i<frm.elements.length; i++) {
		if(frm.elements[i].type == "select-one")
			frm.elements[i].selectedIndex = 0;	
		else if(frm.elements[i].type == "text")
			frm.elements[i].value = "";	
		else if(frm.elements[i].type == "checkbox" || frm.elements[i].type == "radio")
			frm.elements[i].checked = false;	
	}
}

// This is used on forms that have a lot of checkboxes
function toggleAll(isChecked,checkboxArray) {
	if(checkboxArray.length) {
		for(var i=0; i<checkboxArray.length; i++) {
			checkboxArray[i].checked = isChecked;
		}
	}
	else
		checkboxArray.checked = isChecked;
}

// Show/hide different name options
function changeNameDisplay(blnIsCompany) {
	if(blnIsCompany == '') {
		if(document.getElementById('row_prefix'))
			document.getElementById('row_prefix').style.display = '';
		if(document.getElementById('row_maidenname'))
			document.getElementById('row_maidenname').style.display = '';
		if(document.getElementById('row_preferredname'))
			document.getElementById('row_preferredname').style.display = '';
		if(document.getElementById('row_birthdate'))
			document.getElementById('row_birthdate').style.display = '';
		if(document.getElementById('row_spousefirstname'))
			document.getElementById('row_spousefirstname').style.display = '';
		if(document.getElementById('row_spouselastname'))
			document.getElementById('row_spouselastname').style.display = '';
		if(document.getElementById('row_name'))
			document.getElementById('row_name').style.display = '';
		document.getElementById('row_firstname').style.display = '';
		document.getElementById('row_lastname').style.display = '';
		document.getElementById('row_companyname').style.display = 'none';
		document.getElementById('row_contactname').style.display = 'none';
	}
	else if(blnIsCompany == '1') {
		if(document.getElementById('row_prefix'))
			document.getElementById('row_prefix').style.display = 'none';
		if(document.getElementById('row_maidenname'))
			document.getElementById('row_maidenname').style.display = 'none';
		if(document.getElementById('row_preferredname'))
			document.getElementById('row_preferredname').style.display = 'none';
		if(document.getElementById('row_birthdate'))
			document.getElementById('row_birthdate').style.display = 'none';
		if(document.getElementById('row_spousefirstname'))
			document.getElementById('row_spousefirstname').style.display = 'none';
		if(document.getElementById('row_spouselastname'))
			document.getElementById('row_spouselastname').style.display = 'none';
		if(document.getElementById('row_name'))
			document.getElementById('row_name').style.display = '';
		document.getElementById('row_firstname').style.display = 'none';
		document.getElementById('row_lastname').style.display = 'none';
		document.getElementById('row_companyname').style.display = '';
		document.getElementById('row_contactname').style.display = '';
	}
	else if(blnIsCompany == '0') {
		if(document.getElementById('row_prefix'))
			document.getElementById('row_prefix').style.display = '';
		if(document.getElementById('row_maidenname'))
			document.getElementById('row_maidenname').style.display = '';
		if(document.getElementById('row_preferredname'))
			document.getElementById('row_preferredname').style.display = '';
		if(document.getElementById('row_birthdate'))
			document.getElementById('row_birthdate').style.display = '';
		if(document.getElementById('row_spousefirstname'))
			document.getElementById('row_spousefirstname').style.display = '';
		if(document.getElementById('row_spouselastname'))
			document.getElementById('row_spouselastname').style.display = '';
		if(document.getElementById('row_name'))
			document.getElementById('row_name').style.display = '';
		document.getElementById('row_firstname').style.display = '';
		document.getElementById('row_lastname').style.display = '';
		document.getElementById('row_companyname').style.display = 'none';
		document.getElementById('row_contactname').style.display = 'none';
	}
}

// This is used to turn help_text on/off to keep forms from being "cluttered"
var blnIsHelpTextOn = false;
function toggleHelpText() {
	if(document.getElementById("mainform")) {
		// Update spans
		var arySpans = document.getElementById("mainform").getElementsByTagName("span");
		for(var i=0; i<arySpans.length; i++) {
			if(arySpans[i].className == "help_text") {
				arySpans[i].style.visibility = (blnIsHelpTextOn) ? "visible" : "hidden";
			}
		}
		// Toggle
		if(blnIsHelpTextOn) {
			if(document.getElementById("hints_text_span"))
				document.getElementById("hints_text_span").innerHTML = "Hide Hints";
			blnIsHelpTextOn = false;
		}
		else {
			if(document.getElementById("hints_text_span"))
				document.getElementById("hints_text_span").innerHTML = "Show Hints";
			blnIsHelpTextOn = true;
		}
	}
}

// This is used on the payment billing form, where payment fields depend on what kind of payment it is
function changePaymentTypeDisplay(intPaymentTypeID) {
	if(intPaymentTypeID == '') {
		document.getElementById('row_credit_card_type_id').style.display = 'none';
		document.getElementById('row_cc_number').style.display = 'none';
		document.getElementById('row_cc_code').style.display = 'none';
		document.getElementById('row_cc_expirationdate').style.display = 'none';
	}
	else if(intPaymentTypeID == '1') {
		document.getElementById('row_credit_card_type_id').style.display = '';
		document.getElementById('row_cc_number').style.display = '';
		document.getElementById('row_cc_code').style.display = '';
		document.getElementById('row_cc_expirationdate').style.display = '';
	}
	else {
		document.getElementById('row_credit_card_type_id').style.display = 'none';
		document.getElementById('row_cc_number').style.display = 'none';
		document.getElementById('row_cc_code').style.display = 'none';
		document.getElementById('row_cc_expirationdate').style.display = 'none';
	}
}

function explainVerificationCode() {
	var cccode = window.open('index.cfm?fa=main.popupVerificationCode','cccode','width=420,height=400');
	cccode.focus();
}

// Disable any submit buttons on a form
function disableSubmit(frm) {
	for(var i=0; i<frm.elements.length; i++) {
		if(frm.elements[i].type == "submit")
			frm.elements[i].disabled = true;
	}
}

// Add a guest to event registration form
function addGuest(maxGuests) {
	var guestCount = document.getElementById("mainform").guestcount.value;
	if(guestCount < maxGuests) {
		guestCount++;
		// Show rows for new guest
		var aryRows = document.getElementById("mainform").getElementsByTagName("tr");
		for(var i=0; i<aryRows.length; i++) {
			if(aryRows[i].className.indexOf("guest_" + guestCount + "_") != -1) {
				aryRows[i].style.display = '';
			}
		}
		document.getElementById("mainform").guestcount.value = guestCount;
	}
	displayGuestIcons(guestCount,maxGuests);
}

function removeGuest(maxGuests) {
	var guestCount = document.getElementById("mainform").guestcount.value;
	if(guestCount > 0) {
		// Hide rows for last guest
		var aryRows = document.getElementById("mainform").getElementsByTagName("tr");
		for(var i=0; i<aryRows.length; i++) {
			if(aryRows[i].className.indexOf("guest_" + guestCount + "_") != -1) {
				aryRows[i].style.display = 'none';
			}
		}
		guestCount--;
		document.getElementById("mainform").guestcount.value = guestCount;
	}
	displayGuestIcons(guestCount,maxGuests);
}

function displayGuests(guestCount,maxGuests) {
	var aryRows = document.getElementById("mainform").getElementsByTagName("tr");
	for(var i=1; i<=guestCount; i++) {
		// Show rows up to number of guests
		for(var j=0; j<aryRows.length; j++) {
			if(aryRows[j].className.indexOf("guest_" + i + "_") != -1) {
				aryRows[j].style.display = '';
			}
		}
	}
	displayGuestIcons(guestCount,maxGuests);
}

function displayGuestIcons(currentGuests,maxGuests) {
	if(currentGuests == maxGuests) {
		document.getElementById("add_guest_icon").style.visibility = 'hidden';
		document.getElementById("add_guest_text").style.visibility = 'hidden';
		document.getElementById("add_guest_button").style.display = 'none';
	}
	else {
		document.getElementById("add_guest_icon").style.visibility = 'visible';
		document.getElementById("add_guest_text").style.visibility = 'visible';
		document.getElementById("add_guest_button").style.display = '';
	}
	if(currentGuests == 0) {
		document.getElementById("remove_guest_icon").style.visibility = 'hidden';
		document.getElementById("remove_guest_text").style.visibility = 'hidden';
		document.getElementById("remove_guest_button").style.display = 'none';
	}
	else {
		document.getElementById("remove_guest_icon").style.visibility = 'visible';
		document.getElementById("remove_guest_text").style.visibility = 'visible';
		document.getElementById("remove_guest_button").style.display = '';
	}	
}

function changeContactDisplay(blnIsContact) {
	if(blnIsContact) {
		if(document.getElementById('row_accounttype'))
			document.getElementById('row_accounttype').style.display = 'none';
		if(document.getElementById('row_contactforuserid'))
			document.getElementById('row_contactforuserid').style.display = '';
		changeNameDisplay(0);
	}
	else {
		if(document.getElementById('row_accounttype'))
			document.getElementById('row_accounttype').style.display = '';
		if(document.getElementById('row_contactforuserid'))
			document.getElementById('row_contactforuserid').style.display = 'none';
		changeNameDisplay('');
	}
}

