function getEventFeeKey(){
	//alert($('input [name=amount]').val());
	//$("#eventFeeKey").html("<input id='event_fee_KEY' type='hidden' name='event_fee_KEY' value='"+$('input [name=amount]:checked').attr("id")+"'/>");
}

function updateUnitPrice(parent){
	
	//alert(parent);
	
	var amount;
	var discountAmount = -1;
	
	discountAmount = Number($('#unitAmount').val());
	
	if(discountAmount >= 0){
		amount = discountAmount;
	}else{
		
		$("input:checked").each(function(){
			
			if(this.id == "amountRadio") amount = this.value;
			else if(this.id == "amountOther") amount = $("#amountOtherValue").val()
		
		});
		
	}
	$("#selectedUnitPrice").val(amount);
	
	if(isNaN(Number($("#finalAmount").val())))
		$("#finalAmount").val(amount);
	
	calculateTotalPrice();

}

function checkDiscountCode(event_KEY){

	var Discount_Code = document.getElementById("Discount_Code").value;
	
	$.getJSON("checkDiscountCode.sjs", {Discount_Code: ""+Discount_Code+"", event_KEY: ""+event_KEY+""},
		function(data) {

			if(data.accepted == true){

				$("#discountMessage").html("Discount code accepted!");
				$("#eventFeeKey").html("<input type='hidden' name='event_fee_KEY' value='"+data.event_fee_KEY+"'/>");
				$("#amountRadios").html("$"+data.amount+"<input id='unitAmount' type='hidden' name='amount' value='"+data.amount+"'/>");
				$("#Discount_Code").attr("disabled", "true");
				
				updateUnitPrice();
				
			}else{
				$("#discountMessage").html(data.message);
			}	

	});
	

}

function toggleGuestBox(){

	if($("#guestCheckbox").attr("checked") == true){
		$("#guestSignupBox").show();
	}else{
		$("#guestSignupBox").hide();
		$("#totalTickets").val(0);
	}
	
	calculateTotalPrice("toggleGuestBox");
	
}

function calculateTotalPrice(){
	
	var totalAmount = Number($("#selectedUnitPrice").val());
	if(totalAmount == 0) totalAmount = Number($("#finalAmount").val());
	if(numGuests > 0) {
		totalAmount = totalAmount * (numGuests + 1);
	}
	$("#displayTotalPrice").html(totalAmount.toFixed(2));
	
	$("#finalAmount").val(totalAmount);
	if (totalAmount == 0){
		$("#credit_card_information").hide();
	}else{
		$("#credit_card_information").show();
	}

}

function submitGuests(){
	if ($("input.guestRoster").length==0) return true;
	var data=false;
	var submitSucceeded = false;
	$("input.guestRoster").each(function(){
		if (!data) data = {};
		var fieldName = $(this).attr("name");
		if (undefined==data[fieldName]){
			data[fieldName]=[];
		};
		data[fieldName].push($(this).val());
	});
	var submitGuestsError = function(request, textStatus, errorThrown){
		alert("We were unable to save your guest information. The following error was received:\n"+textStatus);
	}
	var submitGuestsSuccess = function(data){
		if (undefined == data.error){
			submitSucceeded = true;
		} else {
			alert("An error occured while trying to submit your guest information:\n"+data.error);
		}
	}
	if (data)
	$.ajax({
			"async":false,
			"data":data,
			"dataType":"json",
			"error":submitGuestsError,
			"success":submitGuestsSuccess,
			"type":"POST",
			"url":"registerGuests.sjs"
		});
	return submitSucceeded;
}

function finalize(){
	calculateTotalPrice();
	$("input[name='amount']").each(function(i){
	
		if(this.id != "finalAmount"){
			
			this.setAttribute("name","dummyAmount");
			
		}
	
	});
	if (numAttendees+1>maxAttendees && maxAttendees>0){
		$("#_Status").val("Waiting List");
		$("#email_trigger_KEYS").val(emailTriggers.waiting_list);
		$("#paymentOptions").remove();
		$("#regForm").attr("action",saveAction);
	} else {
		$("#_Status").val("Signed Up");
		$("#email_trigger_KEYS").val(emailTriggers.event);
	}
	if ($("#finalAmount").val()==0){
		$("#regForm").attr("action",saveAction);
	}

	if (submitGuests()){
		$("tr.guestRow").remove();
		return true;
	}
	return false;
}

function addGuest(){
	if ((maxAttendees+maxWaitlist)>numAttendees+1 || maxAttendees==0){
		var row = $("\
					<tr id='guest"+numAttendees+"row' class='guestRow'>\
						<td><input class='guestRoster' name='Guest_Roster_First_Name'/></td>\
						<td><input class='guestRoster' name='Guest_Roster_Last_Name'/></td>\
						<td><input class='guestRoster' name='Guest_Roster_Email'/></td>\
						<td><a href='#' onclick='removeGuest("+numAttendees+");return false;' title='Remove this guest'>\
							<img src='/salsa/hq/images/delete2.png' alt='Remove this guest' style='border:none'/>\
						</a></td>\
					</tr>");
		if (numAttendees+1>=maxAttendees && maxAttendees>0){
			if (numAttendees+1==maxAttendees)
				alert("This event is now at maximum capacity, your party will be added to the waitlist.");
			$("#paymentOptions").hide();
			$("#waitlistMessage").show();
		}
		numAttendees ++;
		numGuests ++;
		$("#numberOfGuests").val(numGuests);
		$("#guestTableFooter").before(row);
		if (numGuests>=1) $("#guestTableHeader").show();
	}
	if ((maxAttendees+maxWaitlist)<=numAttendees+1 && maxAttendees>0 && maxWaitlist>0) {
		$("#addGuestButton").hide();
		$("#eventFullNotice").show();
	}
	calculateTotalPrice();
}
function removeGuest(id){
	$("#guest"+id+"row").remove();
	$("#addGuestButton").show();
	$("#eventFullNotice").hide();
	numAttendees --;
	numGuests --;
	$("#numberOfGuests").val(numGuests);
	if (numGuests<1) $("#guestTableHeader").hide();
	if (numAttendees+1<=maxAttendees){
		$("#paymentOptions").show();
		$("#waitlistMessage").hide();
	}
	calculateTotalPrice();
}
