/* encoding utf-8 */

/**
 * jp.ne.contents.contact.ButtonDisableEventListener
 *
 *
 * @author    Toru Yamaguchi@Contents Co.,Ltd. <tyamaguchi@contents.ne.jp>
 * @version   $Id$
 * @copyright 2002-2004 Contents Co.,Ltd. System Design Laboratory All Right Reserved
 */
declareNamespace('jp.ne.contents.contact');

/**
 * Constructor
 *
 *
 * @access public
 * @param  DOMElement element
 * @return void
 */
jp.ne.contents.contact.ButtonDisableEventListener = function(element) {
	this._element    = null;

	if (isDefined(element)) {
		this._element = element;
	}
};

// for legacy browser
if (!isDefined(jp.ne.contents.contact.ButtonDisableEventListener.prototype)) {
	new jp.ne.contents.contact.ButtonDisableEventListener();
}

/**
 * Get EventListener Element
 *
 *
 * @access protected
 * @return DOMElement
 */
jp.ne.contents.contact.ButtonDisableEventListener.prototype.getElement = function() {
	return (this._element);
};

/**
 * Set EventListener Element
 *
 *
 * @access protected
 * @param  DOMElement element
 * @return void
 */
jp.ne.contents.contact.ButtonDisableEventListener.prototype.setElement = function(element) {
	if (isDefined(element)) {
		this._element = element;
	}
};

/**
 * Update Event
 *
 *
 * @access public
 * @param  ImageRollEventTarget eventTarget
 * @return bool
 */
jp.ne.contents.contact.ButtonDisableEventListener.prototype.update = function(eventTarget) {
	if (!isDefined(eventTarget) || !isDefined(eventTarget.getEvent())) {
		return (false);
	}

	if (eventTarget.getEvent().type == 'click') {
		return (this.doDisabled(eventTarget));
	}
	else {
		return (false);
	}
};

/**
 * Disable Button
 *
 *
 * @access public
 * @param  ImageRollEventTarget eventTarget
 * @return bool
 */
jp.ne.contents.contact.ButtonDisableEventListener.prototype.doDisabled = function(eventTarget) {
	if (this._element.disabled) {
		return (false);
	}

	this._element.form.submit();
	this._element.disabled = true;

	return (true);
};
