﻿function calculateSavings(controlRoot) {
    var numOps = document.getElementById("uiNumOps").value;
    var numDaysHoliday = document.getElementById("uiAverageHols").value;
    var holidayPayPerWeek = document.getElementById("uiAverageHolidayPay").value;
    var companyName = document.getElementById("uiCompanyName").value;
    var contactName = document.getElementById("uiContactName").value;
    var telephone = document.getElementById("uiTelephone").value;
    var email = document.getElementById("uiEmail").value;

    if (stringIsNullOrEmpty(numOps) || stringIsNullOrEmpty(numDaysHoliday) || stringIsNullOrEmpty(holidayPayPerWeek) ||
        stringIsNullOrEmpty(companyName) || stringIsNullOrEmpty(contactName) || stringIsNullOrEmpty(telephone) || stringIsNullOrEmpty(email) ||
        parseInt(numOps) <= 0 || parseInt(numDaysHoliday) <= 0 || parseFloat(holidayPayPerWeek) <= 0) {
        alert('Please complete all the fields.');
        return false;
    }

    if (parseInt(numDaysHoliday) > 50) {
        alert('Number of days holidays must be less than 51 days.');
        return false;
    }
    if (parseInt(numDaysHoliday) < 28) {
        alert('28 is the minimum statutory number of days holiday');
        return false;
    }

    //the following is on the live server to enable stats gathering on number of clicks!
    //"pageTracker._trackPageview('/calculate');";

    return true;
}

function stringIsNullOrEmpty(sString) {
    if (sString == null)
        return true;

    var checkString = sString.replace(/ /g, "");

    return (checkString.length == 0);
}

function keyPress(e, textType) {
    var key = window.event ? e.keyCode : e.which;
    var sender = window.event ? e.srcElement : e.target;

    switch (textType) {
        case "I":

            if (parseInt(key) == 45 && sender.value.indexOf("-") > -1) {
                if (e.stopPropagation) {
                    e.stopPropagation();
                    e.preventDefault();
                }
                else {
                    e.returnValue = 0;
                }
                break;
            }

            if ((parseInt(key) < 48 || parseInt(key) > 57) && parseInt(key) !== 8 && parseInt(key) !== 45) {
                if (e.stopPropagation) {
                    e.stopPropagation();
                    e.preventDefault();
                }
                else {
                    e.returnValue = 0;
                }
                break;
            }
            break;
        case "PH":
            if ((parseInt(key) < 48 || parseInt(key) > 57) && parseInt(key) !== 8 && parseInt(key) !== 32) {
                if (e.stopPropagation) {
                    e.stopPropagation();
                    e.preventDefault();
                }
                else {
                    e.returnValue = 0;
                }
                break;
            }
            break;

        case "C":
            if (parseInt(key) == 46 && sender.value.indexOf(".") > -1) {
                if (e.stopPropagation) {
                    e.stopPropagation();
                    e.preventDefault();
                }
                else {
                    e.returnValue = 0;
                }
                break;
            }
            if ((parseInt(key) < 48 || parseInt(key) > 57) && parseInt(key) !== 8 && parseInt(key) !== 46) {
                if (e.stopPropagation) {
                    e.stopPropagation();
                    e.preventDefault();
                }
                else {
                    e.returnValue = 0;
                }
                break;
            }
            if (textType == "C") {
                idxDot = sender.value.indexOf(".");
                if (idxDot != -1 && sender.value.length > idxDot + 2) {
                    if (e.stopPropagation) {
                        e.stopPropagation();
                        e.preventDefault();
                    }
                    else {
                        e.returnValue = 0;
                    }
                    break;
                }
            }
            break;
    }
}


