// JavaScript Document
$L.ui=new Object();//简单的UI对象
$L.ui.winPools=new Array();//窗口集合
$L.ui.form=new Object();
$L.ui.styles={};//样式集合
$L.ui.styleName='base';
$L.ui.styleUrl="/testIcons/"
document.write('<link href="/testIcons/default.css" type="text/css" rel="stylesheet" />');
$L.ui.colors=[
   ['#000000','#003300','#006600','#009900','#00CC00','#00FF00','#330000','#333300','#336600','#339900','#33CC00','#33FF00','#660000','#663300','#666600','#669900','#66CC00','#66FF00']
   ,['#000033','#000033','#006633','#009933','#00CC33','#00FF33','#330033','#333333','#336633','#339933','#33CC33','#33FF33','#660033','#663333','#666633','#669933','#66CC33','#66FF33']
,['#000066','#003366','#006666','#009966','#00CC66','#00FF66','#330066','#333366','#336666','#339966','#33CC66','#33FF66','#660066','#663366','#666666','#669966','#66CC66','#66FF66']
,['#000099','#003399','#006699','#009999','#00CC99','#00FF99','#330099','#333399','#336699','#339999','#33CC99','#33FF99','#660099','#663399','#666699','#669999','#66CC99','#66FF99']
,['#0000CC','#0033CC','#0066CC','#0099CC','#00CCCC','#00FFCC','#3300CC','#3333CC','#3366CC','#3399CC','#33CCCC','#33FFCC','#6600CC','#6633CC','#6666CC','#6699CC','#66CCCC','#66FFCC']
,['#0000FF','#0033FF','#0066FF','#0099FF','#00CCFF','#00FFFF','#3300FF','#3333FF','#3366FF','#3399FF','#33CCFF','#33FFFF','#6600FF','#6633FF','#6666FF','#6699FF','#66CCFF','#66FFFF']
,['#990000','#993300','#996600','#999900','#99CC00','#99FF00','#CC0000','#CC3300','#CC6600','#CC9900','#CCCC00','#CCFF00','#FF0000','#FF3300','#FF6600','#FF9900','#FFCC00','#FFFF00']
,['#990033','#993333','#996633','#999933','#99CC33','#99FF33','#CC0033','#CC3333','#CC6633','#CC9933','#CCCC33','#CCFF33','#FF0033','#FF3333','#FF6633','#FF9933','#FFCC33','#FFFF33']
,['#990066','#993366','#996666','#999966','#99cc66','#99FF66','#CC0066','#CC3366','#CC6666','#CC9966','#CCCC66','#CCFF66','#FF0066','#FF3366','#FF6666','#FF9966','#FFCC66','#FFFF66']
,['#990099','#993399','#996699','#999999','#99CC99','#99FF99','#CC0099','#CC3399','#CC6699','#CC9999','#CCCC99','#CCFF99','#FF0099','#FF3399','#FF6699','#FF9999','#FFCC99','#FFFF99']
,['#9900CC','#9933CC','#9966CC','#9999CC','#99CCCC','#99FFCC','#CC00CC','#CC33CC','#CC66CC','#CC99CC','#CCCCCC','#CCFFCC','#FF00CC','#FF33CC','#FF66CC','#FF99CC','#FFCCCC','#FFFFCC']
,['#9900FF','#9933FF','#9966FF','#9999FF','#99CCFF','#99FFFF','#CC00FF','#CC33FF','#CC66FF','#CC99FF','#CCCCFF','#CCFFFF','#FF00FF','#FF33FF','#FF66FF','#FF99FF','#FFCCFF','#FFFFFF']
];

//颜色面板
$L.ui.ColorFrame=function(el,callBack){
	var _s=this; var frame=$L.create("DIV",{},el);
	frame.setStyles("width:199px;height:160px;border:1px solid #CCCCCC;position:absolute;");
	var r1=$L.create("DIV",{},frame);
	r1.setStyles("width:100%;height:22px;background-color:#FFFFFF;");
	var display=$L.create("DIV",{},r1);
	display.setStyles("width:50px;height:100%;float:left;margin:2px;");
    var displayBanck=$L.create("DIV",{},r1);
	displayBanck.setStyles("width:50px;height:100%;float:left;margin:2px;margin-left:5px;");
	var cancle=$L.create("DIV",{},r1);
	cancle.setStyles("width:50px;height:100%;float:left;margin:2px;margin-left:30px;");
	cancle.innerHTML="取消";
	cancle.onclick=function(){_s.hide();}
	var cr=null;
	for(var i=0;i<$L.ui.colors.length;i++){
	    cr=$L.create("DIV",{},frame);
		cr.setStyles("height:10px;clear:both;border-top:1px solid #000000;");
		var s=$L.ui.colors[i];var box=null;
	    for(var j=0;j<s.length;j++){
		    box=$L.create("DIV",{},cr);
			box.setStyles("width:10px;height:10px;border-left:1px solid #000000;float:left;background-color:"+s[j]); 
			box.c=s[j];
			box.onmouseover=function(){
			   _s.setColor(this.c);
			}
			box.onclick=function(){ 
			   _s.selected(this.c);
			}
		}
		box.setStyles("clear:'right';border-right:1px solid #000000;");
	}
	cr.setStyles("border-bottom:1px solid #000000;"); 
	
	this.setColor=function(color){
	    display.style.backgroundColor=color;
		displayBanck.innerHTML=color;
	}
	
	this.selected=function(color){
	    display.style.backgroundColor="#CCCCCC";
		displayBanck.innerHTML="#CCCCCC";
		_s.color=color;
		if(callBack)callBack(color); 
		_s.hide();
	}
	this.moveTo=function(x,y,backFun){
		callBack=backFun;
	    frame.style.top=y+"px";
		frame.style.left=x+"px";
		$L.show(frame);
	}
	this.hide=function(){
	    $L.hide(frame);
		if(callBack)callBack(_s.color); 
		_s.color='';
	}
	
}

$L.ui.styles['base']={//基本样式
    wurl:'extWin.png'//窗口图标
   ,txbgurl:'form/txbg.png'//表单背景图
   ,editCss:'default.css'//默认CSS
   ,icons:'icons.png'//图标图片
   ,bicons:'bigIcons.png'//大图标
   ,photoEdit:'photoEdit.png'//图片编辑
   ,wbtns:'winBtns.png'//窗口按钮
   ,grideColor:'#D0D0D0'
   ,bColor:'#0177A9'
   ,gbcolor:'#B2C8D0'
   ,gtColor:'#15428B'
   ,btnColor:'#333333'
   ,sTitleColor:'#15428B'
   ,textLabelColor:'#3F5A91'
   ,icon_add:'0'
   ,icon_upd:'20'
   ,icon_ogw:'20'
   ,icon_dAdd:'420' 
   ,icon_clear:'440' 
   ,icon_smax:'460' 
   ,icon_smin:'440' 
   ,icon_mRight:'500' 
   ,icon_mLeft:'520'
   ,icon_mTop:'560' 
   ,icon_mDown:'540' 
   ,icon_ask:'580' 
   ,icon_sadd:'460' 
   ,icon_print:'480'
   ,icon_del:'40'
   ,icon_home:'60'
   ,icon_query:'80'
   ,icon_cmp:'100'
   ,icon_music:'120'
   ,icon_back:'140'
   ,icon_save:'160'
   ,icon_help:'180'
   ,icon_padd:'360'
   ,icon_uquery:'380'
   ,icon_pview:'400'
   ,icon_pageFirst:'200'
   ,icon_pageFirstDis:'220'
   ,icon_pageEnd:'240'
   ,icon_pageEndDis:'260'
   ,icon_pageLast:'340'
   ,icon_pageLastDis:'320'
   ,icon_pageNext:'300'
   ,icon_pageNextDis:'280'
 //window文件管理器的支持 
   ,icon_winComputer:'0 -200'
   ,icon_winLj:'0 -100'
   ,icon_winFolde:'0 -200'
   
};
$L.ui.setWindow=function(w,h,x,y){
   var win=$L.ui.findWindow();if(!win)return;
   if(w&&h)win.setSize(w,h,true);if(x&&y)win.moveTo(x,y,true);
}
$L.ui._img=function(n){return $L.ui.styleUrl+$L.ui._styleConfig(n);}
$L.ui._styleConfig=function(n){return $L.ui.styles[$L.ui.styleName][n];} 
$L.ui.findWindow=function(href,isBreak){
	if(!href)href=location.href;
	href=href.replace("?","");
    var pools=parent.$L.ui.winPools;
	for(var i=0;i<pools.size();i++){ 
	   if(!pools[i].src)continue;
	   var src=pools[i].src.replace("?","");
	   if(href.endWith(src)||pools[i].isWait){
		   window.win=pools[i];
		   $L.addUnloadEvent(function(obj){
		        window.win.isWait=true;
		   });
		   pools[i].isWait=false;
		   $L.Event.addClick(pools[i].getId(),function(){
		       if(window.win){window.win.onTop();}
		   });
		   return pools[i];
	   }
	}
	return null;
}
$L.ui.getWindow=function(src,isModle){
	var pools=parent.$L.ui.winPools;
	var win=null;
	if(src)win=parent.$L.ui.findWindow(src);
	if(!win)for(var i=0;i<pools.size();i++)if(pools[i].free){win=pools[i];break;}
	if(!win)win=new parent.$L.ui.Window();
	win.moveTo(1,1);
	win.setSize(100,32);
	win.setModle(isModle);
	if(src)win.setSrc(src);
	win.onTop();
	return win;
} 
//Panel
$L.ui.Panel=function(el,w,h){
	var marginStylex="background-color:#DFE8F6;border:1px solid #99BBE8;border-left:none;border-right:none;"
	var marginStyley="background-color:#DFE8F6;border:1px solid #99BBE8;border-top:none;border-bottom:none;"
    var id="_OGW_PANEL_"+$L.random(50000);var _s=this;
	var _img=$L.ui._img;var _sc=$L.ui._styleConfig;
//创建容器
	var frame=$L.create("DIV",{'id':id},el);
	frame.setStyles("width:100%;height:100%;background-color:#DFE8F6;position:relative;overflow:hidden;");
//----工具栏------------------------------------------------------------------------------------------------------	
	var tools=new $L.ui.ToolBar(frame,true);//隐藏工具栏
	var topPanel=$L.create("DIV",{},frame);$L.hide(topPanel); 
//----------------上---------------------------------------------------------------------------	
	topPanel.setStyles("width:100%;height:25px;position:relative;overflow:hidden;");
	topPanel.margin=$L.create("DIV",{},frame);$L.hide(topPanel.margin); 
	topPanel.margin.setStyles("width:100%;height:5px;"+marginStylex+"cursor:n-resize;"); 
//---------------------------------------------------------------------------------------------------------------	
	var middle=$L.create("DIV",{},frame);//中间部分
	middle.setStyles("width:100%;position:relative;overflow:hidden;");
//----左	--------------
	var leftPanel=$L.create("DIV",{},middle);$L.hide(leftPanel); 
	leftPanel.setStyles("width:100px;float:left;height:100%;overflow:hidden;");
	leftPanel.margin=$L.create("DIV",{},middle);$L.hide(leftPanel.margin); 
	leftPanel.margin.setStyles("width:5px;float:left;height:100%;"+marginStyley+"cursor:w-resize;");
//------中	--------------
	var centerPanel=$L.create("DIV",{},middle);
	centerPanel.setStyles("float:left;height:100%;overflow-x:hidden;overflow-y:auto;"); 
//-------右	-----------------------------------------------------------
	var obj=$L.create("DIV",{},middle);$L.hide(obj); 
	obj.setStyles("width:5px;float:left;height:100%;"+marginStyley+"cursor:w-resize;");
	var rightPanel=$L.create("DIV",{},middle);$L.hide(rightPanel); 
	rightPanel.setStyles("width:100px;float:left;height:100%;overflow:hidden;clear:right;");
	rightPanel.margin=obj;
//-----底部------------------------------------------------------------------------------------
	var obj=$L.create("DIV",{},frame);$L.hide(obj);
	obj.setStyles("width:100%;height:5px;"+marginStylex+"cursor:n-resize;");
	var footPanel=$L.create("DIV",{},frame);$L.hide(footPanel); 
	footPanel.setStyles("width:100%;height:25px;position:relative;overflow:hidden;");
	footPanel.margin=obj;
//====BORDER布局的支持===================================================================================
 
	 
//监听控制面板的宽度和高度
	this.doLayout=function(){
		frame.setStyles("width:"+w+"px;height:"+h+"px;");
		var toolH=tools.getHeight();
		var th=$L.getBoxHeight(topPanel);
		var thm=$L.getBoxHeight(topPanel.margin);
		var fh=$L.getBoxHeight(footPanel);
		var fhm=$L.getBoxHeight(footPanel.margin);
		middle.style.height=h-toolH-th-thm-fh-fhm-5+"px";
//----------宽度的支持-------------------------------------------------------------
		var lw=$L.getBoxWidth(leftPanel);
		var lwm=$L.getBoxWidth(leftPanel.margin);
		var rw=$L.getBoxWidth(rightPanel);
		var rwm=$L.getBoxWidth(rightPanel.margin);
		
		centerPanel.style.width=w-lw-lwm-rw-rwm+"px"; 
	}
	this.getEl=function(){return centerPanel;}
//打开顶部面板	
	this.openTop=function(rs,mw){
		var line=new $L.showLine(topPanel.margin,"-");
		line.after=function(ps){
		    topPanel.style.height=ps.y+"px";
			_s.doLayout();
		}
		return _openPanel(topPanel);
	}
//打开底部面板	
	this.openFoot=function(rs,mw){
		var line=new $L.showLine(footPanel.margin,"-");
		line.after=function(ps){
		    footPanel.style.height=h-ps.y+"px";
			_s.doLayout();
		}
	    return _openPanel(footPanel);
	}
//打开左边窗口	
	this.openLeft=function(){
		var line=new $L.showLine(leftPanel.margin,"|",leftPanel);
		line.after=function(ps){
		    leftPanel.style.width=ps.x+"px";
			_s.doLayout();
		}
	    return _openPanel(leftPanel);
	}
//打开中间	
	this.openRight=function(isUnsize){
		if(!isUnsize){
		   var line=new $L.showLine(rightPanel.margin,"|",rightPanel);
			line.after=function(ps){
				rightPanel.style.width=w-ps.x+"px";
				_s.doLayout();
			}
		}
	    return _openPanel(rightPanel,isUnsize);
	}
//------
	this.getEl=function(){
		return centerPanel;
	}
	
	this.addButton=function(text,icon,fun){tools.addButton(text,icon,fun);}
//打开面板
	function _openPanel(p,isUnsize){
	    $L.show(p);
		if(!isUnsize)$L.show(p.margin);
		_s.doLayout();
		return p;
	} 
	$L.autoLayout(this);
	 
}
//FORM面板的支持
 
//FileSet
$L.ui.Set=function(el,isClose,borderColor){
	if(!el)el=document.body;
	var color="#B5B8C8";if(borderColor)color=borderColor;
    var id="_OGW_SET_"+$L.random(50000);var _s=this;
	var _img=$L.ui._img;var _sc=$L.ui._styleConfig;
	var frame=$L.create("DIV",{'id':id},el);
	frame.setStyles("margin:10px;overflow-x:hidden;font-size:13px;");
	var topFrame=$L.create("DIV",{},frame)//创建表格
	topFrame.setStyles("width:100%;height:30px;overflow:hidden;");
	var leftLine=$L.create("DIV",{},topFrame);
	leftLine.setStyles("border:1px solid "+color+";border-bottom:none;border-right:none;width:30px;height:15px;margin-top:15px;float:left;");
	var title=$L.create("DIV",{},topFrame);
	title.setStyles("float:left;width:auto;line-height:30px;");
	var box=$L.create("INPUT",{type:'checkbox'},title);
	if(!isClose)box.checked=true;
	var titleSpan=$L.create("SPAN",{},title);
	box.onclick=function(){_s.doLayout();}
	box.style.marginTop="5px";
	var rightLine=$L.create("DIV",{},topFrame);
	rightLine.setStyles("float:left;height:15px;margin-top:15px;clear:right;");
	titleSpan.innerHTML=""
	var content=$L.create("DIV",{},frame);
	content.setStyles("width:100%;border:1px solid "+color+";border-top:none;height:50px;");
//设置标题
	this.setTitle=function(title){titleSpan.innerHTML=title;}
//获取对象
	this.getEl=function(){return content;}
	
	this.addHeight=function(h){
	    content.style.height=$L.getBoxHeight(content)+h+"px";
	}
// 
    setInterval(function(){_s.doLayout();},100);
	this.doLayout=function(){
	   var _w=$L.getBoxWidth;
	   var width=$L.getBoxWidth(el)-20;
	   frame.width=width+"px";
	   var tlw=_w(topFrame)-_w(leftLine)-_w(title);
	   if(tlw<1)tlw=1;
       rightLine.style.width=tlw-1+"px";
	   if(_w(topFrame)>2)content.style.width=_w(topFrame)-2+"px"; 
	   if(box.checked){
		  rightLine.setStyles("border:1px solid "+color+";border-bottom:none;border-left:none;");
		  leftLine.setStyles("border:1px solid "+color+";border-bottom:none;border-right:none;");
		  $L.show(content); 
	   }else{ 
	       rightLine.setStyles("border:1px solid "+color+";border-bottom:none;border-left:none;border-right:none;");
		   leftLine.setStyles("border:1px solid "+color+";border-bottom:none;border-right:none;border-left:none;");
		   $L.hide(content); 
	   }
	}
	_s.doLayout();
}
//合子
$L.ui.BoxFrame=function(el,store){
     var id="_OGW_BOX_"+$L.random(50000);
	 var _img=$L.ui._img;var _sc=$L.ui._styleConfig;var _s=this;
	 var frame=$L.create("DIV",{'id':id},document.body);//创建对象
	 frame.setStyles("position:absolute;border:1px solid #CCCCCC;background-color:#FFFFFF;font-size:13px;text-indent:10px;");
//	 frame.onmouseout=function(){if(_s.lock)return;$L.hide(frame);}
//----设置数据源--------------------------------------
	 this.setStore=function(store){
	     _s.store=store;
	     frame.clear();//清空内容
		 for(var i=0;i<store.length;i++){
		     var ch=$L.create("DIV",{},frame);//创建对象
		     ch.setStyles("width:100%;height:23px;line-height:23px;");
			 ch.innerHTML=store[i].label;ch.value=store[i].value;ch.ds=store[i];
			 ch.select=function(){this.setStyles("backgroundColor:#06F;color:#FFFFFF;");}
			 ch.unselect=function(){this.setStyles("backgroundColor:#FFFFFF;color:#000000;");}
			 ch.onmouseover=function(){this.select();}
			 ch.onmouseout=function(){this.unselect();}
			 ch.onclick=function(){
			     if(_s.callback)_s.callback(this.ds);
			 }
		 }
	 }
	 if(store)this.setStore(store);//设置数据源
//处理布局
	 this.doLayout=function(){
		 $L.Event.addClick(id,function(){
			 if(_s.lock)return;
	         $L.hide(frame);
			 $L.Event.removeClick(id);
		 });
	     var w=$L.getBoxWidth(el);var h=$L.getBoxHeight(el);
		 frame.style.width=w-5+"px";
		 frame.style.left=$L.getLeft(el)+"px";
		 frame.style.top=$L.getTop(el)+h+"px";
		 $L.show(frame);
	 }

}
//FORM对象
$L.ui.Form=function(w,h,text,el){
	if(!el)el=document.body;el=$L.el(el);
	if(!text)text="基本信息";var formArray=new Array();var id="_OGW_FORM_"+$L.random(50000);
	var _img=$L.ui._img;var _sc=$L.ui._styleConfig;var _s=this;
    var form=$L.create("FORM",{'id':id},el); var panel=new $L.ui.Panel(form,w,h);var frame=panel.getEl();
	var set=new $L.ui.Set(frame);set.setTitle(text);var main=set.getEl();var rowWidth=0;
	this.setMethod=function(method){};this.setAction=function(action){};
	this.addSet=function(title){set=new $L.ui.Set(frame);main=set.getEl();set.setTitle(title);return set;};
	
	this.setValues=function(store){
	   for(var n in store){
	      try{
		     this.setValue(n,store[n]);
		  }catch(e){}
	   }
	}
//--------添加文本输入框---------------------------------------------------------------------------------------------
	this.addText=function(label,name,w,isClear){
	     var boxObj=new $L.ui.form.Box(main,w,isClear);
		 boxObj.setText(label);
		 var text=new $L.ui.form.Text(boxObj,name);
		 if(isClear)set.addHeight(boxObj.getHeight());
		 formArray.push(text);
		 return text;
	}
//-----添加隐藏域-----------------------------------------------------------------------------------------------------
	this.addHidden=function(name,value){
	   var hidden=$L.create("INPUT",{type:'hidden','name':name,'value':value},main);
	   hidden.getValue=function(){return this.value;}
	   hidden.setValue=function(value){return this.value=value;}
	   hidden.getName=function(){return this.name;}
	   formArray.push(hidden);
	}
//----------添加数字输入框--------------------------------------------------------------------------------
	this.addNumber=function(label,name,w,isClear){
	     var boxObj=new $L.ui.form.Box(main,w,isClear);
		 boxObj.setText(label);
		 var text=new $L.ui.form.Integer(boxObj,name);
		 if(isClear)set.addHeight(boxObj.getHeight());
		 formArray.push(text);
		 return text;
	}
//---------------下拉框的支持---------------------------------------------------------------------------
	this.addSelect=function(label,name,w,store,isClear,labelName){
	     var boxObj=new $L.ui.form.Box(main,w,isClear);
	     boxObj.setText(label);
		 var select=new $L.ui.form.Select(boxObj,name,store,labelName);
		 if(isClear)set.addHeight(boxObj.getHeight());
		 formArray.push(select);
		 return select;
	}
//=============输入框组合================================================
	this.addTextGroup=function(label,name,w,isClear){
		var boxObj=new $L.ui.form.Box(main,w,isClear);
		boxObj.setText(label);
	    var group=new $L.ui.form.TextGroup(boxObj,name);
	    return group;
	}
//--------------------添加复选框---------------------------------------------------------------------------
    this.addCheckBox=function(label,name,w,store,isClear){
	     var boxObj=new $L.ui.form.Box(main,w,isClear);
	     boxObj.setText(label);
		 var checkBox=new $L.ui.form.CheckBox(boxObj,name,store);
		 if(isClear)set.addHeight(boxObj.getHeight());
		 formArray.push(checkBox);
		 return checkBox;
	}
//添加单选框
    this.addRadioBox=function(label,name,w,store,isClear){
	     var boxObj=new $L.ui.form.Box(main,w,isClear);
	     boxObj.setText(label);
		 var radio=new $L.ui.form.RadioBox(boxObj,name,store);
		 if(isClear)set.addHeight(boxObj.getHeight());
		 formArray.push(radio);
		 return radio;
	}
//添加文件选择框
	this.addSelectBox=function(label,name,w,icon,isClear){
	     var boxObj=new $L.ui.form.Box(main,w,isClear);
		 boxObj.setText(label);
		 var selectBox=new $L.ui.form.SelectBox(boxObj,name,icon);
		 if(isClear)set.addHeight(boxObj.getHeight());
		 formArray.push(selectBox);
		 return selectBox;
	}
//添加文本域
	this.addTextArea=function(label,name,w,h,isClear){
		 if(!h)h=100;
	     var boxObj=new $L.ui.form.Box(main,w,isClear);
		 boxObj.setText(label);
		 var textArea=new $L.ui.form.TextArea(boxObj,name,h);
		 set.addHeight(h);formArray.push(textArea);
		 return textArea;
	}
//添加文本域
	this.addList=function(label,name,w,h,isClear){
		 if(!h)h=100;
	     var boxObj=new $L.ui.form.Box(main,w,isClear);
		 boxObj.setText(label);
		 var list=new $L.ui.form.List(boxObj,name,h);
		 set.addHeight(h);formArray.push(list);
		 return list;
	}
//添加编辑框	
	this.addEdit=function(w,h,name,isClear){
		var editDiv=$L.create("DIV",{},main);//创建对象
	    editDiv.setStyles("width:"+w+"px;height:"+h+"px;overflow:hidden;");
	    var edit=new $L.ui.form.SEdit(editDiv,w,h,name);
		if(isClear)set.addHeight(h);formArray.push(edit);
		return edit;
	};
//获取数据集合
	this.getValues=function(){
		var ps={};
		for(var i=0;i<formArray.length;i++){
	        var dom=formArray[i]; 
			var n=dom.getName(); 
			var v=dom.getValue(); ps[n]=v;
		}
		return ps;
	};
	this.setValue=function(n,v){
	   try{
		   n=n.toLowerCase(); v=v.replaceAll("/n/n/n","\n");v=v.replaceAll("/n/n","\n");v=v.replaceAll("/n","\n");   
	   }catch(e){} 
	   var dom=this.getDom(n);if(dom)dom.setValue(v);
	};
	this.getDom=function(n){
	    for(var i=0;i<formArray.length;i++){
	        var dom=formArray[i];if(n.toLowerCase()==dom.getName().toLowerCase()){return dom;}
		}
		return null;
	} ;
	this.addButton=function(text,icon,fun){panel.addButton(text,icon,fun);};
}







 
//图片修改器
$L.ui.Image=function(el,w,h){
    var id="_OGW_IMAGE_"+$L.random(50000);
	var _img=$L.ui._img;var _sc=$L.ui._styleConfig;var _s=this;
    var frame=$L.create("DIV",{'id':id},el);
	frame.setStyles("width:100%;height:"+h+"px;position:relative;text-align:center;background:url("+$L.ui.styleUrl+"core/photoEdit.png);");	
    frame.setStyles("overflow-x:hidden;overflow-y:auto;");
	var border=$L.create("DIV",{},frame); 
	var img=null;
	this.setSize=function(w,h){
	    border.setStyles("width:"+w+"px;height:"+h+"px;border:3px solid #999999;background-color:#CCC;");
		$L.css.setAlpha(border,40);border.mask=true;var move=new $L.MoveWorker({target:border,'source':border});
	};
	this.setSrc=function(src){
	    if(img==null){ img=$L.create("IMG",{},frame); img.style.marginTop="10px";}
		img.src=src;
	};
	this.zoomMax=function(){//放大图片
	    if(!img){alert("请选择图片");return;};var w=$L.getBoxWidth(img); var h=$L.getBoxHeight(img);
		img.width=w*1.1;
		img.height=h*1.1; 
	};
	this.zoomMin=function(){//放大图片
	    if(!img){alert("请选择图片");return;};var w=$L.getBoxWidth(img); var h=$L.getBoxHeight(img);
	    img.width=w/1.1;
		img.height=h/1.1;
	};
	this.getWidth=function(){return img.width;};
    this.getHeight=function(){return img.height;};
} 
 

//窗口对象
$L.ui.Window=function(){
	$L.ui.winPools.push(this);
	var id="_OGW_WIN_"+$L.random(50000);
	var _img=$L.ui._img;var afterClose=null;var beforeClose=null;
	var iframe=null;//窗口对象
	var zIndex=99;
	var _sc=$L.ui._styleConfig;
	var _s=this;
	_s.width=100;_s.height=35;_s.title="www.ogw.cn";_s.id=id;
	_s.x=0;_s.y=0;_s.margin=1;
    var frame=$L.create("DIV",{'id':id},document.body);//创建窗口
	frame.style.position="absolute";
	frame.style.overflow="hidden"; 
	frame.onmousedown=function(){_s.onTop();}
	
	var main=$L.create("DIV",{},frame);//创建窗口
	main.setStyles("width:100%;height:100%;position:relative;background-color:#CCCCCC;");	
	var tab=$L.create("TABLE",{cellPadding:'0',cellSpacing:0,border:0,width:'100%',height:'100%'},main)//创建表格
	var tr1=tab.insertRow();//第一行 
	tr1.style.cursor='move';
	var td1=tr1.insertCell();var td2=tr1.insertCell();var td3=tr1.insertCell();
	var tr2=tab.insertRow();//第二行
	var td4=tr2.insertCell();
	var tr3=tab.insertRow();//第三行
	var td5=tr3.insertCell();var td6=tr3.insertCell();var td7=tr3.insertCell();
 
	td4.colSpan=3;
	td4.style.overflow='hidden'; 
	td1.style.background="url("+_img('wurl')+")  no-repeat 0 0";
	td2.style.background="url("+_img('wurl')+")  repeat-x 0 -30";
	td3.style.background="url("+_img('wurl')+")  repeat-x 0 -60";
	td5.style.background="url("+_img('wurl')+")  no-repeat 0 -90";
	td7.style.background="url("+_img('wurl')+")  repeat-x 0 -105";
	td6.style.backgroundColor=_sc("bColor"); 
	var _c=$L.create("DIV",{},td4);//主窗口 
	_c.setStyles("position:relative;background-color:#CCCCCC;");
	var toolBar=null;
//标题的支持
    var titleCell=$L.create("DIV",{},td2);
	titleCell.setStyles("width:100px;height:28px;line-height:28px;position:absolute;left:10px;top:1px;");
	titleCell.setStyles("font-size:13px;font-weight:blod;font-family:Tahoma, Geneva, sans-serif;");
//按钮的支持
	var btns=$L.create("DIV",{},td2);
	btns.setStyles("width:100px;height:20px;position:absolute;right:10px;top:1px;cursor:pointer;");
	var minBtn=$L.create("DIV",{},btns);//最小按钮
	minBtn.setStyles("width:34px;height:100%;float:left;");
	minBtn.style.background="url("+_img('wbtns')+")  no-repeat 0 0";
	minBtn.onmouseover=function(){this.style.background="url("+_img('wbtns')+")  no-repeat -100 0";}
	minBtn.onmouseout=function(){this.style.background="url("+_img('wbtns')+")  no-repeat 0 0";}
	minBtn.onmousedown=function(){$L.lock(frame);this.style.background="url("+_img('wbtns')+")  no-repeat -200 0";}
	minBtn.onclick=function(){
	   if(_s.width!=200)_s.rw=_s.width; 
	   if(_s.height!=32)_s.rh=_s.height;
	   _s.setSize(200,32);
	}
	var reBtn=$L.create("DIV",{},btns);//恢复按钮
	reBtn.setStyles("width:30px;height:100%;float:left;");
	reBtn.style.background="url("+_img('wbtns')+")  no-repeat -33 0";
	reBtn.onmouseover=function(){this.style.background="url("+_img('wbtns')+")  no-repeat -133 0";}
	reBtn.onmouseout=function(){this.style.background="url("+_img('wbtns')+")  no-repeat -33 0";}
	reBtn.onmousedown=function(){$L.lock(frame);this.style.background="url("+_img('wbtns')+")  no-repeat -233 0";}
	reBtn.onmouseup=function(){
		if(_s.width!=200)return;
	    _s.setSize(_s.rw,_s.rh); 
		_s.setCenter();
		setTimeout(function(){move.stopmove();},300);
	}
	var closeBtn=$L.create("DIV",{},btns);//恢复按钮
	closeBtn.setStyles("width:35px;height:100%;float:left;");
	closeBtn.style.background="url("+_img('wbtns')+")  no-repeat -65 0";
	closeBtn.onmouseover=function(){this.style.background="url("+_img('wbtns')+")  no-repeat -165 0";}
	closeBtn.onmouseout=function(){this.style.background="url("+_img('wbtns')+")  no-repeat -65 0";}
	closeBtn.onmousedown=function(){$L.lock(frame);this.style.background="url("+_img('wbtns')+")  no-repeat -266 0";}
	closeBtn.onmouseup=function(){var rs=confirm("您要关闭窗口吗?");if(!rs)return;_s.close();} 
	this.show=function(){$L.show(frame);_s.free=false;if(frame.isModle){frame.style.zIndex=100000;$L.Mask.show();}}
	this.close=function(isRefresh){
		 $L.Mask.hide();frame.style.zIndex=100;_s.free=true;_s.isWait=false;var pools=$L.ui.winPools;
	     if(_s.clear){$L.removeCh(frame);pools.remove(_s);}else{$L.hide(frame);_s.moveTo(0,0);}
		 if(isRefresh&&afterClose){afterClose();afterClose=null;return;}
		 if(isRefresh&&!afterClose){$L.refresh();}
	}
	this.setZindex=function(index){if(index)zIndex=index;frame.style.zIndex=zIndex}
	this.getZindex=function(){return zIndex;}
	this.onTop=function(){//置顶
	   if(frame.style.zIndex==100000)return;
	   for(var i=0;i<$L.ui.winPools.length;i++){var index=$L.ui.winPools[i].getZindex();if(index>zIndex)this.setZindex(index);}
	   this.setZindex(zIndex+1);
	}
	this.getSrc=function(){return _s.src;}
	this.getIFrame=function(){_c.innerHTML="";var name="_OGW_IFRAME_"+parseInt(Math.random()*5000);
	   iframe=$L.create("IFRAME",{width:'100%','name':name,height:'100%',frameBorder:0,scrolling:'no'},_c);//创建窗口 
	  // iframe.style.overflowX='hidden';iframe.style.overflowY='auto';
	   return iframe;
	}
	this.getId=function(){return id;}
	this.setRecord=function(rs){var m=false;if(this.recordBack)m=this.recordBack(rs);if(m)this.recordBack=null;return m;};
	this.getRecord=function(fun){_s.recordBack=fun;}
	this.setAfterClose=function(fun){afterClose=fun;}
	this.setCenter=function(){$L.setCenter(frame);}
	this.setTitle=function(title){if(title)_s.title=title;titleCell.innerHTML=_s.title;};
	this.addButton=function(text,icon,handle){
	    if(!toolBar)toolBar=new $L.ui.ToolBar(_c,true);
	    return toolBar.addButton(text,icon,handle);
	}
	this.getContent=function(isClear){if(isClear){_c.innerHTML="";toolBar=null;}return _c;}
	this.setSize=function(w,h,isdh){
		if(isdh){
		   _s.tw=w;_s.th=h;_s.wlen=parseInt(_s.tw/10); _s.hlen=parseInt(_s.th/10);
		   var intervalId=setInterval(function(){
			   _s.wlen+=10;_s.hlen+=10;h-=_s.hlen;w-=_s.wlen;
			   if(w<=0||h<0){clearInterval(intervalId);_s.setSize(_s.tw,_s.th);return;}
			   var tw=_s.tw-w;var th=_s.th-h;if(tw<100)tw=100;if(th<35)th=35;_s.setSize(tw,th);
		   },50);return;} 
		if(w&&$L.pxInt(w))_s.width=$L.pxInt(w);if(h&&$L.pxInt(h))_s.height=$L.pxInt(h);if(_s.width<20)_s.width=20;this.doLayout();
	}
	this.doLayout=function(){
	    frame.style.width=_s.width+"px";
		frame.style.height=_s.height+"px";
		tab.setStyles("width:"+_s.width+"px;height:"+_s.height+"px;");
		tr2.style.height=_s.height-29+"px";
		td2.style.width=_s.width-20+"px";
		td1.style.width='10px';td3.style.width='10px';td5.style.width='10px';
		td7.style.width='10px';tr3.style.height=_s.margin+'px';tr1.style.height='28px';
		_c.setStyles("overflow:hidden;background-color:#FFF;overflow-y:auto;position:relative;"); 
		_c.setStyles("width:"+(_s.width-_s.margin*2)+"px;height:"+(_s.height-29-_s.margin)+"px;");
		_c.style.border=_s.margin+"px solid "+_sc("bColor");_c.style.borderBottom="none";
		if(iframe){iframe.width="100%";iframe.height="100%";}this.onTop();
	}
	this.moveTo=function(x,y,isdh){//移动
	    if(isdh){
		   _s.tx=x;_s.ty=y;_s.xlen=parseInt(_s.tx/10);_s.ylen=parseInt(_s.ty/10);
		   var intervalId2=setInterval(function(){
			   _s.xlen+=5;_s.ylen+=5;x-=_s.xlen;y-=_s.ylen;if(x<=0){clearInterval(intervalId2);_s.moveTo(_s.tx,_s.ty);return;}
			   var tx=_s.tx-x;var ty=_s.ty-y;_s.moveTo(tx,ty);},10);return;} 
		if(x&&$L.pxInt(x))_s.x=$L.pxInt(x);if(y&&$L.pxInt(y))_s.y=$L.pxInt(y);frame.style.left=_s.x+"px";frame.style.top=_s.y+"px";
	}
	this.setSrc=function(src){
		  if(!src.startWith("http://")&&!src.startWith($L.getContext()))
		     src=$L.getContext()+src;_s.src=src;
		  var f=_s.getIFrame();f.src=src;
    }
	this.setModle=function(isModle){frame.isModle=isModle;this.show();}
//系统的初始化
	this.setSize();this.setTitle();
	var move=new $L.MoveWorker({'target':frame,'source':tr1});//移动窗口的支持
	move.moveHandle=function(){if(iframe)$L.hide(iframe);}
	move.stopmove=function(){if(iframe)$L.show(iframe);}
	btns.onmousedown=function(){$L.lock(move);}
}
//标题的支持
$L.ui.Title=function(el){
    var _img=$L.ui._img;var _sc=$L.ui._styleConfig;if(!el)el=document.body;el=$L.el(el);
    var frame=$L.create("DIV",{},el);//创建标题
    frame.setStyles("width:100%;overflow:hidden;height:25px;display:none;background:"+"url("+_img('wurl')+")  repeat-x 0 -240"+";color:"+_sc("gtColor")+";")
    frame.setStyles("font-size:13px;letter-spacing:1px; word-spacing:1px;line-height:25px;text-indent:3px;font-weight:bold;");
    this.setText=function(text){frame.innerHTML=text;$L.show(frame);}
	this.getHeight=function(){if($L.isHide(frame))return 0;return 25;}
}
//搜索面板
$L.ui.SearchBox=function(el){
    var _img=$L.ui._img;var _sc=$L.ui._styleConfig;if(!el)el=document.body;el=$L.el(el);
    var frame=$L.create("DIV",{},el);//创建标题
    var titleEl=new $L.ui.Title(frame);
	
	
	

};
//表格代理
$L.ui.GrideProxy=function(action,ps,gride){
	var _s=this;var request=$L.copy(ps);
	function loadGride(store){
		if(this.lock)return;
	    gride.setHead(store.head);
	    this.lock=true;
	}
	gride.getPagingBar().loadStore=function(start,record){_s.update(start,record);}
	this.search=function(rq){
	    ps=$L.copy(request);
		$L.copy(rq,ps);
		this.update();
	}
	this.update=function(start,record){
		ps.start=0;if(start)ps.start=start;if(record)ps.record=record;
	    $L.Ajax.getList(action,ps,function(store){
			   loadGride(store);
			   gride.setStore(store.store);
			   var pa=new $L.Pa(store.start,store.max,store.record);
			   gride.setPA(pa);
		},{});
	}
}
//表格头部
$L.ui.GrideHead=function(el){
	 var heads=new Array();var _img=$L.ui._img;var _sc=$L.ui._styleConfig;
     var frame=$L.create("DIV",{},el);var checkArray=new Array();//复选框列表
     frame.setStyles("background:url("+$L.ui._img('wurl')+") repeat-x 0 -115;height:22px;width:100%;overflow:hidden;border-bottom:solid 1px "+_sc("grideColor")+";");
     frame.setStyles("font-size:13px;letter-spacing:1px; word-spacing:1px;line-height:22px;text-indent:3px;text-align:center;");
	 this.getHeight=function(){return 23;}
	 this.addBoxPools=function(ch){checkArray.push(ch);}
//-------------------------------------------------------------
	 this.addColumn=function(ds){
		 if(!ds.width)ds.width=100;
	     var column=$L.create("DIV",{},frame);//表头的支持 
		 column.setStyles("float:left;width:"+ds.width+"px;height:100%;border-right:1px solid "+_sc("grideColor")+";");
		 column.innerHTML=ds.label;column.ds=ds;heads.push(column);
		 if(ds.plugin)ds.plugin(this,column,null,ds);
		 column.onmouseover=function(){column.setStyles("background:url("+$L.ui._img('wurl')+") repeat-x 0 -140;");}
		 column.onmouseout=function(){column.setStyles("background:url("+$L.ui._img('wurl')+") repeat-x 0 -5540;");}
	 }
	 this.addColumn({label:'',name:'checkbox',width:30,plugin:function(head,el,rowStore){
		  var box=$L.create("INPUT",{type:'checkbox'},el);
		  box.head=head;
		  el.setStyles("float:left;border-right:1px solid "+_sc("grideColor")+";");
		  if(rowStore==null){
		      box.onclick=function(){
				  var s=this.head.store;for(var i=0;i<s.length;i++){var row=s[i].row;if(this.checked)row.select();else row.unSelect();}
			  }
		  }else{rowStore.row.box=box;}
	 }}); 
	 this.unSelectAll=function(){
	    for(var i=0;i<this.store.length;i++)this.store[i].row.unSelect();
	 }
//---------填充行数据--------------------------------------	 
	 this.fillRow=function(rowStore){//填充行数据
	     var row=rowStore.row;row.clear();
		 for(var i=0;i<heads.length;i++){//循环遍历表头
		    var colStore=heads[i].ds;
		    var col=$L.create("DIV",{},row);
			col.setStyles("float:left;width:"+colStore.width+"px;overflow:hidden;");
			col.setStyles("font-size:12px;word-spacing:1px;height:100%;word-spacing:1px;line-height:22px;text-indent:3px;text-align:center;");
			if(colStore.plugin)colStore.plugin(this,col,rowStore,colStore);
			else col.innerHTML=rowStore[colStore.name];
			rowStore[colStore.name+"-col"]=col; 
		 }
	 }
//-------处理布局--------------------------	 
	 this.doLayout=function(){
	     var width=$L.getBoxWidth(frame); if(width==0)return;
		 var start=0;var len=0;if(!$L.isHide(heads[0])){start++;len+=heads[0].ds.width;}
		 for(var i=start;i<heads.length;i++)len+=$L.getBoxWidth(heads[i]);var p=(width-len-20)/len; 
		 for(var i=start;i<heads.length;i++){var l=parseInt(heads[i].ds.width*p);
		     heads[i].ds.width+=l;heads[i].style.width=heads[i].ds.width+"px";if(!$L.isHide(heads[i]))obj=heads[i];
		 }
		 if(!this.store)return;
		 for(var i=0;i<this.store.length;i++){//数据源遍历
		     for(var j=0;j<heads.length;j++){var w=heads[j].ds.width;var name=heads[j].ds.name;this.store[i][name+"-col"].style.width=w+"px"; }
		 }
	 }
//------------获取选择记录--------------------------------
     this.getRecord=function(){
	     var rs=new Array();if(!this.store)return rs;
	     for(var i=0;i<this.store.length;i++){
		    if(this.store[i].row.selected)rs.push(this.store[i].row.ds);
		 }
	     return rs;
	 }
	 this.getAllRecord=function(){
	     var rs=new Array();if(!this.store)return rs;
		 for(var i=0;i<this.store.length;i++)rs.push(this.store[i].row.ds);
	     return rs;
	 };
	 
	 
}
//表格对象
$L.ui.Gride=function(el,w,h){
	var _s=this;var _img=$L.ui._img;var _sc=$L.ui._styleConfig;if(!el)el=document.body;el=$L.el(el);
    var id="_OGW_GRIDE_"+$L.random(50000);var frame=$L.create("DIV",{'id':id},el);
    frame.setStyles("border:1px solid "+_sc("gbcolor")+";");
	var tools=new $L.ui.ToolBar(frame);tools.hide();var titleEl=new $L.ui.Title(frame);
	var head=new $L.ui.GrideHead(frame);
	var viewBody=$L.create("DIV",{},frame);
	viewBody.style.overflowX='hidden';
	var pagingBar=new $L.ui.PagingBar(frame);
//设置表头	
	this.setHead=function(store){for(var i=0;i<store.length;i++){head.addColumn(store[i]);}}
//设置表的内容
	this.setStore=function(store){
		viewBody.clear();
		for(var i=0;i<store.length;i++){
			addRow(store[i]);if(i%2==0)store[i].row.sun();
			head.fillRow(store[i]);
		}
	    head.store=store;//数据源
	}
//添加一行数据
	function addRow(ds){
	     var row=$L.create("DIV",{},viewBody);ds.row=row;row.bgColor="#F6F6F6";row._bgColor=row.bgColor;row.ds=ds;
		 row.setStyles("width:100%;height:22px;line-height:22px;font-size:13px;border-bottom:1px solid "+_sc("grideColor")+";background-color:"+row.bgColor+";");
	     row.onmouseover=function(){if(this.selected)return;this.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -165;");}
		 row.onmouseout=function(){this.doLayout();}
		 row.onclick=function(){if(!this.selected)this.select();else this.unSelect();}
		 row.sun=function(){this.setStyles("background-color:#FFFFFF;");this.bgColor="#FFFFFF";this._bgColor=this.bgColor;}
		 row.select=function(){if(_s.singleCheck)head.unSelectAll();this.bgColor="#DFE8F6";this.selected=true;if(this.box)this.box.checked=true;this.doLayout()};
		 row.unSelect=function(){this.bgColor=this._bgColor;this.selected=false;if(this.box)this.box.checked=false;this.doLayout();};
		 row.doLayout=function(){this.setStyles("background:none;background-color:"+this.bgColor+";");}
	}
	this.autoSize=function(){$L.autoSize(this);}
	this.setTitle=function(text){titleEl.setText(text);}
//处理布局	
	this.doLayout=function(width,height){
		if(width)w=width;if(height)h=height;
		frame.setStyles("width:"+w+"px;height:"+h+"px;"); 
		viewBody.setStyles("overflow-x:hodden;overflow-y:scroll;");
		viewBody.style.height=h-titleEl.getHeight()-head.getHeight()-pagingBar.getHeight()-tools.getHeight()+"px";
		head.doLayout();
    }
//设置单选	
	this.singleSelect=function(){this.singleCheck=true;}
//添加按钮
	this.addButton=function(text,icon,handle){tools.addButton(text,icon,handle);}
//获取记录	
	this.getRecord=function(){return head.getRecord();};
	this.getAllRecord=function(){return head.getAllRecord();};
//设置分页
	this.setPA=function(pb){
	    pagingBar.setPageAttribute(pb);
	}
	this.getPagingBar=function(){return pagingBar;}
	this.setProxy=function(action,ps){
	    _s.proxy=new $L.ui.GrideProxy(action,ps,this);
		 _s.proxy.update();
    };
    this.getProxy=function(){return _s.proxy;};
}

//工具条对象
$L.ui.ToolBar=function(el,isHide){
	if(!el)el=document.body; el=$L.el(el); var id="_OGW_TOOLBAR_"+$L.random(50000);
	var _img=$L.ui._img; var _sc=$L.ui._styleConfig; var frame=$L.create("DIV",{'id':id},el);//创建工具条
	frame.setStyles("width:100%;height:25px;overflow:hidden;background:"+"url("+_img('wurl')+")  repeat-x 0 -270;");
	if(isHide)$L.hide(frame); 
//--添加按钮------------------------------------------------------------------------------------------	
	this.addButton=function(text,icon,handle){$L.show(frame);var btn=new $L.ui.Button(text,icon,frame,handle);this.show();return btn;}
//--分割线------------------------------------------------------------------------------------------	
	this.addLint=function(){}
//获取高度
	this.getHeight=function(){if($L.isHide(frame))return 0;return 25;}
//隐藏工具条
	this.hide=function(){$L.hide(frame);}
//隐藏工具条
	this.show=function(){$L.show(frame);}
}
//分页工具条
$L.ui.PagingBar=function(el){
    var id="_OGW_TOOLBAR_"+$L.random(50000);var _img=$L.ui._img;var _sc=$L.ui._styleConfig;
    var _s=this;var frame=$L.create("DIV",{'id':id},el);_s.loadStore=function(){}
	frame.setStyles("width:100%;height:25px;overflow:hidden;display:none;background:"+"url("+_img('wurl')+")  repeat-x 0 -300;");
//--设置分页按钮------------------------------------------------------------------------------------------	
	this.setPageAttribute=function(pa){
		$L.show(frame);frame.clear();
	    var first=new $L.ui.Button("首页","icon_pageFirst",frame,function(){_s.loadStore(0);}); 
		var last=new $L.ui.Button("上一页","icon_pageLast",frame,function(){_s.loadStore(pa.getLast());});
		new $L.ui.Label("当前第"+pa.getCurrentPage()+"页总共"+pa.getPages()+"页",frame);
		var next=new $L.ui.Button("下一页","icon_pageNext",frame,function(){_s.loadStore(pa.getNext());});
		new $L.ui.Label("总记录"+pa.getRecord()+"条",frame);
		var end=new $L.ui.Button("尾页","icon_pageEnd",frame,function(){_s.loadStore(pa.getEnd());});
	}
	this.getHeight=function(){if($L.isHide(frame))return 0;return 25;}
//--分割线------------------------------------------------------------------------------------------	
	this.addLint=function(){}
}
//按钮对象
$L.ui.Button=function(text,icon,el,handle){
	var _s=this;_s.onclick=handle;
	if(!icon)icon='icon_ogw';if(!el)el=document.body;
	el=$L.el(el);var id="_OGW_BTN_"+$L.random(50000);
	var _img=$L.ui._img;var _sc=$L.ui._styleConfig;
	var frame=$L.create("DIV",{'id':id},el);//创建按钮
	frame.setStyles("font-size:13px;margin:1px;float:left;letter-spacing:1px;height:22px;word-spacing:1px;line-height:25px;");
	frame.setStyles("text-indent:3px;color:"+_sc('btnColor')+";cursor:pointer;");
	var startSpan=$L.create("DIV",{},frame);
	startSpan.setStyles("float:left;width:3px;display:block;");
	var iconSpan=$L.create("DIV",{},frame);
	var textSpan=$L.create("DIV",{},frame);
	var iconEl=$L.create("DIV",{},iconSpan);
	iconSpan.setStyles("float:left;width:17px;height:22px;");
	iconEl.setStyles("width:16px;height:16px;margin-top:4px;background:"+"url("+_img('icons')+")  no-repeat 0 -"+_sc(icon)+";");
	textSpan.setStyles("float:left;width:60px;display:block;");
	var endSpan=$L.create("DIV",{},frame);
	endSpan.setStyles("float:left;width:3px;display:block;");
	textSpan.innerHTML=text;startSpan.innerHTML=$L.SPAN;iconEl.innerHTML=$L.SPAN;endSpan.innerHTML=$L.SPAN;textSpan.style.width=text.length*16+"px";
	frame.onmouseover=function(){
	    startSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -330;");
		textSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -380;");
		iconSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -380;");
		endSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -355;");
	}
	frame.onmouseout=function(){
	    startSpan.setStyles("background:none;");
		textSpan.setStyles("background:none;");
		endSpan.setStyles("background:none;");
		iconSpan.setStyles("background:none;");
	}
	
	frame.onmousedown=function(){
	    startSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -405;");
		textSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -455;");
		iconSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -455;");
		endSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -430;");
	}
	
	frame.onmouseup=function(){
	    startSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -330;");
		textSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -380;");
		iconSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -380;");
		endSpan.setStyles("background:"+"url("+_img('wurl')+")  repeat-x 0 -355;");
	}
	
	frame.onclick=function(){
	   if(_s.onclick)_s.onclick(_s);
	}
//=========获取文本节点
	this.getTextSpan=function(){return textSpan;};
	this.close=function(){$L.hide(frame);};
	this.show=function(){$L.show(frame);};
	this.setText=function(text){textSpan.innerHTML=text;}
}
//
$L.ui.form.FileSelect=function(el,targetHandle){
	 if(el.getTextSpan)el=el.getTextSpan();
	 el.onclick=function(){
	     $L.ui.FileUpload(targetHandle);
	 }
}
//文件上传
$L.ui.FileUpload=function(targetHandle,action){
   var _L=parent.$L;
   if(!_L.ui.FileUploadWin){
       _L.ui.FileUploadWin=new _L.ui.Window();
	   _L.ui.FileUploadWin.setTitle("文件上传窗口");
   }
   var win=_L.ui.FileUploadWin;
   win.setModle(true);
   win.show();
   win.setSize(420,358);
   win.setCenter(); 
   if(!action){action="fileUploadSave.jcms";}
   var frame=win.getContent(true);
   win.addButton("上传图片","icon_save",function(){
		_L.fileUploadCallBack=function(src){
	       if(targetHandle)targetHandle(src);
		   _L.ui.FileUploadWin.close();
        };
	    _L.ID("uploadForm").submit();
   });
   win.addButton("取消上传","icon_del",function(){
	    win.close();
   });
   var main=_L.create("DIV",{},frame);
   var hiddenFrame="uploadHiddenFrame";
   var content="<IFRAME name='"+hiddenFrame+"' style='display:none;'></IFRAME>";
   content+="<FORM id='uploadForm' method=post enctype=multipart/form-data  action='"+action+"' target='"+hiddenFrame+"'>";
   content+='<div style="width:418px; height:300px; overflow:hidden; border:1px solid #CCC;">';
   content+='<div style="width:370px; height:55px; overflow:hidden; float:left; padding-top:35px; padding-left:25px;">';
   content+='<div style="font-size:12px; color:#666;">点击浏览从电脑选择一张图片或者文件</div>';
   content+='<div style="padding-top:10px;">';
   content+='<input type="file" name="file1" style="width:350px; height:22px; border:1px solid #CCCCCC;" />';
   content+='</div></div>';
   content+='<div style="width:100%; height:70px; overflow:hidden; float:left;"></div>';
   content+='<div style="width:360px; overflow:hidden; float:left; padding-left:25px;">';
   content+='<h4 style="font-size:12px;color:#656563; float:left;">提示：</h4>  ';
   content+='<div style="clear:both; height:0px; width:100%; font-size:1px; line-height:0px; visibility:hidden; overflow:hidden;"></div>';
   content+='<ul style="width:355px; overflow:hidden; float:left; padding-left:5px; font-size:12px; color:#626260;">';
   content+='<li style=" width:355px; line-height:20px;font-family:Verdana, Geneva, sans-serif;">●&nbsp;&nbsp;仅支持JPG、JPEG、PNG 格式图片或RAR格式文件。</li>';
   content+=' <li style=" width:355px; line-height:20px;font-family:Verdana, Geneva, sans-serif;">●&nbsp;&nbsp;图片大小不能操过2MB。</li>';
   content+=' </ul></div></div></FORM>';
   main.innerHTML+=content;
   setTimeout(function(){win.onTop();},100);
   
   
}


//标签
$L.ui.Label=function(text,el){
	if(!el)el=document.body; el=$L.el(el);
    var id="_OGW_LABEL_"+$L.random(50000); var _img=$L.ui._img;
	var _sc=$L.ui._styleConfig; var frame=$L.create("DIV",{'id':id},el);//创建按钮
	frame.setStyles("font-size:13px;margin:1px;float:left;letter-spacing:1px;height:22px;word-spacing:1px;line-height:25px;");
	frame.setStyles("text-indent:3px;color:"+_sc('btnColor')+";cursor:pointer;");frame.innerHTML=text;
}

//搜索框
$L.ui.SearchBox=function(el){
	if(!el)el=document.body;el=$L.el(el);this.h=70;
    var id="_OGW_TOOLBAR_"+$L.random(50000);var _img=$L.ui._img;
	var _sc=$L.ui._styleConfig;var frame=$L.create("DIV",{'id':id},el);//创建工具条
	frame.setStyles("width:100%;height:70px;overflow:hidden;display:none;clear:both;");
	frame.setStyles("font-size:13px;margin:1px;float:left;letter-spacing:1px;word-spacing:1px;line-height:24px;");
	var title=$L.create("DIV",{},frame);//标题
	title.setStyles("width:100%;height:21px;overflow:hidden;background:"+"url("+_img('wurl')+")  repeat-x 0 -480;");
	var startSpan=$L.create("DIV",{},title);var textSpan=$L.create("DIV",{},title);var endSpan=$L.create("DIV",{},title);
	startSpan.setStyles("float:left;width:10px;display:block;background:"+"url("+_img('wurl')+")  no-repeat 0 -510;");
	textSpan.setStyles("float:left;color:"+_sc('sTitleColor')+";text-align:center;background:"+"url("+_img('wurl')+")  repeat-x 0 -535;");
	endSpan.setStyles("float:left;width:10px;display:block;background:"+"url("+_img('wurl')+")  no-repeat 0 -560;");
	startSpan.innerHTML=$L.SPAN;endSpan.innerHTML=$L.SPAN;
    var boxCon=$L.create("DIV",{},frame);boxCon.setStyles("width:100%;margin-top:10px;");
    this.getHeight=function(){if(frame.style.display=='none')return 0;return this.h;} 
//设置标题
	this.setTitle=function(text){textSpan.style.width=text.length*16+"px";textSpan.innerHTML=text;frame.style.display='';}
//获取输入框	
	this.getBox=function(label,width){var box=new $L.ui.form.Box(boxCon,width);box.setText(label);return box;}
}
//文本框对象
$L.ui.form.Box=function(el,width,isClear){
    var _s=this;_s.lw=75;_s.bw=100;_s.iconWidth=0;
    if(!el)el=document.body;el=$L.el(el);
    var id="_OGW_FORMBOX_"+$L.random(50000);
	var _img=$L.ui._img; var _sc=$L.ui._styleConfig; var frame=$L.create("DIV",{'id':id},el); 
	frame.setStyles("font-size:13px;margin:1px;float:left;letter-spacing:1px;height:22px;word-spacing:1px;");
	if(isClear){ var clear=$L.create("DIV",{},el);  clear.setStyles("width:100%;height:5px;clear:both;font-size:5px;"); }
	var label=$L.create("DIV",{},el);var boxEl=$L.create("DIV",{},el);var iconEl=$L.create("DIV",{},el);
	label.setStyles("float:left;width:"+_s.lw+"px;text-align:right;color:"+_sc("textLabelColor")+";line-height:23px;");
	boxEl.setStyles("float:left;overflow:hidden;text-align:center;clear:right;");
	iconEl.setStyles("float:left;width:20px;height:20px;margin-top:3px;display:none;overflow:hidden;clear:right;");
//设置大小-------------------------------------------------------------------------------------------------------
	this.doLayout=function(){label.setStyles("width:"+_s.lw+"px;");var w=width-_s.lw-_s.iconWidth;boxEl.style.width=w+"px";};
//设置标签宽度
	this.setLabelWidth=function(width){_s.lw=parseInt(width);label.style.width=_s.lw+"px";};
//获取大小	
	this.getHeight=function(){return 28;};
//设置图标	
	this.setIcon=function(icon){
		if(!icon)icon="icon_add";iconEl.setStyles("background:"+"url("+_img('icons')+")  no-repeat 0 -"+_sc(icon)+";");
	    $L.hand(iconEl);iconEl.onclick=function(){if(_s.selectHandle){_s.selectHandle();return;}};$L.show(iconEl);
	};
//设置文本
	this.setText=function(text){
		label.innerHTML=$L.SPAN;
		if(!text)return;
		label.innerHTML=text+":"+$L.SPAN+$L.SPAN;
	};
//隐藏标签
	this.hideLabel=function(){label.style.display='none';};
//获取内容对象
    this.getEl=function(){return boxEl;};
/**获取输入宽度**/	
	this.getInputWidth=function(){this.doLayout();var w=width-_s.lw-_s.iconWidth;return w-5;};
};
//输入框的支持
$L.ui.form.Text=function(box,name){
	var _img=$L.ui._img;var el=box.getEl();var _s=this;
	var startSpan=$L.create("DIV",{},el);
	startSpan.setStyles("float:left;width:5px;height:23px;");
	var textSpan=$L.create("DIV",{},el);
	textSpan.setStyles("float:left;height:23px;background-color:#CCCCCC;padding:0;");
	var endSpan=$L.create("DIV",{},el);
	endSpan.setStyles("float:left;width:5px;height:23px;clear:right;");
	startSpan.innerHTML=$L.SPAN;
	endSpan.innerHTML=$L.SPAN;
	var input=$L.create("INPUT",{'name':name,type:'text'},textSpan);//创建按钮
	input.setStyles("height:23px;border:none;line-height:20px;overflow:hidden;margin-top:-1px;");
	if($L.isIE8)input.setStyles("margin-top:0;");
	input.style.width=box.getInputWidth()-10+"px";
	this.disable=function(){input.readOnly=true;}
	
	this.out=function(){if(input.readOnly)return;startSpan.setStyles("background:url("+_img('wurl')+") no-repeat 0 -585;");
		endSpan.setStyles("background:url("+_img('wurl')+") no-repeat 0 -615;");input.setStyles("background:url("+_img('wurl')+") repeat-x 0 -640;");
	}
	this.on=function(){
		if(input.readOnly)return;startSpan.setStyles("background:url("+_img('wurl')+") no-repeat 0 -665;");
		endSpan.setStyles("background:url("+_img('wurl')+") no-repeat 0 -715;");input.setStyles("background:url("+_img('wurl')+") repeat-x 0 -690;");
	}
	this.onError=function(){startSpan.setStyles("background:url("+_img('wurl')+") no-repeat 0 -740;");
		endSpan.setStyles("background:url("+_img('wurl')+") no-repeat 0 -790;");input.setStyles("background:url("+_img('wurl')+") repeat-x 0 -765;");
	}
	this.checkType=function(isInit){if(input.readOnly)return;if(_s.disabled)this.onError();else if(_s.error)this.onError();else if(isInit)_s.out();}
	this.setValue=function(value){input.value=value;}
	this.getValue=function(value){return input.value;}
	this.getName=function(){return name;};
	input.onclick=function(){if(_s.onclick)_s.onclick();}
	input.onfocus=function(){_s.on();if(_s.onfocus)_s.onfocus(input.value);_s.checkType();}
	input.onblur=function(){_s.out();if(_s.onblur)_s.onblur(input.value);_s.checkType();}
	input.onkeyup=function(){if(_s.onkeyup)_s.onkeyup(input.value);} 
	this.checkType(true);
};
//组合输入框
$L.ui.form.TextGroup=function(box,name){
    var _img=$L.ui._img;var el=box.getEl();var _s=this;var frame=$L.create("DIV",{},el);
	frame.setStyles("width:100%;height:100%;");var tpools=new Array();
	this.addText=function(w,name,l){
	    var fBox=$L.create("DIV",{},frame);fBox.setStyles("width:"+w+"px;height:100%;overflow:hidden;float:left;"); 
		fBox.getInputWidth=function(){return w-5;};fBox.getEl=function(){return this;}
	    var text=new $L.ui.form.Text(fBox,name);tpools.push(text);
		if(!l)return;
		var text=$L.create("DIV",{},frame);text.setStyles("line-height:22px;float:left;");text.innerHTML=l;
	}
	this.getValue=function(){
		var ps={};for(var i=0;i<tpools.length;i++)ps[tpools[i].getName()]=tpools[i].getValue();
		return ps;
    }
	this.setValue=function(v){
		v=v+"";var vs=v.split(',');
		for(var i=0;i<tpools.length;i++){if(!vs[i])vs[i]='';tpools[i].setValue(vs[i]);}  
	}
	this.clear=function(){
	    for(var i=0;i<tpools.length;i++)tpools[i].setValue("");
	}
};
$L.ui.form.List=function(box,name,h){
     var _img=$L.ui._img;var el=box.getEl();var _s=this;
	 var tools=$L.create("DIV",{},el);
	 tools.setStyles("height:25px;width:100%;clear:both;overflow:hidden;");
	 new $L.ui.Button("删除","icon_clear",tools,function(){
	      var rs=_s.getRecord();
		  for(var i=0;i<rs.length;i++)list.remove(rs[i]);
	 });
	 new $L.ui.Button("上移","icon_mTop",tools,function(){
	 
	 });
	 new $L.ui.Button("下移","icon_mDown",tools,function(){
	 
	 });
	 new $L.ui.Button("左移","icon_mLeft",tools,function(){
	 
	 });
	 new $L.ui.Button("右移","icon_mRight",tools,function(){
	 
	 });
	 var list=$L.create("SELECT",{'name':name,multiple:true},el);
 
	 list.setStyles("height:"+(h-25)+"px;line-height:20px;overflow:hidden;border:1px solid #CCCCCC;");
	 list.style.width=box.getInputWidth()+"px";
	 list.ondblclick=function(){
		 if(_s.update)_s.update(this.value);var ops=list.options;
		 for(var i=0;i<ops.length;i++)if(ops[i].value==this.value)_s.op=ops[i];
	 }
	 this.getRecord=function(){//获取记录
	    var ops=list.options;var rs=new Array();
		for(var i=0;i<ops.length;i++){
		    if(ops[i].selected)rs.push(ops[i]);
		}
	    return rs;
	 }
	 this.clear=function(){var ops=list.options;for(var i=0;i<ops.length;i++)ops[i].selected=false;_s.op=null;}
	 this.addRow=function(value){
		 var ops=list.options;
		 for(var i=0;i<ops.length;i++)if(ops[i].value==value)return;
		 var o=new Option(value,value);list.add(o);
	 }
	 this.getValue=function(){
		 var ops=list.options;
		 var code="";for(var i=0;i<ops.length;i++)code+=ops[i].value+"\n";
		 return code;
	 } 
	 this.setValue=function(value){
		 value=$L.unTranse(value);
		 var vs=value.split("\n");
		 for(var i=0;i<vs.length;i++)this.addRow(vs[i]);
	 }
	 this.getName=function(){return name;};
};


//整数输入框
$L.ui.form.Integer=function(box,name){
    var text=new $L.ui.form.Text(box,name);
	text.onkeyup=function(msg){ msg=msg.replace(/\D+/,"");  this.setValue(msg);}
	this.setValue=function(value){text.setValue(value);}
	this.getValue=function(value){return text.getValue();}
	this.getName=function(){return name;};
}
//下拉选择框
$L.ui.form.Select=function(box,name,store,labelName){
	if(!labelName)labelName=name+"-lael";
	var _s=this;var text=new $L.ui.form.Text(box,labelName);text.disable();
	var hidden=$L.create("INPUT",{'name':name,type:'hidden'},box.getEl());//创建按钮
	this.getName=function(){return name;};var frameBox=null;
	function getFrameBox(){
	   if(frameBox)return frameBox;
	   frameBox=new $L.ui.BoxFrame(box.getEl(),store);
	   frameBox.callback=function(ds){  text.setValue(ds.label); hidden.value=ds.value; _s.value=ds.value;}
	   return frameBox;
	} 
//单击事件
	text.onclick=function(){ var b=getFrameBox(); $L.lock(b,100); b.doLayout(); if(_s.onclick)_s.onclick(store);}
//-------------
	this.getValue=function(){return hidden.value;}
	this.setValue=function(value){
	   hidden.value=value;if(!store)return;
	   for(var i=0;i<store.length;i++){if(store[i].value==value){text.setValue(store[i].label);}}
	}
	this.setRemoteProxy=function(action){
       $L.Ajax.getView(action,{},function(s){
       	  for(var i=0;i<s.length;i++){store.add(s[i]);}
		});
    }
}
//复选框的支持
$L.ui.form.CheckBox=function(box,name,s){
	 var store=s;var _img=$L.ui._img;var el=box.getEl();var _s=this;
	 var hidden=$L.create("INPUT",{type:'hidden'},el.parentNode);
	 this.getName=function(){return name;};
//处理布局
	 this.doLayout=function(){
	     el.clear();//清空数据
		 if(!store){alert("对不起，请添加数据源");return;}
		 for(var i=0;i<store.length;i++){
			 var id="_OGW_CHECKBOX_"+$L.random(50000);;
	         var row=$L.create("DIV",{},el);
			 row.setStyles("float:left;margin-right:5px;");
			 var inputDiv=$L.create("DIV",{},row);
			 var input=$L.create("INPUT",{type:'checkBox','id':id,'name':name+'box','value':store[i].value},inputDiv);
			 input.onclick=function(){_s.checkValue();}
			 var label=$L.create("DIV",{},row);
			 label.target=input;
			 label.innerHTML=store[i].label;
			 input.setStyles("float:left;");
			 label.setStyles("float:left;line-height:23px;font-size:13px;cursor:default;");
			 label.onclick=function(){this.target.checked=!this.target.checked;_s.checkValue();} 
		 }
		 if(_s.value)this.setValue(_s.value);
	 }
	 this.checkValue=function(){
	     var inputs=el.getElementsByTagName("INPUT");var vs="";
		 for(var i=0;i<inputs.length;i++){if(inputs[i].type!='checkbox')continue;if(!inputs[i].checked)continue;
		  if(vs.length>0)vs+=",";vs+=inputs[i].value;}hidden.value=vs;_s.value=vs;
	 }
//设置数据源
	 this.setStore=function(s){store=s;this.doLayout();};if(s)this.doLayout();
	 this.setValue=function(values){
		 _s.value=values;var inputs=el.getElementsByTagName("INPUT");var vs=values.split(",");
		 for(var i=0;i<inputs.length;i++){
			 for(var j=0;j<vs.length;j++){
			    if(inputs[i].value==vs[j])inputs[i].checked=true;
			 }
		 }
	 }
	 this.getValue=function(value){return _s.value;}
}
//单选框的支持
$L.ui.form.RadioBox=function(box,name,s){
	 var store=s;this.getName=function(){return name;};
     var _img=$L.ui._img;var el=box.getEl();var _s=this;
	 var hidden=$L.create("INPUT",{type:'hidden'},el.parentNode);
//处理布局
	 this.doLayout=function(){
	     el.clear();if(!store){alert("对不起，请添加数据源");return;}
		 for(var i=0;i<store.length;i++){
			 var id="_OGW_RADIOBOX_"+$L.random(50000);var row=$L.create("DIV",{},el);
			 row.setStyles("float:left;margin-right:5px;");var inputDiv=$L.create("DIV",{},row);
			 var input=$L.create("INPUT",{type:'radio','id':id,'name':name+'box','value':store[i].value},inputDiv);
			 input.onclick=function(){_s.checkValue();};var label=$L.create("DIV",{},row);
			 input.setStyles("margin-top:2px;");
			 label.target=input;label.innerHTML=store[i].label; input.setStyles("float:left;");
			 label.setStyles("float:left;line-height:25px;font-size:13px;cursor:default;");
			 label.onclick=function(){this.target.checked=!this.target.checked;_s.checkValue();} 
		 }
	 }
	 this.checkValue=function(){
	     var inputs=el.getElementsByTagName("INPUT");
		 for(var i=0;i<inputs.length;i++){
	         if(inputs[i].type!='radio')continue;if(!inputs[i].checked)continue;
			 hidden.value=inputs[i].value;_s.value=inputs[i].value;return;
		 }
	 }
//设置数据源
	 this.setStore=function(s){ store=s; this.doLayout(); };if(s)this.doLayout();
	 this.getValue=function(value){return _s.value;};
	 this.setValue=function(value){
		 _s.value=value;var inputs=el.getElementsByTagName("INPUT"); 
		 for(var i=0;i<inputs.length;i++){
			 if(inputs[i].value==value)inputs[i].checked=true;
		  }
	 }
}
//整数输入框
$L.ui.form.SelectBox=function(box,name,icon,src){
	var _s=this;this.getName=function(){return name;};
    var text=new $L.ui.form.Text(box,name);var label="";
	var hidden=$L.create("INPUT",{type:'hidden'},box.getEl());
	text.disable();//禁止输入
	box.selectHandle=function(){//选择按钮
	    if(_s.selectHandle){_s.selectHandle();return;}
		if(src){
			var win=$L.ui.getWindow(src,true);
	        if(_s.w&&_s.h)win.setSize(_s.w,_s.h);
			if(_s.x&&_s.y)win.moveTo(_s.x,_s.y);
			win.getRecord(_s.setRecord);
			return;
		 }
	}
	this.setSrc=function(url,w,h,x,y,fun){src=url;_s.w=w;_s.h=h,_s.x=x;_s.y=y;_s.getRecord(fun);};box.setIcon(icon);
	this.getValue=function(value){return hidden.value;};
	this.getRecord=function(fun){this.recordHandle=fun;}
	this.setRecord=function(rs){
	   if(this.recordHandle){return this.recordHandle(rs);}
	   if(rs.length>1){alert("对不起,只能选择一条数据");return false;}
	   _s.setLabel(rs.getLabel());
	   _s.setValue(rs.getValue()); 
	   if(rs.close)rs.close(); 
	   return true;
	}
	this.setValue=function(value,lb){if(value)hidden.value=value;if(!lb)lb=value;if(lb)this.setLabel(lb);};
	this.setLabel=function(msg){label=msg;text.setValue(label);};
	this.getLabel=function(){return label;};
}
//文本域的支持
$L.ui.form.TextArea=function(box,name,h){
	 var _img=$L.ui._img;var el=box.getEl();var _s=this;
	 var textArea=$L.create("TEXTAREA",{'name':name},el);//创建按钮
	 textArea.setStyles("height:"+h+"px;line-height:20px;overflow:hidden;border:1px solid #CCCCCC;");
	 textArea.style.width=box.getInputWidth()+"px";
	 textArea.onfocus=function(){textArea.style.border="1px solid #A8CCDB";}
	 textArea.onblur=function(){textArea.style.border="1px solid #CCCCCC";}
	 this.getValue=function(){return textArea.value;}
	 this.disable=function(){textArea.readOnly=true;}
	 this.setValue=function(value){textArea.value=value;}
	 this.getName=function(){return name;};
} 
//文件管理器的支持
$L.ui.FileManager=function(width,height,icon_w,icon_h){
	if(!icon_w)icon_w=140;if(!icon_h)icon_h=140;
	var _img=$L.ui._img;var _sc=$L.ui._styleConfig;var _s=this;
    var el=document.body;var manager=null;
    var id="_OGW_FILEMANAGER_"+$L.random(50000);
	var frame=$L.create("DIV",{},el);
    
	var toolBar=new $L.ui.ToolBar(frame);
	var deskBtn=toolBar.addButton("桌面","icon_home",function(){if(!_s.store){alert("请设置数据源");return;}_s.setStore(_s.store,0);});
	var lastBtn=toolBar.addButton("上级目录","icon_back",function(){for(var i=0;i<_s.store.length;i++){if(_s.store[i].id!=_s.pid)continue;_s.setStore(_s.store,_s.store[i].pid);return;}alert("当前已经是顶级目录!");}); 
	
	
	this.closeDeskBtn=function(){deskBtn.close();}
	this.closeLastBtn=function(){lastBtn.close();}
	
	
	this.addButton=function(text,icon,fun){return toolBar.addButton(text,icon,fun);}
	var content=$L.create("DIV",{},frame);
   
	var main=$L.create("DIV",{},content); 
	
	this.getManager=function(){return manager;}
	main.onclick=function(){if(!manager||manager.lock)return;manager.unselect();}
	this.getRecord=function(){return manager.getRecord();}
	function doUpdate(){
	    frame.setStyles("width:"+width+"px;height:"+height+"px;");
		content.setStyles("width:"+width+"px;height:"+(height-25)+"px;overflow-x:hidden;position:relative;overflow-y:auto;");
		main.setStyles("width:"+width+"px;height:"+(height-25)+"px;position:relative;overflow:hidden;");
	}
	doUpdate();
	
	
	this.doLayout=function(w,h){
		if(w==width&&h==height)return;
		if(w)width=w;if(h)height=h;
		doUpdate();
		this.setStore(_s.store,_s.pid);
	}
	this.autoSize=function(){$L.autoSize(this);}
	
	this.setStore=function(store,pid){
		if(!_s.onclick&&!_s.bSelect){_s.bSelect=new $L.bodySelect(main);_s.bSelect.handle=function(){ } }
		_s.store=store; _s.pid=pid;main.clear();
		if(manager!=null)$L.removeLayout(manager);manager=new $L.IconManager(); $L.autoLayout(manager);
		if(_s.onclick)manager.simpleTarget=_s.onclick;
	    for(var i=0;i<store.length;i++){if(store[i].pid!=pid)continue;//循环遍历
		    var icon=new $L.ui.WindowsFolder(store[i],main,manager,icon_w,icon_h);manager.add(icon);
		    icon.ondblclick=function(){if(_s.ondblclick)_s.ondblclick(this.ds,manager);}
			icon.beforeMouseDown=function(){if(_s.bSelect)$L.lock(_s.bSelect);}
	    }
		var w=icon_w;var h=icon_h;var cols=parseInt(width/w);
		var rows=parseInt(manager.getSize()/cols+1);
		if(manager.getSize()%cols==0)rows=manager.getSize()/cols;
		if(rows*h>height)main.style.height=rows*h+"px";
		 
		manager.doMoveAt=function(x,y,o){var n=cols*y+x;manager.moveAt(n,o);}
		manager.moveIcon=function(icon){//移动图标对象
		     var x=icon.index%cols*w;var y=parseInt(icon.index/cols)*h;
			 if(icon.lock)return;
		     icon.moveTo(x,y);
		}
	}
}
//Windows图标文件
$L.ui.WindowsFolder=function(ds,el,manager,icon_w,icon_h){
	if(!icon_w)icon_w=140;if(!icon_h)icon_h=140;
	var _img=$L.ui._img;var _sc=$L.ui._styleConfig;var _s=this;
	this.ds=ds;var frame=$L.create("DIV",{},el);
	var icon=$L.create("DIV",{},frame); var text=$L.create("DIV",{},frame);
	var iconMask=$L.create("DIV",{},icon);iconMask.setStyles("width:100%;height:100%;");
	$L.css.setAlpha(iconMask,10);
	var textSpan=$L.create("SPAN",{},text);textSpan.innerHTML=ds.name;
   // if(ds.title)icon.title=ds.title;
	frame.setStyles("width:"+(icon_w-40)+"px;height:"+(icon_h-20)+"px;position:absolute;background-color:#FFFFFF;");
	icon.setStyles("width:100%;height:"+(icon_h-40)+"px;border:1px solid #ECE9D8;");
	text.setStyles("width:"+(icon_w-40)+"px;height:20px;line-height:20px;font-size:12px;text-align:center;overflow:hidden;");
	if(!ds.thrumb)icon.setStyles("background:url("+_img('bicons')+") no-repeat "+_sc("icon_winComputer")+";");
	else icon.setStyles("background:url("+ds.thrumb+") no-repeat;");
	frame.ondblclick=function(){if(_s.ondblclick)_s.ondblclick();}
	frame.beforeMouseDown=function(){_s.lock=true;$L.lock(manager,200); if(_s.beforeMouseDown)_s.beforeMouseDown();manager.select(_s);}
	
	this.unselect=function(){
		textSpan.setStyles("background-color:#FFFFFF;color:#000000;border:none;");
		iconMask.setStyles("background-color:#FFFFFF;");_s.isSelected=false;
    }
	this.selected=function(){
		textSpan.setStyles("background-color:#316AC5;color:#FFFFFF;border:1px dotted #FFFFFF;");
		iconMask.setStyles("background-color:#316AC5;");_s.isSelected=true;
	}	
	this.doLayout=function(){if(this.lock)return;if(manager.moveIcon)manager.moveIcon(this);}
    this.moveTo=function(x,y){frame.x=x;frame.y=y; frame.style.left=x+15+"px"; frame.style.top=y+15+"px";} 
	this.getId=function(){return ds.id;}
	if(!manager.simpleTarget){
	   var move=new $L.MoveWorker({target:frame,'source':icon});//移动窗口的支持
       move.stopmove=function(){_s.lock=false;var x=parseInt(frame.x/icon_w);var y=parseInt(frame.y/icon_h);var number=manager.doMoveAt(x,y,_s);}
	}else{
	   icon.onclick=function(){manager.simpleTarget(ds);}
	}
}


//用户登录
$L.ui.UserLogin=function(){
    var win=new $L.ui.Window();
	win.setSize(400,240);
	win.setCenter();
     
	

}












 

//编辑器的支持
$L.ui.form.SEdit=function(el,w,h,name){
   var tempPools=new Array();
   var self=this;var editFrame=$L.create("DIV",{},el);
   edit=$L.create("TEXTAREA",{id:'id-'+name,'name':name},editFrame);
   var sedit=new TINY.editor.edit('editor'+parseInt(20000*Math.random()),{
		id:'id-'+name,
		width:w-30,
		height:h-130,
		cssclass:'te',
		controlclass:'tecontrol',
		rowclass:'teheader',
		dividerclass:'tedivider',
		controls:['bold','italic','underline','strikethrough','|','subscript','superscript','|',
				  'orderedlist','unorderedlist','|','outdent','indent','|','leftalign',
				  'centeralign','rightalign','blockjustify','|','unformat','|','undo','redo','n',
				  'font','size','style','|','image','hr','link','unlink','|','cut','copy','paste','print','color'],
		footer:true,
		fonts:['Verdana','Arial','Georgia','Trebuchet MS'],
		xhtml:true,
		cssfile:'style.css',
		bodyid:'editor',
		footerclass:'tefooter',
		toggle:{text:'source',activetext:'wysiwyg',cssclass:'toggle'}
	});
 
    this.setImageHandle=function(callback){self.imageHandle=callback;}
	self.imageHandle=function(insertImage){//图片上传按钮的支持
	      new $L.ui.FileUpload(function(src){
			 insertImage(src);
		  });
	}
	this.getValue=function(){
	    sedit.post();
		var value=edit.value;
		for(var i=0;i<tempPools.length;i++){value=value.replace(tempPools[i],"");}
		return value;
	}
	this.getName=function(){return name;}
	this.setValue=function(content){
		if(sedit.getDocument().body){
		   sedit.getDocument().body.innerHTML=content;
		   sedit.post();return;
		}
	    setTimeout(function(){
		    sedit.getDocument().body.innerHTML=content;
		    sedit.post();				
		},1000);
	}
	sedit.setImageFunction(function(imageSrc,d){
		var imageTempCode="<SPAN id="+imageSrc+">";
		tempPools.push(imageTempCode);//临时代码 
	    var images=d.getElementsByTagName("IMG");
		var hasImg=false;
		for(var i=0;i<images.length;i++){
			var src=images[i].src;src=src.substring(src.lastIndexOf("/")+1);
			if(src==imageSrc){var code="<IMG src=\""+imageSrc+"\">"
			   var html=d.body.innerHTML;html=html.replace(code,imageTempCode);
			   d.body.innerHTML=html;hasImg=true;break;
			}
		}
		if(!hasImg){alert("请选择插入图片的位置！");return;}
		self.imageHandle(function(src){
		     if(!src)src="";
		     var html=d.body.innerHTML;html=html.replace(imageTempCode,"<IMG src=\""+src+"\">");
		     d.body.innerHTML=html;
		});
	})
}
//编辑器的支持
TINY={};
TINY.editor=function(){
	function T$(i){return document.getElementById(i)}
    function T$$$(){return document.all?1:0}
	var imageInput=null;
	var c=[], offset=-30;
	c['cut']=[1,'剪切','a','cut',1];
	c['copy']=[2,'复制','a','copy',1];
	c['paste']=[3,'粘贴','a','paste',1];
	c['bold']=[4,'加粗','a','bold'];
	c['italic']=[5,'斜体','a','italic'];
	c['underline']=[6,'下划线','a','underline'];
	c['strikethrough']=[7,'删除线','a','strikethrough'];
	c['subscript']=[8,'下标','a','subscript'];
	c['superscript']=[9,'上标','a','superscript'];
	c['orderedlist']=[10,'数字序号','a','insertorderedlist'];
	c['unorderedlist']=[11,'点序号','a','insertunorderedlist'];
	c['outdent']=[12,'左缩进','a','outdent'];
	c['indent']=[13,'右缩进','a','indent'];
	c['leftalign']=[14,'左对齐','a','justifyleft'];
	c['centeralign']=[15,'中间对齐','a','justifycenter'];
	c['rightalign']=[16,'右对齐','a','justifyright'];
	c['blockjustify']=[17,'加粗 Justify','a','justifyfull'];
	c['undo']=[18,'撤销','a','undo'];
	c['redo']=[19,'重做','a','redo'];
	c['image']=[20,'插入图片','i','insertimage','输入图片路径','http://'];
	c['hr']=[21,'插入水平线','a','inserthorizontalrule'];
	c['link']=[22,'插入链接','i','createlink','Enter URL:','http://'];
	c['unlink']=[23,'取消链接','a','unlink'];
	c['unformat']=[24,'删除格式化','a','removeformat'];
	c['print']=[25,'打印','a','print'];
	c['color']=[26,'字体颜色','a','color'];
	
	function edit(n,obj){
		var editDoc=null;
		this.getDocument=function(){return editDoc;}
		this.setImageFunction=function(callBack){imageInput=callBack;}
		this.n=n; window[n]=this; this.t=T$(obj.id); this.obj=obj; this.xhtml=obj.xhtml;
		var p=document.createElement('div'), w=document.createElement('div'), h=document.createElement('div'),
		l=obj.controls.length, i=0;
		this.i=document.createElement('iframe'); this.i.frameBorder=0;
		this.i.width=obj.width||'500'; this.i.height=obj.height||'250'; this.ie=T$$$();
		h.className=obj.rowclass||'teheader'; p.className=obj.cssclass||'te'; p.style.width=this.i.width+'px'; p.appendChild(h);
		for(i;i<l;i++){
			var id=obj.controls[i];
			if(id=='n'){
				h=document.createElement('div'); h.className=obj.rowclass||'teheader'; p.appendChild(h)
			}else if(id=='|'){
				var d=document.createElement('div'); d.className=obj.dividerclass||'tedivider'; h.appendChild(d)
			}else if(id=='font'){
				var sel=document.createElement('select'), fonts=obj.fonts||['Verdana','Arial','Georgia'], fl=fonts.length, x=0;
				sel.className='tefont'; sel.onchange=new Function(this.n+'.ddaction(this,"fontname")');
				sel.options[0]=new Option('字体','');
				for(x;x<fl;x++){
					var font=fonts[x];
					sel.options[x+1]=new Option(font,font)
				}
				h.appendChild(sel)
			}else if(id=='size'){
				var sel=document.createElement('select'), sizes=obj.sizes||['大小',1,2,3,4,5,6,7], sl=sizes.length, x=0;
				sel.className='tesize'; sel.onchange=new Function(this.n+'.ddaction(this,"fontsize")');
				for(x;x<sl;x++){
					var size=sizes[x];
					sel.options[x]=new Option(size,size)
				}
				h.appendChild(sel)
			}else if(id=='style'){
				var sel=document.createElement('select'),
				styles=obj.styles||[['属性',''],['Paragraph','<p>'],['Header 1','<h1>'],['Header 2','<h2>'],['Header 3','<h3>'],['Header 4','<h4>'],['Header 5','<h5>'],['Header 6','<h6>']],
				sl=styles.length, x=0;
				sel.className='testyle'; sel.onchange=new Function(this.n+'.ddaction(this,"formatblock")');
				for(x;x<sl;x++){
					var style=styles[x];
					sel.options[x]=new Option(style[0],style[1])
				}
				h.appendChild(sel)
			}else if(c[id]){
				var div=document.createElement('div'), x=c[id], func=x[2], ex, pos=x[0]*offset;
				div.className=obj.controlclass;
				div.style.backgroundPosition='0px '+pos+'px';
				div.title=x[1];
				ex=func=='a'?'.action("'+x[3]+'",0,'+(x[4]||0)+')':'.insert("'+x[4]+'","'+x[5]+'","'+x[3]+'")';
				div.actionTarget=new Function(this.n+(id=='print'?'.print()':ex));
				div.onclick=function(){$L.save("TINY-BUTTON",this);this.actionTarget(this);}
				div.onmouseover=new Function(this.n+'.hover(this,'+pos+',1)');
				div.onmouseout=new Function(this.n+'.hover(this,'+pos+',0)');
				h.appendChild(div);
				if(this.ie){div.unselectable='on'}
			}
		}
		this.t.parentNode.insertBefore(p,this.t); this.t.style.width=this.i.width+'px';
		w.appendChild(this.t); w.appendChild(this.i); p.appendChild(w); this.t.style.display='none';
		if(obj.footer){
			var f=document.createElement('div'); f.className=obj.footerclass||'tefooter';
			if(obj.toggle){
				var to=obj.toggle, ts=document.createElement('div');
				ts.className=to.cssclass||'toggle'; ts.innerHTML=obj.toggletext||'查看源码';
				ts.onclick=new Function(this.n+'.toggle(0,this);return false');
				f.appendChild(ts)
			}
			if(obj.resize){
				var ro=obj.resize, rs=document.createElement('div'); rs.className=ro.cssclass||'resize';
				rs.onmousedown=new Function('event',this.n+'.resize(event);return false');
				rs.onselectstart=function(){return false};
				f.appendChild(rs)
			}
			p.appendChild(f)
		}
		this.e=this.i.contentWindow.document; this.e.open();
	    
	 
		var m='<html><head>', bodyid=obj.bodyid?" id=\""+obj.bodyid+"\"":"";
		if(obj.cssfile){m+='<link rel="stylesheet" href="'+obj.cssfile+'" />'}
		if(obj.css){m+='<style type="text/css">'+obj.css+'</style>'}
		m+='</head><body'+bodyid+'>'+(obj.content||this.t.value);
		m+='</body></html>';
		this.e.write(m);
		this.e.close(); this.e.designMode='on'; this.d=1;
		if(this.xhtml){
			try{this.e.execCommand("styleWithCSS",0,0)}
			catch(e){try{this.e.execCommand("useCSS",0,1)}catch(e){}}
		}
		editDoc=this.e;
	};
	edit.prototype.print=function(){
		this.i.contentWindow.print()
	},
	edit.prototype.hover=function(div,pos,dir){
		div.style.backgroundPosition=(dir?'34px ':'0px ')+(pos)+'px'
	},
	edit.prototype.ddaction=function(dd,a){
		var i=dd.selectedIndex, v=dd.options[i].value;
		this.action(a,v)
	},
	edit.prototype.action=function(cmd,val,ie){
		if(ie&&!this.ie){
			alert('您的浏览器不支持此功能,建议您使用IE浏览器!')
		}else{
			if(cmd=='color'){
				if(!this.f)this.f=new $L.ui.ColorFrame(document.body);
				var btn=$L.get("TINY-BUTTON");
				var y=$L.getTop(btn)+25;
				var x=$L.getLeft(btn); 
				var colorId="#840830";
				var conEl=this.getDocument().body;
				this.e.execCommand('ForeColor',false,colorId);
				this.f.moveTo(x,y,function(color){
					  var content=conEl.innerHTML+"";
				      content=content.replace(" color="+colorId+">"," color="+color+">");
					  conEl.innerHTML=content;
				}); 
				
				return;
			}
			this.e.execCommand(cmd,0,val||null)
		}
	},
	edit.prototype.insert=function(pro,msg,cmd){
		if(!imageInput){alert("请设置图片上传函数,官方网址:http://www.ogw.cn");return;}
		var execute=this.e.execCommand;
		var imgId="TINY-"+parseInt(Math.random()*200000);
		//document.execCommand('paste',0,imgId)
		execute(cmd,0,imgId);
		imageInput(imgId,this.e);
	},
	edit.prototype.setfont=function(){
		execCommand('formatblock',0,hType)
	},
	edit.prototype.resize=function(e){
		if(this.mv){this.freeze()}
		this.i.bcs=TINY.cursor.top(e);
		this.mv=new Function('event',this.n+'.move(event)');
		this.sr=new Function(this.n+'.freeze()');
		if(this.ie){
			document.attachEvent('onmousemove',this.mv); document.attachEvent('onmouseup',this.sr)
		}else{
			document.addEventListener('mousemove',this.mv,1); document.addEventListener('mouseup',this.sr,1)
		}
	},
	edit.prototype.move=function(e){
		var pos=TINY.cursor.top(e);
		this.i.height=parseInt(this.i.height)+pos-this.i.bcs;
		this.i.bcs=pos
	},
	edit.prototype.freeze=function(){
		if(this.ie){
			document.detachEvent('onmousemove',this.mv); document.detachEvent('onmouseup',this.sr)
		}else{
			document.removeEventListener('mousemove',this.mv,1); document.removeEventListener('mouseup',this.sr,1)
		}
	},
	edit.prototype.toggle=function(post,div){
		if(!this.d){
			var v=this.t.value;
			if(div){div.innerHTML=this.obj.toggletext||'查看源码'}
			if(this.xhtml&&!this.ie){
				v=v.replace(/<strong>(.*)<\/strong>/gi,'<span style="font-weight: bold;">$1</span>');
				v=v.replace(/<em>(.*)<\/em>/gi,'<span style="font-weight: italic;">$1</span>')
			}
			this.e.body.innerHTML=v;
			this.t.style.display='none'; this.i.style.display='block'; this.d=1
		}else{
			var v=this.e.body.innerHTML;
			if(this.xhtml){
				v=v.replace(/<span class="apple-style-span">(.*)<\/span>/gi,'$1');
				v=v.replace(/ class="apple-style-span"/gi,'');
				v=v.replace(/<span style="">/gi,'');
				v=v.replace(/<br>/gi,'<br />');
				v=v.replace(/<br ?\/?>$/gi,'');
				v=v.replace(/^<br ?\/?>/gi,'');
				v=v.replace(/(<img [^>]+[^\/])>/gi,'$1 />');
				v=v.replace(/<b\b[^>]*>(.*?)<\/b[^>]*>/gi,'<strong>$1</strong>');
				v=v.replace(/<i\b[^>]*>(.*?)<\/i[^>]*>/gi,'<em>$1</em>');
				v=v.replace(/<u\b[^>]*>(.*?)<\/u[^>]*>/gi,'<span style="text-decoration:underline">$1</span>');
				v=v.replace(/<(b|strong|em|i|u) style="font-weight: normal;?">(.*)<\/(b|strong|em|i|u)>/gi,'$2');
				v=v.replace(/<(b|strong|em|i|u) style="(.*)">(.*)<\/(b|strong|em|i|u)>/gi,'<span style="$2"><$4>$3</$4></span>');
				v=v.replace(/<span style="font-weight: normal;?">(.*)<\/span>/gi,'$1');
				v=v.replace(/<span style="font-weight: bold;?">(.*)<\/span>/gi,'<strong>$1</strong>');
				v=v.replace(/<span style="font-style: italic;?">(.*)<\/span>/gi,'<em>$1</em>');
				v=v.replace(/<span style="font-weight: bold;?">(.*)<\/span>|<b\b[^>]*>(.*?)<\/b[^>]*>/gi,'<strong>$1</strong>')
			}
			if(div){div.innerHTML=this.obj.toggletext||'设计模式'}
			this.t.value=v;
			if(!post){
				this.t.style.height=this.i.height+'px';
				this.i.style.display='none'; this.t.style.display='block'; this.d=0
			}
		}
	},
	edit.prototype.post=function(){
		if(this.d){this.toggle(1)}
	};
	return{edit:edit}
}();

TINY.cursor=function(){
	return{
		top:function(e){
			return T$$$()?window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop:e.clientY+window.scrollY
		}
	}
}();

