var HomeRetailerLocator = Class.create();
HomeRetailerLocator.prototype = {

form : null,
cityTextField : null,
stateTextField : null,
zipTextField : null,
cityTextBufferField : null,
stateTextBufferField : null,
zipTextBufferField : null,
goBtn : null,

emptyTextColor : '#666666',
filledTextColor : '#000000',

// Initializer.
//
initialize : function() {

	this.form = $( 'my_retailerLocatorForm' );
	this.cityTextField = $( 'my_cityField' );
	this.stateTextField = $( 'my_stateField' );
	this.zipTextField = $( 'my_zipField' );
	this.cityBufferField = $( 'my_cityBufferField' );
	this.stateBufferField = $( 'my_stateBufferField' );
	this.zipBufferField = $( 'my_zipBufferField' );
	this.goBtn = $( 'my_retailerLocatorGoBtn' );

	this.form.reset();

	Event.observe( this.goBtn, 'click', this.onSubmit.bind( this ), false );

	this.initTextField( this.cityTextField );
	//this.initTextField( this.stateTextField );
	this.initTextField( this.zipTextField );

}, // End initialize().

initTextField : function( textField ) {

	textField.initLabel = textField.value;
	textField.style.color = this.emptyTextColor;

	Event.observe( textField, 'focus', this.onTextFieldFocus.bind( this, textField ), false );
	Event.observe( textField, 'blur', this.onTextFieldBlur.bind( this, textField ), false );

}, // End initTextField().

onTextFieldFocus : function( textField ) {

	if ( textField.value == textField.initLabel ) {
		textField.value = '';
		textField.style.color = this.filledTextColor;
	} // End if.

}, // End onTextFieldFocus().

onTextFieldBlur : function( textField ) {

	if ( textField.value == '' ) {
		textField.value = textField.initLabel;
		textField.style.color = this.emptyTextColor;
	} // End if.

}, // End onTextFieldBlur().

onSubmit : function() {

	this.onSubmitTextField( this.cityTextField, this.cityBufferField );
	this.onSubmitTextField( this.stateTextField, this.stateBufferField );
	this.onSubmitTextField( this.zipTextField, this.zipBufferField );

	if ( this.zipBufferField.value == '' ) {
		
		if ( ( this.cityBufferField.value ) == '' || ( this.stateBufferField.value == '' ) ) {
			
			alert( 'City and State OR ZIP/Postal Code are required fields.' );
			return;
			
		} // End if.

	} // End if.

	this.form.submit();

}, // End onSubmit().

onSubmitTextField : function( textField, bufferField ) {

	if ( textField.value == textField.initLabel ) {
		bufferField.value = '';
	} else {
		bufferField.value = textField.value;
	} // End if.

} // End onSubmitTextField().

}; // End class SavingsCalculator.

new HomeRetailerLocator();
