﻿
// ************** onkeypress Validations ****************
// Accept Integer Numbers
function acceptIntNums(e)
{       
    var code = (window.event)?e.keyCode:e.which;
        
    if((code >= 48 && code <= 57) || code == 8 || code == 0 || code == 13 || code == 9)
        return true;
    else
        return false;
}

// Accept Decimal Numbers
function acceptDecNums(e, obj)
{
    var code = (window.event)?e.keyCode:e.which;
    
    if(code == 46 && obj.value.indexOf(".") != -1)
    {
        return false;
    }
        
    if((code >= 48 && code <= 57) || code == 0 || code == 8 || code == 46 || code == 13 || code == 9)
        return true;
    else
        return false;
}

// Accept Characters
function acceptChars(e)
{
    var code = (window.event)?e.keyCode:e.which;
        
    if((code >= 65 && code <= 90) || (code >= 97 && code <= 122) || code == 8 || code == 32 || code == 0 || code == 13 || code == 9)
        return true;
    else
        return false;
}

// Accept Characters and Numbers
function acceptNumsChars(e)
{
    var code = (window.event)?e.keyCode:e.which;
        
    if((code >= 65 && code <= 90) || (code >= 97 && code <= 122) || (code >= 48 && code <= 57) || code == 0 || code == 8 || code == 32 || code == 46 || code == 13 || code == 9)
        return true;
    else
        return false;
}

// Accept Date
function acceptDateChars(e)
{
    var code = (window.event)?e.keyCode:e.which;
        
    if((code >= 48 && code <= 57) || code == 0 ||  code == 8 || code == 47 || code == 13 || code == 9)
        return true;
    else
        return false;
}

// Accept Phone No
function acceptPhoneNumber(e)
{
    var code = (window.event)?e.keyCode:e.which;
        
    if((code >= 48 && code <= 57) || code == 8 || code == 0 || code == 40 || code == 41 || code == 45 || code == 13 || code == 9)
        return true;
    else
        return false;
}

// Accept Phone No
function acceptEmail(e)
{
    var code = (window.event)?e.keyCode:e.which;
        
    if((code >= 48 && code <= 57) || (code >= 65 && code <= 90) || (code >= 97 && code <= 122) || code == 8 || code == 0 || code == 95 || code == 64 || code == 46 || code == 13 || code == 9)
        return true;
    else
        return false;
}

// Accept IP
function acceptIP(e)
{
    var code = (window.event)?e.keyCode:e.which;
        
    if((code >= 48 && code <= 57) || code == 8 || code == 0 || code == 46 || code == 13 || code == 9)
        return true;
    else
        return false;
}

// ************** onblur validations ******************
// Check only numbers in the textbox
function checkNums(obj)
{    
    var numRE = new RegExp(/^\d*$/);
    
    if(!numRE.test(obj.value))
    {
        alert("Invalid Number entered. Enter a valid number.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
    }   
}

// Check only numbers in the textbox
function checkDecNums(obj)
{    
    var numRE = new RegExp(/^\d*(\.\d+)?$/);
    
    if(!numRE.test(obj.value))
    {
        alert("Invalid Number entered. Enter a valid number.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
    }   
}

// Check only Characters in the textbox
function checkChars(obj)
{    
    var charRE = new RegExp(/^(?! )([A-Za-z ])*$/);
    
    if(!charRE.test(obj.value))
    {
        alert("Invalid characters entered. Only alphabets and spaces are allowed.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
    }
}

// Check only numbers in the textbox
function checkCharsNums(obj)
{   
    var charNumRE = new RegExp(/^(?! )([A-Za-z 0-9\.])*$/);
    
    if(!charNumRE.test(obj.value))
    {
        alert("Only numbers and alphabets are allowed.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
    }   
}

//Check only Number,-,() in the text Box
function checkPhoneNumber(obj)
{
     var charNumRE = new RegExp(/^(\(|\d| |-|\))*$/);
    
    if(!charNumRE.test(obj.value))
    {
        alert("Only numbers (),- are allowed.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
    }   
}

//Check only Number,-,() in the text Box
function checkFax(obj)
{
     var charNumRE = new RegExp(/^(\(|\d| |-|\))*$/);
    
    if(!charNumRE.test(obj.value))
    {
        alert("Only numbers (),- are allowed.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
    }   
}

// Date Validations
function checkDate(obj)
{
    var dateRE = new RegExp(/^(?! )(\d{2}\/\d{2}\/\d{4})?$/);

    if(!dateRE.test(obj.value))
    {
        alert("Please enter a valid date in MM/DD/YYYY format.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
        return;
    }   
    
    var parsedDate = obj.value.split('/');    
    
    if(parsedDate[2] < 1900 || parsedDate[2] > 2999)
    {
        alert("Invalid Year. The valid range of year is between 1900 and 2999.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
        return;
    }
    
    var isLeapYr = (parsedDate[2]%4 == 0)?true:false;
                
    if(parsedDate[0] < 0 || parsedDate[0] > 12)
    {
        alert("Invalid Month.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
        return;
    }    
    
    var dateRange = 31;
    
    if(parsedDate[0] == 4 || parsedDate[0] == 6 || parsedDate[0] == 9 || parsedDate[0] == 11)    
        dateRange = 30;    
    else if(parsedDate[0] == 2 && isLeapYr == true)    
        dateRange = 29;    
    else if(parsedDate[0] == 2 && isLeapYr == false)    
        dateRange = 28;
        
    if(parsedDate[1] < 0 || parsedDate[1] > dateRange)
    {
        alert("Invalid Date.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
        return;
    }        
}

function checkEmail(obj)
{
    var emailRE = new RegExp(/^(\w+@{1}\w+\.+\w+(\.|\w)*)?$/);
    
    if(!emailRE.test(obj.value))
    {
        alert("Invalid Email Id.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
    }
}

function checkURL(obj)
{
    var urlRE = new RegExp(/^([A-Za-z 0-9\.])*$/);
    
    if(!urlRE.test(obj.value))
    {
        alert("Invalid URL.");
        setTimeout("document.getElementById('" + obj.id + "').focus();", 1);
    }
}

