﻿// addEvent
function addEvent(varElement, varEventType, varFunction, varUseCapture)
{
	if (varElement.addEventListener)
	{
		varElement.addEventListener(varEventType, varFunction, varUseCapture);
		return true;
	}
	else if (varElement.attachEvent)
	{
		return varElement.attachEvent('on' + varEventType, varFunction);
	}
	else
	{
		varElement['on' + varEventType] = varFunction;
	}
}

// addListeners
function addListeners(e)
{
	var varForm1 = document.getElementById('form1');
	addEvent(varForm1, 'keypress', noSubmit, false);
	
	var varHFRegStep = document.getElementById('HF_Reg_Step');
	if (varHFRegStep.value == 'reg_no')
	{
		var varNavTable = document.getElementById('nav_table');
		var varNavLinks = varNavTable.getElementsByTagName('td');
		var i = 0;
		while (i < varNavLinks.length)
		{
			addEvent(varNavLinks[i], 'click', navClick, false)
			i++;
		}

		var varCCSubmit = document.getElementById('cc_submit');
		addEvent(varCCSubmit, 'click', gotoConstantContacts, false);
	}	

	varHFNav = document.getElementById('HF_Nav');
	switch (varHFNav.value)
	{
		case 'nav_home':
			var varImgHomeExhibitor = document.getElementById('img_home_exhibitor');
			addEvent(varImgHomeExhibitor, 'click', navClick, false);
			// var varImgHomeHotel = document.getElementById('img_home_hotel');
			// addEvent(varImgHomeHotel, 'click', navClick, false);
			break;
		case 'nav_agenda':
			break;
		case 'nav_training':
			var varTrainingOptionsTable = document.getElementById('training_options_table');
			var varTrainingOptionsButtons = varTrainingOptionsTable.getElementsByTagName('img');
			var j = 0;
			while (j < varTrainingOptionsButtons.length)
			{
				addEvent(varTrainingOptionsButtons[j], 'click', trainingOptionsClick, false);
				j++;
			}
			break;
		case 'nav_collision':
			break;
		case 'nav_expo':
			break;
		case 'nav_exhibitors':
			break;
		case 'nav_spouses':
			break;
		case 'nav_hotel':
			break;
		case 'nav_registration':
			var varHFRegStep = document.getElementById('HF_Reg_Step');
			if (varHFRegStep.value == 'reg_no')
			{
				var varButtonConfReg = document.getElementById('Button_Conf_Reg');
				addEvent(varButtonConfReg, 'click', confirmNewReg, false);

				var varButtonExpoOnlyAdd = document.getElementById('button_expo_only_add');
				addEvent(varButtonExpoOnlyAdd, 'click', addExpoOnlyAttendee, false);

				var varButtonExpoOnlySubmit = document.getElementById('button_expo_only_submit');
				addEvent(varButtonExpoOnlySubmit, 'click', confirmExpoOnlyForm, false);
			}
			if (varHFRegStep.value == 'reg_yes')
			{
				var varDDLPayType = document.getElementById('DDL_Pay_Type');
				addEvent(varDDLPayType, 'change', ckPayType, false);

				var varDDLPayType = document.getElementById('DDL_Pay_Type');
				addEvent(varDDLPayType, 'change', alertPayType, false);

				var varDDLTitle = document.getElementById('DDL_Title');
				addEvent(varDDLTitle, 'change', ckTitleOther, false);

				var varDDLTitle = document.getElementById('DDL_Title');
				addEvent(varDDLTitle, 'change', alertTitleOther, false);

				var varDDLFriAM = document.getElementById('DDL_Fri_AM');
				addEvent(varDDLFriAM, 'change', ckFriPM, false);

				var varDDLSatAM = document.getElementById('DDL_Sat_AM');
				addEvent(varDDLSatAM, 'change', ckSatPM, false);

				var varTableAttendeeSummary = document.getElementById('table_attendee_summary');
				var varAttendeeIDs = varTableAttendeeSummary.getElementsByTagName('input');
				var k = 0;
				while (k < varAttendeeIDs.length)
				{
					addEvent(varAttendeeIDs[k], 'click', setAttendeeID, false)
					k++;
				}
			}
			break;
		case 'nav_directions':
			break;
		case 'nav_press':
			break;
		default:
			break;
	}	
}

// navClick
function navClick(e)
{
	var varHFTrainingOption = document.getElementById('HF_Training_Option');
	varHFTrainingOption.value = "";
		
	var varHFNav = document.getElementById('HF_Nav');
	if (window.event)
	{
		varHFNav.value = window.event.srcElement.id.toString();
	}
	else
	{
		varHFNav.value = e.target.id.toString();
	}
	varForm1 = document.getElementById('form1');
	varForm1.submit();
}

// trainingOptionsClick
function trainingOptionsClick(e)
{
    var varHFTrainingOption = document.getElementById('HF_Training_Option');
    if (window.event)
    {
        varHFTrainingOption.value = window.event.srcElement.id.toString();
    }
    else
    {
        varHFTrainingOption.value = e.target.id.toString();
    }
    varForm1 = document.getElementById('form1');
    varForm1.submit();
}

// noSubmit
function noSubmit(e)
{
	if (window.event)
	{
		window.event.returnValue = window.event.keyCode != 13;
	}
	if (e && e.preventDefault)
	{
		if (e.keyCode == 13)
		{
			e.preventDefault();
		}
	}
}

// confirmNewReg
function confirmNewReg(e)
{
	if (window.event)
	{
		window.event.returnValue = (confirm("Please click \'OK\' to confirm you want to create a NEW registration."));
	}
	if (e && e.preventDefault)
	{
		if (!confirm("Please click \'OK\' to confirm you want to create a NEW registration."))
		{
			e.preventDefault();
		}
	}
	/*
	var varTBConfCode = document.getElementById('TB_Conf_Code');
	if (varTBConfCode.value == "")
	{
		if (window.event)
		{
			window.event.returnValue = (confirm("Please click \'OK\' to confirm you want to create a NEW registration."));
		}
		if (e && e.preventDefault)
		{
			if (!confirm("Please click \'OK\' to confirm you want to create a NEW registration."))
			{
				e.preventDefault();
			}
		}
	}
	*/
}

// ckPayType
function ckPayType(e)
{
	var varDDLPayType = document.getElementById('DDL_Pay_Type');
	if (varDDLPayType.selectedIndex == 0)
	{
		document.getElementById('TB_CC_Number').style.borderLeft = "0";
		document.getElementById('TB_CC_Exp').style.borderLeft = "0";
		document.getElementById('TB_CC_Name').style.borderLeft = "0";
		document.getElementById('TB_CC_Address').style.borderLeft = "0";
		document.getElementById('TB_CC_Zip').style.borderLeft = "0";
	}
	if (varDDLPayType.selectedIndex == 1)
	{
		document.getElementById('TB_CC_Number').style.borderLeft = "solid 1px #990000";
		document.getElementById('TB_CC_Exp').style.borderLeft = "solid 1px #990000";
		document.getElementById('TB_CC_Name').style.borderLeft = "solid 1px #990000";
		document.getElementById('TB_CC_Address').style.borderLeft = "solid 1px #990000";
		document.getElementById('TB_CC_Zip').style.borderLeft = "solid 1px #990000";
	}
	if (varDDLPayType.selectedIndex == 2)
	{
		document.getElementById('TB_CC_Number').style.borderLeft = "solid 1px #990000";
		document.getElementById('TB_CC_Exp').style.borderLeft = "0";
		document.getElementById('TB_CC_Name').style.borderLeft = "0";
		document.getElementById('TB_CC_Address').style.borderLeft = "0";
		document.getElementById('TB_CC_Zip').style.borderLeft = "0";
	}
}

// alertPayType
function alertPayType()
{
	var varDDLPayType = document.getElementById('DDL_Pay_Type');
	if (varDDLPayType.selectedIndex == 2)
	{
		alert("Enter your purchase order # in the 'card / po #' field below...");
		document.getElementById('TB_CC_Number').focus();
	}
}

// ckTitleOther
function ckTitleOther()
{
	var varDDLTitle = document.getElementById('DDL_Title')
	if (varDDLTitle.selectedIndex == 9)
	{
		document.getElementById('TB_Title').style.borderLeft = "solid 1px #990000";
	}
	else
	{
		document.getElementById('TB_Title').style.borderLeft = "0";
	}
}

// alertTitleOther
function alertTitleOther()
{
	var varDDLTitle = document.getElementById('DDL_Title')
	if (varDDLTitle.selectedIndex == 9)
	{
		alert("Please enter 'other' title in the text box provided.");
		document.getElementById('TB_Title').focus();
	}
}

// ckFriPM
function ckFriPM()
{
	var varDDLFriAM = document.getElementById('DDL_Fri_AM');
	var varDDLFriPM = document.getElementById('DDL_Fri_PM');
	switch (varDDLFriAM.value)
	{
		case 'None':
			varDDLFriPM.disabled = false;
			break;
		case 'M1-A':
			varDDLFriPM.disabled = false;
			break;
		default:
			varDDLFriPM.selectedIndex = 0;
			varDDLFriPM.disabled = true;
			break;
	}
}

// ckSatPM
function ckSatPM()
{
	var varDDLSatAM = document.getElementById('DDL_Sat_AM');
	var varDDLSatPM = document.getElementById('DDL_Sat_PM');
	switch (varDDLSatAM.value)
	{
		case 'M3-CD':
			varDDLSatPM.selectedIndex = 0;
			varDDLSatPM.disabled = true;
			break;
		case 'T14-CD':
			varDDLSatPM.selectedIndex = 0;
			varDDLSatPM.disabled = true;
			break;
		default:
			varDDLSatPM.disabled = false;
			break;
	}	
}

// prepRegForm
function prepRegForm()
{
	var varHFRegStep = document.getElementById('HF_Reg_Step');

	if (varHFRegStep.value == "reg_no")
	{
		document.getElementById('cc_text').style.visibility = "visible";
		document.getElementById('cc_email').style.visibility = "visible";
		document.getElementById('cc_submit').style.visibility = "visible";
	}
	if (varHFRegStep.value == "reg_yes")
	{
		document.getElementById('cc_text').style.visibility = "hidden";
		document.getElementById('cc_email').style.visibility = "hidden";
		document.getElementById('cc_submit').style.visibility = "hidden";
		ckPayType();
		ckTitleOther();
		ckFriPM();
		ckSatPM();
	}
	if (varHFRegStep.value == "reg_conf")
	{
		document.getElementById('cc_text').style.visibility = "hidden";
		document.getElementById('cc_email').style.visibility = "hidden";
		document.getElementById('cc_submit').style.visibility = "hidden";
	}
}

// setAttendeeID
function setAttendeeID(e)
{
	var varHFIDAttendee = document.getElementById('HF_ID_Attendee');
	if (window.event)
	{
		varHFIDAttendee.value = window.event.srcElement.id.toString();
	}
	else
	{
		varHFIDAttendee.value = e.target.id.toString();
	}
}

// addExpoOnlyAttendee
function addExpoOnlyAttendee()
{
	var varTable = document.getElementById('table_expo_only_attendee');
	var varTR = document.getElementById('tr_expo_only_attendee_0');
	var varTRAdd = varTR.cloneNode(true);

	var varHFExpoOnlyCount = document.getElementById('HF_Expo_Only_Count');
	var varCounter = parseInt(varHFExpoOnlyCount.value);
	varCounter++;
	varHFExpoOnlyCount.value = varCounter.toString();

	varTRAdd.removeAttribute('id');
	varTRAdd.removeAttribute('style');
	varTRAdd.getElementsByTagName('input')[0].name = "tb_expo_only_first_" + varHFExpoOnlyCount.value;
	varTRAdd.getElementsByTagName('input')[1].name = "tb_expo_only_last_" + varHFExpoOnlyCount.value;
	varTRAdd.getElementsByTagName('select')[0].name = "ddl_expo_only_title_" + varHFExpoOnlyCount.value;

	varTable.appendChild(varTRAdd);
}

// confirmExpoOnlyForm
function confirmExpoOnlyForm(e)
{	
	if (window.event)
	{
		if (confirm("Please click \'OK\' to confirm all information is complete and accurate. The form will reset after submission. A confirmation message will be sent to the email address provided on the form."))
		{
			document.getElementById('HF_Expo_Only_Submit').value = "true";
		}
		else
		{
			window.event.returnValue = false;
		}		
	}
	if (e && e.preventDefault)
	{
		if (confirm("Please click \'OK\' to confirm all information is complete and accurate. The form will reset after submission. A confirmation message will be sent to the email address provided on the form."))
		{
			document.getElementById('HF_Expo_Only_Submit').value = "true";
		}
		else
		{
			e.preventDefault();
		}
	}
}

// gotoConstantContacts
function gotoConstantContacts()
{
	var varEmail = document.getElementById('cc_email');
	if ((varEmail.value.toString().length == 0) || (varEmail.value.toString() == 'Enter email address here.'))
	{
		alert('Please enter a value in the email address field!');
		varEmail.value = "";
		varEmail.focus();
	}
	else
	{
		var varWindow;
		varWindow = window.open('http://visitor.constantcontact.com/d.jsp?m=1011094116165&p=oi&ea=' + varEmail.value.toString());
	}
}

// default
addEvent(window, 'load', addListeners, false);
addEvent(window, 'load', prepRegForm, false);


