function cart_change () {
	/* Disabled per SMA 2010/12/15 */
	return;
	
	var element = null;
	var itemtotal = 0;
	var total = 0;
	var iID = '';
	var pID = '';
	var tID = ''
	
	for (var i = 0; i < document.forms['gift_basket'].elements.length; i++) {
		element = document.forms['gift_basket'].elements[i];
		itemtotal = 0;
		if ((element.name.substring(0, 5) == 'donat') || (element.name.substring(0, 7) == 'postage')) {
			if ((!isNumeric(element.value)) || (parseFloat(element.value) < 0)) {
				return false;
			}
			total += parseFloat(element.value);
			if (element.name.substring(0, 6) == 'donate') {
				iID = element.name.substring(element.name.indexOf('_') + 1);
				pID = 'postage_' + iID;
				tID = 'subtotal_' + iID;
				itemtotal = parseFloat(element.value) + parseFloat(document.getElementById(pID).value);
				document.getElementById(tID).innerHTML = FormatCurrency(itemtotal);
			}
		}
	}
	document.getElementById('donatetotal').innerHTML = FormatCurrency(total);
}

function cart_validate () {
	var element = null;
	for (var i = 0; i < document.forms['gift_basket'].elements.length; i++) {
		element = document.forms['gift_basket'].elements[i];
		if (element.name.substring(0, 5) == 'donat') {
			if (!isNumeric(element.value)) {
				alert('Please enter a valid monetary value');
				element.focus();
				return false;
			}
			if (parseFloat(element.value) < 0) {
				alert('Please enter a positive monetary value');
				element.focus();
				return false;
			}
		}
	}
	return true;
}

function checkout_validate () {
	var email1 = document.getElementById('email1');
	var email2 = document.getElementById('email2');
	
	var ccnumber = document.getElementById('ccnumber');
	var cvv = document.getElementById('cvv');
	var expmonth = document.getElementById('expmonth');
	var expyear = document.getElementById('expyear');
		
	if (!validateAddress()) {
		return false;
	}
	if ((!emailfilter.test(email1.value)) || (email1.value == '')) {
		alert('Please enter a valid email address');
		email1.focus();
		return false;
	}
	if ((!emailfilter.test(email2.value)) || (email2.value == '')) {
		alert('Please enter a valid email address for verification field.');
		email2.focus();
		return false;
	}
	if (email1.value.toLowerCase() != email2.value.toLowerCase()) {
		alert('Your email addresses do not match.\n\nPlease correct and re-enter.');
		email2.focus();
		return false;
	}
	
	if (!validateCreditCard())
		return false;
	
	var month = expmonth.selectedIndex;
	var year = parseInt('20' + expyear.value);
	
	var today = new Date();
	var thisMonth = today.getMonth();
	var thisYear = today.getFullYear();
		
	if ((year > thisYear) || ((year == thisYear) && (month >= thisMonth))) {
		return true;
	} else {
		alert('The expiration date may not be in the past.\n\nPlease enter the correct expiration date.');
		return false;
	}
}

function checkoutfinal_validate () {
	var email = document.getElementById('email');
	var password1 = document.getElementById('password1');
	var password2 = document.getElementById('password2');
	
	if ((!emailfilter.test(email.value)) || (email.value == '')) {
		alert('Please enter a valid email address.');
		email.focus();
		return false;
	}
	if ((password1.value.length > 10) || (password1.value.length < 4) || (password1.value == '')) {
		alert('Password must be 4 to 10 characters.');
		password1.focus();
		return false;
	}
	if (password1.value != password2.value) {
		alert('Your passwords do not match\n\nPlease correct and re-enter.');
		password2.focus();
		return false;
	}
	return true;
}

function validateCreditCardNumber (CreditCardNumber) {
	fixedccnumber = CreditCardNumber.replace(/[^\d]/g, '');
	
	if ((fixedccnumber.length != 15) && (fixedccnumber.length != 16))
		return false;
	
	Alt = false;
	Sum = 0;
	
	for (i = fixedccnumber.length; i > 0; --i) {
		Digit = parseInt(fixedccnumber.substr((i-1), 1));
		if (Alt) {
			Digit *= 2;
			if (Digit > 9)
				Digit -= 9
		}
		Sum += Digit;
		Alt = !Alt;
	}
	
	return ((Sum % 10) == 0);
}

function validateCreditCardType (CreditCardType, CreditCardNumber) {
	var firstDigit = CreditCardNumber.replace(/[^\d]/g, '').substr(0, 1);
	
	if (((CreditCardType == '001') && (firstDigit == '4')) ||
		((CreditCardType == '002') && (firstDigit == '5')) ||
		((CreditCardType == '003') && (firstDigit == '3')) ||
		((CreditCardType == '004') && (firstDigit == '6')))
		return true;
	return false;
}

function validateCreditCard () {
	var cctype = document.getElementById('cctype');
	var ccnumber = document.getElementById('ccnumber');
	var cvv = document.getElementById('cvv');
	
	if (cctype.options[cctype.selectedIndex].value == '') {
		alert('Please select a Credit Card Type.');
		return false;
	}
	if (!validateCreditCardNumber(ccnumber.value)) {
		alert('Please enter a valid credit card number.');
		ccnumber.focus();
		return false;
	}
	if (!validateCreditCardType(cctype.options[cctype.selectedIndex].value, ccnumber.value)) {
		alert('Credit card number does not match credit card type selected.');
		return false;
	}
	if (cvv.value.replace(/[^\d]/g, '').length < 3) {
		alert('Please enter the 3 digit verification number from the back of your credit card.');
		cvv.focus();
		return false;
	}
	return true;
}
