// JavaScript Document
function showHide(item, toggle) {
	var obj = document.getElementById(item);
	if(obj) {
		if(toggle == 0){
			obj.style.display = "none";
		} else {
			obj.style.display = "block";
		}
	}
}

function placeOrder() {
	var counter = -1;
	var myform = document.frmCheckout;
	var len = myform.checkoutCustomer.length;
	for (x = 0; x < len; x++) {
		if (myform.checkoutCustomer[x].checked) {
			counter = x;
			break;
		}
	}

	if (counter >= 0) {
		if (validateForm(counter)) {
			myform.action = "checkout.php?selected=" + myform.checkoutCustomer[counter].value;
			myform.submit();
		}
	}
}

function validateForm(x) {
	var msg = "";
	var myform = document.frmCheckout;
	switch (myform.checkoutCustomer[x].value) {
		case "1":
			msg += validateCustomerInfo(0);
			msg += validateCC(0);
			msg += validateBillingAddress(0);
			if (myform.customership[0].value == 5) {
				msg += validateShippingAddress(0);
			}
			break

		case "2":
			msg += validateLogin();
			break

		case "3":
			msg += validateCustomerInfo(1);
			msg += validateCC(1);
			msg += validateBillingAddress(1);
			if (myform.customership[1].value == 5) {
				msg += validateShippingAddress(1);
			}
			break
	}

	if (msg.length > 0) {
		alert(msg);
		return false;
	} else {
		return false;
	}
}

function validateLogin() {
	var msg = "";
	var myform = document.frmCheckout;
	if (myform.loginemail.value == "") {
		msg += "Please enter an Email.\n";
	}
	if (myform.loginpwd.value == "") {
		msg += "Please enter a Password.\n";
	}
	return msg;
}

function validateCustomerInfo(x) {
	var msg = "";
	var myform = document.frmCheckout;
	if (myform.fname[x].value == "") {
		msg += "Please enter a First Name.\n";
	}
	if (myform.lname[x].value == "") {
		msg += "Please enter a Last Name.\n";
	}
	if (x == 0) {
		if (myform.pwd1.value.length < 6) {
			msg += "Please enter a password greater than 7 character.\n";
		} else {
			if (myform.pwd1.value != myform.pwd2.value) {
				msg += "Passwords do not match.\n";
			}
		}
	}
	if (myform.email1[x].value == "") {
		msg += "Please enter a Email.\n";
	}
	if (myform.telephone[x].value == "") {
		msg += "Please enter a Telephone.\n";
	}

	return msg;
}

function validateBillingAddress(x) {
	var msg = "";
	var myform = document.frmCheckout;
	if (myform.bstreet[x].value == "") {
		msg += "Please enter a Billing street.\n";
	}
	if (myform.bcity[x].value == "") {
		msg += "Please enter a Billing city.\n";
	}
	if (myform.bstate[x].value == "") {
		msg += "Please enter a Billing state.\n";
	}
	if (myform.bzip[x].value == "") {
		msg += "Please enter a Billing zip.\n";
	}
	return msg;
}
function validateShippingAddress(x) {
	var msg = "";
	var myform = document.frmCheckout;
	if (myform.sstreet[x].value == "") {
		msg += "Please enter a shipping street.\n";
	}
	if (myform.scity[x].value == "") {
		msg += "Please enter a shipping city.\n";
	}
	if (myform.sstate[x].value == "") {
		msg += "Please enter a shipping state.\n";
	}
	if (myform.szip[x].value == "") {
		msg += "Please enter a shipping zip.\n";
	}
	return msg;
}

function validateCC(x) {
	var msg = "";
	var myform = document.frmCheckout;
	if (myform.ccname[x].value == "") {
		msg += "Please enter a Cardholder's name.\n";
	}
	if (!cardval(myform.ccname[x].value)) {
		msg += "Please enter a valid Card Number.\n";
	}

	if (myform.cccode[x].value == "") {
		msg += "Please enter a Card Security Code.\n";
	}
	return msg;
}

function cardval(s) {
	// remove non-numerics
	var v = "0123456789";
	var w = "";
	for (i=0; i < s.length; i++) {
		x = s.charAt(i);
		if (v.indexOf(x,0) != -1)
		w += x;
	}

	// validate number
	j = w.length / 2;
	if (j < 6.5 || j > 8 || j == 7) return false;
	k = Math.floor(j);
	m = Math.ceil(j) - k;
	c = 0;

	for (i=0; i<k; i++) {
		a = w.charAt(i*2+m) * 2;
		c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}

	for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
}
