// ---------- Cart Functions.

// ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Get & Set (Calculated) Value Functions.

function cart_getValues() {
	
	var subtotal_amount_product = parseFloat(document.getElementById('subtotal_amount_product').value);
	var subtotal_amount_giftcard = parseFloat(document.getElementById('subtotal_amount_giftcard').value);
	var subtotal_amount_insurance = parseFloat(document.getElementById('subtotal_amount_insurance').value);
	var subtotal_amount_delivery = parseFloat(document.getElementById('subtotal_amount_delivery').value);
	var subtotal_amount_delivery_calculate = document.getElementById('subtotal_amount_delivery_calculate').value;
	var subtotal_amount_discount = parseFloat(document.getElementById('subtotal_amount_discount').value);
	var subtotal_amount = parseFloat(document.getElementById('subtotal_amount').value);
	var tax_calculate = document.getElementById('tax_calculate').value;
	var tax_rate = document.getElementById('tax_rate').value;
	var tax_amount = parseFloat(document.getElementById('tax_amount').value);
	var total_amount = parseFloat(document.getElementById('total_amount').value);
	
	return [subtotal_amount_product, subtotal_amount_giftcard, subtotal_amount_insurance, subtotal_amount_delivery, subtotal_amount_delivery_calculate, subtotal_amount_discount, subtotal_amount, tax_calculate, tax_rate, tax_amount, total_amount];
	
}

function cart_setValues(subtotal_amount_product, subtotal_amount_giftcard, subtotal_amount_insurance, subtotal_amount_delivery, subtotal_amount_delivery_calculate, subtotal_amount_discount, tax_calculate, tax_rate) {
	
	var subtotal_amount = 0;
	var tax_amount = 0;
	var total_amount = 0;
	var taxable_amount = (subtotal_amount_product + subtotal_amount_insurance + subtotal_amount_delivery) - subtotal_amount_discount;
	
	subtotal_amount = (subtotal_amount_product + subtotal_amount_giftcard + subtotal_amount_insurance + subtotal_amount_delivery) - subtotal_amount_discount;
	
	document.getElementById('subtotal_amount').value = subtotal_amount;
	document.getElementById('summary_cell_subtotal_amount').innerHTML = '$' + cart_formatCurrency(subtotal_amount);
	
	if (tax_calculate == "true") {
		
		if (subtotal_amount_product > 0 || subtotal_amount_delivery > 0) {
			
			if (tax_rate.indexOf('|') > -1) {
				
				var tax_list = tax_rate.split(",");
				
				var this_floor = 0.00;
				var this_amount = 0.00;
				var this_tax = 0.00;
				
				for (i = 0; i < tax_list.length; i++) {
					
					if (taxable_amount >= this_floor) {
					
						var this_item = tax_list[i].split("|");
						
						var this_rate = parseFloat(this_item[0] / 100);
						var this_ceiling = parseFloat(this_item[1]);
						
						if (taxable_amount >= this_ceiling) {
							
							this_amount = this_ceiling - this_floor;
							
						}
						
						if (taxable_amount < this_ceiling) {
							
							this_amount = taxable_amount - this_floor;
							
						}
						
						this_tax = this_amount * this_rate;
						tax_amount = tax_amount + this_tax;
						
						this_floor = this_ceiling + 0.01;
						
					}
					
				}
				
				if (taxable_amount > this_floor) {
				
					this_amount = taxable_amount - this_floor;
					
					this_tax = this_amount * 0.07;
					tax_amount = tax_amount + this_tax;
				
				}
				
			} else {
			
				tax_amount = taxable_amount * parseFloat(tax_rate);
			
			}
			
		}
		
	}
	
	document.getElementById('tax_amount').value = tax_amount;
	document.getElementById('summary_cell_tax_amount').innerHTML = '$' + cart_formatCurrency(tax_amount);
	
	total_amount = subtotal_amount + tax_amount;
	
	document.getElementById('total_amount').value = total_amount;
	document.getElementById('summary_cell_total_amount').innerHTML = '$' + cart_formatCurrency(total_amount);
	
}

// ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Currency Functions.

function cart_formatCurrency(num) {
	
	num = num.toString().replace(/\$|\,/g,'');
	
	if(isNaN(num))
		
		num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		
	if(cents<10)
	
		cents = "0" + cents;
		
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+','+
			num.substring(num.length-(4*i+3));
	
	return (((sign)?'':'-') + num + '.' + cents);

}

// ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Update Count Functions.

function cart_updateCount_product(recID, newCount, lastCount, pricePer, containerObj, containerGrp, typeCount, allCount) {
	
	if (newCount == null) {
		var newCount_val = 0;
	} else {
		var newCount_val = document.getElementById(newCount).value;
	}
	
	var lastCount_val = document.getElementById(lastCount).value;
	var pricePer_val = document.getElementById(pricePer).value;
	
	var count_change = 0;
	
	var bad_character_found = false;
	var bad_character_list = "abcdefghijklmnopqrstuvwxyz,<.>/?;:'\"[{]}\\|`~!@#$%^&*()-_=+ ";
	
	var message_remove = "Are you sure you want to remove this product from the shopping cart?";
	
	if (newCount != null) {
	
		for (i = 0; i < bad_character_list.length; i++) {
			
			if (document.getElementById(newCount).value.toLowerCase().indexOf(bad_character_list[i]) > -1) {
				bad_character_found = true;
			}
		}
		
	}
	
	if (bad_character_found == true) {
		
		document.getElementById(newCount).value = lastCount_val;
		document.getElementById(newCount).focus();
		
	} else {
		
		if (newCount_val < 1) {
			
			if (confirm(message_remove)) {
				
				document.getElementById(typeCount).value = document.getElementById(typeCount).value - lastCount_val;
				document.getElementById(allCount).value = document.getElementById(allCount).value - lastCount_val;
				
				document.getElementById(containerObj).style.display = 'none';
				
				if (document.getElementById(typeCount).value == 0) {
					document.getElementById(containerGrp).style.display = 'none';
				}
				
				if (document.getElementById(allCount).value == 0) {
					document.getElementById('cartFull').style.display = 'none';
					document.getElementById('cartClear').style.display = 'block';
				}
				
				document.getElementById('frm_action').src='/frame/frame_action_cart_item_remove.html?type=Product&id='+ recID;
				
				cart_updateSummary_product(lastCount_val, newCount_val, pricePer_val);
				
			} else {
				
				if (newCount != null) {
					document.getElementById(newCount).value = lastCount_val;
				}
			
			}
		
		} else {
			
			if (newCount_val != lastCount_val) {
				
				if (newCount_val > lastCount_val) {
					count_change = newCount_val - lastCount_val;
					document.getElementById(typeCount).value = parseInt(document.getElementById(typeCount).value) + count_change;
					document.getElementById(allCount).value = parseInt(document.getElementById(allCount).value) + count_change;
				}
				
				if (newCount_val < lastCount_val) {
					count_change = lastCount_val - newCount_val;
					document.getElementById(typeCount).value = parseInt(document.getElementById(typeCount).value) - count_change;
					document.getElementById(allCount).value = parseInt(document.getElementById(allCount).value) - count_change;
				}
				
				document.getElementById(lastCount).value = newCount_val;
				
				document.getElementById('frm_action').src='/frame/frame_action_cart_item_update_qty.html?type=Product&id='+ recID +'&qty='+ newCount_val;
				
				cart_updateSummary_product(lastCount_val, newCount_val, pricePer_val);
				
			}
			
		}
		
	}
	
}

function cart_updateCount_product_byKey(e, recID, newCount, lastCount, pricePer, containerObj, containerGrp, typeCount, allCount) {
	
	var key;
	
	if (window.event) {
		key = window.event.keyCode; // IE & Safari.
	} else {
		key = e.which; // Firefox.
	}
	
	if (key == 13) {
		
		cart_updateCount_product(recID, newCount, lastCount, pricePer, containerObj, containerGrp, typeCount, allCount);
		return false;
		
	} else {
		return true;
	}
	
}

function cart_updateCount_giftcard(recID, pricePer, containerObj, containerGrp, typeCount, allCount) {
	
	// DevNote: This is type of object ALWAYS has a quantity of "1" and can ONLY be removed.
	
	var message_remove = "Are you sure you want to remove this gift card from the shopping cart?";
	
	if (confirm(message_remove)) {
				
		document.getElementById(typeCount).value = document.getElementById(typeCount).value - 1;
		document.getElementById(allCount).value = document.getElementById(allCount).value - 1;
		
		document.getElementById(containerObj).style.display = 'none';
		
		if (document.getElementById(typeCount).value == 0) {
			document.getElementById(containerGrp).style.display = 'none';
		}
		
		if (document.getElementById(allCount).value == 0) {
			document.getElementById('cartFull').style.display = 'none';
			document.getElementById('cartClear').style.display = 'block';
		}
		
		document.getElementById('frm_action').src='/frame/frame_action_cart_item_remove.html?type=Gift Card&id='+ recID;
		
		cart_updateSummary_giftcard(pricePer);
		
	}
	
}

// ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Update Summary Functions.

function cart_updateSummary_product(lastCount_val, newCount_val, pricePer_val) {
	
	var summary_vals = cart_getValues();
	
	var subtotal_amount_product = summary_vals[0];
	var subtotal_amount_giftcard = summary_vals[1];
	var subtotal_amount_insurance = summary_vals[2];
	var subtotal_amount_delivery = summary_vals[3];
	var subtotal_amount_delivery_calculate = summary_vals[4];
	var subtotal_amount_discount = summary_vals[5];
	var subtotal_amount = summary_vals[6];
	var tax_calculate = summary_vals[7];
	var tax_rate = summary_vals[8];
	var tax_amount = summary_vals[9];
	var total_amount = summary_vals[10];
	
	var count_change = 0;
	var cost_change = 0;
	
	if (newCount_val > lastCount_val) {
		
		count_change = newCount_val - lastCount_val;
		cost_change = count_change * pricePer_val;
		
		subtotal_amount_product = subtotal_amount_product + cost_change;
		
	}
	
	if (newCount_val < lastCount_val) {
		
		count_change = lastCount_val - newCount_val;
		cost_change = count_change * pricePer_val;
		
		subtotal_amount_product = subtotal_amount_product - cost_change;
		
	}
	
	document.getElementById('subtotal_amount_product').value = subtotal_amount_product;
	document.getElementById('summary_cell_subtotal_amount_product').innerHTML = '$' + cart_formatCurrency(subtotal_amount_product);
	
	cart_setValues(subtotal_amount_product, subtotal_amount_giftcard, subtotal_amount_insurance, subtotal_amount_delivery, subtotal_amount_delivery_calculate, subtotal_amount_discount, tax_calculate, tax_rate);
	
}

function cart_updateSummary_giftcard(pricePer) {
	
	var summary_vals = cart_getValues();
	
	var subtotal_amount_product = summary_vals[0];
	var subtotal_amount_giftcard = summary_vals[1];
	var subtotal_amount_insurance = summary_vals[2];
	var subtotal_amount_delivery = summary_vals[3];
	var subtotal_amount_delivery_calculate = summary_vals[4];
	var subtotal_amount_discount = summary_vals[5];
	var subtotal_amount = summary_vals[6];
	var tax_calculate = summary_vals[7];
	var tax_rate = summary_vals[8];
	var tax_amount = summary_vals[9];
	var total_amount = summary_vals[10];
	
	var cost_change = pricePer;
	
	subtotal_amount_giftcard = subtotal_amount_giftcard - cost_change;
	
	if (subtotal_amount_giftcard == 0) {
		document.getElementById('summary_row_subtotal_amount_giftcard').style.display = 'none';	
	}
	
	document.getElementById('subtotal_amount_giftcard').value = subtotal_amount_giftcard;
	document.getElementById('summary_cell_subtotal_amount_giftcard').innerHTML = '$' + cart_formatCurrency(subtotal_amount_giftcard);
	
	cart_setValues(subtotal_amount_product, subtotal_amount_giftcard, subtotal_amount_insurance, subtotal_amount_delivery, subtotal_amount_delivery_calculate, subtotal_amount_discount, tax_calculate, tax_rate);
	
}

// ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Set Simple Value Functions.

function cart_setTax(obj) {
	
	var val = form_stringTrim(obj.value);
	
	var summary_vals = cart_getValues();
	
	var subtotal_amount_product = summary_vals[0];
	var subtotal_amount_giftcard = summary_vals[1];
	var subtotal_amount_insurance = summary_vals[2];
	var subtotal_amount_delivery = summary_vals[3];
	var subtotal_amount_delivery_calculate = summary_vals[4];
	var subtotal_amount_discount = summary_vals[5];
	var subtotal_amount = summary_vals[6];
	var tax_calculate = summary_vals[7];
	var tax_rate = summary_vals[8];
	var tax_amount = summary_vals[9];
	var total_amount = summary_vals[10];
	
	<!--- DevNote: "document.getElementById('delivery_method_1')" is the radio button for pick-up which are always taxed. --->
	if (val.length == 2 && val.toLowerCase() == document.getElementById('tax_state').value.toLowerCase() || document.getElementById('delivery_method_1').checked == true) {
		
		tax_calculate = "true";
		
		document.getElementById('tax_calculate').value = true;
		
	} else {
		
		tax_calculate = "false";
		
		document.getElementById('tax_calculate').value = false;
	
	}
	
	cart_setValues(subtotal_amount_product, subtotal_amount_giftcard, subtotal_amount_insurance, subtotal_amount_delivery, subtotal_amount_delivery_calculate, subtotal_amount_discount, tax_calculate, tax_rate);
	
}

function cart_setDelivery(obj) {
	
	var val = form_stringTrim(obj.value);
	
	var summary_vals = cart_getValues();
	
	var subtotal_amount_product = summary_vals[0];
	var subtotal_amount_giftcard = summary_vals[1];
	var subtotal_amount_insurance = summary_vals[2];
	var subtotal_amount_delivery = summary_vals[3];
	var subtotal_amount_delivery_calculate = summary_vals[4];
	var subtotal_amount_discount = summary_vals[5];
	var subtotal_amount = summary_vals[6];
	var tax_calculate = summary_vals[7];
	var tax_rate = summary_vals[8];
	var tax_amount = summary_vals[9];
	var total_amount = summary_vals[10];
	
	if (subtotal_amount_delivery_calculate == "true") {
	
		if (val.length >= 5 && form_checkFormat_zip(obj) == true) {
			
			document.getElementById('div_activity_delivery').style.display = 'block';
			
			document.getElementById('frm_action').src='/frame/frame_action_cart_set_value_delivery.html?zip='+ val;
			
		} else {
			
			subtotal_amount_delivery = 0;
			
			document.getElementById('delivery_available').value = '';
			document.getElementById('div_message_delivery_undefined').style.display = 'block';
			document.getElementById('div_message_delivery_unavailable').style.display = 'none';
			document.getElementById('delivery_date').options.length = 0;
			document.getElementById('delivery_date_list').value = '';
			document.getElementById('div_activity_delivery').style.display = 'none';
			
			document.getElementById('subtotal_amount_delivery').value = subtotal_amount_delivery;
			document.getElementById('summary_cell_subtotal_amount_delivery').innerHTML = '$' + parent.cart_formatCurrency(subtotal_amount_delivery);
			
			document.getElementById('tax_rate').value = 0.07;
			
			cart_setTax(document.getElementById('acp_state'));
			
		}
		
	}
	
}

// ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Option Select Functions.

function cart_optionDeliveryMethod_delivery() {
	
	document.getElementById('subtotal_amount_delivery_calculate').value = true;
	
	form_errorClear_simple('fieldErrorMarker_delivery_date');
	
	cart_setDelivery(document.getElementById('acp_zip'));
	
	cart_setTax(document.getElementById('acp_state'));
	
}

function cart_optionDeliveryMethod_pickup() {
	
	var summary_vals = cart_getValues();
	
	var subtotal_amount_product = summary_vals[0];
	var subtotal_amount_giftcard = summary_vals[1];
	var subtotal_amount_insurance = summary_vals[2];
	var subtotal_amount_delivery = summary_vals[3];
	var subtotal_amount_delivery_calculate = summary_vals[4];
	var subtotal_amount_discount = summary_vals[5];
	var subtotal_amount = summary_vals[6];
	var tax_calculate = summary_vals[7];
	var tax_rate = summary_vals[8];
	var tax_amount = summary_vals[9];
	var total_amount = summary_vals[10];
	
	subtotal_amount_delivery = 0;
	
	document.getElementById('subtotal_amount_delivery').value = subtotal_amount_delivery;
	document.getElementById('summary_cell_subtotal_amount_delivery').innerHTML = '$' + parent.cart_formatCurrency(subtotal_amount_delivery);
	
	document.getElementById('subtotal_amount_delivery_calculate').value = false;
	
	document.getElementById('tax_rate').value = 0.07;
	
	cart_setTax(document.getElementById('tax_state'));
	
}

// ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Check Form Functions.

function cart_checkForm_info(form) {
	
	var error_found = false;
	
	var error_marker = "fieldErrorMarker_";
	var error_visibility = "hidden";
	var error_focus = null;
	
	var this_field = "";
	var this_field_2 = "";
	var this_field_3 = "";
	var this_error = "";
	
	var val = null;
	
	var chk = null;
	
	// ---------- Field ---------- //
	
	this_field = form.acp_email;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value) == "" || form_checkFormat_email(this_field) == false) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.acp_email2;
	this_field_2 = form.acp_email;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value) == "" || form_stringTrim(this_field.value) != form_stringTrim(this_field_2.value)) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.acp_phone;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value) == "" || form_checkFormat_phone(this_field) == false) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.acp_name;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value) == "" || form_checkFormat_name(this_field) == false) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.acp_address;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value) == "" || form_checkFormat_address(this_field) == false) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.acp_city;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value) == "" || form_checkFormat_text(this_field) == false) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.acp_state;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value).length == "" || form_checkFormat_state(this_field) == false) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.acp_zip;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value).length == "" || form_checkFormat_zip(this_field) == false) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.acp_country;
	this_error = error_marker + this_field.id;
	
	if (form_stringTrim(this_field.value) == "" || form_checkFormat_text(this_field) == false) {
		
		if (error_focus == null) {
			error_focus = this_field;
		}
		
		error_visibility = "visible";
		error_found = true;
		
	} else {
		
		error_visibility = "hidden";
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	this_field.value = form_stringTrim(this_field.value);
	
	// ---------- Field ---------- //
	
	this_field = form.delivery_available;
	this_field_2 = form.delivery_method;
	this_field_3 = form.delivery_date;
	this_error = error_marker + this_field_3.id;
	
	if (this_field.value == "") {
	
		val = "";
		
		for( i = 0; i < this_field_2.length; i++ ) {
			
			if( this_field_2[i].checked == true ) {
				
				val = this_field_2[i].value;
				
			}
			
		}
		
		if (val == "Delivery") {
			
			if (error_focus == null) {
				error_focus = this_field_2;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
	
	} else {
	
		if (this_field.value == "true" && this_field_3.value == "") {
			
			if (error_focus == null) {
				error_focus = this_field_3;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
		
			error_visibility = "hidden";
		
		}
		
	}
	
	document.getElementById(this_error).style.visibility = error_visibility;
	
	if (form.payment_method.value == "Credit Card") {
	
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_name;
		this_error = error_marker + this_field.id;
		
		if (form_stringTrim(this_field.value) == "" || form_checkFormat_name(this_field) == false) {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		
		// ---------- Field ---------- //
		
		this_field = form.acb_dtc_id;
		this_error = error_marker + this_field.id;
		
		if (this_field.value == "") {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_number;
		this_error = error_marker + this_field.id;
		
		if (form_stringTrim(this_field.value) == "" || form_checkFormat_ccNum(this_field) == false) {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_exp_month;
		this_field_2 = form.acb_cc_exp_year;
		this_error = error_marker + this_field.id;
		
		chk = form_checkFormat_ccExp(this_field, this_field_2);
		
		if (form_stringTrim(this_field.value) == "" || form_stringTrim(this_field_2.value) == "" || chk[0] == false) {
			
			if (error_focus == null) {
				error_focus = chk[1];
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		this_field_2.value = form_stringTrim(this_field_2.value);
		
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_csc;
		this_error = error_marker + this_field.id;
		
		if (form_stringTrim(this_field.value) == "" || form_checkFormat_ccCsc(this_field) == false) {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_address;
		this_error = error_marker + this_field.id;
		
		if (form_stringTrim(this_field.value) == "" || form_checkFormat_address(this_field) == false) {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_city;
		this_error = error_marker + this_field.id;
		
		if (form_stringTrim(this_field.value) == "" || form_checkFormat_text(this_field) == false) {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_state;
		this_error = error_marker + this_field.id;
		
		if (form_stringTrim(this_field.value).length == "" || form_checkFormat_state(this_field) == false) {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_zip;
		this_error = error_marker + this_field.id;
		
		if (form_stringTrim(this_field.value).length == "" || form_checkFormat_zip(this_field) == false) {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		
		// ---------- Field ---------- //
		
		this_field = form.acb_cc_country;
		this_error = error_marker + this_field.id;
		
		if (form_stringTrim(this_field.value) == "" || form_checkFormat_text(this_field) == false) {
			
			if (error_focus == null) {
				error_focus = this_field;
			}
			
			error_visibility = "visible";
			error_found = true;
			
		} else {
			
			error_visibility = "hidden";
			
		}
		
		document.getElementById(this_error).style.visibility = error_visibility;
		this_field.value = form_stringTrim(this_field.value);
		
		if (form.split_sale.value == "true") {
		
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_name;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value) == "" || form_checkFormat_name(this_field) == false) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_dtc_id;
			this_error = error_marker + this_field.id;
			
			if (this_field.value == "") {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_number;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value) == "" || form_checkFormat_ccNum(this_field) == false) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_exp_month;
			this_field_2 = form.split_acb_cc_exp_year;
			this_error = error_marker + this_field.id;
			
			chk = form_checkFormat_ccExp(this_field, this_field_2);
			
			if (form_stringTrim(this_field.value) == "" || form_stringTrim(this_field_2.value) == "" || chk[0] == false) {
				
				if (error_focus == null) {
					error_focus = chk[1];
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			this_field_2.value = form_stringTrim(this_field_2.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_csc;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value) == "" || form_checkFormat_ccCsc(this_field) == false) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_address;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value) == "" || form_checkFormat_address(this_field) == false) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_city;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value) == "" || form_checkFormat_text(this_field) == false) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_state;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value).length == "" || form_checkFormat_state(this_field) == false) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_zip;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value).length == "" || form_checkFormat_zip(this_field) == false) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_acb_cc_country;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value) == "" || form_checkFormat_text(this_field) == false) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
			
			// ---------- Field ---------- //
			
			this_field = form.split_amount;
			this_field_2 = form.total_amount;
			this_error = error_marker + this_field.id;
			
			if (form_stringTrim(this_field.value) == "" || form_checkFormat_money(this_field) == false || form_stringToNumber(this_field.value) >= this_field_2.value) {
				
				if (error_focus == null) {
					error_focus = this_field;
				}
				
				error_visibility = "visible";
				error_found = true;
				
			} else {
				
				error_visibility = "hidden";
				
			}
			
			document.getElementById(this_error).style.visibility = error_visibility;
			this_field.value = form_stringTrim(this_field.value);
		
		}
	
	}
	
	// ---------- Error ---------- //
	
	if (error_found != false) {
		
		error_focus.focus();
		return false;
		
	}
	
}

function cart_checkForm_terms(form) {
	
	if (form.step.value == "back") {
		
		return true;
		
	} else {
		
		if (form.terms.checked == true) {
			
			return true;
			
		} else {
			
			alert('Please make sure you have read and accept El Dorado Furniture\'s Terms of Sale.')
			form.terms.focus();
			return false;
			
		}
		
	}
	
}