// eHelp® Corporation Dynamic HTML JavaScript \r
-// Copyright© 1998-2001 eHelp® Corporation.All rights reserved.\r
-// Version=4.57\r
+// Copyright© 1998-2003 eHelp® Corporation.All rights reserved.\r
+// Version=4.82\r
\r
// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten.\r
\r
var gstrBsAgent = navigator.userAgent.toLowerCase();\r
var gnBsVer = parseInt(navigator.appVersion);\r
\r
-var gbBsIE = (gstrBsAgent.indexOf('msie') != -1);\r
-var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1));\r
var gbBsOpera = (gstrBsAgent.indexOf('opera') != -1);\r
+var gbBsKonqueror = (gstrBsAgent.indexOf('konqueror') != -1);\r
+var gbBsSafari = (gstrBsAgent.indexOf('safari') != -1);\r
+var gbBsIE = (gstrBsAgent.indexOf('msie') != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;\r
+var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;\r
+\r
+var gbBsMac = (gstrBsAgent.indexOf('mac') != -1);\r
+var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1));\r
+var gbBsSunOS = (gstrBsAgent.indexOf("sunos") != -1);\r
\r
var gbBsIE3Before = ((gbBsIE) && (gnBsVer <= 2));\r
var gbBsNS3Before = ((gbBsNS) && (gnBsVer <= 3));\r
\r
var gbBsNS4 = ((gbBsNS) && (gnBsVer >= 4));\r
var gbBsNS6 = ((gbBsNS) && (gnBsVer >= 5));\r
+var gbBsNS7 = false;\r
\r
var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4));\r
var gbBsIE5 = false;\r
var gbBsIE55 = false;\r
\r
-gbBsIE = (navigator.appName.indexOf("Microsoft") != -1);\r
+var gbBsOpera6 = false;\r
+var gbBsOpera7 = false;\r
\r
-if (parseInt(navigator.appVersion) >= 4) {\r
- gbBsIE4 = (navigator.appName.indexOf("Microsoft") != -1);\r
+var gbBsKonqueror3 = false;\r
\r
- if (gbBsIE4) {\r
- var nPos = gstrBsAgent.indexOf("msie");\r
- var strIEversion = gstrBsAgent.substring(nPos + 5);\r
- var nVersion = parseFloat(strIEversion);\r
- if (nVersion >= 5)\r
- gbBsIE5 = true;\r
- if (nVersion >= 5.5)\r
- gbBsIE55 = true;\r
+\r
+\r
+gbBsIE = (navigator.appName.indexOf("Microsoft") != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;;\r
+if (gbBsIE)\r
+{\r
+ if (parseInt(navigator.appVersion) >= 4) {\r
+ gbBsIE4 = true;\r
+ if (gbBsIE4) {\r
+ var nPos = gstrBsAgent.indexOf("msie");\r
+ var strIEversion = gstrBsAgent.substring(nPos + 5);\r
+ var nVersion = parseFloat(strIEversion);\r
+ if (nVersion >= 5)\r
+ gbBsIE5 = true;\r
+ if (nVersion >= 5.5)\r
+ gbBsIE55 = true;\r
+ }\r
+ }\r
+}\r
+if (gbBsNS6)\r
+{\r
+ var nPos=gstrBsAgent.indexOf("gecko");\r
+ if(nPos!=-1)\r
+ {\r
+ var nPos2=gstrBsAgent.indexOf("/", nPos);\r
+ if(nPos2!=-1)\r
+ {\r
+ var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1));\r
+ if (nVersion>=20020823)\r
+ gbBsNS7=true;\r
+ }\r
+ } \r
+}\r
+if (gbBsOpera)\r
+{\r
+ var nPos = gstrBsAgent.indexOf("opera");\r
+ if(nPos!=-1)\r
+ {\r
+ var nVersion = parseFloat(gstrBsAgent.substring(nPos+6));\r
+ if (nVersion >= 6)\r
+ {\r
+ gbBsOpera6=true;\r
+ if (nVersion >=7)\r
+ gbBsOpera7=true; \r
+ }\r
+ }\r
+}\r
+if (gbBsKonqueror)\r
+{\r
+ var nPos = gstrBsAgent.indexOf("konqueror");\r
+ if(nPos!=-1)\r
+ {\r
+ var nVersion = parseFloat(gstrBsAgent.substring(nPos+10));\r
+ if (nVersion >= 3)\r
+ {\r
+ gbBsKonqueror3=true;\r
+ }\r
}\r
}\r
\r
-var gbBsMac = (gstrBsAgent.indexOf('mac') != -1);\r
-var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1));\r
-var gbBsOp3 = (gstrBsAgent.indexOf('opera') != -1);\r
+function insertAdjacentHTML(obj, where, htmlStr)\r
+{\r
+ if (gbBsIE || gbBsOpera7)\r
+ {\r
+ obj.insertAdjacentHTML(where, htmlStr);\r
+ }\r
+ else if (gbBsNS6 || gbBsSafari)\r
+ {\r
+ var r = obj.ownerDocument.createRange();\r
+ r.setStartBefore(obj);\r
+ var parsedHTML = r.createContextualFragment(htmlStr);\r
+ \r
+ switch (where){\r
+ case 'beforeBegin':\r
+ obj.parentNode.insertBefore(parsedHTML,obj);\r
+ break;\r
+ case 'afterBegin':\r
+ obj.insertBefore(parsedHTML,obj.firstChild);\r
+ break;\r
+ case 'beforeEnd':\r
+ obj.appendChild(parsedHTML);\r
+ break;\r
+ case 'afterEnd':\r
+ if (obj.nextSibling){\r
+ obj.parentNode.insertBefore(parsedHTML,obj.nextSibling);\r
+ } else {\r
+ obj.parentNode.appendChild(parsedHTML);\r
+ }\r
+ break;\r
+ }\r
+ }\r
+}\r
\r
// Utilities functions.\r
function BsscHasExtJs()\r
gBsOnMouseOuts[nLength] = funcHandler;\r
}\r
\r
-\r
function BsGeneralOnLoad()\r
{\r
if (!gbBsIE4 && !gbBsNS4)\r
{\r
if (!BsscHasExtJs()) return;\r
for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--)\r
- {\r
gBsOnUnLoads[nElement]();\r
- }\r
}\r
\r
function BSSCOnMouseOver()\r
{\r
if (!BsscHasExtJs()) return;\r
for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--)\r
- {\r
gBsOnMouseOvers[nElement]();\r
- }\r
}\r
\r
function BSSCOnMouseOut()\r
}\r
// End of invocation of the event handle functions.\r
\r
-\r
// Add the GereralOnLoad to the onload array.\r
if (typeof(BsscRegisterOnLoad) != "undefined")\r
{\r
{\r
if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0])))\r
{\r
- var objBody = document.all.tags("BODY")[0];\r
+ var objBody = getElementsByTag(document,"BODY")[0];\r
if( typeof(objBody) == "object" )\r
{\r
- objBody.insertAdjacentHTML("beforeEnd", '<OBJECT ID="HHComponentActivator" CLASSID="CLSID:399CB6C4-7312-11D2-B4D9-00105A0422DF" width=0 height=0></OBJECT>');\r
+ insertAdjacentHTML(objBody, "beforeEnd", '<OBJECT ID="HHComponentActivator" CLASSID="CLSID:399CB6C4-7312-11D2-B4D9-00105A0422DF" width=0 height=0></OBJECT>');\r
if (HHComponentActivator.object)\r
HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue);\r
}\r
{\r
if (!g_bIsPopupMenuInit)\r
{\r
- if (gbBsNS4) {\r
+ if (gbBsNS4&&!gbBsNS6) {\r
//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page...\r
- if (gbBsNS6)\r
- document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");\r
- else\r
document.write("<DIV CLASS='WebHelpPopupMenu' ID='PopupMenu'></DIV>");\r
} else{\r
document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");\r
- if (gbBsIE4) {\r
+ if (!(gbBsNS4&&!gbBsNS6)) {\r
document.write("<STYLE TYPE='text/css'>");\r
- if (gbBsMac) {\r
+ if (gbBsMac&&gbBsIE4) {\r
document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:10pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:10pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
} else {\r
}\r
}\r
\r
-//Define variable arguments as: strTitle, strUrl\r
-function MTE() \r
-{\r
- this.strTitle = MTE.arguments[0];\r
- if (MTE.arguments.length > 1)\r
- this.strURL = MTE.arguments[1];\r
- else\r
- this.strURL = this.strTitle;\r
-}\r
-\r
-// If the topic list is set, it is an array of TopicEntry objects (defined in WebHelp3.js)\r
-function PopupMenu_SetTopicList(aPopupTopicArray)\r
-{\r
- gbPopupMenuTopicList = aPopupTopicArray;\r
-}\r
-\r
-\r
//Seek for the bsscright frame \r
function _SeekFrameByName( cRoot, strName )\r
{\r
return null;\r
}\r
\r
+var gfn_arguments = null;\r
function _PopupMenu_Invoke(fn_arguments)\r
{\r
+ gfn_arguments = fn_arguments;\r
+ if (gbBsOpera6&&gbBsMac)\r
+ {\r
+ var wndOldPopupLinks= window.open(document.location.href, "popuplinks");\r
+ wndOldPopupLinks.close();\r
+ setTimeout("_PopupMenu_Invoke_2();",100);\r
+ }\r
+ else\r
+ {\r
+ _PopupMenu_Invoke_2();\r
+ }\r
+}\r
+\r
+function _PopupMenu_Invoke_2()\r
+{\r
+ var fn_arguments = gfn_arguments;\r
+ gfn_arguments = null;\r
+ \r
// Make sure we have reasonable arguments\r
var argLen = fn_arguments.length;\r
if (argLen < 3) {\r
strTarget = "TARGET='" + fn_arguments[1] + "'";\r
}\r
\r
- if ((!gbBsIE4 && !gbBsNS4) || ((gbBsMac) && (gbBsIE4) && (window.event.srcElement.tagName == "AREA"))) {\r
+ if ((!gbBsIE4 && !gbBsNS4 && !gbBsOpera7 && !gbBsKonqueror3 &&!gbBsSafari) || ((gbBsMac) && (gbBsIE4) && (window.event.srcElement.tagName == "AREA"))) {\r
\r
var argLen = fn_arguments.length;\r
\r
strParam += ",height=" + nHeight + ",width=200";\r
strParam += ",resizable";\r
\r
+ var wndTemp=null;\r
// Create a temporary window first to ensure the real popup comes up on top\r
- var wndTemp = window.open("", "temp", strParam);\r
+ if (!gbBsOpera)\r
+ wndTemp = window.open("", "temp", strParam);\r
\r
// Create the real popup window\r
- var wndPopupLinks = window.open("", "popuplinks", strParam);\r
+ var wndPopupLinks=null;\r
+ if (gbBsOpera&&gbBsMac)\r
+ {\r
+ wndTemp = window.open(document.location.href, "temp", strParam);\r
+ wndPopupLinks= window.open(document.location.href, "popuplinks", strParam);\r
+ }\r
+ else\r
+ wndPopupLinks= window.open("", "popuplinks", strParam);\r
+ wndPopupLinks.document.open("text/html");\r
\r
// Close the temporary\r
- wndTemp.close();\r
+ if (wndTemp)\r
+ wndTemp.close();\r
\r
- wndPopupLinks.document.open("text/html");\r
- wndPopupLinks.document.write("<html><head></head>");\r
- wndPopupLinks.document.write("<body onBlur=\'self.focus();\'>");\r
+ var sHTML="<html><head></head>";\r
+ sHTML+="<body onBlur=\'self.focus();\'>";\r
var strParaLine = "";\r
for (var i = 0; i < (argLen - 2) / 2; i++) {\r
strParaLine = "";\r
strParaLine += fn_arguments[2 * i + 2];\r
strParaLine += "</a>";\r
strParaLine += "<br>";\r
- wndPopupLinks.document.write(strParaLine);\r
+ sHTML+=strParaLine;\r
}\r
- wndPopupLinks.document.write("</body></html>");\r
+ sHTML+="</body></html>";\r
+ wndPopupLinks.document.write(sHTML);\r
wndPopupLinks.document.close();\r
window.gbInPopupMenu = true;\r
if (!gbBsIE) {\r
wndPopupLinks.focus();\r
}\r
-\r
return false;\r
}\r
\r
-\r
if (((argLen < 5) && ((isNaN(fn_arguments[2])) || (gbPopupMenuTopicList == null))) ||\r
((argLen < 4) && ((!isNaN(fn_arguments[2])) && (gbPopupMenuTopicList != null)))) {\r
// Get the place that we will be putting the topic into\r
}\r
\r
var strMenu = "";\r
- if (gbBsNS4) {\r
+ if (gbBsNS4&&!gbBsNS6) {\r
strMenu = '<TABLE BORDER="1" CELLSPACING=0 CELLPADDING=3 BGCOLOR="#c0c0c0">';\r
} else {\r
strMenu = '<TABLE STYLE="border:2px outset white;" CELLSPACING=0';\r
var nEventX = 0;\r
var nEventY = 0;\r
var nWindowWidth = 0;\r
- if (gbBsIE4) {\r
+ if (gbBsIE4 || gbBsOpera7) {\r
\r
- layerPopup = document.all["PopupMenu"];\r
+ layerPopup = getElement("PopupMenu");\r
layerPopup.innerHTML = strMenu;\r
stylePopup = layerPopup.style;\r
\r
gOlddocumentClick = document.onclick;\r
document.onclick = PopupMenu_HandleClick;\r
\r
- } else if (gbBsNS6) {\r
- layerPopup = document.getElementById("PopupMenu");\r
+ } else if (gbBsNS6 || gbBsKonqueror3||gbBsSafari) {\r
+ layerPopup = getElement("PopupMenu");\r
layerPopup.style.visibility = "hidden";\r
\r
- var e = fn_arguments[0];\r
- nEventX = e.pageX;\r
- nEventY = e.pageY;\r
+ if (gbBsNS6)\r
+ {\r
+ var e = fn_arguments[0];\r
+ nEventX = e.pageX;\r
+ nEventY = e.pageY;\r
+ }\r
+ else\r
+ {\r
+ nEventX = window.event.clientX;\r
+ nEventY = window.event.clientY;\r
+ }\r
_BSPSGetClientSize();\r
layerPopup.innerHTML = strMenu;\r
\r
return false;\r
}\r
\r
-\r
function PopupMenu_Timeout()\r
{\r
window.gbPopupMenuTimeoutExpired = true;\r
\r
function PopupMenu_Over(e)\r
{\r
- if (gbBsIE4) {\r
+ if (gbBsIE4||gbBsOpera7)\r
e.srcElement.className = "PopupOver";\r
- } else if (gbBsNS4) {\r
-// this.bgColor = "red";\r
-// e.target.document.className = "PopupOver";\r
- }\r
+ else if (gbBsNS6)\r
+ e.target.parentNode.className = "PopupOver";\r
return;\r
}\r
\r
function PopupMenu_Out(e)\r
{\r
- if (gbBsIE4) {\r
+ if (gbBsIE4||gbBsOpera7)\r
e.srcElement.className = "PopupNotOver";\r
- } else if (gbBsNS4) {\r
- this.bgColor = "#f0f0f0";\r
- }\r
+ else if (gbBsNS6)\r
+ e.target.parentNode.className = "PopupNotOver";\r
return;\r
}\r
\r
-\r
function PopupMenu_HandleClick(e)\r
{\r
if (window.gbPopupMenuTimeoutExpired) {\r
-\r
window.gbInPopupMenu = false;\r
-\r
if (gbBsNS4 && !gbBsNS6) {\r
window.releaseEvents(Event.MOUSEDOWN);\r
}\r
\r
var layerPopup = null;\r
- var stylePopup = null;\r
- if (gbBsIE4) {\r
- layerPopup = document.all["PopupMenu"];\r
- stylePopup = layerPopup.style;\r
- stylePopup.visibility = "hidden";\r
- } else if (gbBsNS6) {\r
- layerPopup = document.getElementById("PopupMenu");\r
- layerPopup.style.visibility = "hidden";\r
- } else if (gbBsNS4) {\r
+ if (gbBsNS4&&!gbBsNS6) {\r
layerPopup = document.layers.PopupMenu;\r
layerPopup.visibility = "hide";\r
+ } else {\r
+ layerPopup = getElement("PopupMenu");\r
+ layerPopup.style.visibility = "hidden";\r
}\r
\r
if (gOlddocumentClick)\r
return;\r
}\r
\r
-// This function should be deleted when all old projects are cleaned up\r
-function BSPSWritePopupFrameForIE4()\r
-{\r
- return false;\r
-}\r
-\r
-/////////////////////////////////////////////////////////////////////\r
function BSSCPopup_ClickMac()\r
{\r
- if ((!DHTMLPopupSupport()) && (gbBsIE4))\r
+ if ((!DHTMLPopupSupport()) && (gbBsIE4 || gbBsOpera7))\r
{ \r
var bClickOnAnchor = false;\r
var el;\r
if (el.tagName == "BODY") {\r
break;\r
}\r
- el = el.parentElement;\r
+ el = getParentNode(el);\r
}\r
}\r
if (BSSCPopup_IsPopup())\r
}\r
}\r
}\r
- }\r
-\r
-//////////////////////////////////////////////////////////////////////\r
+}\r
\r
function BsPopupOnClick()\r
{\r
- if (!gbBsIE4)\r
+ if (!gbBsIE4 && !gbBsOpera7)\r
return;\r
\r
BSSCPopup_ClickMac();\r
\r
//End to support previous relative topics\r
\r
-\r
/// Section End - General and relative topics (JavaScript 1.0)\r
\r
/// Section Begin - Popup (JavaScript 1.0)\r
-\r
//Begin to support previous popup functions\r
-//////////////////////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Begin DHTML Popup Functions\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////////\r
+\r
//variables used to isolate the browser type\r
-var gBsDoc = null; \r
-var gBsSty = null;\r
-var gBsHtm = null;\r
var gBsStyVisShow = null;\r
var gBsStyVisHide = null;\r
var gBsClientWidth = 640;\r
var gBsClientHeight = 480;\r
-var gBsBrowser = null;\r
\r
// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others.\r
var gBRateH_W = 0.618; // 1.618 Golden cut.\r
\r
function getPopupTopicStyle(nIndex)\r
{\r
- return eval("document.all['" + getPopupTopicID(nIndex) + "']").style;\r
+ return getElement(getPopupTopicID(nIndex)).style;\r
}\r
\r
function getPopupShadowStyle(nIndex)\r
{\r
- return eval("document.all['" + getPopupShadowID(nIndex) + "']").style;\r
+ return getElement(getPopupShadowID(nIndex)).style;\r
}\r
\r
function getPopupIFrame(nIndex)\r
{\r
-\r
- return eval("document.frames['" + getPopupIFrameName(nIndex) + "']");\r
+ if (gbBsNS6)\r
+ return eval("window.frames['" + getPopupIFrameName(nIndex) + "']");\r
+ else\r
+ return eval("document.frames['" + getPopupIFrameName(nIndex) + "']");\r
}\r
\r
function getPopupDivStyle(nIndex)\r
{\r
- return eval("document.all['" + getPopupID(nIndex) + "']").style;\r
+ return getElement(getPopupID(nIndex)).style;\r
}\r
\r
function getPopupIFrameStyle(nIndex)\r
{\r
- return eval("document.all['" + getPopupIFrameName(nIndex) + "'].style");\r
+ return getElement(getPopupIFrameID(nIndex)).style;\r
}\r
\r
\r
function findDiv(strURL)\r
{\r
- var i = 0;\r
- for (i = 0; i < arrayPopupURL.length; i ++ ) {\r
+ for (var i = 0; i < arrayPopupURL.length; i ++ ) {\r
if (arrayPopupURL[i] == strURL) {\r
return i;\r
}\r
\r
function addDiv(strURL)\r
{\r
- var i = 0; \r
- for (i = 0; i < arrayPopupURL.length; i ++) {\r
+ for (var i = 0; i < arrayPopupURL.length; i ++) {\r
if (arrayPopupURL[i] == null) {\r
arrayPopupURL[i] = strURL;\r
return i;\r
\r
function setDirty()\r
{\r
- var i = 0;\r
- for (i = 0; i < arrayPopupURL.length; i ++ )\r
+ for (var i = 0; i < arrayPopupURL.length; i ++ )\r
arrayDirty[i] = true;\r
}\r
\r
\r
function hideAll()\r
{\r
- var i = 0; \r
- for (i = 0; i < arrayPopupURL.length; i ++ )\r
+ for (var i = 0; i < arrayPopupURL.length; i ++ )\r
+ {\r
getPopupDivStyle(i).visibility = gBsStyVisHide;\r
+ getPopupIFrameStyle(i).visibility = gBsStyVisHide;\r
+ }\r
}\r
\r
function getCurrentPopupIFrame()\r
{\r
- var i = 0;\r
- for (i = 0; i < arrayPopupURL.length; i ++)\r
+ for (var i = 0; i < arrayPopupURL.length; i ++)\r
if (getPopupDivStyle(i).visibility == gBsStyVisShow)\r
return getPopupIFrame(i);\r
return null;\r
}\r
}\r
return nIndex;\r
-\r
}\r
\r
-//the browser information itself\r
-function _BSPSBrowserItself()\r
+//Here is the browser type \r
+function _BSPSGetBrowserInfo()\r
{\r
- var agent = navigator.userAgent.toLowerCase();\r
- this.major = parseInt(navigator.appVersion);\r
- this.minor = parseFloat(navigator.appVersion);\r
- this.ns = ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1)));\r
- this.ns2 = ((this.ns) && (this.major == 2));\r
- this.ns3 = ((this.ns) && (this.major == 3));\r
- this.ns4 = ((this.ns) && (this.major >= 4));\r
- this.ns6 = ((this.ns) && (this.major >= 5));\r
- this.ie = (agent.indexOf("msie") != -1);\r
- this.ie3 = ((this.ie) && (this.major == 2));\r
- this.ie4 = ((this.ie) && (this.major >= 4));\r
- this.op3 = (agent.indexOf("opera") != -1);\r
-\r
- if (this.ns4)\r
+ if (gbBsNS4&&!gbBsNS6)\r
{\r
- gBsDoc = "document";\r
- gBsSty = "";\r
- gBsHtm = ".document";\r
gBsStyVisShow = "show";\r
gBsStyVisHide = "hide";\r
-\r
}\r
- else if (this.ie4)\r
+ else\r
{\r
- gBsDoc = "document.all";\r
- gBsSty = ".style";\r
- gBsHtm = "";\r
gBsStyVisShow = "visible";\r
gBsStyVisHide = "hidden";\r
}\r
}\r
\r
-//Here is the browser type \r
-function _BSPSGetBrowserInfo()\r
-{\r
- gBsBrowser = new _BSPSBrowserItself();\r
-}\r
-\r
_BSPSGetBrowserInfo();\r
\r
//Get client size info\r
function _BSPSGetClientSize()\r
{\r
- if (gBsBrowser.ns4)\r
+ if (gbBsNS4||gbBsKonqueror3||gbBsSafari)\r
{\r
gBsClientWidth = innerWidth;\r
gBsClientHeight = innerHeight;\r
-\r
}\r
- else if (gBsBrowser.ie4)\r
+ else if (gbBsIE4 || gbBsOpera7)\r
{\r
gBsClientWidth = document.body.clientWidth;\r
gBsClientHeight = document.body.clientHeight;\r
}\r
}\r
\r
-\r
var gstrPopupID = 'BSSCPopup';\r
var gstrPopupShadowID = 'BSSCPopupShadow';\r
var gstrPopupTopicID = 'BSSCPopupTopic';\r
\r
var gbPopupTimeoutExpired = false;\r
\r
-\r
function DHTMLPopupSupport()\r
{\r
- if ((gbBsIE4) && (!gbBsMac)) {\r
+ if (((gbBsIE4) && (!gbBsMac))||gbBsOpera7|| gbBsNS7) {\r
return true;\r
}\r
return false;\r
}\r
\r
-\r
-\r
function BSSCPopup_IsPopup()\r
{\r
if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) {\r
return true;\r
- } else if ((gbBsNS4 || gbBsIE4) && (this.name.indexOf(gstrPopupID) != -1)) {\r
+ } else if ((gbBsNS4 || gbBsIE4 || gbBsOpera7) && (this.name.indexOf(gstrPopupID) != -1)) {\r
return true;\r
} else {\r
return false;\r
}\r
}\r
\r
-\r
// If there is a hyperlink in a popup window, display the hyperlink in\r
-// the original window.\r
-if (BSSCPopup_IsPopup() && !gbBsIE4) {\r
- document.write("<base target=\"_parent\">");\r
+// the original window. (bsscright)\r
+if (BSSCPopup_IsPopup() && !gbBsIE4 && !gbBsOpera7) {\r
+ document.write("<base target=\"bsscright\">");\r
}\r
\r
// Local functions.\r
strPopupDiv += "<IFRAME title=\"Popup Window\" ID='" + getPopupIFrameID(nIndex) + "' name='" + getPopupIFrameName(nIndex) + "' src = '" + getPopupURL(nIndex) + "' frameborder=0 scrolling=auto></IFRAME>";\r
strPopupDiv += "</DIV></DIV>";\r
\r
- var objBody = document.all.tags("BODY")[0];\r
+ var objBody = getElementsByTag(document, "BODY")[0];\r
if( typeof(objBody) != "object" )\r
return;\r
\r
- objBody.insertAdjacentHTML("beforeEnd", strPopupDiv);\r
+ insertAdjacentHTML(objBody, "beforeEnd", strPopupDiv);\r
}\r
\r
-function BSSCPopup_Timeout(nIndex, nToken)\r
+function handleLoadNS()\r
{\r
- if (!IsValidToken(nToken)) return;\r
+ if (this.id)\r
+ {\r
+ var nIndex = parseInt(this.id.substring(gstrPopupIFrameID.length));\r
+ BSSCPopup_PostWork(nIndex);\r
+ }\r
+}\r
\r
- if ((getPopupIFrame(nIndex).document.readyState == "complete") &&\r
- (getPopupIFrame(nIndex).document.body != null)) {\r
- window.getPopupDivStyle(nIndex).visibility = gBsStyVisShow;\r
- setClear(nIndex);\r
- window.gbPopupTimeoutExpired = true;\r
+function BSSCPopup_PostWork(nIndex)\r
+{\r
+ getPopupDivStyle(nIndex).visibility = gBsStyVisShow;\r
+ getPopupIFrameStyle(nIndex).visibility =gBsStyVisShow;\r
\r
- BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document);\r
+ setClear(nIndex);\r
+ window.gbPopupTimeoutExpired = true;\r
+\r
+ BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document);\r
+ if (gbBsNS6)\r
+ getPopupIFrame(nIndex).document.body.addEventListener("click",BSSCPopupClicked,false);\r
+ else\r
getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked;\r
\r
- if (!gbOrignalOnMouseDown && document.onmousedown)\r
- gbOrignalOnMouseDown = document.onmousedown;\r
+ if (!gbOrignalOnMouseDown && document.onmousedown)\r
+ gbOrignalOnMouseDown = document.onmousedown;\r
\r
+ if (gbBsNS6)\r
+ document.addEventListener("mousedown", BSSCPopupParentClicked,false);\r
+ else\r
document.onmousedown = BSSCPopupParentClicked;\r
+}\r
+\r
+function BSSCPopup_Timeout(nIndex, nToken)\r
+{\r
+ if (!IsValidToken(nToken)) return;\r
\r
+ if (gbBsNS6||((getPopupIFrame(nIndex).document.readyState == "complete") &&\r
+ (getPopupIFrame(nIndex).document.body != null))) {\r
+ BSSCPopup_PostWork(nIndex);\r
} else {\r
setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100);\r
}\r
}\r
\r
-\r
// VH 08/10/00 \r
// do not change target to parent if the href is using javascript\r
function BSSCPopup_ChangeTargettoParent(tagsObject)\r
{\r
- var collA = tagsObject.all.tags("A");\r
+ var collA = getElementsByTag(tagsObject, "A");\r
BSSCPopup_ChangeTargettoParent2(collA);\r
\r
- var collIMG = tagsObject.all.tags("IMG");\r
+ var collIMG = getElementsByTag(tagsObject,"IMG");\r
BSSCPopup_ChangeTargettoParent2(collIMG);\r
}\r
\r
function BSSCPopup_ChangeTargettoParent2(colls)\r
{\r
- var j = 0;\r
if (colls != null) {\r
- for (j = 0; j < colls.length; j ++ )\r
+ for (var j = 0; j < colls.length; j ++ )\r
{\r
var strtemp = colls[j].href;\r
- strtemp = strtemp.toLowerCase();\r
- if (strtemp.indexOf("javascript:") == -1)\r
- if (colls[j].target == "")\r
- colls[j].target = "_parent";\r
+ if (strtemp)\r
+ {\r
+ strtemp = strtemp.toLowerCase();\r
+ if (strtemp.indexOf("javascript:") == -1)\r
+ if (colls[j].target == "")\r
+ colls[j].target = "_parent";\r
+ }\r
}\r
-\r
}\r
}\r
\r
}\r
\r
if (DHTMLPopupSupport()) {\r
- // If we are already in a popup, replace the contents\r
- // if (BSSCPopup_IsPopup()) {\r
- // parent._BSSCPopup(strURL, cuswidth, cusheight);\r
- // } else {\r
- var nToken = takeToken(); // take token first.\r
- var nIndex = _BSSCCreatePopupDiv(strURL);\r
- window.gbPopupTimeoutExpired = false;\r
- var ntWidth = gBsClientWidth;\r
- var ntHeight = gBsClientHeight;\r
- _BSPSGetClientSize();\r
- if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) {\r
- setDirty();\r
- }\r
-\r
+ var nToken = takeToken(); // take token first.\r
+ var nIndex = _BSSCCreatePopupDiv(strURL);\r
+ window.gbPopupTimeoutExpired = false;\r
+ var ntWidth = gBsClientWidth;\r
+ var ntHeight = gBsClientHeight;\r
+ _BSPSGetClientSize();\r
+ if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) {\r
+ setDirty();\r
+ }\r
\r
- if (IsDirty(nIndex)) {\r
- if (gbBsMac) {\r
- setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400);\r
- } else {\r
- setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100);\r
- }\r
- }\r
- else {\r
- MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight);\r
+ if (IsDirty(nIndex)) {\r
+ if (gbBsMac) {\r
+ setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400);\r
+ } else {\r
+ setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100);\r
}\r
- // }\r
-\r
+ }\r
+ else {\r
+ MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight);\r
+ }\r
} else {\r
_BSSCPopup2(strURL, cuswidth, cusheight);\r
}\r
if (gbBsIE55)\r
{\r
var ehlpdhtm_fOldBefureUnload = window.onbeforeunload;\r
+ var gnBsUnload=0;\r
window.onbeforeunload = window_BUnload;\r
}\r
\r
function window_BUnload()\r
{\r
+ gnBsUnload++;\r
+ if (gnBsUnload>1)\r
+ return;\r
for (var i = 0; i < arrayPopupURL.length; i ++)\r
- document.all(getPopupID(i)).outerHTML = "";\r
+ removeThis(document.all(getPopupID(i)));\r
arrayPopupURL.length = 0; \r
if (ehlpdhtm_fOldBefureUnload)\r
ehlpdhtm_fOldBefureUnload();\r
}\r
\r
function _BSSCPopup2(strURL, width, height)\r
+{\r
+ if (gbBsOpera6&&gbBsMac)\r
+ {\r
+ var wmTemp = window.open(document.location.href, gstrPopupSecondWindowName);\r
+ wmTemp.close();\r
+ setTimeout("_BSSCPopup3(\""+strURL+"\","+width+","+height+");",100);\r
+ }\r
+ else\r
+ _BSSCPopup3(strURL, width, height);\r
+}\r
+ \r
+function _BSSCPopup3(strURL, width, height)\r
{\r
if (window.name == gstrPopupSecondWindowName) {\r
window.location = strURL;\r
} else {\r
- if (!gbBsMac || !gBsBrowser.ns4) {\r
+ if (!gbBsMac || !gbBsNS4) {\r
BSSCHidePopupWindow();\r
}\r
var nX = 0;\r
if (nX + nWidth + 40 > screen.availWidth) {\r
nX = screen.availWidth - nWidth - 40;\r
}\r
+\r
// Launch a separate window\r
- var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes";\r
- if (gBsBrowser.ns) {\r
- if (gBsBrowser.ns6) {\r
+ var strParam="titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes";\r
+ if (gbBsNS) {\r
+ if (gbBsNS6) {\r
strParam += ",Height=" + nHeight + ",Width=" + nWidth;\r
strParam += ",screenX=" + nX + ",screenY=" + nY;\r
+ strParam += ",dependent=yes";\r
}\r
else {\r
strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth;\r
strParam += ",height=" + nHeight + ",width=" + nWidth;\r
strParam += ",left=" + nX + ",top=" + nY;\r
}\r
- window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam);\r
-\r
- if (gBsBrowser.ns4) {\r
- window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUE);\r
- window.gPopupWindow.onclick = NonIEPopup_HandleClick;\r
- window.gPopupWindow.onblur = NonIEPopup_HandleBlur;\r
- }\r
- else if (gBsBrowser.ie4)\r
+ if (gbBsSafari)\r
{\r
- setTimeout("setPopupFocus();", 100);\r
+ if (window.gPopupWindow)\r
+ window.gPopupWindow.close(); \r
+ window.gPopupWindow = window.open(strURL, "", strParam);\r
+ window.gPopupWindow.name = gstrPopupSecondWindowName;\r
+ window.gPopupWindow.moveTo(nX, nY);\r
+ widnow.gPopupWindow.document.location.reload();\r
+ } \r
+ else\r
+ {\r
+ var wmTemp=null;\r
+ if (gbBsKonqueror3)\r
+ {\r
+ if (window.gPopupWindow)\r
+ window.gPopupWindow.close();\r
+ }\r
+ if (gbBsOpera&&gbBsMac)\r
+ {\r
+ wmTemp= window.open(document.location.href, "Temp", strParam);\r
+ }\r
+ window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam);\r
+ if (!gbBsIE)\r
+ window.gPopupWindow.focus();\r
+ \r
+ if (wmTemp)\r
+ wmTemp.close();\r
}\r
+\r
+ if (gbBsNS4)\r
+ setEventHandle();\r
+ else if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3)\r
+ setTimeout("setPopupFocus();", 100);\r
}\r
return;\r
}\r
\r
+function setEventHandle()\r
+{\r
+ window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUR);\r
+ window.gPopupWindow.onclick = NonIEPopup_HandleClick;\r
+ window.gPopupWindow.onblur = NonIEPopup_HandleBlur;\r
+}\r
+\r
function setPopupFocus()\r
{\r
window.gPopupWindow.focus();\r
}\r
\r
// Close the popup window\r
- if (e.target.href) {\r
- if (e.target.target == "")\r
- window.location.href = e.target.href;\r
- else\r
- window.open(e.target.href, e.target.target);\r
- \r
- if (e.target.href.indexOf("javascript:void(0)") == -1 && e.target.href.indexOf("javascript:null") == -1 && e.target.href.indexOf("BsscPopup") == -1) {\r
+ if(e.target.href)\r
+ {\r
+ if(e.target.href.indexOf("javascript:")==-1) \r
+ {\r
+ if (e.target.target=="")\r
+ window.location.href = e.target.href;\r
+ else\r
+ window.open(e.target.href, e.target.target);\r
this.close();\r
}\r
- } else {\r
+ } \r
+ else\r
this.close();\r
- }\r
return false;\r
-\r
}\r
\r
function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight)\r
{ \r
- if (typeof(window.getPopupIFrame(nIndex).document) == "unknown") {\r
+ if (!window.getPopupIFrame(nIndex).document) {\r
_BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight);\r
return;\r
}\r
+ \r
if (!IsValidToken(nToken)) return;\r
\r
+ if (gbBsNS6)\r
+ {\r
+ setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url.\r
+ BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight);\r
+ return;\r
+ }\r
+ \r
if ((window.getPopupIFrame(nIndex).document.readyState == "complete") &&\r
(window.getPopupIFrame(nIndex).document.body != null)) {\r
if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe.\r
}\r
}\r
\r
-\r
function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight)\r
{\r
if (window.gbPopupTimeoutExpired) return;\r
if (!IsValidToken(nToken)) return;\r
\r
getPopupDivStyle(nIndex).visibility = gBsStyVisHide;\r
+ getPopupIFrameStyle(nIndex).visibility = gBsStyVisHide;\r
\r
// Determine the width and height for the window\r
- //var size = new BSSCSize(0, 0);\r
- //BSSCGetContentSize(window.getPopupIFrame(nIndex), size);\r
- //var nWidth = size.x;\r
- //var nHeight = size.y;\r
-\r
_BSPSGetClientSize();\r
- \r
+\r
var size = new BSSCSize(0, 0);\r
\r
if (cuswidth <= 0 || cusheight <= 0)\r
// for small popup size, we should allow any size.\r
// The popup size should be ok if bigger than 0\r
if (nWidth < 0 || nHeight < 0) return; // there must be something terribly wrong. \r
- // if (nWidth < 40 || nHeight < 40) return; // there must be something terribly wrong.\r
\r
- window.getPopupDivStyle(nIndex).pixelWidth = nWidth;\r
- window.getPopupDivStyle(nIndex).pixelHeight = nHeight;\r
+ getPopupDivStyle(nIndex).width = nWidth;\r
+ getPopupDivStyle(nIndex).height = nHeight;\r
\r
- window.getPopupShadowStyle(nIndex).pixelWidth = nWidth;\r
- window.getPopupShadowStyle(nIndex).pixelHeight = nHeight;\r
- window.getPopupTopicStyle(nIndex).pixelWidth = nWidth;\r
- window.getPopupTopicStyle(nIndex).pixelHeight = nHeight;\r
+ getPopupShadowStyle(nIndex).width = nWidth;\r
+ getPopupShadowStyle(nIndex).height = nHeight;\r
+ getPopupTopicStyle(nIndex).width = nWidth;\r
+ getPopupTopicStyle(nIndex).height = nHeight;\r
if (gbBsIE55)\r
{\r
- window.getPopupShadowStyle(nIndex).pixelWidth = nWidth + 2;\r
- window.getPopupShadowStyle(nIndex).pixelHeight = nHeight + 2;\r
- window.getPopupTopicStyle(nIndex).pixelWidth = nWidth + 2;\r
- window.getPopupTopicStyle(nIndex).pixelHeight = nHeight + 2;\r
+ getPopupShadowStyle(nIndex).width = nWidth + 2;\r
+ getPopupShadowStyle(nIndex).height = nHeight + 2;\r
+ getPopupTopicStyle(nIndex).width = nWidth + 2;\r
+ getPopupTopicStyle(nIndex).height = nHeight + 2;\r
}\r
\r
- window.getPopupIFrameStyle(nIndex).pixelWidth = nWidth;\r
- window.getPopupIFrameStyle(nIndex).pixelHeight = nHeight;\r
- if (gbBsIE55)\r
+ getPopupIFrameStyle(nIndex).width = nWidth;\r
+ getPopupIFrameStyle(nIndex).height = nHeight;\r
+ if (gbBsIE55 || gbBsNS6)\r
{\r
- window.getPopupIFrameStyle(nIndex).top = 0;\r
- window.getPopupIFrameStyle(nIndex).left = 0;\r
+ getPopupIFrameStyle(nIndex).top = 0;\r
+ getPopupIFrameStyle(nIndex).left = 0;\r
}\r
\r
var strURL = getPopupURL(nIndex);\r
- if (strURL.indexOf("#") != -1)\r
+ if (strURL.indexOf("#") != -1&&gbBsNS6)\r
+ getPopupIFrame(nIndex).location.reload();\r
+ else if (strURL.indexOf("#") != -1||gbBsNS6)\r
getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5.\r
\r
MoveDivAndShow(nIndex, nToken, cuswidth, cusheight);\r
}\r
\r
+function getScrollLeft()\r
+{\r
+ if (document.body.scrollLeft)\r
+ return document.body.scrollLeft;\r
+ else if (window.pageXOffset)\r
+ return window.pageXOffset;\r
+ else\r
+ return 0;\r
+}\r
+\r
+function getScrollTop()\r
+{\r
+ if (document.body.scrollTop)\r
+ return document.body.scrollTop;\r
+ else if (window.pageYOffset)\r
+ return window.pageYOffset;\r
+ else\r
+ return 0;\r
+}\r
+\r
+\r
function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight)\r
{\r
if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again.\r
var nTop = 0;\r
var nLeft = 0;\r
\r
- var nWidth = window.getPopupDivStyle(nIndex).pixelWidth;\r
- var nHeight = window.getPopupDivStyle(nIndex).pixelHeight;\r
+ var nWidth = parseInt(getPopupDivStyle(nIndex).width);\r
+ var nHeight = parseInt(getPopupDivStyle(nIndex).height);\r
\r
- if (nClickY + nHeight + 20 < gBsClientHeight + document.body.scrollTop) {\r
+ if (nClickY + nHeight + 20 < gBsClientHeight + getScrollTop()) {\r
nTop = nClickY + 10;\r
} else {\r
- nTop = (document.body.scrollTop + gBsClientHeight) - nHeight - 20;\r
+ nTop = (getScrollTop() + gBsClientHeight) - nHeight - 20;\r
}\r
- if (nClickX + nWidth < gBsClientWidth + document.body.scrollLeft) {\r
+ if (nClickX + nWidth < gBsClientWidth + getScrollLeft()) {\r
nLeft = nClickX;\r
} else {\r
- nLeft = (document.body.scrollLeft + gBsClientWidth) - nWidth - 8;\r
+ nLeft = (getScrollLeft() + gBsClientWidth) - nWidth - 8;\r
}\r
- \r
- if (nTop < document.body.scrollTop ) nTop = document.body.scrollTop + 1;\r
- if (nLeft< document.body.scrollLeft) nLeft = document.body.scrollLeft + 1;\r
\r
+ if (nTop < getScrollTop()) nTop = getScrollTop() + 1;\r
+ if (nLeft< getScrollLeft()) nLeft = getScrollLeft() + 1;\r
\r
- window.getPopupDivStyle(nIndex).left = nLeft;\r
- window.getPopupDivStyle(nIndex).top = nTop;\r
+ getPopupDivStyle(nIndex).left = nLeft;\r
+ getPopupDivStyle(nIndex).top = nTop;\r
\r
// Set the location of the background blocks\r
- window.getPopupShadowStyle(nIndex).left = 6;\r
- window.getPopupShadowStyle(nIndex).top = 6;\r
+ getPopupShadowStyle(nIndex).left = 6;\r
+ getPopupShadowStyle(nIndex).top = 6;\r
if (gbBsIE55)\r
{\r
- window.getPopupShadowStyle(nIndex).left = 4;\r
- window.getPopupShadowStyle(nIndex).top = 4;\r
+ getPopupShadowStyle(nIndex).left = 4;\r
+ getPopupShadowStyle(nIndex).top = 4;\r
}\r
\r
- if (gbBsMac) {\r
+ if (gbBsMac&&gbBsIE4) {\r
// Total hack on the iMac to get the IFrame to position properly\r
- window.getPopupIFrameStyle(nIndex).pixelLeft = 100;\r
- window.getPopupIFrameStyle(nIndex).pixelLeft = 0;\r
+ getPopupIFrameStyle(nIndex).pixelLeft = 100;\r
+ getPopupIFrameStyle(nIndex).pixelLeft = 0;\r
// Explicitly call BSSCOnLoad because the Mac doesn't seem to do it\r
- window.getPopupIFrame(nIndex).window.BSSCOnLoad();\r
+ getPopupIFrame(nIndex).window.BSSCOnLoad();\r
}\r
\r
- BSSCPopup_Timeout(nIndex , nToken );\r
- \r
+ if (gbBsNS6&&IsDirty(nIndex))\r
+ getElement(getPopupIFrameID(nIndex)).addEventListener("load", handleLoadNS, false);\r
+ else\r
+ BSSCPopup_Timeout(nIndex , nToken );\r
return;\r
}\r
\r
\r
function BSSCGetContentSize(thisWindow, size)\r
{\r
- if (!((gBsBrowser.ie4) || (gBsBrowser.ns4)))\r
+ if (!gbBsIE4 && !gbBsOpera7 && !gbBsNS4)\r
return;\r
\r
- if (gbBsMac) {\r
- size.x = 300;\r
- size.y = 300;\r
+ if ((gbBsMac&&gbBsIE4)||gbBsNS4||gbBsOpera7) {\r
+ size.x = 320;\r
+ size.y = 180;\r
return;\r
}\r
\r
\r
var ClientRate = gBsClientHeight / gBsClientWidth;\r
\r
+ \r
var GoldenSize = new BSSCSize(0,0);\r
GoldenSize.x = gBsClientWidth * gBMaxXOfParent;\r
GoldenSize.y = gBsClientHeight *gBMaxYOfParent ;\r
// This double resize causes the document to re-render (and we need it to)\r
if (!gbBsIE5)\r
thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4.\r
+ \r
thisWindow.resizeTo(1, 1);\r
thisWindow.resizeTo(1, 1);\r
thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight);\r
size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth;\r
size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight; \r
thisWindow.document.body.scroll = 'no';\r
- \r
- // Handle absurd cases just in case IE flakes\r
- // if (size.y < 100) {\r
- // size.y = 100;\r
- // }\r
}\r
}\r
else {\r
// downsize from maxgoldx , now I try to using binary divide.\r
x = maxgoldx;\r
deltax = -maxgoldx/2;\r
- //i = 0;\r
while (true) {\r
x = x + deltax;\r
thisWindow.resizeTo(x, miny);\r
break;\r
if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore.\r
break;\r
- //i ++;\r
- \r
}\r
- //size.x = x - gBscrollWidth;\r
size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth;\r
size.y = thisWindow.document.body.scrollHeight ;\r
thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little.\r
}\r
}\r
}\r
- \r
- // no reload no scrollbar.\r
- //size.x = size.x + 16; //reserve a width for scrollbar (IE 4.0 only)\r
-\r
thisWindow.resizeTo(size.x, size.y);\r
thisWindow.resizeTo(size.x, size.y);\r
return;\r
}\r
\r
-\r
-\r
function BSSCPopupParentClicked()\r
{\r
if (!window.gbPopupTimeoutExpired) {\r
return true;\r
}\r
\r
+function isInsideHyperLink(obj)\r
+{\r
+ if (obj&&obj!=getParentNode(obj))\r
+ {\r
+ if (obj.tagName=="A"||obj.tagName=="IMG")\r
+ return true;\r
+ else\r
+ return isInsideHyperLink(getParentNode(obj));\r
+ }\r
+ else\r
+ return false;\r
+}\r
\r
-function BSSCPopupClicked()\r
+function BSSCPopupClicked(e)\r
{\r
if (!window.gbPopupTimeoutExpired) {\r
return false;\r
}\r
\r
-\r
var popupIFrame = getCurrentPopupIFrame();\r
if (popupIFrame == null) {\r
return true;\r
}\r
\r
-/*\r
- if ("undefined" != typeof(popupIFrame.gbInPopupMenu) &&\r
- popupIFrame.gbInPopupMenu) {\r
- return true;\r
- }*/\r
-\r
- if (!((popupIFrame.window.event != null) &&\r
- (popupIFrame.window.event.srcElement != null) &&\r
- ((popupIFrame.window.event.srcElement.tagName == "A") ||\r
- (popupIFrame.window.event.srcElement.tagName == "IMG")))) {\r
+ if (gbBsIE4 && (!((popupIFrame.window.event != null) &&\r
+ (popupIFrame.window.event.srcElement != null) &&\r
+ isInsideHyperLink(popupIFrame.window.event.srcElement)))) {\r
document.onmousedown = gbOrignalOnMouseDown;\r
-\r
- // Simply hide the popup\r
+ \r
+ // Simply hide the popup\r
hideAll();\r
-\r
window.gbPopupTimeoutExpired = false;\r
-\r
return true;\r
}\r
+ else if (gbBsNS6 && (!((e != null) &&\r
+ (e.target!= null) && isInsideHyperLink(e.target))))\r
+ {\r
+ document.addEventListener("mousedown", gbOrignalOnMouseDown,false);\r
+ // Simply hide the popup\r
+ hideAll();\r
+ window.gbPopupTimeoutExpired = false;\r
+ return true; \r
+ }\r
}\r
\r
-\r
//trace the mouse over's position for hotspot\r
function BSPSPopupOnMouseOver(event)\r
{\r
- if (gBsBrowser.ie4) {\r
- window.gnPopupClickX = event.clientX + document.body.scrollLeft;\r
- window.gnPopupClickY = event.clientY + document.body.scrollTop;\r
+ if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) {\r
+ window.gnPopupClickX = event.clientX + getScrollLeft();\r
+ window.gnPopupClickY = event.clientY + getScrollTop();\r
window.gnPopupScreenClickX = event.screenX;\r
window.gnPopupScreenClickY = event.screenY;\r
- } else if (gBsBrowser.ns4) {\r
+ } else if (gbBsSafari) {\r
+ window.gnPopupClickX = event.clientX + getScrollLeft();\r
+ window.gnPopupClickY = event.clientY + getScrollTop();\r
+ window.gnPopupScreenClickX = event.screenX + window.screenX;\r
+ window.gnPopupScreenClickY = event.screenY + window.screenY;\r
+ } else if (gbBsNS4) {\r
window.gnPopupClickX = event.pageX - window.pageXOffset;\r
window.gnPopupClickY = event.pageY - window.pageYOffset;\r
window.gnPopupScreenClickX = event.screenX - window.pageXOffset;\r
}\r
}\r
\r
-\r
function BSSCHidePopupWindow()\r
{\r
if (window.gPopupWindow != null) {\r
- if (gBsBrowser.ns4) {\r
+ if (gbBsNS4) {\r
if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) {\r
window.gPopupWindow.close();\r
window.gPopupWindow = null;\r
}\r
}\r
}\r
-\r
return;\r
}\r
\r
\r
/// Section Begin - Embedded Stub (JavaScript 1.0)\r
\r
-var s_strAgent = navigator.userAgent.toLowerCase();\r
-var s_nVer = parseInt(navigator.appVersion);\r
-\r
-var s_bIE = (s_strAgent.indexOf('msie') != -1);\r
-var s_bNS = (s_strAgent.indexOf('mozilla') != -1) && ((s_strAgent.indexOf('spoofer') == -1) && (s_strAgent.indexOf('compatible') == -1));\r
-var s_bOpera = (s_strAgent.indexOf('opera') != -1);\r
-\r
-var s_bIE3Before = ((s_bIE) && (s_nVer <= 2));\r
-var s_bNS3Before = ((s_bNS) && (s_nVer <= 3));\r
-\r
-var s_bNS2 = ((s_bNS) && (s_nVer <= 2));\r
-var s_bNS3 = ((s_bNS) && (s_nVer == 3));\r
-var s_bIE300301 = ((s_bIE) && (s_nVer == 2) && ((s_strAgent.indexOf("3.00") != -1)||(s_strAgent.indexOf("3.0a") != -1)||(s_strAgent.indexOf("3.0b")!=-1)||(s_strAgent.indexOf("3.01")!=-1)));\r
-var s_bIE302 = ((s_bIE) && (s_nVer == 2) && (s_strAgent.indexOf("3.02") != -1));\r
-\r
-\r
-function HasExtJs()\r
-{\r
- if (s_bIE3Before) { return false;}\r
- if (s_bNS3Before) { return false;}\r
- if (typeof (BsGeneralOnLoad) == "undefined"){ return false; }\r
- return true;\r
-}\r
-\r
-\r
function BSSCCreatePopupDiv()\r
{\r
return;\r
}\r
\r
-\r
function WritePopupMenuLayer()\r
{\r
- if (HasExtJs()) {_WritePopupMenuLayer();}\r
+ if (BsscHasExtJs()) {_WritePopupMenuLayer();}\r
}\r
\r
function BSSCPopup(strURL, width, height)\r
{\r
- if (HasExtJs()) { \r
+ var re = new RegExp("'", 'g');\r
+ strURL = strURL.replace(re, "%27");\r
+\r
+ if (BsscHasExtJs()) { \r
_BSSCPopup(strURL, width, height);\r
}else{\r
//Create a temporary window first to ensure the real popup comes up on top\r
var wndTemp = null;\r
- if (!s_bNS3) {\r
+ if (!gbBsNS3) {\r
wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");\r
}\r
// Create the real popup window\r
var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400");\r
// Close the temporary\r
- if (!s_bNS3) {\r
+ if (!gbBsNS3) {\r
wndTemp.close();\r
} else {\r
wndPopup.focus();\r
\r
function PopupMenu_Invoke()\r
{\r
- if (HasExtJs()) {\r
+ if (typeof(wfRelatedTopic) == 'function' && typeof(IsFlashSupported) == 'function')\r
+ {\r
+ if (Number(gsSkinVersion) > 2 && IsFlashSupported())\r
+ {\r
+ return wfRelatedTopic(PopupMenu_Invoke.arguments);\r
+ }\r
+ }\r
+ if (BsscHasExtJs()) {\r
return _PopupMenu_Invoke(PopupMenu_Invoke.arguments);\r
}\r
- if (s_bNS3Before || s_bIE3Before ) {\r
+ if (gbBsNS3Before || gbBsIE3Before ) {\r
var argLen = PopupMenu_Invoke.arguments.length;\r
if (argLen < 5) {\r
window.document.location.href = PopupMenu_Invoke.arguments[3];\r
gbstrParaTotal = "";\r
for (var i = 0; i < (argLen - 2) / 2; i++) {\r
var strParaLine = "";\r
- if (s_bNS2 || s_bOpera){\r
+ if (gbBsNS2){\r
strParaLine += "<a href=\"";\r
strParaLine += PopupMenu_Invoke.arguments[2 * i + 3];\r
strParaLine += "\">"\r
\r
//Create a temporary window first to ensure the real popup comes up on top\r
//var wndTemp = null;\r
- if (!s_bNS3) {\r
+ if (!gbBsNS3) {\r
gbWndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");\r
} \r
gbWndPopupLinks = window.open("", "popuplinks", strParam);\r
setTimeout("Wait_PopupMenuReady()", 100);\r
}\r
\r
-\r
function PopupMenu_InvokeReady()\r
{\r
if (gbWndPopupLinks != null) {\r
gbWndPopupLinks.document.open("text/html");\r
gbWndPopupLinks.document.write("<html><head>");\r
- if (s_bNS2 || s_bOpera) {\r
+ if (gbBsNS2) {\r
gbWndPopupLinks.document.write("<base href=\"" + location +"\">");\r
} else {\r
//YJ: IE301,302 and NS3.x works fine\r
gbWndPopupLinks.document.close();\r
\r
// Close the temporary\r
- if (!s_bNS3 && gbWndTemp != null) {\r
+ if (!gbBsNS3 && gbWndTemp != null) {\r
gbWndTemp.close();\r
}else {\r
gbWndPopupLinks.focus();\r
\r
function kadovInitEachChild(el)\r
{ \r
- for(var i=0; i<el.children.length; i++)\r
+ for(var i=0; i<getChildNodes(el).length; i++)\r
{\r
- var child = el.children[i];\r
+ var child = getChildNodes(el)[i];\r
if( child.tagName == "SCRIPT" || child.tagName == "!" )\r
continue;\r
\r
if( child.id != "" )\r
{\r
// to wipe out the onload effects\r
- var onLoadEffect = child.style.getAttribute( "x-on-pageload" );\r
- if( (onLoadEffect != null) && (onLoadEffect > "") )\r
- child.style.setAttribute( "x-on-pageload", "" );\r
+ if (gbBsIE4&&!gbBsMac)\r
+ {\r
+ var onLoadEffect = child.style.getAttribute( "x-on-pageload" );\r
+ if( (onLoadEffect != null) && (onLoadEffect > "") )\r
+ child.style.setAttribute( "x-on-pageload", "" );\r
+ }\r
\r
var href = child.getAttribute("href")\r
if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 )\r
}\r
else\r
{\r
- for(var i=0; i<el.children.length; i++)\r
- x += kadovRetrieveTextInner( el.children[i] );\r
+ for(var i=0; i<getChildNodes(el).length; i++)\r
+ x += kadovRetrieveTextInner( getChildNodes(el)[i] );\r
}\r
return x;\r
}\r
return strRawHTML;\r
\r
// does the commented object tag contain a items parameters \r
- var strRTItemsOpen = '<param name=Items value="';\r
+ var strRTItemsOpen = '<param name="Items" value="';\r
var strRTItemsClose = '$$**$$" >';\r
+ var strRTItemsClose2 = '$$**$$">';\r
+\r
var nRTItemsOpen = strRawHTML.indexOf(strRTItemsOpen, nDTCTagOpen);\r
if( nRTItemsOpen < nDTCTagOpen )\r
return strRawHTML;\r
var nRTItemsClose = strRawHTML.indexOf(strRTItemsClose, nRTItemsOpen);\r
+ if (nRTItemsClose == -1)\r
+ nRTItemsClose = strRawHTML.indexOf(strRTItemsClose2, nRTItemsOpen);\r
if( nRTItemsClose < nRTItemsOpen )\r
return strRawHTML;\r
\r
\r
function kadovTextPopupOnLoad( el )\r
{\r
- if( !CCSSP.bIsWinOS && !CCSSP.bIsSunOS)\r
- return 0;\r
-\r
if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
+ el = getElement(el);\r
\r
var src = el.getAttribute( "x-use-popup" );\r
+ var bNeedMove=true;\r
+ if(!src&&el.id)\r
+ {\r
+ for (var i=0;i<gPopupData.length;i++)\r
+ if (gPopupData[i].el==el.id)\r
+ {\r
+ src=gPopupData[i].popupId;\r
+ bNeedMove=false;\r
+ break;\r
+ }\r
+ }\r
if(!src)\r
+ src = el.style.getAttribute( "x-use-popup" ); \r
+ if (!src) \r
return 0;\r
\r
var name = src;\r
if( src.substr(0,1) == "#" ) \r
name = src.substr(1, src.length-1);\r
- var srcDiv = document.all.item(name);\r
+ var srcDiv = getElement(name);\r
if( !srcDiv )\r
return 1;\r
\r
- var type = el.getAttribute( "x-popup-type" );\r
- var setup = el.getAttribute( "x-tmp-setup" );\r
- var newId = name;\r
- if( newId.indexOf( "_tmp") <= 0 )\r
- newId += "_tmp";\r
-\r
- if( !setup )\r
+ if (bNeedMove)\r
{\r
- el.setAttribute( "x-tmp-setup", 1 );\r
- \r
- if( type == "pulldown" )\r
+ var type = el.getAttribute( "x-popup-type" );\r
+ if (!type)\r
+ type = el.style.getAttribute("x-popup-type");\r
+ if (!type) \r
+ return 1; \r
+ var setup = el.getAttribute( "x-tmp-setup" );\r
+ var newId = name;\r
+ if( newId.indexOf( "_tmp") <= 0 )\r
+ newId += "_tmp";\r
+\r
+ if( !setup)\r
{\r
- var strAdjust = kadovAdjustObjectTag(srcDiv.innerHTML,0);\r
- var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");\r
- strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");\r
+ el.setAttribute( "x-tmp-setup", 1 );\r
\r
- //work around the bug in HH.exe that highlight the phrases when use Search tab\r
- //this approach is just removing the <FONT...> tag inserted by Microsoft in the runtime\r
- strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<FONT color=#", "\">", 52);\r
- \r
- var strStyle = " style='display:none; position:relative;";\r
- var newDiv = "<div class=droptext id=" + newId + strStyle + "'>" + strCleanHTML + "</div>";\r
+ if( type == "pulldown" )\r
+ {\r
+ var strAdjust = kadovAdjustObjectTag(srcDiv.innerHTML,0);\r
+ var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");\r
+ strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");\r
+ \r
+ //work around the bug in HH.exe that highlight the phrases when use Search tab\r
+ //this approach is just removing the <FONT...> tag inserted by Microsoft in the runtime\r
+ strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<FONT color=#", "\">", 52);\r
+ \r
+ var strStyle = " style='display:none; position:relative;";\r
+ var newDiv = "<div class=droptext id=" + newId + strStyle + "'>" + strCleanHTML + "</div>";\r
\r
- srcDiv.outerHTML = ""; // empty the original DIV tag\r
- var elParentPra = kadovFindParentParagraph(el);\r
- if( elParentPra )\r
- elParentPra.insertAdjacentHTML( "AfterEnd", newDiv );\r
+ removeThis(srcDiv); // empty the original DIV tag\r
+ var elParentPra = kadovFindParentParagraph(el);\r
+ if( elParentPra )\r
+ insertAdjacentHTML(elParentPra, "afterEnd", newDiv );\r
+ }\r
+ else if( type == "expanding" )\r
+ {\r
+ var inner = kadovRetrieveTextInner(srcDiv);\r
+ if( inner == "" )\r
+ inner = srcDiv.innerHTML;\r
+ var strAdjust = kadovAdjustObjectTag(inner,0);\r
+ var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");\r
+ strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");\r
+ var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext";\r
+ var newSpan = "<span class=" + strClassName + " style='display: none;' id=" + newId + "> " + strCleanHTML + "</span>";\r
+ removeThis(srcDiv); // empty the original DIV tag\r
+ insertAdjacentHTML(el, "afterEnd", newSpan );\r
+ }\r
}\r
- else if( type == "expanding" )\r
+ }\r
+ else\r
+ {\r
+ srcDiv.style.display = "none";\r
+ }\r
+ return 0;\r
+}\r
+\r
+function getElementsByTag(obj,sTagName)\r
+{\r
+ if(obj.getElementsByTagName)\r
+ return obj.getElementsByTagName(sTagName);\r
+ else if(obj.all)\r
+ return obj.all.tags(sTagName);\r
+ return null;\r
+}\r
+\r
+function getElement(sID)\r
+{\r
+ if(document.getElementById)\r
+ return document.getElementById(sID);\r
+ else if(document.all)\r
+ return document.all(sID);\r
+ return null;\r
+}\r
+\r
+function getParentNode(obj)\r
+{\r
+ if(obj.parentNode)\r
+ return obj.parentNode;\r
+ else if(obj.parentElement)\r
+ return obj.parentElement;\r
+ return null;\r
+}\r
+\r
+function getChildNodes(obj)\r
+{\r
+ if(obj.childNodes)\r
+ {\r
+ var children = new Array();\r
+ for (var i = 0; i < obj.childNodes.length; i++)\r
{\r
- var inner = kadovRetrieveTextInner(srcDiv);\r
- if( inner == "" )\r
- inner = srcDiv.innerHTML;\r
- var strAdjust = kadovAdjustObjectTag(inner,0);\r
- var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");\r
- strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");\r
- var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext";\r
- var newSpan = "<span class=" + strClassName + " style='display: none;' id=" + newId + "> " + strCleanHTML + "</span>";\r
- srcDiv.outerHTML = ""; // empty the original DIV tag\r
- el.insertAdjacentHTML( "AfterEnd", newSpan );\r
+ if (obj.childNodes[i].nodeType == 1)\r
+ children[children.length] = obj.childNodes[i];\r
}\r
+ return children;\r
}\r
- return 0;\r
+ else if(obj.children)\r
+ return obj.children;\r
+ return null; \r
+}\r
+\r
+function removeThis(obj)\r
+{\r
+ if(obj.parentNode)\r
+ obj.parentNode.removeChild(obj);\r
+ else\r
+ obj.outerHTML="";\r
}\r
\r
function kadovTextPopup( el )\r
{\r
- if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS) || (window.event == null) )\r
+ if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3 )\r
return;\r
- window.event.cancelBubble = true;\r
+\r
+ var bNeedMove=true;\r
+ \r
+ if (window.event)\r
+ window.event.cancelBubble = true;\r
\r
if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
+ el = getElement(el);\r
\r
+ if (!el||el==window)\r
+ return;\r
+ \r
var src = el.getAttribute( "x-use-popup" );\r
+ if(!src&&el.id)\r
+ {\r
+ for (var i=0;i<gPopupData.length;i++)\r
+ if (gPopupData[i].el==el.id)\r
+ {\r
+ src=gPopupData[i].popupId;\r
+ bNeedMove=false;\r
+ break;\r
+ }\r
+ }\r
+ if(!src)\r
+ src = el.style.getAttribute( "x-use-popup" ); \r
if(!src)\r
return;\r
-\r
+ \r
var name = src;\r
if( src.substr(0,1) == "#" ) \r
+ if (bNeedMove)\r
name = src.substr(1, src.length-1) + "_tmp";\r
- var srcDiv = document.all.item(name);\r
+ else\r
+ name = src.substr(1, src.length-1);\r
+\r
+ var srcDiv = getElement(name);\r
if( !srcDiv )\r
return;\r
\r
- var type = el.getAttribute( "x-popup-type" );\r
- var setup = el.getAttribute( "x-tmp-setup" );\r
if( srcDiv )\r
{\r
if( srcDiv.style.display == "" )\r
}\r
}\r
}\r
+ if(gbBsIE4)\r
+ event.returnValue=false;\r
return;\r
}\r
\r
function kadovFindParentParagraph( el )\r
{\r
if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
+ el = getElement(el);\r
if( (!el) || el.tagName == "BODY" )\r
return null;\r
- if( kadovIsParagraph(el.parentElement) )\r
- return el.parentElement;\r
+ if( kadovIsParagraph(getParentNode(el)) )\r
+ return getParentNode(el);\r
else\r
- return kadovFindParentParagraph( el.parentElement );\r
+ return kadovFindParentParagraph( getParentNode(el) );\r
}\r
\r
//Begin HTML code invoked function\r
CCSSP.RegisterEventHandler( obj, strEvent, strEventHandler );\r
}\r
\r
-function kadovTextPopupInit( el )\r
+function textPopupData(el, popupId)\r
+{\r
+ this.el = el;\r
+ this.popupId = "#"+popupId;\r
+}\r
+\r
+var gPopupData = new Array();\r
+\r
+function kadovTextPopupInit( el, popupId)\r
{\r
- if( (!gbBsIE4) || (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS))\r
+ if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3)\r
return;\r
\r
if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
+ {\r
+ if (popupId)\r
+ {\r
+ gPopupData[gPopupData.length]=new textPopupData(el, popupId);\r
+ }\r
+ el = getElement(el);\r
+ }\r
+ \r
if( el != null )\r
{\r
- CCSSP.RegisterEventHandler( el, "onclick", "kadovTextPopup(" + el.id +");" );\r
- CCSSP.RegisterEventHandler( window, "onload", "kadovTextPopupOnLoad(" + el.id +");" );\r
+ CCSSP.RegisterEventHandler( el, "onclick", "kadovTextPopup(\"" + el.id +"\");" );\r
+ CCSSP.RegisterEventHandler( window, "onload", "kadovTextPopupOnLoad(\"" + el.id +"\");" );\r
}\r
}\r
//End HTML code invoked function\r
//Begin HTML code invoked function\r
function kadovFilePopupInit( el )\r
{\r
- if( !gbBsIE4 )\r
- return;\r
if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
+ el = getElement(el);\r
\r
if( el != null )\r
CCSSP.RegisterEventHandler( el, "onmouseover", "BSPSPopupOnMouseOver(event);" );\r
var srcElement = element;\r
if( typeof(srcElement) == "string" )\r
{\r
- srcElement = document.all.item(element,0);\r
+ srcElement = getElement(element,0);\r
if(srcElement == null)\r
return;\r
}\r
return;\r
\r
var targets = srcElement.getAttribute( "x-targets" );\r
+ if (!targets)\r
+ targets = srcElement.style.getAttribute("x-targets");\r
+ if (!targets)\r
+ return; \r
var arrOneTarget = targets.split( "," );\r
for( var i = 0; i < arrOneTarget.length; i ++ )\r
bsscFXInit( element, arrOneTarget[i], null, null, null, null );\r
function kadovIsParentVisible( el )\r
{\r
if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
+ el = getElement(el);\r
if( (!el) || el.tagName == "BODY" )\r
return true;\r
if( el.style.display == 'none' ) //el.visibility == 'hidden' || \r
return false;\r
else\r
- return kadovIsParentVisible( el.parentElement );\r
+ return kadovIsParentVisible( getParentNode(el) );\r
}\r
\r
function kadovInitEffects( element )\r
var srcElement = element;\r
if( typeof(srcElement) == "string" )\r
{\r
- srcElement = document.all.item(element,0);\r
+ srcElement = getElement(element,0);\r
if(srcElement == null)\r
return;\r
}\r
function bsscFXInit( trigger_ID, target_ID, event_type, \r
action_type, action_setting, event_addional )\r
{\r
- if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS ) || typeof(target_ID) != "string" )//MUST have a target_ID\r
+ if( (!gbBsWindows && !gbBsSunOS && !(gbBsMac&&gbBsIE5)) || typeof(target_ID) != "string" )//MUST have a target_ID\r
return; // we don't support Navigator yet\r
\r
if( typeof(event_type) == "string" )\r
} \r
//End the definition of one entry to DHTML effects\r
\r
-\r
/// Section End - kadov DHTM (JavaScript 1.2)\r
\r
-\r
/// Section Begin - CCSSP DHTM (JavaScript 1.2)\r
\r
//Begin JavaScript libary for cross-platform positioning object.\r
function CCSSP(){} // constructor of CCSSP class\r
\r
-CCSSP.strAgent = navigator.userAgent.toLowerCase(); \r
-CCSSP.nAppVersion = parseInt(navigator.appVersion);\r
-\r
-CCSSP.bIsWinOS = ((CCSSP.strAgent.indexOf("win") >= 0) || (CCSSP.strAgent.indexOf("16bit") >= 0));\r
-CCSSP.bIsMacOS = (CCSSP.strAgent.indexOf("mac") >= 0);\r
-CCSSP.bIsSunOS = (CCSSP.strAgent.indexOf("sunos") != -1);\r
-\r
-CCSSP.bIsIE = (navigator.appName.indexOf("Microsoft") >= 0);\r
-CCSSP.bIsIE4 = (CCSSP.bIsIE && (CCSSP.nAppVersion >= 4));\r
-CCSSP.bIsIE5 = (CCSSP.bIsIE4 && (CCSSP.strAgent.indexOf("msie 5") != -1) )\r
-\r
-CCSSP.bIsNav = (navigator.appName.indexOf("Netscape") >= 0);\r
-CCSSP.bIsNav4 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 4));\r
-CCSSP.bIsNav6 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 5));\r
-\r
CCSSP.GetObject = function( obj )\r
{//convert object name string or reference into a valid object reference\r
if( typeof(obj) == "object" )\r
return obj;\r
else if( typeof(obj) == "string" && obj != "")\r
{\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return eval("document." + obj);\r
else\r
- return eval("document.all." + obj);\r
+ return eval("document.all(\"" + obj + "\")");\r
}\r
else\r
return null;\r
\r
CCSSP.MoveObjectTo = function(obj, x, y)\r
{//positioning an object at a specific pixel coordinate\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
obj.moveTo(x,y);\r
else\r
{\r
\r
CCSSP.MoveObjectBy = function(obj, dx, dy)\r
{//moveing a object by x and/or y pixel\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
obj.moveBy(dx,dy);\r
else\r
{\r
\r
CCSSP.SetObjectBGColor = function(obj, color)\r
{//set the background color of an object\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
obj.bgColor = color;\r
else\r
obj.style.backgroundColor = color;\r
\r
CCSSP.ShowObject = function(obj, bShow)\r
{// set the object to be visible or invisible\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
obj.visibility = (bShow == true) ? 'show' : 'hide';\r
else\r
obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space.\r
\r
CCSSP.GetObjectLeft = function(obj)\r
{// retrieve the x coordinate of a posionable object\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return obj.left;\r
else\r
return obj.style.pixelLeft;\r
\r
CCSSP.GetObjectTop = function(obj)\r
{// retrieve the y coordinate of a posionable object\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return obj.top;\r
else\r
return obj.style.pixelTop;\r
\r
CCSSP.GetObjectContainLeft = function(obj)\r
{// retrieve the x coordinate of a posionable object relative to it's parent element\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return obj.pageX;\r
else\r
{\r
\r
CCSSP.GetObjectWindowLeft = function(obj)\r
{// retrieve the x coordinate of a posionable object relative to browser window\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return obj.pageX;\r
else\r
{\r
\r
CCSSP.GetObjectContainTop = function(obj)\r
{// retrieve the y coordinate of a posionable object relative to it's parent element\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return obj.pageY;\r
else\r
{\r
\r
CCSSP.GetObjectWindowTop = function(obj)\r
{// retrieve the y coordinate of a posionable object relative to browser window\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return obj.pageY;\r
else\r
{\r
\r
CCSSP.GetObjectHeight = function(obj)\r
{// retrieve the height of a posionable object\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return obj.clip.height;\r
else\r
return obj.offsetHeight;\r
\r
CCSSP.GetObjectWidth = function(obj)\r
{// retrieve the width of a posionable object\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return obj.clip.width;\r
else\r
return obj.offsetWidth;\r
\r
CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler )\r
{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined\r
- if (CCSSP.bIsNav4 && !CCSSP.bIsNav6)\r
+ if (gbBsNS4 && !gbBsNS6)\r
return ;\r
+ \r
var oldHandler = "";\r
- if (CCSSP.bIsMacOS && CCSSP.bIsIE4)\r
+\r
+ if (gbBsMac &&gbBsIE4&&!gbBsIE5)\r
{\r
if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown")\r
{ //search for <SCRIPT> tag which define the event handler\r
if( bodyStart > 0 || bodyEnd > bodyStart )\r
oldHandler = functionDefinition.substr( bodyStart + 1, bodyEnd - bodyStart - 2 );\r
}\r
- else if( CCSSP.bIsIE4 )\r
+ else if( gbBsIE4 )\r
{ //search for <SCRIPT> tag which define the event handler\r
for( var i = 0; i < document.scripts.length; i++ ) \r
{\r
}\r
}\r
}\r
- } \r
+ }\r
if( oldHandler.indexOf(funcHandler) >= 0 )\r
return;// to prevent register the funtion twice.\r
\r
- if( CCSSP.bIsNav4 ) // only "onload, onresize, onfocus" apply to window\r
+ if( gbBsNS4 ) // only "onload, onresize, onfocus" apply to window\r
{// other raw events will apply to layer\r
var noOn = rawEventName.substring(2, rawEventName.length);\r
if( typeof(noOn) == "string" && noOn.length > 3 ) {\r
- srcObj.captureEvents( Event[noOn.toUpperCase()] );\r
+ if (srcObj.captureEvents)\r
+ srcObj.captureEvents( Event[noOn.toUpperCase()] );\r
}\r
}\r
-\r
+ \r
var newHandler = oldHandler;\r
if( newHandler.length == 0 )\r
newHandler = funcHandler;\r
else\r
newHandler += "; " + funcHandler;\r
+ \r
srcObj[rawEventName.toLowerCase()] = new Function( newHandler );\r
}\r
\r
CCSSP.GetWindowHeight = function()\r
{// retrieve the height of available content in browser window\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return window.innerHeight;\r
else\r
return document.body.clientHeight;\r
\r
CCSSP.GetWindowBottom = function()\r
{// retrieve the bottom postion of browser window\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return window.outerHeight + window.pageYOffset;\r
else\r
return document.body.clientHeight + document.body.scrollTop;\r
\r
CCSSP.GetWindowWidth = function()\r
{// retrieve the width of available content in browser window\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return window.innerWidth;\r
else\r
return document.body.clientWidth;\r
\r
CCSSP.GetWindowRight = function()\r
{// retrieve the right postion of browser window\r
- if( CCSSP.bIsNav4 )\r
+ if( gbBsNS4 )\r
return window.outerWidth + window.pageXOffset;\r
else\r
return document.body.clientWidth + document.body.scrollLeft;\r
\r
CCSSP.GetEventElement = function( navEventObject )\r
{// to get the element who fired the current event\r
- if(CCSSP.bIsNav4 ) \r
- if (CCSSP.bIsNav6)\r
+ if(gbBsNS4) \r
+ if (gbBsNS6)\r
return null;\r
else\r
navEventObject.target;\r
return true; \r
else if( progeny.id == progenitor.id ) \r
return true; \r
- else if( progeny.parentElement == progenitor.parentElement )\r
+ else if( getParentNode(progeny) == getParentNode(progenitor))\r
return false;\r
else\r
- return CCSSP.IsDescendant( progenitor, progeny.parentElement );\r
+ return CCSSP.IsDescendant( progenitor, getParentNode(progeny));\r
}\r
\r
CCSSP.IsTextTag = function( Obj )\r
return new CAgencyElastic(this.eleTarget, action_setting);\r
\r
case "fadein" : \r
- return (CCSSP.bIsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, true) : null;\r
+ return (gbBsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, true) : null;\r
case "fadeout" :\r
- return (CCSSP.bIsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, false) : null;\r
+ return (gbBsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, false) : null;\r
case "rockrollstatic" :\r
case "rockroll" :\r
- return (CCSSP.bIsIE4)? new CAgencyWave(this.eleTarget, action_setting, false) : null;\r
+ return (gbBsIE4)? new CAgencyWave(this.eleTarget, action_setting, false) : null;\r
\r
case "glow":\r
- return (CCSSP.bIsIE4)? new CAgencyGlow(this.eleTarget,action_setting) : null;\r
+ return (gbBsIE4)? new CAgencyGlow(this.eleTarget,action_setting) : null;\r
case "dropshadow":\r
- return (CCSSP.bIsIE4)? new CAgencyDropShadow(this.eleTarget,action_setting) : null;\r
+ return (gbBsIE4)? new CAgencyDropShadow(this.eleTarget,action_setting) : null;\r
case "transition" :\r
- return (CCSSP.bIsIE4)? new CAgencyRevealTrans(this.eleTarget,action_setting) : null;\r
+ return (gbBsIE4)? new CAgencyRevealTrans(this.eleTarget,action_setting) : null;\r
case "blur" :\r
- return (CCSSP.bIsIE4)? new CAgencyBlur(this.eleTarget,action_setting) : null;\r
+ return (gbBsIE4)? new CAgencyBlur(this.eleTarget,action_setting) : null;\r
\r
case "fliph" : // all these 4 do NOT need any parameters\r
case "flipv" :\r
case "invert":\r
case "gray" :\r
- return (CCSSP.bIsIE4)? new CAgencyChangeFilter(this.eleTarget, str_action_type) : null;\r
+ return (gbBsIE4)? new CAgencyChangeFilter(this.eleTarget, str_action_type) : null;\r
\r
case "fontchange": // the effects below change the style on the fly, so won't work in Navigator\r
- return (CCSSP.bIsIE4)? new CAgencyFontChange(this.eleTarget,action_setting) : null;\r
+ return (gbBsIE4)? new CAgencyFontChange(this.eleTarget,action_setting) : null;\r
case "boderchange": \r
case "stylechange":\r
- return (CCSSP.bIsIE4)? new CAgencyChangeStyle(this.eleTarget,action_setting) : null;\r
+ return (gbBsIE4)? new CAgencyChangeStyle(this.eleTarget,action_setting) : null;\r
\r
default: return null;\r
}\r
}\r
}\r
\r
- if( CCSSP.bIsIE5 && this.ele.style.position != "absolute" )\r
+ if( gbBsIE5 && this.ele.style.position != "absolute" )\r
this.ele.style.position = "relative";\r
this.timer = null;\r
this.aniIndex = CEngine.arrAnimation.length;\r
}\r
}\r
\r
- if( CCSSP.bIsIE5 && this.ele.style.position != "absolute" )\r
+ if( gbBsIE5 && this.ele.style.position != "absolute" )\r
this.ele.style.position = "relative";\r
this.timer = null;\r
this.aniIndex = CEngine.arrAnimation.length;\r
}\r
}\r
\r
- if( CCSSP.bIsIE5 && this.ele.style.position != "absolute" )\r
+ if( gbBsIE5 && this.ele.style.position != "absolute" )\r
this.ele.style.position = "relative";\r
this.timer = null;\r
this.aniIndex = CEngine.arrAnimation.length;\r
CAgencyZoom.prototype.ResetParametersAllChildren = function( child )\r
{\r
CCSSP.ShowObject(child, true );\r
- if( (child.tagName == "DIV") && (child.parentElement.tagName == "TD") )\r
+ if( (child.tagName == "DIV") && (getParentNode(child).tagName == "TD") )\r
child.width = "100%";// if the div is inside a cell of table, we need the this hack\r
\r
if( CCSSP.IsTextTag(child) )\r
CCSSP.RegisterEventHandler( window, "onunload", "BSSCOnUnload();");\r
//End to collaborate with other event handler settings\r
\r
-\r
/// Section End - CCSSP DHTM 2 (JavaScript 1.2)\r
\r
-//// Segment End -- (JavaScript 1.2)\r
+//// Segment End -- (JavaScript 1.2)
\ No newline at end of file