function check_state_id (form_element) {
	var state_test=isStateCode(form_element.value, false);
	if (state_test) {
		return true;
	} else {
		alert ("Please enter a valid US State. (must be CAPITAL letters)");
		form_element.focus();
		return false;
	}
}


function getSelectedButton(buttongroup) {
	for(var i=0; i < buttongroup.length; i++) {
		if (buttongroup[i].checked) {
			return i;
		}
	}
	return "n/a";
}

function validate_shipping (form) {
	var temp=getSelectedButton(form.shipping_address);
	if (temp != "n/a" && checkString(form.elements["attention"],sAttention,false) && form.shipping_address[temp].value == "database") {
		return true;
	} else if (temp != "n/a" && checkString(form.elements["attention"],sAttention,false) && form.shipping_address[temp].value == "new_address"
	&& checkString(form.elements["street"],sUSAddress,false) &&
	checkString(form.elements["city"],sCity,false) &&
	checkString(form.elements["state_id"],sStateCode,false) &&
	check_state_id(form.elements["state_id"]) && 
	checkString(form.elements["zipcode"],sZIPCode,false) &&
	checkZIPCode(form.elements["zipcode"],false)
	) {
		return true;
	} else if (temp == "n/a") {
		alert("Please select a shipping address.");
		return false;
	} else {
		return false;
	}

}

function check_expiration_month(form) {
	var temp = isMonth(form.elements["ExpirationMonth"].options[form.elements["ExpirationMonth"].selectedIndex].value,false);
	if (temp) {
		return true;
	} else {
		form.elements["ExpirationMonth"].focus();
		alert ("You must select an expiration month.");
		return false;
	}
}

function check_cc_type(form) {
	var temp = form.elements["cc_type"].options[form.elements["cc_type"].selectedIndex].value;
	if (temp != "null") {
		return true;
	} else {
		form.elements["cc_type"].focus();
		alert ("You must select an accepted Credit Card.");
		return false;
	}
}


function check_expiration_year(form) {
	var temp = isYear(form.elements["ExpirationYear"].options[form.elements["ExpirationYear"].selectedIndex].value,false);
	if (temp) {
		return true;
	} else {
		form.elements["ExpirationYear"].focus();
		alert ("You must select an expiration year.");
		return false;
	}
}

function check_cc_number(form_element) {
	if ( isCreditCard(form_element.value)) {
		return true;
	}else {
		form_element.focus();
		alert ("You must enter a valid credit card number.");
		return false;
	}
	
}

function validate_creditcard_information(form)
{

	if (checkString(form.elements["cc_holder"],scardholder,false) && check_cc_type(form) && checkString(form.elements["cc_number"],sCreditCardNumber,false) && check_cc_number(form.elements["cc_number"]) &&
	check_expiration_month(form) && check_expiration_year(form))
	{
		return true;	
	} else {
		return false;
	}

}


function validate_billing (form) {
	
	var temp=getSelectedButton(form.billing_address);
	if (temp != "n/a" && form.billing_address[temp].value == "database" && validate_creditcard_information(form)) {
		return true;
	} else if (temp != "n/a" && form.billing_address[temp].value == "new_address"
	&& checkString(form.elements["street"],sUSAddress,false) &&
	checkString(form.elements["city"],sCity,false) &&
	checkString(form.elements["state_id"],sStateCode,false) &&
	check_state_id(form.elements["state_id"]) && 
	checkString(form.elements["zipcode"],sZIPCode,false) &&
	checkZIPCode(form.elements["zipcode"],false) && validate_creditcard_information(form)
	) {
		return true;
	} else if (temp == "n/a") {
		alert("Please select a billing address.");
		return false;
	} else {
		return false;
	}
}



function validate_order (form) {
alert("This needs to insert data into the database. It also needs to format and send appropriate data to the CC processer and confirm payment BEFORE sending the user a confirmation order number.");
return false;

}