function validatePhonenumbers(event, tbName)
{
    var key = event.charCode;
    var textID = window.document.getElementById(tbName).value;
    
    // IE code
    if(event.keyCode == 32 || event.keyCode == 43 || event.keyCode == 59 ||
        event.keyCode == 127 || event.keyCode == 8 || (event.keyCode >= 48  && event.keyCode <= 57))
    {
        //keycode is OK
        document.getElementById(textID).style.backgroundImage = "url('')";
        return true;
    }
    else if(event.charCode == 32 || event.charCode == 43 || event.charCode == 59 ||
            event.charCode == 127 || event.charCode == 8  || event.keyCode == 46 ||
            event.keyCode == 36 || event.keyCode == 35 || event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13 ||
            event.keyCode == 39 || 
            (event.charCode >= 48 && event.charCode <= 57)) // Firefox code
    {
        //keycode is OK
        document.getElementById(textID).style.backgroundImage = "url('')";
        return true;
    }
    else if (event.ctrlKey) // Firefox allow cut/paste
    {
        if (event.charCode == 113)
        {
            document.getElementById(textID).style.backgroundImage = "url('')";
            return true;
        }
    }
    else
    {
        //keycode is INVALID
        document.getElementById(textID).style.backgroundImage = "url('../Images/red_textbox_bg.png')";
        return false;
    }
}

function isValidEmail(email, required)
{
    if (required==undefined) // if not specified, assume it's required
    {   
        required=true;
    }
    
    if (email==null)
    {
        if (required)
        {
            return false;
        }
        return true;
    }
    
    if (email.length==0)
    {  
        if (required)
        {
            return false;
        }
        return true;
    }
    
    if (! allValidChars(email))// check to make sure all characters are valid
    {
        return false;
    }
    
    if (email.indexOf("@") < 1) //  must contain @, and it must not be the first character
    { 
        return false;
    }
    else if (email.lastIndexOf(".") <= email.indexOf("@")) // last dot must be after the @
    {
        return false;
    }
    else if (email.indexOf("@") == email.length) // @ must not be the last character
    {
        return false;
    }
    else if (email.indexOf("..") >=0) // two periods in a row is not valid
    { 
	    return false;
    }
    else if (email.indexOf(".") == email.length) // . must not be the last character
    { 
	    return false;
    }
    
    return true;
}

function allValidChars(email)
{
    var parsed = true;
    var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
    
    for (var i=0; i < email.length; i++)
    {
        var letter = email.charAt(i).toLowerCase();
        if (validchars.indexOf(letter) != -1)
            continue;
        parsed = false;
        break;
    }
    
    return parsed;
}
