Event.observe(document, 'dom:loaded', function(){
	if (!this.initialized) {
		this.initialized = true
		UserForm.init()
		DownloadForm.init()
	}
})

var UserForm = {
	init: function(){
		if (this.generatePassword = $('user_generate_password')) {
			this.generatePassword.observe('click', this.onGeneratePasswordClick.bind(this))
			this.onGeneratePasswordClick()
		}
	}
	, onGeneratePasswordClick: function(){
		var checked = this.generatePassword.checked
		$('user_password_input')[checked ? 'hide' : 'show']()
		$('user_password_confirmation_input')[checked ? 'hide' : 'show']()
	}
}

var DownloadForm = {
	init: function(){
		if (this.share = $('download_shared')) {
			this.share.observe('click', this.onShareClick.bind(this))
			this.onShareClick()
		}
	}
	, onShareClick: function(){
		var checked = this.share.checked
		$('user_checkboxes')[checked ? 'hide' : 'show']()
	}
}

var Growl = {
	growler: function(){
		if (this._growler == undefined) {
			this._growler = new k.Growler({location:'br'})
		}
		return this._growler
	}
	, growl: function(msg, options) {
		return this.growler().growl(msg, options)
	}
	, info: function(msg, options){
		return this.growler().info(msg, options)
	}
	, warn: function(msg, options){
		return this.growler().warn(msg, options)
	}
	, error: function(msg, options){
		return this.growler().error(msg, options)
	}
	, ungrowl: function(n, o){
		return this.growler().ungrowl(n, o)
	}
}
