/// var _T_Categories = function() { this.arrCatsByOrder=[]; this.init=function() { this.removeEmptyCategories(); var table = this.getTable(); //create array of categories by dispaly order for (var category in table) { this.arrCatsByOrder.push(category); } this.arrCatsByOrder.sort(function(l,r) { if (T_Categories.getMenuDisplayOrder(l)>T_Categories.getMenuDisplayOrder(r)) return 1; else return -1; }); }; this.removeEmptyCategories=function() { var catTable = this.getTable(); var categoriesToKeep={}; for (var row in this.getTable()) { categoriesToKeep[row]=false; } var dishTable=T_Dishes.getTable(); for (var row in dishTable) { var usedCatID = dishTable[row]["CategoryID"]; while (usedCatID!=null & usedCatID !=undefined && usedCatID !="0") { categoriesToKeep[usedCatID]=true; if (catTable[usedCatID]) usedCatID=catTable[usedCatID]["ParentID"]; else break; } } for (var index in categoriesToKeep) { if (categoriesToKeep[index]==false) delete catTable[index]; } }; this.getTable = function() { return MenuDB.getTable("T_Categories"); }; this.getMenuDisplayOrder=function(sID) { return parseInt(this.getTable()[sID]["MenuDisplayOrder"]); }; this.getCategoriesByParent = function(sParentID) { var table = this.getTable(); var ret = []; for (var index in this.arrCatsByOrder) { var category = this.arrCatsByOrder[index]; if (table[category]["ParentID"] == sParentID) ret.push(category); } return ret; }; this.isParent = function(sID) { var table = this.getTable(); for (var index in this.arrCatsByOrder) { if (table[this.arrCatsByOrder[index]]["ParentID"] == sID) return true; } return false; }; this.getMainCategories = function() { return this.getCategoriesByParent("0"); }; this.getCategoryName=function(sCategoryKey) { currentLang=T_MenuLanguages.getCurrentLanguageId(); if (currentLang=="1") currentLang=""; var sRet=this.getTable()[sCategoryKey]["Name"+currentLang]; if (sRet==undefined) sRet=this.getTable()[sCategoryKey]["Name"]; return sRet; }; }; var T_Categories = new _T_Categories(); T_Categories.init();