﻿
//	GetElementById
	function get(id)	{ return document.getElementById(id); }
	function getv(id)	{
		if (get(id)!=null)
			return get(id).value;
		else
			return null
	}
	
//	CheckBrowser
	function checkBrowser()
	{
		var n = navigator.appName;
		if (n.indexOf('Mic') != -1) browser = "IE";
		if (n.indexOf('Net') != -1) browser = "FF";
	}
//	XML
	function parseXML(d,xstr,sp)
	{
		if (xstr==null) return;
		xstr = "<?xml version='1.0' encoding='gb2312'?>" + xstr;
		
		switch(browser) {
			case "IE":
				dd = d; spt = sp;
				xml = new ActiveXObject("MSXML2.DOMDocument");
				xml.async = true;
				xml.onreadystatechange = checkState;
				xsl = new ActiveXObject("MSXML2.DOMDocument");
				xsl.async = true;
				xsl.onreadystatechange = checkState;
				xml.loadXML(xstr);
				break;
			case "FF":
				var parser = new DOMParser();
				xml = parser.parseFromString(xstr,"text/xml");
				Transform(d,sp); break;
		}
	}
//	Load XML
	function loadXML(d,xp,sp)
	{
		switch(browser) {
			case "IE":
				dd = d; spt = sp;
				xml = new ActiveXObject("MSXML2.DOMDocument");
				xml.async = true;
				xml.onreadystatechange = checkState;
				xsl = new ActiveXObject("MSXML2.DOMDocument");
				xsl.async = true;
				xsl.onreadystatechange = checkState;
				xml.load(xp);
				break;
			case "FF":
				var x = new XMLHttpRequest();
				x.open("GET", xp, false);
				x.send(null);
				xml = x.responseXML;
				Transform(d,sp); break;
		}
	}
//  Transform XML
	function Transform(d,sp)
	{
		switch(browser) {
			case "IE":
				
				break;
			case "FF":
				var p = new XSLTProcessor();
				xsl = new XMLHttpRequest();
				xsl.open("GET", sp, false);
				xsl.send(null);
				p.importStylesheet(xsl.responseXML);
				get(d).innerHTML = "";
				get(d).appendChild(p.transformToFragment(xml, document));
				finishXML(d);
				break;
		}
	}
//	CheckState
	function checkState()
	{
		if(onxml)
		{
			if(xml.readyState!=4)
			{
				window.status="Loading XML...";
			}
			else
			{
				onxml = false;
				xsl.load(spt);
			}
		}
		else
		{
			if(xsl.readyState!=4)
			{
				window.status="Loading XSL...";
			}
			else
			{
				window.status="Done!";
				get(dd).innerHTML = xml.transformNode(xsl);
				finishXML(dd);
				onxml = true;
			}
		}
	}
	function finishXML(d)
	{
		if (loading) {
			eval("window.clearInterval(T"+d+")"); loading = false;
		}
		fixDIV(d);
	}
//	Tooltip
	function show_tooltip(nc,n,t,cs,a,w,g,tb)
	{
		var h = "<div id=\'tooltip\' class=\'ToolTip\'><table width=\'100%\' border=\'0\' cellspacing=\'0\' cellpadding=\'0\'>";
		
		h+= "<tr><td class=\'I_NC\'>";
		h+= nc;
		if (g > 1) h+= "<span class=\'I_CG\'> X " + g + "</span>";
		h+= "</td><td class=\'I_CS\' rowspan=\'2\'>";
		h+= cs;
		h+= "</td></tr>";
		
		h+= "<tr><td class=\'I_N\'>";
		h+= n;
		h+= "</td></tr>";
		h+= "<tr><td colspan=\'2\' class=\'I_Sep\'>属性</td></tr>";
		h+= "<tr><td colspan=\'2\' class=\'I_O\'>";
		h+= t;
		h+= "</td></tr>";
		if (w != "")
		{
			h+= "<tr><td colspan=\'2\' class=\'I_W\'>";
			h+= Decode(w);
			h+= "</td></tr>";
		}
		if (a != "")
		{
			h+= "<tr><td colspan=\'2\' class=\'I_Sep\'>附加说明</td></tr>";
			h+= "<tr><td colspan=\'2\' class=\'I_O\'>";
			h+= Decode(a);
			h+= "</td></tr>";
		}
		
		if (tb != "")
		{
			h+= "<tr><td colspan=\'2\' class=\'I_Sep\'>合成部件</td></tr>";
			h+= "<tr><td colspan=\'2\'>" + tb + "</td></tr>";
		}
		
		h+=	"</table></div>";
		
		 overlib(h, VAUTO, HAUTO, FULLHTML);
		 ToolTipSize_Listen();
	}
	
	function Decode(str)
	{
		return str.replace("&lt;","<").replace("&gt;",">");
	}
	function ToolTipSize_Listen()
	{
		var tt = document.getElementById("tooltip");
		if(tt)
		{
			 if(tt.offsetHeight>document.body.scrollHeight-200)
			 {
				 tt.style.width="600px";
			 }
		}
	}
	
