;(function($){
	$(document).ready(function() {
		var globalValue = -1;
		var globalName = 'justInitNow123'
		var globalBaseCost = $("#baseCostHidden").attr('value');
		
		//TouchNet JavaScript Redirect work around (ie: TouchNet Fail)
		$('#fixMe').replaceWith($('#onToTouchnet').attr('title'));
		$('#indexForm').submit();
		//End TouchNet Work Around
		
		//ToolTips
		$("input[class*='helpMe']", this).tooltip({
			delay: 0, 
			showURL: false,
			showBody: ';'
		});
		
		$("textarea[class*='helpMe']", this).tooltip({
			delay: 0, 
			showURL: false,
			showBody: ';'
		});
		//End ToolTips
		
		//OnBlur for validation
		$("input[class*='requ'], textarea[class*='requ']", this).blur(function(event){
			var theFunctions = $(this).attr('validation');
			var theElement = event.target;
			
			$.ajax({
				type:"post",
				url:"/admin/plugins/registration/service/events/ajax.cfc?method=blurValidate",
				data:{ func: $(this).attr('validation'),userInput:$(this).attr('value'),extraValues:$(this).attr('extraValues'),fieldID:$(this).attr('fieldID') },
				dataType:"json",
				success:function(data){
					//alert("success: "+this);
					$("div.warning", $(theElement).parents("label")).remove();
					
					for(key in data) {
						var value = data[key];
						//do whatever you want with the data, such as:
						if(value != '')
						{
							$(theElement).parents('label').append('<div class="warning">'+value+"</div>");
							//console.log("The value of ", key, " is ", value);
						}
					}
				},
				error:function(XMLHttpRequest, textStatus, errorThrown){
					//alert("error: "+textStatus+" "+errorThrown);
				}
			});
		});
		//End OnBlur for validation
		
		//Adds and subtracts values from the base Cost
		function adjustCost(){
			totalCost = globalBaseCost;
			$(".addToCost").each(function () {
				if($(this).is(":checked") || $(this).is(":selected"))
				{
					theValue = $(this).attr('value');
					tempAmt = $("input[id$='" + theValue + "']").attr('value');
					totalCost = parseFloat(totalCost) + parseFloat(tempAmt);
				}
			});
			
			$("#baseCostHidden").val(totalCost);
			$('#baseCostHidden').formatCurrency('#showCost', { colorize:false });
		}
		
		$(".addToCost").live('click', function() {
			adjustCost();
		});
		
		$("select.addToCost").live('change', function() {
			adjustCost();
		});
		
		/*$(".addToCost").click(function() {
			//Initialize variables.
			var baseCost = $("#baseCostHidden").attr('value');
			var totalCost = 0;
			var tempAmt = 0;
			var tempName = $(this).attr('name');
			
			//console.log("before: globalName "+globalName);
			
			if ($(this).is('input[type="radio"]') || $(this).is('option'))
			{
				if(($(this).is(":checked") || $(this).is(":selected")) && $(this).attr('value') != globalValue)
				{
					//I believe this will subtract the old value
					if(globalValue != -1 && globalName == tempName )
					{
						tempAmt = $("input[id$='" + globalValue + "']").attr('value');
						totalCost = (parseFloat(baseCost) - parseFloat(tempAmt));
						
						$("#baseCostHidden").val(totalCost);
						$('#baseCostHidden').formatCurrency('#showCost', { colorize:false });
						baseCost = $("#baseCostHidden").attr('value');
					}
					
					//Reset values and then add correct amount
					globalValue = $(this).attr('value');
					globalName = $(this).attr('name');
					
					tempAmt = $("input[id$='" + globalValue + "']").attr('value');
					totalCost = (parseFloat(baseCost) + parseFloat(tempAmt));
					
					$("#baseCostHidden").val(totalCost);
					$('#baseCostHidden').formatCurrency('#showCost', { colorize:false });
				}
			}
			else
			{
				theValue = $(this).attr('value');
				tempAmt = $("input[id$='" + theValue + "']").attr('value');
			}
			
			if(!$(this).is('input[type="radio"]') && !$(this).is('option'))
			{
				if($(this).attr('checked'))
				{
					tempAmt = $("input[id$='" +theValue+ "']").attr('value');
					totalCost = (parseFloat(baseCost) + parseFloat(tempAmt));
					
					$("#baseCostHidden").val(totalCost);
					$('#baseCostHidden').formatCurrency('#showCost', { colorize:false });
					//$("#showCost").text("$"+totalCost);
				}
				else
				{
					tempAmt = $("input[id$='" +theValue+ "']").attr('value');
					
					totalCost = (parseFloat(baseCost) - parseFloat(tempAmt));
					
					$("#baseCostHidden").val(totalCost);
					$('#baseCostHidden').formatCurrency('#showCost', { colorize:false });
				}
			}
			
		});*/
		
		//Control tabs for multi-step forms
		var tabOptions = {
			show: function(event, ui)
			{
				//console.log(ui);
				$("input:first",ui.panel).focus();
			}
		};
		
		var $tabs = $("#steps #tabs").tabs(tabOptions);
		
		$('.tabControl .next').click(function() { // bind click event to link
			nextTab($tabs);
			return false;
		});
		
		$tabs.tabs({show: function(event, ui) {
			//console.log(event+" "+ui);
		}});
		
		$('#showEvent input').live("keypress", function(e)
		{
			/* ENTER PRESSED*/
			if (e.keyCode == 13)
			{
				
				var totalTabs = $tabs.tabs('length');
				if($tabs.tabs('length') > 0)
				{
					totalTabs = totalTabs - 1;
				}
				
				if($tabs.tabs('option', 'selected') != totalTabs)
				{
					nextTab($tabs);
				}
				else if($tabs.tabs('option', 'selected') == totalTabs || totalTabs == 0)
				{
					$("#showEvent").submit();
				}
								
				return false;
			}
		});
		
		function nextTab(tabInstance)
		{
			tabInstance.tabs('select', $tabs.tabs('option', 'selected')+1);
		}
	});
})(jQuery);
