// Licensed Materials - Property of IBM // // IBM Cognos Products: cogadmin // // (C) Copyright IBM Corp. 2005, 2014 // // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. // // // Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved. // Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated). //---------------------------------------------------------- com.cognos.admin.ObjectFactory("com.cognos.admin.util.Tools"); com.cognos.admin.util.Tools.VERSION = "0.1.0"; dojo.require("dojox.json.ref"); com.cognos.admin.util.Tools.revertDsp = function (elt,dsp){ if (typeof elt == "string") elt = xGetElementById(elt); if (dsp == true) { xDisplay(elt,""); } else if (dsp == false) { xDisplay(elt,"none"); } else { if (elt.style.display == "none") { dsp = true; xDisplay(elt,""); } else { dsp = false; xDisplay(elt,"none"); } } return dsp; }; //TODO: com.cognos.admin.util.Tools.ToggleButton = function (elt){ this.elt = elt; }; //TODO: com.cognos.admin.util.Tools.ToggleButton.prototype = { getCurrentState : function (){ return this.elt.getAttribute("state"); }, click : function (){ if (this.elt.src){ var currentState = this.getCurrentState(); var stateModel = com.cognos.admin.util.Tools.cogEval(this.elt); var newState = stateModel.states[currentState].next; this.elt.src = stateModel.states[newState].image; this.elt.setAttribute("state", newState); } } }; /* * @param exclude, ='true' will remove the prefix fragId + "_" * from the Id, if any; otherwise will add a fragId + "_" as prefix of the ID. * */ com.cognos.admin.util.Tools.getNormalizedId = function (Id,fragId,exclude){ var retId = Id; if (exclude){ retId = Id.substring(fragId.length+1,Id.length); } else { retId = fragId + "_" + Id; } return retId; }; com.cognos.admin.util.Tools.getFlag = function (id){ var flags = id.toString().split("_"); return flags[flags.length-1]; } com.cognos.admin.util.Tools.getPartner = function (elt,postfix,postfixP){ var reg = new RegExp ("_"+postfix+"$","i"); var regP = new RegExp ("_"+postfixP+"$","i"); var id=""; if (reg.test(elt.id)){ id = elt.id.replace(reg,"_"+postfixP); } else if (regP.test(elt.id)){ id = elt.id.replace(regP,"_"+postfix); } return $(id); } com.cognos.admin.util.Tools.Masker = function (elt,hint,frag){ if (!$(elt)) throw new Error("Masker cannot apply on an empty element."); this.maskID = $(elt).id + "_masker"; this.backingID = $(elt).id + "masker_backing"; this.elt = elt; var backing = $(this.backingID); if (backing == null) { backing = document.createElement("iframe"); backing.id = this.backingID; backing.style.display = "none"; backing.style.position ="absolute"; backing.style.backgroundColor ="#dddddd"; xOpacity (backing,0); backing.src = _F_Config.webContent + "/fragments/common/images/space.gif"; document.body.appendChild(backing); } var mask = $(this.maskID); if (mask == null) { mask = document.createElement("DIV"); mask.id = this.maskID; mask.style.display= "none"; mask.style.position = "absolute"; mask.style.backgroundColor = "#dddddd"; mask.setAttribute("title",hint); document.body.appendChild(mask); } this.adjust(); if (frag){ evtHandler = _F_Document.associate(frag,this,"adjust"); frag.onresize = evtHandler; } else { evtHandler = _F_Document.associate(window,this,"adjust"); _F_Document.addEventListener(window, "resize", evtHandler, true); } } com.cognos.admin.util.Tools.Masker.OPACITY = 0.2; com.cognos.admin.util.Tools.Masker.prototype = { adjustEx : function (source,target) { xLeft(source,xPageX(target)); xTop(source,xPageY(target)); xResizeTo(source, xWidth(target), xHeight(target)); }, adjust : function (){ this.adjustEx ($(this.maskID),this.elt); this.adjustEx ($(this.backingID),this.elt); }, show : function (showing){ if (showing){ xOpacity($(this.maskID),com.cognos.admin.util.Tools.Masker.OPACITY); $(this.maskID).style.display = ""; $(this.backingID).style.display = ""; } else { $(this.maskID).style.display = "none"; $(this.backingID).style.display = "none"; } }, destroy : function (){ $(this.backingID).parentNode.removeChild($(this.backingID)); $(this.backingID) = null; $(this.maskID).parentNode.removeChild($(this.maskID)); $(this.maskID) = null; } }; com.cognos.admin.util.Tools.setBusyCursor = function (tag,isBusy){ tag.style.cursor = isBusy ? 'wait' : 'default'; document.body.style.cursor = isBusy ? 'wait' : 'default'; } com.cognos.admin.util.Tools.ThreeCheckbox = function (elt,fragId,toggler){ this.tools = com.cognos.admin.util.Tools; this.elt = elt; this.onclickEvt = []; this.fragId = fragId; this.flag = this.tools.getFlag(elt.id); this.allToggler = $(com.cognos.admin.util.Tools.getNormalizedId("toggle_all_" + this.flag,this.fragId)); this.allTogglerPartner = this.tools.getPartner(this.allToggler,com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_Y,com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_N); this.toggler = toggler; this.isToggled = false; this.isToggleAll = (this.allToggler === this.toggler); }; com.cognos.admin.util.Tools.ThreeCheckbox.CHECKED = "true"; com.cognos.admin.util.Tools.ThreeCheckbox.UNCHECKED = "false"; com.cognos.admin.util.Tools.ThreeCheckbox.MIXED = "mixed"; com.cognos.admin.util.Tools.ThreeCheckbox.DISABLED = "disabled"; com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_Y = "y"; com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_N = "n"; com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_M = "m"; com.cognos.admin.util.Tools.ThreeCheckbox.prototype = { getCurrentState : function (){ if (this.elt.src.search(/checkbox_checked.gif/i) != -1) return com.cognos.admin.util.Tools.ThreeCheckbox.CHECKED; else if (this.elt.src.search(/checkbox_unchecked.gif/i) != -1) return com.cognos.admin.util.Tools.ThreeCheckbox.UNCHECKED; else if (this.elt.src.search(/checkbox_mixed.gif/i) != -1) return com.cognos.admin.util.Tools.ThreeCheckbox.MIXED; else if (this.elt.src.search(/checkbox_disabled.gif/i) != -1) return com.cognos.admin.util.Tools.ThreeCheckbox.DISABLED; else return ""; }, setIsToggled : function (isToggled){ this.isToggled = isToggled || false; }, onclickReg : function (handler) { if (typeof handler == "function"){ this.onclickEvt.push(handler); } }, getCurrentStatus : function () { return this.getCurrentState() != com.cognos.admin.util.Tools.ThreeCheckbox.DISABLED; }, onclick : function (){ var ret = true; this.onclickEvt.push(this.getCurrentStatus); for (var i = this.onclickEvt.length-1; i >= 0 ; i--){ ret = ret && this.onclickEvt[i].apply(this); if (!ret) break; } return ret; }, click : function (){ if (this.onclick() && this.elt.src){ if (this.isToggled){ var state; if (this.isToggleAll) { state = this.toggler.checked ? com.cognos.admin.util.Tools.ThreeCheckbox.CHECKED : com.cognos.admin.util.Tools.ThreeCheckbox.UNCHECKED; } else { state = this.toggler.getAttribute("state"); } this.setState(state); } else { if (this.getCurrentState() == com.cognos.admin.util.Tools.ThreeCheckbox.CHECKED){ this.setState(com.cognos.admin.util.Tools.ThreeCheckbox.UNCHECKED); } else { this.setState(com.cognos.admin.util.Tools.ThreeCheckbox.CHECKED); } } //Three stage checkbox generic toggle rule #1 deselect partner when the current one is checked. if (this.getCurrentState() == com.cognos.admin.util.Tools.ThreeCheckbox.CHECKED){ this.deselectElt("",true); } //Three stage checkbox generic toggle rule #2 deselect "n" toggler when current "n" is unchecked. if (!this.isToggleAll && !this.isToggled && (!(this.flag == com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_N && this.getCurrentState() == com.cognos.admin.util.Tools.ThreeCheckbox.CHECKED))){ this.deselectElt(this.toggler,(this.flag == com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_Y)); } } }, deselectElt : function (elt,isPartner){ var elt = elt || this.elt; if (isPartner){ elt = this.tools.getPartner(elt,com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_Y,com.cognos.admin.util.Tools.ThreeCheckbox.FLAG_N); } if (elt){ this.setState(com.cognos.admin.util.Tools.ThreeCheckbox.UNCHECKED,elt); } }, disableAllTogglerState : function (disabled){ if (this.allToggler){ if (disabled){ this.deselectAllTogglerState(); } this.allToggler.disabled = disabled; this.allTogglerPartner.disabled = disabled; } }, deselectAllTogglerState : function (){ if (this.allToggler){ this.allToggler.checked = false; this.allTogglerPartner.checked = false; } }, setState : function (state,elt){ var elt = elt || this.elt; elt.setAttribute("state",state); dojo.attr(elt,"class",""); dojo.attr(elt,"tabindex","0"); this.disableAllTogglerState(false); //deselect the toggle all buttons regardingless (except the toggle all event) if (!this.isToggleAll){ this.deselectAllTogglerState(); } elt.disabled = false; elt.setAttribute("aria-disabled","false"); switch (state) { case com.cognos.admin.util.Tools.ThreeCheckbox.CHECKED: elt.src = elt.src.replace(/checkbox_(.)*.gif/i,"checkbox_checked.gif"); elt.setAttribute("aria-checked","true"); break; case com.cognos.admin.util.Tools.ThreeCheckbox.MIXED: elt.setAttribute("aria-checked","mixed"); elt.src = elt.src.replace(/checkbox_(.)*.gif/i,"checkbox_mixed.gif"); break; case com.cognos.admin.util.Tools.ThreeCheckbox.DISABLED: elt.src = elt.src.replace(/checkbox_(.)*.gif/i,"checkbox_disabled.gif"); dojo.attr(elt,"class","hiddenEntryIcon"); dojo.attr(elt,"tabindex","-1"); elt.disabled = true; elt.setAttribute("aria-disabled","true"); elt.setAttribute("aria-checked","undefined"); this.disableAllTogglerState(true); break; case com.cognos.admin.util.Tools.ThreeCheckbox.UNCHECKED: elt.setAttribute("aria-checked","false"); default: elt.src = elt.src.replace(/checkbox_(.)*.gif/i,"checkbox_unchecked.gif"); elt.setAttribute("aria-checked","false"); } } }; com.cognos.admin.util.Tools.revertImg = function (elt,dsp){ if (elt.src) { if (dsp == true) { elt.src = elt.src.replace(/expand.gif/i,"collapse.gif"); } else if (dsp == false) elt.src = elt.src.replace(/collapse.gif/i,"expand.gif"); else { if (elt.src.search(/collapse.gif/i) != -1){ elt.src = elt.src.replace(/collapse.gif/i,"expand.gif"); dsp = false; } else if (elt.src.search(/expand.gif/i) != -1){ elt.src = elt.src.replace(/expand.gif/i,"collapse.gif"); dsp = true; } else { throw new Error ("the element is not a toggle image."); } } return dsp; } }; com.cognos.admin.util.Tools.getLevelById = function (pre,id) { var retLevel = 0; if (id && _F_Array.indexOf(id,pre) == 0) { //following the naming convention, id ******_row_1 retLevel = id.substring(pre.length,id.length).split("_").length - 2; } return retLevel; }; //TODO: optimized the match process to meet the high performence require for toggle all event. com.cognos.admin.util.Tools.GetElementsById = function (exp,scope,isReg,excludedIds) { this.scope = scope || document.body; this.isReg = isReg; this.excludedIds = excludedIds || []; this.selectedElements = []; this.flag = false; this.n = 0; if (exp instanceof Array) this.exp = exp.join("|"); else this.exp = exp; if (this.isReg){ this.isMatch = function (targetId){ var rExp = new RegExp (this.exp); if (rExp.test(targetId)) return true; else return false; }; } else { this.isMatch = function (targetId){ return (_F_Array.indexOf(targetId,this.exp) != -1) ? true : false; }; }; }; com.cognos.admin.util.Tools.GetElementsById.prototype = { reset : function () { this.selectedElements = [] }, getElt : function (rElt){ if (!this.exp){ return []; } var rootElt = rElt || this.scope; if (rootElt.id && (_F_Array.indexOf(this.excludedIds,rootElt.id) == -1) && this.isMatch(rootElt.id)) { this.selectedElements.push(rootElt); } var children = rootElt.childNodes; for (var i = 0; i < children.length; i++){ if (children[i].nodeType != 1 ) continue; this.getElt(children[i]); } }, getSiblingElt : function (rElt){ if (!this.exp) return []; var rootElt = rElt || this.scope; for (var c = rootElt.firstChild; c!=null; c=c.nextSibling){ if (c.nodeType != 1 ){ continue; } else if (c.id && (_F_Array.indexOf(this.excludedIds,c.id) == -1) && this.isMatch(c.id)) { this.selectedElements.push(c); this.flag = true; } else if (this.flag) { return this.selectedElements; } else { this.getSiblingElt(c); } } } }; /* Recipe manager * */ com.cognos.admin.util.Tools.Recipe = function () { this.recipe = []; }; com.cognos.admin.util.Tools.Recipe.prototype = { add : function (cogType,fnName,evt,cap){ var cap = cap || false; var evt = evt.toLowerCase(); this.recipe.push ({cogType:cogType,fnName:fnName,evt:evt,cap:cap}); }, getAll : function (){ return this.recipe;}, init : function () { this.recipe = [];}, /** * helper to add mouseover/out recipe */ enableAction : function (cogType){ if (cogType){ this.add (cogType,"mouseOverLink","init"); this.add (cogType,"mouseOverElt","mouseover"); this.add (cogType,"mouseOutElt","mouseout"); this.add (cogType,"mouseClickElt","click"); this.add (cogType,"mouseDownElt","mousedown"); this.add (cogType,"mouseUpElt","mouseup"); this.add (cogType,"doAction","click"); this.add (cogType,"doAction","keypress"); } } }; com.cognos.admin.util.Tools.uniqueID = (function() { var id = 0; return function() { return id++; }; })(); //wrapper function around dojox.json.ref com.cognos.admin.util.Tools.JSON = function () { return { stringify : function (value){ return dojox.json.ref.toJson(value); }, parse : function(value){ if (/^[\],:{}\s]*$/.test(value.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { return eval('(' + value + ')'); } throw new SyntaxError('com.cognos.admin.util.Tools.JSON.parse'); } }; }(); /** * Parse the XML document contained in the string argument and return * a Document object that represents it. */ com.cognos.admin.util.Tools.XMLParse = function(text) { if (typeof DOMParser != "undefined") { // Mozilla, Firefox, and related browsers return (new DOMParser( )).parseFromString(text, "application/xml"); } else if (typeof ActiveXObject != "undefined") { var doc = new ActiveXObject("MSXML2.DOMDocument"); // Create an empty document doc.loadXML(text); // Parse text into it return doc; // Return it } }; /** * Parse the function name (e.g. "a.b.c") to a real function * */ com.cognos.admin.util.Tools.fnParse = function(fnName,args) { if (typeof fnName != "string") return null; var obj = window; var arrFn = fnName.toString().split("."); for (var i=0; i/i) != -1){ var oXml = com.cognos.admin.util.Tools.XMLParse(target); var oMarkup; if (oXml){ oMarkup = oXml.getElementsByTagName("markupString")[0]; if (!oMarkup){ oMarkup = oXml.getElementsByTagName("markupXml")[0]; if (!oMarkup){ oMarkup = oXml.getElementsByTagName("error")[0]; } } if (oMarkup){ var json = oMarkup.getElementsByTagName("json")[0]; if (json) { strJSON = json.firstChild.nodeValue; } } } } if (com.cognos.admin.config.debug){ _F_log ("D","JSON from cogParam:"); _F_log ("D",strJSON); } if (strJSON) { try { return com.cognos.admin.util.Tools.JSON.parse(strJSON); } catch (ex) { _F_log("E",ex.message); return null; } } else { return oMarkup; } }; com.cognos.admin.util.Tools.parseContent = function (objJSON,containerId,state){ var retHTML = ""; if (!$(containerId)){ var contentId = "cogadmin_newcreated_content_"+com.cognos.admin.util.Tools.uniqueID(); container = document.createElement("div"); container.id = contentId; container.style.display = "none"; containerId = container.id; document.body.appendChild(container); } switch (objJSON.type) { case "JSON": retHTML += ""; if (objJSON.content){ for (var i = 0; i < objJSON.content.length; i++){ var textHTML = ""; if (!objJSON.content[i].caption || (i>0 && objJSON.content[i].caption == objJSON.content[i-1].caption)){ retHTML += textHTML; } else { retHTML += ""; retHTML += textHTML; } } } retHTML += "
 \""+objJSON.content[i].text+"\"/ "+objJSON.content[i].text+"
" + objJSON.content[i].caption + "
"; $(containerId).innerHTML = retHTML; break; case "fragment": if (objJSON.url){ var fragId = "cogadmin_newcreated_fragment_"+com.cognos.admin.util.Tools.uniqueID(); var dFragment = new fragment(objJSON.url,fragId,containerId); dFragment.retrieve((objJSON.param ? encodeURI(objJSON.param) +"&" : '')+state.getStateURL()); retHTML = $(containerId).innerHTML; } else { var fragId = objJSON.targetFragID; retHTML = $(fragId+"cog_controlled_div").innerHTML; $(containerId).innerHTML = retHTML; } break; case "xts": var iframe = xCreateElement("iframe"); iframe.src = sGateway + '?b_action=xts.run&m=' + objJSON.src; iframe.frameborder = 0; iframe.width = "100%"; iframe.height = "100%"; iframe.marginheight = 0; iframe.marginwidth = 0; iframe.scrolling = "no"; xAppendChild($(containerId),iframe); retHTML = iframe.document.body.innerHTML; case "AJAX": if (objJSON.url){ var a = new com.cognos.admin.util.Tools.ajaxObj(); a.setUrl (objJSON.url); if (objJSON.method) a.setMethod (objJSON.method); if (objJSON.parameters) a.setParameters (objJSON.parameters); a.onSuccess = function(transport) { retHTML = transport.responseText; $(containerId).innerHTML = retHTML; }; a.run(); $(containerId).innerHTML = "loading..."; } default: } return retHTML; }; /* * */ com.cognos.admin.util.Tools.getKey = function (tag) { var initParam = com.cognos.admin.util.Tools.cogEval(tag); var ret = ""; if (tag.getAttribute("key")){ ret = tag.getAttribute("key"); } else if (initParam && initParam["key"]){ ret = initParam["key"]; } else { var elt = tag; while (elt = xParent(elt,true)){ if (elt.nodeType==1 && elt.getAttribute("key")){ ret = elt.getAttribute("key"); break; } } } return ret; }; /* * */ com.cognos.admin.util.Tools.generateQueryString = function (currentString,newName,newValue,ignoreEmptyValues) { if (!currentString) { currentString=""; } if (newName) { if (ignoreEmptyValues && (!newValue || newValue.length == 0)) { return currentString; } if (currentString.length > 0) { currentString+="&"; } return currentString+newName+"="+encodeURIComponent(newValue); } return currentString; } com.cognos.admin.util.Tools.dspOpacity = function (objectId,opacity,isFadeIn){ var obj = $(objectId); xOpacity(obj,opacity/100); if (opacity == 0) obj.style.display = (isFadeIn) ? "" : "none"; }; /* * Adjust the cogadmin table's height to fit the fragment properly * @param outterTable string or object, usually refers to the Fragment container * @param innerTable string or object, refers to the container you want to adjust the height * @param windowState maximized/normal/minimized, refers to Fragment window statate. * @param numRow (integer,default:1) the number of the vertical fragment */ com.cognos.admin.util.Tools.adjustTableHeight = function (outterTable,innerTable,windowState,numRow){ var PAGELET_TOP_HEIGHT = 60; var FRAGMENT_MIN_HEIGHT = 500; var FRAGMENT_TOP_HEIGHT = 34; var defaultPageletHeight = (xClientHeight() < FRAGMENT_MIN_HEIGHT) ? FRAGMENT_MIN_HEIGHT : xClientHeight()-PAGELET_TOP_HEIGHT; var oTable = $(outterTable); var iTable = $(innerTable); var fragmentOtherHeight = (xHeight(iTable) && xHeight(oTable)) ? (xHeight(oTable) - xHeight(iTable) + 2) : 85; var num = numRow || 1; if (!oTable || !iTable){ if (com.cognos.admin.config.debug){ _F_log('D','One of the containers or both is not defined.'); } return false; } switch (windowState){ case "maximized": xHeight(iTable,defaultPageletHeight - fragmentOtherHeight); break; case "extended": xHeight(iTable,defaultPageletHeight - FRAGMENT_TOP_HEIGHT - fragmentOtherHeight); break; case "normal": default: xHeight(iTable,(defaultPageletHeight/num) - fragmentOtherHeight); } }; com.cognos.admin.util.Tools.includeClass = function includeClass(elt,cName) { var elt = xGetElementById(elt); if (elt && elt.className){ var reg = new RegExp("(^|\\s)"+cName+"(\\s|$)"); return reg.test(elt.className); } else { return false; } } /* * Adjust the destination table's td width with the original table * * @param oriTable original table, could be a table's id or obj * @param desTable destination table. * @return "true" if adjustment applied, "false" otherwise. * * Currently reserved for the furture use (partially finished) */ com.cognos.admin.util.Tools.adjustTdWidth = function (oriTable, desTable){ var oTable = (typeof oriTable == "object") ? oriTable : $(oriTable); var dTable = (typeof desTable == "object") ? desTable : $(desTable); if (!oTable || !dTable){ if (com.cognos.admin.config.debug){ _F_log('D','One of the table or both is not defined.'); } return false; } var firstOrow = oTable.rows[0].childNodes; var firstDrow = dTable.rows[0].childNodes; if (firstOrow.length == firstDrow.length){ for (var i = 0; i < firstOrow.length; i++){ if (firstDrow[i].nodeType == 1) xWidth(firstDrow[i],xWidth(firstOrow[i])); } } else { //TODO: Implement the case when table has a unmatched number of td } }; //**************************Fragment wrapper begin*****************************************/ com.cognos.admin.util.Tools.addFrgEvtListener = function (fragment, key, listener) { fragment.addEventListener("com.cognos.admin" + key, listener); }; com.cognos.admin.util.Tools.removeFrgEvtListener = function (fragment, key, listener) { fragment.removeEventListener("com.cognos.admin" + key, listener); }; com.cognos.admin.util.Tools.raiseFrgEvt = function (fragment, key, payload) { fragment.raiseEvent("com.cognos.admin" + key, payload); }; /* @fragID: The ID for the fragment that will get created * @divID: The ID of the div that will get updated by the fragment * @targetURL: parameters that will get added to the URL. Should NOT start with &, can be either a xts call or path of * cogadmin pipleline. */ com.cognos.admin.util.Tools.createFragment = function (targetURL,fragID, divID) { var fragContext = []; fragContext.path = encodeURI(targetURL); fragContext.id = fragID; fragContext.div = divID; return _F_attach(fragContext); }; /* * */ com.cognos.admin.util.Tools.createTransient = function (name, value, scope, channel) { var t = []; t["name"] = name t["scope"] = scope; t["channel"] = channel; t["value"] = value; return t; }; com.cognos.admin.util.Tools.ajaxObj = function (){ this.url = ""; this.method = "post"; this.text = ""; this.xml = ""; this.JSON = ""; this.parameters; this.onSuccess; this.onFailure; this.onGoing; }; com.cognos.admin.util.Tools.ajaxObj.prototype = { setUrl : function (url){ this.url = url; }, setMethod : function (method){ this.method = method; }, setParameters : function (parameters){ this.parameters = parameters; }, run : function (){ var option = {}; if (this.method) option.method = this.method; if (this.parameters) option.parameters = this.parameters; if (typeof this.onSuccess == "function") option.onSuccess = this.onSuccess; if (typeof this.onFailure == "function"){ option.onFailure = this.onFailure; } else { option.onFailure = function () { _F_log ("E", "Loading failed!"); } } var a = new _F_Ajax.Request(this.url,option); if (typeof this.onGoing == "function"){ this.onGoing(); } else { if (com.cognos.admin.config.debug) _F_log ("I", "Loading... from " + this.url); } }, getXml : function () { return this.xml; }, getText : function () { return this.text; }, getJSON : function () { return this.JSON; } }; //**************************Fragment wrapper end*****************************************/