(function($) {
$(function() {
var confirm = false;
$( "#tabs" ).tabs({ 
	selected: 0,
	disabled: [2],
	select: function(event, ui) { 
		if(ui.panel.id == "tabs-3" && !confirm) {
			confirm = true;
			$("#dialog-confirm").dialog({
				resizable: false,
				height: 550,
				modal: true,
				width: 800,
				buttons: {
					"I agree to the Terms & Conditions": function() { $( this ).dialog( "close" ); },
					Cancel: function() { $( this ).dialog( "close" ); }
				}
			});
		}
	}
});


//validation
$('#tabs input').change(function() {
	if($('#basic_name').val() != '' && $('#basic_business').val() != '' && $('#basic_address').val() != '' && $('#basic_city').val() != '' && $('#basic_zip').val() != '' && $('#choice_1').val() != '') {
		$('#tabs').tabs("option","disabled",[]);
	}

	if($('#agree_btn').attr('checked')) {
		$('#mail_form').show();
		$('#agree_btn').attr('disabled', true);
	}
});


$('#reg_gallery a').lightBox();



var corner = 40;					//Corner Booth Cost
//Early Registration Cost
var e_rf_8 = 415;				//Food Retail 1/8 Ad
var e_rf_4 = 520;				//Food Retail 1/4 Ad
var e_rf_2 = 730;				//Food Retail 1/2 Ad
var e_rf_full = 1185;			//Food Retail full Ad
var e_rf_add = 365;			//Food Retail Additional Booth Cost
var e_cb = 275;					//Craft Booth Cost
var e_cb_add = 220;			//Craft Addlitional Booth Cost

//Last Registration Cost
if(late_registration) {
	e_rf_8 = 465;					//Food Retail 1/8 Ad
	e_rf_4 = 570;					//Food Retail 1/4 Ad
	e_rf_2 = 780;					//Food Retail 1/2 Ad
	e_rf_full = 1235;				//Food Retail full Ad
	e_rf_add = 415;				//Food Retail Additional Booth Cost
	e_cb = 325;						//Craft Booth Cost
	e_cb_add = 270;				//Craft Addlitional Booth Cost
}

var booth_type = "food";
var addl_cost = e_rf_add;
var booth_base = e_rf_8;

$('.vendor_type').change(function() {
	if($('#type_crafts').attr('checked')) {
		booth_type = "craft"; 
		addl_cost = e_cb_add;
		booth_base = e_cb;
		boothMath();
	} else if($('#type_food_retail').attr('checked')) {
		booth_type = "food";
		addl_cost = e_rf_add;
		adSize();
	}
});


$('.ad_size').change(function() { adSize(); });
$('.cloan_booth').live("keyup", function(obj) { boothMath(obj.target); });
$('.booth_corner').live("change", function(obj) { cornerMath(obj.target); });


//Caculate Booth Cost
function boothMath(obj, remove) {
	var booth_addtl = 0;
	var num_booths = 0;

	$('.cloan_booth').each(function() { if($(this).val()) { num_booths++; } });
	if(num_booths > 1) { booth_addtl = (num_booths - 1) * addl_cost; }
	var calc_cost = false;
	$('.cloan_booth').each(function() { if($(this).val()) { calc_cost = true; } });

	if(calc_cost) {
		$('#booth_cost').val(booth_base + booth_addtl);
		obj2 = null;
		if(obj) { obj2 = $(obj).next(); }
		cornerMath(obj2, remove);
		updateDataForm1();
	}

}

//Caculate Base booth cost for Food/Retail
function adSize() {
	if($("#ad_1_8").attr('checked')) {
		booth_base = e_rf_8;
	} else if($("#ad_1_4").attr('checked')) {
		booth_base = e_rf_4;
	} else if($("#ad_1_2").attr('checked')) {
		booth_base = e_rf_2;
	} else if($("#ad_full").attr('checked')) {
		booth_base = e_rf_full;
	}

	boothMath();
	if($('.cloan_booth:first').val()) { updateDataForm1(); }
}

//Caculate Corner Cost
function cornerMath(obj, remove) {
	var checked_boxes = 0;
	$(".booth_corner").each(function() {
		if($(this).attr("checked")) { checked_boxes++; }
	});

	if(obj) { if($(obj).prev().val()) { $('#corner_charge').val(checked_boxes * corner); } }
	if(remove) { $('#corner_charge').val(checked_boxes * corner); }
	updateDataForm1();
}



//Ad Space Toggle
$('.vendor_type').change(function(){
	if($('#type_crafts').attr('checked')) {
		$('#ad_space_table').hide();
	} else {
		$('#ad_space_table').show();
	}
});

//Price Update
$('.pay_amt').change(function(){
	updateDataForm3();
});


var num = 1;
$('#more_booths').click(function() {
	var newNum = new Number(num + 1);
	var newElem = $($('.cloan_1').get(0)).clone();
	$($(newElem).find('input').get(0)).attr('id', 'choice_' + newNum).attr('name', 'choice_' + newNum).val('');
	$($(newElem).find('input').get(1)).attr('checked', false);
	$(newElem).find('label').html('Choice #' + newNum);
	$('#booth_table').append(newElem);
	$($('#less_booths').find('label').get(0)).html('Booth #' +  newNum);
	$('#less_booths').css('display', "inline");
	num++;
	$('#booth_num').val(num);
});


$('#less_booths').click(function() {
	if($('#booth_table').find('tr').length > 1) {
		$('#booth_table').find('tr:last').remove();
		num--;
		$('#booth_num').val(num);
		$($('#less_booths').find('label').get(0)).html('Booth #' +  num);
		boothMath(null, true);
	}

	if($('#booth_table').find('tr').length == 1) { $('#less_booths').hide(); }
});



$('#booth_cost').keyup(function(){updateDataForm1(this);});
$('#corner_charge').keyup(function(){updateDataForm1(this);});
$('#elec_110').keyup(function(){updateDataForm2(this);});
$('#elec_220').keyup(function(){updateDataForm2(this);});

});

jQuery.fn.replaceAttr = function() { 
	var new_value = $(this).val().replace(/[A-Za-z\s$-.]/g, ""); 
	if(new_value == '') { new_value = 0;  }
	$(this).val(new_value); 
	return parseFloat(new_value); 
};

})(jQuery);



function updateDataForm1(obj) {
	if(obj) { $(obj).change(function() { $(obj).val(parseFloat($(obj).val()).toFixed(0)); }); }
	var bc = $('#booth_cost').replaceAttr();
	var cc= $('#corner_charge').replaceAttr();
	$('#total_booth').val(bc + cc);
	updateDataForm3();
}

function updateDataForm2(obj) {
	if(obj) { $(obj).change(function() { $(obj).val(parseFloat($(obj).val()).toFixed(0)); }); }
	var e110 = $('#elec_110').replaceAttr();
	var e220 = $('#elec_220').replaceAttr();
	var etotal = (e110 * 45) + (e220 *  60);
	$('#total_elec').val(etotal);
	updateDataForm3();
}

function updateDataForm3() {
	var bt = $('#total_booth').replaceAttr();
	var et = $('#total_elec').replaceAttr();
	
	if($('#pp_half').attr('checked')) {
		$('#amount_due').val((bt + et) / 2);
	} else {
		$('#amount_due').val((bt + et));
	}
	
	$('#grand_total').val(bt + et);
}

