﻿var focusCurrent = "";
function rowFocus(focusNew) {
    if (!focusCurrent == "") {
        document.getElementById(focusCurrent + "_row").style.backgroundColor = "#F5F9EE";
    }
    document.getElementById(focusNew + "_row").style.backgroundColor = "#d8e9b9";
    focusCurrent = focusNew;
}
function validateTextboxLength(_whichTextbox, _maxlength) {
    if (document.getElementById(_whichTextbox).value.length >= _maxlength
        ||
        document.getElementById(_whichTextbox).value == "") {
        document.getElementById(_whichTextbox + "_ValidationImg").src = "/assets/images/general/validation_cross.gif";
        document.getElementById(_whichTextbox + "_ValidationImg").alt = "Cross";
        document.getElementById(_whichTextbox + "_ValidationImg").style.display = "block";
        return false;
    }
    else {
        document.getElementById(_whichTextbox + "_ValidationImg").src = "/assets/images/general/validation_tick.gif";
        document.getElementById(_whichTextbox + "_ValidationImg").alt = "Tick";
        document.getElementById(_whichTextbox + "_ValidationImg").style.display = "block";
        return true;
    }
}
function validateTextbox(_whichTextbox) {
    if (jQuery.trim(document.getElementById(_whichTextbox).value) == "") {
        document.getElementById(_whichTextbox + "_ValidationImg").src = "/assets/images/general/validation_cross.gif";
        document.getElementById(_whichTextbox + "_ValidationImg").alt = "Cross";
        document.getElementById(_whichTextbox + "_ValidationImg").style.display = "block";
        document.getElementById(_whichTextbox).value = jQuery.trim(document.getElementById(_whichTextbox).value);
        return false;
    }
    else {
        document.getElementById(_whichTextbox + "_ValidationImg").src = "/assets/images/general/validation_tick.gif";
        document.getElementById(_whichTextbox + "_ValidationImg").alt = "Tick";
        document.getElementById(_whichTextbox + "_ValidationImg").style.display = "block";
        return true;
    }
}
function validateDDL(_whichDDL) {
    if (document.getElementById(_whichDDL).value == "-1" || document.getElementById(_whichDDL).value == "") {
        document.getElementById(_whichDDL + "_ValidationImg").src = "/assets/images/general/validation_cross.gif";
        document.getElementById(_whichDDL + "_ValidationImg").alt = "Cross";
        document.getElementById(_whichDDL + "_ValidationImg").style.display = "block";
        return false;
    }
    else {
        document.getElementById(_whichDDL + "_ValidationImg").src = "/assets/images/general/validation_tick.gif";
        document.getElementById(_whichDDL + "_ValidationImg").alt = "Tick";
        document.getElementById(_whichDDL + "_ValidationImg").style.display = "block";
        return true;
    }
}
function validateBusinessTypeDDL(_whichDDL, tValidateBusinessType) {
    if (document.getElementById(_whichDDL).value == "-1") {
        document.getElementById(_whichDDL + "_ValidationImg").src = "/assets/images/general/validation_cross.gif";
        document.getElementById(_whichDDL + "_ValidationImg").alt = "Cross";
        document.getElementById(_whichDDL + "_ValidationImg").style.display = "block";
        return false;
    }
    else {
        document.getElementById(_whichDDL + "_ValidationImg").src = "/assets/images/general/validation_tick.gif";
        document.getElementById(_whichDDL + "_ValidationImg").alt = "Tick";
        document.getElementById(_whichDDL + "_ValidationImg").style.display = "block";
        return true;
    }
}
function validateTAC(chkTAC) {
    if (!document.getElementById(chkTAC).checked) {
        document.getElementById(chkTAC + "_ValidationImg").src = "/assets/images/general/validation_cross.gif";
        document.getElementById(chkTAC + "_ValidationImg").alt = "Cross";
        document.getElementById(chkTAC + "_ValidationImg").style.display = "block";
        return false;
    }
    else {
        document.getElementById(chkTAC + "_ValidationImg").src = "/assets/images/general/validation_tick.gif";
        document.getElementById(chkTAC + "_ValidationImg").alt = "Tick";
        document.getElementById(chkTAC + "_ValidationImg").style.display = "block";
        return true;
    }
}
function enableOpeningTimes(openingTime, closingTime, chkDay) {
    var DayChecked = document.getElementById(chkDay).checked;
    var open = document.getElementById(openingTime);
    var openVal = document.getElementById(openingTime + "_ValidationImg");
    var openVal_row = document.getElementById(openingTime + "_row");
    var close = document.getElementById(closingTime);
    var closeVal = document.getElementById(closingTime + "_ValidationImg");
    var closeVal_row = document.getElementById(closingTime + "_row");
    if (open != null && close != null) {
        if (!DayChecked) {
            open.value = "";
            openVal.style.display = "none";
            openVal_row.style.backgroundColor = "#F5F9EE";
            close.value = "";
            closeVal.style.display = "none";
            closeVal_row.style.backgroundColor = "#F5F9EE";
            focusCurrent = "";
        }
        open.disabled = !DayChecked;
        close.disabled = !DayChecked;
    }
}

function clearValidationImage(controlName) {
    document.getElementById(controlName + "_ValidationImg").style.display = "none";
}

function showValidationImage(controlName, IsValid) {
    switch (IsValid) {
        case false:
            document.getElementById(controlName + "_ValidationImg").src = "/assets/images/general/validation_cross.gif";
            document.getElementById(controlName + "_ValidationImg").alt = "Cross";
            document.getElementById(controlName + "_ValidationImg").style.display = "block";
            break;
        case true:
            document.getElementById(controlName + "_ValidationImg").src = "/assets/images/general/validation_tick.gif";
            document.getElementById(controlName + "_ValidationImg").alt = "Tick";
            document.getElementById(controlName + "_ValidationImg").style.display = "block";
            break;
    }
}
function hideValidationImage(controlName) {
    document.getElementById(controlName + "_ValidationImg").style.display = "none";
}
function showInvalidFieldImage(controlName) {
    document.getElementById(controlName + "_ValidationImg").src = "/assets/images/general/validation_cross.gif";
    document.getElementById(controlName + "_ValidationImg").alt = "Cross";
    document.getElementById(controlName + "_ValidationImg").style.display = "block";
}
function InvalidEmail(str) {
    if (str.search(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/) != -1) {
        return false;
    } else {
        return true;
    }
}
function validatePhone(ctlPhone, ctlMobile) {
    var _ret = "OK";
    //both empty = invalid
    if (document.getElementById(ctlPhone).value == "" && document.getElementById(ctlMobile).value == "") {
        showValidationImage(ctlPhone, false);
        showValidationImage(ctlMobile, false);
        _ret = "At least one phone number";
    }
    if (document.getElementById(ctlPhone).value != "") {
        if (document.getElementById(ctlMobile).value == "")
            hideValidationImage(ctlMobile);

        if (document.getElementById(ctlPhone).value.search(/(02\d\s?\d{4}\s?\d{4})|(01\d{2}\s?\d{3}\s?\d{4})|(01\d{3}\s?\d{5,6})|(01\d{4}\s?\d{4,5})/) != -1) {
            showValidationImage(ctlPhone, true);
            _ret = "OK";
        }
        else {
            showValidationImage(ctlPhone, false);
            _ret = "Telephone";
        }
    }
    if (document.getElementById(ctlMobile).value != "") {
        if (document.getElementById(ctlPhone).value == "")
            hideValidationImage(ctlPhone);

        if (document.getElementById(ctlMobile).value.search(/^07([\d]{3})[(\D\s)]?[\d]{3}[(\D\s)]?[\d]{3}$/) != -1) {
            showValidationImage(ctlMobile, true);
            _ret = "OK";
        }
        else {
            showValidationImage(ctlMobile, false);
            _ret = "Mobile";
        }
    }
    return _ret;
}

function validateMobile(controlName) {
    if (document.getElementById(controlName).value.search(/^07([\d]{3})[(\D\s)]?[\d]{3}[(\D\s)]?[\d]{3}$/) != -1) {
        showValidationImage(controlName, true);
        return true;
    }
    else if (document.getElementById(controlName).value == "") {
        showValidationImage(controlName, false);
        return false;
    }
    else {
        showValidationImage(controlName, false);
        return false;
    }
}
function validateSinglePhone(ctlPhone) {
    var _ret = "OK";
    if (document.getElementById(ctlPhone).value != "") {
        if (
               (document.getElementById(ctlPhone).value.search(/(02\d\s?\d{4}\s?\d{4})|(01\d{2}\s?\d{3}\s?\d{4})|(01\d{3}\s?\d{5,6})|(01\d{4}\s?\d{4,5})/) != -1)
               ||
               (document.getElementById(ctlPhone).value.search(/^07([\d]{3})[(\D\s)]?[\d]{3}[(\D\s)]?[\d]{3}$/) != -1)
           ) 
        {
            showValidationImage(ctlPhone, true);
            _ret = "OK";
        }
        else {
            showValidationImage(ctlPhone, false);
            _ret = "Telephone";
        }
    }
    return _ret;
}
function validateOpeningTime(controlName) {
    if (document.getElementById(controlName).value.search(/^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/) != -1) {
        showValidationImage(controlName, true);
        return true;
    }
    else if (document.getElementById(controlName).value == "") {
        showValidationImage(controlName, false);
        return false;
    }
    else {
        showValidationImage(controlName, false);
        return false;
    }
}
function compareOpeningTimes(openTime, closeTime) {
    var open = document.getElementById(openTime).value;
    var close = document.getElementById(closeTime).value;
    
    var o_t = open.split(':')
    var o_hh = parseInt(o_t[0],10);
    var o_mm = parseInt(o_t[1],10)
    var o_d = new Date(2007,1,1,o_hh,o_mm,00); // just a date not around daylightsaving
    
    var c_t = close.split(':')
    var c_hh = parseInt(c_t[0],10);
    var c_mm = parseInt(c_t[1],10)
    var c_d = new Date(2007, 1, 1, c_hh, c_mm, 00); // just a date not around daylightsaving
    
    return o_d < c_d ? true : false; // open date greater than close date
}
function validateSingleEmail(txtEmail) {
    var Email = document.getElementById(txtEmail).value;
    if (InvalidEmail(Email)) {
        showValidationImage(txtEmail, false);
        return false;
    }
    else {
        showValidationImage(txtEmail, true);
        return true;
    }
}

function validateEmail(txtEmail, txtConfirmEmail) {
    var Email = document.getElementById(txtEmail).value;
    var ConfirmEmail = document.getElementById(txtConfirmEmail).value;

    switch (true) {
        case InvalidEmail(ConfirmEmail) && InvalidEmail(Email): //both invalid
            showValidationImage(txtEmail, false);
            showValidationImage(txtConfirmEmail, false);
            return false;
            break;
        case InvalidEmail(Email) && !InvalidEmail(ConfirmEmail):
            showValidationImage(txtEmail, false);
            showValidationImage(txtConfirmEmail, false);
            return false;
            break;
        case !InvalidEmail(Email) && InvalidEmail(ConfirmEmail):
            showValidationImage(txtEmail, true);
            showValidationImage(txtConfirmEmail, false);
            return false;
            break;
        case Email != ConfirmEmail:
            showValidationImage(txtConfirmEmail, false);
            return false;
            break;
        case !InvalidEmail(Email) && !InvalidEmail(ConfirmEmail):
            showValidationImage(txtEmail, true);
            showValidationImage(txtConfirmEmail, true);
            return true;
            break;
    }
}

