/* 
 *  创建修改区域
/*----------------------------------------------------------------*/

function InstEdit(eObj, reqInfo ){
	/*
	reqInfo.attrs = {datatype:"safechar",min:1,max:250,requre:true };
	reqInfo.request = {method:'post',onComplete:callback, parameters:'',... };
	reqInfo.sendUrl
	reqInfo.fieldType, reqInfo.style, reqInfo.formName, reqInfo.formTitle
	*/
	var req = reqInfo;
	var fname='_instEditForm'||req.formName;
	var fmethod = 'post'||req.request.method;
	var obj = eObj;
	initEditor();
	function createEditor( ){
		var box;
		if( req.fieldType!='textarea'){
			box = createInput(req.fieldType,req.attrs.name,'');
			box.style.width = Math.max(obj.offsetWidth,150)+"px";
		}
		else{
			box =createTextArea( req.attrs.name );
			box.style.width = Math.max(obj.offsetWidth,150)+"px";
			box.style.height = Math.max(obj.offsetHeight,50)+"px";
		}	
		for( var i in req.attrs ){
			box[i] = req.attrs[i];
		}
		if (req.inTitle){
			box.value="";	
			o.setAttribute("title","内容");
		}else{
			box.value=obj.innerHTML.unfixHTML();		
	  }
		box.style.background = "#fbffcc";
		box.style.border = "1px inset #fff";
		box.style.fontSize = obj.style.fontSize;
		box.style.fontFamily = obj.style.fontFamily;
		box.style.fontWeight = obj.style.fontWeight;
		for( var i in req.style ){
			box.style[i] = req.style[i];
		}
		box.select();
		return box;
	}
	function createTextArea( bname, dstyle){
		o = JS21CN.ui.C("textarea");
		o.setAttribute("id",bname);
		o.setAttribute("name",bname);
		dstyle && (o.style.cssText = dstyle);
		return o;
	}
	function createInput( btype,bname,bvalue,dstyle,title){
		o= JS21CN.ui.C("input");
		o.setAttribute("type",btype);
		o.setAttribute("id",bname);
		o.setAttribute("name",bname);
		o.setAttribute("title",title);
		o.setAttribute("value",bvalue);
		// type='"+btype+"' name='"+bname+"' value='"+bvalue+"'>" );
		dstyle && (o.style.cssText = dstyle);
		return o;
	}
	function createDiv(content,dname, dstyle){
		o= JS21CN.ui.C("div" );
		dname && (o.id = dname);
		content && (o.innerHTML = content);
		dstyle && (o.style.cssText = dstyle);
		return o;
	}
	function createForm(){
		if(document.getElementById(fname))	return;
		f = JS21CN.ui.C("form");
		f.setAttribute("id",fname);
		f.setAttribute("name",fname);
		f.setAttribute("method",fmethod);
		p = JS21CN.ui.getPosition(obj);
	//	x = Math.max( window.screen.width/2 -200, p.x );
	//	y = Math.max( window.screen.height/2 -200, p.y );
	  x = p.x;
	  y = p.y;
		css = "display:;position:absolute;z-index:120;left:"+x+"px;top:"+y+"px;padding:8px;background:#EEE;border:2px outset;"
		f.style.cssText = css;
		JS21CN.ui.A(f);
		t = createDiv(req.formTitle||'编辑内容');		
		t.style.font = "12px normal";
		t.style.width="250";
		JS21CN.ui.A( t, f );
		if (req.inTitle){
			JS21CN.ui.A( createInput('text',req.inTitle,'','width:80px;','模块名称'), f );
		}
		JS21CN.ui.A( createEditor(req), f );
		b = JS21CN.ui.C("div" );
		b.style.width="250";
		JS21CN.ui.A( createInput('button',fname+'_editbtn','保存','width:80px;',''), b );
		JS21CN.ui.A( createInput('button',fname+'_closebtn','取消','width:80px;',''), b );
		JS21CN.ui.A(b,f);
		document.getElementById(fname+"_closebtn").onclick=closeEditor;
		if (req.inTitle){
			//document.getElementById(req.inTitle).value="请输入模块名称";
			//document.getElementById(req.inTitle).onfocus="if(document.getElementById(req.inTitle).value=='请输入模块名称'){document.getElementById(req.inTitle).value=''}";
			//document.getElementById(req.inTitle).onblur="if(document.getElementById(req.inTitle).value==''){document.getElementById(req.inTitle).value='请输入模块名称'}";
			//document.getElementById(req.inTitle).size="5";
			document.getElementById(fname+"_editbtn").onclick=submitEditor2;
			document.getElementById(fname).onsubmit=submitEditor2;
		}	else{
			document.getElementById(fname+"_editbtn").onclick=submitEditor;
			document.getElementById(fname).onsubmit=submitEditor;
		}
		JS21CN.ui.showFloat(f);
	}
	function closeEditor(){
		JS21CN.ui.R(document.getElementById(fname));
		JS21CN.ui.closeFloat();
	}
	function submitEditor(){
		v = document.getElementById(fname).elements[req.attrs.name].value.stripScripts();	
		if( obj.innerHTML == v ){
			closeEditor();
			return false;
		}if(v.length > 1000 || v.length < 1){
			alert("输入内容要在1-1000个字符之间");
			return false;
		}
		//v = escape(v);
		req.func(req.request.parameters,v);
		return false;
	}
	function submitEditor2(){
		v = document.getElementById(fname).elements[req.attrs.name].value.stripScripts();	
		t = document.getElementById(fname).elements[req.inTitle].value.stripScripts();	
		if( obj.innerHTML == v ){
			closeEditor();
			return false;
		}if(v.length > 1000 || v.length < 1){
			alert("输入内容要在1-1000个字符之间");
			return false;
		}if(t.length > 50 || t.length < 1){
			alert("输入标题要在1-50个字符之间");
			return false;
		}
		req.func(req.request.parameters,t,v);
		return false;
	}
	function initEditor(){
		obj.title = "点击即可编辑";
		obj.style.cursor = "pointer";
		obj.onmouseover = function(){
			var evt=JS21CN.ui.getEvent() 
			var element=evt.srcElement || evt.target   			
			element.style.backgroundColor = "#fbffcc";
		};
		obj.onmouseout = function(){
			var evt=JS21CN.ui.getEvent() 
			var element=evt.srcElement || evt.target   			
			element.style.backgroundColor = "";
		};
		obj.onclick = function(){
			createForm();
		};		
	}
}
