function init(form)
{
    autoTotal(form);
    updateShipToFields(form, !form.USER2.checked);
}

function validateForm(form)
{
    if (!checkString(form.FIRSTNAME, "First Name"))
        return false;
       
    if (!checkString(form.LASTNAME, "Last Name"))
        return false;

    if (!checkString(form.ADDRESS, "Address"))
        return false;
        
    if (!checkString(form.CITY, "City"))
        return false;

	if (!isStateCode(getComboValue(form.combo_state), false)) 
	{
	    form.combo_state.focus();
	    alert("This field must be a valid U.S. state. Please select it now.");
	    return false;
    }

    if (!checkZIPCode(form.ZIP))
        return false;

    if (!checkUSPhone(form.PHONE))
        return false;

    if (!checkEmail(form.EMAIL))
        return false;

    /*if (form.USER2.checked == true)     // using a billing address, check those fields as well
    {
        if (!checkString(form.FIRSTNAMETOSHIP, "First Name"))
            return false;
           
        if (!checkString(form.LASTNAMETOSHIP, "Last Name"))
            return false;

        if (!checkString(form.ADDRESSTOSHIP, "Address"))
            return false;
            
        if (!checkString(form.CITYTOSHIP, "City"))
            return false;

	    if (!isStateCode(getComboValue(form.combo_statetoship), false)) 
	    {
	        form.combo_statetoship.focus();
	        alert("This field must be a valid U.S. state. Please select it now.");
	        return false;
        }

        if (!checkZIPCode(form.ZIPTOSHIP))
            return false;

        if (!checkUSPhone(form.PHONETOSHIP))
            return false;

        form.NAMETOSHIP.value = form.FIRSTNAMETOSHIP.value + " " + form.LASTNAMETOSHIP.value;
        form.STATETOSHIP.value = getComboValue(form.combo_statetoship);
    }
    else*/
    //{
		form.NAMETOSHIP.value = "";
		form.STATETOSHIP.value = "";
	//}

/* holiday promo
// BEGIN
	// be sure the how combo item has been selected
	if (!getComboValue(form.combo_how))
	{
	    form.combo_how.focus();
	    alert("Please select how you found out about this special promotion.");
	    return false;
    }
// END
*/
    form.NAME.value = form.FIRSTNAME.value + " " + form.LASTNAME.value;
    form.STATE.value = getComboValue(form.combo_state);
    form.billstateindex.value = form.combo_state.selectedIndex;

    if (!(  form.CARD5.value > 0 || 
            form.CARD10.value > 0 || 
            form.CARD15.value > 0 || 
            form.CARD20.value > 0 || 
            form.CARD25.value > 0 || 
            form.CARD30.value > 0 || 
            form.CARD40.value > 0 || 
            form.CARD50.value > 0))
    {
    	alert("Please choose at least one Gift Card amount.");
        return false;
    }
    
    if(!validQTY()){
    	return false;
    }
    
    // store all the card amounts in a ':' seperated list
   /* form.USER1.value =  form.CARD5.value 
                + ":" + form.CARD10.value 
                + ":" + form.CARD15.value 
                + ":" + form.CARD20.value 
                + ":" + form.CARD25.value 
                + ":" + form.CARD30.value 
                + ":" + form.CARD40.value 
                + ":" + form.CARD50.value;*/

	// store the message in a user value
	//form.USER5.value = form.MESSAGE.value;
	form.AMOUNT.value = form.total.value;

/* holiday promo
// BEGIN
	// store the how in a user value
	form.USER6.value = getComboValue(form.combo_how);
// END
*/
    if (form.AMOUNT.value >= 1000)
    {
        alert("Please call our home office at 603-595-7300 for orders over $1000");
    }
    else
    {
        form.submit();
    }
}


function autoTotal(form)
{
    var tmp1 = form.CARD5.value * 5;
    var tmp2 = form.CARD10.value * 10;
    var tmp3 = form.CARD15.value * 15;
    var tmp4 = form.CARD20.value * 20;
    var tmp5 = form.CARD25.value * 25;
    var tmp6 = form.CARD30.value * 30;
    var tmp7 = form.CARD40.value * 40;
    var tmp8 = form.CARD50.value * 50;
    var shipcost = getComboValue(form.USER4) * 1; // to make it a number
    
    form.total1.value = formatCurrency(tmp1);
    form.total2.value = formatCurrency(tmp2);
    form.total3.value = formatCurrency(tmp3);
    form.total4.value = formatCurrency(tmp4);
    form.total5.value = formatCurrency(tmp5);
    form.total6.value = formatCurrency(tmp6);
    form.total7.value = formatCurrency(tmp7);
    form.total8.value = formatCurrency(tmp8);
	form.shipping.value = formatCurrency(shipcost);
    
    var subtotal = tmp1 + tmp2 + tmp3 + tmp4 + tmp5 + tmp6 + tmp7 + tmp8;
    var total = subtotal + shipcost;
    
    form.subtotal.value = formatCurrency(subtotal);
    form.AMOUNT.value = total;
    form.total.value = formatCurrency(total);
    
    // for comp gift cards calc, only if it exists
    if (form.comptotal)
    {
    	// only use the subtotal as shipping cost does not count towards comp gift cards
    	var comptotal = subtotal / 5;
    	form.comptotal.value = formatCurrency(comptotal);
    }
}

function updateShipToFields(form, flag)
{
    enableObj("firstnametoship_label", flag);
    enableObj("FIRSTNAMETOSHIP", flag);

    enableObj("lastnametoship_label", flag);
    enableObj("LASTNAMETOSHIP", flag);

    enableObj("addresstoship_label", flag);
    enableObj("ADDRESSTOSHIP", flag);

    enableObj("citytoship_label", flag);
    enableObj("CITYTOSHIP", flag);

    enableObj("statetoship_label", flag);
    enableObj("combo_statetoship", flag);

    enableObj("ziptoship_label", flag);
    enableObj("ZIPTOSHIP", flag);

    enableObj("phonetoship_label", flag);
    enableObj("PHONETOSHIP", flag);
}

function showRules()
{
    centerPopup("contestrules.html", "__RULES__", 550, 600, "yes");
}