﻿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")
     if(option == "seat")
    {
        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 ShowOtherMealPreferenceBox() {
    var option = document.getElementById("selMealPreference").value;

    if (option == "Other") {
        document.getElementById("trOtherMealPreference").style.display = "block";
    }
    else {
        document.getElementById("trOtherMealPreference").style.display = "none";
    }
}

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;

        var mealPreference = document.getElementById("selMealPreference").value;
        
        if (mealPreference == "Other") {
            mealPreference = document.getElementById("txtOtherMealPreference").value;
        }

        var comments = "Seating Preference : " + document.getElementById("txtSeatingPreference").value +
                       ".Meal Preference : " + mealPreference;
        //if(option == "seat" || option =="table")
        if(option == "seat")
        {
            if (document.getElementById("PayOnline").checked) {
                document.getElementById("custom").value = comments;
                document.getElementById("frmRegister").action = payPalUrl;
                document.getElementById("frmRegister").submit();
            }
            else if (document.getElementById("PayByCheck").checked) {
            document.getElementById("hiddenSeatPreference").value = comments;
                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() {

    var numOfSeats = document.getElementById("Seats").value;
    if (!isNaN(numOfSeats))
    {
        // and descriptiuon
        if(document.getElementById("selOption").value == "seat") {   
            //shilpi - for the time being changed to having just seats - each for 250. No table option yet.

            //document.getElementById("amount").value = 0.1

            if (numOfSeats >= 6) {
                document.getElementById("amount").value = numOfSeats * 225;
            }
            else {
                document.getElementById("amount").value = numOfSeats * 250;
            }

            document.getElementById("item_name").value = numOfSeats + " Pass(es)";
             
            /* 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;
}