﻿function ChangeMenu(imageID, iamgePath, imageClass, containerID, containerClass)
{
    var image = document.getElementById(imageID);
    var container = document.getElementById(containerID);

    image.src = iamgePath;
    image.className = imageClass;
    container.className = containerClass;
}


function NavigateToPage(pageUrl)
{
    window.document.location = pageUrl;
}

// For Distributors

function ShowDiv(div) {
    var objDiv = document.getElementById(div);
    if (objDiv.style.display == 'none' || objDiv.style.display == '') {
        objDiv.style.display = 'block';
    }
    else if (objDiv.style.display == 'block') {
        objDiv.style.display = 'none';
    }
}

function ValidateQuickLinkSelection(selQuickLinks)
{
    selQuickLinks = document.getElementById(selQuickLinks);
    if (selQuickLinks.selectedIndex <= 0)
    {
        return false;
    }
    else
    {
        return true;
    }
}


function ShowLoginHelp(value)
{
    document.getElementById('LoginHelp').style.display = value;
}

function ShowExpatriateVideo(value)
{
    document.getElementById('ExpatriateVideo').style.display = value;
}
    

function ValidateEmail(email)
{
    // a very simple email validation checking. 
    // you can add more complex email checking if it helps 
    if (email.length <= 0)
    {
        return true;
    }
    var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (email.match(emailRegEx))
    {
        return true;
    }
    return false;
}

function ValidateNames(names)
{

    if (names.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[a-zA-Z]+([\s.,-]*[a-zA-Z]*)*$/;
        if (names.match(regexp_ip) == null) return false;
    }

    return true;

}
function ValidateAmount(amt)
{

    if (amt.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[0-9]+([,][0-9]+)*([.][0-9]+)*([-][0-9]+)*([\s][0-9]+)*$/;
        if (amt.match(regexp_ip) == null) return false;
    }

    return true;

}

function ValidatePhone(ph)
{

    if (ph.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[0-9]+([-][0-9]+)*$/;
        if (ph.match(regexp_ip) == null) return false;
    }

    return true;

}
function ValidateAddress(adds)
{

    if (adds.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[a-zA-Z0-9]+([\s]*[a-zA-Z]*[0-9]*[#-_.,]*)*$/;
        if (adds.match(regexp_ip) == null) return false;
    }

    return true;

}
function ValidateZIPCode(adds)
{

    if (adds.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[a-zA-Z0-9]+([\s]*[a-zA-Z]*[0-9]*[#-_:]*)*$/;
        if (adds.match(regexp_ip) == null) return false;
    }

    return true;

}


function ValidateControlData(control, errorLabel, message, command, required)
{
    var isValid = true;

    if (required && IsTextBoxValueEmpty(control, errorLabel, message))
    {
        isValid = false;
        errorLabel.innerHTML = "Please enter " + message;
    }
    else
    {
        switch (command)
        {
            case "name":
                isValid = ValidateNames(control.value);
                break;

            case "phone":
                isValid = ValidatePhone(control.value);
                break;

            case "amount":
                isValid = ValidateAmount(control.value);
                break;

            case "address":
                isValid = ValidateAddress(control.value);
                break;

            case "zip":
                isValid = ValidateZIPCode(control.value);
                break;

            case "email":
                isValid = ValidateEmail(control.value);
                break;

            case "date":
                isValid = validateDateFormat(control.value);
                break;

            case "dob":
                isValid = ValidateDateMinimumOneYear(control.value);
                break;
        }

        if (!isValid)
        {
            errorLabel.innerHTML = "Please enter valid " + message;
        }
    }

    if (!isValid)
    {
        SetFocus(control);
    }
    else
    {
        errorLabel.innerHTML = "";
    }

    return isValid;
}

var hasFocus = false;

function SetFocus(control)
{

    if (!hasFocus)
    {
        control.focus();
        hasFocus = true;
    }
}

function ValidateDropdownSelection(control, messageControl, message)
{

    if (control.selectedIndex == 0)
    {
        messageControl.innerHTML = "Please select " + message;
        SetFocus(control);
        return false;
    }
    else
    {
        messageControl.innerHTML = "";
        return true;
    }
}

function IsTextBoxValueEmpty(control, messageControl, message)
{
    var result;
    if (control.value == "")
    {
        messageControl.innerHTML = "Please enter " + message;
        SetFocus(control);
        result = true;
    }
    else
    {
        messageControl.innerHTML = "";
        result = false;
    }
    return result;
}