function toggleprodimg(imgid, img1, img2)
{
	var img = document.getElementById(imgid);
	img.src = (img.src.search(img1.src) == -1) ? img1.src : img2.src;
}

function validate_addtocart(f)
{
	var error = "";
	
	error += (f.elements['size'].selectedIndex == 0) ? "\nPlease choose a size." : "";
	error += (f.elements['qty'].value == "") ? "\nPlease specify a quantity." : "";
	
	if (error == "")
		f.submit();
	else
		alert("Please correct the following and resubmit your order:\n\n" + error);
}

function calc_checkout(sel)
{
	var shipcost = (sel.value == 'ship') ? '5.95' : '0.00';
	document.getElementById('shipcost').innerHtml = shipcost;
	
	
}

function setshipping(val)
{
	var subtotalcell = document.getElementById('subtotalcell');
	var shippingcell = document.getElementById('shippingcell');
	var totalcell = document.getElementById('totalcell');
	if (val)
	{
		shippingcell.innerHTML = "$5.95";
		subtotal = new Number(subtotalcell.innerHTML.replace("$",""));
		totalcell.innerHTML = "$" + (5.95 + subtotal);
	}
	else
	{
		shippingcell.innerHTML = "";
		totalcell.innerHTML = subtotalcell.innerHTML;
	}
}

function isCreditCard(st) {
// Encoding only works on cards with less than 19 digits
if (st.length > 19) return (false);
sum = 0; mul = 1; l = st.length;
for (i = 0; i < l; i++) {
	digit = st.substring(l-i-1,l-i);
	tproduct = parseInt(digit ,10)*mul;
	if (tproduct >= 10)
	sum += (tproduct % 10) + 1;
	else
	sum += tproduct;
	if (mul == 1)
	mul++;
	else
	mul--;
}
if ((sum % 10) == 0)
	return (true);
else
	return (false);
}

function vCard(field, type) {
	var ret = "\r\n- Invalid Credit Card Number.";
	field.value = field.value.replace(/\s/g,"")
	var cc = field.value
	var firstdig = cc.substring(0,1)
	var seconddig = cc.substring(1,2)
	switch (type)
	{
		case "amex":
			if ((cc.length == 15) && (firstdig == 3) && ((seconddig == 4) || (seconddig == 7))) {
				if(isCreditCard(cc)) {
					ret = ""
				}
			}
			break;
		case "visa":
			if (((cc.length == 16) || (cc.length == 13)) && (firstdig == 4)) {
				if(isCreditCard(cc)) {
					ret = ""
				}
			}
			break;
		case "mc":
			if ((cc.length == 16) && (firstdig == 5) && ((seconddig >= 1) && (seconddig <= 5))) {
				if(isCreditCard(cc)) {
					ret = ""
				}
			}
			break;
		default:
			ret = "\r\n- Invalid Credit Card Type.";
			break;
	}
	return ret;
}

function groupleader_editgroup_validate(f)
{
	var errortext = "";
	errortext += (f.elements['groupname'].value == "") ? "\r\n- Group Name is required." : "";
	errortext += (f.elements['firstname'].value == "") ? "\r\n- First Name is required." : "";
	errortext += (f.elements['lastname'].value == "") ? "\r\n- Last Name is required." : "";
	errortext += (f.elements['email'].value == "") ? "\r\n- Email is required." : "";

	var d = new Date(f.elements['startdate'].value);			 
	if (d == "Invalid Date")
		errortext += "\r\n- A valid Start Date is required."
	else if (isNaN(d.getMonth()))
		errortext += "\r\n- A valid Start Date is required."

	d = new Date(f.elements['enddate'].value);			 
	if (d == "Invalid Date")
		errortext += "\r\n- A valid End Date is required."
	else if (isNaN(d.getMonth()))
		errortext += "\r\n- A valid End Date is required."
				
	errortext += (isNaN(f.elements['goalamount'].value)) ? "\r\n- A valid Goal Amount is required." : "";

	if (errortext != "")
		alert ("Please fix the following and resubmit:\r\n\r\n" + errortext);
	else
		f.submit();						
}

function checkoutform_validate(f)
{
	var errortext = "";
	errortext += (f.elements['membername'].value == "") ? "\r\n- Group Member's Name is required." : "";
	if (document.getElementById('shipsingle').checked)
	{
		errortext += (f.elements['shipfirst'].value == "") ? "\r\n- Shipping First Name is required." : "";
		errortext += (f.elements['shiplast'].value == "") ? "\r\n- Shipping Last Name is required." : "";
		errortext += (f.elements['shipadd1'].value == "") ? "\r\n- Shipping Address Line 1 is required." : "";
		errortext += (f.elements['shipcity'].value == "") ? "\r\n- Shipping City is required." : "";
		errortext += (f.elements['shipstate'].value == "") ? "\r\n- Shipping State is required." : "";
		errortext += (f.elements['shipzip'].value == "") ? "\r\n- Shipping Zip Code is required." : "";
		errortext += (f.elements['shipdayphone'].value == "") ? "\r\n- Shipping Day Phone is required." : "";
	}
	errortext += (f.elements['billfirst'].value == "") ? "\r\n- Billing First Name is required." : "";
	errortext += (f.elements['billlast'].value == "") ? "\r\n- Billing Last Name is required." : "";
	errortext += (f.elements['billadd1'].value == "") ? "\r\n- Billing Address Line 1 is required." : "";
	errortext += (f.elements['billcity'].value == "") ? "\r\n- Billing City is required." : "";
	errortext += (f.elements['billstate'].value == "") ? "\r\n- Billing State is required." : "";
	errortext += (f.elements['billzip'].value == "") ? "\r\n- Billing Zip Code is required." : "";
	errortext += (f.elements['billdayphone'].value == "") ? "\r\n- Billing Day Phone is required." : "";
	errortext += (f.elements['email'].value == "") ? "\r\n- Email Address is required." : "";
	errortext += (f.elements['ccname'].value == "") ? "\r\n- Name on Credit Card is required." : "";
	errortext += vCard(f.elements['ccnumber'], f.elements['cctype'].value);
	errortext += (f.elements['ccexp'].value == "") ? "\r\n- Credit Card Expiration is required." : "";
	errortext += (f.elements['cccode'].value == "") ? "\r\n- Credit Card CVV Number is required." : "";
	if (errortext != "")
		alert ("Please fix the following and resubmit your order:\r\n\r\n" + errortext);
	else
		f.submit();			
}

function request_info_validate(f)
{
	var errortext = "";
	errortext += (f.elements['firstname'].value == "") ? "\r\n- First Name is required." : "";
	errortext += (f.elements['lastname'].value == "") ? "\r\n- Last Name is required." : "";
	errortext += (f.elements['email'].value == "") ? "\r\n- Email Address is required." : "";
	if (errortext != "")
		alert ("Please fix the following and resubmit:\r\n\r\n" + errortext);
	else
		f.submit();			
}

function feedback_validate(f)
{
	var errortext = "";
	errortext += (f.elements['firstname'].value == "") ? "\r\n- First Name is required." : "";
	errortext += (f.elements['lastname'].value == "") ? "\r\n- Last Name is required." : "";
	errortext += (f.elements['email'].value == "") ? "\r\n- Email Address is required." : "";
	errortext += (f.elements['feedback'].value == "") ? "\r\n- Feedback is required." : "";
	if (errortext != "")
		alert ("Please fix the following and resubmit:\r\n\r\n" + errortext);
	else
		f.submit();			
}

function copybilladdress(chk)
{
	var f = chk.form;
	if (chk.checked)
	{
		f.elements['shipfirst'].value = f.elements['billfirst'].value;
		f.elements['shiplast'].value = f.elements['billlast'].value;
		f.elements['shipadd1'].value = f.elements['billadd1'].value;
		f.elements['shipadd2'].value = f.elements['billadd2'].value;
		f.elements['shipcity'].value = f.elements['billcity'].value;
		f.elements['shipstate'].value = f.elements['billstate'].value;
		f.elements['shipzip'].value = f.elements['billzip'].value;
		f.elements['shipdayphone'].value = f.elements['billdayphone'].value;
		f.elements['shipevephone'].value = f.elements['billevephone'].value;
		//f.elements['billfirst'].disabled =  f.elements['billlast'].disabled = f.elements['billadd1'].disabled = f.elements['billadd2'].disabled = f.elements['billcity'].disabled = f.elements['billstate'].disabled = f.elements['billzip'].disabled = f.elements['billdayphone'].disabled = f.elements['billevephone'].disabled = true;

	}
	else
	{
		f.elements['shipfirst'].value = "";
		f.elements['shiplast'].value = "";
		f.elements['shipadd1'].value = "";
		f.elements['shipadd2'].value = "";
		f.elements['shipcity'].value = "";
		f.elements['shipstate'].value = "";
		f.elements['shipzip'].value = "";
		f.elements['shipdayphone'].value = "";
		f.elements['shipevephone'].value = "";
		//f.elements['billfirst'].disabled =  f.elements['billlast'].disabled = f.elements['billadd1'].disabled = f.elements['billadd2'].disabled = f.elements['billcity'].disabled = f.elements['billstate'].disabled = f.elements['billzip'].disabled = f.elements['billdayphone'].disabled = f.elements['billevephone'].disabled = false;
	}
}
