function eventSrc(event)
{
    var src;
    if(event.currentTarget)
    {
        src=event.currentTarget;
    }
    else
    {
        src=event.srcElement;
    }
    return src;
}

function setFocusDelayed()
{
    global_valfield.focus();
}

var global_valfield;	// retain valfield for timer thread
function setfocus(valfield)
{
    // save valfield in global variable so value retained when routine exits
    global_valfield = valfield;
    setTimeout( 'setFocusDelayed()', 10 );
}
function trim(str)
{
    return str.replace(/^\s+|\s+$/g, '');
}

function delaydValidation(elname)
{
    setTimeout(' validateField("'+elname+'")', 10 );
}

function ischkEmpty(elname, message)
{
    var val=document.getElementById(elname).value;
    val=trim(val);
    if(val.length!=0)
        document.getElementById(elname).innerHTML="";
    else
        document.getElementById(elname).innerHTML=message;
    return val;
}

function ischkEmpty2(elname, elname2, messageField, message)
{
    var val=document.getElementById(elname2).value;
    val=trim(val);
    var val2=document.getElementById(elname).value;
    val2=trim(val2);
    if(val.length!=0 && val2.length!=0 )
        document.getElementById(messageField).innerHTML="";
    else
        document.getElementById(messageField).innerHTML=message;
    return val;
}

// calculate the ASCII code of the given character
function CalcKeyCode(aChar) {
    return aChar.charCodeAt(0);
}

function Numbers(e,n, next)
{
    var control=eventSrc(e);
    var keynum;
    var keychar;
    var numcheck;
    if(window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }
    keychar = String.fromCharCode(keynum);
    numcheck = /\d/;
    //remove non numeric
        var i=0
        var val="";
        while(i<control.value.length)
        {
            var ch=control.value.substring(i, i+1);
            if(numcheck.test(ch))
            {
                val+=ch;
            }
            i++;
        }
    control.value=val.substring(0,n);
    if(control.value.length==n)
    {
         setValue(control,control.value)
        setfocus(document.getElementById(next));
        return true;
    }
    return true;
}

function setValue(el,value)
{
    el.value=value
    //On IE
    if(el.fireEvent)
    {
        el.fireEvent('onchange');
    }
    //On Gecko based browsers
//    if(document.createEvent)
//    {
//        var evt = document.createEvent('HTMLEvents');
//        if(evt.initEvent)
//        {
//            evt.initEvent('change', true, true);
//        }
//        if(el.dispatchEvent)
//        {
//            el.dispatchEvent(evt);
//        }
//    }
}