// JavaScript Document
function validate(field) 
{
 var valid = "0123456789"
 var ok = "yes";
 var temp;
 var Output = "";
 for (var i=0; i<field.value.length; i++) 
    {
     temp = "" + field.value.substring(i, i+1);
     if (valid.indexOf(temp) == "-1") 
        {
         ok = "no";
        }
     else
        {
         Output += temp;
        }
    }
 if (ok == "no") 
    {
     alert("Invalid entry!  Only Numbers are accepted!");
     field.value = Output;
     field.focus();
    }
}
   
function validate2(field) 
{
 var valid = "0123456789"
 var ok = "yes";
 var temp;
 var Output = "";
 for (var i=0; i<field.value.length; i++) 
    {
     temp = "" + field.value.substring(i, i+1);
     if (valid.indexOf(temp) == "-1") 
        {
         ok = "no";
        }
     else
        {
         Output += temp;
        }
    }
 if (ok == "no") 
    {
     field.value = Output;
    }
 if (field.value.length > 0)
    {
     temp = "" + field.value.substring(0,1);
     if (temp == "3")
        {   
         if (field.value.length < 15 || field.value.length > 16)
            {
             alert("Credit card numbers must be 15 or 16 digits.");
            }
        }
     else if (temp >= "4" && temp <= "6")
        {
         if (field.value.length != 16)
            {
             alert("Credit card numbers must be 16 digits.");
            }
        }
     else if (temp < "3" || temp > "6")
        {
         alert("Credit card numbers must begin with 3, 4, 5, or 6");
        }
    }
 checkcc(field);   
}
   
function setexpdate()
{
 document.ccinfo.exp_Date.value = document.ccinfo.exp_mo.value + document.ccinfo.exp_year.value;
}

function validate_email_f(field,alerttxt)
{
 with (field)
    {
     apos=value.indexOf("@")
     dotpos=value.lastIndexOf(".")
     if (apos<1||dotpos-apos<2) 
        {
         alert(alerttxt);
         return false;
        }
     else 
        {
         return true;
        }
    }
}

function not_blank(field)
{
 if (field.value.length == 0)
    {
     alert("This field is required");
     field.focus();
     return false;
    }
 else
    {
     return true;
    }
        
}

function validate_email(field)
{
 validate_email_f(field, "You must supply a valid email address");
}

function checkform(thisform)
{
 with (thisform)
    {
     if (submit.value == "Continue Shopping") return true;
     if (validate_email_f(email_addr, "You must supply a valid email address")==false)
        {
         email_addr.focus();
         return false;
        }
     else if (!not_blank(cardholder_name))
        {
         cardholder_name.focus();
         return false;
        }
     else if (!not_blank(billing_address))
        {
         billing_address.focus();
         return false;
        }
     else if (!not_blank(billing_city))
        {
         billing_city.focus();
         return false;
        }
     else if (!not_blank(billing_state))
        {
         billing_state.focus();
         return false;
        }
     else if (!not_blank(billing_zip))
        {
         billing_zip.focus();
         return false;
        }
     else if (!not_blank(cardnumber))
        {
         cardnumber.focus();
         return false;
        }
    }
}

function setshippingm(newmode)
{
 switch (newmode)
    {
     default:
     case 1: // Red
             document.getElementById('fsamount').value=document.getElementById('nfsamount').value;
             document.getElementById('fship').innerHTML=document.getElementById('nfsamount').value;
             document.getElementById('famount').value = document.getElementById('nfamount').value;
             document.getElementById('ftotal').innerHTML = document.getElementById('nfamount').value;
             break;
     case 2: // Priority
             document.getElementById('fsamount').value=document.getElementById('afsamount').value;
             document.getElementById('fship').innerHTML=document.getElementById('afsamount').value;
             document.getElementById('famount').value = document.getElementById('afamount').value;
             document.getElementById('ftotal').innerHTML = document.getElementById('afamount').value;
             break;
     case 3: // Pickup
             document.getElementById('fsamount').value="0.00";
             document.getElementById('fship').innerHTML="0.00";
             document.getElementById('famount').value = document.getElementById('fstamount').value;
             document.getElementById('ftotal').innerHTML = document.getElementById('fstamount').value;
             break;
    } // default: = red
}

function setshipping(field)
{
 if (field.checked)
    {
     document.getElementById('saveshipping').value=document.getElementById('fsamount').value;
     document.getElementById('fsamount').value="0.00";
     document.getElementById('fship').innerHTML="0.00";

     document.getElementById('savetotal').value=document.getElementById('famount').value;
     document.getElementById('famount').value=document.getElementById('fstamount').value;
     document.getElementById('ftotal').innerHTML = document.getElementById('fstamount').value;
    }
 else
    {
     document.getElementById('fsamount').value=document.getElementById('saveshipping').value;
     document.getElementById('fship').innerHTML=document.getElementById('saveshipping').value;
     document.getElementById('saveshipping').value = "0.00";

     document.getElementById('famount').value = document.getElementById('savetotal').value;
     document.getElementById('ftotal').innerHTML = document.getElementById('savetotal').value;
     document.getElementById('savetotal').value = "0.00";
    }
}		 

function checkcc(field)
{
 var cc = "" + field.value;
 var i = cc.length;
 var m = 1;
 var cur;;
 var sum = 0;
 while (i > 0)
    {
     cur = cc.substr(i - 1, 1) * m + 0;
     if (cur > 9) cur -= 9;
     sum += cur;
     if (m == 1) m = 2; else m = 1;
     i--;
    }
 if (sum % 10 != 0) alert('Invalid credit card number');
}
