indextree.xslt 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: ps
  5. (C) Copyright IBM Corp. 2005, 2014
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <!--
  9. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  10. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated). Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  11. -->
  12. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/" xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/" xmlns:pg="http://developer.cognos.com/schemas/xts/pg" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:pm="http://developer.cognos.com/schemas/xts/pm" xmlns:mf="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mf" xmlns:cs="http://developer.cognos.com/schemas/cs" xmlns:out="dummy-uri" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:string="java:java.lang.String" xmlns:nav="http://developer.cognos.com/schemas/cps/navigation/1/" exclude-result-prefixes="xts xsl cp dp cf cm cs pg pm mf">
  13. <xsl:output method="xml" encoding="UTF-8" indent="no"/>
  14. <xsl:namespace-alias stylesheet-prefix="out" result-prefix="xsl"/>
  15. <xsl:template match="pg:common-variables">
  16. <out:variable name="cs-ui-search-terms" select="{./pg:searchTerms}"/>
  17. <out:variable name="cs-ui-search-form" select="{./pg:searchForm}"/>
  18. <out:variable name="cs-ui-table-text-style" select="{./pg:tableTextStyle}"/>
  19. <out:variable name="cs-ui-table-header-style" select="{./pg:tableHeaderStyle}"/>
  20. <out:variable name="cs-ui-table-title-style" select="{./pg:tableTitleStyle}"/>
  21. <out:variable name="cs-ui-form-label-style" select="{./pg:formLabelStyle}"/>
  22. <out:variable name="cs-ui-image-root" select="{./pg:imageRoot}"/>
  23. <out:variable name="cs-ui-gateway" select="{./pg:gateway}"/>
  24. <out:variable name="cs-ui-callback-function" select="{./pg:callbackFunction}"/>
  25. <out:variable name="cs-ui-selected-category-style" select="{./pg:selectedCategoryStyle}"/>
  26. <out:variable name="cs-ui-selected-category-hover-style" select="{./pg:selectedCategoryHoverStyle}"/>
  27. <out:variable name="cs-ui-category-hover-style" select="{./pg:categoryHoverStyle}"/>
  28. <out:variable name="cs-ui-category-highlight-style" select="{./pg:categoryHighlightStyle}"/>
  29. <out:variable name="cs-ui-tooltip-style" select="{./pg:tooltipStyle}"/>
  30. <out:variable name="cs-ui-all-filters" select="{./pg:allFilters}"/>
  31. <out:variable name="cs-popup-menu" select="{./pg:popupMenu}"/>
  32. <out:variable name="cs-popup-menu-caption" select="{./pg:popupMenuCaption}"/>
  33. <out:variable name="cs-popup-menu-item" select="{./pg:popupMenuItem}"/>
  34. <out:variable name="cs-popup-menu-item-hover" select="{./pg:popupMenuItemHover}"/>
  35. <out:variable name="cs-browser">
  36. <xsl:choose>
  37. <xsl:when test="./pg:browser">
  38. <out:value-of select="{./pg:browser}"/>
  39. </xsl:when>
  40. <xsl:otherwise>
  41. <out:value-of select="''"/>
  42. </xsl:otherwise>
  43. </xsl:choose>
  44. </out:variable>
  45. <out:variable name="cs-ui-resize-function">
  46. <xsl:choose>
  47. <xsl:when test="./pg:resizeFunction">
  48. <out:value-of select="{./pg:resizeFunction}"/>
  49. </xsl:when>
  50. <xsl:otherwise>
  51. <out:value-of select="'wsrp_rewrite_resizeHandler(null)'"/>
  52. </xsl:otherwise>
  53. </xsl:choose>
  54. </out:variable>
  55. <out:variable name="cs-ui-skin-images">
  56. <xsl:attribute name="select"><xsl:choose><xsl:when test="./pg:skinImages"><xsl:value-of select="./pg:skinImages"/></xsl:when><xsl:otherwise><xsl:value-of select="./pg:imageRoot"/></xsl:otherwise></xsl:choose></xsl:attribute>
  57. </out:variable>
  58. <out:variable name="cs-ui-skin-shared-images">
  59. <xsl:attribute name="select">
  60. <xsl:choose>
  61. <xsl:when test="./pg:skinSharedImages"><xsl:value-of select="./pg:skinSharedImages"/></xsl:when>
  62. <xsl:otherwise><xsl:value-of select="./pg:imageRoot"/></xsl:otherwise>
  63. </xsl:choose>
  64. </xsl:attribute>
  65. </out:variable>
  66. <out:variable name="cs-ui-image-root-space">
  67. <xsl:attribute name="select"><xsl:choose><xsl:when test="./pg:imageRootSpace"><xsl:value-of select="./pg:imageRootSpace"/></xsl:when><xsl:otherwise><xsl:value-of select="./pg:imageRoot"/></xsl:otherwise></xsl:choose></xsl:attribute>
  68. </out:variable>
  69. <out:variable name="cs-passport">
  70. <out:choose>
  71. <!-- pull the passport out of the bus header from CC-->
  72. <out:when test="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']">
  73. <out:value-of select="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
  74. </out:when>
  75. <!-- pull the passport out of the bus header from CPS-->
  76. <out:when test="root/envelope/SOAP-ENV:Envelope/SOAP-ENV:Header/bus:biBusHeader/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']">
  77. <out:value-of select="root/envelope/SOAP-ENV:Envelope/SOAP-ENV:Header/bus:biBusHeader/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
  78. </out:when>
  79. <!-- if its not there and it's not being cleared, see if it is still in the cookie - this really only happens on the logoff page -->
  80. <out:otherwise>
  81. <out:variable name="CAMPassportCookie" select="/root/cookies/cookie[@name='cam_passport']"/>
  82. <out:value-of select="xtsext:camcookie_action('getPassportID', $CAMPassportCookie)"/>
  83. </out:otherwise>
  84. </out:choose>
  85. </out:variable>
  86. </xsl:template>
  87. <xsl:template match="pg:common-script">
  88. <script language="javascript">
  89. function wsrp_rewrite_getWindowHeight(){
  90. if( typeof( window.innerHeight ) == 'number' ) {
  91. return window.innerHeight;
  92. } else if( document.documentElement &amp;&amp; document.documentElement.clientHeight ) {
  93. return document.documentElement.clientHeight;
  94. } else if( document.body &amp;&amp; document.body.clientHeight ) {
  95. return document.body.clientHeight;
  96. }
  97. }
  98. function wsrp_rewrite_addEvent(obj, eventName, handler){
  99. if (obj.attachEvent){
  100. obj.attachEvent("on"+eventName,handler);
  101. }
  102. else if (obj.addEventListener){
  103. obj.addEventListener(eventName, handler, false);
  104. }
  105. }
  106. function wsrp_rewrite_removeEvent(obj, eventName, handler){
  107. if (obj.detachEvent){
  108. obj.detachEvent("on"+eventName,handler);
  109. }
  110. else if (obj.removeEventListener){
  111. obj.removeEventListener(eventName, handler, false);
  112. }
  113. }
  114. function wsrp_rewrite_getTop(obj) {
  115. var curtop = 0;
  116. try {
  117. while (obj.offsetParent) {
  118. curtop += obj.offsetTop;
  119. obj = obj.offsetParent;
  120. }
  121. } catch (e) {}
  122. return curtop;
  123. }
  124. function wsrp_rewrite_getCalculatedStyle(obj, style){
  125. var value;
  126. if (obj.currentStyle){
  127. value = obj.currentStyle[style];
  128. }
  129. else{
  130. value = document.defaultView.getComputedStyle(obj, null).getPropertyValue(style);
  131. }
  132. return value;
  133. }
  134. function wsrp_rewrite_checkPositionAndOverflow(obj) {
  135. var isIE = <out:value-of select="$cs-browser = 'ie' "/>;
  136. var stylePos = wsrp_rewrite_getCalculatedStyle(obj, "position");
  137. // check the overflow. IE, will position the object relative the the parent that has overflow set.
  138. var hasOverflow = wsrp_rewrite_getCalculatedStyle(obj, "overflow") != "visible" ||
  139. wsrp_rewrite_getCalculatedStyle(obj, "overflowX") != "visible" ||
  140. wsrp_rewrite_getCalculatedStyle(obj, "overflowY") != "visible";
  141. return stylePos == 'static' &amp;&amp; !(hasOverflow &amp;&amp; isIE);
  142. }
  143. function wsrp_rewrite_getTopForAbs(obj) {
  144. var curtop = 0;
  145. try {
  146. while (obj.offsetParent) {
  147. if (wsrp_rewrite_checkPositionAndOverflow(obj)) {
  148. curtop += obj.offsetTop;
  149. obj = obj.offsetParent;
  150. } else break;
  151. }
  152. } catch (e) {}
  153. return curtop;
  154. }
  155. function wsrp_rewrite_getLeft(obj) {
  156. var curleft = 0;
  157. try {
  158. while (obj.offsetParent) {
  159. curleft += obj.offsetLeft
  160. obj = obj.offsetParent;
  161. }
  162. } catch (e) {}
  163. return curleft;
  164. }
  165. function wsrp_rewrite_getLeftForAbs(obj) {
  166. var curleft = 0;
  167. try {
  168. while (obj.offsetParent) {
  169. if ( wsrp_rewrite_checkPositionAndOverflow(obj)) {
  170. curleft += obj.offsetLeft
  171. obj = obj.offsetParent;
  172. } else break;
  173. }
  174. } catch (e) {}
  175. return curleft;
  176. }
  177. var wsrp_rewrite_busyImg = new Image();
  178. wsrp_rewrite_busyImg.src="<out:value-of select="xtsext:javascriptencode($cs-ui-image-root)"/>progress.gif";
  179. function wsrp_rewrite_showSearchBusy(bShow) {
  180. var div_results_busy = document.getElementById("wsrp_rewrite_div_results_busy");
  181. if (div_results_busy != null) {
  182. var div_results = document.getElementById("wsrp_rewrite_div_results_content");
  183. if (div_results == null || div_results.style.display == "none") {
  184. if (document.getElementById("wsrp_rewrite_div_result_busy_container")){
  185. div_results = document.getElementById("wsrp_rewrite_div_result_busy_container");
  186. }
  187. }
  188. if (div_results) {
  189. div_results.style.display = "";
  190. if (div_results.id == "wsrp_rewrite_div_result_busy_container" &amp;&amp; div_results.style.height == "0px") {
  191. var nNewHeight = document.body.clientHeight - wsrp_rewrite_getTop(div_results);
  192. div_results.style.height = nNewHeight;
  193. }
  194. if (bShow){
  195. div_results_busy.style.display= "";
  196. document.getElementById("wsrp_rewrite_div_results_busy_img").src = wsrp_rewrite_busyImg.src;
  197. }
  198. var newTop = wsrp_rewrite_getTop(div_results) + div_results.offsetHeight/2 - div_results_busy.offsetHeight/2;
  199. var newLeft = wsrp_rewrite_getLeft(div_results) + div_results .offsetWidth/2 - div_results_busy .offsetWidth/2
  200. div_results_busy.style.left = newLeft;
  201. div_results_busy.style.top = newTop;
  202. if (div_results.id == "wsrp_rewrite_div_result_busy_container") {
  203. div_results.style.display = "none";
  204. }
  205. }
  206. }
  207. }
  208. function wsrp_rewrite_hideSearchBusy() {
  209. var div_results_busy = document.getElementById("wsrp_rewrite_div_results_busy");
  210. if (div_results_busy != null) {
  211. div_results_busy.style.display = "none";
  212. }
  213. }
  214. function wsrp_rewrite_isNewSearchTerms(currentText, previousText) {
  215. if (previousText.length > 0) {
  216. var currentTextTerms = currentText.split(" ");
  217. var previousTextTerms = previousText.split(" ");
  218. for (var i = 0; i &lt; currentTextTerms.length; i++) {
  219. var currentTerm = currentTextTerms[i];
  220. for (var j = 0; j &lt; previousTextTerms.length; j++) {
  221. if (currentTerm == previousTextTerms[j]) {
  222. return false;
  223. }
  224. }
  225. }
  226. }
  227. return (true);
  228. }
  229. </script>
  230. </xsl:template>
  231. <xsl:template match="pg:common-popup-script" priority="1">
  232. <script>
  233. function wsrp_rewrite_findNextFocusableMenuItem(contentElement, event){
  234. var el = event.srcElement ? event.srcElement : event.target;
  235. var evtKey = event.keyCode;
  236. if (el.nodeName.toLowerCase() == "td"){
  237. switch (evtKey)
  238. {
  239. case 38:
  240. //up arrow
  241. var nextParent = el.parentNode.previousElementSibling;
  242. if (nextParent != null){
  243. return nextParent.firstChild;
  244. } else {
  245. return null;
  246. }
  247. case 40:
  248. //down arrow
  249. var nextParent = el.parentNode.nextSibling;
  250. if (nextParent != null){
  251. return nextParent.firstChild;
  252. } else {
  253. return null;
  254. }
  255. }
  256. } else {
  257. var tdEls = contentElement.getElementsByTagName("td");
  258. for (var i = 0;i &lt; tdEls.length;i++) {
  259. var currentTd = tdEls[i];
  260. var imgEls = currentTd.getElementsByTagName("img");
  261. var currentImgEl = null;
  262. if ((imgEls != null)&amp;&amp;(imgEls.length &gt; 0)){
  263. currentImgEl = imgEls[0];
  264. if (currentImgEl.src.indexOf() != -1){
  265. return currentTd;
  266. }
  267. }
  268. return tdEls[0];
  269. }
  270. }
  271. }
  272. function wsrp_rewrite_findMenuDiv(theEl){
  273. var currentChild = theEl;
  274. while (currentChild.nodeName.toLowerCase() != "div")
  275. {
  276. var nodeName = currentChild.nodeName.toLowerCase();
  277. if (nodeName == "body"){
  278. return true;
  279. } else {
  280. currentChild = currentChild.parentNode;
  281. }
  282. }
  283. return currentChild;
  284. }
  285. function wsrp_rewrite_menuItemKeyPress(evt, theEl){
  286. evt = evt != null ? evt : window.event;
  287. if (evt.keyCode == 13) {
  288. theEl.onclick(evt);
  289. var divEl = wsrp_rewrite_findMenuDiv(theEl);
  290. if (divEl != null){
  291. console.log(divEl.id);
  292. wsrp_rewrite_closeMenu(evt, divEl.id);
  293. }
  294. return false;
  295. } else if (evt.keyCode == 27 || evt.keyCode == 9) {
  296. // Esc Key: Close menu and halt
  297. // Tab Key: Close menu and continue
  298. var divEl = wsrp_rewrite_findMenuDiv(theEl);
  299. if (divEl != null){
  300. wsrp_rewrite_closeMenu(evt, divEl.id);
  301. }
  302. if (evt.keyCode == 9) {
  303. return true;
  304. }
  305. } else if ((evt.keyCode == 38) || (evt.keyCode == 40)) {
  306. var nextEl = wsrp_rewrite_findNextFocusableMenuItem(theEl, evt);
  307. if (nextEl != null){nextEl.focus();return true}
  308. }
  309. }
  310. function wsrp_rewrite_closeMenu(event, id){
  311. var content = document.getElementById(id);
  312. var iFrame = document.getElementById(id+"_frame");
  313. if ((content != null) &amp;&amp;(content.style.display == "")){
  314. content.style.display='none';
  315. var closeFoc = document.getElementById(id + "_caption_a");
  316. if (closeFoc != null){
  317. closeFoc.focus();
  318. }
  319. if (iFrame != null){
  320. iFrame.style.display='none';
  321. }
  322. return;
  323. }
  324. }
  325. function wsrp_rewrite_showMenu(event, id){
  326. var content = document.getElementById(id);
  327. var iFrame = document.getElementById(id+"_frame");
  328. if (content.style.display == "" || content.style.display == "block"){
  329. content.style.display='none';
  330. iFrame.style.display='none';
  331. return;
  332. }
  333. var caption = document.getElementById(id + "_caption");
  334. content.style.top = (wsrp_rewrite_getTopForAbs(caption) + caption.offsetHeight)+"px";
  335. content.style.left = wsrp_rewrite_getLeftForAbs(caption)+"px";
  336. if (!iFrame) {
  337. iFrame = document.createElement("iframe");
  338. iFrame.id = id + "_frame";
  339. iFrame.src="<out:value-of select="xtsext:javascriptencode($cs-ui-image-root-space)"/>space.gif";
  340. iFrame.style.borderWidth="0px";
  341. iFrame.style.position="absolute";
  342. iFrame.style.display = "none";
  343. iFrame.setAttribute("role","presentation");
  344. //Insert the iFrame at the same level as the content div so that positioning and z-order are compatable
  345. content.parentNode.appendChild(iFrame);
  346. }
  347. iFrame.style.top = content.style.top;
  348. iFrame.style.left = content.style.left;
  349. iFrame.style.height = content.offsetHeight+"px";
  350. iFrame.style.width = content.offsetWidth+"px";
  351. content.style.display = "block";
  352. iFrame.style.display = "";
  353. var removeFunction = function(event){
  354. var target = event.srcElement ? event.srcElement : event.target;
  355. if (target.id.indexOf(id +"_caption") != -1){
  356. return;
  357. }
  358. wsrp_rewrite_removeEvent(document,"click",removeFunction);
  359. document.getElementById(id).style.display='none';
  360. iFrame.style.display='none';
  361. }
  362. wsrp_rewrite_addEvent(document,"click",removeFunction);
  363. var focusEl = wsrp_rewrite_findNextFocusableMenuItem(content, event);
  364. if (focusEl != null){
  365. focusEl.focus();
  366. }
  367. }
  368. function wsrp_rewrite_selectMenu(id, value){
  369. var oldValue = document.getElementById(id+"_input").value;
  370. var eGif = document.getElementById(id+"_" + oldValue + "_img");
  371. if (eGif){
  372. eGif.src ="<out:value-of select="xtsext:javascriptencode($cs-ui-image-root-space)"/>space.gif";
  373. }
  374. document.getElementById(id+'_caption_text').innerHTML = document.getElementById(id +'_'+ value +'_a').innerHTML;
  375. document.getElementById(id+"_input").value = value;
  376. var eGif = document.getElementById(id+"_" + value + "_img");
  377. if (eGif){
  378. eGif.src ="<out:value-of select="xtsext:javascriptencode($cs-ui-image-root)"/>checkmark.gif";
  379. }
  380. }
  381. </script>
  382. </xsl:template>
  383. <xsl:template match="pg:common-tree-script">
  384. <script language="javascript">
  385. // Pop up support
  386. function wsrp_rewrite_table(parent, border, cellpadding, cellspacing,width, className){
  387. var table = document.createElement("table");
  388. if (className){
  389. table.className= className;
  390. }
  391. table.border= border;
  392. table.cellPadding = cellpadding;
  393. table.cellSpacing = cellspacing;
  394. if (width) {
  395. table.width = width;
  396. }
  397. parent.appendChild(table);
  398. var tbody = document.createElement("tbody");
  399. table.appendChild (tbody);
  400. return tbody;
  401. }
  402. function wsrp_rewrite_tr(parent, id, className){
  403. return wsrp_rewrite_createHtmlObj(parent, "tr", id, className);
  404. }
  405. function wsrp_rewrite_td(parent, id, className){
  406. return wsrp_rewrite_createHtmlObj(parent, "td", id, className);
  407. }
  408. function wsrp_rewrite_div(parent, id, className){
  409. return wsrp_rewrite_createHtmlObj(parent, "div", id, className);
  410. }
  411. function wsrp_rewrite_text(parent, content){
  412. var text = document.createTextNode(content);
  413. parent.appendChild(text);
  414. return text;
  415. }
  416. function wsrp_rewrite_createHtmlObj(parent, tag, id, className){
  417. var obj = document.createElement(tag);
  418. if (id){
  419. obj.setAttribute("id", id);
  420. }
  421. if (className){
  422. obj.setAttribute("class", className);
  423. obj.setAttribute("className", className);
  424. }
  425. parent.appendChild(obj);
  426. return obj;
  427. }
  428. // Search support
  429. var wsrp_rewrite_saFilterUID = new Array();
  430. var wsrp_rewrite_saFilterName = new Array();
  431. var wsrp_rewrite_saFilterType = new Array();
  432. var wsrp_rewrite_saFilterXML = new Array();
  433. var wsrp_rewrite_sCRLF = "\r\n";
  434. var wsrp_rewrite_ctrl= false;
  435. function wsrp_rewrite_doFilterSearch(event) {
  436. wsrp_rewrite_showCategoryList();
  437. // Update hidden input
  438. document.<out:value-of select="$cs-ui-search-form"/>.cs_filter.value = wsrp_rewrite_getFilterSpecificationXML();
  439. // Do not search when Ctrl key pressed - just change search icon to indicate modified filter
  440. if (event &amp;&amp; event.ctrlKey) {
  441. if (!wsrp_rewrite_ctrl){
  442. addEvent(document,'keyup', wsrp_rewrite_keyUpHandler);
  443. }
  444. wsrp_rewrite_ctrl = true;
  445. }
  446. else {
  447. <out:value-of select="$cs-ui-callback-function"/>;
  448. }
  449. }
  450. function wsrp_rewrite_treeInit() {
  451. <out:for-each select="{./pg:filterContext}">
  452. wsrp_rewrite_saFilterName[wsrp_rewrite_saFilterName.length]="<out:value-of select="xtsext:javascriptencode(Name)"/>";
  453. wsrp_rewrite_saFilterType[wsrp_rewrite_saFilterType.length]="<out:value-of select="xtsext:javascriptencode(Type)"/>";
  454. wsrp_rewrite_saFilterXML[wsrp_rewrite_saFilterXML.length]=
  455. <out:for-each select="Filter">
  456. "&lt;Filter><out:value-of select="xtsext:javascriptencode(.)"/>&lt;/Filter>" +
  457. </out:for-each>
  458. "";
  459. wsrp_rewrite_saFilterUID[wsrp_rewrite_saFilterUID.length]="<out:value-of select="xtsext:javascriptencode(UID)"/>";
  460. wsrp_rewrite_highlightTreeItem("<out:value-of select="xtsext:javascriptencode(UID)"/>");
  461. </out:for-each>
  462. // Update hidden input
  463. document.<out:value-of select="$cs-ui-search-form"/>.cs_filter.value = wsrp_rewrite_getFilterSpecificationXML();
  464. }
  465. function wsrp_rewrite_XMLEncode(sInput) {
  466. if (sInput == null || sInput == false) {
  467. return "";
  468. }
  469. var sOutput = new String(sInput);
  470. //&amp;
  471. sOutput = sOutput.replace(/&amp;/g, "&amp;amp;");
  472. //&lt;
  473. sOutput = sOutput.replace(/&lt;/g, "&amp;lt;");
  474. //&gt;
  475. sOutput = sOutput.replace(/&gt;/g, "&amp;gt;");
  476. //&quot;
  477. sOutput = sOutput.replace(/"/g, "&amp;quot;");
  478. //&apos;
  479. sOutput = sOutput.replace(/'/g, "&amp;apos;");
  480. return sOutput;
  481. }
  482. function wsrp_rewrite_getFilterSpecificationXML() {
  483. var sFilterXML = "";
  484. if (wsrp_rewrite_saFilterName.length > 0) {
  485. sFilterXML = "&lt;filterContext>";
  486. for (i=0; i &lt; wsrp_rewrite_saFilterName.length; i++) {
  487. if (wsrp_rewrite_saFilterName[i]!="") {
  488. sFilterXML += "&lt;FilterSpecification>";
  489. sFilterXML += "&lt;Name>"+wsrp_rewrite_XMLEncode(wsrp_rewrite_saFilterName[i])+"&lt;/Name>";
  490. sFilterXML += "&lt;Type>"+wsrp_rewrite_XMLEncode(wsrp_rewrite_saFilterType[i])+"&lt;/Type>";
  491. sFilterXML += "&lt;UID>"+wsrp_rewrite_XMLEncode(wsrp_rewrite_saFilterUID[i])+"&lt;/UID>";
  492. if (wsrp_rewrite_saFilterXML[i]!="") {
  493. sFilterXML += wsrp_rewrite_saFilterXML[i];
  494. }
  495. sFilterXML += "&lt;/FilterSpecification>";
  496. }
  497. }
  498. sFilterXML += "&lt;/filterContext>";
  499. }
  500. return sFilterXML;
  501. }
  502. <!-- //////////// Manage Tree Selections ///////////////// -->
  503. function wsrp_rewrite_getTreeItemIndex(id) {
  504. for (var i=0; i &lt; wsrp_rewrite_saFilterUID.length; i++) {
  505. if (id==wsrp_rewrite_saFilterUID[i]) {
  506. return i;
  507. }
  508. }
  509. return -1;
  510. }
  511. function wsrp_rewrite_highlightTreeItem(id) {
  512. var eDiv = document.getElementById("wsrp_rewrite_select_"+id);
  513. if (eDiv != null) {
  514. eDiv.className ="<out:value-of select="$cs-ui-selected-category-style"/>";
  515. wsrp_rewrite_openParentDiv(eDiv);
  516. }
  517. return true;
  518. }
  519. function wsrp_rewrite_unhighlightTreeItem(id) {
  520. var eDiv = document.getElementById("wsrp_rewrite_select_"+id);
  521. if (eDiv != null) {
  522. eDiv.className = "<out:value-of select="$cs-ui-table-text-style"/>";
  523. return true;
  524. }
  525. return false;
  526. }
  527. function wsrp_rewrite_openParentDiv(eDiv) {
  528. for (var eParent=eDiv.parentNode;eParent!=null;eParent=eParent.parentNode) {
  529. if (eParent.id != null &amp;&amp; eParent.id.substr &amp;&amp; eParent.id.substr(0,"wsrp_rewrite_show_".length) == "wsrp_rewrite_show_" ) {
  530. if (eParent.style != null &amp;&amp; eParent.style.display == "none") {
  531. var uid = eParent.id.substr("wsrp_rewrite_show_".length) ;
  532. wsrp_rewrite_showTreeNode(uid);
  533. }
  534. }
  535. }
  536. }
  537. var wsrp_rewrite_msDelayFocus = 900;
  538. var wsrp_rewrite_eSelectedTreeItem = null;
  539. function wsrp_rewrite_focusTreeItem(id,bScroll) {
  540. var eDiv = document.getElementById("wsrp_rewrite_select_"+id);
  541. if (eDiv != null) {
  542. wsrp_rewrite_eSelectedTreeItem = eDiv;
  543. setTimeout("wsrp_rewrite_delayFocusTreeItem('"+id.replace(/'/g, "&amp;#39;").replace(/"/g, "\\\"")+"',"+bScroll+")",wsrp_rewrite_msDelayFocus);
  544. }
  545. return true;
  546. }
  547. function wsrp_rewrite_delayFocusTreeItem(id,bScroll) {
  548. var eDiv = document.getElementById("wsrp_rewrite_select_"+id);
  549. if (eDiv != null &amp;&amp; wsrp_rewrite_eSelectedTreeItem != null &amp;&amp; eDiv == wsrp_rewrite_eSelectedTreeItem ) {
  550. wsrp_rewrite_eSelectedTreeItem = null;
  551. wsrp_rewrite_doFocusTreeItem(id,bScroll);
  552. }
  553. return true;
  554. }
  555. function wsrp_rewrite_doFocusTreeItem(id,bScroll) {
  556. var eDiv = document.getElementById("wsrp_rewrite_select_"+id);
  557. if (eDiv != null) {
  558. eDiv.className="<out:value-of select="$cs-ui-category-highlight-style"/>";
  559. }
  560. return true;
  561. }
  562. function wsrp_rewrite_unfocusTreeItem(id) {
  563. wsrp_rewrite_eSelectedTreeItem = null;
  564. var eDiv = document.getElementById("wsrp_rewrite_select_"+id);
  565. if (eDiv != null) {
  566. if (wsrp_rewrite_indexOf(wsrp_rewrite_saFilterUID, id) != -1) {
  567. eDiv.className="<out:value-of select="$cs-ui-selected-category-style"/>";
  568. }
  569. else {
  570. eDiv.className= "<out:value-of select="$cs-ui-table-text-style"/>";
  571. }
  572. eDiv.style.borderColor = "white";
  573. }
  574. return true;
  575. }
  576. var wsrp_rewrite_bSelectedAll = false;
  577. function wsrp_rewrite_focusAllTreeItems() {
  578. wsrp_rewrite_bSelectedAll = true;
  579. setTimeout("wsrp_rewrite_delayFocusAllTreeItems()",wsrp_rewrite_msDelayFocus);
  580. return true;
  581. }
  582. function wsrp_rewrite_delayFocusAllTreeItems() {
  583. if (wsrp_rewrite_bSelectedAll==true) {
  584. wsrp_rewrite_bSelectedAll = false;
  585. wsrp_rewrite_doFocusAllTreeItems();
  586. }
  587. return true;
  588. }
  589. function wsrp_rewrite_doFocusAllTreeItems() {
  590. for (i=0; i &lt; wsrp_rewrite_saFilterUID.length; i++) {
  591. wsrp_rewrite_doFocusTreeItem(wsrp_rewrite_saFilterUID[i],false);
  592. }
  593. }
  594. function wsrp_rewrite_unfocusAllTreeItems() {
  595. wsrp_rewrite_bSelectedAll = false;
  596. for (i=0; i &lt; wsrp_rewrite_saFilterUID.length; i++) {
  597. wsrp_rewrite_unfocusTreeItem(wsrp_rewrite_saFilterUID[i]);
  598. }
  599. }
  600. function wsrp_rewrite_focusImage(e) {
  601. e.style.borderColor="#7f7f7f";
  602. }
  603. function wsrp_rewrite_unfocusImage(e) {
  604. e.style.borderColor="white";
  605. }
  606. function wsrp_rewrite_itemOver(e, uid, event) {
  607. wsrp_rewrite_startToolTipTimer(uid,1000, event);
  608. if (wsrp_rewrite_indexOf(wsrp_rewrite_saFilterUID, uid) != -1) {
  609. e.className="<out:value-of select="$cs-ui-selected-category-hover-style"/>";
  610. }
  611. else {
  612. e.className="<out:value-of select="$cs-ui-category-hover-style"/>";
  613. }
  614. }
  615. function wsrp_rewrite_itemOut(e, uid) {
  616. wsrp_rewrite_hideToolTip(uid);
  617. if (wsrp_rewrite_indexOf(wsrp_rewrite_saFilterUID, uid) != -1) {
  618. e.className="<out:value-of select="$cs-ui-selected-category-style"/>";
  619. }
  620. else {
  621. e.className="<out:value-of select="$cs-ui-table-text-style"/>";
  622. }
  623. }
  624. var wsrp_rewrite_toolTipTimer;
  625. function wsrp_rewrite_startToolTipTimer(id, delay, event){
  626. var posx = event.clientX;
  627. var posy = event.clientY;
  628. if (wsrp_rewrite_toolTipTimer){
  629. clearTimeout(wsrp_rewrite_toolTipTimer);
  630. }
  631. var f = function(){
  632. wsrp_rewrite_showToolTip(id, posx, posy);
  633. }
  634. wsrp_rewrite_toolTipTimer = setTimeout(f, delay);
  635. }
  636. function wsrp_rewrite_showToolTip(id, posx,posy) {
  637. var item = document.getElementById("wsrp_rewrite_select_" + id);
  638. if (item) {
  639. var hintBox = document.getElementById("wsrp_rewrite_div_tooltip");
  640. if (!hintBox) {
  641. hintBox = wsrp_rewrite_div(document.getElementById("wsrp_rewrite_div_tree_panel") , "wsrp_rewrite_div_tooltip", "<out:value-of select="$cs-ui-tooltip-style"/>");
  642. hintBox.style.marginRight="10px";
  643. hintBox.style.marginLeft="10px";
  644. hintBox.style.display="none";
  645. hintBox.style.position="absolute";
  646. hintBox.style.padding="5px";
  647. hintBox.style.zIndex="9999";
  648. }
  649. if (hintBox.style.display == "none"){
  650. hintBox.innerHTML="";
  651. var table = wsrp_rewrite_table(hintBox,0,0,0,"100", "<out:value-of select="$cs-ui-table-text-style"/>");
  652. // Criteria - Needed so that tooltip is never empty
  653. var criteria = item.getAttribute("criteria");
  654. if (criteria &amp;&amp; criteria.length > 0){
  655. var td = wsrp_rewrite_td(wsrp_rewrite_tr(table));
  656. td.style.width="400";
  657. td = wsrp_rewrite_td(wsrp_rewrite_tr(table));
  658. wsrp_rewrite_text(td, criteria.replace(/ /g,"&#160;"));
  659. }
  660. // Description
  661. var description = item.getAttribute("description");
  662. if (description &amp;&amp; description.length > 0){
  663. td = wsrp_rewrite_td(wsrp_rewrite_tr(table));
  664. td.style.paddingTop="5px";
  665. wsrp_rewrite_text(td,"<xts:string id="IDS_SEARCH_INDEXTREE_DESCRIPTION"/>");
  666. td = wsrp_rewrite_td(wsrp_rewrite_tr(table));
  667. wsrp_rewrite_text(td, description);
  668. }
  669. // Path
  670. var path = item.getAttribute("path");
  671. if (path &amp;&amp; path.length > 0){
  672. td = wsrp_rewrite_td(wsrp_rewrite_tr(table));
  673. td.style.paddingTop="5px";
  674. wsrp_rewrite_text(td,"<xts:string id="IDS_SEARCH_INDEXTREE_PATH"/>");
  675. td = wsrp_rewrite_td(wsrp_rewrite_tr(table));
  676. wsrp_rewrite_text(td, path.replace(/ /g,"&#160;"));
  677. }
  678. // Parameter value
  679. var myParameter = item.getAttribute("parameter");
  680. if (myParameter &amp;&amp; myParameter.length > 0){
  681. td = wsrp_rewrite_td(wsrp_rewrite_tr(table));
  682. td.style.paddingTop="5px";
  683. wsrp_rewrite_text(td,"<xts:string id="IDS_SEARCH_INDEXTREE_PARAMETER"/>");
  684. td = wsrp_rewrite_td(wsrp_rewrite_tr(table));
  685. wsrp_rewrite_text(td, myParameter);
  686. }
  687. hintBox.style.left = posx + document.body.scrollLeft;
  688. hintBox.style.top = posy + document.body.scrollTop;
  689. hintBox.style.display="";
  690. if (posy + hintBox.offsetHeight > wsrp_rewrite_getWindowHeight()){
  691. hintBox.style.top = wsrp_rewrite_getWindowHeight() - hintBox.offsetHeight + document.body.scrollTop;
  692. }
  693. var iFrame = document.getElementById("wsrp_rewrite_div_tooltip_frame");
  694. if (!iFrame) {
  695. iFrame = document.createElement("iframe");
  696. iFrame.id ="wsrp_rewrite_div_tooltip_frame";
  697. iFrame.style.marginRight="10px";
  698. iFrame.style.marginLeft="10px";
  699. iFrame.src="<out:value-of select="xtsext:javascriptencode($cs-ui-image-root-space)"/>space.gif";
  700. iFrame.style.borderWidth="0px";
  701. iFrame.style.position="absolute";
  702. document.getElementById("wsrp_rewrite_div_tree_panel").appendChild(iFrame)
  703. }
  704. iFrame.style.display = "";
  705. iFrame.style.top = hintBox.style.top ;
  706. iFrame.style.left = hintBox.style.left;
  707. iFrame.style.height = hintBox.offsetHeight;
  708. iFrame.style.width = hintBox.offsetWidth;
  709. }
  710. }
  711. }
  712. function wsrp_rewrite_hideToolTip(id){
  713. if (wsrp_rewrite_toolTipTimer){
  714. clearTimeout(wsrp_rewrite_toolTipTimer);
  715. }
  716. var iFrame = document.getElementById("wsrp_rewrite_div_tooltip_frame");
  717. if (iFrame) {
  718. iFrame.style.display="none";
  719. }
  720. var hintBox = document.getElementById("wsrp_rewrite_div_tooltip");
  721. if (hintBox){
  722. hintBox.style.display="none";
  723. }
  724. }
  725. <!-- //////////// Manage Categories List ///////////////// -->
  726. function wsrp_rewrite_showCategoryList() {
  727. if (wsrp_rewrite_saFilterName.length > 0) {
  728. if (document.getElementById("wsrp_rewrite_search_filter_remove")){
  729. document.getElementById("wsrp_rewrite_search_filter_remove").style.display="";
  730. }
  731. if (document.getElementById("wsrp_rewrite_search_filter_text")){
  732. var sFilterText = "";
  733. for (i=0; i &lt; wsrp_rewrite_saFilterName.length; i++) {
  734. sFilterText += "&amp;#160;&amp;#160;";
  735. sFilterText += "&lt;span style='cursor:pointer;' ";
  736. var filterUID = wsrp_rewrite_saFilterUID[i]
  737. if (wsrp_rewrite_saFilterUID.length>=i) {
  738. sFilterText += " onmouseover=&apos;javascript:wsrp_rewrite_focusTreeItem(";
  739. sFilterText += '"';
  740. sFilterText += filterUID;
  741. sFilterText += '"';
  742. sFilterText +=",true);&apos;";
  743. sFilterText += " onmouseout=&apos;javascript:wsrp_rewrite_unfocusTreeItem(";
  744. sFilterText += '"';
  745. sFilterText += filterUID;
  746. sFilterText += '"';
  747. sFilterText +=");&apos;";
  748. } sFilterText += ">";
  749. sFilterText += wsrp_rewrite_saFilterName[i];
  750. sFilterText += "&lt;/span>";
  751. sFilterText += "&lt;a href='#' title='<xts:string id="IDS_SEARCH_INDEXTREE_CRITERIA_TOOLTIP_REMOVE_CATEGORY"/>' ";
  752. if (wsrp_rewrite_saFilterUID.length>=i) {
  753. sFilterText += " onclick=&apos;javascript:wsrp_rewrite_removeCategory(";
  754. sFilterText += '"';
  755. sFilterText += filterUID;
  756. sFilterText += '"';
  757. sFilterText +=",event);&apos;";
  758. }
  759. sFilterText += ">&lt;img src='<out:value-of select="$cs-ui-image-root"/>action_delete.gif' align='absmiddle' border='0' style='border:1px solid;border-color:white;' width='16' height='16'";
  760. sFilterText += " onmouseover=&apos;javascript:wsrp_rewrite_focusImage(this);&apos;";
  761. sFilterText += " onmouseout=&apos;javascript:wsrp_rewrite_unfocusImage(this)&apos;";
  762. sFilterText += "/>&lt;/a>";
  763. sFilterText += "&lt;br/>";
  764. }
  765. document.getElementById("wsrp_rewrite_search_filter_text").innerHTML = sFilterText;
  766. document.getElementById("wsrp_rewrite_div_search_filters").style.display="";
  767. }
  768. }
  769. else {
  770. if (document.getElementById("wsrp_rewrite_search_filter_remove")) {
  771. document.getElementById("wsrp_rewrite_search_filter_remove").style.display="none";
  772. document.getElementById("wsrp_rewrite_search_filter_text").innerHTML = "";
  773. document.<out:value-of select="$cs-ui-search-form"/>.cs_filter.value = "";
  774. document.getElementById("wsrp_rewrite_div_search_filters").style.display="none";
  775. }
  776. }
  777. <out:value-of select="$cs-ui-resize-function"/>;
  778. }
  779. function wsrp_rewrite_removeCategory(id, event) {
  780. wsrp_rewrite_unhighlightTreeItem(id);
  781. wsrp_rewrite_removeFilterByIndex(wsrp_rewrite_getTreeItemIndex(id));
  782. wsrp_rewrite_doFilterSearch(event);
  783. }
  784. function wsrp_rewrite_removeAllCategories(event) {
  785. for (var i=0; i &lt; wsrp_rewrite_saFilterUID.length; i++) {
  786. wsrp_rewrite_unhighlightTreeItem(wsrp_rewrite_saFilterUID[i]);
  787. }
  788. wsrp_rewrite_saFilterUID.length = 0;
  789. wsrp_rewrite_saFilterName.length = 0;
  790. wsrp_rewrite_saFilterXML.length = 0;
  791. wsrp_rewrite_doFilterSearch(event);
  792. }
  793. function wsrp_rewrite_clearParentFilter(uid) {
  794. var eDiv = document.getElementById("wsrp_rewrite_select_"+uid);
  795. if (eDiv!=null) {
  796. for (var eParent=eDiv.parentNode;eParent!=null;eParent=eParent.parentNode) {
  797. if (eParent.id != null &amp;&amp; eParent.id.substr &amp;&amp; eParent.id.substr(0,"wsrp_rewrite_show_".length) == "wsrp_rewrite_show_" ) {
  798. var id = eParent.id.substr("wsrp_rewrite_show_".length) ;
  799. wsrp_rewrite_unhighlightTreeItem(id);
  800. wsrp_rewrite_removeFilterByIndex(wsrp_rewrite_getTreeItemIndex(id));
  801. break;
  802. }
  803. }
  804. }
  805. }
  806. function wsrp_rewrite_clearChilldFilters(uid) {
  807. var eDiv = document.getElementById("wsrp_rewrite_select_"+uid);
  808. if (eDiv != null) {
  809. for (var i=0;;i++) {
  810. id = uid+"_"+i;
  811. var eChild = document.getElementById("wsrp_rewrite_select_"+id);
  812. if (eChild==null) {
  813. break;
  814. }
  815. wsrp_rewrite_unhighlightTreeItem(id);
  816. wsrp_rewrite_removeFilterByIndex(wsrp_rewrite_getTreeItemIndex(id));
  817. }
  818. }
  819. }
  820. <!-- //////////// Add Filter ///////////////// -->
  821. function wsrp_rewrite_addCategoryFilter(id, name, sFilterXML,event) {
  822. wsrp_rewrite_addFilterEntry(id,name,"category",sFilterXML,event);
  823. }
  824. function wsrp_rewrite_addParameterFilter(id, name, sFilterXML,event) {
  825. wsrp_rewrite_addFilterEntry(id, name, "parameter",sFilterXML,event);
  826. }
  827. function wsrp_rewrite_keyUpHandler(event) {
  828. wsrp_rewrite_doFilterSearch();
  829. wsrp_rewrite_removeEvent(document, "keyup", wsrp_rewrite_keyUpHandler);
  830. }
  831. function wsrp_rewrite_addFilterEntry(id,sName,sType,sFilterXML,event) {
  832. wsrp_rewrite_hideToolTip(id);
  833. // DEBUG alt-click
  834. if (event &amp;&amp; event.altKey) {
  835. sAlert = "=== DETAILS ==="+wsrp_rewrite_sCRLF;
  836. sAlert += sName+wsrp_rewrite_sCRLF;
  837. sAlert += "Type: "+sType+", Selection Id: "+id+wsrp_rewrite_sCRLF;
  838. sAlert += "Filters:"+wsrp_rewrite_sCRLF;
  839. nCount = 0;
  840. nStart = 0;
  841. sAlertFilters = "";
  842. nPos = sFilterXML.indexOf("&lt;Filter>");
  843. while (nPos >= 0) {
  844. ++nCount;
  845. nPos += 8;
  846. nStart = sFilterXML.indexOf("&lt;/Filter>",nPos);
  847. if (nStart >= 0) {
  848. sAlertFilters += sFilterXML.substring(nPos,nStart)+wsrp_rewrite_sCRLF;
  849. nPos = sFilterXML.indexOf("&lt;Filter>",nStart+9);
  850. }
  851. else {
  852. sAlertFilters += sFilterXML.substr(nPos);
  853. nPos = -1;
  854. }
  855. }
  856. if (sAlertFilters!="") {
  857. sAlert += sAlertFilters;
  858. }
  859. alert(sAlert);
  860. return false;
  861. }
  862. // Test for item already selected
  863. if (wsrp_rewrite_getTreeItemIndex(id)>=0) {
  864. if (event &amp;&amp; event.ctrlKey){
  865. wsrp_rewrite_unhighlightTreeItem(id);
  866. wsrp_rewrite_removeFilterByIndex(wsrp_rewrite_getTreeItemIndex(id));
  867. wsrp_rewrite_doFilterSearch(event);
  868. }
  869. return false;
  870. }
  871. // Remove parent filter
  872. wsrp_rewrite_clearParentFilter(id);
  873. // Remove child filters
  874. wsrp_rewrite_clearChilldFilters(id);
  875. // Set filter arrays
  876. wsrp_rewrite_saFilterUID[wsrp_rewrite_saFilterUID.length]=id;
  877. wsrp_rewrite_saFilterName[wsrp_rewrite_saFilterName.length]=sName;
  878. wsrp_rewrite_saFilterType[wsrp_rewrite_saFilterType.length]=sType;
  879. wsrp_rewrite_saFilterXML[wsrp_rewrite_saFilterXML.length]=wsrp_rewrite_XMLEncode(sFilterXML);
  880. // Show in tree and do search again
  881. wsrp_rewrite_highlightTreeItem(id);
  882. wsrp_rewrite_doFilterSearch(event);
  883. }
  884. function wsrp_rewrite_removeFilterByIndex(n) {
  885. var nSize = wsrp_rewrite_saFilterUID.length;
  886. if (n &lt; 0 || n >= nSize)
  887. return;
  888. for (var i=n; i &lt; nSize-1; i++) {
  889. wsrp_rewrite_saFilterUID[i]=wsrp_rewrite_saFilterUID[i+1];
  890. wsrp_rewrite_saFilterName[i]=wsrp_rewrite_saFilterName[i+1];
  891. wsrp_rewrite_saFilterXML[i]=wsrp_rewrite_saFilterXML[i+1];
  892. }
  893. --nSize;
  894. wsrp_rewrite_saFilterUID.length = nSize;
  895. wsrp_rewrite_saFilterName.length = nSize;
  896. wsrp_rewrite_saFilterXML.length = nSize;
  897. }
  898. <!-- //////////// Open/close tree nodes ///////////////// -->
  899. function wsrp_rewrite_removeFromArrayByIndex(a, n) {
  900. var nSize = a.length;
  901. if (n &lt; 0 || n >= nSize)
  902. return a;
  903. for (var i=n; i &lt; nSize-1; i++) {
  904. a[i]=a[i+1];
  905. }
  906. --nSize;
  907. a.length = nSize;
  908. return a;
  909. }
  910. function wsrp_rewrite_indexOf(array, id) {
  911. for (var i=0; i &lt; array.length; i++) {
  912. if (id==array[i]) {
  913. return i;
  914. }
  915. }
  916. return -1;
  917. }
  918. function wsrp_rewrite_showTreeNode(id) {
  919. // Show content
  920. var eDiv = document.getElementById("wsrp_rewrite_show_"+id);
  921. if (eDiv!=null) {
  922. eDiv.style.display = "";
  923. }
  924. }
  925. function wsrp_rewrite_scrollTreeItemIntoView(id) {
  926. var eDiv = document.getElementById("wsrp_rewrite_select_"+id);
  927. if (eDiv != null) {
  928. // Scroll into view only if not already in view
  929. var dt = document.getElementById("wsrp_rewrite_div_tree");
  930. // alert(dt.offsetHeight+", "+dt.scrollTop+", "+eDiv.offsetTop+", "+eDiv.offsetHeight+", "+(eDiv.offsetTop > dt.scrollTop+dt.offsetHeight || eDiv.offsetTop &lt; dt.scrollTop ));
  931. if (eDiv.offsetTop > dt.scrollTop+dt.offsetHeight || eDiv.offsetTop &lt; dt.scrollTop) {
  932. dt.scrollTop = eDiv.offsetTop;
  933. }
  934. }
  935. }
  936. function wsrp_rewrite_toggleTreePanel() {
  937. var eDiv = document.getElementById("wsrp_rewrite_div_tree_panel");
  938. if (eDiv!=null) {
  939. // Hide if node already visible
  940. if (eDiv.style.display==null || eDiv.style.display=="") {
  941. wsrp_rewrite_hideTreePanel(eDiv);
  942. }
  943. // Otherwise show the node
  944. else {
  945. wsrp_rewrite_showTreePanel(eDiv);
  946. }
  947. }
  948. <out:value-of select="$cs-ui-resize-function"/>;
  949. }
  950. function wsrp_rewrite_showTreePanel(eDiv) {
  951. eDiv.style.display = "";
  952. var eGif = document.getElementById("img_tree_hide_show");
  953. if (eGif!=null) {
  954. eGif.src = "<out:value-of select="xtsext:javascriptencode($cs-ui-image-root)"/>panel_hide.gif";
  955. }
  956. }
  957. function wsrp_rewrite_hideTreePanel(eDiv) {
  958. eDiv.style.display = "none";
  959. var eGif = document.getElementById("img_tree_hide_show");
  960. if (eGif!=null) {
  961. eGif.src = "<out:value-of select="xtsext:javascriptencode($cs-ui-image-root)"/>panel_show.gif";
  962. }
  963. }
  964. </script>
  965. <script language="javascript">
  966. <xsl:if test="@caller = 'cc'">
  967. function wsrp_rewrite_resizeHandler(evt) {
  968. <out:if test="{pg:isIndexSearch}">
  969. var div_results = document.getElementById("wsrp_rewrite_div_results");
  970. if (div_results != null) {
  971. var nBottomSpace = 10; <!-- TODO -->
  972. var isIE = <out:value-of select="$browser = 'ie'"/>;
  973. var eBody = document.body;
  974. var div_results_content = document.getElementById("wsrp_rewrite_div_results_content");
  975. var div_results_contentHeader = document.getElementById("wsrp_rewrite_div_results_contentHeader");
  976. var div_results_contentBody = document.getElementById("wsrp_rewrite_div_results_contentBody");
  977. var nNewHeight = eBody.clientHeight - wsrp_rewrite_getTop(div_results_content) -
  978. nBottomSpace;
  979. if (!div_results_content &amp;&amp; !div_results_contentBody) {
  980. return;
  981. }
  982. <!-- adjust height of the results content div (right pane) -->
  983. if (nNewHeight > 0) {
  984. if (isIE)
  985. div_results_content.style.height = nNewHeight;
  986. else
  987. div_results_contentBody.style.height = nNewHeight - div_results_contentHeader.offsetHeight;
  988. }
  989. <!-- adjust height of the tree div (left pane) -->
  990. nNewHeight -= (isIE ? 2 : 0); <!-- TODO -->
  991. var div_tree = document.getElementById("wsrp_rewrite_div_tree");
  992. var div_tree_header = document.getElementById("wsrp_rewrite_div_tree_header");
  993. if (nNewHeight &gt; div_tree_header.offsetHeight) {
  994. div_tree.style.height = nNewHeight - div_tree_header.offsetHeight;
  995. <!-- adjust heights of tree and filter sections -->
  996. if (document.getElementById("wsrp_rewrite_div_search_filters").style.display != "none") {
  997. var div_tree_panel_height = nNewHeight -
  998. div_tree_header.offsetHeight -
  999. document.getElementById("wsrp_rewrite_div_filter_header").offsetHeight -
  1000. document.getElementById("wsrp_rewrite_div_filter_footer").offsetHeight;
  1001. var tree_div_section = Math.ceil(div_tree_panel_height * 0.75);
  1002. var filters_div_section = Math.floor(div_tree_panel_height * 0.25);
  1003. tree_div_section = tree_div_section > 0 ? tree_div_section : 1; <!-- TODO -->
  1004. filters_div_section = filters_div_section > 0 ? filters_div_section : 1; <!-- TODO -->
  1005. document.getElementById("wsrp_rewrite_div_tree").style.height = tree_div_section;
  1006. document.getElementById("wsrp_rewrite_div_search_filters_content").style.height = filters_div_section;
  1007. }
  1008. <!-- adjust the width of the selection criteria container -->
  1009. var div_tree_width = document.getElementById("wsrp_rewrite_div_tree") ? document.getElementById("wsrp_rewrite_div_tree").offsetWidth : 0;
  1010. if (div_tree_width > 0) {
  1011. document.getElementById("wsrp_rewrite_div_selection_criteria_header").style.width = div_tree_width;
  1012. }
  1013. }
  1014. }
  1015. wsrp_rewrite_showSearchBusy(false); //force repositioning
  1016. </out:if>
  1017. }
  1018. </xsl:if>
  1019. </script>
  1020. <script language="javascript">
  1021. wsrp_rewrite_treeInit();
  1022. <xsl:if test="@caller = 'cc'">
  1023. <out:if test="{pg:isIndexSearch}">
  1024. wsrp_rewrite_addEvent(window,'load', wsrp_rewrite_resizeHandler);
  1025. wsrp_rewrite_addEvent(window,'resize', wsrp_rewrite_resizeHandler);
  1026. wsrp_rewrite_resizeHandler();
  1027. </out:if>
  1028. </xsl:if>
  1029. <!-- preload some images -->
  1030. var wsrp_rewrite_img_action_delete = new Image();
  1031. wsrp_rewrite_img_action_delete.src = "<out:value-of select="xtsext:javascriptencode($cs-ui-image-root)"/>action_delete.gif";
  1032. wsrp_rewrite_showCategoryList();
  1033. </script>
  1034. </xsl:template>
  1035. <xsl:template match="pg:commonSupportTemplates">
  1036. <out:template name="init-open-list">
  1037. <out:param name="open-list"/>
  1038. <out:param name="function-name"/>
  1039. <out:variable name="open-node">
  1040. <out:choose>
  1041. <out:when test="contains($open-list, '|')">
  1042. <out:value-of select="substring-before($open-list,'|')"/>
  1043. </out:when>
  1044. <out:otherwise>
  1045. <out:value-of select="$open-list"/>
  1046. </out:otherwise>
  1047. </out:choose>
  1048. </out:variable>
  1049. <out:value-of select="$function-name"/>(decodeURIComponent("<out:value-of select="xtsext:javascriptencode($open-node)"/>"));
  1050. <out:if test="contains($open-list, '|')">
  1051. <out:call-template name="init-open-list">
  1052. <out:with-param name="open-list" select="substring-after($open-list,'|')"/>
  1053. <out:with-param name="function-name" select="$function-name"/>
  1054. </out:call-template>
  1055. </out:if>
  1056. </out:template>
  1057. <out:template name="renderTreeItem">
  1058. <out:variable name="uid" select="@UID"/>
  1059. <out:variable name="name"><out:value-of disable-output-escaping="yes" select="@Name"/></out:variable>
  1060. <out:variable name="path"><out:value-of disable-output-escaping="yes" select="@Path"/></out:variable>
  1061. <out:variable name="filters"><out:for-each select="FilterSpecification/Filter">&lt;Filter><out:value-of select="."/>&lt;/Filter></out:for-each></out:variable>
  1062. <out:variable name="description"><out:for-each select="FilterSpecification/Filter[@Description != '']"><out:value-of select="@Description"/>&#160;</out:for-each></out:variable>
  1063. <tr>
  1064. <td nowrap="nowrap" style="padding-left:3px;padding-top:1px;padding-bottom:1px">
  1065. <a href="#" style="text-decoration:none;">
  1066. <span class="{'{$cs-ui-table-text-style}'}" align="absmiddle" style="padding-top:2px;padding-bottom:2px;padding-left:2px;padding-right:2px;white-space:nowrap">
  1067. <out:attribute name="id">wsrp_rewrite_select_<out:value-of select="$uid"/></out:attribute>
  1068. <out:attribute name="criteria"><out:value-of select="$name"/></out:attribute>
  1069. <out:attribute name="description"><out:value-of select="$description"/></out:attribute>
  1070. <out:attribute name="path"><out:value-of select="$path"/></out:attribute>
  1071. <out:attribute name="onmouseover">wsrp_rewrite_itemOver(this, <out:value-of select="$uid"/>, event);</out:attribute>
  1072. <out:attribute name="onmouseout">wsrp_rewrite_itemOut(this, <out:value-of select="$uid"/>);</out:attribute>
  1073. <out:choose>
  1074. <out:when test="@Type='category'">
  1075. <out:attribute name="onclick">wsrp_rewrite_addCategoryFilter(<out:value-of select="$uid"/>,"<out:value-of select="xtsext:javascriptencode($name)"/>","<out:value-of select="xtsext:javascriptencode($filters)"/>",event);</out:attribute>
  1076. <img width="16" height="16" border="0" align="absmiddle"><out:attribute name="src"><out:value-of select="$cs-ui-image-root"/>icon_dataitem.gif</out:attribute></img>
  1077. </out:when>
  1078. <out:otherwise>
  1079. <out:attribute name="onclick">wsrp_rewrite_addParameterFilter(<out:value-of select="$uid"/>,"<out:value-of select="xtsext:javascriptencode($name)"/>","<out:value-of select="xtsext:javascriptencode($filters)"/>",event);</out:attribute>
  1080. <img width="16" height="16" border="0" align="absmiddle"><out:attribute name="src"><out:value-of select="$cs-ui-image-root"/>icon_member.gif</out:attribute></img>
  1081. </out:otherwise>
  1082. </out:choose>
  1083. <img width="5" height="1" border="0" alt=""><out:attribute name="src"><out:value-of select="$cs-ui-image-root-space"/>space.gif</out:attribute></img>
  1084. <out:value-of select="$name"/><br/>
  1085. </span>
  1086. </a>
  1087. </td>
  1088. </tr>
  1089. </out:template>
  1090. </xsl:template>
  1091. <xsl:template match="pg:popup" priority="1">
  1092. <out:if test="true()">
  1093. <xsl:variable name="id" select="@id"/>
  1094. <xsl:variable name="name" select="@name"/>
  1095. <xsl:variable name="on-change" select="@onChange"/>
  1096. <xsl:variable name="select" select="@select"/>
  1097. <xsl:variable name="icon" select="@icon"/>
  1098. <xsl:variable name="items" select="pg:item"/>
  1099. <out:variable name="selected-value">
  1100. <out:choose>
  1101. <xsl:for-each select="$items">
  1102. <xsl:variable name="condition">
  1103. <xsl:choose>
  1104. <xsl:when test="@condition">
  1105. <xsl:value-of select="@condition"/>
  1106. </xsl:when>
  1107. <xsl:otherwise>true()</xsl:otherwise>
  1108. </xsl:choose>
  1109. </xsl:variable>
  1110. <out:when test="{$select} = '{@value}' and {$condition}">
  1111. <xsl:value-of select="@value"/>
  1112. </out:when>
  1113. </xsl:for-each>
  1114. <xsl:for-each select="$items">
  1115. <xsl:variable name="condition">
  1116. <xsl:choose>
  1117. <xsl:when test="@condition">
  1118. <xsl:value-of select="@condition"/>
  1119. </xsl:when>
  1120. <xsl:otherwise>true()</xsl:otherwise>
  1121. </xsl:choose>
  1122. </xsl:variable>
  1123. <out:when test="{$condition}">
  1124. <xsl:value-of select="@value"/>
  1125. </out:when>
  1126. </xsl:for-each>
  1127. </out:choose>
  1128. </out:variable>
  1129. <out:variable name="selected-text">
  1130. <out:choose>
  1131. <xsl:for-each select="$items">
  1132. <out:when test="$selected-value = '{@value}'">
  1133. <xsl:apply-templates select="*|text()"/>
  1134. </out:when>
  1135. </xsl:for-each>
  1136. </out:choose>
  1137. </out:variable>
  1138. <xsl:if test="not(string(@caller) = 'cc')">
  1139. <input id="{$id}_input" type="hidden" name="{$name}" value="{'{'}$selected-value{'}'}"/>
  1140. </xsl:if>
  1141. <nobr id="{$id}_caption" class="{'{$cs-popup-menu-caption}'}" style="border-width:0px">
  1142. <a tabindex="0" role="button" style="text-decoration:underline;cursor:pointer" id="{$id}_caption_a" onclick="window.status='';wsrp_rewrite_showMenu(event, '{$id}')" onmouseover="window.status='';return true;" onmouseout="window.status='';return true;" aria-haspopup="true">
  1143. <out:attribute name="onkeypress">javascript:if( event.keyCode==13 || event.keyCode==32 || event.charCode==32 )<xsl:text>{</xsl:text>this.onclick(event); return false;<xsl:text>}</xsl:text> return true;</out:attribute>
  1144. <xsl:choose>
  1145. <xsl:when test="@labelId">
  1146. <label id="{$id}_caption_text" for="{@labelId}">
  1147. <out:value-of select="$selected-text"/>
  1148. </label>
  1149. </xsl:when>
  1150. <xsl:otherwise>
  1151. <span id="{$id}_caption_text">
  1152. <out:value-of select="$selected-text"/>
  1153. </span>
  1154. </xsl:otherwise>
  1155. </xsl:choose>
  1156. <xsl:if test="$icon">
  1157. <img alt="" title="" id="{$id}_caption_img" src="{'{'}$cs-ui-skin-shared-images{'}'}{$icon}" align="absmiddle" border="0"/>
  1158. </xsl:if>
  1159. </a>
  1160. </nobr>
  1161. <div id="{$id}" class="{'{$cs-popup-menu}'}" style="position:absolute;display:none;width:auto;z-index:2;padding:2px" role="menu" onblur="javascript:wsrp_rewrite_closeMenu(event, '{$id}')">
  1162. <out:attribute name="aria-label">
  1163. <xts:string id="IDS_SEARCH_TYPE_MENU_NAME"/>
  1164. </out:attribute>
  1165. <table cellpadding="0" cellspacing="0" border="0" role="presentation" >
  1166. <xsl:for-each select="$items">
  1167. <xsl:variable name="condition">
  1168. <xsl:choose>
  1169. <xsl:when test="@condition">
  1170. <xsl:value-of select="@condition"/>
  1171. </xsl:when>
  1172. <xsl:otherwise>true()</xsl:otherwise>
  1173. </xsl:choose>
  1174. </xsl:variable>
  1175. <out:if test="{$condition}">
  1176. <tr>
  1177. <td tabindex="-1" role="menuitem" class="{'{$cs-popup-menu-item}'}" style="border-width:0px; padding:2px;cursor:pointer;width:100%" onclick="wsrp_rewrite_selectMenu('{$id}','{@value}');{$on-change} " onmouseover="this.className='{'{$cs-popup-menu-item-hover}'}'" onmouseout="this.className='{'{$cs-popup-menu-item}'}'" onkeypress="javascript:wsrp_rewrite_menuItemKeyPress(event, this)" >
  1178. <nobr>
  1179. <out:choose>
  1180. <out:when test="$selected-value = '{@value}'">
  1181. <img id="{$id}_{@value}_img" height="16" width="16" alt="" title="" src="{'{'}$cs-ui-image-root{'}'}checkmark.gif" align="absmiddle" border="0"/>
  1182. </out:when>
  1183. <out:otherwise>
  1184. <img id="{$id}_{@value}_img" height="16" width="16" alt="" title="" src="{'{'}$cs-ui-image-root-space{'}'}space.gif" align="absmiddle" border="0"/>
  1185. </out:otherwise>
  1186. </out:choose>
  1187. <a tabindex="-1" role="presentation" id="{$id}_{@value}_a" style="text-decoration:underline" onclick="window.status='';return true; " onmouseover="window.status='';return true;" onmouseout="window.status='';return true;">
  1188. <xsl:apply-templates select="*|text()"/>
  1189. </a>
  1190. <xsl:if test="@descriptionID">
  1191. <a tabindex="-1" role="presentation" id="{$id}_{@value}_a_desc" style="text-decoration:underline" onclick="window.status='';return true; " onmouseover="window.status='';return true;" onmouseout="window.status='';return true;">
  1192. &#160;<xts:string id="{@descriptionID}"/>
  1193. </a>
  1194. </xsl:if>
  1195. </nobr>
  1196. </td>
  1197. </tr>
  1198. </out:if>
  1199. </xsl:for-each>
  1200. </table>
  1201. </div>
  1202. </out:if>
  1203. </xsl:template>
  1204. <xsl:template match="pg:busyIndicator">
  1205. <div id="wsrp_rewrite_div_results_busy" style="display:none;position:absolute;">
  1206. <table border="0" cellpadding="0" cellspacing="0">
  1207. <tr>
  1208. <td style="border:1px outset;background-color:#ffffff" nowrap="nowrap">
  1209. <table border="0" cellpadding="10" cellspacing="0" role="presentation">
  1210. <tr>
  1211. <td class="{'{'}$cs-ui-table-text-style{'}'}" valign="top" nowrap="nowrap">
  1212. <img width="48" height="48" border="0" alt="" id="wsrp_rewrite_div_results_busy_img">
  1213. <out:attribute name="src">
  1214. <out:value-of select="$cs-ui-image-root-space"/>space.gif</out:attribute>
  1215. </img>
  1216. </td>
  1217. <td class="{'{'}$cs-ui-table-text-style{'}'}" valign="middle" nowrap="nowrap">
  1218. <xts:string id="IDS_SEARCH_INDEXTREE_SEARCHING"/>&#160;&#160;&#160;
  1219. </td>
  1220. </tr>
  1221. </table>
  1222. </td>
  1223. </tr>
  1224. </table>
  1225. </div>
  1226. </xsl:template>
  1227. <xsl:template match="pg:treeResult">
  1228. <out:variable name="cs-ui-tree" select="{./pg:treeContent}"/>
  1229. <table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" style="-moz-user-select:none;" onselectstart="return false">
  1230. <tr style="padding-top:0px">
  1231. <td valign="top" height="100%">
  1232. <div id="wsrp_rewrite_div_tree_panel" style="width:100%">
  1233. <table cellpadding="0" cellspacing="0" border="0" style="border:1px solid;border-color:black;">
  1234. <xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
  1235. <!-- tree header section -->
  1236. <tr id="wsrp_rewrite_div_tree_header" style="height:24px" class="{'{$cs-ui-table-header-style}'}">
  1237. <td nowrap="nowrap" class="{'{$cs-ui-table-title-style}'}">
  1238. <out:text/>&#160;&#160;<xts:string id="IDS_SEARCH_INDEXTREE_CRITERIA_NARROWBY"/>
  1239. <out:text/>
  1240. </td>
  1241. </tr>
  1242. <!-- tree body section -->
  1243. <tr>
  1244. <td nowrap="nowrap">
  1245. <div id="wsrp_rewrite_div_tree" style="overflow:auto;width:{@width}">
  1246. <table cellpadding="0" cellspacing="0" border="0" width="100%">
  1247. <tr>
  1248. <td valign="top">
  1249. <table cellpadding="0" cellspacing="0" border="0" width="100%">
  1250. <!-- Show subject tree -->
  1251. <tr>
  1252. <td valign="top" style="padding-right:5px">
  1253. <div id="wsrp_rewrite_show_" class="{'{$cs-ui-table-text-style}'}">
  1254. <out:choose>
  1255. <out:when test="count($cs-ui-tree/*)=0">
  1256. <out:attribute name="style">text-align:center;padding-top:40px</out:attribute>
  1257. <out:text/><xts:string id="IDS_SEARCH_INDEXTREE_NO_ENTRIES"/><out:text/>
  1258. </out:when>
  1259. <out:otherwise>
  1260. <out:for-each select="$cs-ui-tree/*">
  1261. <out:call-template name="renderTreeItem"/>
  1262. </out:for-each>
  1263. </out:otherwise>
  1264. </out:choose>
  1265. </div>
  1266. </td>
  1267. </tr>
  1268. </table>
  1269. </td>
  1270. </tr>
  1271. </table>
  1272. </div>
  1273. </td>
  1274. </tr>
  1275. <!-- criteria (category de/selection) section -->
  1276. <tr id="wsrp_rewrite_div_search_filters" style="display:none">
  1277. <td>
  1278. <div width="100%">
  1279. <table border="0" cellpadding="0" cellspacing="0" width="100%">
  1280. <tr id="wsrp_rewrite_div_filter_header" style="height:20px" class="{'{$cs-ui-table-header-style}'}">
  1281. <td id="wsrp_rewrite_div_selection_criteria_header" nowrap="nowrap">
  1282. <span class="{'{$cs-ui-table-title-style}'}">
  1283. <out:text/>&#160;&#160;<xts:string id="IDS_SEARCH_INDEXTREE_CRITERIA_SELECTED"/>&#160;&#160;<out:text/>
  1284. </span>
  1285. <xsl:variable name="menu">
  1286. <pg:popup id="wsrp_rewrite_allFilters" name="all_filters" icon="dropdown_arrow.gif" select="$cs-ui-all-filters" caller="{@caller}" onChange="{'{$cs-ui-callback-function}'}">
  1287. <pg:item value="true" descriptionID="IDS_SEARCH_INDEXTREE_FILTERS_ALL_DESC">
  1288. <xts:string id="IDS_SEARCH_INDEXTREE_FILTERS_ALL"/>
  1289. </pg:item>
  1290. <pg:item value="false" descriptionID="IDS_SEARCH_INDEXTREE_FILTERS_ANY_DESC">
  1291. <xts:string id="IDS_SEARCH_INDEXTREE_FILTERS_ANY"/>
  1292. </pg:item>
  1293. </pg:popup>
  1294. </xsl:variable>
  1295. <span style="font-weight:normal;">
  1296. <xsl:apply-templates select="$menu/pg:popup"/>
  1297. </span>
  1298. </td>
  1299. </tr>
  1300. <tr>
  1301. <td>
  1302. <div id="wsrp_rewrite_div_search_filters_content" style="overflow:auto;height:45px;width:{@width}">
  1303. <span class="{'{$cs-ui-table-text-style}'}" valign="top" id="wsrp_rewrite_search_filter_text" style="white-space:nowrap"/>
  1304. </div>
  1305. </td>
  1306. </tr>
  1307. <tr id="wsrp_rewrite_div_filter_footer" style="width:100%;height:18px" class="{'{$cs-ui-table-header-style}'}">
  1308. <td class="{'{$cs-ui-table-text-style}'}" style="padding-right:2px;" valign="middle" align="right" nowrap="nowrap">
  1309. <span id="wsrp_rewrite_search_filter_remove" style="display:none;font-weight:normal;" align="right">
  1310. <a style="text-decoration:underline;" href="#" onclick="javascript:wsrp_rewrite_removeAllCategories(event)">
  1311. <out:attribute name="title">
  1312. <xts:string id="IDS_SEARCH_INDEXTREE_CRITERIA_TOOLTIP_REMOVE_ALL_CATEGORIES"/>
  1313. </out:attribute>
  1314. <xts:string id="IDS_SEARCH_INDEXTREE_CRITERIA_REMOVEALL"/>
  1315. </a>
  1316. </span>
  1317. </td>
  1318. </tr>
  1319. </table>
  1320. </div>
  1321. </td>
  1322. </tr>
  1323. </table>
  1324. </div>
  1325. </td>
  1326. <xsl:if test="not(@noSeparator='true')">
  1327. <td valign="top" width="12" nowrap="nowrap">
  1328. <img id="img_tree_hide_show" border="0" style="cursor:hand;" onclick="javascript:wsrp_rewrite_toggleTreePanel();">
  1329. <out:attribute name="src">
  1330. <out:value-of select="$cs-ui-image-root"/>panel_hide.gif</out:attribute>
  1331. <out:attribute name="alt">
  1332. <xts:string id="IDS_SEARCH_INDEXTREE_CRITERIA_TOOLTIP_HIDESHOW_TREE"/>
  1333. </out:attribute>
  1334. </img>
  1335. </td>
  1336. </xsl:if>
  1337. </tr>
  1338. </table>
  1339. </xsl:template>
  1340. <!-- The main engine -->
  1341. <xsl:template match="*">
  1342. <xsl:copy>
  1343. <xsl:copy-of select="@*"/>
  1344. <xsl:apply-templates/>
  1345. </xsl:copy>
  1346. </xsl:template>
  1347. </xsl:stylesheet>