

function trim( str )
{
    var trimmed = str.replace(/^\s+|\s+$/g, '');    
    return trimmed;
}

function replaceCRLF( str, rep )
{
    str = str.replace( /[\r]/g, "" ); // remove cr
    str = str.replace( /[\n]/g, rep ); // replace lf with rep character
    return str;
}

function onlyNumbers( 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 = /^[0-9]+$/;
    
    return numcheck.test(keychar);
}

function daysInMonth( month, year )
{
    // yes this works by overflowing queried date
    return 32 - new Date(year, month-1, 32).getDate();
}

function getSelectValueByID( id )
{
    var obj = document.getElementById( id ); 
    if( obj == null )
        return 'object error';
    
    return obj.options[ obj.selectedIndex ].value;
}

function getTextByID( id )
{
    var obj = document.getElementById( id );
    if( obj == null )
        return 'object error';
        
    return trim( obj.value );
}

function isEmail( str ) 
{
	var email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	return email.test( str );
}



