Source Code Cross Referenced for TestJSOWAPages.java in  » Portal » Open-Portal » com » sun » portal » rewriter » engines » js » test » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Portal » Open Portal » com.sun.portal.rewriter.engines.js.test 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


0001:        /*
0002:         * Copyright 2001 Sun Microsystems, Inc.  All rights reserved.
0003:         * PROPRIETARY/CONFIDENTIAL.  Use of this product is subject to license terms.
0004:         */
0005:        package com.sun.portal.rewriter.engines.js.test;
0006:
0007:        import com.sun.portal.rewriter.Rewriter;
0008:        import com.sun.portal.rewriter.RewriterModule;
0009:        import com.sun.portal.rewriter.RewriterPool;
0010:        import com.sun.portal.rewriter.engines.LanguageConstants;
0011:        import com.sun.portal.rewriter.rom.RuleSet;
0012:        import com.sun.portal.rewriter.test.util.BasicTestCase;
0013:        import com.sun.portal.rewriter.test.util.CreateRuleSet;
0014:        import com.sun.portal.rewriter.test.util.JSWrapperHelper;
0015:        import com.sun.portal.rewriter.util.Resource;
0016:        import junit.framework.TestSuite;
0017:
0018:        public class TestJSOWAPages extends BasicTestCase {
0019:            public TestJSOWAPages(String aName) {
0020:                super (aName);
0021:            }//constuctor
0022:
0023:            public void testVW_NavBar20_JS() throws Exception {
0024:                String lInput = "//Copyright (c) 2000-2001 Microsoft Corporation.  All rights reserved.\n"
0025:                        + "//<script>\n"
0026:                        + "\n"
0027:                        + "var g_winDocAll = window.document.all;\n"
0028:                        + "var g_iAddCount=0;\n"
0029:                        + "var g_iTabTopOffset = 38;\n"
0030:                        + "var g_fHasGottenFolders = false;\n"
0031:                        + "var g_rgAuthDomains = new Array();\n"
0032:                        + "var g_nFlybarHeight = 25;\n"
0033:                        + "var g_idFlyPopup = -1;\n"
0034:                        + "var g_nFontHeight=13;\n"
0035:                        + "var CTL_E_PERMISSIONDENIED = (1^0x800a0046)-1;\n"
0036:                        + "var FACILITY_WIN32_ERROR_ACCESS_DENIED = (1^0x80070005)+1;\n"
0037:                        + "var g_wndReminder = null;\n"
0038:                        + "var g_ctlReminder = null;\n"
0039:                        + "var g_nEnableNewMail = 0;\n"
0040:                        + "var g_fUnix = false;\n"
0041:                        + "\n"
0042:                        + "/*******Init Error String************/\n"
0043:                        + "g_szrgErrors = new Array();\n"
0044:                        + "g_szrgErrors[900]   = L_errCommunicationfailure_ErrorMessage;\n"
0045:                        + "g_szrgErrors[401]   = L_errLogonFailure_ErrorMessage;\n"
0046:                        + "g_szrgErrors[404]   = L_ErrorItemNotFound_ErrorMessage;\n"
0047:                        + "g_szrgErrors[405]   = L_idsFolderDuplicateNameError;\n"
0048:                        + "g_szrgErrors[403]   = L_errAccessDenied_ErrorMessage;\n"
0049:                        + "g_szrgErrors[412]   = L_errPreconditionfailure_ErrorMessage;\n"
0050:                        + "g_szrgErrors[500]   = L_errInternalServerError_ErrorMessage;\n"
0051:                        + "g_szrgErrors[501]   = L_errInternalServerError_ErrorMessage;\n"
0052:                        + "g_szrgErrors[502]   = L_errBadGateway_ErrorMessage;  //DAV return Bad Gateway.\n"
0053:                        + "// This error occurs when copying folders between private and public stores\n"
0054:                        + "g_szrgErrors[503] = L_errServiceNotAvailable_ErrorMessage;\n"
0055:                        + "g_szrgErrors[1001] = L_ErrorIllegalCharacter_Text;\n"
0056:                        + "var g_ctlNotify = null;\n"
0057:                        + "var g_oSound = null;\n"
0058:                        + "var g_oPopup = null;\n"
0059:                        + "\n"
0060:                        + "function objTree_OnFolderOperationComplete()\n"
0061:                        + "{\n"
0062:                        + "	if(event != null && event.contentType == 1)\n"
0063:                        + "	{\n"
0064:                        + "		try\n"
0065:                        + "		{\n"
0066:                        + "			parent.viewer.RefreshMessageList(null); // force refresh\n"
0067:                        + "		}\n"
0068:                        + "		catch(e) { 	}\n"
0069:                        + "	}\n"
0070:                        + "}\n"
0071:                        + "function objTree_onError()\n"
0072:                        + "{\n"
0073:                        + "	f_HandleError(event.statusCode)\n"
0074:                        + "}\n"
0075:                        + "\n"
0076:                        + "function objTree_onReady()\n"
0077:                        + "{\n"
0078:                        + "	g_iAddCount = 2;\n"
0079:                        + "	if (g_fPublicOnly)\n"
0080:                        + "	{\n"
0081:                        + "		if (g_fPublicTierOn)\n"
0082:                        + "		{\n"
0083:                        + "			if (g_fPublicRoot)\n"
0084:                        + "				objTree.addHierarchy(window.location, true, g_szPublicFoldersDN);\n"
0085:                        + "			else\n"
0086:                        + "				objTree.addHierarchy(window.location, true, null);\n"
0087:                        + "		}\n"
0088:                        + "	}\n"
0089:                        + "	else\n"
0090:                        + "	{\n"
0091:                        + "		objTree.addHierarchy(g_szUserBase, true, g_szUserDisplayName);\n"
0092:                        + "		var szPublicFolderUrl = g_szPublicFolderUrl;\n"
0093:                        + "\n"
0094:                        + "		if (g_fPublicTierOn)\n"
0095:                        + "		{\n"
0096:                        + "			if (g_szPublicFolderUrl == \"\")\n"
0097:                        + "			{\n"
0098:                        + "				// We are going through a front-end so go after /public\n"
0099:                        + "				// off the front-end host\n"
0100:                        + "				szPublicFolderUrl = window.location.protocol + \"//\" + window.location.host + \"/public/\";\n"
0101:                        + "			}\n"
0102:                        + "			objTree.addHierarchy(szPublicFolderUrl, false, g_szPublicFoldersDN);\n"
0103:                        + "		}\n"
0104:                        + "	}\n"
0105:                        + "	treeProgress.style.display = \"none\"\n"
0106:                        + "	g_winDocAll['objTree'].style.height = \"100%\";\n"
0107:                        + "}\n"
0108:                        + "\n"
0109:                        + "function objTree_onSelectFolder()\n"
0110:                        + "{\n"
0111:                        + "	event.cancelBubble  = true;\n"
0112:                        + "	event.returnValue   = false;\n"
0113:                        + "\n"
0114:                        + "	if(event)\n"
0115:                        + "	{\n"
0116:                        + "		if(event.isContext == true)\n"
0117:                        + "		{\n"
0118:                        + "			var node = objTree.selectedNode;\n"
0119:                        + "		}\n"
0120:                        + "		else\n"
0121:                        + "		{\n"
0122:                        + "			Navigate(event.url + \"?Cmd=contents\"+((event.isDeletedItems)?\"&allowShowDeleted=1\":\"\") );\n"
0123:                        + "		}\n"
0124:                        + "	}\n"
0125:                        + "}\n"
0126:                        + "function window.document.oncontextmenu()\n"
0127:                        + "{\n"
0128:                        + "	if(null != event.returnValue)\n"
0129:                        + "	{\n"
0130:                        + "		if(\"object\" == typeof(event.returnValue))\n"
0131:                        + "		{\n"
0132:                        + "			idTreeMenu.menuShow(true,event.clientX, event.clientY+15);\n"
0133:                        + "		}\n"
0134:                        + "	}\n"
0135:                        + "}\n"
0136:                        + "\n"
0137:                        + "function ToggleTab(srcElementID)\n"
0138:                        + "{\n"
0139:                        + "	event.cancelBubble = true;\n"
0140:                        + "	event.returnValue = false;\n"
0141:                        + "\n"
0142:                        + "	if (!g_fPublicOnly)\n"
0143:                        + "	{\n"
0144:                        + "		var tempEl;\n"
0145:                        + "		var srcEl = g_winDocAll[srcElementID];\n"
0146:                        + "\n"
0147:                        + "		if(srcEl.id == \"show_folders\")\n"
0148:                        + "		{\n"
0149:                        + "			if(g_iAddCount == 0)\n"
0150:                        + "			{\n"
0151:                        + "				g_iAddCount++;\n"
0152:                        + "\n"
0153:                        + "				treeProgress.style.display = \"\";\n"
0154:                        + "				g_nFontHeight = g_winDocAll.idLoading.offsetHeight;\n"
0155:                        + "				objTree.addBehavior(g_szVirtualRoot + \"/CONTROLS/ctrl_Tree20.htc\");\n"
0156:                        + "			}\n"
0157:                        + "\n"
0158:                        + "			g_winDocAll['idOutbarpane'].parentElement.style.display=\"none\";\n"
0159:                        + "			g_winDocAll['objTree'].style.display=\"\";\n"
0160:                        + "			setDefaultView(\"1\");\n"
0161:                        + "		}\n"
0162:                        + "		if(srcEl.id == \"show_navbar\")\n"
0163:                        + "		{\n"
0164:                        + "			g_winDocAll['objTree'].style.display=\"none\";\n"
0165:                        + "			g_winDocAll['idOutbarpane'].parentElement.style.display=\"\";\n"
0166:                        + "			setDefaultView(\"0\");\n"
0167:                        + "		}\n"
0168:                        + "	}\n"
0169:                        + "}\n"
0170:                        + "\n"
0171:                        + "function DepressTab(objButton)\n"
0172:                        + "{\n"
0173:                        + "	g_winDocAll['btnShowFolders'].style.borderStyle =\n"
0174:                        + "	g_winDocAll['btnShowNavbar'].style.borderStyle = \"outset\";\n"
0175:                        + "\n"
0176:                        + "	objButton.style.borderStyle = \"inset\";\n"
0177:                        + "}\n"
0178:                        + "\n"
0179:                        + "function window.onload()\n"
0180:                        + "{\n"
0181:                        + "	if(!g_szUserBase)\n"
0182:                        + "	{\n"
0183:                        + "		return(false);\n"
0184:                        + "	}\n"
0185:                        + "\n"
0186:                        + "	var oStyleSheet = window.document.styleSheets(\"idNavbarStyle\");\n"
0187:                        + "	var szFont = \"font-family:'\" + window.document.body.currentStyle.fontFamily + \"'\";\n"
0188:                        + "	oStyleSheet.addRule( \".buttonNormal\", szFont );\n"
0189:                        + "\n"
0190:                        + "	if (g_fPublicOnly)\n"
0191:                        + "	{\n"
0192:                        + "		treeProgress.style.display = \"\";\n"
0193:                        + "		g_nFontHeight = g_winDocAll.idLoading.offsetHeight;\n"
0194:                        + "\n"
0195:                        + "\n"
0196:                        + "		objTree.addBehavior(g_szVirtualRoot + \"/controls/ctrl_Tree20.htc\")\n"
0197:                        + "		g_winDocAll['idOutbarpane'].parentElement.style.display=\"none\";\n"
0198:                        + "		g_winDocAll[\"btnShowNavbar\"].disabled = true;\n"
0199:                        + "		g_winDocAll['objTree'].style.display=\"\";\n"
0200:                        + "	}\n"
0201:                        + "	else\n"
0202:                        + "	{\n"
0203:                        + "		re = /Win[0-9]+|WinCE/i;\n"
0204:                        + "		g_fUnix = !re.test( window.navigator.platform );\n"
0205:                        + "		if( \"0\" != g_szEnableReminders )\n"
0206:                        + "		{\n"
0207:                        + "			g_ctlReminder = g_winDocAll['objReminder'];\n"
0208:                        + "			if( null != g_ctlReminder )\n"
0209:                        + "			{\n"
0210:                        + "				g_ctlReminder.onchange = onReminders;\n"
0211:                        + "				g_ctlReminder.enable = true;\n"
0212:                        + "			}\n"
0213:                        + "		}\n"
0214:                        + "		g_nEnableNewMail = parseInt( g_szEnableNewMail, 10 );\n"
0215:                        + "		if( 0 != g_nEnableNewMail )\n"
0216:                        + "		{\n"
0217:                        + "			g_ctlNotify = g_winDocAll['objNotify'];\n"
0218:                        + "			if( null != g_ctlNotify )\n"
0219:                        + "			{\n"
0220:                        + "				g_ctlNotify.onchange = onNewMail;\n"
0221:                        + "				g_ctlNotify.enable = true;\n"
0222:                        + "\n"
0223:                        + "				try\n"
0224:                        + "				{\n"
0225:                        + "					g_oPopup = window.createPopup();\n"
0226:                        + "				}\n"
0227:                        + "				catch(e)\n"
0228:                        + "				{\n"
0229:                        + "				}\n"
0230:                        + "			}\n"
0231:                        + "		}\n"
0232:                        + "		if (\"1\" == g_bShowFolders)\n"
0233:                        + "		{\n"
0234:                        + "			g_winDocAll[\"btnShowFolders\"].click();\n"
0235:                        + "		}\n"
0236:                        + "		else\n"
0237:                        + "		{\n"
0238:                        + "			g_winDocAll[\"btnShowNavbar\"].click();\n"
0239:                        + "		}\n"
0240:                        + "	}\n"
0241:                        + "}\n"
0242:                        + "\n"
0243:                        + "function Navigate(url)\n"
0244:                        + "{\n"
0245:                        + "	if(parent != null && url != null)\n"
0246:                        + "	{\n"
0247:                        + "		if(parent.viewer != null)\n"
0248:                        + "		{\n"
0249:                        + "			parent.viewer.location = url;\n"
0250:                        + "		}\n"
0251:                        + "	}\n"
0252:                        + "}\n"
0253:                        + "\n"
0254:                        + "function slide_Tabs()\n"
0255:                        + "{\n"
0256:                        + "	ToggleTab(event.srcElement.parentElement.id);\n"
0257:                        + "}\n"
0258:                        + "\n"
0259:                        + "function DoRenameCommand()\n"
0260:                        + "{\n"
0261:                        + "	var objFolder = objTree.selectedNode;\n"
0262:                        + "	var szName = objFolder.displayname;\n"
0263:                        + "	var szURL = objFolder.url;\n"
0264:                        + "\n"
0265:                        + "	var szNewName   =   prompt(L_RenameCurrentFolder_Text, szName);\n"
0266:                        + "\n"
0267:                        + "	if(szNewName != null)\n"
0268:                        + "	{\n"
0269:                        + "		if (szNewName.length > 255)\n"
0270:                        + "			szNewName = szNewName.slice(0, 255);\n"
0271:                        + "\n"
0272:                        + "		objTree.renameFolder(szURL, szNewName);\n"
0273:                        + "	}\n"
0274:                        + "}\n"
0275:                        + "\n"
0276:                        + "function DoMoveCopyCommand(mode)\n"
0277:                        + "{\n"
0278:                        + "	var szDialog = g_szUserBase+\"?Cmd=dialog&template=dlg_movecopy\"\n"
0279:                        + "	var szNewFolderDialog = g_szUserBase +\"?Cmd=dialog&template=dlg_newfolder\"\n"
0280:                        + "	var rgParams = new Array();\n"
0281:                        + "	rgParams[\"g_OpenerTreeCtrl\"] = objTree;\n"
0282:                        + "	rgParams[\"g_CurrentFolderNode\"] = objTree.selectedNode;\n"
0283:                        + "	rgParams[\"g_Location\"] = g_szUserBase;\n"
0284:                        + "	rgParams[\"g_VirtualRoot\"] = g_szVirtualRoot;\n"
0285:                        + "	rgParams[\"g_NewFolderDialogPath\"] = szNewFolderDialog;\n"
0286:                        + "	rgParams[\"g_MoveCopyMode\"] = mode;\n"
0287:                        + "\n"
0288:                        + "	var oStyle = g_winDocAll.idLoading.currentStyle;\n"
0289:                        + "	var nFontHeight = g_nFontHeight - 3;\n"
0290:                        + "	var szFont = \"FONT:\"+ oStyle.fontFamily + \";font-size:\" + nFontHeight + \";\";\n"
0291:                        + "	var nWidth = 50 + 25 * nFontHeight;\n"
0292:                        + "	var nHeight = 200 + 12 * nFontHeight;\n"
0293:                        + "	var hWin = window.showModalDialog(szDialog, rgParams, szFont+\"dialogHeight:\"+nHeight+\"px;dialogWidth:\"+nWidth+\"px;status:no;resizable:yes;help:no;\")\n"
0294:                        + "}\n"
0295:                        + "\n"
0296:                        + "function DoNewFolderCommand()\n"
0297:                        + "{\n"
0298:                        + "	//Verify that user has access to folder\n"
0299:                        + "\n"
0300:                        + "	if(!f_Authenticate(objTree.selectedNode.url))\n"
0301:                        + "	{\n"
0302:                        + "		return(false)\n"
0303:                        + "	}\n"
0304:                        + "\n"
0305:                        + "	var szNewFolderDialog           =   g_szUserBase +\"?Cmd=dialog&template=dlg_newfolder\"\n"
0306:                        + "	var rgParams                    =   new Array();\n"
0307:                        + "	rgParams[\"g_OpenerTreeCtrl\"]    =   objTree;\n"
0308:                        + "	rgParams[\"g_CurrentFolderNode\"] =   objTree.selectedNode;\n"
0309:                        + "	rgParams[\"g_Location\"]          =   g_szUserBase;\n"
0310:                        + "	rgParams[\"g_VirtualRoot\"]       =   g_szVirtualRoot;\n"
0311:                        + "\n"
0312:                        + "	var oStyle = g_winDocAll.idLoading.currentStyle;\n"
0313:                        + "	var nFontHeight = g_nFontHeight - 3;\n"
0314:                        + "	var szFont = \"FONT:\"+ oStyle.fontFamily + \";font-size:\" + nFontHeight + \"px;\";\n"
0315:                        + "	var nWidth = 50 + 25 * nFontHeight;\n"
0316:                        + "	var nHeight = 220 + 12 * nFontHeight;\n"
0317:                        + "	var hWin = window.showModalDialog(szNewFolderDialog, rgParams, szFont+\"dialogHeight:\"+nHeight+\"px;dialogWidth:\"+nWidth+\"px;status:no;resizable:yes;help:no;\")\n"
0318:                        + "}\n"
0319:                        + "\n"
0320:                        + "function f_Authenticate(szURL)\n"
0321:                        + "{\n"
0322:                        + "	var szServerName = f_getServerName(szURL);\n"
0323:                        + "	var iStatus = 0;\n"
0324:                        + "	var bretval = true;\n"
0325:                        + "	var szDocumentDomain = window.document.domain\n"
0326:                        + "	if(szDocumentDomain.toLowerCase() != szServerName.toLowerCase())\n"
0327:                        + "	{\n"
0328:                        + "		//Check the cache to see if already authenticated\n"
0329:                        + "		if(null == g_rgAuthDomains[szServerName])\n"
0330:                        + "		{\n"
0331:                        + "			/*** Send an options to the server to cause authentication to the new domain */\n"
0332:                        + "			var objXMLHTTP = new ActiveXObject(\"Microsoft.XMLHTTP\");\n"
0333:                        + "			objXMLHTTP.open( \"OPTIONS\", szURL,false);\n"
0334:                        + "			objXMLHTTP.send();\n"
0335:                        + "\n"
0336:                        + "			if(200 != objXMLHTTP.status)\n"
0337:                        + "			{\n"
0338:                        + "\n"
0339:                        + "				f_HandleError(iStatus);\n"
0340:                        + "				bretval = false;\n"
0341:                        + "			}\n"
0342:                        + "			else\n"
0343:                        + "			{\n"
0344:                        + "				//Set empty string to server name.  We only use this array as a look up.\n"
0345:                        + "\n"
0346:                        + "				g_rgAuthDomains[szServerName] = \"\";\n"
0347:                        + "				bretval = true;\n"
0348:                        + "			}\n"
0349:                        + "		}\n"
0350:                        + "		else\n"
0351:                        + "		{\n"
0352:                        + "			bretval = true;\n"
0353:                        + "		}\n"
0354:                        + "	}\n"
0355:                        + "	return(bretval)\n"
0356:                        + "}\n"
0357:                        + "\n"
0358:                        + "function f_getServerName(szURL)\n"
0359:                        + "{\n"
0360:                        + "	f_getServerName.re.lastIndex=0;\n"
0361:                        + "	var rgVals = f_getServerName.re.exec(szURL)\n"
0362:                        + "	return(rgVals[1])\n"
0363:                        + "}\n"
0364:                        + "f_getServerName.re =  new RegExp(\"^https?://([^/]+)\",\"i\")\n"
0365:                        + "\n"
0366:                        + "function f_HandleError(num)\n"
0367:                        + "{\n"
0368:                        + "	if(g_szrgErrors[num])\n"
0369:                        + "	{\n"
0370:                        + "		alert(g_szrgErrors[num]);\n"
0371:                        + "	}\n"
0372:                        + "	else if(num == CTL_E_PERMISSIONDENIED || num == FACILITY_WIN32_ERROR_ACCESS_DENIED)\n"
0373:                        + "	{\n"
0374:                        + "		alert(L_errCrossDomainAccessDenied_ErrorMessage)\n"
0375:                        + "	}\n"
0376:                        + "	else\n"
0377:                        + "	{\n"
0378:                        + "		alert(L_idsUnknownError_Text + \"\\r\\n\" + num);\n"
0379:                        + "	}\n"
0380:                        + "\n"
0381:                        + "}\n"
0382:                        + "\n"
0383:                        + "function MenuSelect(item)\n"
0384:                        + "{\n"
0385:                        + "	switch (item)\n"
0386:                        + "	{\n"
0387:                        + "		case \"Delete\":\n"
0388:                        + "			var node    =   objTree.selectedNode;\n"
0389:                        + "			var szName  =   node.displayname;\n"
0390:                        + "			var szURL   =   node.url;\n"
0391:                        + "			if(confirm(L_ConfirmDelete_Text))\n"
0392:                        + "			{\n"
0393:                        + "				objTree.deleteFolder(szURL);\n"
0394:                        + "			}\n"
0395:                        + "		break;\n"
0396:                        + "		case \"Rename\":\n"
0397:                        + "			DoRenameCommand();\n"
0398:                        + "		break;\n"
0399:                        + "		case \"Copy\":\n"
0400:                        + "			DoMoveCopyCommand(\"Copy\");\n"
0401:                        + "		break;\n"
0402:                        + "		case \"Move\":\n"
0403:                        + "			DoMoveCopyCommand(\"Move\");\n"
0404:                        + "		break;\n"
0405:                        + "		case \"New Folder\":\n"
0406:                        + "			DoNewFolderCommand();\n"
0407:                        + "		break;\n"
0408:                        + "		case \"Refresh\":\n"
0409:                        + "			var objFolder = objTree.selectedNode\n"
0410:                        + "			if(null != objFolder)\n"
0411:                        + "			{\n"
0412:                        + "				objTree.refreshFolder(objFolder.url);\n"
0413:                        + "			}\n"
0414:                        + "		break;\n"
0415:                        + "		case \"Open\":\n"
0416:                        + "			var node = objTree.selectedNode;\n"
0417:                        + "			if(node)\n"
0418:                        + "			{\n"
0419:                        + "				Navigate(node.url + \"?Cmd=contents\" +((node.isDeletedItems)?\"&allowShowDeleted=1\":\"\") );\n"
0420:                        + "			}\n"
0421:                        + "		break;\n"
0422:                        + "		case \"OpenNewWindow\":\n"
0423:                        + "			var node        = objTree.selectedNode;\n"
0424:                        + "			var szURL       = node.url + \"?Cmd=contents\" +((node.isDeletedItems)?\"&allowShowDeleted=1\":\"\");\n"
0425:                        + "			var windowName  = new String(Math.round(Math.random() * 100000));\n"
0426:                        + "			var hWin = window.open(szURL,windowName,\"toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1\")\n"
0427:                        + "		break;\n"
0428:                        + "	}\n"
0429:                        + "	return (false);\n"
0430:                        + "}\n"
0431:                        + "\n"
0432:                        + "var m_szReminders;\n"
0433:                        + "\n"
0434:                        + "function ShowReminders(szXml)\n"
0435:                        + "{\n"
0436:                        + "	var i = 0;\n"
0437:                        + "	var fRc = false;\n"
0438:                        + "	try\n"
0439:                        + "	{\n"
0440:                        + "		if( (null != g_wndReminder) && (!g_wndReminder.closed) )\n"
0441:                        + "		{\n"
0442:                        + "			var x = g_wndReminder.dialogLeft;\n"
0443:                        + "			if( 0 > window.screenLeft )\n"
0444:                        + "			{\n"
0445:                        + "				g_wndReminder.close();\n"
0446:                        + "				g_wndReminder=null;\n"
0447:                        + "			}\n"
0448:                        + "			else\n"
0449:                        + "			{\n"
0450:                        + "				g_wndReminder.updateData(szXml);\n"
0451:                        + "				fRc = true;\n"
0452:                        + "			}\n"
0453:                        + "		}\n"
0454:                        + "		if( true === fRc )\n"
0455:                        + "		{\n"
0456:                        + "			return;\n"
0457:                        + "		}\n"
0458:                        + "	}\n"
0459:                        + "	catch(e)\n"
0460:                        + "	{\n"
0461:                        + "		g_wndReminder=null;\n"
0462:                        + "	}\n"
0463:                        + "\n"
0464:                        + "	var rgParams= new Array();\n"
0465:                        + "	rgParams[\"xmlData\"] = szXml;\n"
0466:                        + "	rgParams[\"callback\"] = onSnooze;\n"
0467:                        + "	rgParams[\"Sound\"] = (\"2\" === g_szEnableReminders);\n"
0468:                        + "	rgParams[\"WavFile\"] = g_szReminderWav;\n"
0469:                        + "	rgParams[\"Snooze\"] = Snooze;\n"
0470:                        + "	rgParams[\"Dismiss\"] = Dismiss;\n"
0471:                        + "\n"
0472:                        + "	var obj = g_winDocAll(\"show_navbar\").firstChild;\n"
0473:                        + "	var nFontHeight = obj.firstChild.offsetHeight - 4;\n"
0474:                        + "	var oStyle = obj.currentStyle;\n"
0475:                        + "	var szFont = \"FONT:\"+ oStyle.fontFamily + \";font-size:\" + nFontHeight + \";\";\n"
0476:                        + "	var nWidth = 110 + 35 * nFontHeight;\n"
0477:                        + "	var nHeight = 120 + 16 * nFontHeight;\n"
0478:                        + "	g_wndReminder = window.showModelessDialog(g_szUserBase+\"?Cmd=dialog&template=dlg_reminders\", rgParams,szFont+\"dialogHeight:\"+nHeight+\"px;dialogWidth:\"+nWidth+\"px;status:no;resizable:yes;help:no;\");\n"
0479:                        + "\n"
0480:                        + "}\n"
0481:                        + "\n"
0482:                        + "function UpdateReminder()\n"
0483:                        + "{\n"
0484:                        + "	ShowReminders( m_szReminders );\n"
0485:                        + "}\n"
0486:                        + "\n"
0487:                        + "function closeReminder()\n"
0488:                        + "{\n"
0489:                        + "	if( g_wndReminder && (!g_wndReminder.closed) )\n"
0490:                        + "	{\n"
0491:                        + "		try\n"
0492:                        + "		{\n"
0493:                        + "			g_wndReminder.close();\n"
0494:                        + "		}\n"
0495:                        + "		catch(e)\n"
0496:                        + "		{\n"
0497:                        + "		}\n"
0498:                        + "	}\n"
0499:                        + "	g_wndReminder = null;\n"
0500:                        + "}\n"
0501:                        + "\n"
0502:                        + "// When new data is available from reminder polling control.\n"
0503:                        + "function onReminders()\n"
0504:                        + "{\n"
0505:                        + "	var i = event.count;\n"
0506:                        + "	m_szReminders = event.szXml;\n"
0507:                        + "	if( 0 == i )\n"
0508:                        + "	{\n"
0509:                        + "		closeReminder();\n"
0510:                        + "	}\n"
0511:                        + "	else\n"
0512:                        + "	{\n"
0513:                        + "		window.setTimeout( UpdateReminder, 100 );\n"
0514:                        + "	}\n"
0515:                        + "}\n"
0516:                        + "\n"
0517:                        + "// Called when item is dismissed from reminder dialog.\n"
0518:                        + "function onSnooze()\n"
0519:                        + "{\n"
0520:                        + "	window.setTimeout( cb_onSnooze, 100 );\n"
0521:                        + "}\n"
0522:                        + "\n"
0523:                        + "function cb_onSnooze()\n"
0524:                        + "{\n"
0525:                        + "	if( g_ctlReminder )\n"
0526:                        + "	{\n"
0527:                        + "		g_ctlReminder.poll();\n"
0528:                        + "	}\n"
0529:                        + "}\n"
0530:                        + "\n"
0531:                        + "function Snooze( rgItems, iMinutes)\n"
0532:                        + "{\n"
0533:                        + "	var re = /\\/[^/]*$/;\n"
0534:                        + "	var szProp;\n"
0535:                        + "\n"
0536:                        + "	if( 0 > iMinutes )\n"
0537:                        + "	{\n"
0538:                        + "		var dtReminder = new Date();\n"
0539:                        + "		dtReminder.setMinutes( dtReminder.getMinutes() + -iMinutes );\n"
0540:                        + "\n"
0541:                        + "		iMinutes = toISOTimeString(dtReminder);\n"
0542:                        + "		szProp = 'remindernexttime';\n"
0543:                        + "	}\n"
0544:                        + "	else\n"
0545:                        + "	{\n"
0546:                        + "		iMinutes = iMinutes * 60;\n"
0547:                        + "		szProp = 'reminderoffset';\n"
0548:                        + "	}\n"
0549:                        + "\n"
0550:                        + "	var fRc = true;\n"
0551:                        + "	while( rgItems.length )\n"
0552:                        + "	{\n"
0553:                        + "		var rgTodo = new Array();\n"
0554:                        + "		var szURL = rgItems[0].apptURL.replace( re, \"\" );\n"
0555:                        + "\n"
0556:                        + "		var xml = '<?xml version=\"1.0\"?\\><a:propertyupdate xmlns:a=\"DAV:\"><a:set><a:prop>' +\n"
0557:                        + "				  '<d:' + szProp + ' xmlns:d=\"urn:schemas:calendar:\">'+ iMinutes + '</d:' + szProp + '>' +\n"
0558:                        + "				  '</a:prop></a:set><a:target>';\n"
0559:                        + "		var j = 0;\n"
0560:                        + "		var i;\n"
0561:                        + "		for( i = 0; i < rgItems.length; i++ )\n"
0562:                        + "		{\n"
0563:                        + "			var szTemp = rgItems[i].apptURL.replace( re, \"\" );\n"
0564:                        + "			if( szTemp === szURL )\n"
0565:                        + "			{\n"
0566:                        + "				xml+= '<a:href>'+rgItems[i].apptURL + '</a:href>';\n"
0567:                        + "			}\n"
0568:                        + "			else\n"
0569:                        + "			{\n"
0570:                        + "				rgTodo[j++] = rgItems[i];\n"
0571:                        + "			}\n"
0572:                        + "		}\n"
0573:                        + "		xml += '</a:target></a:propertyupdate>';\n"
0574:                        + "\n"
0575:                        + "		fRc = batchModify( szURL, xml );\n"
0576:                        + "		if( !fRc )\n"
0577:                        + "		{\n"
0578:                        + "			break;\n"
0579:                        + "		}\n"
0580:                        + "		rgItems = rgTodo;\n"
0581:                        + "	}\n"
0582:                        + "	return fRc;\n"
0583:                        + "}\n"
0584:                        + "\n"
0585:                        + "function Dismiss(rgItems)\n"
0586:                        + "{\n"
0587:                        + "	var re = /\\/[^/]*$/;\n"
0588:                        + "\n"
0589:                        + "	var fRc = true;\n"
0590:                        + "	while( rgItems.length )\n"
0591:                        + "	{\n"
0592:                        + "		var rgTodo = new Array();\n"
0593:                        + "		var szURL = rgItems[0].apptURL.replace( re, \"\" );\n"
0594:                        + "\n"
0595:                        + "		var xml = '<?xml version=\"1.0\"?\\><a:propertyupdate xmlns:a=\"DAV:\"><a:set><a:prop>' +\n"
0596:                        + "				  '<d:remindernexttime xmlns:d=\"urn:schemas:calendar:\">4501-01-01T00:00:00.000Z</d:remindernexttime>' +\n"
0597:                        + "				  '</a:prop></a:set><a:target>';\n"
0598:                        + "		var j = 0;\n"
0599:                        + "		var i;\n"
0600:                        + "		for( i = 0; i < rgItems.length; i++ )\n"
0601:                        + "		{\n"
0602:                        + "			var szTemp = rgItems[i].apptURL.replace( re, \"\" );\n"
0603:                        + "			if( szTemp === szURL )\n"
0604:                        + "			{\n"
0605:                        + "				xml+= '<a:href>'+rgItems[i].apptURL + '</a:href>';\n"
0606:                        + "			}\n"
0607:                        + "			else\n"
0608:                        + "			{\n"
0609:                        + "				rgTodo[j++] = rgItems[i];\n"
0610:                        + "			}\n"
0611:                        + "		}\n"
0612:                        + "		xml += '</a:target></a:propertyupdate>';\n"
0613:                        + "\n"
0614:                        + "		fRc = batchModify( szURL, xml );\n"
0615:                        + "		if( !fRc )\n"
0616:                        + "		{\n"
0617:                        + "			break;\n"
0618:                        + "		}\n"
0619:                        + "\n"
0620:                        + "		xml = '<?xml version=\"1.0\"?\\><a:propertyupdate xmlns:a=\"DAV:\"><a:remove><a:prop>' +\n"
0621:                        + "			  '<d:reminderoffset xmlns:d=\"urn:schemas:calendar:\" />' +\n"
0622:                        + "			  '</a:prop></a:remove><a:target>';\n"
0623:                        + "		j = 0;\n"
0624:                        + "		for( i = 0; i < rgItems.length; i++ )\n"
0625:                        + "		{\n"
0626:                        + "			var szTemp = rgItems[i].apptURL.replace( re, \"\" );\n"
0627:                        + "			if( szTemp === szURL && \"0\" === rgItems[i].type )\n"
0628:                        + "			{\n"
0629:                        + "				xml+= '<a:href>'+rgItems[i].apptURL + '</a:href>';\n"
0630:                        + "				j++;\n"
0631:                        + "			}\n"
0632:                        + "		}\n"
0633:                        + "		if( 0 < j )\n"
0634:                        + "		{\n"
0635:                        + "			xml += '</a:target></a:propertyupdate>';\n"
0636:                        + "			fRc = batchModify( szURL, xml );\n"
0637:                        + "		}\n"
0638:                        + "		if( !fRc )\n"
0639:                        + "		{\n"
0640:                        + "			break;\n"
0641:                        + "		}\n"
0642:                        + "		rgItems = rgTodo;\n"
0643:                        + "	}\n"
0644:                        + "	return( fRc );\n"
0645:                        + "}\n"
0646:                        + "\n"
0647:                        + "function batchModify( szURL, szXML )\n"
0648:                        + "{\n"
0649:                        + "	var fSuccess = false;\n"
0650:                        + "	try\n"
0651:                        + "	{\n"
0652:                        + "		var Req = new ActiveXObject(\"Microsoft.XMLHTTP\");\n"
0653:                        + "		Req.open(\"BPROPPATCH\", szURL, false);\n"
0654:                        + "		Req.setRequestHeader(\"Content-Type\",\"text/xml\");\n"
0655:                        + "		Req.setRequestHeader(\"Translate\",\"f\");\n"
0656:                        + "		Req.setRequestHeader(\"Brief\",\"t\" );\n"
0657:                        + "\n"
0658:                        + "		Req.send(szXML);\n"
0659:                        + "		fSuccess = true;\n"
0660:                        + "	}\n"
0661:                        + "	catch(e)\n"
0662:                        + "	{\n"
0663:                        + "	}\n"
0664:                        + "\n"
0665:                        + "	if( fSuccess && ((200 > Req.status) || (300 <= Req.status)) )\n"
0666:                        + "	{\n"
0667:                        + "		// if the error was not \"Item not found\"\n"
0668:                        + "		if( 404 != Req.status )\n"
0669:                        + "		{\n"
0670:                        + "			fSuccess = false;\n"
0671:                        + "		}\n"
0672:                        + "	}\n"
0673:                        + "	return fSuccess;\n"
0674:                        + "}\n"
0675:                        + "\n"
0676:                        + "function toISOTimeString(dtDate)\n"
0677:                        + "{\n"
0678:                        + "	var sTime = dtDate.getUTCFullYear() + \"-00-00T00:00:00Z\";\n"
0679:                        + "\n"
0680:                        + "	var i = dtDate.getUTCMonth()+1;\n"
0681:                        + "	sTime = sTime.substr(0,(10 > i) ? 6 : 5) + i + sTime.substr(7);\n"
0682:                        + "\n"
0683:                        + "	i = dtDate.getUTCDate();\n"
0684:                        + "	sTime = sTime.substr(0,(10 > i) ? 9 : 8) + i + sTime.substr(10);\n"
0685:                        + "\n"
0686:                        + "	i = dtDate.getUTCHours();\n"
0687:                        + "	sTime = sTime.substr(0,(10 > i) ? 12 : 11) + i + sTime.substr(13);\n"
0688:                        + "\n"
0689:                        + "	i = dtDate.getUTCMinutes();\n"
0690:                        + "	sTime = sTime.substr(0,(10 > i) ? 15 : 14) + i + sTime.substr(16);\n"
0691:                        + "	return sTime;\n"
0692:                        + "}\n"
0693:                        + "\n"
0694:                        + "// When new mail is detected in the inbox.\n"
0695:                        + "function onNewMail()\n"
0696:                        + "{\n"
0697:                        + "	if( 2 <= g_nEnableNewMail )\n"
0698:                        + "	{\n"
0699:                        + "		PlaySound();\n"
0700:                        + "	}\n"
0701:                        + "	if( 0 == (1 & g_nEnableNewMail) )\n"
0702:                        + "	{\n"
0703:                        + "		return;\n"
0704:                        + "	}\n"
0705:                        + "\n"
0706:                        + "	var obj = g_winDocAll['idNewMail'];\n"
0707:                        + "	if( null != obj )\n"
0708:                        + "	{\n"
0709:                        + "		obj.style.display=\"\";\n"
0710:                        + "		for( var i = 0; i < 3; i++ )\n"
0711:                        + "		{\n"
0712:                        + "			var n = obj.scrollHeight - obj.clientHeight;\n"
0713:                        + "			if( 0 < n )\n"
0714:                        + "			{\n"
0715:                        + "				obj.style.height = (i+4)+\"em\";\n"
0716:                        + "			}\n"
0717:                        + "			else\n"
0718:                        + "			{\n"
0719:                        + "				break;\n"
0720:                        + "			}\n"
0721:                        + "		}\n"
0722:                        + "	}\n"
0723:                        + "    AnimateNotify();\n"
0724:                        + "	if( 1 < g_iAddCount )\n"
0725:                        + "	{\n"
0726:                        + "		objTree.updateFolderCount( g_ctlNotify.folder+\"/\" );\n"
0727:                        + "	}\n"
0728:                        + "}\n"
0729:                        + "\n"
0730:                        + "function PlaySound()\n"
0731:                        + "{\n"
0732:                        + "	if( null == g_oSound )\n"
0733:                        + "	{\n"
0734:                        + "		if( !g_fUnix )\n"
0735:                        + "		{\n"
0736:                        + "			g_oSound = window.document.all['idSound'];\n"
0737:                        + "		}\n"
0738:                        + "		else\n"
0739:                        + "		{\n"
0740:                        + "			var oSnd = document.createElement(\"BGSOUND\");\n"
0741:                        + "			oSnd.id = \"idSound\";\n"
0742:                        + "			oSnd.src = g_szNewMailWav;\n"
0743:                        + "			oSnd.LOOP=1;\n"
0744:                        + "			g_oSound = document.body.insertBefore( oSnd, null );\n"
0745:                        + "		}\n"
0746:                        + "	}\n"
0747:                        + "	if( null != g_oSound )\n"
0748:                        + "	{\n"
0749:                        + "		if( !g_fUnix )\n"
0750:                        + "		{\n"
0751:                        + "			g_oSound.beginElement();\n"
0752:                        + "		}\n"
0753:                        + "		else\n"
0754:                        + "		{\n"
0755:                        + "			g_oSound.src = g_oSound.src;\n"
0756:                        + "		}\n"
0757:                        + "	}\n"
0758:                        + "}\n"
0759:                        + "\n"
0760:                        + "function flyInit()\n"
0761:                        + "{\n"
0762:                        + "	flyMove.expand = 0;\n"
0763:                        + "	flyMove.flyY = window.screen.height;\n"
0764:                        + "	flyMove.flyX = window.screen.width;\n"
0765:                        + "}\n"
0766:                        + "\n"
0767:                        + "function flyMove()\n"
0768:                        + "{\n"
0769:                        + "	flyMove.expand += 2;\n"
0770:                        + "	flyMove.flyY -= 2;\n"
0771:                        + "	g_oPopup.show(flyMove.flyX-flyMove.expand, flyMove.flyY, flyMove.expand, flyMove.expand);\n"
0772:                        + "	var oPopupBody = g_oPopup.document.body;\n"
0773:                        + "	if (oPopupBody.clientWidth >= oPopupBody.scrollWidth && oPopupBody.clientHeight >= oPopupBody.scrollHeight)\n"
0774:                        + "	{\n"
0775:                        + "		window.clearInterval(g_idFlyPopup);\n"
0776:                        + "		g_idFlyPopup = -1;\n"
0777:                        + "		window.setTimeout( 'closePopup()', 15000 );\n"
0778:                        + "	}\n"
0779:                        + "}\n"
0780:                        + "flyMove.expand = 0;\n"
0781:                        + "flyMove.flyY = 0;\n"
0782:                        + "flyMove.flyX = 0;\n"
0783:                        + "\n"
0784:                        + "function AnimateNotify()\n"
0785:                        + "{\n"
0786:                        + "	if( null == g_oPopup )\n"
0787:                        + "	{\n"
0788:                        + "		return;\n"
0789:                        + "	}\n"
0790:                        + "	var oPopupBody = g_oPopup.document.body;\n"
0791:                        + "\n"
0792:                        + "	var obj = g_winDocAll['idNewMail'].firstChild;\n"
0793:                        + "	var szHTML = \"<TABLE height=100% width=100% cellpadding=5 cellspacing=5 style=\\\"FONT-SIZE:smaller\\\"><TR><TD align=middle >\"+\n"
0794:                        + "				 \"<A HREF=\\\"#\\\" HIDEFOCUS>\"+obj.title+\"</A><BR><IMG id='nbImage' style='padding-top:4px;CURSOR:hand;BORDER:0 none;' src='' alt=''><DIV></DIV>\"+\n"
0795:                        + "				 \"</TD></TR></TABLE>\"\n"
0796:                        + "\n"
0797:                        + "	oPopupBody.innerHTML = szHTML;\n"
0798:                        + "	var obj = g_winDocAll['inbox'];\n"
0799:                        + "	if( null != obj )\n"
0800:                        + "	{\n"
0801:                        + "		obj = obj.firstChild;\n"
0802:                        + "		var oImg = oPopupBody.all['nbImage'];\n"
0803:                        + "		oImg.alt = obj.alt;\n"
0804:                        + "		oImg.src = obj.src;\n"
0805:                        + "		obj = obj.parentElement.nextSibling;\n"
0806:                        + "		oImg.nextSibling.innerText = obj.innerText;\n"
0807:                        + "	}\n"
0808:                        + "	oPopupBody.style.fontSize = document.body.currentStyle.fontSize;\n"
0809:                        + "	oPopupBody.style.backgroundColor='infobackground';\n"
0810:                        + "	oPopupBody.style.cursor=\"hand\";\n"
0811:                        + "	oPopupBody.style.color = \"infotext\";\n"
0812:                        + "	oPopupBody.style.borderWidth='3px';\n"
0813:                        + "	oPopupBody.style.borderStyle='window-inset';\n"
0814:                        + "	oPopupBody.style.borderColor='activeborder';\n"
0815:                        + "	oPopupBody.onclick = ShowInbox;\n"
0816:                        + "	flyInit();\n"
0817:                        + "	g_idFlyPopup = window.setInterval(flyMove,10);\n"
0818:                        + "}\n"
0819:                        + "\n"
0820:                        + "function closePopup()\n"
0821:                        + "{\n"
0822:                        + "	if( null != g_oPopup )\n"
0823:                        + "	{\n"
0824:                        + "		g_oPopup.hide();\n"
0825:                        + "	}\n"
0826:                        + "}\n"
0827:                        + "\n"
0828:                        + "function ShowInbox()\n"
0829:                        + "{\n"
0830:                        + "	window.top.focus();\n"
0831:                        + "	Navigate( g_ctlNotify.folder + \"/?Cmd=contents\" );\n"
0832:                        + "	if( -1 != g_idFlyPopup )\n"
0833:                        + "	{\n"
0834:                        + "		window.clearInterval(g_idFlyPopup);\n"
0835:                        + "		g_idFlyPopup = -1\n"
0836:                        + "	}\n"
0837:                        + "	closePopup();\n"
0838:                        + "	var obj = g_winDocAll['idNewMail'];\n"
0839:                        + "	if( null != obj )\n"
0840:                        + "	{\n"
0841:                        + "		obj.style.display=\"none\";\n"
0842:                        + "	}\n"
0843:                        + "}\n"
0844:                        + "\n"
0845:                        + "function newOptions( szVal )\n"
0846:                        + "{\n"
0847:                        + "	var rgVals = szVal.split(',');\n"
0848:                        + "	if( g_szEnableReminders != rgVals[0] )\n"
0849:                        + "	{\n"
0850:                        + "		g_szEnableReminders = rgVals[0];\n"
0851:                        + "		switch( g_szEnableReminders )\n"
0852:                        + "		{\n"
0853:                        + "			default:\n"
0854:                        + "			case \"0\":\n"
0855:                        + "				if( g_ctlReminder )\n"
0856:                        + "				{\n"
0857:                        + "					g_ctlReminder.enable=false;\n"
0858:                        + "				}\n"
0859:                        + "				closeReminder();\n"
0860:                        + "				break;\n"
0861:                        + "			case \"1\":\n"
0862:                        + "			case \"2\":\n"
0863:                        + "				closeReminder();\n"
0864:                        + "				g_ctlReminder = g_winDocAll['objReminder'];\n"
0865:                        + "				if( null != g_ctlReminder )\n"
0866:                        + "				{\n"
0867:                        + "					g_ctlReminder.onchange = onReminders;\n"
0868:                        + "					g_ctlReminder.enable = true;\n"
0869:                        + "				}\n"
0870:                        + "				break;\n"
0871:                        + "		}\n"
0872:                        + "	}\n"
0873:                        + "\n"
0874:                        + "	if( g_szEnableNewMail != rgVals[1] )\n"
0875:                        + "	{\n"
0876:                        + "		g_ctlNotify = g_winDocAll['objNotify'];\n"
0877:                        + "		if( null == g_ctlNotify )\n"
0878:                        + "		{\n"
0879:                        + "			return;\n"
0880:                        + "		}\n"
0881:                        + "		if( \"0\" == rgVals[1] )\n"
0882:                        + "		{\n"
0883:                        + "			g_ctlNotify.enable = false;\n"
0884:                        + "		}\n"
0885:                        + "		else\n"
0886:                        + "		{\n"
0887:                        + "			if( 0 == g_nEnableNewMail )\n"
0888:                        + "			{\n"
0889:                        + "				g_ctlNotify.enable = true;\n"
0890:                        + "				g_ctlNotify.onchange = onNewMail;\n"
0891:                        + "			}\n"
0892:                        + "		}\n"
0893:                        + "		g_szEnableNewMail = rgVals[1];\n"
0894:                        + "		g_nEnableNewMail = parseInt( g_szEnableNewMail, 10 );\n"
0895:                        + "	}\n"
0896:                        + "}\n"
0897:                        + "\n"
0898:                        + "function onopened( szFolder )\n"
0899:                        + "{\n"
0900:                        + "	var szInbox = \"\";\n"
0901:                        + "	if( g_szInboxFolder.length )\n"
0902:                        + "	{\n"
0903:                        + "		szInbox = g_szInboxFolder.substr(1);\n"
0904:                        + "		if( szFolder === szInbox )\n"
0905:                        + "		{\n"
0906:                        + "			closePopup();\n"
0907:                        + "			var obj = g_winDocAll['idNewMail'];\n"
0908:                        + "			if( null != obj )\n"
0909:                        + "			{\n"
0910:                        + "				obj.style.display=\"none\";\n"
0911:                        + "			}\n"
0912:                        + "		}\n"
0913:                        + "	}\n"
0914:                        + "	return szInbox;\n"
0915:                        + "}\n"
0916:                        + "\n"
0917:                        + "function setDefaultView(sValue)\n"
0918:                        + "{\n"
0919:                        + "	if (g_bShowFolders == sValue)\n"
0920:                        + "	{\n"
0921:                        + "		return;\n"
0922:                        + "	}\n"
0923:                        + "	g_bShowFolders = sValue;\n"
0924:                        + "\n"
0925:                        + "	var szXML = \"<?xml version=\\\"1.0\\\" ?>\" +\n"
0926:                        + "				\"<D:propertyupdate xmlns:D=\\\"DAV:\\\" xmlns:a=\\\"http://schemas.microsoft.com/exchange/\\\">\" +\n"
0927:                        + "					\"<D:set><D:prop><a:webclientshowhierarchy>\" + sValue + \"</a:webclientshowhierarchy></D:prop></D:set>\" +\n"
0928:                        + "				\"</D:propertyupdate>\";\n"
0929:                        + "	var objXMLHttpRequest= new ActiveXObject(\"Microsoft.XMLHTTP\");\n"
0930:                        + "	objXMLHttpRequest.open(\"PROPPATCH\", g_szUserBase, true);\n"
0931:                        + "	objXMLHttpRequest.setRequestHeader(\"Content-Type\",\"text/xml\");\n"
0932:                        + "	objXMLHttpRequest.setRequestHeader(\"Depth\", \"0\");\n"
0933:                        + "\n"
0934:                        + "	objXMLHttpRequest.send(szXML);\n"
0935:                        + "	var testVar='abc.html';\n" + "}\n";
0936:
0937:                String lExpectation = "//Copyright (c) 2000-2001 Microsoft Corporation.  All rights reserved.\n"
0938:                        + "//<script>\n"
0939:                        + "\n"
0940:                        + "var g_winDocAll = window.document.all;\n"
0941:                        + "var g_iAddCount=0;\n"
0942:                        + "var g_iTabTopOffset = 38;\n"
0943:                        + "var g_fHasGottenFolders = false;\n"
0944:                        + "var g_rgAuthDomains = new Array();\n"
0945:                        + "var g_nFlybarHeight = 25;\n"
0946:                        + "var g_idFlyPopup = -1;\n"
0947:                        + "var g_nFontHeight=13;\n"
0948:                        + "var CTL_E_PERMISSIONDENIED = (1^0x800a0046)-1;\n"
0949:                        + "var FACILITY_WIN32_ERROR_ACCESS_DENIED = (1^0x80070005)+1;\n"
0950:                        + "var g_wndReminder = null;\n"
0951:                        + "var g_ctlReminder = null;\n"
0952:                        + "var g_nEnableNewMail = 0;\n"
0953:                        + "var g_fUnix = false;\n"
0954:                        + "\n"
0955:                        + "/*******Init Error String************/\n"
0956:                        + "g_szrgErrors = new Array();\n"
0957:                        + "g_szrgErrors[900]   = L_errCommunicationfailure_ErrorMessage;\n"
0958:                        + "g_szrgErrors[401]   = L_errLogonFailure_ErrorMessage;\n"
0959:                        + "g_szrgErrors[404]   = L_ErrorItemNotFound_ErrorMessage;\n"
0960:                        + "g_szrgErrors[405]   = L_idsFolderDuplicateNameError;\n"
0961:                        + "g_szrgErrors[403]   = L_errAccessDenied_ErrorMessage;\n"
0962:                        + "g_szrgErrors[412]   = L_errPreconditionfailure_ErrorMessage;\n"
0963:                        + "g_szrgErrors[500]   = L_errInternalServerError_ErrorMessage;\n"
0964:                        + "g_szrgErrors[501]   = L_errInternalServerError_ErrorMessage;\n"
0965:                        + "g_szrgErrors[502]   = L_errBadGateway_ErrorMessage;  //DAV return Bad Gateway.\n"
0966:                        + "// This error occurs when copying folders between private and public stores\n"
0967:                        + "g_szrgErrors[503] = L_errServiceNotAvailable_ErrorMessage;\n"
0968:                        + "g_szrgErrors[1001] = L_ErrorIllegalCharacter_Text;\n"
0969:                        + "var g_ctlNotify = null;\n"
0970:                        + "var g_oSound = null;\n"
0971:                        + "var g_oPopup = null;\n"
0972:                        + "\n"
0973:                        + "function objTree_OnFolderOperationComplete()\n"
0974:                        + "{\n"
0975:                        + "	if(event != null && event.contentType == 1)\n"
0976:                        + "	{\n"
0977:                        + "		try\n"
0978:                        + "		{\n"
0979:                        + "			parent.viewer.RefreshMessageList(null); // force refresh\n"
0980:                        + "		}\n"
0981:                        + "		catch(e) { 	}\n"
0982:                        + "	}\n"
0983:                        + "}\n"
0984:                        + "function objTree_onError()\n"
0985:                        + "{\n"
0986:                        + "	f_HandleError(event.statusCode)\n"
0987:                        + "}\n"
0988:                        + "\n"
0989:                        + "function objTree_onReady()\n"
0990:                        + "{\n"
0991:                        + "	g_iAddCount = 2;\n"
0992:                        + "	if (g_fPublicOnly)\n"
0993:                        + "	{\n"
0994:                        + "		if (g_fPublicTierOn)\n"
0995:                        + "		{\n"
0996:                        + "			if (g_fPublicRoot)\n"
0997:                        + "				objTree.addHierarchy(window.location, true, g_szPublicFoldersDN);\n"
0998:                        + "			else\n"
0999:                        + "				objTree.addHierarchy(window.location, true, null);\n"
1000:                        + "		}\n"
1001:                        + "	}\n"
1002:                        + "	else\n"
1003:                        + "	{\n"
1004:                        + "		objTree.addHierarchy(g_szUserBase, true, g_szUserDisplayName);\n"
1005:                        + "		var szPublicFolderUrl = g_szPublicFolderUrl;\n"
1006:                        + "\n"
1007:                        + "		if (g_fPublicTierOn)\n"
1008:                        + "		{\n"
1009:                        + "			if (g_szPublicFolderUrl == \"\")\n"
1010:                        + "			{\n"
1011:                        + "				// We are going through a front-end so go after /public\n"
1012:                        + "				// off the front-end host\n"
1013:                        + "				szPublicFolderUrl = window.location.protocol + \"//\" + window.location.host + \"/public/\";\n"
1014:                        + "			}\n"
1015:                        + "			objTree.addHierarchy(szPublicFolderUrl, false, g_szPublicFoldersDN);\n"
1016:                        + "		}\n"
1017:                        + "	}\n"
1018:                        + "	treeProgress.style.display = \"none\"\n"
1019:                        + "	g_winDocAll['objTree'].style.height = \"100%\";\n"
1020:                        + "}\n"
1021:                        + "\n"
1022:                        + "function objTree_onSelectFolder()\n"
1023:                        + "{\n"
1024:                        + "	event.cancelBubble  = true;\n"
1025:                        + "	event.returnValue   = false;\n"
1026:                        + "\n"
1027:                        + "	if(event)\n"
1028:                        + "	{\n"
1029:                        + "		if(event.isContext == true)\n"
1030:                        + "		{\n"
1031:                        + "			var node = objTree.selectedNode;\n"
1032:                        + "		}\n"
1033:                        + "		else\n"
1034:                        + "		{\n"
1035:                        + "			Navigate(event.url + \"?Cmd=contents\"+((event.isDeletedItems)?\"&allowShowDeleted=1\":\"\") );\n"
1036:                        + "		}\n"
1037:                        + "	}\n"
1038:                        + "}\n"
1039:                        + "function window.document.oncontextmenu()\n"
1040:                        + "{\n"
1041:                        + "	if(null != event.returnValue)\n"
1042:                        + "	{\n"
1043:                        + "		if(\"object\" == typeof(event.returnValue))\n"
1044:                        + "		{\n"
1045:                        + "			idTreeMenu.menuShow(true,event.clientX, event.clientY+15);\n"
1046:                        + "		}\n"
1047:                        + "	}\n"
1048:                        + "}\n"
1049:                        + "\n"
1050:                        + "function ToggleTab(srcElementID)\n"
1051:                        + "{\n"
1052:                        + "	event.cancelBubble = true;\n"
1053:                        + "	event.returnValue = false;\n"
1054:                        + "\n"
1055:                        + "	if (!g_fPublicOnly)\n"
1056:                        + "	{\n"
1057:                        + "		var tempEl;\n"
1058:                        + "		var srcEl = g_winDocAll[srcElementID];\n"
1059:                        + "\n"
1060:                        + "		if(srcEl.id == \"show_folders\")\n"
1061:                        + "		{\n"
1062:                        + "			if(g_iAddCount == 0)\n"
1063:                        + "			{\n"
1064:                        + "				g_iAddCount++;\n"
1065:                        + "\n"
1066:                        + "				treeProgress.style.display = \"\";\n"
1067:                        + "				g_nFontHeight = g_winDocAll.idLoading.offsetHeight;\n"
1068:                        + "				objTree.addBehavior(g_szVirtualRoot + \"/CONTROLS/ctrl_Tree20.htc\");\n"
1069:                        + "			}\n"
1070:                        + "\n"
1071:                        + "			g_winDocAll['idOutbarpane'].parentElement.style.display=\"none\";\n"
1072:                        + "			g_winDocAll['objTree'].style.display=\"\";\n"
1073:                        + "			setDefaultView(\"1\");\n"
1074:                        + "		}\n"
1075:                        + "		if(srcEl.id == \"show_navbar\")\n"
1076:                        + "		{\n"
1077:                        + "			g_winDocAll['objTree'].style.display=\"none\";\n"
1078:                        + "			g_winDocAll['idOutbarpane'].parentElement.style.display=\"\";\n"
1079:                        + "			setDefaultView(\"0\");\n"
1080:                        + "		}\n"
1081:                        + "	}\n"
1082:                        + "}\n"
1083:                        + "\n"
1084:                        + "function DepressTab(objButton)\n"
1085:                        + "{\n"
1086:                        + "	g_winDocAll['btnShowFolders'].style.borderStyle =\n"
1087:                        + "	g_winDocAll['btnShowNavbar'].style.borderStyle = \"outset\";\n"
1088:                        + "\n"
1089:                        + "	objButton.style.borderStyle = \"inset\";\n"
1090:                        + "}\n"
1091:                        + "\n"
1092:                        + "function window.onload()\n"
1093:                        + "{\n"
1094:                        + "	if(!g_szUserBase)\n"
1095:                        + "	{\n"
1096:                        + "		return(false);\n"
1097:                        + "	}\n"
1098:                        + "\n"
1099:                        + "	var oStyleSheet = window.document.styleSheets(\"idNavbarStyle\");\n"
1100:                        + "	var szFont = \"font-family:'\" + window.document.body.currentStyle.fontFamily + \"'\";\n"
1101:                        + "	oStyleSheet.addRule( \".buttonNormal\", szFont );\n"
1102:                        + "\n"
1103:                        + "	if (g_fPublicOnly)\n"
1104:                        + "	{\n"
1105:                        + "		treeProgress.style.display = \"\";\n"
1106:                        + "		g_nFontHeight = g_winDocAll.idLoading.offsetHeight;\n"
1107:                        + "\n"
1108:                        + "\n"
1109:                        + "		objTree.addBehavior(g_szVirtualRoot + \"/controls/ctrl_Tree20.htc\")\n"
1110:                        + "		g_winDocAll['idOutbarpane'].parentElement.style.display=\"none\";\n"
1111:                        + "		g_winDocAll[\"btnShowNavbar\"].disabled = true;\n"
1112:                        + "		g_winDocAll['objTree'].style.display=\"\";\n"
1113:                        + "	}\n"
1114:                        + "	else\n"
1115:                        + "	{\n"
1116:                        + "		re = /Win[0-9]+|WinCE/i;\n"
1117:                        + "		g_fUnix = !re.test( window.navigator.platform );\n"
1118:                        + "		if( \"0\" != g_szEnableReminders )\n"
1119:                        + "		{\n"
1120:                        + "			g_ctlReminder = g_winDocAll['objReminder'];\n"
1121:                        + "			if( null != g_ctlReminder )\n"
1122:                        + "			{\n"
1123:                        + "				g_ctlReminder.onchange = onReminders;\n"
1124:                        + "				g_ctlReminder.enable = true;\n"
1125:                        + "			}\n"
1126:                        + "		}\n"
1127:                        + "		g_nEnableNewMail = parseInt( g_szEnableNewMail, 10 );\n"
1128:                        + "		if( 0 != g_nEnableNewMail )\n"
1129:                        + "		{\n"
1130:                        + "			g_ctlNotify = g_winDocAll['objNotify'];\n"
1131:                        + "			if( null != g_ctlNotify )\n"
1132:                        + "			{\n"
1133:                        + "				g_ctlNotify.onchange = onNewMail;\n"
1134:                        + "				g_ctlNotify.enable = true;\n"
1135:                        + "\n"
1136:                        + "				try\n"
1137:                        + "				{\n"
1138:                        + "					g_oPopup = window.createPopup();\n"
1139:                        + "				}\n"
1140:                        + "				catch(e)\n"
1141:                        + "				{\n"
1142:                        + "				}\n"
1143:                        + "			}\n"
1144:                        + "		}\n"
1145:                        + "		if (\"1\" == g_bShowFolders)\n"
1146:                        + "		{\n"
1147:                        + "			g_winDocAll[\"btnShowFolders\"].click();\n"
1148:                        + "		}\n"
1149:                        + "		else\n"
1150:                        + "		{\n"
1151:                        + "			g_winDocAll[\"btnShowNavbar\"].click();\n"
1152:                        + "		}\n"
1153:                        + "	}\n"
1154:                        + "}\n"
1155:                        + "\n"
1156:                        + "function Navigate(url)\n"
1157:                        + "{\n"
1158:                        + "	if(parent != null && url != null)\n"
1159:                        + "	{\n"
1160:                        + "		if(parent.viewer != null)\n"
1161:                        + "		{\n"
1162:                        + "			parent.viewer.location = url;\n"
1163:                        + "		}\n"
1164:                        + "	}\n"
1165:                        + "}\n"
1166:                        + "\n"
1167:                        + "function slide_Tabs()\n"
1168:                        + "{\n"
1169:                        + "	ToggleTab(event.srcElement.parentElement.id);\n"
1170:                        + "}\n"
1171:                        + "\n"
1172:                        + "function DoRenameCommand()\n"
1173:                        + "{\n"
1174:                        + "	var objFolder = objTree.selectedNode;\n"
1175:                        + "	var szName = objFolder.displayname;\n"
1176:                        + "	var szURL = objFolder.url;\n"
1177:                        + "\n"
1178:                        + "	var szNewName   =   prompt(L_RenameCurrentFolder_Text, szName);\n"
1179:                        + "\n"
1180:                        + "	if(szNewName != null)\n"
1181:                        + "	{\n"
1182:                        + "		if (szNewName.length > 255)\n"
1183:                        + "			szNewName = szNewName.slice(0, 255);\n"
1184:                        + "\n"
1185:                        + "		objTree.renameFolder(szURL, szNewName);\n"
1186:                        + "	}\n"
1187:                        + "}\n"
1188:                        + "\n"
1189:                        + "function DoMoveCopyCommand(mode)\n"
1190:                        + "{\n"
1191:                        + "	var szDialog = g_szUserBase+\"?Cmd=dialog&template=dlg_movecopy\"\n"
1192:                        + "	var szNewFolderDialog = g_szUserBase +\"?Cmd=dialog&template=dlg_newfolder\"\n"
1193:                        + "	var rgParams = new Array();\n"
1194:                        + "	rgParams[\"g_OpenerTreeCtrl\"] = objTree;\n"
1195:                        + "	rgParams[\"g_CurrentFolderNode\"] = objTree.selectedNode;\n"
1196:                        + "	rgParams[\"g_Location\"] = g_szUserBase;\n"
1197:                        + "	rgParams[\"g_VirtualRoot\"] = g_szVirtualRoot;\n"
1198:                        + "	rgParams[\"g_NewFolderDialogPath\"] = szNewFolderDialog;\n"
1199:                        + "	rgParams[\"g_MoveCopyMode\"] = mode;\n"
1200:                        + "\n"
1201:                        + "	var oStyle = g_winDocAll.idLoading.currentStyle;\n"
1202:                        + "	var nFontHeight = g_nFontHeight - 3;\n"
1203:                        + "	var szFont = \"FONT:\"+ oStyle.fontFamily + \";font-size:\" + nFontHeight + \";\";\n"
1204:                        + "	var nWidth = 50 + 25 * nFontHeight;\n"
1205:                        + "	var nHeight = 200 + 12 * nFontHeight;\n"
1206:                        + "	var hWin = window.showModalDialog(szDialog, rgParams, szFont+\"dialogHeight:\"+nHeight+\"px;dialogWidth:\"+nWidth+\"px;status:no;resizable:yes;help:no;\")\n"
1207:                        + "}\n"
1208:                        + "\n"
1209:                        + "function DoNewFolderCommand()\n"
1210:                        + "{\n"
1211:                        + "	//Verify that user has access to folder\n"
1212:                        + "\n"
1213:                        + "	if(!f_Authenticate(objTree.selectedNode.url))\n"
1214:                        + "	{\n"
1215:                        + "		return(false)\n"
1216:                        + "	}\n"
1217:                        + "\n"
1218:                        + "	var szNewFolderDialog           =   g_szUserBase +\"?Cmd=dialog&template=dlg_newfolder\"\n"
1219:                        + "	var rgParams                    =   new Array();\n"
1220:                        + "	rgParams[\"g_OpenerTreeCtrl\"]    =   objTree;\n"
1221:                        + "	rgParams[\"g_CurrentFolderNode\"] =   objTree.selectedNode;\n"
1222:                        + "	rgParams[\"g_Location\"]          =   g_szUserBase;\n"
1223:                        + "	rgParams[\"g_VirtualRoot\"]       =   g_szVirtualRoot;\n"
1224:                        + "\n"
1225:                        + "	var oStyle = g_winDocAll.idLoading.currentStyle;\n"
1226:                        + "	var nFontHeight = g_nFontHeight - 3;\n"
1227:                        + "	var szFont = \"FONT:\"+ oStyle.fontFamily + \";font-size:\" + nFontHeight + \"px;\";\n"
1228:                        + "	var nWidth = 50 + 25 * nFontHeight;\n"
1229:                        + "	var nHeight = 220 + 12 * nFontHeight;\n"
1230:                        + "	var hWin = window.showModalDialog(szNewFolderDialog, rgParams, szFont+\"dialogHeight:\"+nHeight+\"px;dialogWidth:\"+nWidth+\"px;status:no;resizable:yes;help:no;\")\n"
1231:                        + "}\n"
1232:                        + "\n"
1233:                        + "function f_Authenticate(szURL)\n"
1234:                        + "{\n"
1235:                        + "	var szServerName = f_getServerName(szURL);\n"
1236:                        + "	var iStatus = 0;\n"
1237:                        + "	var bretval = true;\n"
1238:                        + "	var szDocumentDomain = window.document.domain\n"
1239:                        + "	if(szDocumentDomain.toLowerCase() != szServerName.toLowerCase())\n"
1240:                        + "	{\n"
1241:                        + "		//Check the cache to see if already authenticated\n"
1242:                        + "		if(null == g_rgAuthDomains[szServerName])\n"
1243:                        + "		{\n"
1244:                        + "			/*** Send an options to the server to cause authentication to the new domain */\n"
1245:                        + "			var objXMLHTTP = new ActiveXObject(\"Microsoft.XMLHTTP\");\n"
1246:                        + "			objXMLHTTP.open( \"OPTIONS\", szURL,false);\n"
1247:                        + "			objXMLHTTP.send();\n"
1248:                        + "\n"
1249:                        + "			if(200 != objXMLHTTP.status)\n"
1250:                        + "			{\n"
1251:                        + "\n"
1252:                        + "				f_HandleError(iStatus);\n"
1253:                        + "				bretval = false;\n"
1254:                        + "			}\n"
1255:                        + "			else\n"
1256:                        + "			{\n"
1257:                        + "				//Set empty string to server name.  We only use this array as a look up.\n"
1258:                        + "\n"
1259:                        + "				g_rgAuthDomains[szServerName] = \"\";\n"
1260:                        + "				bretval = true;\n"
1261:                        + "			}\n"
1262:                        + "		}\n"
1263:                        + "		else\n"
1264:                        + "		{\n"
1265:                        + "			bretval = true;\n"
1266:                        + "		}\n"
1267:                        + "	}\n"
1268:                        + "	return(bretval)\n"
1269:                        + "}\n"
1270:                        + "\n"
1271:                        + "function f_getServerName(szURL)\n"
1272:                        + "{\n"
1273:                        + "	f_getServerName.re.lastIndex=0;\n"
1274:                        + "	var rgVals = f_getServerName.re.exec(szURL)\n"
1275:                        + "	return(rgVals[1])\n"
1276:                        + "}\n"
1277:                        + "f_getServerName.re =  new RegExp(\"^https?://([^/]+)\",\"i\")\n"
1278:                        + "\n"
1279:                        + "function f_HandleError(num)\n"
1280:                        + "{\n"
1281:                        + "	if(g_szrgErrors[num])\n"
1282:                        + "	{\n"
1283:                        + "		alert(g_szrgErrors[num]);\n"
1284:                        + "	}\n"
1285:                        + "	else if(num == CTL_E_PERMISSIONDENIED || num == FACILITY_WIN32_ERROR_ACCESS_DENIED)\n"
1286:                        + "	{\n"
1287:                        + "		alert(L_errCrossDomainAccessDenied_ErrorMessage)\n"
1288:                        + "	}\n"
1289:                        + "	else\n"
1290:                        + "	{\n"
1291:                        + "		alert(L_idsUnknownError_Text + \"\\r\\n\" + num);\n"
1292:                        + "	}\n"
1293:                        + "\n"
1294:                        + "}\n"
1295:                        + "\n"
1296:                        + "function MenuSelect(item)\n"
1297:                        + "{\n"
1298:                        + "	switch (item)\n"
1299:                        + "	{\n"
1300:                        + "		case \"Delete\":\n"
1301:                        + "			var node    =   objTree.selectedNode;\n"
1302:                        + "			var szName  =   node.displayname;\n"
1303:                        + "			var szURL   =   node.url;\n"
1304:                        + "			if(confirm(L_ConfirmDelete_Text))\n"
1305:                        + "			{\n"
1306:                        + "				objTree.deleteFolder(szURL);\n"
1307:                        + "			}\n"
1308:                        + "		break;\n"
1309:                        + "		case \"Rename\":\n"
1310:                        + "			DoRenameCommand();\n"
1311:                        + "		break;\n"
1312:                        + "		case \"Copy\":\n"
1313:                        + "			DoMoveCopyCommand(\"Copy\");\n"
1314:                        + "		break;\n"
1315:                        + "		case \"Move\":\n"
1316:                        + "			DoMoveCopyCommand(\"Move\");\n"
1317:                        + "		break;\n"
1318:                        + "		case \"New Folder\":\n"
1319:                        + "			DoNewFolderCommand();\n"
1320:                        + "		break;\n"
1321:                        + "		case \"Refresh\":\n"
1322:                        + "			var objFolder = objTree.selectedNode\n"
1323:                        + "			if(null != objFolder)\n"
1324:                        + "			{\n"
1325:                        + "				objTree.refreshFolder(objFolder.url);\n"
1326:                        + "			}\n"
1327:                        + "		break;\n"
1328:                        + "		case \"Open\":\n"
1329:                        + "			var node = objTree.selectedNode;\n"
1330:                        + "			if(node)\n"
1331:                        + "			{\n"
1332:                        + "				Navigate(node.url + \"?Cmd=contents\" +((node.isDeletedItems)?\"&allowShowDeleted=1\":\"\") );\n"
1333:                        + "			}\n"
1334:                        + "		break;\n"
1335:                        + "		case \"OpenNewWindow\":\n"
1336:                        + "			var node        = objTree.selectedNode;\n"
1337:                        + "			var szURL       = node.url + \"?Cmd=contents\" +((node.isDeletedItems)?\"&allowShowDeleted=1\":\"\");\n"
1338:                        + "			var windowName  = new String(Math.round(Math.random() * 100000));\n"
1339:                        + "			var hWin = window.open(szURL,windowName,\"toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1\")\n"
1340:                        + "		break;\n"
1341:                        + "	}\n"
1342:                        + "	return (false);\n"
1343:                        + "}\n"
1344:                        + "\n"
1345:                        + "var m_szReminders;\n"
1346:                        + "\n"
1347:                        + "function ShowReminders(szXml)\n"
1348:                        + "{\n"
1349:                        + "	var i = 0;\n"
1350:                        + "	var fRc = false;\n"
1351:                        + "	try\n"
1352:                        + "	{\n"
1353:                        + "		if( (null != g_wndReminder) && (!g_wndReminder.closed) )\n"
1354:                        + "		{\n"
1355:                        + "			var x = g_wndReminder.dialogLeft;\n"
1356:                        + "			if( 0 > window.screenLeft )\n"
1357:                        + "			{\n"
1358:                        + "				g_wndReminder.close();\n"
1359:                        + "				g_wndReminder=null;\n"
1360:                        + "			}\n"
1361:                        + "			else\n"
1362:                        + "			{\n"
1363:                        + "				g_wndReminder.updateData(szXml);\n"
1364:                        + "				fRc = true;\n"
1365:                        + "			}\n"
1366:                        + "		}\n"
1367:                        + "		if( true === fRc )\n"
1368:                        + "		{\n"
1369:                        + "			return;\n"
1370:                        + "		}\n"
1371:                        + "	}\n"
1372:                        + "	catch(e)\n"
1373:                        + "	{\n"
1374:                        + "		g_wndReminder=null;\n"
1375:                        + "	}\n"
1376:                        + "\n"
1377:                        + "	var rgParams= new Array();\n"
1378:                        + "	rgParams[\"xmlData\"] = szXml;\n"
1379:                        + "	rgParams[\"callback\"] = onSnooze;\n"
1380:                        + "	rgParams[\"Sound\"] = (\"2\" === g_szEnableReminders);\n"
1381:                        + "	rgParams[\"WavFile\"] = g_szReminderWav;\n"
1382:                        + "	rgParams[\"Snooze\"] = Snooze;\n"
1383:                        + "	rgParams[\"Dismiss\"] = Dismiss;\n"
1384:                        + "\n"
1385:                        + "	var obj = g_winDocAll(\"show_navbar\").firstChild;\n"
1386:                        + "	var nFontHeight = obj.firstChild.offsetHeight - 4;\n"
1387:                        + "	var oStyle = obj.currentStyle;\n"
1388:                        + "	var szFont = \"FONT:\"+ oStyle.fontFamily + \";font-size:\" + nFontHeight + \";\";\n"
1389:                        + "	var nWidth = 110 + 35 * nFontHeight;\n"
1390:                        + "	var nHeight = 120 + 16 * nFontHeight;\n"
1391:                        + "	g_wndReminder = window.showModelessDialog(g_szUserBase+\"?Cmd=dialog&template=dlg_reminders\", rgParams,szFont+\"dialogHeight:\"+nHeight+\"px;dialogWidth:\"+nWidth+\"px;status:no;resizable:yes;help:no;\");\n"
1392:                        + "\n"
1393:                        + "}\n"
1394:                        + "\n"
1395:                        + "function UpdateReminder()\n"
1396:                        + "{\n"
1397:                        + "	ShowReminders( m_szReminders );\n"
1398:                        + "}\n"
1399:                        + "\n"
1400:                        + "function closeReminder()\n"
1401:                        + "{\n"
1402:                        + "	if( g_wndReminder && (!g_wndReminder.closed) )\n"
1403:                        + "	{\n"
1404:                        + "		try\n"
1405:                        + "		{\n"
1406:                        + "			g_wndReminder.close();\n"
1407:                        + "		}\n"
1408:                        + "		catch(e)\n"
1409:                        + "		{\n"
1410:                        + "		}\n"
1411:                        + "	}\n"
1412:                        + "	g_wndReminder = null;\n"
1413:                        + "}\n"
1414:                        + "\n"
1415:                        + "// When new data is available from reminder polling control.\n"
1416:                        + "function onReminders()\n"
1417:                        + "{\n"
1418:                        + "	var i = event.count;\n"
1419:                        + "	m_szReminders = event.szXml;\n"
1420:                        + "	if( 0 == i )\n"
1421:                        + "	{\n"
1422:                        + "		closeReminder();\n"
1423:                        + "	}\n"
1424:                        + "	else\n"
1425:                        + "	{\n"
1426:                        + "		window.setTimeout( UpdateReminder, 100 );\n"
1427:                        + "	}\n"
1428:                        + "}\n"
1429:                        + "\n"
1430:                        + "// Called when item is dismissed from reminder dialog.\n"
1431:                        + "function onSnooze()\n"
1432:                        + "{\n"
1433:                        + "	window.setTimeout( cb_onSnooze, 100 );\n"
1434:                        + "}\n"
1435:                        + "\n"
1436:                        + "function cb_onSnooze()\n"
1437:                        + "{\n"
1438:                        + "	if( g_ctlReminder )\n"
1439:                        + "	{\n"
1440:                        + "		g_ctlReminder.poll();\n"
1441:                        + "	}\n"
1442:                        + "}\n"
1443:                        + "\n"
1444:                        + "function Snooze( rgItems, iMinutes)\n"
1445:                        + "{\n"
1446:                        + "	var re = /\\/[^/]*$/;\n"
1447:                        + "	var szProp;\n"
1448:                        + "\n"
1449:                        + "	if( 0 > iMinutes )\n"
1450:                        + "	{\n"
1451:                        + "		var dtReminder = new Date();\n"
1452:                        + "		dtReminder.setMinutes( dtReminder.getMinutes() + -iMinutes );\n"
1453:                        + "\n"
1454:                        + "		iMinutes = toISOTimeString(dtReminder);\n"
1455:                        + "		szProp = 'remindernexttime';\n"
1456:                        + "	}\n"
1457:                        + "	else\n"
1458:                        + "	{\n"
1459:                        + "		iMinutes = iMinutes * 60;\n"
1460:                        + "		szProp = 'reminderoffset';\n"
1461:                        + "	}\n"
1462:                        + "\n"
1463:                        + "	var fRc = true;\n"
1464:                        + "	while( rgItems.length )\n"
1465:                        + "	{\n"
1466:                        + "		var rgTodo = new Array();\n"
1467:                        + "		var szURL = rgItems[0].apptURL.replace( re, \"\" );\n"
1468:                        + "\n"
1469:                        + "		var xml = '<?xml version=\"1.0\"?\\><a:propertyupdate xmlns:a=\"DAV:\"><a:set><a:prop>' +\n"
1470:                        + "				  '<d:' + szProp + ' xmlns:d=\"urn:schemas:calendar:\">'+ iMinutes + '</d:' + szProp + '>' +\n"
1471:                        + "				  '</a:prop></a:set><a:target>';\n"
1472:                        + "		var j = 0;\n"
1473:                        + "		var i;\n"
1474:                        + "		for( i = 0; i < rgItems.length; i++ )\n"
1475:                        + "		{\n"
1476:                        + "			var szTemp = rgItems[i].apptURL.replace( re, \"\" );\n"
1477:                        + "			if( szTemp === szURL )\n"
1478:                        + "			{\n"
1479:                        + "				xml+= '<a:href>'+rgItems[i].apptURL + '</a:href>';\n"
1480:                        + "			}\n"
1481:                        + "			else\n"
1482:                        + "			{\n"
1483:                        + "				rgTodo[j++] = rgItems[i];\n"
1484:                        + "			}\n"
1485:                        + "		}\n"
1486:                        + "		xml += '</a:target></a:propertyupdate>';\n"
1487:                        + "\n"
1488:                        + "		fRc = batchModify( szURL, xml );\n"
1489:                        + "		if( !fRc )\n"
1490:                        + "		{\n"
1491:                        + "			break;\n"
1492:                        + "		}\n"
1493:                        + "		rgItems = rgTodo;\n"
1494:                        + "	}\n"
1495:                        + "	return fRc;\n"
1496:                        + "}\n"
1497:                        + "\n"
1498:                        + "function Dismiss(rgItems)\n"
1499:                        + "{\n"
1500:                        + "	var re = /\\/[^/]*$/;\n"
1501:                        + "\n"
1502:                        + "	var fRc = true;\n"
1503:                        + "	while( rgItems.length )\n"
1504:                        + "	{\n"
1505:                        + "		var rgTodo = new Array();\n"
1506:                        + "		var szURL = rgItems[0].apptURL.replace( re, \"\" );\n"
1507:                        + "\n"
1508:                        + "		var xml = '<?xml version=\"1.0\"?\\><a:propertyupdate xmlns:a=\"DAV:\"><a:set><a:prop>' +\n"
1509:                        + "				  '<d:remindernexttime xmlns:d=\"urn:schemas:calendar:\">4501-01-01T00:00:00.000Z</d:remindernexttime>' +\n"
1510:                        + "				  '</a:prop></a:set><a:target>';\n"
1511:                        + "		var j = 0;\n"
1512:                        + "		var i;\n"
1513:                        + "		for( i = 0; i < rgItems.length; i++ )\n"
1514:                        + "		{\n"
1515:                        + "			var szTemp = rgItems[i].apptURL.replace( re, \"\" );\n"
1516:                        + "			if( szTemp === szURL )\n"
1517:                        + "			{\n"
1518:                        + "				xml+= '<a:href>'+rgItems[i].apptURL + '</a:href>';\n"
1519:                        + "			}\n"
1520:                        + "			else\n"
1521:                        + "			{\n"
1522:                        + "				rgTodo[j++] = rgItems[i];\n"
1523:                        + "			}\n"
1524:                        + "		}\n"
1525:                        + "		xml += '</a:target></a:propertyupdate>';\n"
1526:                        + "\n"
1527:                        + "		fRc = batchModify( szURL, xml );\n"
1528:                        + "		if( !fRc )\n"
1529:                        + "		{\n"
1530:                        + "			break;\n"
1531:                        + "		}\n"
1532:                        + "\n"
1533:                        + "		xml = '<?xml version=\"1.0\"?\\><a:propertyupdate xmlns:a=\"DAV:\"><a:remove><a:prop>' +\n"
1534:                        + "			  '<d:reminderoffset xmlns:d=\"urn:schemas:calendar:\" />' +\n"
1535:                        + "			  '</a:prop></a:remove><a:target>';\n"
1536:                        + "		j = 0;\n"
1537:                        + "		for( i = 0; i < rgItems.length; i++ )\n"
1538:                        + "		{\n"
1539:                        + "			var szTemp = rgItems[i].apptURL.replace( re, \"\" );\n"
1540:                        + "			if( szTemp === szURL && \"0\" === rgItems[i].type )\n"
1541:                        + "			{\n"
1542:                        + "				xml+= '<a:href>'+rgItems[i].apptURL + '</a:href>';\n"
1543:                        + "				j++;\n"
1544:                        + "			}\n"
1545:                        + "		}\n"
1546:                        + "		if( 0 < j )\n"
1547:                        + "		{\n"
1548:                        + "			xml += '</a:target></a:propertyupdate>';\n"
1549:                        + "			fRc = batchModify( szURL, xml );\n"
1550:                        + "		}\n"
1551:                        + "		if( !fRc )\n"
1552:                        + "		{\n"
1553:                        + "			break;\n"
1554:                        + "		}\n"
1555:                        + "		rgItems = rgTodo;\n"
1556:                        + "	}\n"
1557:                        + "	return( fRc );\n"
1558:                        + "}\n"
1559:                        + "\n"
1560:                        + "function batchModify( szURL, szXML )\n"
1561:                        + "{\n"
1562:                        + "	var fSuccess = false;\n"
1563:                        + "	try\n"
1564:                        + "	{\n"
1565:                        + "		var Req = new ActiveXObject(\"Microsoft.XMLHTTP\");\n"
1566:                        + "		Req.open(\"BPROPPATCH\", szURL, false);\n"
1567:                        + "		Req.setRequestHeader(\"Content-Type\",\"text/xml\");\n"
1568:                        + "		Req.setRequestHeader(\"Translate\",\"f\");\n"
1569:                        + "		Req.setRequestHeader(\"Brief\",\"t\" );\n"
1570:                        + "\n"
1571:                        + "		Req.send(szXML);\n"
1572:                        + "		fSuccess = true;\n"
1573:                        + "	}\n"
1574:                        + "	catch(e)\n"
1575:                        + "	{\n"
1576:                        + "	}\n"
1577:                        + "\n"
1578:                        + "	if( fSuccess && ((200 > Req.status) || (300 <= Req.status)) )\n"
1579:                        + "	{\n"
1580:                        + "		// if the error was not \"Item not found\"\n"
1581:                        + "		if( 404 != Req.status )\n"
1582:                        + "		{\n"
1583:                        + "			fSuccess = false;\n"
1584:                        + "		}\n"
1585:                        + "	}\n"
1586:                        + "	return fSuccess;\n"
1587:                        + "}\n"
1588:                        + "\n"
1589:                        + "function toISOTimeString(dtDate)\n"
1590:                        + "{\n"
1591:                        + "	var sTime = dtDate.getUTCFullYear() + \"-00-00T00:00:00Z\";\n"
1592:                        + "\n"
1593:                        + "	var i = dtDate.getUTCMonth()+1;\n"
1594:                        + "	sTime = sTime.substr(0,(10 > i) ? 6 : 5) + i + sTime.substr(7);\n"
1595:                        + "\n"
1596:                        + "	i = dtDate.getUTCDate();\n"
1597:                        + "	sTime = sTime.substr(0,(10 > i) ? 9 : 8) + i + sTime.substr(10);\n"
1598:                        + "\n"
1599:                        + "	i = dtDate.getUTCHours();\n"
1600:                        + "	sTime = sTime.substr(0,(10 > i) ? 12 : 11) + i + sTime.substr(13);\n"
1601:                        + "\n"
1602:                        + "	i = dtDate.getUTCMinutes();\n"
1603:                        + "	sTime = sTime.substr(0,(10 > i) ? 15 : 14) + i + sTime.substr(16);\n"
1604:                        + "	return sTime;\n"
1605:                        + "}\n"
1606:                        + "\n"
1607:                        + "// When new mail is detected in the inbox.\n"
1608:                        + "function onNewMail()\n"
1609:                        + "{\n"
1610:                        + "	if( 2 <= g_nEnableNewMail )\n"
1611:                        + "	{\n"
1612:                        + "		PlaySound();\n"
1613:                        + "	}\n"
1614:                        + "	if( 0 == (1 & g_nEnableNewMail) )\n"
1615:                        + "	{\n"
1616:                        + "		return;\n"
1617:                        + "	}\n"
1618:                        + "\n"
1619:                        + "	var obj = g_winDocAll['idNewMail'];\n"
1620:                        + "	if( null != obj )\n"
1621:                        + "	{\n"
1622:                        + "		obj.style.display=\"\";\n"
1623:                        + "		for( var i = 0; i < 3; i++ )\n"
1624:                        + "		{\n"
1625:                        + "			var n = obj.scrollHeight - obj.clientHeight;\n"
1626:                        + "			if( 0 < n )\n"
1627:                        + "			{\n"
1628:                        + "				obj.style.height = (i+4)+\"em\";\n"
1629:                        + "			}\n"
1630:                        + "			else\n"
1631:                        + "			{\n"
1632:                        + "				break;\n"
1633:                        + "			}\n"
1634:                        + "		}\n"
1635:                        + "	}\n"
1636:                        + "    AnimateNotify();\n"
1637:                        + "	if( 1 < g_iAddCount )\n"
1638:                        + "	{\n"
1639:                        + "		objTree.updateFolderCount( g_ctlNotify.folder+\"/\" );\n"
1640:                        + "	}\n"
1641:                        + "}\n"
1642:                        + "\n"
1643:                        + "function PlaySound()\n"
1644:                        + "{\n"
1645:                        + "	if( null == g_oSound )\n"
1646:                        + "	{\n"
1647:                        + "		if( !g_fUnix )\n"
1648:                        + "		{\n"
1649:                        + "			g_oSound = window.document.all['idSound'];\n"
1650:                        + "		}\n"
1651:                        + "		else\n"
1652:                        + "		{\n"
1653:                        + "			var oSnd = document.createElement(\"BGSOUND\");\n"
1654:                        + "			oSnd.id = \"idSound\";\n"
1655:                        + "			oSnd.src = g_szNewMailWav;\n"
1656:                        + "			oSnd.LOOP=1;\n"
1657:                        + "			g_oSound = document.body.insertBefore( oSnd, null );\n"
1658:                        + "		}\n"
1659:                        + "	}\n"
1660:                        + "	if( null != g_oSound )\n"
1661:                        + "	{\n"
1662:                        + "		if( !g_fUnix )\n"
1663:                        + "		{\n"
1664:                        + "			g_oSound.beginElement();\n"
1665:                        + "		}\n"
1666:                        + "		else\n"
1667:                        + "		{\n"
1668:                        + "			g_oSound.src = g_oSound.src;\n"
1669:                        + "		}\n"
1670:                        + "	}\n"
1671:                        + "}\n"
1672:                        + "\n"
1673:                        + "function flyInit()\n"
1674:                        + "{\n"
1675:                        + "	flyMove.expand = 0;\n"
1676:                        + "	flyMove.flyY = window.screen.height;\n"
1677:                        + "	flyMove.flyX = window.screen.width;\n"
1678:                        + "}\n"
1679:                        + "\n"
1680:                        + "function flyMove()\n"
1681:                        + "{\n"
1682:                        + "	flyMove.expand += 2;\n"
1683:                        + "	flyMove.flyY -= 2;\n"
1684:                        + "	g_oPopup.show(flyMove.flyX-flyMove.expand, flyMove.flyY, flyMove.expand, flyMove.expand);\n"
1685:                        + "	var oPopupBody = g_oPopup.document.body;\n"
1686:                        + "	if (oPopupBody.clientWidth >= oPopupBody.scrollWidth && oPopupBody.clientHeight >= oPopupBody.scrollHeight)\n"
1687:                        + "	{\n"
1688:                        + "		window.clearInterval(g_idFlyPopup);\n"
1689:                        + "		g_idFlyPopup = -1;\n"
1690:                        + "		window.setTimeout( 'closePopup()', 15000 );\n"
1691:                        + "	}\n"
1692:                        + "}\n"
1693:                        + "flyMove.expand = 0;\n"
1694:                        + "flyMove.flyY = 0;\n"
1695:                        + "flyMove.flyX = 0;\n"
1696:                        + "\n"
1697:                        + "function AnimateNotify()\n"
1698:                        + "{\n"
1699:                        + "	if( null == g_oPopup )\n"
1700:                        + "	{\n"
1701:                        + "		return;\n"
1702:                        + "	}\n"
1703:                        + "	var oPopupBody = g_oPopup.document.body;\n"
1704:                        + "\n"
1705:                        + "	var obj = g_winDocAll['idNewMail'].firstChild;\n"
1706:                        + "	var szHTML = \"<TABLE height=100% width=100% cellpadding=5 cellspacing=5 style=\\\"FONT-SIZE:smaller\\\"><TR><TD align=middle >\"+\n"
1707:                        + "				 \"<A HREF=\\\"#\\\" HIDEFOCUS>\"+obj.title+\"</A><BR><IMG id='nbImage' style='padding-top:4px;CURSOR:hand;BORDER:0 none;' src='' alt=''><DIV></DIV>\"+\n"
1708:                        + "				 \"</TD></TR></TABLE>\"\n"
1709:                        + "\n"
1710:                        + "	oPopupBody.innerHTML = szHTML;\n"
1711:                        + "	var obj = g_winDocAll['inbox'];\n"
1712:                        + "	if( null != obj )\n"
1713:                        + "	{\n"
1714:                        + "		obj = obj.firstChild;\n"
1715:                        + "		var oImg = oPopupBody.all['nbImage'];\n"
1716:                        + "		oImg.alt = obj.alt;\n"
1717:                        + "		oImg.src = obj.src;\n"
1718:                        + "		obj = obj.parentElement.nextSibling;\n"
1719:                        + "		oImg.nextSibling.innerText = obj.innerText;\n"
1720:                        + "	}\n"
1721:                        + "	oPopupBody.style.fontSize = document.body.currentStyle.fontSize;\n"
1722:                        + "	oPopupBody.style.backgroundColor='infobackground';\n"
1723:                        + "	oPopupBody.style.cursor=\"hand\";\n"
1724:                        + "	oPopupBody.style.color = \"infotext\";\n"
1725:                        + "	oPopupBody.style.borderWidth='3px';\n"
1726:                        + "	oPopupBody.style.borderStyle='window-inset';\n"
1727:                        + "	oPopupBody.style.borderColor='activeborder';\n"
1728:                        + "	oPopupBody.onclick = ShowInbox;\n"
1729:                        + "	flyInit();\n"
1730:                        + "	g_idFlyPopup = window.setInterval(flyMove,10);\n"
1731:                        + "}\n"
1732:                        + "\n"
1733:                        + "function closePopup()\n"
1734:                        + "{\n"
1735:                        + "	if( null != g_oPopup )\n"
1736:                        + "	{\n"
1737:                        + "		g_oPopup.hide();\n"
1738:                        + "	}\n"
1739:                        + "}\n"
1740:                        + "\n"
1741:                        + "function ShowInbox()\n"
1742:                        + "{\n"
1743:                        + "	window.top.focus();\n"
1744:                        + "	Navigate( g_ctlNotify.folder + \"/?Cmd=contents\" );\n"
1745:                        + "	if( -1 != g_idFlyPopup )\n"
1746:                        + "	{\n"
1747:                        + "		window.clearInterval(g_idFlyPopup);\n"
1748:                        + "		g_idFlyPopup = -1\n"
1749:                        + "	}\n"
1750:                        + "	closePopup();\n"
1751:                        + "	var obj = g_winDocAll['idNewMail'];\n"
1752:                        + "	if( null != obj )\n"
1753:                        + "	{\n"
1754:                        + "		obj.style.display=\"none\";\n"
1755:                        + "	}\n"
1756:                        + "}\n"
1757:                        + "\n"
1758:                        + "function newOptions( szVal )\n"
1759:                        + "{\n"
1760:                        + "	var rgVals = szVal.split(',');\n"
1761:                        + "	if( g_szEnableReminders != rgVals[0] )\n"
1762:                        + "	{\n"
1763:                        + "		g_szEnableReminders = rgVals[0];\n"
1764:                        + "		switch( g_szEnableReminders )\n"
1765:                        + "		{\n"
1766:                        + "			default:\n"
1767:                        + "			case \"0\":\n"
1768:                        + "				if( g_ctlReminder )\n"
1769:                        + "				{\n"
1770:                        + "					g_ctlReminder.enable=false;\n"
1771:                        + "				}\n"
1772:                        + "				closeReminder();\n"
1773:                        + "				break;\n"
1774:                        + "			case \"1\":\n"
1775:                        + "			case \"2\":\n"
1776:                        + "				closeReminder();\n"
1777:                        + "				g_ctlReminder = g_winDocAll['objReminder'];\n"
1778:                        + "				if( null != g_ctlReminder )\n"
1779:                        + "				{\n"
1780:                        + "					g_ctlReminder.onchange = onReminders;\n"
1781:                        + "					g_ctlReminder.enable = true;\n"
1782:                        + "				}\n"
1783:                        + "				break;\n"
1784:                        + "		}\n"
1785:                        + "	}\n"
1786:                        + "\n"
1787:                        + "	if( g_szEnableNewMail != rgVals[1] )\n"
1788:                        + "	{\n"
1789:                        + "		g_ctlNotify = g_winDocAll['objNotify'];\n"
1790:                        + "		if( null == g_ctlNotify )\n"
1791:                        + "		{\n"
1792:                        + "			return;\n"
1793:                        + "		}\n"
1794:                        + "		if( \"0\" == rgVals[1] )\n"
1795:                        + "		{\n"
1796:                        + "			g_ctlNotify.enable = false;\n"
1797:                        + "		}\n"
1798:                        + "		else\n"
1799:                        + "		{\n"
1800:                        + "			if( 0 == g_nEnableNewMail )\n"
1801:                        + "			{\n"
1802:                        + "				g_ctlNotify.enable = true;\n"
1803:                        + "				g_ctlNotify.onchange = onNewMail;\n"
1804:                        + "			}\n"
1805:                        + "		}\n"
1806:                        + "		g_szEnableNewMail = rgVals[1];\n"
1807:                        + "		g_nEnableNewMail = parseInt( g_szEnableNewMail, 10 );\n"
1808:                        + "	}\n"
1809:                        + "}\n"
1810:                        + "\n"
1811:                        + "function onopened( szFolder )\n"
1812:                        + "{\n"
1813:                        + "	var szInbox = \"\";\n"
1814:                        + "	if( g_szInboxFolder.length )\n"
1815:                        + "	{\n"
1816:                        + "		szInbox = g_szInboxFolder.substr(1);\n"
1817:                        + "		if( szFolder === szInbox )\n"
1818:                        + "		{\n"
1819:                        + "			closePopup();\n"
1820:                        + "			var obj = g_winDocAll['idNewMail'];\n"
1821:                        + "			if( null != obj )\n"
1822:                        + "			{\n"
1823:                        + "				obj.style.display=\"none\";\n"
1824:                        + "			}\n"
1825:                        + "		}\n"
1826:                        + "	}\n"
1827:                        + "	return szInbox;\n"
1828:                        + "}\n"
1829:                        + "\n"
1830:                        + "function setDefaultView(sValue)\n"
1831:                        + "{\n"
1832:                        + "	if (g_bShowFolders == sValue)\n"
1833:                        + "	{\n"
1834:                        + "		return;\n"
1835:                        + "	}\n"
1836:                        + "	g_bShowFolders = sValue;\n"
1837:                        + "\n"
1838:                        + "	var szXML = \"<?xml version=\\\"1.0\\\" ?>\" +\n"
1839:                        + "				\"<D:propertyupdate xmlns:D=\\\"DAV:\\\" xmlns:a=\\\"http://schemas.microsoft.com/exchange/\\\">\" +\n"
1840:                        + "					\"<D:set><D:prop><a:webclientshowhierarchy>\" + sValue + \"</a:webclientshowhierarchy></D:prop></D:set>\" +\n"
1841:                        + "				\"</D:propertyupdate>\";\n"
1842:                        + "	var objXMLHttpRequest= new ActiveXObject(\"Microsoft.XMLHTTP\");\n"
1843:                        + "	objXMLHttpRequest.open(\"PROPPATCH\", g_szUserBase, true);\n"
1844:                        + "	objXMLHttpRequest.setRequestHeader(\"Content-Type\",\"text/xml\");\n"
1845:                        + "	objXMLHttpRequest.setRequestHeader(\"Depth\", \"0\");\n"
1846:                        + "\n"
1847:                        + "	objXMLHttpRequest.send(szXML);\n"
1848:                        + "	var testVar='http://rajanagendra.sun.com/Base/Raja/abc.html';\n"
1849:                        + "}\n";
1850:
1851:                String lVarRules = "<Variable name=\"testVar\"/>";
1852:
1853:                RuleSet lRuleSet = CreateRuleSet.withJSVariableRules(lVarRules);
1854:
1855:                Rewriter lRewriter = RewriterPool.create(lRuleSet,
1856:                        LanguageConstants.JS_MIME);
1857:                String lResult = lRewriter.rewrite(lInput,
1858:                        getDefaultJSTranslator());
1859:                assertEquals(lExpectation, lResult);
1860:            }//testVW_NavBar20_JS()
1861:
1862:            public void testBugNo4742026FunctionWithDotInName()
1863:                    throws Exception {
1864:                String lInput = "function window.onload()\n"
1865:                        + "{\n"
1866:                        + "	var fTimeZoneInfoPrinted = false;\n"
1867:                        + "	g_winDocAll = window.document.all;\n"
1868:                        + "	var obj = AccessFld(g_winDocAll.tblTitleBar);\n"
1869:                        + "	if( null != obj )\n"
1870:                        + "	{\n"
1871:                        + "		obj.onresize = window.onresize;\n"
1872:                        + "	}\n"
1873:                        + "\n"
1874:                        + "	g_nFontHeight = AccessFld(g_winDocAll.idLoading).offsetHeight;\n"
1875:                        + "	var oStyles = window.document.styleSheets[0];\n"
1876:                        + "	var szFont = \"font-family:'\" + window.document.body.currentStyle.fontFamily + \"'\";\n"
1877:                        + "	oStyles.addRule( \"INPUT\", szFont );\n"
1878:                        + "	oStyles.addRule( \"BUTTON\", szFont );\n"
1879:                        + "	oStyles.addRule( \"SELECT\", szFont );\n"
1880:                        + "	idMsgViewer.addBehavior(g_szVirtualRoot + \"/CONTROLS/view.htc\");\n"
1881:                        + "	m_oUserOpts = g_winDocAll.userSettings;\n"
1882:                        + "	if( null != m_oUserOpts )\n"
1883:                        + "	{\n"
1884:                        + "		try\n"
1885:                        + "		{\n"
1886:                        + "			m_oUserOpts.load( m_szOptsFile );\n"
1887:                        + "			var szShow = m_oUserOpts.getAttribute( m_szPreviewPane );\n"
1888:                        + "			if( \"true\" == szShow && null !=  g_winDocAll.previewpane)\n"
1889:                        + "			{\n"
1890:                        + "				onCbClickEvent(g_winDocAll.previewpane, false);\n"
1891:                        + "			}\n"
1892:                        + "		}\n"
1893:                        + "		catch(e){}\n"
1894:                        + "	}\n"
1895:                        + "	\n"
1896:                        + "	if(!g_fPublicOnly &&\n"
1897:                        + "	   !fVerifyTimeZone(g_tzOffsetJan, g_tzOffsetJul ))\n"
1898:                        + "	{\n"
1899:                        + "		idStatus.style.display = \"\";\n"
1900:                        + "		idStatus.insertAdjacentText(\"beforeEnd\", g_szTimeZoneConflict);\n"
1901:                        + "		fTimeZoneInfoPrinted = true;\n"
1902:                        + "	}\n"
1903:                        + "\n"
1904:                        + "	if(g_szPwdExpiryInfoMessage != \"\")\n"
1905:                        + "	{\n"
1906:                        + "		if (fTimeZoneInfoPrinted == true)\n"
1907:                        + "		{\n"
1908:                        + "			// Introduce a break\n"
1909:                        + "			idStatus.insertAdjacentText(\"beforeEnd\", \"\\r\")\n"
1910:                        + "		}\n"
1911:                        + "		else\n"
1912:                        + "		{\n"
1913:                        + "			idStatus.style.display = \"\";\n"
1914:                        + "		}\n"
1915:                        + "		idStatus.insertAdjacentText(\"beforeEnd\", g_szPwdExpiryInfoMessage)\n"
1916:                        + "	}\n"
1917:                        + "	window.onresize();\n"
1918:                        + "	//note: all dropdowns must be initialized \"hidden\" in a table for correct widthing\n"
1919:                        + "	if (null!=g_WinDocAll.viewSelect)\n"
1920:                        + "	{\n"
1921:                        + "		g_WinDocAll.viewSelect.style.display=\"\";\n"
1922:                        + "	}	\n"
1923:                        + "	//note g_szVirtualRoot must be set to call fnForceImageRepaint\n"
1924:                        + "	setTimeout(\"fnForceImagePaint()\",100)\n" + "}\n";
1925:
1926:                String lExpectation = "function window.onload()\n"
1927:                        + "{\n"
1928:                        + "	var fTimeZoneInfoPrinted = false;\n"
1929:                        + "	g_winDocAll = window.document.all;\n"
1930:                        + "	var obj = AccessFld(g_winDocAll.tblTitleBar);\n"
1931:                        + "	if( null != obj )\n"
1932:                        + "	{\n"
1933:                        + "		obj.onresize = window.onresize;\n"
1934:                        + "	}\n"
1935:                        + "\n"
1936:                        + "	g_nFontHeight = AccessFld(g_winDocAll.idLoading).offsetHeight;\n"
1937:                        + "	var oStyles = window.document.styleSheets[0];\n"
1938:                        + "	var szFont = \"font-family:'\" + window.document.body.currentStyle.fontFamily + \"'\";\n"
1939:                        + "	oStyles.addRule( \"INPUT\", szFont );\n"
1940:                        + "	oStyles.addRule( \"BUTTON\", szFont );\n"
1941:                        + "	oStyles.addRule( \"SELECT\", szFont );\n"
1942:                        + "	idMsgViewer.addBehavior("
1943:                        + JSWrapperHelper.CONVERT_EXPRESSION_FUNCTION_WRAP_START
1944:                        + "g_szVirtualRoot + \"/CONTROLS/view.htc\"));\n"
1945:                        + "	m_oUserOpts = g_winDocAll.userSettings;\n"
1946:                        + "	if( null != m_oUserOpts )\n"
1947:                        + "	{\n"
1948:                        + "		try\n"
1949:                        + "		{\n"
1950:                        + "			m_oUserOpts.load( m_szOptsFile );\n"
1951:                        + "			var szShow = m_oUserOpts.getAttribute( m_szPreviewPane );\n"
1952:                        + "			if( \"true\" == szShow && null !=  g_winDocAll.previewpane)\n"
1953:                        + "			{\n"
1954:                        + "				onCbClickEvent(g_winDocAll.previewpane, false);\n"
1955:                        + "			}\n"
1956:                        + "		}\n"
1957:                        + "		catch(e){}\n"
1958:                        + "	}\n"
1959:                        + "	\n"
1960:                        + "	if(!g_fPublicOnly &&\n"
1961:                        + "	   !fVerifyTimeZone(g_tzOffsetJan, g_tzOffsetJul ))\n"
1962:                        + "	{\n"
1963:                        + "		idStatus.style.display = \"\";\n"
1964:                        + "		idStatus.insertAdjacentText(\"beforeEnd\", g_szTimeZoneConflict);\n"
1965:                        + "		fTimeZoneInfoPrinted = true;\n"
1966:                        + "	}\n"
1967:                        + "\n"
1968:                        + "	if(g_szPwdExpiryInfoMessage != \"\")\n"
1969:                        + "	{\n"
1970:                        + "		if (fTimeZoneInfoPrinted == true)\n"
1971:                        + "		{\n"
1972:                        + "			// Introduce a break\n"
1973:                        + "			idStatus.insertAdjacentText(\"beforeEnd\", \"\\r\")\n"
1974:                        + "		}\n"
1975:                        + "		else\n"
1976:                        + "		{\n"
1977:                        + "			idStatus.style.display = \"\";\n"
1978:                        + "		}\n"
1979:                        + "		idStatus.insertAdjacentText(\"beforeEnd\", g_szPwdExpiryInfoMessage)\n"
1980:                        + "	}\n"
1981:                        + "	window.onresize();\n"
1982:                        + "	//note: all dropdowns must be initialized \"hidden\" in a table for correct widthing\n"
1983:                        + "	if (null!=g_WinDocAll.viewSelect)\n"
1984:                        + "	{\n"
1985:                        + "		g_WinDocAll.viewSelect.style.display=\"\";\n"
1986:                        + "	}	\n"
1987:                        + "	//note g_szVirtualRoot must be set to call fnForceImageRepaint\n"
1988:                        + "	setTimeout(\"fnForceImagePaint()\",100)\n"
1989:                        + "}\n"
1990:                        + JSWrapperHelper.CONVERT_EXPRESSION_FUNCTION_JS;
1991:
1992:                String lJSFuncRules = "<Function type=\"EXPRESSION\" name=\"*.addBehavior\" paramPatterns=\"y\"/>";
1993:                RuleSet lRuleSet = CreateRuleSet
1994:                        .withHTMLJSTokenJSVarJSFunRules("", "", lJSFuncRules);
1995:                Rewriter lRewriter = RewriterPool.create(lRuleSet,
1996:                        LanguageConstants.JS_MIME);
1997:                String lResult = lRewriter.rewrite(lInput,
1998:                        getDefaultJSTranslator());
1999:                assertEquals(lExpectation, lResult);
2000:            }//testBugNo4742026FunctionWithDotInName()
2001:
2002:            public void testBugNo4721347StringContinuityCharWithOutEOL()
2003:                    throws Exception {
2004:                String lInput = "mfGetAppointments.szSelect ="
2005:                        + "'\"urn:schemas:calendar:location\" AS location, \\r\\"
2006:                        + "\"urn:schemas:httpmail:subject\" AS subject, \\r\\"
2007:                        + "\"urn:schemas:calendar:dtstart\" AS dtstart, \\r\\"
2008:                        + "\"urn:schemas:calendar:dtend\" AS dtend, \\r\\"
2009:                        + "\"urn:schemas:calendar:busystatus\" AS busystatus, \\r\\"
2010:                        + "\"urn:schemas:calendar:instancetype\" AS instancetype, \\r\\"
2011:                        + "\"urn:schemas:calendar:alldayevent\" AS alldayevent, \\r\\"
2012:                        + "\"urn:schemas:calendar:remindernexttime\" AS remindernexttime, \\r\\"
2013:                        + "\"http://schemas.microsoft.com/mapi/proptag/x10c70003\" AS pr_cdormid, \\r\\"
2014:                        + "\"http://schemas.microsoft.com/exchange/sensitivity\" AS sensitivity, \\r\\"
2015:                        + "\"http://schemas.microsoft.com/mapi/apptstateflags\" AS apptstateflags, \\r\\"
2016:                        + "\"urn:schemas:calendar:uid\" AS uid \\r';"
2017:                        + "var testVar='abc.html';";
2018:
2019:                String lExpectation = "mfGetAppointments.szSelect ="
2020:                        + "'\"urn:schemas:calendar:location\" AS location, \\r\\"
2021:                        + "\"urn:schemas:httpmail:subject\" AS subject, \\r\\"
2022:                        + "\"urn:schemas:calendar:dtstart\" AS dtstart, \\r\\"
2023:                        + "\"urn:schemas:calendar:dtend\" AS dtend, \\r\\"
2024:                        + "\"urn:schemas:calendar:busystatus\" AS busystatus, \\r\\"
2025:                        + "\"urn:schemas:calendar:instancetype\" AS instancetype, \\r\\"
2026:                        + "\"urn:schemas:calendar:alldayevent\" AS alldayevent, \\r\\"
2027:                        + "\"urn:schemas:calendar:remindernexttime\" AS remindernexttime, \\r\\"
2028:                        + "\"http://schemas.microsoft.com/mapi/proptag/x10c70003\" AS pr_cdormid, \\r\\"
2029:                        + "\"http://schemas.microsoft.com/exchange/sensitivity\" AS sensitivity, \\r\\"
2030:                        + "\"http://schemas.microsoft.com/mapi/apptstateflags\" AS apptstateflags, \\r\\"
2031:                        + "\"urn:schemas:calendar:uid\" AS uid \\r';"
2032:                        + "var testVar='http://rajanagendra.sun.com/Base/Raja/abc.html';";
2033:
2034:                String lVarRules = "<Variable name=\"testVar\"/>";
2035:
2036:                RuleSet lRuleSet = CreateRuleSet.withJSVariableRules(lVarRules);
2037:
2038:                Rewriter lRewriter = RewriterPool.create(lRuleSet,
2039:                        LanguageConstants.JS_MIME);
2040:                String lResult = lRewriter.rewrite(lInput,
2041:                        getDefaultJSTranslator());
2042:                assertEquals(lExpectation, lResult);
2043:            }//testBugNo4721347StringContinuityCharWithOutEOL()
2044:
2045:            public void testBugNo4721347StringContinuityCharEOL()
2046:                    throws Exception {
2047:                String lInput = "mfGetAppointments.szSelect =\n"
2048:                        + "'\"urn:schemas:calendar:location\" AS location, \\r\\\n"
2049:                        + "\"urn:schemas:httpmail:subject\" AS subject, \\r\\\n"
2050:                        + "\"urn:schemas:calendar:dtstart\" AS dtstart, \\r\\\n"
2051:                        + "\"urn:schemas:calendar:dtend\" AS dtend, \\r\\\n"
2052:                        + "\"urn:schemas:calendar:busystatus\" AS busystatus, \\r\\\n"
2053:                        + "\"urn:schemas:calendar:instancetype\" AS instancetype, \\r\\\n"
2054:                        + "\"urn:schemas:calendar:alldayevent\" AS alldayevent, \\r\\\n"
2055:                        + "\"urn:schemas:calendar:remindernexttime\" AS remindernexttime, \\r\\\n"
2056:                        + "\"http://schemas.microsoft.com/mapi/proptag/x10c70003\" AS pr_cdormid, \\r\\\n"
2057:                        + "\"http://schemas.microsoft.com/exchange/sensitivity\" AS sensitivity, \\r\\\n"
2058:                        + "\"http://schemas.microsoft.com/mapi/apptstateflags\" AS apptstateflags, \\r\\\n"
2059:                        + "\"urn:schemas:calendar:uid\" AS uid \\r';\n"
2060:                        + "var testVar='abc.html';\n";
2061:
2062:                String lExpectation = "mfGetAppointments.szSelect =\n"
2063:                        + "'\"urn:schemas:calendar:location\" AS location, \\r\\\n"
2064:                        + "\"urn:schemas:httpmail:subject\" AS subject, \\r\\\n"
2065:                        + "\"urn:schemas:calendar:dtstart\" AS dtstart, \\r\\\n"
2066:                        + "\"urn:schemas:calendar:dtend\" AS dtend, \\r\\\n"
2067:                        + "\"urn:schemas:calendar:busystatus\" AS busystatus, \\r\\\n"
2068:                        + "\"urn:schemas:calendar:instancetype\" AS instancetype, \\r\\\n"
2069:                        + "\"urn:schemas:calendar:alldayevent\" AS alldayevent, \\r\\\n"
2070:                        + "\"urn:schemas:calendar:remindernexttime\" AS remindernexttime, \\r\\\n"
2071:                        + "\"http://schemas.microsoft.com/mapi/proptag/x10c70003\" AS pr_cdormid, \\r\\\n"
2072:                        + "\"http://schemas.microsoft.com/exchange/sensitivity\" AS sensitivity, \\r\\\n"
2073:                        + "\"http://schemas.microsoft.com/mapi/apptstateflags\" AS apptstateflags, \\r\\\n"
2074:                        + "\"urn:schemas:calendar:uid\" AS uid \\r';\n"
2075:                        + "var testVar='http://rajanagendra.sun.com/Base/Raja/abc.html';\n";
2076:
2077:                String lVarRules = "<Variable name=\"testVar\"/>";
2078:
2079:                RuleSet lRuleSet = CreateRuleSet.withJSVariableRules(lVarRules);
2080:
2081:                Rewriter lRewriter = RewriterPool.create(lRuleSet,
2082:                        LanguageConstants.JS_MIME);
2083:                String lResult = lRewriter.rewrite(lInput,
2084:                        getDefaultJSTranslator());
2085:                assertEquals(lExpectation, lResult);
2086:            }//testBugNo4721347StringContinuityCharEOL()
2087:
2088:            public void testBug4742026WindowsFile() throws Exception {
2089:                String lInput = Resource
2090:                        .read("/com/sun/portal/rewriter/test/samples/html/Bug4721347/Source4Bug4721347Windows.html");
2091:
2092:                String lExpectation = "<HTML>\r\n"
2093:                        + "<HEAD>\r\n"
2094:                        + "<SCRIPT>\n"
2095:                        + "function webguiGetSearchhelpButtonHTML(fieldname)\n"
2096:                        + "{\n"
2097:                        + "\n"
2098:                        + "// \\5c -> \\\n"
2099:                        + "    var html ;\n"
2100:                        + "\n"
2101:                        + "        html = '<img src=\"' + webguiMimeURL + '/webgui/'+webguiTheme+'/images/buttons/tanicon.gif\" style=\"width:17;height:17\"\\\n"
2102:                        + "                onmouseout=\"status=\\' \\';\"\\\n"
2103:                        + "                onmouseover=\"status=\\'?\\';\"\\\n"
2104:                        + "                onclick=\"javascript:webguiRaiseSearchhelp(\\'' + fieldname + '\\')\\\n"
2105:                        + "\">';\n"
2106:                        + "\n"
2107:                        + "var testVar = \"http://rajanagendra.sun.com/Base/Raja/abc.html\";\n\n"
2108:                        + "    return (html) ;\n\n" + "}\n" + "\n"
2109:                        + "</SCRIPT>\r\n" + "</HEAD>\r\n"
2110:                        + "<BODY BGCOLOR=\"#FFFFFF\" \"#000000\">\r\n"
2111:                        + "</BODY>\r\n" + "</HTML>\r\n";
2112:
2113:                String lExpectationWithOutFix = "<HTML>\r\n"
2114:                        + "<HEAD>\r\n"
2115:                        + "<SCRIPT>\r\n"
2116:                        + "function webguiGetSearchhelpButtonHTML(fieldname)\r\n"
2117:                        + "{\r\n"
2118:                        + "\r\n"
2119:                        + "// \\5c -> \\\r\n"
2120:                        + "    var html ;\r\n"
2121:                        + "\r\n"
2122:                        + "        html = '<img src=\"' + webguiMimeURL + '/webgui/'+webguiTheme+'/images/buttons/tanicon.gif\" style=\"width:17;height:17\"\\\r\n"
2123:                        + "                onmouseout=\"status=\\' \\';\"\\\r\n"
2124:                        + "                onmouseover=\"status=\\'?\\';\"\\\r\n"
2125:                        + "                onclick=\"javascript:webguiRaiseSearchhelp(\\'' + fieldname + '\\')\\\r\n"
2126:                        + "\">';\r\n" + "\r\n"
2127:                        + "var testVar = \"abc.html\";\r\n" + "\r\n"
2128:                        + "    return (html) ;\r\n" + "\r\n" + "}\r\n" + "\r\n"
2129:                        + "</SCRIPT>\r\n" + "</HEAD>\r\n"
2130:                        + "<BODY BGCOLOR=\"#FFFFFF\" \"#000000\">\r\n"
2131:                        + "</BODY>\r\n" + "</HTML>\r\n";
2132:
2133:                String lVarRules = "<Variable name=\"testVar\"/>";
2134:
2135:                RuleSet lRuleSet = CreateRuleSet.withJSVariableRules(lVarRules);
2136:
2137:                Rewriter lRewriter = RewriterPool.create(lRuleSet,
2138:                        LanguageConstants.HTML_MIME);
2139:                String lResult = lRewriter.rewrite(lInput,
2140:                        getDefaultTranslator());
2141:                assertEquals(lExpectation, lResult);
2142:            }//testBug4742026WindowsFile()
2143:
2144:            public void testBug4742026UnixFile() throws Exception {
2145:                String lInput = Resource
2146:                        .read("/com/sun/portal/rewriter/test/samples/html/Bug4721347/Source4Bug4721347Unix.html");
2147:
2148:                String lExpectation = "<HTML>\n"
2149:                        + "<HEAD>\n"
2150:                        + "<SCRIPT>\n"
2151:                        + "function webguiGetSearchhelpButtonHTML(fieldname)\n"
2152:                        + "{\n"
2153:                        + "\n"
2154:                        + "// \\5c -> \\\n"
2155:                        + "    var html ;\n"
2156:                        + "\n"
2157:                        + "        html = '<img src=\"' + webguiMimeURL + '/webgui/'+webguiTheme+'/images/buttons/tanicon.gif\" style=\"width:17;height:17\"\\\n"
2158:                        + "                onmouseout=\"status=\\' \\';\"\\\n"
2159:                        + "                onmouseover=\"status=\\'?\\';\"\\\n"
2160:                        + "                onclick=\"javascript:webguiRaiseSearchhelp(\\'' + fieldname + '\\')\\\n"
2161:                        + "\">';\n"
2162:                        + "\n"
2163:                        + "var testVar = \"http://rajanagendra.sun.com/Base/Raja/abc.html\";\n"
2164:                        + "\n" + "    return (html) ;\n" + "\n" + "}\n" + "\n"
2165:                        + "</SCRIPT>\n" + "</HEAD>\n"
2166:                        + "<BODY BGCOLOR=\"#FFFFFF\" \"#000000\">\n"
2167:                        + "</BODY>\n" + "</HTML>\n\n";
2168:
2169:                String lVarRules = "<Variable name=\"testVar\"/>";
2170:
2171:                RuleSet lRuleSet = CreateRuleSet.withJSVariableRules(lVarRules);
2172:
2173:                Rewriter lRewriter = RewriterPool.create(lRuleSet,
2174:                        LanguageConstants.HTML_MIME);
2175:                String lResult = lRewriter.rewrite(lInput,
2176:                        getDefaultTranslator());
2177:                assertEquals(lExpectation, lResult);
2178:            }//testBug4742026UnixFile()
2179:
2180:            public void testBug4742026UnixFileSingleLine() throws Exception {
2181:                String lInput = Resource
2182:                        .read("/com/sun/portal/rewriter/test/samples/html/Bug4721347/Source4Bug4721347UnixSingleLine.html");
2183:
2184:                String lExpectation = "<HTML>\n"
2185:                        + "<HEAD>\n"
2186:                        + "<SCRIPT>\n"
2187:                        + "function webguiGetSearchhelpButtonHTML(fieldname)\n"
2188:                        + "{\n"
2189:                        + "\n"
2190:                        + "// \\5c -> \\\n"
2191:                        + "	var html ;\n"
2192:                        + "    html = '<img src=\"' + webguiMimeURL + '/webgui/'+webguiTheme+'/images/buttons/tanicon.gif\" style=\"width:17;height:17\"                onmouseout=\"status=\\' \\';\"                onmouseover=\"status=\\'?\\';\"                onclick=\"javascript:webguiRaiseSearchhelp(\\'' + fieldname + '\\') \">';\n"
2193:                        + "	var testVar = \"http://rajanagendra.sun.com/Base/Raja/abc.html\";\n"
2194:                        + "    return (html) ;\n" + "}\n" + "\n"
2195:                        + "</SCRIPT>\n" + "</HEAD>\n"
2196:                        + "<BODY BGCOLOR=\"#FFFFFF\" \"#000000\">\n"
2197:                        + "</BODY>\n" + "</HTML>\n\n";
2198:
2199:                String lVarRules = "<Variable name=\"testVar\"/>";
2200:
2201:                RuleSet lRuleSet = CreateRuleSet.withJSVariableRules(lVarRules);
2202:
2203:                Rewriter lRewriter = RewriterPool.create(lRuleSet,
2204:                        LanguageConstants.HTML_MIME);
2205:                String lResult = lRewriter.rewrite(lInput,
2206:                        getDefaultTranslator());
2207:                assertEquals(lExpectation, lResult);
2208:            }//testBug4742026UnixFileSingleLine()
2209:
2210:            public void testBug4742026WindowsFileSingleLine() throws Exception {
2211:                String lInput = Resource
2212:                        .read("/com/sun/portal/rewriter/test/samples/html/Bug4721347/Source4Bug4721347WindowsSingleLine.html");
2213:
2214:                String lExpectation = "<HTML>\r\n"
2215:                        + "<HEAD>\r\n"
2216:                        + "<SCRIPT>\n"
2217:                        + "function webguiGetSearchhelpButtonHTML(fieldname)\n"
2218:                        + "{\n"
2219:                        + "\n"
2220:                        + "// \\5c -> \\\n"
2221:                        + "    var html ;\n\n"
2222:                        + "        html = '<img src=\"' + webguiMimeURL + '/webgui/'+webguiTheme+'/images/buttons/tanicon.gif\" style=\"width:17;height:17\"  onmouseout=\"status=\\' \\';\"            onmouseover=\"status=\\'?\\';\"                onclick=\"javascript:webguiRaiseSearchhelp(\\'' + fieldname + '\\')\">';\n"
2223:                        + "\nvar testVar = \"http://rajanagendra.sun.com/Base/Raja/abc.html\";\n"
2224:                        + "    return (html) ;\n\n}\n\n" + "</SCRIPT>\r\n"
2225:                        + "</HEAD>\r\n"
2226:                        + "<BODY BGCOLOR=\"#FFFFFF\" \"#000000\">\r\n"
2227:                        + "</BODY>\r\n" + "</HTML>\r\n\r\n";
2228:
2229:                String lVarRules = "<Variable name=\"testVar\"/>";
2230:
2231:                RuleSet lRuleSet = CreateRuleSet.withJSVariableRules(lVarRules);
2232:
2233:                Rewriter lRewriter = RewriterPool.create(lRuleSet,
2234:                        LanguageConstants.HTML_MIME);
2235:                String lResult = lRewriter.rewrite(lInput,
2236:                        getDefaultTranslator());
2237:                assertEquals(lExpectation, lResult);
2238:            }//testBug4742026WindowsFileSingleLine()
2239:
2240:            public static void main(String[] args) {
2241:                RewriterModule.initFile();
2242:                BasicTestCase.run(TestJSOWAPages.class);
2243:                TestSuite testSuite = new TestSuite();
2244:                testSuite.addTest(new TestJSOWAPages(
2245:                        "testBug4742026WindowsFile"));
2246:                //BasicTestCase.run( testSuite );
2247:            }//main()
2248:
2249:        }//class TestJSOWAPages
w__w_w__.j___a__v_a___2_s._c_o_m_ | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.