﻿/**************** Enable keys only if allowed ****************/
function EnableKeys(keyType,e)
{
	var keyCode;
	if(window.event) //IE
	    keyCode = event.keyCode;
    else if(e.which) //Netscape/Firefox/Opera
        keyCode = e.which;
    //Enable only alphabets and spaces
	if(keyType == 0)
	{
		if(!((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (keyCode == 32) || (keyCode == 8) || (String(keyCode) == 'undefined')))
		    return false;
	}
	//Enable only alpha numeric values
	if(keyType == 1)
	{
		if(!((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (keyCode >= 48 && keyCode <= 57) || (keyCode == 8) || (String(keyCode) == 'undefined')))
		    return false;
	}
	//Enable only integer values
	if(keyType == 2)
	{		
		if(!((keyCode >= 48 && keyCode <= 57) || (keyCode == 8) || (String(keyCode) == 'undefined')))
		    return false;
	}	
	//Enable only float values
	if(keyType == 3)
	{
		if(!((keyCode >= 48 && keyCode <= 57) || (keyCode == 46 ) || (keyCode == 8) || (String(keyCode) == 'undefined')))
		    return false;
	}
	//All keyboard entries disallowed
	if(keyType == 9)
	    return false;
}

/**************** MaxLength for MultiLine TextBox ****************/
function chkMaxLength(txt,length)
{
    if(document.getElementById(txt).value.length >= length)
    {
        document.getElementById(txt).value = document.getElementById(txt).value.substring(0,length);
        alert(" Only " + length + " characters");
    }
}

/**************** to validate the 'decimal numbers' with specified 'no of digits' after decimal point and check 'Length' ****************/
function checkDecimal(txt,MaxLength,e)
{
    var dec = document.getElementById(txt).value;
	var keyCode;
	if(window.event) //IE
	    keyCode = event.keyCode;                
    else if(e.which) //Netscape/Firefox/Opera
        keyCode = e.which;
    
	if(parseInt(dec.length,10) < MaxLength) //if less than specified length
	{
	    if(!((keyCode >= 48 && keyCode <= 57) || (keyCode == 46) || (keyCode == 8) || (String(keyCode) == 'undefined'))) //check numbers and '.'
	        return false;
	    if(dec.indexOf('.') != -1) //if '.' existed
        {
            if(keyCode == 46)
                return false;
        }
        if(keyCode == 46) //'.'
        {
            if(parseInt(dec.length,10) == MaxLength-1) //if last position
            {
                alert("'.' not allowed at last position");
                return false;
            }
        }
	}
	else
	{
	    if(keyCode == 8 || String(keyCode) == 'undefined') //Netscape/Firefox/Opera
	        return true;
	    return false;
	}
}

//NoDigits->No after decimal
function checkDigitsInDecimal(txt,NoDigits,MaxNoAfterDecimal, MaxValue)
{
    var dec = document.getElementById(txt).value;		
    if(MaxValue != 0)
    {
        if(document.getElementById(txt).value > MaxValue)
        {
            alert("Cannot more than "+MaxValue+"");
            document.getElementById(txt).value = "";
            document.getElementById(txt).focus();
            return false;
        }
    }
    if(parseInt(dec.indexOf('.'),10) != -1)
    {
        if(parseInt(dec.length,10) - (parseInt(dec.indexOf('.'),10) + 1) > NoDigits) //digits after decimal point
        {
            alert("Only "+NoDigits+" digits allowed after decimal point");
            document.getElementById(txt).value = dec.substring(0,dec.length-1);
            return false;           
        }
        if(MaxNoAfterDecimal != 0)
        {
            if(dec.substring(parseInt(dec.indexOf('.'),10) + 1, dec.length) > parseInt(MaxNoAfterDecimal,10))
            {
                var Max = parseInt(MaxNoAfterDecimal,10) + 1;
                alert("Enter less than "+Max+" after decimal point");
                document.getElementById(txt).value = dec.substring(0,dec.length-1);
                return false;
            }
        } 
    }    
}

function cmpDecimal(txtFrom,txtTo,Msg)
{
    if(document.getElementById(txtTo).value != '' && document.getElementById(txtFrom).value != '')
    {
        if(parseFloat(document.getElementById(txtTo).value) > parseFloat(document.getElementById(txtFrom).value))
        {
            document.getElementById(txtTo).value = "";
            document.getElementById(txtTo).focus();
            alert(Msg);
            return false;
        }
    }
}

