/content/folder[@name='Samples']/folder[@name='Cubes']/package[@name='Sales and Marketing (cube)']/model[@name='2008-07-25T15:28:38.072Z'] <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 //1 second wait before prompt disappears , slideTime = 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 tag; } 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.runPromptPopup = function(name, defaultMessage){ /*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; 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; 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); paulScripts.addEvent(hider,'mouseleave',function() {paulScripts.hideElement(hider,defaultHideTime)}); paulScripts.addEvent(hider,'mouseover',function() {paulScripts.hideElement(hider,defaultHideTime,1)}); paulScripts.addEvent(hider,'click',function(){paulScripts.setLabel(prompt,label,defaultMessage)}); promptObject.parentNode.insertBefore(t,promptObject); c.appendChild(label); paulScripts.setLabel(prompt,label,defaultMessage); paulScripts.addEvent(label,'click',function(){if(hider.style.visibility=='visible') {slideup(hider)} else {slidedown(hider)}}); hider.appendChild(promptObject); } paulScripts.setLabel = function(prompt,label,defaultMessage){ var myArr = []; for(var i =0;i<prompt.length;i++) { if((prompt[i].checked && !prompt.nodeName)||(prompt[i].selected && prompt.nodeName)) myArr.push(prompt[i].dv); }; if(myArr.length==0) {label.value=defaultMessage}; else { label.value=myArr.join(', ');} } 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>
'Years: ' + ParamDisplayValue('Years')'Product Line: ' + ParamDisplayValue('Product Lines')'Order Method: ' + ParamDisplayValue('Order Method')
<script> paulScripts.runPromptPopup ('OrderMethod','All Order Methods'); paulScripts.runPromptPopup ('ProductLine','All Product Lines'); paulScripts.runPromptPopup ('Years','All Years'); </script>
[sales_and_marketing].[Time].[Time].[Year][sales_and_marketing].[Products].[Products].[Product line][sales_and_marketing].[Order method].[Order method]dropdown Prompts