﻿//这是一个utf-8文件js文件 郑轲

//add banxn

	var appurl = window.location.href;
  var appName1 = appurl.split("/");
  var webappName = appName1[3];
//end add banxn

var HTML = {
	eorp: {		// Utilities for accessing information from an element or a parent of the element
	
		// byClass - get the containing element with the specified className
		byClass: function(e,className){
			while ( e && e.className.indexOf(className) == -1) e = e.parentElement;
			return e;
		},
		
		// byTag - get the containing element with the specified tagName
		byTag: function(e,tagName){
			while ( e && e.tagName != tagName) {
				//alert(e.tagName);
				e = e.parentElement;
			}
			return e;
			
		}

	}
}

function generateHtml(){
	
	var sb = '';
	sb = sb + '#if ( (($data.getProfile().getUser().getUserId() =="anon") || ($data.getProfile().getGroupName()=="PageTemplate") || ($data.getProfile().getGroupName()=="PagePlaceMent") ) && (($data.getParameters().getString("isCenWebCustomize","false") == "true")) )\n';
	sb = sb + '	<Script>\n';
	sb = sb + '	document.write(\'<SCRIPT LANGUAGE="JavaScript" SRC="javascript/main.js"><\\/SCRIPT>\');\n';
	sb = sb + '	document.write(\'<SCRIPT LANGUAGE="JavaScript" SRC="javascript/genresize.js"><\\/SCRIPT>\');\n';
	sb = sb + '	document.write(\'<SCRIPT LANGUAGE="JavaScript" SRC="javascript/utils.js"><\\/SCRIPT>\');\n';
	sb = sb + '	document.write(\'<SCRIPT LANGUAGE="JavaScript" SRC="javascript/RightPop.js"><\\/SCRIPT>\');\n';
	sb = sb + '	document.write(\'<SCRIPT LANGUAGE="JavaScript" SRC="javascript/menu.js"><\\/SCRIPT>\');\n';
	sb = sb + '	</Script>\n';

	sb = sb + '	<Script>\n';
	sb = sb + '		document.write(\'<link REL=stylesheet TYPE="text/css" HREF="css/viewTemplate.css">\');\n';
	sb = sb + '	</Script>\n';

	sb = sb + '	<Script>\n';
	sb = sb + '		document.forms("save").attributes("action").value = "$jslink.addPathInfo("isCenWebCustomize","true")";\n';
	sb = sb + '	</Script>\n';
	sb = sb + '#end\n';
		
	//alert(sb.toString());
	return sb;
	
}

function testList(){
	var list = [];
	var j = 0;
	for(var id in Template.currSelectedDivList){
		var elem = 	Template.currSelectedDivList[id];
		list[j] = id;
		j++;
	}
	alert("currSelectedDivList:"+list);
}


function removeDIV(divObj){
	if(divObj==null)divObj = Template.currSelectedDiv;
	try{
		var tdObj = HTML.eorp.byTag(divObj,"TD");
		var trObj = HTML.eorp.byTag(divObj,"TR");
		var cells = trObj.cells;
	}catch(err){
	//	alert("removeDIV threw error");
		return;
	}
		
	if(cells.length > 1){//删除列

		for(var i = 0; i < cells.length; i++) 
		{
		//	alert(cells(k).outerHTML);
			if(cells(i) == tdObj){
				var w = parseInt(divObj.style.width);
				trObj.deleteCell(i);
				try{
					//findDiv(trObj);
					//var lastChild = trObj.lastChild.children(0);
					var lastChild = findDiv(trObj);
					//alert(lastChild.outerHTML);
					if(lastChild.tagName == "DIV"){
						lastChild.style.width = parseInt(lastChild.style.width) + w;
					}else if(lastChild.tagName == "TABLE"){
						circleSetDIVWidth(lastChild,w);
					}
					
					if(cells.length==1){
						var tbObj = HTML.eorp.byTag(trObj,"TABLE");
						if(tbObj.id != "firstTable"){
							var parentTDObj = HTML.eorp.byTag(trObj,"TD");
							if(parentTDObj){
								parentTDObj.innerHTML = lastChild.outerHTML;
							}
						}
					//	alert(firstTable.outerHTML);
					}
				}catch(err){
					alert("removeDIV:for coloumn error");	
				}
				//alert(Template.currDivs);
			//	alert(firstTable.outerHTML);
				deleteDivsArray(Template.currDivs,divObj);
			//	alert(cells.length);
				return;	
			}
		}
	}else{//删除行

		var tbObj = HTML.eorp.byTag(trObj,"TABLE");
		var rows = tbObj.rows;
		if(rows.length > 1){
			for(var i = 0; i < rows.length;i++){
				if(rows(i) == trObj){
					try{
						var h = parseInt(divObj.style.height);
						tbObj.deleteRow(i);
						//var lastChild0 = tbObj.rows(rows.length-1).cells(0).children(0);
						var lastChild0 = findDiv(tbObj);
					//	alert(lastChild0.outerHTML);
						if(lastChild0.tagName == "DIV"){
							lastChild0.style.height = parseInt(lastChild0.style.height) + h;
						}else if(lastChild0.tagName == "TABLE"){
							circleSetDIVHeight(lastChild0,h);
						}
						if(rows.length == 1){
							var parentTbObj = HTML.eorp.byTag(tbObj,"TABLE");
							if(parentTbObj.id != "firstTable"){
								var parentTDObj = HTML.eorp.byTag(tbObj,"TD");
								if(parentTDObj){
									parentTDObj.innerHTML = lastChild0.outerHTML;
								}
							}	
						}
						
					}catch(err){
						alert("removeDIV:for row error");
					}	
				//	alert(firstTable.outerHTML);
					deleteDivsArray(Template.currDivs,divObj);
					return;
				}
			}
			
		}
	}
	
}
function removeDIVProxy(){
	if ( Template.currSelectedDiv == null ) {
		alert("请先选定要删除的区域。");
		return;
	}
	if ( Template.currSelectedDiv.innerHTML.length > 0 )
	{
		alert("本区域有内容，不能删除！");
		return;
	}
	removeDIV(Template.currSelectedDiv);
	if(Template.currSelectedDiv!=null)Template.currSelectedDiv = null;
}

function amalDIV(){
	//alert("正在开发！");
	Template.amalDIVs();
}
function findDiv(obj){
	if(obj == null)return;
	if(typeof obj != "object")return;
	var child = null;
	if(obj.tagName == "TR"){
		var cells = obj.cells;
		for(var i = 0; i < cells.length;i++){
			var cell = cells(i);	
			child = cell.children(0);
			if(child!=null&&child.tagName=="DIV")return child;
		}
	}else if(obj.tagName == "TABLE"){
		var rows = obj.rows;
		for(var i = 0;i < rows.length;i++){
			var cells = rows(i).cells;
			for(var j = 0; j < cells.length; j++){
				var cell = cells(j);	
				child = cell.children(0);
				if(child!=null&&child.tagName=="DIV")return child;
			}
		}
	}
	return child;
}
function circleSetDIVWidth(table,w){
	if(table == null)return;
	if(table.tagName != "TABLE")return;
	if(w==null)w = 0;
	var rows = table.rows;
	for(var i = 0; i < rows.length; i++){
		var cells = rows(i).cells; 
		var cell = cells(0); 
		var child = cell.children(0); 
		if(child.tagName == "DIV"){
			child.style.width = parseInt(child.style.width) + w;
		}else if(child.tagName == "TABLE"){
			circleSetDIVWidth(child,w); 
		}
	}
}
function circleSetDIVHeight(table,h){
	if(table == null)return;
	if(table.tagName != "TABLE")return;
	if(h==null)h = 0;
	var rows = table.rows;
	var cells = rows(0).cells; 
	for(var i = 0; i < cells.length;i++){
		var cell = cells(i); 
		var child = cell.children(0); 
		if(child.tagName == "DIV"){
			child.style.height = parseInt(child.style.height) + h;
		}else if(child.tagName == "TABLE"){
			circleSetDIVHeight(child,h); 
		}
	}
}

function save_vm(){
	if(Template.currSelectedDiv!=null){
		Template.currSelectedDiv.style.backgroundColor = "";
	}
	var container = document.all["templateContainer"];
	if(container!=null){
		var pageTdObj = HTML.eorp.byTag(container,"TD");
		if ( forForm.document.all["templateContainer"] == null ) {
			forForm.document.write("<div id=\"templateContainer\">hello</div>");
		}
		var prepareContainer = forForm.document.all["templateContainer"];
		
		prepareContainer.innerHTML = container.innerHTML;

		for ( var i=0; i< Template.currDivs.length; i++ ) {	
				var innerStr,re,r;
				innerStr = eval('forForm.'+Template.currDivs[i]).innerHTML;
		         	re = /cenweb_work_div/i;
				r = innerStr.search(re);
				if(r!=-1){
				  	eval('forForm.'+Template.currDivs[i]).innerHTML += '$!'+Template.currDivs[i]+'.getContent($data)';
				}else{
					eval('forForm.'+Template.currDivs[i]).innerHTML = '$!'+Template.currDivs[i]+'.getContent($data)';
				}
			eval('forForm.'+Template.currDivs[i]).style.borderRight = "";
			eval('forForm.'+Template.currDivs[i]).style.borderLeft = "";
			eval('forForm.'+Template.currDivs[i]).style.borderTop = "";
			eval('forForm.'+Template.currDivs[i]).style.borderBottom = "";
			eval('forForm.'+Template.currDivs[i]).style.cursor = "default";
			eval('forForm.'+Template.currDivs[i]).style.backgroundColor = "";
		}     
		document.forms("save").content.value = generateHtml() + 
			'<table border="0" width="100%" cellpadding="0" cellspacing="0" height="100%">\n' +
			'	<tr><td style="' + pageTdObj.style.cssText + '"' +
			'><div id="templateContainer" align=center >\n' +
			'	' +	prepareContainer.innerHTML + '\n' +
			'	</div></td></tr>\n' + 
			'</table>\n' +
			'#if ( (($data.getProfile().getUser().getUserId() =="anon") || ($data.getProfile().getGroupName()=="PageTemplate") || ($data.getProfile().getGroupName()=="PagePlaceMent") ) && (($data.getParameters().getString("isCenWebCustomize","false") == "true")) )\n' +
			'	<script>\n' +
			'		Template.reCaculateDivs();\n' +
			'	</script>\n' +
			'#end\n';
		var urlhead = "http://"+location.host;
		var urlrep = new RegExp(urlhead,"gi");
		var tempStr1 = document.forms("save").content.value;
		var tempStr2 = tempStr1.replace(urlrep,"");
		document.forms("save").content.value = tempStr2;

		document.forms("save").task.value = 'save_vm';
		document.forms("save").new_name.value = '';
		document.forms("save").new_title.value = '';
		document.forms("save").clone_style.value = '';
		document.forms("save").clone_content.value = '';
		document.forms("save").portlet_name.value = '';
		document.forms("save").control.value = '';
		document.forms("save").divid.value = '';
		document.forms("save").submit();
	}
}

function do_portlet(){
	if(Template.currSelectedDiv!=null){
		if ( Template.currSelectedDiv.innerHTML.length > 0 ) {
			del_portlet();
		} else {
			add_portlet();
		}
	} else {
		alert("请先选定区域！");
	}
}
function doInput(){
	if(Template.currSelectedDiv!=null){
		if ( Template.currSelectedDiv.innerHTML.length > 0 ) {
			del_portlet();
		} else {
			add_html();
		}
	} else {
		alert("请先选定区域！");
	}
}
function add_html() {
		
		var ret = window.showModalDialog("/"+webappName+"/jsp/dialog_input.html","getname","status:0;help:0;resizable:0;dialogWidth:600px;dialogHeight:500px");
		if ( (ret != null) && (ret!='')) {

		} else {
			return;
		}
//		Template.currSelectedDiv.innerHTML = ret;
var rstr,reg1,reg2;
reg1=/&lt;/gi;
reg2=/&gt;/gi;
restring=ret.replace(reg1,"<");
ret=restring;
restring=ret.replace(reg2,">");
//alert(restring);
ret="<div fid='cenweb_work_div' width='100%' height='100%' align='left'>"+restring+"</div>";

//		Template.currSelectedDiv.insertAdjacentHTML('AfterBegin',ret);

		Template.currSelectedDiv.innerHTML=ret;
}

function add_portlet() {
		
		var ret = window.showModalDialog("/"+webappName+"/jsp/dialog_getportlet.html","getname","scroll:0;status:0;help:0;resizable:0;dialogWidth:500px;dialogHeight:400px");
		if ( ret != null ) {
			if ( ret["portlet_name"].length > 0 ) {
				document.forms("save").portlet_name.value = ret["portlet_name"];
			} else {
				alert("无效的组件名称!");	return;
			}		
			if ( ret["control"].length > 0 ) {
				document.forms("save").control.value = ret["control"];
			} else {
				alert("无效的组件外框!");	return;
			}
		} else {
			return;
		}

		Template.currSelectedDiv.style.backgroundColor = "";
		var container = document.all["templateContainer"];
		if(container!=null){
			var pageTdObj = HTML.eorp.byTag(container,"TD");
			if ( forForm.document.all["templateContainer"] == null ) {
				forForm.document.write("<div id=\"templateContainer\">hello</div>");
			}
			var prepareContainer = forForm.document.all["templateContainer"];
			
			prepareContainer.innerHTML = container.innerHTML;
			for ( var i=0; i< Template.currDivs.length; i++ ) {	
				var innerStr,re,r;
				innerStr = eval('forForm.'+Template.currDivs[i]).innerHTML;
		         	re = /cenweb_work_div/i;
				r = innerStr.search(re);
				if(r!=-1){
				  	eval('forForm.'+Template.currDivs[i]).innerHTML += '$!'+Template.currDivs[i]+'.getContent($data)';
				}else{
					eval('forForm.'+Template.currDivs[i]).innerHTML = '$!'+Template.currDivs[i]+'.getContent($data)';
				}
				eval('forForm.'+Template.currDivs[i]).style.borderRight = "";
				eval('forForm.'+Template.currDivs[i]).style.borderLeft = "";
				eval('forForm.'+Template.currDivs[i]).style.borderTop = "";
				eval('forForm.'+Template.currDivs[i]).style.borderBottom = "";
				eval('forForm.'+Template.currDivs[i]).style.cursor = "default";
				eval('forForm.'+Template.currDivs[i]).style.backgroundColor = "";
			}
			document.forms("save").content.value = generateHtml() + 
				'<table border="0" width="100%" cellpadding="0" cellspacing="0" height="100%">\n' +
				'	<tr><td style="' + pageTdObj.style.cssText + '"' +
				'><div id="templateContainer" align=center >\n' +
				'	' +	prepareContainer.innerHTML + '\n' +
				'	</div></td></tr>\n' + 
				'</table>\n' +
				'#if ( (($data.getProfile().getUser().getUserId() =="anon") || ($data.getProfile().getGroupName()=="PageTemplate") || ($data.getProfile().getGroupName()=="PagePlaceMent") ) && (($data.getParameters().getString("isCenWebCustomize","false") == "true")) )\n' +
				'	<script>\n' +
				'		Template.reCaculateDivs();\n' +
				'	</script>\n' +
				'#end\n';
			var urlhead = "http://"+location.host;
			var urlrep = new RegExp(urlhead,"gi");
			var tempStr1 = document.forms("save").content.value;
			var tempStr2 = tempStr1.replace(urlrep,"");
			document.forms("save").content.value = tempStr2;
			document.forms("save").task.value = 'add_portlet';
			document.forms("save").divid.value = Template.currSelectedDiv.id;
			document.forms("save").new_name.value = '';
			document.forms("save").new_title.value = '';
			document.forms("save").clone_style.value = '';
			document.forms("save").clone_content.value = '';
			document.forms("save").submit();
		}

}

function del_portlet(){

		if ( confirm("确信要删除这个组件吗?") == "0" ) return;
		var innerStr,re,r;
		innerStr = Template.currSelectedDiv.innerHTML;
	  re = /cenweb_work_div/i;
	  r = innerStr.search(re);
	  if(r!=-1){
	  	Template.currSelectedDiv.innerHTML="";
	  	return;
	  }
		document.forms("save").task.value = 'del_portlet';
		document.forms("save").content.value = '';
		document.forms("save").portlet_name.value = '';
		document.forms("save").divid.value = Template.currSelectedDiv.id;
		document.forms("save").control.value = '';
		document.forms("save").new_name.value = '';
		document.forms("save").new_title.value = '';
		document.forms("save").clone_style.value = '';
		document.forms("save").clone_content.value = '';
		
//		alert(document.forms("save").task.value);
//		alert(document.forms("save").content.value);
//		alert(document.forms("save").new_name.value);
//		alert(document.forms("save").new_title.value);
//		alert(document.forms("save").control.value);
//		alert(document.forms("save").clone_style.value);
//		alert(document.forms("save").clone_content.value);
//		alert(document.forms("save").portlet_name.value);
//		alert(document.forms("save").divid.value);
//
		document.forms("save").submit();

}

function addRemove_portlet_control(){

		var innerStr,re,r;
		innerStr = Template.currSelectedDiv.innerHTML;
	  re = /cenweb_work_div/i;
	  r = innerStr.search(re);
	  if(r!=-1){
	  	Template.currSelectedDiv.innerHTML="";
	  	return;
	  }
		document.forms("save").task.value = 'addRemove_portlet_control';
		document.forms("save").content.value = '';
		document.forms("save").portlet_name.value = '';
		document.forms("save").divid.value = Template.currSelectedDiv.id;
		document.forms("save").control.value = '';
		document.forms("save").new_name.value = '';
		document.forms("save").new_title.value = '';
		document.forms("save").clone_style.value = '';
		document.forms("save").clone_content.value = '';
		
//		alert(document.forms("save").task.value);
//		alert(document.forms("save").content.value);
//		alert(document.forms("save").new_name.value);
//		alert(document.forms("save").new_title.value);
//		alert(document.forms("save").control.value);
//		alert(document.forms("save").clone_style.value);
//		alert(document.forms("save").clone_content.value);
//		alert(document.forms("save").portlet_name.value);
//		alert(document.forms("save").divid.value);
//
		document.forms("save").submit();

}

function do_title() {
	if(Template.currSelectedDiv!=null && Template.currSelectedDiv.innerHTML.length > 0 ){
		document.forms("save").task.value = 'show_title';
		document.forms("save").content.value = '';
		document.forms("save").portlet_name.value = '';
		document.forms("save").divid.value = Template.currSelectedDiv.id;
		document.forms("save").control.value = '';
		document.forms("save").new_name.value = '';
		document.forms("save").new_title.value = '';
		document.forms("save").clone_style.value = '';
		document.forms("save").clone_content.value = '';
		document.forms("save").submit();
	} else {
		alert("请先选定组件！");
	}		
}

function createPSML(){
	var ret = window.showModalDialog("/"+webappName+"/jsp/dialog_newpsml.html","getname","scroll:0;status:0;help:0;resizable:0;dialogWidth:380px;dialogHeight:220px");
	if ( ret != null ) {
		if ( ret["name"].length > 0 ) {
			document.forms("save").new_name.value = ret["name"];
		} else {
			alert("无效的页面名称!");	return;
		}		
		if ( ret["title"].length > 0 ) {
			document.forms("save").new_title.value = ret["title"];
		} else {
			alert("无效的页面标题!");	return;
		}

		document.forms("save").content.value = generateHtml() + 
				'<table border="0" width="100%" cellpadding="0" cellspacing="0" height="100%">\n' +
				'	<tr><td><div id="templateContainer" align=center >\n';

		if ( ret["clone_style"] == "yes" ) {
			document.forms("save").clone_style.value="yes";
			var container = document.all["templateContainer"];
			if ( forForm.document.all["templateContainer"] == null ) {
				forForm.document.write("<div id=\"templateContainer\">hello</div>");
			}
			var prepareContainer = forForm.document.all["templateContainer"];
			prepareContainer.innerHTML = container.innerHTML;
			for ( var i=0; i< Template.currDivs.length; i++ ) {	
				var innerStr,re,r;
				innerStr = eval('forForm.'+Template.currDivs[i]).innerHTML;
		         	re = /cenweb_work_div/i;
				r = innerStr.search(re);
				if(r!=-1){
				  	eval('forForm.'+Template.currDivs[i]).innerHTML += '$!'+Template.currDivs[i]+'.getContent($data)';
				}else{
					eval('forForm.'+Template.currDivs[i]).innerHTML = '$!'+Template.currDivs[i]+'.getContent($data)';
				}
				eval('forForm.'+Template.currDivs[i]).style.borderRight = "";
				eval('forForm.'+Template.currDivs[i]).style.borderLeft = "";
				eval('forForm.'+Template.currDivs[i]).style.borderTop = "";
				eval('forForm.'+Template.currDivs[i]).style.borderBottom = "";
				eval('forForm.'+Template.currDivs[i]).style.cursor = "default";
				eval('forForm.'+Template.currDivs[i]).style.backgroundColor = "";
			}     		
			document.forms("save").content.value = document.forms("save").content.value +
				'	' +	prepareContainer.innerHTML + '\n';
		} else {
			document.forms("save").clone_style.value="no";
			document.forms("save").content.value = document.forms("save").content.value +
				'		<table id="firstTable" border="0" cellpadding="0" cellspacing="0">\n' +
				'			<tr>\n' +
				'				<td valign="top" align="left">\n' +
				'				<div id="viewTemplate_1" class="templateContainerDIV" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 0px; BORDER-LEFT: medium none; WIDTH: 950px; CURSOR: default; BORDER-BOTTOM: medium none; HEIGHT: 51px; BACKGROUND-COLOR: #ffffff" align=center>$!viewTemplate_1.getContent($data)</DIV>\n' +
				'				</td>\n' +
				'			</tr>\n' +
				'		</table>\n';
		}
		
		document.forms("save").content.value = document.forms("save").content.value +
				'	</div></td></tr>\n' + 
				'</table>\n' +
				'#if ( (($data.getProfile().getUser().getUserId() =="anon") || ($data.getProfile().getGroupName()=="PageTemplate") || ($data.getProfile().getGroupName()=="PagePlaceMent") ) && (($data.getParameters().getString("isCenWebCustomize","false") == "true")) )\n' +
				'	<script>\n' +
				'		Template.reCaculateDivs();\n' +
				'	</script>\n' +
				'#end\n';

		var urlhead = "http://"+location.host;
		var urlrep = new RegExp(urlhead,"gi");
		var tempStr1 = document.forms("save").content.value;
		var tempStr2 = tempStr1.replace(urlrep,"");
		document.forms("save").content.value = tempStr2;
		if ( ret["clone_content"] == "yes" ) {
			document.forms("save").clone_content.value="yes";
		} else {
			document.forms("save").clone_content.value="no";
		}

		document.forms("save").task.value = "new_view";
		document.forms("save").portlet_name.value = '';
		document.forms("save").control.value = '';
		document.forms("save").divid.value = '';
		
//		alert(document.forms("save").task.value);
//		alert(document.forms("save").content.value);
//		alert(document.forms("save").new_name.value);
//		alert(document.forms("save").new_title.value);
//		alert(document.forms("save").clone_style.value);
//		alert(document.forms("save").clone_content.value);
//		alert(document.forms("save").portlet_name.value);
//		alert(document.forms("save").divid.value);
		document.forms("save").submit();
	}	
}

function deletePSML() {
	if ( document.forms("selectviews").removable.value == "false" ) {
		alert("本页面不可删除!");
		return;
	}
	var answer = confirm("页面删除后不可恢复，您确信要删除吗？");
	if ( answer == "0" ) return;
	    
	document.forms("save").task.value = 'del_view';
	document.forms("save").content.value = '';
	document.forms("save").new_name.value = '';
	document.forms("save").new_title.value = '';
	document.forms("save").clone_style.value = '';
	document.forms("save").clone_content.value = '';
	document.forms("save").portlet_name.value = '';
	document.forms("save").control.value = '';
	document.forms("save").divid.value = '';
//		alert(document.forms("save").task.value);
//		alert(document.forms("save").content.value);
//		alert(document.forms("save").new_name.value);
//		alert(document.forms("save").new_title.value);
//		alert(document.forms("save").clone_style.value);
//		alert(document.forms("save").clone_content.value);
//		alert(document.forms("save").portlet_name.value);
//		alert(documEent.forms("save").divid.value);
	document.forms("save").submit();
	
}


function setProperty(act){
	if ( Template.currSelectedDiv == null ) {
		alert("请先选定区域！");
		return;
	}
	if ( act == "w" ) {
		var divW = document.forms("property").divWidth.value;
		if(!checkNum(divW)){
			alert("请输入整数");
			document.forms("property").divWidth.value = ''
			document.forms("property").divWidth.focus();
			return;
		}
		Template.currSelectedDiv.style.width = divW;
	} else if ( act == "h" ) {
		var divH = document.forms("property").divHeight.value;
		if(!checkNum(divH)){
			alert("请输入整数");
			document.forms("property").divHeight.value = '';
			document.forms("property").divHeight.focus();
			return;
		}
		Template.currSelectedDiv.style.height = divH;	
	} else if ( act == "l" ) {
		var divLeft = document.forms("property").divMarginLeft.value;
		if(!checkNum(divLeft)){
			alert("请输入整数");
			document.forms("property").divMarginLeft.value = '';
			document.forms("property").divMarginLeft.focus();
			return;
		}	
		Template.currSelectedDiv.style.marginLeft = divLeft;
	} else if ( act == "c" ) {
		var tdObj = HTML.eorp.byTag(Template.currSelectedDiv,"TD");
		var divColor = document.forms("action").cellColor.value;	
		tdObj.style.backgroundColor=divColor;
		Template.currSelectedDiv.style.backgroundColor = divColor;
	} else {
		var divBottom = document.forms("property").divMarginBottom.value;
		if(!checkNum(divBottom)){
			alert("请输入整数");
			document.forms("property").divMarginBottom.value = '';
			document.forms("property").divMarginBottom.focus();
			return;
		}	
		Template.currSelectedDiv.style.marginBottom = divBottom;	
	}
}


function editPageProperty(act){
	var container = document.all["templateContainer"];
	if(container!=null){
        var tdObj = HTML.eorp.byTag(container,"TD");
	    var ret = window.showModalDialog("/"+webappName+"/jsp/dialog_editpageproperty.html",tdObj,"scroll:0;status:0;help:0;resizable:0;dialogWidth:300px;dialogHeight:300px");
		if ( ret != null ) {
			tdObj.style.backgroundColor = ret["page_bgcolor"];
			tdObj.style.backgroundImage = ret["page_bgimageurl"];
			tdObj.style.backgroundRepeat = ret["is_repeat"];
			tdObj.style.backgroundPosition = ret["image_position"];
		} else {
			return;
		}
	}
}

function doAction(act){
	if(act==null)return;
	if(act == "splitColumn"){//拆分列

		var cNum = document.forms("action").columNum.value;	
		if(!checkNum(cNum)){
			alert("请输入整数");
			document.forms("action").columNum.value = '';
			document.forms("action").columNum.focus();
			return;
		}
		if(cNum < 2 || cNum > 10){
			alert("拆分列数不能小于2和大于10");
			document.forms("action").columNum.value = '';
			document.forms("action").columNum.focus();
			return;
		}
		
		Template.splitColumn(cNum);
		
		
	}else if(act == "splitRow"){//拆分行

		var rNum = document.forms("action").rowNum.value;	
		if(!checkNum(rNum)){
			alert("请输入整数");
			document.forms("action").rowNum.value = '';
			document.forms("action").rowNum.focus();
			return;
		}
		if(rNum < 2 || rNum > 10){
			alert("拆分行数不能小于2和大于10");
			document.forms("action").rowNum.value = '';
			document.forms("action").rowNum.focus();
			return;
		}
		
		Template.splitRow(rNum);
	}
	
}
function deleteDivListArray(){
	for(var id in Template.currSelectedDivList){
		delete Template.currSelectedDivList[id];
	}
//	alert(Template.currDivs);
}
function deleteDivsArray(divList,divObj){
	if(divList==null||divObj==null)return;
	var tempList = [];
	var j = 0;
	for(var i = 0; i < divList.length;i++){
		var div = divList[i];	
		if(div == divObj.id){
			continue;
		}
		tempList[j] = div;
		j++;
	}
	Template.currDivs = tempList;
//	alert(Template.currDivs);
}


var Template = {
	currTemplate:"template0",
	currSelectedDiv:null,
	currSelectedDivList:new Object(),
	currDivs:['viewTemplate_1'],
	bAmalType:null,
	amalDIVs:function(){
		var i = 0;
	//	testList();
	//	alert("this.currSelectedDiv:"+this.currSelectedDiv.id);
	
		//if the divs has portlet, don't amal!
		for ( var id in this.currSelectedDivList ) {
			if ( this.currSelectedDivList[id].innerHTML.length > 0 ) {
				alert("本区域有内容，不能合并！");
				return;
			}
		}

		for(var id in this.currSelectedDivList){
			var divObj = this.currSelectedDivList[id];
			//alert("amalDIV:"+divObj.id);
			
			if(divObj&&divObj!=this.currSelectedDiv){
				try{
					removeDIV(divObj);
				}catch(err){
					alert("amalDIVs:called removeDIV threw exception");
				}
				delete this.currSelectedDivList[id];
			}
		}
		//testList();
	},
	isAllowAmal:function(currElem){
		if(currElem==null)return false;
		try{
			if(!event.ctrlKey){
				for(var id in this.currSelectedDivList){
					var oldElem = this.currSelectedDivList[id];
					oldElem.style.backgroundColor = "";
					delete this.currSelectedDivList[id];
				}
				this.currSelectedDivList[currElem.id] = currElem;
				currElem.style.backgroundColor = "#6699FF";
				return false;
			}else{
			//	testList();
				if(currElem.id in this.currSelectedDivList){
					currElem.style.backgroundColor = "";
					delete this.currSelectedDivList[currElem.id];
					return true;
				}
				this.currSelectedDivList[currElem.id] = currElem;
				currElem.style.backgroundColor = "#6699FF";
				if(Template.currSelectedDiv == null){
					Template.currSelectedDiv = currElem;
				}
				return true;
			}
		}catch(err){
			alert("isAllowAmal is error");
		}
		
		return false;
	},
	isSiblingForTD:function(list,currElem){
		var oldElem = null;
		if(currElem==null)return false;
		for(var id in list){
			oldElem = list[id];
		//	break;
		}
		if(oldElem==null)return false;
	//	alert(oldElem.id);
		/*
		var oldTR = HTML.eorp.byTag(oldElem,"TR");
		var currTR = HTML.eorp.byTag(currElem,"TR");
		if(oldTR == currTR)return true;
		*/
		var oldTD = HTML.eorp.byTag(oldElem,"TD");
		var currTD = HTML.eorp.byTag(currElem,"TD");
		if(currTD == oldTD.nextSibling||oldTD == currTD.nextSibling)return true;
		return false;
	},
	isSiblingForTR:function(list,currElem){
		var oldElem = null;
		if(currElem==null)return false;
		for(var id in list){
			oldElem = list[id];
		//	break;
		}
		if(oldElem==null)return false;
		/*
		var oldTABLE = HTML.eorp.byTag(oldElem,"TABLE");
		var currTABLE = HTML.eorp.byTag(currElem,"TABLE");
		if(oldTABLE == currTABLE)return true;
		*/
		var oldTR = HTML.eorp.byTag(oldElem,"TR");
		var currTR = HTML.eorp.byTag(currElem,"TR");
		if(currTR == oldTR.nextSibling||oldTR == currTR.nextSibling)return true;
		return false;
	},
	getMaxID:function(){
		try {
			var maxNum = '0';
			for ( var i=0; i<Template.currDivs.length; i++ ) {
				var iID = Template.currDivs[i];
				var num = iID.substring(iID.indexOf("_")+1);
				if ( (num.length > maxNum.length) || ( num.length == maxNum.length && num > maxNum ) ) {
					maxNum = num;
				}
			}
			return maxNum;
		} catch(err) {
			return 0;
		}
	},
	operatSize:function(sizes,num){
		if(sizes==null||num == null)return 100;
		if(num == 0)return 100;
		var size = parseInt(sizes/num);
		return size;
	},
	createDiv:function(divID,w,h,mleft,mbottom,inner){
		if(divID==null)return;
		if(w == null)w = 100;
		if(h == null)h = 100;
		if(inner==null)inner = '';
		if(mleft==null)mleft = 0;
		if(mbottom==null)mbottom = 0;
		
		var sp = '';
		sp = sp + '<div id="'+divID+'" align="center" class="templateContainerDIV"';
		sp = sp + ' style="width:'+w+'px;height:'+h+'px;margin-left:'+mleft+'px;margin-bottom:'+mbottom+'px;">';
		sp = sp + inner;
		sp = sp + '</div>';
		
		return sp;
	},
	splitColumn:function(cNum){
		//alert(cNum);
		var maxNum = parseInt(Template.getMaxID());
		if(maxNum < 1){
			alert("splitColumn:error");
			return;
		}
		var parentTD = HTML.eorp.byTag(Template.currSelectedDiv,'TD');
		if(parentTD==null)return;
		
		//add by yuejw
		var divContent = Template.currSelectedDiv.innerHTML;
		//end of addition
		
		var h = parseInt(Template.currSelectedDiv.style.height);
		var w = parseInt(Template.currSelectedDiv.style.width);
		
		var mleft = parseInt(Template.currSelectedDiv.style.marginLeft);
		var mbottom = parseInt(Template.currSelectedDiv.style.marginBottom);
		
		var realW = w;
		w = Template.operatSize(w,cNum);
		var currCountW = w*cNum;
		
		var offsetW = realW - currCountW;
		
		
		var sp = '';
		sp = sp + '<table border="0" cellpadding="0" cellspacing="0">';
		sp = sp + '<tr>';
			sp = sp + '<td valign="top" align="left">';
				//replace by yuejw: sp = sp + Template.createDiv(Template.currSelectedDiv.id,w,h,mleft,mbottom);
				sp = sp + Template.createDiv(Template.currSelectedDiv.id,w,h,mleft,mbottom,divContent);
			sp = sp + '</td>';
			for(var i = 1;i < cNum;i++){
				var divIDNum = maxNum + i;
				var divID = 'viewTemplate_'+ divIDNum;
				Template.currDivs[Template.currDivs.length] = divID;
				var tempW = w;
				if(i < offsetW + 1)tempW = w + 1;
				sp = sp + '<td valign="top" align="left">';
					sp = sp + Template.createDiv(divID,tempW,h,0,mbottom);
				sp = sp + '</td>';
			}
		sp = sp + '</tr>';
		sp = sp + '</table>';
	//	alert(sp);
		parentTD.innerHTML = sp;
		Template.currSelectedDiv.style.backgroundColor = "";
		Template.currSelectedDiv = null;
		deleteDivListArray();
		
	},
	splitRow:function(rNum){
		//alert(rNum);
		var maxNum = parseInt(Template.getMaxID());
		if(maxNum < 1){
			alert("splitRow:error");
			return;
		}
		var parentTD = HTML.eorp.byTag(Template.currSelectedDiv,'TD');
		if(parentTD==null)return;
		
		//add by yuejw
		var divContent = Template.currSelectedDiv.innerHTML;
		//end of addition
		
		var h = parseInt(Template.currSelectedDiv.style.height);
		var w = parseInt(Template.currSelectedDiv.style.width);
		
		var mleft = parseInt(Template.currSelectedDiv.style.marginLeft);
		var mbottom = parseInt(Template.currSelectedDiv.style.marginBottom);
		
		var realH = h;
		h = Template.operatSize(h,rNum);
		var currCountH = h*rNum;
		var offsetH = realH - currCountH;
		
		
		var sp = '';
		sp = sp + '<table border="0" cellpadding="0" cellspacing="0">';
		sp = sp + '<tr>';
			sp = sp + '<td valign="top" align="left">';
				//replace by yuejw: sp = sp + Template.createDiv(Template.currSelectedDiv.id,w,h,mleft,0);
				sp = sp + Template.createDiv(Template.currSelectedDiv.id,w,h,mleft,mbottom,divContent);
			sp = sp + '</td>';
		sp = sp + '</tr>';
			for(var i = 1;i < rNum;i++){
				sp = sp + '<tr>';
				var divIDNum = maxNum + i;
				var divID = 'viewTemplate_'+ divIDNum;
				Template.currDivs[Template.currDivs.length] = divID;
				sp = sp + '<td valign="top" align="left">';
					var tempH = h;
					if(i < offsetH + 1)tempH = h + 1;
					if(i == rNum-1){
						sp = sp + Template.createDiv(divID,w,tempH,mleft,mbottom);
					}else{
						sp = sp + Template.createDiv(divID,w,tempH,mleft,0);
					}
				sp = sp + '</td>';
				sp = sp + '</tr>';
			}
		sp = sp + '</table>';
	//	alert(sp);
		parentTD.innerHTML = sp;
		Template.currSelectedDiv.style.backgroundColor = "";
		Template.currSelectedDiv = null;
		deleteDivListArray();
	},
	initEvnt:function(){
		document.body.onclick = function(){
			var e = event.srcElement;
			var parentE = HTML.eorp.byClass(e,"templateContainerDIV");
			if(parentE!=null){
				try{
					//event.ctrlKey
					parentE.style.backgroundColor = "#6699FF";
					var bAmal = Template.isAllowAmal(parentE);
					if(bAmal){
						
					}else{
						var divW = parseInt(parentE.style.width);
						var divH = parseInt(parentE.style.height);
						var marginBottom = parseInt(parentE.style.marginBottom);
						var marginLeft = parseInt(parentE.style.marginLeft);
						
						document.forms("property").divWidth.value = divW;
						document.forms("property").divHeight.value = divH;
						document.forms("property").divMarginBottom.value = marginBottom;
						document.forms("property").divMarginLeft.value = marginLeft;
						
						if(Template.currSelectedDiv!=null&&Template.currSelectedDiv!=parentE){
							Template.currSelectedDiv.style.backgroundColor = "";
						}
						Template.currSelectedDiv = parentE;
	if ( Template.currSelectedDiv.innerHTML.length > 0 ) {
		document.forms("save").portlet.value="删除组件";
	} else {
		document.forms("save").portlet.value="添加组件";
	}
					}
					//alert(property);
				}catch(err){
					alert(err);
				}
				//alert(STRING.build(Template.currSelectedDivList,1));
				
			}
		}
	},
	
	//add by yuejw
	reCaculateDivs:function()
	{
		var currDiv_num = 0;
		var num_allele = document.all.length;
		for ( var i=0; i<num_allele; i++ )
		{
			if ( document.all.item(i).className == "templateContainerDIV" && document.all.item(i).tagName == "DIV" )
			{
				//alert(document.all.item(i).id);
				Template.currDivs[currDiv_num] = document.all.item(i).id;
				currDiv_num = currDiv_num + 1;
			}
		}
	}
	
}
