function ucwords( str ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Waldo Malqui Silva
    // +   bugfixed by: Onno Marsman
    // *     example 1: ucwords('kevin van zonneveld');
    // *     returns 1: 'Kevin Van Zonneveld'
    // *     example 2: ucwords('HELLO WORLD');
    // *     returns 2: 'HELLO WORLD'
    //str = trim(str);
    var sReturn = (str+'').toLowerCase().replace(/^([a-z])|(\s)+(.)/g, function ( $1 ) { return $1.toUpperCase ( ); } );
    var oReg = new RegExp('-[a-zà-ö]', 'g');
    var aMatch = sReturn.match(oReg);
    if(aMatch)
    {
        for(var i = 0; i < aMatch.length; i++)
        {
            sReturn = sReturn.replace(aMatch[i], aMatch[i].toUpperCase());
        }
    }
    return sReturn;
}
function trim (str)
{
    return str.replace(/^\s+/g,'');//.replace(/\s+$/g,'');
}
