﻿function AdjustForm()
{
    document.getElementById("PayOnline").checked = "true";
    document.getElementById("details").style.display = "none";
    document.getElementById("captainName").style.display = "none";
    
    var option = document.getElementById("selOption").value;
    
    if(option == "seat" || option =="table")
    {
        document.getElementById("payment").style.display = "block";
        document.getElementById("buttons").style.display = "block";
    }
    else
    {
        if(option == "guest")
        {
            document.getElementById("captainName").style.display = "block";
            document.getElementById("buttons").style.display = "block";
            document.getElementById("details").style.display = "block";
        }
        else
        {
            document.getElementById("details").style.display = "none";
            document.getElementById("buttons").style.display = "none";
        }
        
        document.getElementById("payment").style.display = "none";
        document.getElementById("Seats").value = "";
        document.getElementById("total").innerHTML = "$ 0";  
    }
}

function ShowDetails()
{
    document.getElementById("details").style.display = "block";
}

function HideDetails()
{
    document.getElementById("details").style.display = "none";
}

function Process()
{
    //document.getElementById("validated").value = "false";
    
    if(ValidateRegisterForm())
    {
        //document.getElementById("validated").value = "true";
        CalculateAmount();
        
        var option = document.getElementById("selOption").value;
    
        if(option == "seat" || option =="table")
        {
            if(document.getElementById("PayOnline").checked)
            {
                document.getElementById("frmRegister").action = payPalUrl;
                document.getElementById("frmRegister").submit();
            }
            else if(document.getElementById("PayByCheck").checked)
            {
                returnRegisterUrl = returnRegisterUrl + "?fred=1";
                document.getElementById("mainForm").action = returnRegisterUrl;
                document.getElementById("mainForm").submit();
            }
        }
        else
        {
            returnRegisterUrl = returnRegisterUrl + "?fred=1";
            document.getElementById("mainForm").action = returnRegisterUrl;
            document.getElementById("mainForm").submit();
        }
    }   
}

function ValidateZip(strValue)
{
    //99999
    var objRegExp  = /(^\d{5}$)/;
 
    //check for valid US Zipcode
    return objRegExp.test(strValue);
}

function ValidatePhone(strValue)
{
	var stripped = strValue.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters
	return !isNaN(parseInt(stripped)) && stripped.length == 10;
}

function ValidateEmail(str)
{
    var emailFilter=/^.+@.+\..{2,3}$/;
    return emailFilter.test(str);
}


function ValidateRegisterForm()
{
    if(document.getElementById("PayOnline").checked && (document.getElementById("selOption").value == "seat" || document.getElementById("selOption").value == "table"))
    {
        if(document.getElementById("Seats").value == "" || isNaN(document.getElementById("Seats").value))
        {
            alert("Please enter a valid number of seats or tables");
            return false;
        }
    }
    
    else if(document.getElementById("PayByCheck").checked || document.getElementById("selOption").value == "guest")
    {
        //document.getElementById("showTable").value = "true";
        if(document.getElementById("selOption").value == "guest")
        {
            if(document.getElementById("txtCaptain").value == "")
            {
                alert("Please enter the Table Captain name");
                return false;
            } 
        }
        if(document.getElementById("firstName").value == "")
        {
            alert("Please enter your first name");
            return false;
        }
        
        if(document.getElementById("lastName").value == "")
        {
            alert("Please enter your last name");
            return false;
        }
        if(document.getElementById("address1").value == "")
        {
            alert("Please enter your street address");
            return false;
        }
        if(document.getElementById("city").value == "")
        {
            alert("Please enter your city of residence");
            return false;
        }
        if(!ValidateZip(document.getElementById("zipCode").value))
        {
            alert("Please enter your 5-digit ZIP code");
            return false;
        }
        if(!ValidatePhone(document.getElementById("phone").value))
        {
            alert("Please enter a valid phone number in xxx xxx xxxx format");
		    return false;
        }
        if(!ValidateEmail(document.getElementById("email").value))
        {
            alert("Please enter a valid email address");
            return false;
        }
        
    }
//    else
//    {
//        document.getElementById("showTable").value = "false";
  //  }
    return true;
}


function CalculateAmount()
{   
    if(!isNaN(document.getElementById("Seats").value))
    {
        // and descriptiuon
        if(document.getElementById("selOption").value == "seat")
        {
            if(document.getElementById("Seats") < 8)
            {
                document.getElementById("amount").value = document.getElementById("Seats").value * 200;
                //document.getElementById("item_name").value = document.getElementById("Seats").value + " Seat(s)"; 
            }
            else
            {
                document.getElementById("amount").value = (Math.floor(document.getElementById("Seats").value / 8) *1500 )+ ((document.getElementById("Seats").value % 8)*200);
                //document.getElementById("item_name").value = Math.floor(document.getElementById("Seats").value / 8) + " Table(s) and " + (document.getElementById("Seats").value % 8) + " Seat(s)";    
            }
            document.getElementById("item_name").value = document.getElementById("Seats").value + " Seat(s)"; 
            
        }
        else if(document.getElementById("selOption").value=="table")
        {
   
            document.getElementById("amount").value = document.getElementById("Seats").value*1500;
            document.getElementById("item_name").value = document.getElementById("Seats").value + " Table(s)"; 
        }
    
        document.getElementById("itemName").value = document.getElementById("item_name").value;
        //document.getElementById("item_name").value = document.getElementById("selOption").value;
        document.getElementById("totalAmount").value = document.getElementById("amount").value;
        
        //document.getElementById("quantity").value = document.getElementById("Seats").value;
        document.getElementById("total").innerHTML = "$"+ document.getElementById("amount").value;
        //document.getElementById("total").style.display = "";
        //document.getElementById("totallabel").style.display = "";
    }
}

function ResetRegisterForm()
{
    document.getElementById("Seats").value = "";
    document.getElementById("total").innerHTML = "$0";
    document.getElementById("selOption").value = "none";
    document.getElementById("txtCaptain").value = "";
    document.getElementById("firstName").value = "";
    document.getElementById("middleName").value = "";
    document.getElementById("lastName").value = "";
    document.getElementById("address1").value = "";
    document.getElementById("address2").value = "";
    document.getElementById("city").value = "";
    document.getElementById("state").value = "WA";
    document.getElementById("zipCode").value = "";
    document.getElementById("phone").value = "";
    document.getElementById("company").value = "";
    document.getElementById("email").value = "";
    AdjustForm();
    return true;
}