﻿var registrationHTML = "";

function showRegistrationForm(container)
{
		var eventid = container.attr("eventid");
		clearErrorMessages($('body'));
		$.ajax({
			url:"/_layouts/PortalAPI.asmx/getRegistrationTemplate",
			enctype: 'multipart/form-data',
			type:"POST",
			data:{"eventId":eventid},
			success:function(data){
					var registrationTemplate = $.xml2json(data);
					if(registrationTemplate.IncludeAllowNotes == undefined || registrationTemplate.IncludeAllowNotes == null)
					{
						container.html('');
						return;
					}
					if(registrationHTML.length == 0)
					{
						$.get("/html/ministries/events/registration-template.html","",function(data){
							registrationHTML= data;
							container.html(registrationHTML);
							showRegistrationContent(eventid,container,registrationTemplate);
						},"html");
					}
					else
					{
						container.html(registrationHTML);
						showRegistrationContent(eventid,container,registrationTemplate);
					}
				},
			error:function(data){
				},
			dataType:"xml"
		});
}

function showRegistrationContent(eventid,container,registrationTemplate)
{
	if(registrationTemplate.Introduction != null && registrationTemplate.Introduction != undefined && registrationTemplate.Introduction.length > 0)
		$("#registration-introduction").html(registrationTemplate.Introduction);
	
	if(registrationTemplate.IncludeAllowNotes == "false")
		$("textarea[id=notes]").parent().hide();
		
	if(registrationTemplate.IncludeArriveEarly == "false")
		$("input[id=arriveearly]").parent().hide();
		
	if(registrationTemplate.IncludeBringDessert == "false")
		$("input[id=bringdessert]").parent().hide();
		
	if(registrationTemplate.IncludeBringDrinks == "false")
		$("input[id=bringdrinks]").parent().hide();
	
	if(registrationTemplate.IncludeBringSnacks == "false")
		$("input[id=bringsnacks]").parent().hide();
	
	if(registrationTemplate.IncludeBringMain == "false")
		$("input[id=bringmain]").parent().hide();
	
	if(registrationTemplate.IncludeChildcare == "false")
	{
		$("input[id=childcare]").parent().hide();
		$("input[id=numberofchildren]").parent().hide();
		$("input[id=ageofchildren]").parent().hide();
	}
	else
	{
		if(registrationTemplate.IncludeChildAge == "false")
			$("input[id=ageofchildren]").parent().hide();	
	}

	if(registrationTemplate.IncludeNumberOfParticipants == "false")
	{
		$("input[id=numberofpeople]").parent().hide();
		$("input[id=ageofpeople]").parent().hide();
	}
	else
	{
		if(registrationTemplate.IncludeParticipantAge == "false")
			$("input[id=ageofpeople]").parent().hide();
	}

	if(registrationTemplate.IncludePrimaryLanguage == "false")
		$("select[id=primarylanguage]").parent().hide();

	if(registrationTemplate.IncludeShifts == "false")
	{
		$("input[id=shift1]").parent().hide();
	}
	else
	{
		$("input[id=shift1]").parent().children("input[type=checkbox]").bind("click",function(){
			var temp = "";

			if($("input[id=shift1]")[0].checked)
				temp += "1,";

			if($("input[id=shift2]")[0].checked)
				temp += "2,";

			if($("input[id=shift3]")[0].checked)
				temp += "3,";
			
			if(temp.length > 0)
				temp = temp.substr(0,temp.length-1);
			$("input[id=shiftstring]").val(temp);
		});
	}

	if(registrationTemplate.IncludeSpouseName	 == "false")
		$("input[id=spouse]").parent().hide();
	
	container.children(".event-registration-form").slideDown(100);
	
	var registrationParams = [
		{"id":"","name":"eventId","type":"","value":parseInt(eventid)},
		{"id":"salutation","name":"salutation","type":"select","value":""},
		{"id":"first-name","name":"firstName","type":"text","value":""},
		{"id":"last-name","name":"lastName","type":"text","value":""},
		{"id":"street1","name":"address","type":"text","value":""},
		{"id":"city","name":"city","type":"text","value":""},
		{"id":"state","name":"state","type":"select","value":""},
		{"id":"zip","name":"postalCode","type":"text","value":""},
		{"id":"Phone","name":"phone","type":"text","value":""},
		{"id":"email","name":"email","type":"text","value":""},
		{"id":"spouse","name":"spouseName","type":"text","value":""},
		{"id":"numberofchildren","name":"numberOfChildren","type":"text","value":""},
		{"id":"ageofchildren","name":"ageOfChildren","type":"text","value":""},
		{"id":"numberofpeople","name":"numberOfParticipants","type":"text","value":""},
		{"id":"ageofpeople","name":"ageOfParticipants","type":"text","value":""},
		{"id":"arriveearly","name":"canArriveEarly","type":"checkbox","value":""},
		{"id":"bringdrinks","name":"bringingDrinks","type":"checkbox","value":""},
		{"id":"bringsnacks","name":"bringingSnacks","type":"checkbox","value":""},
		{"id":"bringmain","name":"bringingMain","type":"checkbox","value":""},
		{"id":"bringdessert","name":"bringingDessert","type":"checkbox","value":""},
		{"id":"shiftstring","name":"shiftsAvailable","type":"hidden","value":""},
		{"id":"primarylanguage","name":"primaryLanguage","type":"select","value":""},
		{"id":"notes","name":"notes","type":"textarea","value":""}
	];
	
	setupWebServicePost("event-registration-form","submit-registration-button","/_layouts/PortalAPI.asmx/registerForEvent",registrationParams,registrationSucceeded,registrationFailed,registrationFormValidation,null);
}

function registrationSucceeded(result)
{
	var container = $('body');
	clearErrorMessages(container);
	$("#event-registration-form").replaceWith("<h2>Your registration has been completed.</h2>");
}

function registrationFailed(result)
{
	var container = $('body');
	clearErrorMessages(container);
	$("#event-registration-form").replaceWith("<h2>Unable to complete your registration at this time. Please try again later or contact us for assistance.</h2>");
}

function registrationFormValidation(container,eventInfo)
{
	var container = $('body');
	var validationFailed = false;

	clearErrorMessages(container);
	
	if(!validateFieldRequired(container,$('#first-name')))
		validationFailed = true;
	if(!validateFieldRequired(container,$('#last-name')))
		validationFailed = true;
	if(!validateFieldRequired(container,$('#street1')))
		validationFailed = true;
	if(!validateFieldRequired(container,$('#city')))
		validationFailed = true;
	if(!validateFieldRequired(container,$('#state')))
		validationFailed = true;
	if(!validateFieldRequired(container,$('#zip')))
		validationFailed = true;
	if(!validateFieldRequired(container,$('#Phone')))
		validationFailed = true;
	if(!validateFieldRequired(container,$('#email')))
		validationFailed = true;
	
	if($("input[id=childcare]:visible").length > 0)
	{
		if($("input[id=childcare]")[0].checked)
		{
			if(!validateFieldRequired(container,$("input[id=numberofchildren]")))
				validationFailed = true;
			if(!validateFieldRequired(container,$("input[id=ageofchildren]")))
				validationFailed = true;
			if(!validateNumber(container,$("input[id=numberofchildren]")))
				validationFailed = true;
		}
	}

	if($("input[id=numberofpeople]:visible").length > 0)
	{
		if(!validateFieldRequired(container,$("input[id=numberofpeople]")))
			validationFailed = true;
		if($("input[id=ageofpeople]:visible").length > 0 && !validateFieldRequired(container,$("input[id=ageofpeople]")))
			validationFailed = true;	
		if(!validateNumber(container,$("input[id=numberofpeople]")))
			validationFailed = true;
	}

	if($("select[id=primarylanguage]:visible").length > 0)
		if(!validateFieldRequired(container,$("select[id=primarylanguage]")))
			validationFailed= true;

	if(validationFailed)
		return false;
		
	return true; 
}








