/*___________________________________________________

  ButtonEvent.js

  <method>
	#init

  <author>
	Keita Sugawara

  <since>
	2006 / 02 / 08

  copyright (c) 2005-2006 prophet.co.,Ltd
  ___________________________________________________*/


/**
 * class :: ButtonEvent
 */
function ButtonEvent(){}

/**
 * instance method :: init
 *
 * @param obj - initialized target (event target)
 */
ButtonEvent.prototype.init = function(obj) {

	obj.offimg = new Image();
	obj.onimg = new Image();

	var __src = obj.src;

	var myReg = /_off\./;
    var mp = __src.search(myReg);
	if(mp >= 0) {
		obj.offimg.src = __src;
		obj.onimg.src  = __src.replace(myReg, "_on\.");
    } else {
		obj.onimg.src = __src;
		obj.offimg.src = __src.replace(/_on\./, "_off\.");
	}

	obj.addEventListener("onmouseover", this);
	obj.addEventListener("onmouseout",  this);
	obj.addEventListener("onfocus",     this);
	obj.addEventListener("onblur",      this);
	
	return obj;
}

/**
 * instance method : __on
 */
ButtonEvent.prototype.__on = function(obj) {
	obj.src = obj.onimg.src;
}
/**
 * instance method : __off
 */
ButtonEvent.prototype.__off = function(obj) {
	obj.src = obj.offimg.src;
}
/**
 * event : onmouseover
 */
ButtonEvent.prototype.onmouseover = function(e) {
	this.__on(e.target);
}
/**
 * event : onmouseout
 */
ButtonEvent.prototype.onmouseout = function(e) {
	//alert(e.target.id + " : be out ");
	this.__off(e.target);
}
/**
 * event : onfocus
 */
ButtonEvent.prototype.onfocus = function(e) {
	this.__on(e.target);
}
/**
 * event : onblur
 */
ButtonEvent.prototype.onblur = function(e) {
	this.__off(e.target);
}