        function hideLayers()
        {
            showLayer("calcCorrectional", false);
            showLayer("calcHealthcare", false);
            showLayer("calcHospitality", false);
            showLayer("calcRestaurant", false);
        }
        function showLayer(layerId, show)
        {
            document.getElementById(layerId).style.display = (show ? "block" : "none");
        }
        function selectMarket(val)
        {
            hideLayers();
            window.location = "laundry-equip-sizing.asp?id=" + val;
        }
        function showMarketLayer(val)
        {
            switch (val)
            {
                case "1":
                    showLayer("calcCorrectional", true);
                    break;
                    
                case "2":
                    showLayer("calcHealthcare", true);
                    break;
                    
                case "3":
                    showLayer("calcHospitality", true);
                    document.getElementById("hospLbsRoom").focus();
                    break;
                    
                case "4":
                    showLayer("calcRestaurant", true);
                    document.getElementById("restLbsCover1").focus();
                    break;
            }
        }
        function showValidationMsg()
        {
            alert("There was an error calculating. Please verify the highlighted fields have numeric values.");
        }
        function validateElem(elem)
        {
            var isValid = new Boolean();
            var num = new Number(elem.value);
            
            // Validate
            isValid = (elem.value != "" && !isNaN(elem.value) && num > 0);
            
            // Set element's class            
            elem.className = getClassName(isValid);
            
            // Set focus to element if it's not valid
            if (!isValid) elem.focus();
            
            // Return value
            return isValid;
        }
        function getClassName(isValid)
        {
            return (isValid ? "" : "error");
        }
        function calculateCorrectional()
        {
            // Clear value
            document.getElementById("corrResult").innerHTML = "";
        
            if (validateCorrectional())
            {                
                var corrLbs = (
                    new Number(document.getElementById("corrLbsA").value)
                    + new Number(document.getElementById("corrLbsB").value)
                    + new Number(document.getElementById("corrLbsC").value)
                    + new Number(document.getElementById("corrLbsD").value)
                );
            
                var result = (
                    corrLbs
                    * new Number(document.getElementById("corrNumInmates").value)
                    / new Number(document.getElementById("corrHoursWorkedPerWeek").value)
                    / new Number(document.getElementById("corrLoadsPerHour").value)
                );
                
                document.getElementById("corrResult").innerHTML = result.toFixed(1);
            }
            else
            {
                showValidationMsg();
            }
        }
        function validateCorrectional()
        {
            var returnValue = new Boolean();
            var elem = null;
            
            // Default
            returnValue = true;
            
            // Point to element to validate
            elem = document.getElementById("corrLoadsPerHour");
            returnValue &= validateElem(elem);
        
            // Point to element to validate
            elem = document.getElementById("corrHoursWorkedPerWeek");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("corrNumInmates");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("corrLbsD");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("corrLbsC");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("corrLbsB");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("corrLbsA");
            returnValue &= validateElem(elem);

            // Return value
            return returnValue;
        }        
        function calculateHealthcare()
        {
            // Clear value
            document.getElementById("healthResult").innerHTML = "";
        
            if (validateHealthcare())
            {
                var result = ((new Number(document.getElementById("healthNumBeds").value)
                    * new Number(document.getElementById("healthLbsBed").value)
                    * 7)
                    / new Number(document.getElementById("healthHoursWorkedPerWeek").value)
                    / new Number(document.getElementById("healthLoadsPerHour").value)
                );
                
                document.getElementById("healthResult").innerHTML = result.toFixed(1);
            }
            else
            {
                showValidationMsg();
            }
        }
        function validateHealthcare()
        {
            var returnValue = new Boolean();
            var elem = null;
            
            // Default
            returnValue = true;
            
            // Point to element to validate
            elem = document.getElementById("healthLoadsPerHour");
            returnValue &= validateElem(elem);
        
            // Point to element to validate
            elem = document.getElementById("healthHoursWorkedPerWeek");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("healthLbsBed");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("healthNumBeds");
            returnValue &= validateElem(elem);

            // Return value
            return returnValue;
        }
        function calculateHospitality()
        {
            // Clear value
            document.getElementById("hospResult").innerHTML = "";
        
            if (validateHospitality())
            {
                var result = ((new Number(document.getElementById("hospLbsRoom").value)
                    * new Number(document.getElementById("hospNumRooms").value)
                    * new Number(document.getElementById("selOccupFactor").value)
                    * 7)
                    / new Number(document.getElementById("hospHoursWeekly").value)
                    / new Number(document.getElementById("hospLoadsPerHour").value)
                );
                
                document.getElementById("hospResult").innerHTML = result.toFixed(1);
            }
            else
            {
                showValidationMsg();
            }
        }
        function validateHospitality()
        {
            var returnValue = new Boolean();
            var elem = null;
            
            // Default
            returnValue = true;
            
            // Point to element to validate
            elem = document.getElementById("hospLoadsPerHour");
            returnValue &= validateElem(elem);
        
            // Point to element to validate
            elem = document.getElementById("hospHoursWeekly");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("selOccupFactor");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("hospNumRooms");
            returnValue &= validateElem(elem);

            // Point to element to validate
            elem = document.getElementById("hospLbsRoom");
            returnValue &= validateElem(elem);

            // Return value
            return returnValue;
        }
        function calculateRestaurant()
        {
            // Clear value
            document.getElementById("restaurantResult").innerHTML = "";
        
            if (validateRestaurant())
            {
                var pounds = new Number(document.getElementById("restLbsCover1").value)
                    + new Number(document.getElementById("restLbsCover2").value);
                var coversUsed = new Number(document.getElementById("restCoversUsed1").value)
                    + new Number(document.getElementById("restCoversUsed2").value);            
                var daysOfOp = new Number(document.getElementById("restDaysOfOp1").value)
                    + new Number(document.getElementById("restDaysOfOp2").value);            
                var miscItems = new Number(document.getElementById("restMiscItems1").value)
                    + new Number(document.getElementById("restMiscItems2").value);            
                var hrsPerWeek = new Number(document.getElementById("restHrsPerWeek1").value)
                    + new Number(document.getElementById("restHrsPerWeek2").value);            
                var loadsPerHour = new Number(document.getElementById("restLoadsPerHour1").value)
                    + new Number(document.getElementById("restLoadsPerHour2").value);            

                var result = (
                    (((pounds * coversUsed * daysOfOp) + miscItems) / hrsPerWeek) / loadsPerHour
                );
                
                document.getElementById("restaurantResult").innerHTML = result.toFixed(1);
            }
        }
        function validateRestaurant()
        {
            var returnValue = new Boolean();
            var elem = null;
            var validRestBanqSeats = new Boolean();
            var validMeetingSeats = new Boolean();
            
            // Default
            returnValue = true;
            
            validMeetingSeats = validateMeetingSeats();
            if (validMeetingSeats)
            {
                // Point to element to validate
                elem = document.getElementById("restLoadsPerHour2");
                returnValue &= validateElem(elem);
            
                // Point to element to validate
                elem = document.getElementById("restHrsPerWeek2");
                returnValue &= validateElem(elem);

                // Point to element to validate
                elem = document.getElementById("restMiscItems2");
                returnValue &= validateElem(elem);

                // Point to element to validate
                elem = document.getElementById("restDaysOfOp2");
                returnValue &= validateElem(elem);

                // Point to element to validate
                elem = document.getElementById("restCoversUsed2");
                returnValue &= validateElem(elem);

                // Point to element to validate
                elem = document.getElementById("restLbsCover2");
                returnValue &= validateElem(elem);
            }
            else
            {
                document.getElementById("restLoadsPerHour2").className = "";
                document.getElementById("restHrsPerWeek2").className = "";
                document.getElementById("restMiscItems2").className = "";
                document.getElementById("restDaysOfOp2").className = "";
                document.getElementById("restCoversUsed2").className = "";
                document.getElementById("restLbsCover2").className = "";
            }
            
            validRestBanqSeats = validateRestaurantAndBanquetSeats();
            if (validRestBanqSeats)
            {
                // Point to element to validate
                elem = document.getElementById("restLoadsPerHour1");
                returnValue &= validateElem(elem);
            
                // Point to element to validate
                elem = document.getElementById("restHrsPerWeek1");
                returnValue &= validateElem(elem);

                // Point to element to validate
                elem = document.getElementById("restMiscItems1");
                returnValue &= validateElem(elem);

                // Point to element to validate
                elem = document.getElementById("restDaysOfOp1");
                returnValue &= validateElem(elem);

                // Point to element to validate
                elem = document.getElementById("restCoversUsed1");
                returnValue &= validateElem(elem);

                // Point to element to validate
                elem = document.getElementById("restLbsCover1");
                returnValue &= validateElem(elem);
            }
            else
            {
                document.getElementById("restLoadsPerHour1").className = "";
                document.getElementById("restHrsPerWeek1").className = "";
                document.getElementById("restMiscItems1").className = "";
                document.getElementById("restDaysOfOp1").className = "";
                document.getElementById("restCoversUsed1").className = "";
                document.getElementById("restLbsCover1").className = "";
            }                        
            
//            alert("validRestBanqSeats = " + validRestBanqSeats
//                + "\nvalidMeetingSeats = " + validMeetingSeats);
            
            if (!validRestBanqSeats && !validMeetingSeats)
            {
                alert("Please fill out at least one row before calculating.");
            }
            else
            {
                if (!returnValue) showValidationMsg();
                
                // Return value
                return returnValue;
            }
        }
        function validateRestaurantAndBanquetSeats()
        {
            return (document.getElementById("restLbsCover1").value != ""
                || document.getElementById("restCoversUsed1").value != ""
                || document.getElementById("restDaysOfOp1").value != ""
                || document.getElementById("restMiscItems1").value != ""
                || document.getElementById("restHrsPerWeek1").value != ""
                || document.getElementById("restLoadsPerHour1").value != ""
            );
        }
        function validateMeetingSeats()
        {
            return (document.getElementById("restLbsCover2").value != ""
                || document.getElementById("restCoversUsed2").value != ""
                || document.getElementById("restDaysOfOp2").value != ""
                || document.getElementById("restMiscItems2").value != ""
                || document.getElementById("restHrsPerWeek2").value != ""
                || document.getElementById("restLoadsPerHour2").value != ""
            );
        }