// flex pass form js

function updateAdultSubtotal(){
	var adult_pass = parseInt(((document.getElementsByName('family[adult]')[0].value == '') ? 0 : document.getElementsByName('family[adult]')[0].value)) * 95;
	
	var adultSub = document.getElementById('adultSubtotal');
	adultSub.innerHTML = adult_pass + '.00';
	
	var hiddenAdultSubtotal = document.getElementById('hiddenAdultSubtotal');
	hiddenAdultSubtotal.value = adult_pass;
	// update total
	updateTotal();
}

function updateChildSubtotal(){
	var child_pass = parseInt(((document.getElementsByName('family[child]')[0].value == '') ? 0 : document.getElementsByName('family[child]')[0].value)) * 50;
	
	var childSub = document.getElementById('childSubtotal');
	childSub.innerHTML = child_pass + '.00';
	
	var hiddenChildSubtotal = document.getElementById('hiddenChildSubtotal');
	hiddenChildSubtotal.value = child_pass;
	// update total
	updateTotal();
}

function updateCarolSubtotal(){
	var carol_adult = parseInt(((document.getElementsByName('family[carol_adult]')[0].value == '') ? 0 : document.getElementsByName('family[carol_adult]')[0].value)) * 44;
	var carol_child = parseInt(((document.getElementsByName('family[carol_child]')[0].value == '') ? 0 : document.getElementsByName('family[carol_child]')[0].value)) * 19;
	var family_carol = (carol_adult + carol_child);
	
	var carolSub = document.getElementById('carolSubtotal');
	carolSub.innerHTML = family_carol + '.00';
	
	var hiddenCarolSubtotal = document.getElementById('hiddenCarolSubtotal');
	hiddenCarolSubtotal.value = family_carol;
	// update total
	updateTotal();
}

function updateDonationSubtotal(){
	var donation = parseInt(((document.getElementsByName('donation[amount]')[0].value == '') ? 0 : document.getElementsByName('donation[amount]')[0].value));
	// donation subtotal + addon subtotal +  package subtotal
	var don_subtotal = donation;
	// update page
	var donSub = document.getElementById('donationSubtotal');
	donSub.innerHTML = (don_subtotal) + '.00';
	// update hidden field
	var hiddenDonationSubtotal = document.getElementById('hiddenDonationSubtotal');
	hiddenDonationSubtotal.value = donation;
	// update total
	updateTotal();
}

function updateTotal(){
	var total = parseInt(document.getElementById('hiddenAdultSubtotal').value);
		total += parseInt(document.getElementById('hiddenChildSubtotal').value);
		total += parseInt(document.getElementById('hiddenCarolSubtotal').value);
		total += parseInt(document.getElementById('hiddenDonationSubtotal').value);
	// update page
	var totalSub = document.getElementById('total');
	totalSub.innerHTML = (total) + '.00';
	// update hidden field
	var hiddenTotal = document.getElementById('hiddenTotal');
	hiddenTotal.value = total;
}


function checkFamilyForm(){
	var error = false;
	var alert_text = 'Missing required fields:\n\n';
	
	// check passes for input
	var hiddenAdultSubtotal = document.getElementById('hiddenAdultSubtotal').value;
	if(hiddenAdultSubtotal == 0){
		alert_text += ' - You must add at least one ticket\n\n';
		error = true;
	}
		
	// check donation for integer
	var donation = document.getElementsByName('donation[amount]')[0].value;
	if(parseInt(donation) == 'NaN'){
		alert_text += '- The donation amount is not a number.\n';
		error = true;
	}
	
	// check personal information
	var fname = document.getElementsByName('personal[fname]')[0].value;
	var lname = document.getElementsByName('personal[lname]')[0].value;
	var email = document.getElementsByName('personal[email]')[0].value;
	var email_check = document.getElementsByName('personal[email_check]')[0].value;
	var address = document.getElementsByName('personal[address]')[0].value;
	var city = document.getElementsByName('personal[city]')[0].value;
	var state = document.getElementsByName('personal[state]')[0].value;
	var zip = document.getElementsByName('personal[zip]')[0].value;
	var phone = document.getElementsByName('personal[phone]')[0].value;
	var cell = document.getElementsByName('personal[cell]')[0].value;
	
	if(fname == '' || fname == ' '){
		alert_text += '- First name is required.\n';
		error = true;
	}
	if(lname == '' || lname == ' '){
		alert_text += '- Last name is required.\n';
		error = true;
	}
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if (email.search(emailRegEx) == -1) {
    	alert_text += '- Email address is not valid.\n';
		error = true;
	} else if(email != email_check){
		alert_text += '- Emails do not match.\n';
		error = true;
	}
	if(address == '' || address == ' '){
		alert_text += '- Address is required.\n';
		error = true;
	}
	if(city == '' || city == ' '){
		alert_text += '- City is required.\n';
		error = true;
	}
	if(state == '' || state == ' '){
		alert_text += '- State is required.\n';
		error = true;
	}
	if(zip == '' || zip == ' '){
		alert_text += '- Zip is required.\n';
		error = true;
	}
	if((phone == '' || phone == ' ') && (cell == '' || cell == '')){
		alert_text += '- A home phone or cell phone number is required.\n';
		error = true;
	}
	
	// additional requests
	var add_requests = document.getElementsByName('personal[requests]')[0].value;
	
	if(error == false){
		document.getElementById('subscription_form').action = "/forms/family_submit.php";
		setTimeout("document.getElementById('subscription_form').submit();",500);
	} else {
		alert(alert_text);
		return false;
	}
}

function limit_num(t){
	var numb = "0123456789";
	var w = '';
	for(i=0; i < t.value.length; i++){
		x = t.value.charAt(i);
		if(numb.indexOf(x,0) != -1){
			w += x;
		}
	}
	t.value = w;
}