var LoginForm = Class.create();

var LoginOverrides = {
	newsint_focus: function() {
		Element.removeClassName(this.parentNode, 'content');
	},
	newsint_blur: function() {
		if(this.value == '' ) {
			Element.addClassName(this.parentNode, 'content');
		}
	},
	newsint_init: function(field) {
		if(field.value == '' ) {
			Element.addClassName(field.parentNode, 'content');
		}
	}
};

LoginForm.prototype = {
	initialize: function( params ) {
		var string = '#' + params.componentId + ' #' + params.usernameFieldId + ', ' + '#' + params.componentId + ' #' + params.passwordFieldId;
		var fields = $$( string );

		// override the default behaviours if supplied
		if( params.override ) {
			this.focus = LoginOverrides[params.override + '_focus'];
			this.blur = LoginOverrides[params.override + '_blur'];
			this.init = LoginOverrides[params.override + '_init'];
		}

		for(var i=0;i<fields.length;i++) {
			fields[i].observe('focus', this.focus);
			fields[i].observe('blur', this.blur);
			fields[i].observe('keypress', this.focus);
			fields[i].observe('change', this.focus);
			this.init(fields[i]);
		}
	},
	focus: function() {
		Element.removeClassName(this, 'content');
	},
	blur: function() {
		if(this.value == '' ) {
			Element.addClassName(this, 'content');
		}
	},
	init: function(field) {
		if(field.value == '' ) {
			Element.addClassName(field, 'content');
		}
	}
};
