/**
 * Adds a function to the load event.
 *
 * @author                              Simon Willison (http://simon.incutio.com/)
 * @version                             1.0.2
 * @param           func                Function to run onload
 * @returns                             None
 * @throws                              None
 */
function addLoadEvent(func)
{
    var old_onload = window.onload;
    if(typeof window.onload != "function")
    {
        window.onload = func;
    }
    else
    {
        window.onload = function()
                        {
                            old_onload();
                            func();
                        }
    }
}



/**
 * Removes all whitespace at the beginning and end of a string.
 *
 * @version                             1.0
 * @param           str                 String to trim
 * @returns                             Trimmed string
 * @throws                              None
 */
function trim(str) {
    str = str + "";     // Convert to string

    return ltrim(rtrim(str));
}

/**
 * Removes all whitespace at the beginning of a string.
 *
 * @version                             1.0
 * @param           str                 String to trim
 * @returns                             Trimmed string
 * @throws                              None
 */
function ltrim(str) {
    str = str + "";     // Convert to string

    for(var i = 0; i < str.length && str.charAt(i) <= " "; i++);

    return str.substring(i, str.length);
}

/**
 * Removes all whitespace at the end of a string.
 *
 * @version                             1.0
 * @param           str                 String to trim
 * @returns                             Trimmed string
 * @throws                              None
 */
function rtrim(str) {
    str = str + "";     // Convert to string

    for(var i = str.length - 1; i >= 0 && str.charAt(i) <= " "; i--);

    return str.substring(0, i + 1);
}