4 var gsInsertBeforeEndHTML="";
\r
5 var sReplaceStringsSrc=new Array();
\r
6 sReplaceStringsSrc[0]="&";
\r
7 sReplaceStringsSrc[1]=">";
\r
8 sReplaceStringsSrc[2]="<";
\r
9 sReplaceStringsSrc[3]=""";
\r
10 sReplaceStringsSrc[4]=" ";
\r
11 var sReplaceStringsDst=new Array();
\r
12 sReplaceStringsDst[0]="&";
\r
13 sReplaceStringsDst[1]=">";
\r
14 sReplaceStringsDst[2]="<";
\r
15 sReplaceStringsDst[3]="\"";
\r
16 sReplaceStringsDst[4]=" ";
\r
17 var goHighLighted=null;
\r
19 function _getRelativePath(strParentPath,strCurrentPath)
\r
21 if(_isAbsPath(strCurrentPath)) return _getPath(strCurrentPath);
\r
22 strParentPath=_replaceSlash(strParentPath);
\r
23 strParentPath=_getPath(strParentPath);
\r
24 strCurrentPath=_replaceSlash(strCurrentPath);
\r
25 strCurrentPath=_getPath(strCurrentPath);
\r
26 for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)
\r
28 if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))
\r
32 strParentPath=strParentPath.substring(i);
\r
33 strCurrentPath=strCurrentPath.substring(i);
\r
38 nPathPos=strParentPath.indexOf("/");
\r
41 strParentPath=strParentPath.substring(nPathPos+1);
\r
42 strCurrentPath="../"+strCurrentPath;
\r
45 return strCurrentPath;
\r
48 function _getRelativeFileName(strParentPath, strCurrentPath)
\r
50 strParentPath=_replaceSlash(strParentPath);
\r
51 strParentPath=_getPath(strParentPath);
\r
52 strCurrentPath=_replaceSlash(strCurrentPath);
\r
53 for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)
\r
55 if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))
\r
59 strParentPath=strParentPath.substring(i);
\r
60 strCurrentPath=strCurrentPath.substring(i);
\r
65 nPathPos=strParentPath.indexOf("/");
\r
68 strParentPath=strParentPath.substring(nPathPos+1);
\r
69 strCurrentPath="../"+strCurrentPath;
\r
72 return strCurrentPath;
\r
75 function _isAbsPathToHost(sPath)
\r
77 return (sPath.indexOf("/")==0);
\r
80 function _getHost(sPath)
\r
82 var nPos=sPath.indexOf("//");
\r
85 var nPosx=sPath.indexOf("/",nPos+2);
\r
87 return sPath.substring(0,nPosx);
\r
94 function _getFullPath(sPath,sRelPath)
\r
96 if(_isAbsPath(sRelPath))
\r
98 else if(_isAbsPathToHost(sRelPath))
\r
99 return _getHost(sPath)+sRelPath;
\r
102 var sFullPath=sPath;
\r
104 while(nPathPos!=-1)
\r
106 var nPathPos=sRelPath.indexOf("../");
\r
109 sRelPath=sRelPath.substring(nPathPos+3);
\r
110 sFullPath=sFullPath.substring(0,sFullPath.length-1);
\r
111 var nPos2 = sFullPath.lastIndexOf("/");
\r
113 sFullPath=sFullPath.substring(0,nPos2+1);
\r
118 sFullPath+=sRelPath;
\r
123 function _isAbsPath(strPath)
\r
125 var strUpper=strPath.toUpperCase();
\r
126 return (strUpper.indexOf(":")!=-1);
\r
129 function _replaceSlash(strURL)
\r
131 var re=new RegExp("\\\\","g");
\r
132 var strReplacedURL=strURL.replace(re,"/");
\r
133 return strReplacedURL;
\r
136 function _getPath(strURL)
\r
138 pathpos=strURL.lastIndexOf("/");
\r
140 return strURL.substring(0,pathpos+1);
\r
145 function removeItemFromArray(oArray,i)
\r
147 if(oArray.length&&i>=0&&i<oArray.length)
\r
149 var len=oArray.length;
\r
150 for(var s=i;s<len-1;s++)
\r
151 oArray[s]=oArray[s+1];
\r
152 oArray.length=len-1;
\r
156 function insertItemIntoArray(oArray,i,obj)
\r
158 if(oArray.length&&i>=0&&i<=oArray.length)
\r
160 var len=oArray.length;
\r
161 for(var s=len;s>i;s--)
\r
162 oArray[s]=oArray[s-1];
\r
167 function loadData(sFileName)
\r
169 if(!getElement("dataDiv"))
\r
171 if(!insertDataDiv())
\r
173 gsFileName=sFileName;
\r
179 sHTML+="<iframe src="+sFileName+"></iframe>";
\r
181 sHTML+="<iframe style=\"visibility:hidden;width:0;height:0\" src="+sFileName+"></iframe>";
\r
183 var oDivCon=getElement("dataDiv");
\r
188 if(oDivCon.getElementsByTagName&&oDivCon.getElementsByTagName("iFrame").length>0)
\r
190 oDivCon.getElementsByTagName("iFrame")[0].src=sFileName;
\r
193 oDivCon.innerHTML=sHTML;
\r
196 oDivCon.innerHTML=sHTML;
\r
200 function loadDataXML(sFileName)
\r
202 var sCurrentDocPath=_getPath(document.location.href);
\r
203 sdocPath=_getFullPath(sCurrentDocPath,sFileName);
\r
206 xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
\r
208 xmlDoc.onreadystatechange=checkState;
\r
209 if(document.body!=null)
\r
210 xmlDoc.load(sdocPath);
\r
214 xmlDoc=document.implementation.createDocument("","",null);
\r
215 xmlDoc.addEventListener("load",initializeData,false);
\r
216 xmlDoc.load(sdocPath,"text/xml");
\r
220 function initializeData()
\r
223 putDataXML(xmlDoc,sdocPath);
\r
226 function checkState()
\r
230 var state=xmlDoc.readyState;
\r
233 var err=xmlDoc.parseError;
\r
234 if(err.errorCode!=0)
\r
237 putDataXML(xmlDoc,sdocPath);
\r
242 function insertDataDiv()
\r
246 sHTML+="<div id=dataDiv style=\"display:none;\"></div>";
\r
248 sHTML+="<div id=dataDiv style=\"visibility:hidden\"></div>";
\r
249 if((gbIE5||gbNav6)&&document.body)
\r
250 document.body.insertAdjacentHTML("beforeEnd",sHTML);
\r
253 gsInsertBeforeEndHTML=sHTML;
\r
254 setTimeout("insertWhenBodyReady();",100);
\r
260 function insertWhenBodyReady()
\r
262 if(gsInsertBeforeEndHTML=="") return;
\r
265 document.body.insertAdjacentHTML("beforeEnd",gsInsertBeforeEndHTML);
\r
266 gsInsertBeforeEndHTML="";
\r
267 loadData(gsFileName);
\r
271 setTimeout("insertWhenBodyReady();",100);
\r
275 function window_BUnload()
\r
277 var oDivCon=getElement("dataDiv");
\r
279 oDivCon.innerHTML="";
\r
282 function removeThis(obj)
\r
285 obj.parentNode.removeChild(obj);
\r
290 function getParentNode(obj)
\r
293 return obj.parentNode;
\r
294 else if(obj.parentElement)
\r
295 return obj.parentElement;
\r
299 function getElement(sID)
\r
301 if(document.getElementById)
\r
302 return document.getElementById(sID);
\r
303 else if(document.all)
\r
304 return document.all(sID);
\r
308 function getChildrenByTag(obj,sTagName)
\r
310 if(obj.getElementsByTagName)
\r
312 var aChildren=new Array();
\r
313 var aElements=getElementsByTag(obj,sTagName);
\r
314 if(aElements!=null)
\r
316 for(var i=0;i<aElements.length;i++)
\r
318 if(aElements[i].parentNode==obj)
\r
319 aChildren[aChildren.length]=aElements[i];
\r
324 return new Array();
\r
326 else if(obj.children)
\r
327 return obj.children.tags(sTagName);
\r
330 function getElementsByTag(obj,sTagName)
\r
332 if(obj.getElementsByTagName)
\r
333 return obj.getElementsByTagName(sTagName);
\r
335 return obj.all.tags(sTagName);
\r
339 function _htmlToText(sHTML)
\r
341 if(sHTML==null) return null;
\r
343 for(var i=0;i<sReplaceStringsSrc.length;i++)
\r
345 var re=new RegExp(sReplaceStringsSrc[i],"g");
\r
346 sText=sText.replace(re,sReplaceStringsDst[i]);
\r
351 function _textToHtml_nonbsp(sText)
\r
353 if(sText==null) return null;
\r
355 for(var i=0;i<sReplaceStringsSrc.length-1;i++)
\r
357 var re=new RegExp(sReplaceStringsDst[i],"g");
\r
358 sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);
\r
363 function _textToHtml(sText)
\r
365 if(sText==null) return null;
\r
367 for(var i=0;i<sReplaceStringsSrc.length;i++)
\r
369 var re=new RegExp(sReplaceStringsDst[i],"g");
\r
370 sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);
\r
376 function getInnerText(obj)
\r
378 var renbsp2sp=new RegExp("\xa0","g");
\r
381 var sText=obj.innerText;
\r
382 sText=sText.replace(renbsp2sp," ");
\r
389 var sValue=obj.nodeValue;
\r
390 sValue=sValue.replace(renbsp2sp," ");
\r
396 var oChild=obj.firstChild;
\r
397 while(oChild!=null)
\r
399 sText+=getInnerText(oChild);
\r
400 oChild=oChild.nextSibling;
\r
408 function HighLightElement(obj,sHighLightColor,sNormalColor)
\r
412 resetHighLight(sNormalColor);
\r
413 obj.style.backgroundColor=sHighLightColor;
\r
418 function resetHighLight(sNormalColor)
\r
420 if(goHighLighted!=null)
\r
422 goHighLighted.style.backgroundColor=sNormalColor;
\r
423 goHighLighted=null;
\r
427 function whFont(sName,sSize,sColor,sStyle,sWeight,sDecoration)
\r
431 this.sColor=sColor;
\r
432 this.sStyle=sStyle;
\r
433 this.sWeight=sWeight;
\r
434 this.sDecoration=sDecoration;
\r
437 function getFontStyle(oFont)
\r
442 sStyle+="font-family:"+oFont.sName+";";
\r
445 var nSize=parseInt(oFont.sSize);
\r
450 sStyle+="font-size:"+nSize+"pt;";
\r
453 sStyle+="font-size:"+oFont.sSize+";";
\r
455 sStyle+="font-style:"+oFont.sStyle+";";
\r
456 sStyle+="font-weight:"+oFont.sWeight+";";
\r
457 sStyle+="text-decoration:"+oFont.sDecoration+";";
\r
458 sStyle+="color:"+oFont.sColor+";";
\r