• Файл: data.js
  • Полный путь: https://files.multura.space/qiwi/interface_fake-osmp_v1.0.0/system/js/engine/data.js
  • Дата изменения: 08/30/2012 3:14 AM
  • Размер файла: 31.28 KB
  • MIME-тип: text/plain
  • Кодировка: utf-8
 
Открыть Назад
CGroupElement = function(sElementType, oElementValue) {
    this.elementType = sElementType;
    this.elementValue = oElementValue;
}

CDataProvider = createClass
(
	CComponent,
	{
	    ctor: function (oParent, sInstance, fLoadedCallback) {
	        CDataProvider.base.ctor.call(this, oParent, sInstance);
	    },

	    _isValidGroup: function (oGroup) {
	        return (!$isNoU(oGroup) &&
	                oGroup.hasOwnProperty("id") &&
	                oGroup.hasOwnProperty("name"));
	    },

	    _isValidProvider: function (oProvider) {
	        return (!$isNoU(oProvider) &&
	                    oProvider.hasOwnProperty("id") &&
	                    oProvider.hasOwnProperty("sName"));
	    },

	    _isValidProviderS: function (oProvider) {
	        return (!$isNoU(oProvider) && oProvider.hasOwnProperty("id"));
	    },

	    isCellularGroup: function (sGrpId) {
	        return false;
	    },

	    isPromoGroup: function(sGrpId) {
	        return false;
	    },

	    isEmptyGroup: function(sGrpId) {
	        return false;
	    },

	    getCellularGroup: function () {
	        return "";
	    },

	    getGroups: function () {
	        return [];
	    },

	    getTop5Providers: function () {
	        return prv_on_first_page;
	        //	        return [];
	    },

	    getTopElements: function () {
	        return [];
	    },

	    getServices: function () {
	        return [];
	    },

	    getElementsByGroup: function (nGroupId) {
	        return [];
	    },

	    getProviderById: function (sId) {
	        return null;
	    },

	    searchProviders: function (sName) {
	        return [];
	    }
	}
);

CXmlDataProvider = createClass
(
	CDataProvider,
	{
	    ctor: function(oParent, sInstance, fLoadedCallback) {
	        CXmlDataProvider.base.ctor.call(this, oParent, sInstance);
	        this._xmlDom = newObject(CXMLDom, null, null);
	        if (fLoadedCallback) {
	            this._xmlDom.attachListener("onLoad", fLoadedCallback);
	        }
	    },

	    _initialize: function() {
	        this._xmlDom.load("./test_response.xml");
	    },

	    _convertXmlToJs: function(oXml) {
	        var oResult = null;
	        if (!$isNoU(oXml)) {
	            oResult = {};
	            for (var i = 0; i < oXml.attributes.length; i++) {
	                oResult[oXml.attributes[i].name] = oXml.attributes[i].value;
	            }
	        }
	        return oResult;
	    },

	    _convertGroup: function(oGroup) {
	        var oResult = null;
	        if (!$isNoU(oGroup)) {
	            oResult = this._convertXmlToJs(oGroup);
	            if (!$isNoU(oResult)) {
	                delete oResult["orderId"];
	            }
	        }
	        return oResult;
	    },

	    _convertProvider: function(oProvider) {
	        var sPageOrderId = "";
	        var sFieldOrderId = "";
	        var sButtonOrderId = "";
	        var aPages = [];
	        var aFields = [];
	        var aButtons = [];
	        var aParams = [];
	        var oPage = {};
	        var oField = {};
	        var oButton = {};
	        var oParam = {};
	        var oKeyboard = {};
	        var oResult = null;
	        if (!$isNoU(oProvider)) {
	            oResult = this._convertXmlToJs(oProvider);
	            delete oResult["contryId"];
	            delete oResult["inn"];
	            delete oResult["lName"];
	            if (oResult.hasOwnProperty("logo") && oResult["logo"].is(String)) {
	                oResult["logo"] = oResult["logo"].substr(oResult["logo"].lastIndexOf("/") + 1);
	            }
	            aParams = this._xmlDom.selectNodes(oProvider, "constParams/param");
	            if (aParams.length) {
	                oResult["params"] = [];
	                for (var i = 0; i < aParams.length; i++) {
	                    oResult["params"].push(this._convertXmlToJs(aParams[i]));
	                }
	            }
	            aPages = this._xmlDom.selectNodes(oProvider, "pages/page");
	            if (aPages.length) {
	                oResult["pages"] = {};
	                for (var i = 0; i < aPages.length; i++) {
	                    oPage = this._convertXmlToJs(aPages[i]);
	                    sPageOrderId = oPage["orderId"];
	                    delete oPage["orderId"];
	                    oResult["pages"][sPageOrderId] = oPage;
	                    if (!$isNoU(oPage)) {
	                        oPage["keyboard"] = "";
	                        oKeyboard = this._convertXmlToJs(this._xmlDom.selectSingleNode(aPages[i],
	                            "controls/control[@type='keyboard']"));
	                        if (!$isNoU(oKeyboard)) {
	                            delete oKeyboard["orderId"];
	                            delete oKeyboard["type"];
	                            if (oKeyboard.hasOwnProperty("layout")) {
	                                oPage["keyboard"] = oKeyboard["layout"];
	                            }
	                        }
	                        aFields = this._xmlDom.selectNodes(aPages[i], "controls/control[@type='text_input']");
	                        if (aFields.length) {
	                            oResult["pages"][sPageOrderId]["fields"] = {};
	                            for (var j = 0; j < aFields.length; j++) {
	                                oField = this._convertXmlToJs(aFields[j]);
	                                sFieldOrderId = oField["orderId"];
	                                delete oField["orderId"];
	                                delete oField["type"];
	                                oPage["fields"][sFieldOrderId] = oField;
	                            }
	                        }
	                        aButtons = this._xmlDom.selectNodes(aPages[i], "controls/control[@type='button']");
	                        if (aButtons.length) {
	                            oPage["buttons"] = {};
	                            for (var j = 0; j < aButtons.length; j++) {
	                                oButton = this._convertXmlToJs(aButtons[j]);
	                                sButtonOrderId = oButton["orderId"];
	                                delete oButton["orderId"];
	                                delete oButton["type"];
	                                oPage["buttons"][sButtonOrderId] = oButton;
	                                if (!$isNoU(oButton)) {
	                                    aParams =
	                                        this._xmlDom.selectNodes(aButtons[j],
	                                            "param");
	                                    if (aParams.length) {
	                                        oButton["params"] = [];
	                                        for (var k = 0; k < aParams.length; k++) {
	                                            oButton["params"].push(this._convertXmlToJs(aParams[k]));
	                                        }
	                                    }
	                                }
	                            }
	                        }
	                    }
	                }
	            }
	        }
	        return oResult;
	    },

	    getGroups: function() {
	        var aResult = [];
	        var aGroups = this._xmlDom.selectNodes(null, "/response/providers/getUIGroups/group");
	        for (var i = 0; i < aGroups.length; i++) {
	            oGroup = this._convertGroup(aGroups[i]);
	            if (!$isNoU(oGroup)) {
	                aResult.push(oGroup);
	            }
	        }
	        return aResult;
	    },

	    getTopElements: function() {
	        var aResult = [];
	        var oProvider = null;
	        var nCounter = 1;
	        var nPrvCount = this._xmlDom.selectNodes(null,
	            "/response/providers/getUIProviders/provider").length;
	        return;
	        while (aResult.length < 10 && nCounter < nPrvCount) {
	            if (this._isValidProvider(
                    oProvider = this._xmlDom.selectSingleNode(null,
                        "/response/providers/getUIProviders/provider[@orderId='" + nCounter.toString(10) + "']"))) {
	                aResult.push(oProvider);
	            }
	            nCounter++;
	        }
	        return aResult;
	    },

	    getElementsByGroup: function(sGroupId) {
	        var oGroup = this._xmlDom.selectSingleNode(null, "//group[@id='" + sGroupId + "']");
	        var oTemp = null;
	        var aResult = [];
	        if (!$isNoU(oGroup)) {
	            var aElements = this._xmlDom.selectNodes(oGroup, "(group | provider)");
	            for (var i = 0; i < aElements.length; i++) {
	                if (aElements[i].nodeName.toLowerCase() == "group") {
	                    oTemp = this._convertGroup(aElements[i]);
	                    if (this._isValidGroup(oTemp)) {
	                        aResult.push(new CGroupElement("GROUP", oTemp));
	                    }
	                }
	                else if (aElements[i].nodeName.toLowerCase() == "provider") {
	                    oTemp = this._convertProvider(aElements[i]);
	                    if (this._isValidProviderS(oTemp)) {
	                        aResult.push(new CGroupElement("PROVIDER", oTemp));
	                    }
	                }
	            }
	        }
	        return aResult;
	    },

	    getGroupById: function(sId) {
	        var oGroup = this._xmlDom.selectSingleNode(null, "//group[@id='" + sId + "']");
	    },

	    getProviderById: function(sId) {
	        var oProvider = this._xmlDom.selectSingleNode(null,
	            "/response/providers/getUIProviders/provider[@id='" + sId + "']");
	        return (this._convertProvider(oProvider));
	    }
	}
);

	CJsDataProvider = createClass
(
	CDataProvider,
	{
	    ctor: function (oParent, sInstance, fLoadedCallback) {
	        CJsDataProvider.base.ctor.call(this, oParent, sInstance);
	        this._aGroups = oParent && oParent._aGroups ? oParent._aGroups : [];
	        this._aProviders = [];
	        this._aTopProviders = [];
	        this._sCellularGroupId = "";
	        if (!$isNoU(window.UIGroups) &&
	            !$isNoU(window.UIGroups.__objects) &&
	            window.UIGroups.__objects.is(Array)) {
	            this._aGroups = window.UIGroups.__objects;
	        }
	        if (!$isNoU(window.UITopElements) && window.UITopElements.is(Array)) {
	            this._aTopProviders = window.UITopElements.slice(0, 8);
	        }
	        if (fLoadedCallback) {
	            this.attachListener("onLoad", fLoadedCallback);
	        }
	    },

	    _initialize: function () {
	        this.notify("onLoad");
	    },

	    _getElementById: function (aContext, sId, withElements) {
	        var oElement;
	        if ($isNoU(aContext) || !aContext.is(Array)) return null;

	        for (var i = 0, l = aContext.length; i < l; i++) {
	            var a = aContext[i];
	            if (a && a["__type"]) {
	                if (a["__type"] == "group") {
	                    if (a["id"] == sId) {
	                        oElement = a.clone();
	                        delete oElement["__type"];
	                        if (!$bool(withElements)) {
	                            delete oElement["__objects"];
	                        }
	                        if (this._isValidGroup(oElement)) {
	                            return oElement;
	                        }
	                    }
	                    if (!$isNoU(a["__objects"])) {
	                        oElement = this._getElementById(a["__objects"], sId, withElements);
	                        if (!$isNoU(oElement)) {
	                            return oElement;
	                        }
	                    }
	                }
	                else if (a["__type"] == "provider") {
	                    if (a["id"] == sId) {
	                        oElement = a.clone();
	                        delete oElement["__type"];
	                        if (this._isValidProvider(oElement)) {
	                            return oElement;
	                        }
	                    }
	                }
	            }
	        }
	        return null;
	    },

	    _getGroupByTag: function (aContext, sTag) {
	        var oGroup;
	        if ($isNoU(aContext) || !aContext.is(Array))
	            return null;
	        for (var i = 0; i < aContext.length; i++) {
	            if (!$isNoU(aContext[i]) &&
                        !$isNoU(aContext[i]["__type"])) {
	                if (aContext[i]["__type"] == "group") {
	                    if (this.isTag(aContext[i]["id"], sTag)) {
	                        oGroup = aContext[i].clone();
	                        delete oGroup["__type"];
	                        delete oGroup["__objects"];
	                        if (this._isValidGroup(oGroup)) {
	                            return oGroup["id"];
	                        }
	                    }
	                    else if (!$isNoU(aContext[i]["__objects"])) {
	                        var sId = this._getGroupByTag(aContext[i]["__objects"], sTag);
	                        if (sId.length) {
	                            return sId;
	                        }
	                    }
	                }
	            }
	        }
	        return "";
	    },

	    isTag: function (sElementId, sTagValue) {
	        var oElement = this._getElementById(this._aGroups, sElementId, false);
	        return this.isTagO(oElement, sTagValue);
	    },

	    isTagO: function (oElement, sTagValue) {
	        var bRes = false;
	        if (!$isNoU(oElement) && $is(oElement["tag"], String)) {
	            var aTagElements = oElement["tag"].split(",");
	            for (var i = 0; i < aTagElements.length; i++) {
	                if (aTagElements[i] == sTagValue) {
	                    bRes = true;
	                    break;
	                }
	            }
	        }
	        return bRes;
	    },

	    isCellularGroup: function (sGrpId) {
	        return this.isTag(sGrpId, "ranges");
	    },

	    isPromoGroup: function (sGrpId) {
	        return this.isTag(sGrpId, "promo");
	    },

	    isLotteryGroup: function (sGrpId) {
	        return this.isTag(sGrpId, "lottery");
	    },

	    isEmptyGroup: function (sGroupId) {
	        var oGroup = this._getElementById(this._aGroups, sGroupId, true);
	        var oElement = null;
	        var sId = "";
	        if (!$isNoU(oGroup) && $is(oGroup["__objects"], Array)) {
	            for (var i = 0; i < oGroup["__objects"].length; i++) {
	                oElement = oGroup["__objects"][i].clone();
	                if (!$isNoU(oElement)) {
	                    sId = String(oElement["id"]);
	                    if (oElement["__type"] == "provider") {
	                        oElement = this.getProviderById(sId);
	                        if (!$isNoU(oElement)) {
	                            oElement["id"] = sId;
	                            if (this._isValidProvider(oElement)) {
	                                return false;
	                            }
	                        }
	                    }
	                    else if (oElement["__type"] == "group" &&
	                             !$isNoU(oElement["__objects"]) &&
	                             oElement["__objects"].is(Array) &&
	                             oElement["__objects"].length) {
	                        if (this._isValidGroup(oElement)) {
	                            return false;
	                        }
	                    }
	                }
	            }
	        }
	        return true;
	    },

	    modifyProvider: function (oProvider) {
	        if (!$isNoU(oProvider)) {
	            if ($is(oProvider["__objects"], Array)) {
	                for (var i = 0; i < oProvider["__objects"].length; i++) {
	                    if (!$isNoU(oProvider["__objects"][i]) &&
	                        !$isNoU(oProvider["__objects"][i]["__type"])) {
	                        if (oProvider["__objects"][i]["__type"] == "logos" && !$isNoU(oProvider["__objects"][i]["__objects"])) {
	                            for (var x = 0; x < oProvider["__objects"][i]["__objects"].length; x++)
	                                if (oProvider["__objects"][i]["__objects"][x]["type"] == "standard")
	                                    oProvider["logo"] = oProvider["__objects"][0]["__objects"][0]["img"];
	                        } else if (oProvider["__objects"][i]["__type"] == "constParams") {
	                            if ($is(oProvider["__objects"][i]["__objects"], Array) &&
	                                    oProvider["__objects"][i]["__objects"].length) {
	                                oProvider["constParams"] = {};
	                                for (var j = 0; j < oProvider["__objects"][i]["__objects"].length; j++) {
	                                    if (!$isNoU(oProvider["__objects"][i]["__objects"][j]) &&
	                                        !$isNoU(oProvider["__objects"][i]["__objects"][j]["__type"]) &&
	                                        oProvider["__objects"][i]["__objects"][j]["__type"] == "param" &&
	                                        $is(oProvider["__objects"][i]["__objects"][j]["name"], String) &&
	                                        oProvider["__objects"][i]["__objects"][j]["name"].length &&
	                                        $is(oProvider["__objects"][i]["__objects"][j]["value"], String)) {
	                                        oProvider["constParams"][oProvider["__objects"][i]["__objects"][j]["name"]] =
	                                            oProvider["__objects"][i]["__objects"][j]["value"];
	                                    }
	                                }
	                            }
	                        }
	                        else if (oProvider["__objects"][i]["__type"] == "pages") {
	                            if ($is(oProvider["__objects"][i]["__objects"], Array)) {
	                                oProvider["pages"] = [];
	                                for (var j = 0; j < oProvider["__objects"][i]["__objects"].length; j++) {
	                                    if (!$isNoU(oProvider["__objects"][i]["__objects"][j])) {
	                                        oProvider["pages"].push(oProvider["__objects"][i]["__objects"][j].clone());
	                                    }
	                                }
	                            }
	                        }
	                    }
	                }
	                delete oProvider["__objects"];
	            }
	        }
	    },

	    getCellularGroup: function () {
	        return this._getGroupByTag(this._aGroups, "ranges");
	    },

	    getGroups: function () {
	        var aResult = [];
	        var oGroup = {};
	        for (var i = 0; i < this._aGroups.length; i++) {
	            if (!$isNoU(this._aGroups[i]) && this._aGroups[i]["__type"] == "group") {
	                oGroup = this._aGroups[i].clone();
	                delete oGroup["__objects"];
	                delete oGroup["__type"];
	                if (this._isValidGroup(oGroup) &&
	                    !this.isEmptyGroup(oGroup["id"])) {
	                    aResult.push(oGroup);
	                }
	            }
	        }

	        return aResult;
	    },

	    getHighLevelGroup: function (sElementId) {
	        var oGroup = {};
	        if (/^-\d+$/.test(sElementId) ||
	            /^\d+$/.test(sElementId)) {
	            for (var i = 0; i < this._aGroups.length; i++) {
	                if (!$isNoU(this._getElementById(this._aGroups[i]["__objects"], sElementId, true))) {
	                    if ($is(this._aGroups[i]["id"], String) &&
	                        this._aGroups[i]["id"].length)
	                        return this._aGroups[i]["id"];
	                }
	            }
	        }
	        return "";
	    },

	    getTopElements: function () {
	        var aResult = [];
	        var oProvider = {};
	        var oGroup = {};
	        for (var i = 0; i < this._aTopProviders.length; i++) {
	            if (/^\d+$/.test(this._aTopProviders[i])) {
	                oProvider = this.getProviderById(this._aTopProviders[i]);
	                if (!$isNoU(oProvider)) {
	                    aResult.push(new CGroupElement("PROVIDER", oProvider));
	                }
	            }
	            else if (/^-\d+$/.test(this._aTopProviders[i])) {
	                oGroup = this.getGroupById(this._aTopProviders[i]);
	                if (!$isNoU(oGroup)) {
	                    aResult.push(new CGroupElement("GROUP", oGroup));
	                }
	            }
	        }
	        return aResult;
	    },

	    getElementsByGroup: function (sGroupId) {
	        var oGroup = this._getElementById(this._aGroups, sGroupId, true);
	        var aResult = [];
	        var oElement = null;
	        var sId = "";
	        if (!$isNoU(oGroup) && $is(oGroup["__objects"], Array)) {
	            this.preloadGroupTasks.obj = oGroup["__objects"];
	            for (var i = 0; i < oGroup["__objects"].length; i++) {
	                oElement = oGroup["__objects"][i].clone();
	                if (!$isNoU(oElement)) {
	                    sId = String(oElement["id"]);
	                    if (oElement["__type"] == "provider") {
	                        if (!$isNoU(oElement)) {
	                            if (this._isValidProvider(oElement) &&
	                                this.isTagO(oElement, "visible")) {
	                                if ($isNoU(oElement["logo"]) && !$isNoU(oElement["__objects"]) && $is(oGroup["__objects"], Array)) {
	                                    for (var j = 0; j < oElement["__objects"].length; j++)
	                                        if (oElement["__objects"][j]["__type"] == "logos" && !$isNoU(oElement["__objects"][j]["__objects"]))
	                                            for (var x = 0; x < oElement["__objects"][j]["__objects"].length; x++)
	                                                if (oElement["__objects"][j]["__objects"][x]["type"] == "standard")
	                                                    oElement["logo"] = oElement["__objects"][0]["__objects"][0]["img"];
	                                }
	                                delete oElement["__type"];
	                                aResult.push(new CGroupElement("PROVIDER", oElement));
	                            }
	                        }
	                    }
	                    else if (oElement["__type"] == "group") {
	                        if (this._isValidGroup(oElement) && this.isTagO(oElement, "visible")) {
	                            oGroup["__objects"][i].__objects = [true];
	                            this.preloadGroupTasks.queue.push([oElement.id, i]);
	                            delete oElement["__type"];
	                            delete oElement["__objects"];
	                            aResult.push(new CGroupElement("GROUP", oElement));
	                        }
	                    }
	                }
	            }
	        }
	        else {
	            return false;
	        }
	        //		setTimeout($delegate(this, this.preloadGroupInit), 500);
	        this.preloadGroupInit();
	        return aResult;
	    },
	    preloadGroupTasks: { 'obj': null, 'queue': [] },
	    preloadGroupInit: function () {
	        if (this.preloadGroupTasks.queue.length) {
	            var conf = this.preloadGroupTasks.queue.pop();
	            getScript('./config/' + conf[0] + '.js', this.preloadGroupObjects, [this.preloadGroupTasks.obj[conf[1]]], this);
	        }
	    },
	    preloadGroupObjects: function (oGroup) {
	        if (!$isNoU(window['UIGroup'])) {
	            if (!$isNoU(UIGroup["__objects"] && $is(UIGroup["__objects"], Array))) {
	                for (var i = 0; i < UIGroup["__objects"].length; i++)
	                    if (UIGroup["__objects"][i]["__type"] == "children")
	                        oGroup.__objects = UIGroup["__objects"][i]["__objects"];
	            }
	            else
	                oGroup.__objects = UIGroup;
	        }
	        else {
	            oGroup.__objects = null;
	        }
	        if (this.preloadGroupInit) this.preloadGroupInit();
	    },

	    getGroupById: function (sId) {
	        return this._getElementById(this._aGroups, sId);
	    },

	    getProviderById: function (sId) {
	        return this._getElementById(this._aGroups, sId);
	        //	        var oProvider = null;
	        //	        var js = document.createElement("script");
	        //	        js.language = "javascript";
	        //	        js.src = "./config/" + sId + ".js";
	        //	        document.body.appendChild(js);
	        //	        try {
	        //	            if (!$isNoU(window.UIProvider) && !$isNoU(window.UIProvider["id"])) {
	        //	                if (window.UIProvider["id"] == sId) {
	        //	                    var oProvider = window.UIProvider.clone();
	        //	                    this._modifyProvider(oProvider);
	        //	                    if (!this._isValidProvider(oProvider)) {
	        //	                        oProvider = null;
	        //	                    }
	        //	                }
	        //	            }
	        //	        }
	        //	        catch (e) {
	        //	        }
	        //	        document.body.removeChild(js);

	        //	        return oProvider;
	    },


	    searchProviders: function (sName) {
	        var aRes = [];
	        if (sName.length) {
	            for (var i = 0; i < this._aProviders.length; i++) {
	                if (!$isNoU(this._aProviders[i]) && $is(this._aProviders[i]["sName"], String)) {
	                    if ((new RegExp("^" + sName.toUpperCase())).test(this._aProviders[i]["sName"].toUpperCase())) {
	                        var oProvider = this._aProviders[i].clone();
	                        this._modifyProvider(oProvider);
	                        if (this._isValidProvider(oProvider)) {
	                            aRes.push(oProvider);
	                        }
	                    }
	                }
	            }
	        }
	        return aRes;
	    }
	}
);


	CConfigObject = createClass
(
    CComponent,
    {
        ctor: function (oParent, sInstance, oObject) {
            CConfigObject.base.ctor.call(this, oParent, sInstance);
            this._oObject = oObject;
            this._bProvider = (/^\d+$/.test(this._oObject.id)) ? true : false;
        },

        getId: function () {
            return this._oObject.id;
        },

        getName: function () {
            if (this._bProvider) {
                if (this._oObject.hasOwnProperty("buttonName")) {
                    return this._oObject.buttonName;
                }
                else {
                    return this._oObject.sName;
                }
            }
            else {
                return this._oObject.name;
            }
        },

        getLogo: function () {
            if (!$isNoU(this._oObject["logo"]))
                return getFileName(this._oObject["logo"]);
            if (!$isNoU(this._oObject.__objects)) {
                for (var i = 0; this._oObject.__objects.length; i++) {
                    if (!$isNoU(this._oObject.__objects[i].__type) && this._oObject.__objects[i].__type == "logos") {
                        if (!$isNoU(this._oObject.__objects[i].__objects)) {
                            for (var j = 0; j < this._oObject.__objects[i].__objects.length; j++) {
                                if (!$isNoU(this._oObject.__objects[i].__objects[j].type) && !$isNoU(this._oObject.__objects[i].__objects[j].img) && this._oObject.__objects[i].__objects[j].type == "standard") {
                                    return this._oObject.__objects[i].__objects[j].img;
                                }
                            }
                        }
                    }
                }
            }
            return '';
        },

        getFaterLogo: function (aFaterGroup) {
            if (this._oObject.__path.length) {
                var sId = this._oObject["__path"].split("|")[0];
                for (var i = 0; i < aFaterGroup.length; i++) {
                    if (sId == aFaterGroup[i].id) {
                        return getFileName(aFaterGroup[i].logo);
                    }
                }
            }
            return this.getLogo();
        },

        getChildren: function () {
            if (!this._bProvider) {
                if (!$isNoU(this._oObject.__objects)) {
                    for (var i = 0; this._oObject.__objects.length; i++) {
                        if (!$isNoU(this._oObject.__objects[i].__type) && this._oObject.__objects[i].__type == "children") {
                            if (!$isNoU(this._oObject.__objects[i].__objects)) {
                                return this._oObject.__objects[i].__objects;
                            }
                        }
                    }
                }
            }
            return [];
        },

        getPath: function () {
            return this._oObject.__path;
        },

        getTag: function () {
            return (!$isNoU(this._oObject.tag)) ? this._oObject.tag : '';
        },

        getType: function () {
            if (this._bProvider)
                return 'provider';
            else
                return 'group';
        },

        getPrvPage: function () {
            if (this._bProvider) {
                if (!$isNoU(this._oObject["prvPage"]) && this._oObject["prvPage"].is(String) && this._oObject["prvPage"].length > 0) {
                    return this._oObject["prvPage"];
                }
            }
            return '';
        },

        getConsParam: function () {
            var o = {};
            if (this._bProvider) {
                if (!$isNoU(this._oObject.__objects)) {
                    for (var i = 0; this._oObject.__objects.length; i++) {
                        if (!$isNoU(this._oObject.__objects[i].__type) && this._oObject.__objects[i].__type == "constParams") {
                            if (!$isNoU(this._oObject.__objects[i].__objects) && this._oObject.__objects[i].__objects.length) {
                                for (var j = 0; j < this._oObject.__objects[i].__objects.length; j++) {
                                    if (!$isNoU(this._oObject.__objects[i].__objects[j]["__type"]) && this._oObject.__objects[i].__objects[j]["__type"] == "param" && !$isNoU(this._oObject.__objects[i].__objects[j]["name"]) && !$isNoU(this._oObject.__objects[i].__objects[j]["value"])) {
                                        o[this._oObject.__objects[i].__objects[j]["name"]] = this._oObject.__objects[i].__objects[j]["value"];
                                    }
                                }
                            }
                            return o;
                        }
                    }
                }
            }
            return o;
        },

        getMinSum: function () {
            if (this._bProvider && !$isNoU(this._oObject["minSum"])) {
                return this._oObject["minSum"];
            }
            else {
                return '1';
            }
        },

        getMaxSum: function () {
            if (this._bProvider && !$isNoU(this._oObject["maxSum"])) {
                return this._oObject["maxSum"];
            }
            else {
                return false;
            }
        }
    }

);