/content/folder[@name='Samples']/folder[@name='Cubes']/package[@name='Sales and Marketing (cube)']/model[@name='2008-07-25T15:28:38.072Z'] <div id="Products"> </div> No Data Available
<script> paulScripts.animatedCheckSearch('Products'); </script>
<script> var paulScripts = {}; // Cognos form and namespace identifier. Don't touch. var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest() : document.forms["formWarpRequest"]); if ( !fW || fW == undefined) { fW = ( formWarpRequest_THIS_ ? formWarpRequest_THIS_ : formWarpRequest_NS_ ); } var preFix = ""; if (fW.elements["cv.id"]) { preFix = fW.elements["cv.id"].value; } var nameSpace = "oCV" + preFix; function getMethods(myObject) { var funcs=[] for(var name in myObject) { funcs.push(name) } return funcs.join(', '); } // Variables for the hideElement Scripts. var defaultHideTime = 1000 //1000 == 1 second wait before prompt disappears , slideTime = 1000; //1000 == 1 second to open or close the prompt paulScripts.getSource = function(){ var targ; if(!e) var e= window.event; if(!e) return false; if (e.target) targ = e.target; else if (e.srcElement) targ = e.srcElement; if (targ.nodeType == 3) // defeat Safari bug targ = targ.parentNode return targ; } paulScripts.hideElement = (function (hider, hideTime,stopTimeout){ if(!hideTime) hideTime=1000; var timer; return function(hider,hideTime,stopTimeout){ clearTimeout(timer); if(stopTimeout==1) return true; timer = window.setTimeout( function(){ slideup(hider); } ,hideTime); return true }; })(); /* * Function: addEvent * Author: Dan Fruendel * Attachs an event or adds an event listener depending on the browser. */ paulScripts.addEvent = function(element, event, func){ if(element.addEventListener){ addEvent = function(element, event, func) { element.addEventListener(event, func, false); return true; }; } else if(element.attachEvent) { addEvent = function(element, event, func) { return element.attachEvent("on" + event, func); }; } else { addEvent = function(element, event, func) { var oldEventHandler = element['on' + event]; element['on' + event] = function() { //using .apply to pass on anything this function gets. if(typeof(oldEventHandler) === "function") { oldEventHandler.apply(element, arguments); } func.apply(element, arguments); } return true; }; } return addEvent(element, event, func); } paulScripts.animatedCheckSearch = function(name, promptWidth){ /*If the checkbox is empty, the script will error out. This is because there is no way to find the actual dom element of the prompt without finding one of the options. * THe prompt api in 10.2 does offer a workaround, and the 10.2 version will (if I ever get around to writing it) be able to handle this elegantly */ if (!fW['_oLstChoices'+name]) return false; if (!fW['_oLstChoices'+name].length) return false; var label = paulScripts.createInput(name) , prompt = fW['_oLstChoices'+name] , promptObject = prompt.nodeName?prompt.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode:prompt[0].parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode //Hacky hack. There is no way that I can find to get the actual prompt object. If there are no options, this will fail. ,hider, c, r, t, r2, c2 checkSearch = function(name,textBox,hider){ var elmOptions = document.getElementById(name).getElementsByTagName('div')[3] , elmSelectLinks = elmOptions.parentNode.nextSibling , clear = document.createElement('input') , myLinks = elmSelectLinks.cloneNode() , mySel = document.createTextNode('Select all matching') , mySpacer = document.createTextNode(' ') , myDeSel = document.createTextNode('Deselect all matching') , mySelSpan = document.createElement('span') , myDeSelSpan = document.createElement('span') , underlineMe = function(){this.style.textDecoration='underline'} , deUnderlineMe = function(){this.style.textDecoration='none'} , checkAllVisible = function () { var arr=window['arr'+name], arrLength = window['arr'+name].length; for(var i = 0;i<arrLength;++i){ var elm = document.getElementById(arr[i]); if(!elm.checked) elm.click() } } , uncheckAllVisible = function () { var arr=window['arr'+name], arrLength = window['arr'+name].length; for(var i = 0;i<arrLength;++i){ var elm = document.getElementById(arr[i]); if(elm.checked) elm.click() } } , searchTimer = (function (){ var timer; return function(v){ clearTimeout(timer); timer = window.setTimeout( function(){ var labels = elmOptions.getElementsByTagName('label').length , regexp=new RegExp(v,'i'); if(!v) {clearAll();return false}; if(elmSelectLinks.childNodes.length>1) {elmSelectLinks.style.display='none'; myLinks.style.display='';} window['arr'+name].length=0; for(var i = 0;i<labels;++i){ var opt = elmOptions.getElementsByTagName('label')[i].innerText?elmOptions.getElementsByTagName('label')[i].innerText:elmOptions.getElementsByTagName('label')[i].textContent; if(!regexp.test(opt)) {elmOptions.getElementsByTagName('label')[i].parentNode.style.display='none'} else {elmOptions.getElementsByTagName('label')[i].parentNode.style.display='';window['arr'+name].push(elmOptions.getElementsByTagName('label')[i].htmlFor)} } } ,300); return true }; })() ; //end variables window['arr'+name] = []; //I'm certain there is a better way of doing this. Basically it's dynamically creating an array in order to store the visible options. fc = elmSelectLinks.firstChild.innerText?elmSelectLinks.firstChild.innerText:elmSelectLinks.firstChild.textContent; lc = elmSelectLinks.lastChild.innerText?elmSelectLinks.lastChild.innerText:elmSelectLinks.lastChild.textContent; if(elmSelectLinks.style.display!='none'&&(fc.length>0||lc.length>0)){ var clearAll = function() {textBox.value=''; var labels = elmOptions.getElementsByTagName('label').length; myLinks.style.display='none'; elmSelectLinks.style.display=''; for(var i = 0;i<labels;++i){ elmOptions.getElementsByTagName('label')[i].parentNode.style.display=''; } } mySelSpan.className='clsLink pl'; myDeSelSpan.className='clsLink pl'; mySelSpan.style.cursor='pointer'; myDeSelSpan.style.cursor='pointer'; mySelSpan.onmouseover=underlineMe; myDeSelSpan.onmouseover=underlineMe; mySelSpan.onmouseout=deUnderlineMe; myDeSelSpan.onmouseout=deUnderlineMe; mySelSpan.onclick=checkAllVisible; myDeSelSpan.onclick=uncheckAllVisible; mySelSpan.appendChild(mySel); myDeSelSpan.appendChild(myDeSel); myLinks.style.display='none'; myLinks.appendChild(mySelSpan); myLinks.appendChild(mySpacer); myLinks.appendChild(myDeSelSpan); elmSelectLinks.parentNode.insertBefore(myLinks,elmSelectLinks);} else { var clearAll = function() {textBox.value=''; var labels = elmOptions.getElementsByTagName('label').length; for(var i = 0;i<labels;++i){ elmOptions.getElementsByTagName('label')[i].parentNode.style.display=''; } } } textBox.type='text'; textBox.onkeydown = function (e) { e = e || window.event; if (e.keyCode == 13) { if (typeof (e.preventDefault) == 'function') e.preventDefault(); if (typeof (e.stopPropagation) == 'function') e.stopPropagation(); if (typeof (e.stopImmediatePropagation) == 'function') e.stopImmediatePropagation(); e.cancelBubble = true; return false; } } textBox.onkeyup= function(){slidedown(hider);searchTimer(this.value)}; clear.value='X'; clear.type='button'; clear.onclick=clearAll; // elmOptions.parentNode.insertBefore(textBox,elmOptions); textBox.parentNode.insertBefore(clear,textBox); } ; t = document.createElement('table'); r = t.insertRow(0); c2 = r.insertCell(0); r2 = t.insertRow(0); c = r2.insertCell(0); t.style.display='inline'; hider = document.createElement('div'); hider.style.visibility= 'hidden'; hider.style.position='absolute'; hider.style.overflow='hidden'; hider.style.backgroundColor='white'; c2.appendChild(hider); if(promptWidth) label.style.width = promptWidth; paulScripts.addEvent(hider,'mouseleave',function() {paulScripts.hideElement(hider,defaultHideTime)}); paulScripts.addEvent(hider,'mouseover',function() {paulScripts.hideElement(hider,defaultHideTime,1)}); promptObject.parentNode.insertBefore(t,promptObject); c.appendChild(label); paulScripts.addEvent(label,'click',function(){ if(hider.style.visibility=='visible') { slideup(hider)} else { slidedown(hider); } }); hider.appendChild(promptObject); checkSearch(name,label,hider); } paulScripts.createInput = function(name){ var elm = document.createElement('INPUT'); // elm.setAttribute('readonly','readonly'); elm.setAttribute('id',name+'Label'); elm.style.cursor='pointer'; //CURSE YOU, IE!!!! return elm; } //sexy slider by Donald Webster // modified for use in Cognos by Paul Mendelson var timerlen = 5 , slideAniLen = 250 , timerID = new Array() , startTime = new Array() , obj = new Array() , endHeight = new Array() , endWidth = new Array() , moving = new Array() , dir = new Array(); function slideright(objname){ if(moving[objname]) return; if(objname.style.visibility != "hidden") return; // cannot slide down something that is already visible moving[objname] = true; dir[objname] = "right"; startslide(objname); } function slidedown(objname){ if(moving[objname]) return; if(objname.style.visibility != "hidden") return; // cannot slide down something that is already visible moving[objname] = true; dir[objname] = "down"; startslide(objname); } function slideup(objname){ if(moving[objname]) return; if(objname.style.visibility == "hidden") return; // cannot slide up something that is already hidden moving[objname] = true; dir[objname] = "up"; startslide(objname); } function slideleft(objname){ if(moving[objname]) return; if(objname.style.visibility == "hidden") return; // cannot slide up something that is already hidden moving[objname] = true; dir[objname] = "left"; startslide(objname); } function startslide(objname){ obj[objname] = objname; startTime[objname] = (new Date()).getTime(); //for sliding down endHeight[objname] = parseInt(obj[objname].style.height?obj[objname].style.height:obj[objname].offsetHeight); //for sliding right endWidth[objname] = parseInt(obj[objname].style.width?obj[objname].style.width:obj[objname].offsetWidth); if(dir[objname] == "down"){ obj[objname].style.height = "1px"; } if(dir[objname] == "right"){ obj[objname].style.width = "1px"; } obj[objname].style.visibility = "visible"; timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen); } function slidetick(objname){ var multiplier; if(dir[objname] == "up" || dir[objname] == "down") {multiplier = endHeight[objname]} if(dir[objname] == "left" || dir[objname] == "right") {multiplier = endWidth[objname]} var elapsed = (new Date()).getTime() - startTime[objname]; if (elapsed > slideAniLen) endSlide(objname) else { var d =Math.round(elapsed / slideAniLen * multiplier); if(dir[objname] == "up" ) {obj[objname].style.height = endHeight[objname] - (d - 1) +"px";} if(dir[objname] == "left" ) {obj[objname].style.width = endWidth[objname] - (d - 1) +"px";} if(dir[objname] == "down") {obj[objname].style.height = d + "px";} if(dir[objname] == "right") {obj[objname].style.width = d + "px";} } return; } function endSlide(objname){ clearInterval(timerID[objname]); if(dir[objname] == "up" || dir[objname] == "left") {obj[objname].style.visibility= "hidden";} if(dir[objname] == "up" || dir[objname] == "down"){obj[objname].style.height = endHeight[objname] + "px";} if(dir[objname] == "left" || dir[objname] == "right"){obj[objname].style.width = endWidth[objname] + "px";} delete(moving[objname]); delete(timerID[objname]); delete(startTime[objname]); delete(endWidth[objname]); delete(endHeight[objname]); delete(obj[objname]); delete(dir[objname]); return; } </script>
[sales_and_marketing].[Products].[Products].[Product]set( #promptmany('Products','mun','[sales_and_marketing].[Products].[Products].[Products]->:[PC].[@MEMBER].[Products]')# )Animated Checkbox Search