﻿<!--
function deleteLabelSaveText()
{
	clearExcrescentLabel(document.documentElement);
}

var sBrowserType = null;
function clearExcrescentLabel(eNode)
{
	sBrowserType = getBrowserType();
	getElementNode(eNode);
}

function getElementNode(elementNode)
{
	var elementNodeLength = elementNode.childNodes.length;

//	for(var i = 0 ;i<elementNodeLength ;i++)
	for(var i = elementNodeLength - 1 ;i>=0 ;i--)
	{
		var subNode = elementNode.childNodes[i];
		
		if (typeof(subNode) == "undefined")
		{
			continue;
		}
		
		if (!(subNode.nodeType.toString() == "1"))
		{	//非元素节点
			continue;
		}
			
		if (subNode.hasChildNodes())
		//if (subNode.childNodes.length >= 1)
		{
			getElementNode(subNode);
		}
		
		setLabelSaveText(subNode);
	}
}


function setLabelSaveText(objLabel)
{
	var objNodeName = objLabel.nodeName.toLowerCase();
	
	switch(objNodeName)
	{
		case "input"://去图片按钮//
					if (objLabel.getAttribute("type"))
					{
						if (objLabel.getAttribute("type").toLowerCase() == "image")
						{
							objLabel.parentNode.removeChild(objLabel);
						}
					}
					
					break;

		case "strong":
		case "u":
		case "b":
		case "i":
		case "em":
		case "ui":
		case "h1":
		case "h2":
		case "h3":
		case "h4":
		case "h5":
		case "h6":
		case "h7":
		case "b":
		case "font":
		case "s":
		case "center":
					delElement(objLabel);
					break;
		
		case "style":
		case "hr":	 //去横线//
		case "img" :	//去图片//
					objLabel.parentNode.removeChild(objLabel);
					break;
		case "link":
					objLabel.removeAttribute("href");
					break;
		default:break;
	}
	
	if (objLabel.style)
	{
//		objLabel.removeAttribute("style");
		
		
		var objCssText = objLabel.style.cssText.toLowerCase();
		
		if (objCssText.length >= 1)
		{
			objCssText = objCssText.replace(/(\s)+/,"");
			
			var tmpCssText = "";
			
			/*
			if (objCssText.indexOf("width") >= 0)
			{
				tmpCssText += "width:"+ objLabel.style.width +";";
			}
			*/
			
			if (objLabel.style.display)
			{
				tmpCssText += "display:"+ objLabel.style.display +";";
			}
			

			objLabel.style.cssText = tmpCssText;
		}
		
	}
	
	delAttribute(objLabel,"background");
	delAttribute(objLabel,"backgroundImage");
	delAttribute(objLabel,"bgColor");
	delAttribute(objLabel,"fgColor");
	delAttribute(objLabel,"color");
	delAttribute(objLabel,"rules");
	delAttribute(objLabel,"size");
	delAttribute(objLabel,"face");
	delAttribute(objLabel,"border");
	delAttribute(objLabel,"height");
	delAttribute(objLabel,"width");
	delAttribute(objLabel,"align");
	
	
	//setAttributeValue(objLabel,"border","0");
	
}

function bIsExistsElementAttribute(nodeElement,sAttributeName)
{
	//关于属性,判断IE还是Netscape//
	if (sBrowserType == appNavNameIE)
	{
		if (typeof(nodeElement.attributes[sAttributeName]) !=  "undefined")
		{
			return true;
		}
	}
	else
	{
		if (nodeElement.hasAttribute(sAttributeName))
		{
			if (nodeElement.getAttribute(sAttributeName))
			{
				return true;
			}
		}
	}
	
	return false;

}

function delAttribute(nodeElement,sAttributeName)
{
	if (bIsExistsElementAttribute(nodeElement,sAttributeName) == true)
	{
		nodeElement.removeAttribute(sAttributeName);
	}
	
	/*
	try
	{
		nodeElement.removeAttribute(sAttributeName);
	}
	catch(ex)
	{}
	return ;
	*/	

}

function setAttributeValue(nodeElement,sAttributeName,sValue)
{
	if (bIsExistsElementAttribute(nodeElement,sAttributeName) == true)
	{
		nodeElement.setAttribute(sAttributeName,sValue);
	}
	
	/*
	try
	{
		nodeElement.setAttribute(sAttributeName,sValue);
	}
	catch(ex)
	{}
	return ;
	*/

}

function delElement(nodeElement)
{
	var tmpNode = document.createElement("span");
	tmpNode.innerHTML = nodeElement.innerHTML;

	nodeElement.parentNode.insertBefore(tmpNode,nodeElement);
	nodeElement.parentNode.removeChild(nodeElement);

	nodeElement = null;
	nodeElement = tmpNode;
}

function getMonoNetscapeTextData(eNodeElement)
{
	var sInnerHtml = eNodeElement.innerHTML;
	
	//去掉Javascript//
	sInnerHtml = sInnerHtml.replace(/<\s*script[^<>]*>[^<>]*<\s*\/\s*script\s*>/gi,"");	

	//去掉空格的標簽//
	//sInnerHtml = sInnerHtml.replace(/<\s*[^<>]*>(\&nbsp\;)*<\s*\/[^<>]*>/gi,"");
	
    //標簽中 table  換成  br  ,tr 換成 br, div 換成 br//
	sInnerHtml = sInnerHtml.replace(/<\s*table[^>]*>/gi,"[br]");
	sInnerHtml = sInnerHtml.replace(/<\s*tr[^>]*>/gi,"[br]");
	
    //特殊的DIV標簽，轉換成 br//
	sInnerHtml = sInnerHtml.replace(/<\s*\/\s*div\s*>[\s\n\r ]*<\s*div\s*[^>]*>/gi,"[br]");
	//sInnerHtml = sInnerHtml.replace(/<\s*\/\s*div\s*>[\s\n\r ]*([^<]+)/gi,"[br]$1");
	
	//去掉TD緊接的<DIV>標簽，因為此標簽無用//
	sInnerHtml = sInnerHtml.replace(/(<\s*\s*td[^>]*>)[^\S]*<\s*\/?\s*div[^>]*>/gi,"$1");
	sInnerHtml = sInnerHtml.replace(/<\s*\/?\s*div[^>]*>[^\S]*(<\s*\/\s*td[^>]*>)/gi,"$1");
	
	sInnerHtml = sInnerHtml.replace(/<\s*\/\s*div\s*>/gi,"[br]");

	//換行 鏈接的轉換//
	sInnerHtml = sInnerHtml.replace(/<\s*br[^>]*>/gi,"[br]");
//	sInnerHtml = sInnerHtml.replace(/<\s*(\/?)\s*p([^>]*)>/gi,"[$1p$2]");
	//去掉TD緊接的<P>標簽，因為此標簽無用//
	sInnerHtml = sInnerHtml.replace(/(<\s*\s*td[^>]*>)[^\S]*<\s*\/?\s*p[^>]*>/gi,"$1");
	sInnerHtml = sInnerHtml.replace(/<\s*\/?\s*p[^>]*>[^\S]*(<\s*\s*td[^>]*>)/gi,"$1");
	
	sInnerHtml = sInnerHtml.replace(/<\s*(\/?)\s*p([^>]*)>/gi,"[$1p]");//P標簽 ,換行不需要樣式//
	
	//保留超鏈接//
	sInnerHtml = sInnerHtml.replace(/<\s*(\/?)\s*a([^>]*)>/gi,"[$1a$2]");
	//去掉超链接效果//
	sInnerHtml = sInnerHtml.replace(/style\s*=\s*['"]?[^'"\s]*['"\s]?/gi,"");
	
	//去掉標簽//	
	sInnerHtml = sInnerHtml.replace(/<[^>]*>/gi,"");
	//去掉HTML注釋//
	sInnerHtml = sInnerHtml.replace(/<\!--/gi,"");
	sInnerHtml = sInnerHtml.replace(/-->/gi,"");
	

	//換行UBB還原//
	sInnerHtml = sInnerHtml.replace(/\[br\]/gi,"<br/>");
	sInnerHtml = sInnerHtml.replace(/\[\s*p([^\]]*)\]/gi,"<p$1>");
	sInnerHtml = sInnerHtml.replace(/\[\/p\]/gi,"</p>");

	//超鏈接UBB還原//
	sInnerHtml = sInnerHtml.replace(/\[\s*(\/?)\s*a([^\]]*)\]/gi,"<$1a$2>");

	sInnerHtml = sInnerHtml.replace(/\n[\s| ]*\r/gi,"");
	sInnerHtml = sInnerHtml.replace(/\r/gi,"");
	sInnerHtml = sInnerHtml.replace(/\n/gi,"");
	//刪除無用換行<p>標簽//
	//sInnerHtml = sInnerHtml.replace(/<\s*p\s*[^>]*>(\&nbsp;)*<\s*\/\s*p\s*>/gi,"");
	//删除特殊符號//
	sInnerHtml = sInnerHtml.replace(/·/gi,"");
	sInnerHtml = sInnerHtml.replace(/●/gi,"");
	
	

	//----------------------------------------去掉太多的換行----------------------------------//
	sInnerHtml = sInnerHtml.replace(/<br\/>/gi,String.fromCharCode(10));
	sInnerHtml = sInnerHtml.replace(/\n+\s+\n+/gi,String.fromCharCode(10));
	sInnerHtml = sInnerHtml.replace(/\n\n+/gi,String.fromCharCode(10) + String.fromCharCode(10));
	//sInnerHtml = sInnerHtml.replace(/^(\&nbsp\;)+/gi,"");
	
	sInnerHtml = sInnerHtml.replace(/\n/gi,"<br/>");
	//----------------------------------------去掉太多的換行----------------------------------//

	//代碼轉換暫時到這裏//
	eNodeElement.innerHTML = sInnerHtml;

}

function getMonoIETextData(eNodeElement)
{
	//---------------------IE取出innerHTML,保留超鏈接--------------------------------//
	var sInnerHTML = eNodeElement.innerHTML;
	
	sInnerHTML = sInnerHTML.replace(/<(\s*\/?\s*a(\s+[^<>]*)?)>/gi,"[$1]");
	//去掉超链接效果//
	sInnerHTML = sInnerHTML.replace(/style\s*=\s*['"]?[^'"\s]*['"\s]?/gi,"");
	eNodeElement.innerHTML = sInnerHTML;
	
	//删除特殊符號//
//	sInnerHTML = sInnerHTML.replace(/·/gi,"");
//	sInnerHTML = sInnerHTML.replace(/●/gi,"");
	
	
	//---------------------IE取出innerHTML,保留超鏈接--------------------------------//
	
	//---------------------IE取出純文本文字innerText---------------------------------//
	var sInnerText = eNodeElement.innerText;
	
	sInnerText = sInnerText.replace(/\n[^\S\n\r\t]*\r/gi,"\n\r");
	sInnerText = sInnerText.replace(/\r\n\r/gi,"\n");
	sInnerText = sInnerText.replace(/\n\r/gi,"\n");
	sInnerText = sInnerText.replace(/\r/gi,"\n");
	//sInnerText = sInnerText.replace(/\n/gi,"\r");

	sInnerText = sInnerText.replace(/\n\n+/gi,"\n\n");//空出兩行時，按空兩行計算//

	eNodeElement.innerText = "\n"+sInnerText + "\n\n";
	//---------------------IE取出純文本文字innerText---------------------------------//

	//---------------------IE還原超鏈接 設置innerHTML--------------------------------//
	sInnerHTML = eNodeElement.innerHTML;
	sInnerHTML = sInnerHTML.replace(/\[(\s*\/?\s*a(\s+[^\[\]]*)?)\]/gi,"<$1>");
	eNodeElement.innerHTML = sInnerHTML;
	//---------------------IE還原超鏈接 設置innerHTML--------------------------------//

	return true;	
}

function setMonoTextEspecialChar(eNode)
{
	/*
	var sInnerHTML = eNode.innerHTML;
	sInnerHTML = changePath(sInnerHTML);
	
	var sPattern = /<\s*([^<>\s]+)\s*name\s*=\s*['"]GraphicsLabel['"][^<>]*>.*<\s*\/\s*\1\s*>/gi;
	sInnerHTML = sInnerHTML.replace(sPattern,"");
	eNode.innerHTML = sInnerHTML;
	*/
	
//	var arrNodeName = document.getElementsByName("GraphicsLabel");

	var arrNodeName = document.getElementsByTagName("span");
	var arrLength = arrNodeName.length;
	
	if (arrLength >= 1)
	{
		for(var i = arrLength - 1;i >= 0;i--)
		{
			if (arrNodeName[i].getAttribute("name"))
			{
				if (arrNodeName[i].getAttribute("name").toLowerCase() == "GraphicsLabel".toLowerCase())
				{
					arrNodeName[i].parentNode.removeChild(arrNodeName[i]);
				}
			}
		}
	}
	
}

function setChangeTrueTextDataTypeset(sNodeId)
{
	var eNode = document.getElementById(sNodeId);
	if (! eNode)
	{
		return ;
	}
	
	setMonoTextEspecialChar(eNode);
	
	if (document.all)//IE
	{
		getMonoIETextData(eNode);
	}
	else
	{
		getMonoNetscapeTextData(eNode);
	}
}

function getMonoTextData(sNodeId)
{
	var eNode = document.getElementById(sNodeId);
	if (! eNode)
	{
		return ;
	}
	
	//paul test-----------------------------//
	clearExcrescentLabel(eNode);
	return ;
	//paul test-----------------------------//
	

/*
	setMonoTextEspecialChar(eNode);
	
	if (document.all)//IE
	{
		getMonoIETextData(eNode);
	}
	else
	{
		getMonoNetscapeTextData(eNode);
	}
*/


}

//setWinLoad("deleteLabelSaveText();");


//-->