function f_c_button(	content, 
							butState, 
							classNameUp, 
							classNameDown, 
							width, 
							height, 
							topp, 
							left, 
							targetWindow, 
							boundDesktopWindow, 
							text,
							position,
							padding,
							parentElement){
   

   var isDown = false;

	if(!position)
		position = "absolute";
	if(!padding)
		padding = {	"paddingTop":2, 
						"paddingRight":5, 
						"paddingLeft":0, 
						"paddingBottom":0, 
						"marginTop":0, 
						"marginRight":0,  
						"marginLeft":0, 
						"marginBottom":0}
   if(!parentElement)
  		parentElement = targetWindow.document.body;
   
   this.id							= "but" + (new Date().getTime());
   this.state						= butState;
   this.classNameUp				= classNameUp;
   this.classNameDown			= classNameDown;
   this.boundDesktopWindow		= boundDesktopWindow;
   this.targetWindow				= targetWindow;
   this.parentElement			= parentElement;
   
   this.htmlObj					= targetWindow.document.createElement("div");
   parentElement.appendChild(this.htmlObj);
   this.htmlObj.setAttribute("id", this.id);
   text && this.htmlObj.setAttribute("title", text);
   this.htmlObj.onclick					= function(){};
	
	var _this = this;
	this.onmousedown = function(){};
	this.htmlObj.onmousedown = function (event){
	   isDown = true;
	   _this.htmlObj.className = _this.classNameDown;
		_this.onmousedown(event);
	}
	
	this.onmouseup = function (){};
	this.htmlObj.onmouseup = function (event){

	   if(!isDown)
	      return;

	   isDown = false;

	   _this.state = !_this.state;

	   if(_this.state == UP)
	      _this.htmlObj.className = _this.classNameUp;
	   else
	      _this.htmlObj.className = _this.classNameDown;

		_this.onmouseup(event);
	}

   this.htmlObj.innerHTML = "<nobr>" + content + "</nobr>";	

   this.stateType							= "stateful"; // not used yet

   this.htmlObj.reflectBut				= this;

   if(butState)
      this.htmlObj.className			= classNameUp;
   else
      this.htmlObj.className			= classNameDown;

   this.htmlObj.style.position		= position;
   if(topp)
   	this.htmlObj.style.top			= topp;
   //alert(left)
   if(left)
   	this.htmlObj.style.left			= left;
   this.htmlObj.style.height			= height;
   this.htmlObj.style.width			= width;
   this.htmlObj.style.textAlign		= "left";
   this.htmlObj.style.overflow		= "hidden";
   this.htmlObj.style.paddingTop		= padding.paddingTop;
   this.htmlObj.style.paddingRight	= padding.paddingRight;
   this.htmlObj.style.paddingBottom	= padding.paddingBottom;
   this.htmlObj.style.paddingLeft	= padding.paddingLeft;
   this.htmlObj.style.marginTop		= padding.marginTop;
   this.htmlObj.style.marginRight	= padding.marginRight;
   this.htmlObj.style.marginBottom	= padding.marginBottom;
   this.htmlObj.style.marginLeft		= padding.marginLeft;
}

f_c_button.prototype.f_buttonDown = function(){
   this.htmlObj.className = this.classNameDown;
   this.state = DOWN;
}

f_c_button.prototype.f_buttonUp = function(){
   this.htmlObj.className = this.classNameUp;
   this.state = UP;
}

f_c_button.prototype.resizeTo = function( width){
   if( width != null)
   	this.htmlObj.style.width  = width;
}

f_c_button.prototype.moveTo = function( left){
   if( left != null)
   	this.htmlObj.style.left   = left;
}

f_c_button.prototype.del = function(){
   this.parentElement.removeChild(this.htmlObj);
}