$(function(){
	// Add Attendee
	$("#btnAddAttendee").click(function(){
		var newAttendee = $("#attendeeTemplate").html();
		attendeeCounter++;
		newAttendee = newAttendee.replace(/\$\{index\}/g, attendeeCounter);
		$(".participants").append(newAttendee);
	});
	
	// Remove Attendee
	$("input[name='btnRemove']").live("click", function(){
		if(attendeeCounter > 1){
			var thePerson = $(this).parents(".person");
			var theFriend = thePerson.next(); 
			
			
			
			if(theFriend && theFriend.hasClass("friend")){
				if(thePerson.prev().get(0).tagName == "HR"){//alert(thePerson.prev().get(0).tagName);
					thePerson.prev().remove();
				}
				theFriend.remove();
			}
			
			thePerson.remove();
		}
	});
	
	// "How did you hear about us" dialog
	$(".dialog.heardAbout").dialog({
		autoOpen:false, 
		closeOnEscape:true, 
		modal:true, 
		title:"How did you hear about us?", 
		width:600, 
		height:350
	});
	
	// Require vip or "how you heard about us"
	$("#btnHeardAboutContinue").click(function(){
		var vip2 = $("#vip_number2");
		var vipValue = vip2.val();
		var heardAboutValue = $("#heard_about").val();
		
		if((vipValue == "" || vipValue == vip2.attr("title")) && heardAboutValue == ""){
			$(".dialog.heardAbout .error").show("fast");
			return;
		}
		
		if(heardAboutValue != ""){
			$("#vip_number").val(heardAboutValue);
		}
		
		if(vipValue != "" && vipValue != vip2.attr("title")){
			$("#vip_number").val(vipValue);
		}
		
		$("#frmAttendee").submit();
		
	});
	
	// "How did you hear about us" dialog
	$(".dialog.downloadDay2,.dialog.downloadDay2CS").dialog({
		autoOpen:false, 
		closeOnEscape:true, 
		modal:true, 
		title:"Add Day 2 to Your Outlook Calendar", 
		width:580, 
		height:175
	});
	
	$(".downloadDay2Link,#btnCloseDownload").click(function(){
		$(this).parents(".dialog").dialog("close");
	});
	
	$("#calendarDownload").click(function(){
		$(".dialog.downloadDay2").dialog("open");
	});
	
	$("#CScalendarDownload").click(function(){
		$(".dialog.downloadDay2CS").dialog("open");
	});
	
	// Form validator
	jQuery.validator.messages.required = "";
	$("form.attendeeValidate").validate({
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				var message = errors == 1
					? 'You missed 1 field. Please correct below.'
					: 'You missed ' + errors + ' fields.  Please correct below.';
				$("div.error span").html(message);
				$("div.error").show();
			} else {
				$("div.error").hide();
			}
		},
		errorLabelContainer: "div.error.attendeeError ul",
		wrapper: "li",
		onkeyup: false,
		submitHandler: function(form) {
			if($("#vip_number").val() == ""){
				$(".dialog.heardAbout").dialog("open");
				$("#vip_number2").blur();
			}else{
				$("div.error").hide();
				form.submit();
			}
		},
		messages: {
			email: {
				required: " ",
				email: "Please enter a valid e-mail address, example: you@yourdomain.com"
			}
		},
		debug:true
	});
	
	// Use same address for billing/shipping as company unless different
	var companyInfoToToggle;
	
	if($("input[name='shipping.sameAsBilling']").length){
		companyInfoToToggle = "shipping.sameAsBilling";
	}else{
		companyInfoToToggle = "billing.sameAsCompany";
	}
	
	$("input[name='" + companyInfoToToggle + "']").change(function(){
		if ($("input[name='" + companyInfoToToggle + "']:checked").val() == 1)
			$(".companyInformation.billing").hide("fast");
		else if ($("input[name='" + companyInfoToToggle + "']:checked").val() == 0)
			$(".companyInformation.billing").show("fast");
	});
	
	// Show/hide payment method fields as appropriate
	if($("#payment_method").val() != "Cr"){
		$(".creditCard").addClass("hide");
	}
	if($("#payment_method").val() != "Pu"){
		$(".purchaseOrder").addClass("hide");
	}
	$("#payment_method").change(function(){
		$(".creditCard").hide("fast");
		$(".purchaseOrder").hide("fast");
		
		if(this.value == "Cr"){$(".creditCard").show("fast");}
		else if(this.value == "Pu"){$(".purchaseOrder").show("fast");}
		
		clearUnneededPaymentFields();
	});
	
	$(".regForm.collapse").addClass("hide");
	$("#viewReceipt").click(function(){
		$(".regForm.collapse").show("fast");
		
		$(this).addClass("hide");
		return false;
	});
});

function clearUnneededPaymentFields(){
	var payment_method = $("#payment_method").val();
	
	// Clear CC inputs if not using CC
	if(payment_method != "Cr"){
		var ccInputs = $(".creditCard input");
		var ccSelects = $(".creditCard select");
		
		for(var i = 0; i < ccInputs.length; i++){
			ccInputs[i].value="";
		}
		for(var i = 0; i < ccSelects.length; i++){
			ccSelects[i].selectedIndex = 0;
		}
	}
	
	// Clear PO input if not using PO
	if(payment_method != "Pu"){
		var poInputs = $(".purchaseOrder input");
		
		for(var i = 0; i < poInputs.length; i++){
			poInputs[i].value="";
		}
	}
}
