﻿function isNumberKey(evt)
{
 var charCode = (evt.which) ? evt.which : event.keyCode
 if (charCode > 31 && (charCode < 48 || charCode > 57))
    return false;

 return true;
}

function isNumberKey2(evt)
{
 var charCode = (evt.which) ? evt.which : event.keyCode
 if (charCode == 46)
    return true;
 
 if (charCode > 31 && (charCode < 48 || charCode > 57))
    return false;

 return true;
}

function checkValidEmail(fld, description, isRequired)
{
    if (isRequired)
    {
        if (!checkRequiredField(fld, description))
            return false;
    }

    if (fld.value == '' && !isRequired)
        return true;

    if (!isValidEmail(fld))
    {
        alert('Please enter a valid ' + description + '.');
        fld.focus();
        return false;
    }
    
    return true;
}

function addOption(selectObj, txt, val)
{
    var newopt = document.createElement('option');
    newopt.text = txt;
    newopt.value = val;
    
    try {
        selectObj.add(newopt,null);
    } catch(e) {
        selectObj.add(newopt);
    }
}

function isValidEmail(val) {
    var re = /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;
    if (!val.match(re)) {
        return false;
    } else {
        return true;
    }
}

function checkValidDate(fld, description, isRequired)
{
    if (!fld)
        return true;

    if (isRequired)
    {
        if (!checkRequiredField(fld, description))
            return false;
    }

    if (fld.value == '' && !isRequired)
        return true;
    
    if (!isDate(fld.value,'M/d/y'))
    {
        alert('Please enter a valid ' + description + '.');
        fld.focus();
        return false;
    } else {
        var td = parseDate(fld.value);
        fld.value = formatDate(td,'MM/dd/yyyy');
    }
    return true;
}

function updateDupField(fromFldID,toFldID)
{
    getElement(toFldID).value = getElement(fromFldID).value;
}

function fixDateOnBlur(fld)
{
    if (isDate(fld.value,'M/d/y'))
    {
        var td = parseDate(fld.value,true);
        fld.value = formatDate(td,'MM/dd/yyyy');
    }
    else
    {
        if (fld.value != '')
        {
            alert('Please enter a valid date in MM/DD/YYY format.');
            fld.focus();
            return false;
        }
    }
    return true;
}

function disableForm(formID)
{
    var elems = getElement(formID).elements;
    for (var i=0;i<elems.length;i++)
    {
        try
        {
            var e = elems[i];
                       
            if (e.id.substr(0,1) != '_')
            {
                if (IsCheckbox(e) || IsSelect(e)) // checkbox or select
                    e.disabled = true;
                else
                    e.readOnly = true;
                
                if (e.className == "nkButton")
                    e.className = "nkButton_disabled";                
            }            
        }
        catch (e) 
        {
            // do nothing
        }
    }
    
    elems = document.getElementsByTagName('img');
    for (var i=0;i<elems.length;i++)
    {
        var e = elems[i];
        if (e.src)
            if (e.src.indexOf('calendar.jpg') > -1)
                e.style['display'] = 'none';
    }
}

function IsCheckbox(element)
{
    if(element == null)
        return false;    

    return (element.tagName.toUpperCase() == "INPUT" && element.type.toLowerCase() == "checkbox");
} 

function IsSelect(element)
{
    if(element == null)
        return false;    

    return (element.tagName.toUpperCase() == "SELECT");
}

function getCheckedValue(radioObj) {
    if (!radioObj)
        return "";
    var radioLength = radioObj.length;
    if (radioLength == undefined)
        if (radioObj.checked)
            return radioObj.value;
        else
            return "";
    for (var i = 0; i < radioLength; i++) {
        if (radioObj[i].checked) {
            return radioObj[i].value;
        }
    }
    return "";
}

