﻿// Validates a textbox so that only numbers can be entered
// allowneg - allow neg numbers
function ValidateNumber(event, allowneg)
{
    var num1chk = 0;
    //if allow neg, then check for new event num, or check for 0, which is already allowed
    if(allowneg == true)
    {num1chk = 45;}

    if(navigator.appName.toUpperCase()=="NETSCAPE" || navigator.appName.toUpperCase()=="FIREFOX")
    {
        if (event.which > 47 && event.which < 58 || event.which==9 || event.which==13 || event.which==0 || event.which==8 || event.which==num1chk)
        {
            return true;
        } 
        else
        {
            return false;
        }
    } 
    else
    {
        if (event.keyCode > 47 && event.keyCode < 58  || event.keyCode==13 || event.keyCode==0 || event.keyCode==num1chk)
        {
            event.returnValue=true;
        }
        else
        {
            event.returnValue=false;
        }
    }
}

// Validates a textbox so that only numbers and a decimal can be entered
// event    - event of the textbox
// id       - id of the textbox, used to stop multiple decimals
// dec      - how many deciaml places will be allowed
// allowneg - allow negative numbers
function ValidateDecimalNumber(event,id,dec,allowneg)
{
    var obj = document.getElementById(id);
    var pntPos = obj.value.indexOf(".");
      
    var num1chk = 0;
    //if allow neg, then check for new event num, or check for 0, which is already allowed
    if(allowneg == true)
    {num1chk = 45;}      
            
    if(navigator.appName.toUpperCase()=="NETSCAPE" || navigator.appName.toUpperCase()=="FIREFOX")
    {
        //check for multiple decimals
        if(obj.value.split(".").length-1 >= 1 && event.which==46)
        {return false;}
        
        if (event.which > 47 && event.which < 58 || event.which==9 || event.which==13 || event.which==0 || event.which==8 || event.which==46 || event.which==num1chk)
        {
            if (pntPos != -1)
            {
                if ((((obj.value.length - (pntPos + 1)) >= dec) && event.which!=8 && event.which!=46 && event.which!=16 && event.which!=0) &&
                    !(obj.selectionStart==0 && obj.selectionEnd==obj.value.length) &&
                    (obj.selectionStart==obj.selectionEnd && obj.selectionStart>pntPos))
                {return false;}
                else
                {return true;}
            }
            else{return true;} 
        }
        else{return false;}
    } 
    else
    {
        var objText = document.selection.createRange();
        objText.moveStart('character', -obj.value.length);
        var cursorPos = objText.text.length;
        
        //check for multiple decimals 
        if(obj.value.split(".").length-1 >= 1 && event.keyCode==46  )
        {event.returnValue=false;}
        else
        {
            if (event.keyCode > 47 && event.keyCode < 58  || event.keyCode==13 || event.keyCode==0 || event.keyCode==8 || event.keyCode==46 || event.keyCode==num1chk)
            {
                if (pntPos != -1)
                {
                    if (((obj.value.length - (pntPos + 1)) >= dec) && (document.selection.createRange().text.length!=obj.value.length) &&
                        (document.selection.createRange().text.length==0 && cursorPos>pntPos))
                    {event.returnValue=false;}
                    else
                    {event.returnValue=true;}
                }
                else{event.returnValue=true;} 
            }
            else{event.returnValue=false;}
        }          
    }
}

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();