<!--
	//	GLOBAL PRICES
	var costPerUser = 34.95;
	
//	TEST FOR EMPTY
function isEmpty (str)
{
	if (str == null || str == "")
		return true
	else
		return false
}

//	POSITIVE NUMBER FORMATTING
function format (expr, decplaces)
{
	var str = ""+Math.round (eval(expr)*Math.pow(10,decplaces))
	while (str.length <= decplaces)
	{
		str = "0"+str
	}
	var decpoint = str.length-decplaces
	return str.substring(0,decpoint)+"."+str.substring(decpoint,str.length);
}

//	CONVERT TO US DOLLAR EXPRESSION
function dollarize (expr)
{
	return "$"+format(expr,2)+" US"
}

//	CONVERT TO CDN DOLLAR EXPRESSION
function dollarizeCDN (expr)
{
	return "$"+format(expr,2)+" CDN"
}

//	GET 4-DIGIT VERSION OF YEAR
function getTheYear ()
{
	var thisYear = (new Date()).getYear()
	thisYear = (thisYear<100)? thisYear+1900: thisYear
	return thisYear
}

//	CHECK VALIDATION/UPDATE DYNAMIC PARTS OF FORM
function checkForm (bCheckAll)
{
	var form = document.orderForm
	
	//	UPDATE COST
	calculateCost(form)
	
	//	NOT CHECKING EVERYTHING?
	if (!bCheckAll)
		return true

	//	CHECK FOR ITEMS NOT FILLED IN
	if (isEmpty(form.realname.value))
		return alertMissing("name")
	var numUsers = parseFloat(form.NumUsers.value);
	if (numUsers >= 5)
	{
		if (isEmpty(form.company.value))
			return alertMissing("organization")
	}
	if (isEmpty(form.orderAddress1.value))
		return alertMissing("address")
	if (isEmpty(form.orderCity.value))
		return alertMissing("city")
	if (isEmpty(form.orderZip.value))
		return alertMissing("postal code")
		
	//	CHECK FOR INVALID/MISSING EMAIL ADDRESS
	var offset = form.email.value.indexOf("@")
	if (offset == -1 || isEmpty(form.email.value))
	{
		alertMissing("email address",true) 
		return false
	}
			
	if (isEmpty(form.voicePhone.value))
		return alertMissing("phone number")
		
	//	CHECK CREDIT CARD
	bRet = checkCreditCard()
	if (!bRet)
		return false
			
	//	JUST CHECKING? (NOT SUBMITTING FORM)
	if (bCheckAll == 2)
	{
		alert("The order is filled out correctly.") 
		return false
	}
	return true
}

//	CHECK FOR BAD CREDIT CARD INFORMATION
function checkCreditCard ()
{
	var form = document.orderForm

	//	MISSING CARDHOLDER NAME?
	if (isEmpty(form.cardName.value))
		return alertMissing("cardholder name")	

	//	INVALID CREDIT CARD EXPIRY
	var bBadExpiry = false
	var expiryMonth = form.expiryMonth.selectedIndex
	var expiryYear = form.expiryYear.selectedIndex
	expiryYear+=2002

	var theYear = getTheYear()
	if (expiryYear <= theYear)
	{
		if (expiryYear < theYear)
			bBadExpiry = true
		else
		{
			var thisMonth = (new Date()).getMonth()
			if (expiryMonth < thisMonth)
				bBadExpiry = true
		}
		if (bBadExpiry)
			return alertMissing("credit card expiry date",true) 
	}
		
	//	CHECK CREDIT CARD NUMBER	
	var bMasterCard = form.cardType[0].checked
	var bBadNumber = false
	
	var cardNum = form.cardNum1.value*1000000000000
	var szCardNum = form.cardNum1.value+form.cardNum2.value+form.cardNum3.value+form.cardNum4.value
	cardNum += form.cardNum2.value*100000000 
	cardNum += form.cardNum3.value*10000
	cardNum += form.cardNum4.value*1
	
	//	MASTERCARD?
	if (bMasterCard)
	{ 
		if (cardNum >5999999999999999 || cardNum < 5000000000000000)
			bBadNumber = true
		if (szCardNum.length != 16)
			bBadNumber = true
	}
	//	VISA?
	else
	{
		if (szCardNum.charAt(0) != "4")
			bBadNumber = true
		if (szCardNum.length != 16 && szCardNum.length != 13)
			bBadNumber = true	
	}
	
	if (form.cardNum2.value == "" || form.cardNum3.value == ""|| form.cardNum4.value == "")
		bBadNumber = true
	if (bBadNumber)
	{
		alertMissing("card number",true) 
		return false
	}
	return true
}

//	ALERT THAT A REQUIRED ITEM IS MISSING
function alertMissing (szItem, bInvalid)
{
	var szInvalid = ""
	if (bInvalid)
		szInvalid = "invalid or "
	var szOut = "Your "+szItem+" is "+szInvalid+"not filled in. Please correct and submit your order."
	alert(szOut) 
	return false
}

// -->


