
var bulkCheckArray = [
	["element_1","element_1_label"],
	["element_2_1","element_2_1_label,element_2_label"],
	["element_3","element_3_label"],
	["element_4_1","element_4_1_label,element_4_label"],
	["element_5","element_5_label"],
	["element_6_1","element_6_1_label,element_6_label"],
	["element_7","element_7_label"],
	["element_8","element_8_label"],
	["element_9","element_9_label"],
	["element_10_1","element_10_1_label,element_10_label"],
	
	["element_11","element_11_label"],
	["element_12","element_12_label"],
	["element_13","element_13_label"],
	["element_14","element_14_label"],
	["element_15","element_15_label"],
	
	["element_19_1","element_19_label"],
	["element_19_2","element_19_label"],
	["element_19_3","element_19_label"],
	["element_20","element_20_label"],
	["element_99","element_99_label"],
	["element_21","element_21_label"]
];

var premiumShippingCheckArray = [
	["element_29","element_29_label"],
	["element_30_1","element_30_1_label,element_30_label"],
	["element_30_2","element_30_2_label,element_30_label"],
	["element_31_1","element_31_1_label,element_31_label"],
	["element_31_3","element_31_3_label,element_31_label"],
	["element_31_5","element_31_5_label,element_31_label"],
	["element_33_1","element_33_1_label,element_33_label"],
	["element_33_2","element_33_2_label,element_33_label"],
	["element_33_3","element_33_3_label,element_33_label"]
];

var firstClassShippingCheckArray = [
	["element_30_1","element_30_1_label,element_30_label"],
	["element_30_2","element_30_2_label,element_30_label"],
	["element_31_1","element_31_1_label,element_31_label"],
	["element_31_3","element_31_3_label,element_31_label"],
	["element_31_5","element_31_5_label,element_31_label"]
];

var pickUpCheckArray = [
	["element_32_1","element_32_1_label,element_32_label"],
	["element_32_2","element_32_2_label,element_32_label"],
	["element_32_3","element_32_3_label,element_32_label"]
];

function bulkFieldCheck(theForm, fieldsCheckArray){

	var allIsWell = true;
	
	for(elementNumber = 0; elementNumber < fieldsCheckArray.length; elementNumber++){
		if(theForm[fieldsCheckArray[elementNumber][0]].value == ""){
			allIsWell = false;
			var errorFields = fieldsCheckArray[elementNumber][1].split(",");
			for(var field = 0; field < errorFields.length; field ++){
				markError(errorFields[field]);
			}
		}
	}

	return allIsWell;
}

function radioItemChecked(radioElement){
	var somethingChecked = false;
	for(var item in radioElement){
		somethingChecked = ( somethingChecked || radioElement[item].checked);
	}
	return somethingChecked;
}

function validateDelivery(){
	
	var allIsWell = true;
	var deliveryOption = "";
	for(var item in document.form_219148.element_36){
		if(document.form_219148.element_36[item].checked) deliveryOption = document.form_219148.element_36[item].value;
	}
	switch(deliveryOption){
		case "Pick-Up":
			allIsWell = (allIsWell && bulkFieldCheck(document.form_219148,pickUpCheckArray));
			break;
		case "First Class Mail":
			allIsWell = (allIsWell && bulkFieldCheck(document.form_219148,firstClassShippingCheckArray));
			break;
		default:
			allIsWell = (allIsWell && bulkFieldCheck(document.form_219148,premiumShippingCheckArray));
			break;
	}
	
	return allIsWell;
}

function checkForm(){
	
	var theForm = document.form_219148;
	
	document.getElementById("errorDiv").style.display = "none";
	resetTitleStyles(bulkCheckArray);
	resetTitleStyles([["", "element_34_label"]]);
	resetTitleStyles(pickUpCheckArray);
	resetTitleStyles(firstClassShippingCheckArray);
	resetTitleStyles(premiumShippingCheckArray);
	
	var allIsWell = true;

	// do the bulk check
	allIsWell = (allIsWell && bulkFieldCheck(document.form_219148,bulkCheckArray));
	
	// do the radio check
	if(!radioItemChecked(document.form_219148.element_34)){
		markError("element_34_label");
		allIsWell = false;
	}
	
	// do the delivery methods check
	var deliveryCheck = validateDelivery();
	allIsWell = (allIsWell && deliveryCheck );

	if(allIsWell){
		theForm.submit();
		//alert('Form Submited!');
	}else{
		document.getElementById("errorDiv").style.display = "block";
		document.location.href="#formTop";
		return;
	}
	
}

//document.form_219148.debug.value += "checking array item" + checkArrayItem + " : " +updateFields[elementId] + "\n";

function resetTitleStyles(fieldsCheckArray){
	for(var checkArrayItem = 0; checkArrayItem < fieldsCheckArray.length; checkArrayItem++){
		var updateFields = fieldsCheckArray[checkArrayItem][1].split(",");
		for(elementId = 0; elementId < updateFields.length; elementId++){
			document.getElementById(updateFields[elementId]).style.color = "black";
		}
	}
}

function markError(element){
	document.getElementById(element).style.color = "red";
}


function adjustForPickup(){
	document.getElementById("li_29").style.display = "none";
	document.getElementById("li_30").style.display = "none";
	document.getElementById("li_31").style.display = "none";
	document.getElementById("li_32").style.display = "block";
	document.getElementById("li_33").style.display = "none";
}

function adjustForUSPS(){
	document.getElementById("li_29").style.display = "none";
	document.getElementById("li_30").style.display = "block";
	document.getElementById("li_31").style.display = "block";
	document.getElementById("li_32").style.display = "none";
	document.getElementById("li_33").style.display = "none";
}

function adjustForPremium(){
	document.getElementById("li_29").style.display = "block";
	document.getElementById("li_30").style.display = "block";
	document.getElementById("li_31").style.display = "block";
	document.getElementById("li_32").style.display = "none";
	document.getElementById("li_33").style.display = "block";
}

function deliveryAdjustment(selectedValue){
	switch(selectedValue){
		case "Pick-Up":
			adjustForPickup();
			break;
		case "First Class Mail":
			adjustForUSPS();
			break;
		default:
			adjustForPremium();
			break;
	}
}
