/*
*	modello框架
**
*	author 贺博
*	version 2007-7-19
**
*	浮动工具条
*/
FloatToolBar = Class.create(Panel);
FloatToolBar.register("com.duxiu.js.FloatToolBar");

FloatToolBar.construct = function($self, $class){
	var tool;
	
	var text;
	
	this.initialize = function(_d){
		$self.super0.initialize(_d);
		
		tool = this.getDomObject();
		
		$self.setMoveAble(true);

		UtilTool.addListener(tool , "onmousemove" , function(){
			$self.setTransparence(onover);
		},true);
		
		UtilTool.addListener(tool , "onmouseout" , function(){
			$self.setTransparence(onout);						
		},true);		
	}	
	
	var x =0;
	var y =0;
	//设置 tool出现的偏移量
	this.setOffset = function(_x , _y){
		x = _x; y=_y;
	}
	
	var onover = 100;
	var onout = 100;
	this.setOpacity = function(_over , _out){
		onover = _over ;
		out=_out;
	}	
	
	this.addListenDom = function( obj_list ){
		if( typeof obj_list =="Array" ){
			for(var i=0 ; i<obj_list.length ;i++){
				addListen(obj_list[i]);
			}
		}
		else if( typeof obj_list =="object" ){			
			addListen(obj_list);
		}
		else if( typeof obj_list =="string" ){
			addListen( g(obj_list) );
		}
	}
	
	this.getSelectText = function(){
		return text;	
	}
	
	var addListen = function(dom){
		//onselectstart="startSelect=true" onmouseup="onMouseUpHandler()" 
		
		//UtilTool.addListener(dom , "onmouseup" , handle ,true);
		UtilTool.addListener(dom , "onselectstart" , start ,true);				
		UtilTool.addListener(dom , "onmouseup" , mouseUp ,true);
		
		UtilTool.addListener(dom , "onmousedown" , function(){
			$self.setDisplay(false);					
		},true);
		
	}
	
	var bstart = false;
	
	var start = function(){
		bstart = true;
	}
	
	var mouseUp  = function(ev){
		
		$self.setDisplay(false);
		
		if(bstart){
			bstart =false;
			
			var range = document.selection.createRange();
		
			text =range.text;
			
			if(!text || text.trim()==""||text.trim().length==0) return ;
			
			text = text.trim();

			$self.setDisplay(true);
		
			$self.setMoveAble(true);
			
			//var pos = UtilTool.getDomOffset(range);
			
			ev=ev || window.event;
			
			$self.setLocation(ev.clientY+y+getPageScrollHeigth() ,ev.clientX+x+getPageScrollWidth());		
		}
	}
	
}
