This specific code looks fine from what I can tell. Try using an alert('hello!') instead of Nifty(...) or put alert('hello!') as the first line of code inside the Nifty method implementation to see if you're using it correctly. If the alert occurs, then the code inside of the Nifty method is not correct. If the alert doesn't occur, then you're calling the method incorrectly from onload.
Here is a link:
http://wap.w3schools.com/jsref/event_body_onload.aspOnload shouldn't necessarily be trusted though, specifically in the Opera web browser. In Opera, onload is only called the very first time the webpage is loaded and stored into the cache. So onload will NOT be called again until the temporary internet files/cache/etc. are deleted. I'm not sure if this is true for other web browsers. The way to get around it is to just call the method inside the script code without onload:
<script type="text/javascript">
Nifty("div#box","big");
</script>