{"version":3,"sources":["../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/models/fxdata.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/models/fxtext.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/models/eventconfiguration.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/models/styles.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/models/displayexhibitor.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/models/exhibitor.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/models/booth.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/models/graphicobject.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/fxevent.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/emaillinkbuilder.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/utilities.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/scriptloader.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/googlesetup.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/element.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/comparer.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/slick.core.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/slick.grid.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/slick.dataview.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/slick.rowselectionmodel.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/progressbar.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/adbanner.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/dialog.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/helpwindow.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/exhibitorwindow.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/linkpreviewwindow.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/legenditem.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/legend.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/socialmedia.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/salesmenu.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/boothlist.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/companylist.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/deletedboothlist.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/divideelements.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/views/eventstats.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/print/printheader.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/print/printhalls.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/print/printexhibitors.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/print/printtree.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/print/printlist.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/availableboothtree.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/setuplanguages.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/setuptoolbar.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/setupminimap.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/setupheaderfooter.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/openemail.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/pdfoutput.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/overlays.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/waveEffect.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/boothtext.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/dividetool.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/localstorage.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/servertimedisplay.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/pagesetup.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/sales.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/saleswindow.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/login.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/storeXml.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/pagecontrol.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/exhibitorlist.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/datamanager.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/dataloader.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/favorites.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/exhibitorinfo.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/transform.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/minimap.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/drawing.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/drawing3d.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/fp.js","../../../Users/andy.ACTDOMAIN/Documents/Visual Studio 2017/Projects/EXPOCAD FX/fx_js/src/expofx.js"],"names":[],"mappings":"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","file":"expofx-min.js","sourcesContent":["/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n\r\n\r\nvar expocadfx = expocadfx || {};\r\n\r\nexpocadfx.fxData = {\r\n version: \"4.8.1b\",\r\n debug: false,\r\n queryEvent: \"\",\r\n queryBooths: \"\",\r\n queryIndex: \"\",\r\n queryCoord: \"\",\r\n queryAuthKey: \"\",\r\n queryExhibitor: \"\",\r\n queryUnits: \"\",\r\n queryMessage: \"\",\r\n queryActCode: \"\",\r\n mode: \"\",\r\n coords: false,\r\n\tdevice: \"other\",\r\n notOldios: true,\r\n firefox: false,\r\n\tmsie: false,\r\n exhibitors: [],\r\n eventExhibitors: [],\r\n displayExhibitors : [],\r\n\tdisplayBooths: [],\r\n booths: [],\r\n boothGraphics: [],\r\n boothText: [],\r\n floorPlanText: [],\r\n\tpavilionLabels: [],\r\n buildingText: [],\r\n pavilions: [],\r\n eventBooths : [],\r\n favoriteBooths : [],\r\n\tfavoriteMarks2d : [],\t\t// created by drawing(2d), needed by pdf output\r\n\tselected2d : [],\t\t\t// created by drawing(2d), needed by pdf output\r\n selectedBooths: [],\r\n arViews: [],\r\n arOverlays: [],\r\n\tarTechLayers: [],\r\n\tarLayersMenuItems: [],\r\n\t\r\n\tarCircles: [],\r\n\tarArcs: [],\r\n\t\r\n\taddedGraphics: null,\r\n hasSpns: false,\r\n xmlBooths: \"\",\r\n xmlBldgTxt: \"\",\r\n jsonBldgTxt: null,\r\n xmlTechLayers: \"\",\r\n jsonTechLayers: \"\",\r\n selectedRow: -1,\r\n grid: null,\r\n viewportWidth: 0,\r\n viewportHeight: 0,\r\n\theaderHeight: 0,\r\n initialAccordionHeight: 0,\r\n pageHeight: 0,\r\n numAvailableBooths: 0,\r\n numOnHoldBooths: 0,\r\n filterExhibitorList: true,\r\n searchString: \"\",\r\n updateNumber: 0,\r\n lastMessageNumber: -1, // Will need to be set from the config endpoint? Default to 0 - ANH\r\n smallLayout: false,\r\n bDrawBuilding: true,\r\n languagePreference: \"\",\r\n tempBooths: [],\r\n tempBoothsStyle: [],\r\n\tlinkPreviewWindow: null,\r\n \r\n menuPending: false,\r\n iahPending: false,\r\n wayPending: false,\r\n waySegments: [],\r\n activeWaySegments: [],\r\n possibleDestinations: [],\r\n wayPathDestinationGraphic: null,\r\n wayOriginObj: null,\r\n\tgaAccount: null, // Google Analytics Account number\r\n\tpdfOk: true,\r\n \r\n miniMap: null,\r\n userMovedMap: false,\r\n userMovedMapSales: false,\r\n salesWindow: null,\r\n\t\r\n\tpremiumCompanies: [],\r\n\tpremiumLevels: [],\r\n \r\n salesUrl: \"\",\r\n salesAllowedCommands: [],\r\n salesIniUser: \"\",\r\n salesIniPswd: \"\",\r\n salesPort: \"\",\r\n salesIdleLimit: \"10\",\r\n pendingZoomBoothNumber: \"\",\r\n hatchedBooths: false,\r\n\t\r\n\tstartTime: 0,\r\n \r\n status: {\r\n textReady : false,\r\n exhibitorsReady : false,\r\n buildingTextReady : false,\r\n boothObjectsReady: false,\r\n floorPlanReady: false,\r\n favoritesReady: false,\r\n\t\t\toverlaysReady: false\r\n }\r\n};\r\n","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.txt = {\r\n\r\n // 5.0 - Populate text array with JSON objects from API call\r\n saveJSONText: function(results){\r\n // General UI text \r\n var txt = expocadfx.txt;\r\n\r\n txt.AVAILABLE = results.AVAILABLE;\r\n txt.LEGEND_HOLD = results.LEGEND_HOLD;\r\n txt.LEGEND_RENTED = results.LEGEND_RENTED;\r\n txt.LEGEND = results.LEGEND;\r\n txt.LEGEND_AVAILABLE = results.LEGEND_AVAILABLE;\r\n txt.EXHIBITOR_LIST = results.EXHIBITOR_LIST;\r\n \r\n txt.CATEGORY_LIST = results.CATEGORY_LIST;\r\n txt.PAVILION_LIST = results.PAVILION_LIST;\r\n txt.SHOW_IN_SHOW_LIST = results.SHOW_IN_SHOW_LIST;\r\n txt.COUNTRY_LIST = results.COUNTRY_LIST;\r\n txt.AVAILABLE_LIST = results.AVAILABLE_LIST;\r\n \r\n txt.CONTACT = results.CONTACT;\r\n txt.PHONE = results.PHONE;\r\n txt.FAX = results.FAX;\r\n txt.EMAIL_C = results.EMAIL_C;\r\n txt.WEB_SITE = results.WEB_SITE;\r\n txt.PROFILE = results.PROFILE;\r\n txt.CATEGORIES = results.CATEGORIES;\r\n txt.NO_CONTACT = results.NO_CONTACT;\r\n \r\n txt.EXPIRED = results.EXPIRED;\r\n txt.FAIL_AUTH = results.FAIL_AUTH;\r\n \r\n txt.EXHIBITOR = results.EXHIBITOR;\r\n txt.BOOTH = results.BOOTH;\r\n txt.VIEW = results.VIEW;\r\n txt.VIEW_LIST = results.VIEW_LIST;\r\n txt.LINK_PREVIEW = results.LINK_PREVIEW;\r\n txt.SEARCH_PROMPT = results.SEARCH_PROMPT;\r\n txt.SEARCH = results.SEARCH;\r\n txt.LOADING = results.LOADING;\r\n txt.I_AM_HERE = results.I_AM_HERE;\r\n txt.TT_I_AM_HERE = results.TT_I_AM_HERE;\r\n txt.TT_MAIL_FRIEND = results.TT_MAIL_FRIEND;\r\n txt.CANCEL = results.CANCEL;\r\n txt.CLOSE = results.CLOSE;\r\n txt.PRINT = results.PRINT;\r\n txt.TT_PRINT_HALL = results.PRINT_HALL;\r\n txt.PRINT_FLOORPLAN = results.PRINT_FLOORPLAN;\r\n txt.PRINT_WINDOW = results.PRINT_WINDOW;\r\n txt.TT_PRINT_WINDOW = results.TT_PRINT_WINDOW;\r\n txt.PRINTABLE_PDF = results.PRINTABLE_PDF;\r\n txt.TT_OPEN_PDF = results.TT_OPEN_PDF;\r\n txt.VIEW_HELP = results.VIEW_HELP;\r\n txt.UNITS = results.UNITS;\r\n txt.BUILDING = results.BUILDING;\r\n txt.TT_BUILDING_ON = results.TT_BUILDING_ON;\r\n txt.TT_BUILDING_OFF = results.TT_BUILDING_OFF;\r\n txt.TT_PRINT_LIST = results.TT_PRINT_LIST;\r\n txt.TT_PRINT_EXHIBITOR = results.TT_PRINT_EXHIBITOR;\r\n txt.MAP_ADDRESS = results.MAP_ADDRESS;\r\n \r\n txt.MINI_MAP = results.MINI_MAP;\r\n\r\n txt.BOOTH_SIZE = results.BOOTH_SIZE;\r\n txt.FLOOR_PLAN = results.FLOOR_PLAN;\r\n txt.EXHIBITORS = results.EXHIBITORS;\r\n txt.EXHIBITOR_INFO = results.EXHIBITOR_INFO;\r\n txt.PASSWORD = results.PASSWORD;\r\n txt.CLEAR_ALL = results.CLEAR_ALL;\r\n txt.FIT = results.FIT;\r\n txt.HOME = results.HOME;\r\n txt.MARK_ON_DRAWING = results.MARK_ON_DRAWING; // \"Highlight\";\r\n txt.RESET = results.RESET;\r\n txt.EMAIL = results.EMAIL;\r\n txt.OPEN_EMAIL = results.OPEN_EMAIL;\r\n txt.MULTI_EXHIBITOR_PROMPT = results.MULTI_EXHIBITOR_PROMPT;\r\n txt.LOGIN = results.LOGIN;\r\n txt.EXHIBITOR_FILTER_ALL = results.EXHIBITOR_FILTER_ALL;\r\n txt.EXHIBITOR_FILTER_HALL = results.EXHIBITOR_FILTER_HALL;\r\n txt.EXHIBITOR_FILTER_TAGGED = results.EXHIBITOR_FILTER_TAGGED;\r\n txt.CURRENT = results.CURRENT;\r\n txt.VERSION = results.VERSION;\r\n txt.SHOW_COORDS = results.SHOW_COORDS;\r\n txt.MENU = results.MENU;\r\n txt.NAVIGATION = results.NAVIGATION;\r\n txt.FLOOR_PLAN_OPTIONS = results.FLOOR_PLAN_OPTIONS;\r\n txt.AREA = results.AREA;\r\n txt.SHOW_3D = \"3D\";\r\n txt.SMALL_SHOW_3D = \"Show 3D Floor Plan\";\r\n txt.ENTER_PASSWORD = results.ENTER_PASSWORD;\r\n txt.REQUIRED_PASSWORD = results.REQUIRED_PASSWORD; // In fxsalestext !\r\n\t\ttxt.OTHER_BOOTHS = \"Other \" + this.BOOTH + \"s\";\r\n\t\ttxt.TT_EMAIL_TAGGED_BOOTHS = \"E-Mail tagged \" + this.BOOTH + \"s\";\r\n\t\ttxt.MENU_VIEW = results.MENU_VIEW;\r\n\t\ttxt.MENU_TECH_LAYERS = results.MENU_TECH_LAYERS;\r\n\t\ttxt.MENU_DIMENSIONS = txt.BOOTH + \" Dimensions\";\r\n\t\t\r\n\t\ttxt.LANGUAGE_PREFERENCE = results.LANGUAGE_PREFERENCE;\r\n txt.REFRESH_REQUIRED = results.REFRESH_REQUIRED;\r\n \r\n txt.COPYRIGHT = \" Copyright© 2021 A.C.T. Inc. All rights reserved\";\r\n \r\n txt.HELP_TITLE = results.HELP_TITLE;\r\n txt.HELP_ZOOM_H = results.HELP_ZOOM_H;\r\n txt.HELP_ZOOM_T = results.HELP_ZOOM_T;\r\n txt.HELP_PAN_H = results.HELP_PAN_H;\r\n txt.HELP_PAN_T = results.HELP_PAN_T;\r\n txt.HELP_EXHIBITOR_H = results.HELP_EXHIBITOR_H;\r\n txt.HELP_EXHIBITOR_T = results.HELP_EXHIBITOR_T;\r\n txt.HELP_SEARCH_H = results.HELP_SEARCH_H;\r\n txt.HELP_SEARCH_T = results.HELP_SEARCH_T;\r\n txt.HELP_FAVORITES_H = results.HELP_FAVORITES_H;\r\n txt.HELP_FAVORITES_T = results.HELP_FAVORITES_T;\r\n \r\n txt.REFRESH_MESSAGE = results.REFRESH_MESSAGE;\r\n\r\n txt.COPY_BOOTH = results.COPY_BOOTH;\r\n\r\n txt.SALES_COMMANDS = \"Rent Booth,Unrent Booth,Hold Booth,Unhold Booth,Combine Booths,Uncombine Booths,Delete Booth,Undelete Booth,New Exhibitor,Divide Booth,Event Statistics,Change Booth Number,Hatch Booths\";\r\n txt.SALES_LABEL = \"FX Sales\";\r\n txt.SELECT_BOOTH = \"Click a booth to select\";\r\n txt.SELECT_COMPANY = \"Select company from list\";\r\n txt.SELECT_RATE = \"Select a Rate Plan\";\r\n txt.SELECT_DELETED_BOOTH = \"Select booth from list\";\r\n txt.SELECT_CRITERIA = \"Select Criteria\";\r\n txt.BOOTH_NUMBER = \"Booth Number\";\r\n txt.EXHIBITOR_NAME = \"Exhibitor Name\";\r\n txt.EXHIBITOR_ID = \"Exhibitor Id\";\r\n txt.RATE_PLAN = \"Rate Plan\";\r\n txt.AREA = \"Area\";\r\n txt.COMPANY_NAME = \"Company Name\";\r\n txt.COMPANY_ADDRESS_ONE = \"Address\";\r\n txt.COMPANY_ADDRESS_TWO = \"\";\r\n txt.COMPANY_CITY = \"City\";\r\n txt.COMPANY_STATE = \"State\";\r\n txt.COMPANY_COUNTRY = \"Country\";\r\n txt.COMPANY_POSTAL_CODE = \"Zip\";\r\n txt.COMPANY_PHONE_NUMBER = \"Phone\";\r\n txt.COMPANY_CONTACT_NAME = \"Primary Contact Name\";\r\n txt.COMPANY_FAX = \"Fax\";\r\n txt.COMPANY_EMAIL = \"Email\";\r\n txt.COMPANY_WEB_SITE = \"Web Site\";\r\n txt.COMPANY_PROFILE = \"Company Profile\";\r\n txt.COMPANY_ID = \"Company Id\";\r\n txt.USER_ID = \"User Id\";\r\n txt.LOGIN_FAILED = \"Login Failed\";\r\n txt.CONNECTING = \"Connecting to \";\r\n txt.SALES_SERVER = \"FX Sales Server\";\r\n txt.SALES_LOGIN = \"Sales Login\";\r\n txt.SALES_LOGOUT = \"Sales Logout\";\r\n txt.NOT_AVAILABLE = \"Booth is not Available\";\r\n txt.NOT_RENTED = \"Booth is not Rented\";\r\n txt.NOT_ON_HOLD = \"Booth is not On Hold\";\r\n txt.NON_RECTANGLE = \"Only rectangular booths can be divided\";\r\n txt.ENTER_ID_PASSWORD = \"Enter User Id and Password\";\r\n txt.ENTER_BOOTH_NUMBERS = \"Enter new booth number\";\r\n txt.ENTER_NEW_COMPANY = \"Enter new company name\";\r\n txt.ENTER_NEW_COMPANY_ID = \"Enter account id for the new company\";\r\n txt.COMMENT = \"Comment\";\r\n txt.DIVIDE = \"Divide\";\r\n txt.NUMBER = \"Number\";\r\n txt.VERTICAL = \"Vertical\";\r\n txt.HORIZONTAL = \"Horizontal\";\r\n txt.NEW_COMPANY = \"Temporary Exhibitor\";\r\n txt.SELECT_NEW_COMPANY = \"or click New Company\";\r\n txt.NEW_NUMBER = \"New Number\";\r\n txt.ENTER_NEW_NUMBER = \"Enter new number\";\r\n \r\n\t\t\t\r\n\t\t\t// for Exhibitor Sales\r\n txt.SELECT_COMPANY_PASSWORD = \"Select Company from list, and enter password\";\r\n txt.REQUIRED_COMPANY_PASSWORD = \"Company and Password required\";\r\n \r\n\t\t\t\r\n\t\t\t\r\n txt.arSalesCommands = txt.SALES_COMMANDS.split(\",\");\r\n },\r\n\r\n saveJSONSalesText: function(res){\r\n var txt = expocadfx.txt;\r\n\t\t\r\n txt.SALES_COMMANDS = \"Rent Booth,Unrent Booth,Hold Booth,Unhold Booth,Combine Booths,Uncombine Booths,Delete Booth,Undelete Booth,New Exhibitor,Divide Booth,Event Statistics,Change Booth Number,Hatch Booths\";\r\n txt.SALES_LABEL = \"FX Sales\";\r\n txt.SELECT_BOOTH = \"Click a booth to select\";\r\n txt.SELECT_COMPANY = \"Select company from list\";\r\n txt.SELECT_RATE = \"Select a Rate Plan\";\r\n txt.SELECT_DELETED_BOOTH = \"Select booth from list\";\r\n txt.SELECT_CRITERIA = \"Select Criteria\";\r\n txt.BOOTH_NUMBER = \"Booth Number\";\r\n txt.EXHIBITOR_NAME = \"Exhibitor Name\";\r\n txt.EXHIBITOR_ID = \"Exhibitor Id\";\r\n txt.RATE_PLAN = \"Rate Plan\";\r\n txt.AREA = \"Area\";\r\n txt.COMPANY_NAME = \"Company Name\";\r\n txt.COMPANY_ID = \"Company Id\";\r\n txt.USER_ID = \"User Id\";\r\n txt.LOGIN_FAILED = \"Login Failed\";\r\n txt.CONNECTING = \"Connecting to \";\r\n txt.SALES_SERVER = \"FX Sales Server\";\r\n txt.SALES_LOGIN = \"Sales Login\";\r\n txt.SALES_LOGOUT = \"Sales Logout\";\r\n txt.NOT_AVAILABLE = \"Booth is not Available\";\r\n txt.NOT_RENTED = \"Booth is not Rented\";\r\n txt.NOT_ON_HOLD = \"Booth is not On Hold\";\r\n txt.NON_RECTANGLE = \"Only rectangular booths can be divided\";\r\n txt.ENTER_ID_PASSWORD = \"Enter User Id and Password\";\r\n txt.ENTER_BOOTH_NUMBERS = \"Enter new booth number\";\r\n txt.ENTER_NEW_COMPANY = \"Enter new company name\";\r\n txt.ENTER_NEW_COMPANY_ID = \"Enter account id for the new company\";\r\n txt.COMMENT = \"Comment\";\r\n txt.DIVIDE = \"Divide\";\r\n txt.NUMBER = \"Number\";\r\n txt.VERTICAL = \"Vertical\";\r\n txt.HORIZONTAL = \"Horizontal\";\r\n txt.NEW_COMPANY = \"Temporary Exhibitor\";\r\n txt.SELECT_NEW_COMPANY = \"or click New Company\";\r\n txt.NEW_NUMBER = \"New Number\";\r\n txt.ENTER_NEW_NUMBER = \"Enter new number\";\r\n \r\n\t\t\t\r\n\t\t\t// for Exhibitor Sales\r\n txt.SELECT_COMPANY_PASSWORD = \"Select Company from list, and enter password\";\r\n txt.REQUIRED_COMPANY_PASSWORD = \"Company and Password required\";\r\n \r\n\t\t\t\r\n\t\t\t\r\n txt.arSalesCommands = txt.SALES_COMMANDS.split(\",\");\r\n },\r\n\r\n saveXMLText: function( results) {\r\n \r\n var xml = results.getElementsByTagName( \"n\");\r\n \r\n this.AVAILABLE = xml[0].getAttribute( \"xAvail\");\r\n this.LEGEND_HOLD = xml[0].getAttribute( \"lblOH\");\r\n this.LEGEND_RENTED = xml[0].getAttribute( \"rL\");\r\n this.LEGEND = xml[0].getAttribute( \"lL\");\r\n this.LEGEND_AVAILABLE = xml[0].getAttribute( \"aL\");\r\n this.EXHIBITOR_LIST = xml[0].getAttribute( \"accE\");\r\n \r\n this.CATEGORY_LIST = xml[0].getAttribute( \"accC\");\r\n this.PAVILION_LIST = xml[0].getAttribute( \"accP\");\r\n this.SHOW_IN_SHOW_LIST = xml[0].getAttribute( \"accSS\");\r\n this.COUNTRY_LIST = xml[0].getAttribute( \"accCN\");\r\n this.AVAILABLE_LIST = xml[0].getAttribute( \"accA\");\r\n \r\n this.CONTACT = xml[0].getAttribute(\"biCo\");\r\n this.PHONE = xml[0].getAttribute(\"biPh\");\r\n this.FAX = xml[0].getAttribute(\"biF\");\r\n this.EMAIL_C = xml[0].getAttribute(\"biE\");\r\n this.WEB_SITE = xml[0].getAttribute(\"biW\");\r\n this.PROFILE = xml[0].getAttribute(\"biPr\");\r\n this.CATEGORIES = xml[0].getAttribute(\"biCa\");\r\n this.NO_CONTACT = xml[0].getAttribute(\"nCon\");\r\n \r\n this.EXPIRED = xml[0].getAttribute(\"F1\");\r\n this.FAIL_AUTH = xml[0].getAttribute(\"F2\");\r\n \r\n this.EXHIBITOR = xml[0].getAttribute(\"lblExh\");\r\n this.BOOTH = xml[0].getAttribute(\"lblBth\");\r\n this.VIEW = xml[0].getAttribute(\"lblView\");\r\n this.VIEW_LIST = xml[0].getAttribute(\"lblVL\");\r\n this.LINK_PREVIEW = xml[0].getAttribute(\"lblPL\");\r\n this.SEARCH_PROMPT = xml[0].getAttribute(\"exS\");\r\n this.SEARCH = xml[0].getAttribute( \"sL\");\r\n this.LOADING = xml[0].getAttribute( \"ldFp\");\r\n this.I_AM_HERE = xml[0].getAttribute( \"iah\");\r\n this.TT_I_AM_HERE = xml[0].getAttribute( \"ttCC\");\r\n this.TT_MAIL_FRIEND = xml[0].getAttribute( \"ttEMF\");\r\n this.CANCEL = xml[0].getAttribute( \"rafC\");\r\n this.CLOSE = xml[0].getAttribute( \"ttC\");\r\n this.PRINT = xml[0].getAttribute( \"pH\");\r\n this.TT_PRINT_HALL = xml[0].getAttribute( \"ttPA\");\r\n this.PRINT_FLOORPLAN = xml[0].getAttribute( \"lblPF\");\r\n this.PRINT_WINDOW = xml[0].getAttribute( \"lblPW\");\r\n this.TT_PRINT_WINDOW = xml[0].getAttribute( \"lblPv\");\r\n this.PRINTABLE_PDF = xml[0].getAttribute( \"lblPP\");\r\n this.TT_OPEN_PDF = xml[0].getAttribute( \"ttPP\");\r\n this.VIEW_HELP = xml[0].getAttribute( \"ttH\");\r\n this.UNITS = xml[0].getAttribute( \"lblUnits\");\r\n this.BUILDING = xml[0].getAttribute( \"lblBuild\");\r\n this.TT_BUILDING_ON = xml[0].getAttribute( \"ttB1\");\r\n this.TT_BUILDING_OFF = xml[0].getAttribute( \"ttB0\");\r\n this.TT_PRINT_LIST = xml[0].getAttribute( \"ttPL\");\r\n this.TT_PRINT_EXHIBITOR = xml[0].getAttribute( \"ttPI\");\r\n this.MAP_ADDRESS = xml[0].getAttribute( \"ttMI\");\r\n \r\n this.MINI_MAP = xml[0].getAttribute( \"mMl\");\r\n\r\n this.NEW_MAP_ADDRESS = \"\";\r\n this.BOOTH_SIZE = \"Size\";\r\n this.FLOOR_PLAN = \"Floor Plan\";\r\n this.EXHIBITORS = \"Exhibitors\";\r\n this.EXHIBITOR_INFO = \"Exhibitor Info\";\r\n this.PASSWORD = \"Password\";\r\n this.CLEAR_ALL = \"Clear\";\r\n this.FIT = \"Fit\";\r\n this.SHOW_3D = \"3D\";\r\n this.HOME = \"Home\";\r\n this.MARK_ON_DRAWING = \"Tag\"; // \"Highlight\";\r\n this.RESET = \"Reset\";\r\n this.EMAIL = \"Email\";\r\n this.OPEN_EMAIL = \"Open Email\";\r\n this.MULTI_EXHIBITOR_PROMPT = \"select an exhibitor\";\r\n this.LOGIN = \"Login\";\r\n this.EXHIBITOR_FILTER_ALL = \"All Exhibitors\";\r\n this.EXHIBITOR_FILTER_HALL = \"This Hall\";\r\n this.EXHIBITOR_FILTER_TAGGED = \"Tagged\";\r\n this.CURRENT = \"Current as of \";\r\n this.VERSION = \"ver. \";\r\n this.SHOW_COORDS = \"Show Coordinates\";\r\n this.MENU = \"Menu\";\r\n this.NAVIGATION = \"Navigation\";\r\n this.FLOOR_PLAN_OPTIONS = \"Floor Plan Options\";\r\n this.AREA = \"Area\";\r\n this.SMALL_SHOW_3D = \"Show 3D Floor Plan\";\r\n this.ENTER_PASSWORD = \"Enter Password\";\r\n this.REQUIRED_PASSWORD = \"Password is Required\"; // In fxsalestext !\r\n\t\tthis.OTHER_BOOTHS = \"Other \" + this.BOOTH + \"s\";\r\n\t\tthis.TT_EMAIL_TAGGED_BOOTHS = \"E-Mail tagged \" + this.BOOTH + \"s\";\r\n\t\tthis.MENU_VIEW = \"View\";\r\n\t\tthis.MENU_TECH_LAYERS = \"Technical Layers\";\r\n\t\tthis.MENU_DIMENSIONS = this.BOOTH + \" Dimensions\";\r\n\t\t\r\n\t\tthis.LANGUAGE_PREFERENCE = \"Language Preference\";\r\n this.REFRESH_REQUIRED = \"Refresh Required\";\r\n \r\n this.COPYRIGHT = \" Copyright© 2021 A.C.T. Inc. All rights reserved\";\r\n \r\n this.HELP_TITLE = xml[0].getAttribute( \"hExFx\");\r\n this.HELP_ZOOM_H = xml[0].getAttribute( \"hZl\");\r\n this.HELP_ZOOM_T = xml[0].getAttribute( \"hZh\");\r\n this.HELP_PAN_H = xml[0].getAttribute( \"hPl\");\r\n this.HELP_PAN_T = xml[0].getAttribute( \"hPh\");\r\n this.HELP_EXHIBITOR_H = xml[0].getAttribute( \"hIl\");\r\n this.HELP_EXHIBITOR_T = xml[0].getAttribute( \"hIh\");\r\n this.HELP_SEARCH_H = xml[0].getAttribute( \"hSl\");\r\n this.HELP_SEARCH_T = xml[0].getAttribute( \"hSh\");\r\n this.HELP_FAVORITES_H = xml[0].getAttribute( \"hFl\");\r\n this.HELP_FAVORITES_T = xml[0].getAttribute( \"hFh\");\r\n \r\n this.REFRESH_MESSAGE = xml[0].getAttribute( \"uAmsg\");\r\n\r\n this.COPY_BOOTH = xml[0].getAttribute(\"copyBooth\");\r\n \r\n// this.RENT_MODE_LABEL = xml[0].getAttribute( \"rm\");\r\n// this.HOLD_MODE_LABEL = xml[0].getAttribute( \"hm\");\r\n },\r\n \r\n \r\n saveXMLSalesText : function( results) {\r\n var txt = expocadfx.txt;\r\n// if( success) {\r\n var xml = results.getElementsByTagName( \"n\")[0];\r\n\t\t\r\n txt.SALES_COMMANDS = xml.getAttribute(\"cmds\"); // ? straight to array\r\n txt.SALES_LABEL = xml.getAttribute(\"lbl\");\r\n txt.SELECT_BOOTH = xml.getAttribute( \"clkb\");\r\n txt.SELECT_COMPANY = xml.getAttribute( \"sele\");\r\n txt.SELECT_RATE = xml.getAttribute( \"selr\");\r\n txt.SELECT_DELETED_BOOTH = xml.getAttribute( \"selb\");\r\n txt.SELECT_CRITERIA = \"Select Criteria\";\r\n txt.BOOTH_NUMBER = xml.getAttribute( \"bn\");\r\n txt.EXHIBITOR_NAME = xml.getAttribute( \"en\");\r\n txt.EXHIBITOR_ID = xml.getAttribute( \"ei\");\r\n txt.RATE_PLAN = xml.getAttribute( \"rp\");\r\n txt.COMMENT = \"Comment\";\r\n txt.COMPANY_NAME = xml.getAttribute( \"cn\");\r\n txt.COMPANY_ADDRESS_ONE = xml.getAttribute( \"eao\");\r\n txt.COMPANY_ADDRESS_TWO = xml.getAttribute( \"eat\");\r\n txt.COMPANY_CITY = xml.getAttribute( \"eci\");\r\n txt.COMPANY_STATE = xml.getAttribute( \"est\");\r\n txt.COMPANY_COUNTRY = xml.getAttribute( \"ecou\");\r\n txt.COMPANY_POSTAL_CODE = xml.getAttribute( \"epc\");\r\n txt.COMPANY_PHONE_NUMBER = xml.getAttribute( \"eph\");\r\n txt.COMPANY_CONTACT_NAME = xml.getAttribute( \"econ\");\r\n txt.COMPANY_FAX = xml.getAttribute( \"efax\");\r\n txt.COMPANY_EMAIL = xml.getAttribute( \"eem\");\r\n txt.COMPANY_WEB_SITE = xml.getAttribute( \"ews\");\r\n txt.COMPANY_PROFILE = xml.getAttribute( \"ecp\");\r\n txt.COMPANY_ID = xml.getAttribute( \"ci\");\r\n txt.USER_ID = xml.getAttribute( \"uid\");\r\n txt.SALES_LOGIN = xml.getAttribute( \"lgin\");\r\n txt.SALES_LOGOUT = xml.getAttribute( \"lgout\");\r\n txt.LOGIN_FAILED = xml.getAttribute( \"fldprmt\");\r\n txt.NOT_AVAILABLE = xml.getAttribute( \"notAvail\");\r\n txt.NOT_RENTED = xml.getAttribute( \"notRent\");\r\n txt.NOT_ON_HOLD = xml.getAttribute( \"notHold\");\r\n txt.CONNECTING = xml.getAttribute( \"cnct\");\r\n txt.SALES_SERVER = xml.getAttribute( \"srv\");\r\n txt.REQUIRED_ID_PASSWORD = xml.getAttribute( \"reqUP\");\r\n txt.CHARACTER_LIMIT = xml.getAttribute(\"charLim\");\r\n \r\n txt.DIVIDE = xml.getAttribute( \"lblDiv\");\r\n txt.NUMBER = xml.getAttribute( \"lblNum\");\r\n txt.VERTICAL = xml.getAttribute( \"lblVer\");\r\n txt.HORIZONTAL = xml.getAttribute( \"lblHor\");\r\n txt.ENTER_BOOTH_NUMBERS = xml.getAttribute( \"entBthNum\");\r\n txt.NON_RECTANGLE = xml.getAttribute( \"notRect\");\r\n txt.SELECT_NEW_COMPANY = xml.getAttribute( \"clkNewCo\");\r\n txt.NEW_COMPANY = xml.getAttribute(\"lblNewCo\");\r\n txt.ENTER_NEW_COMPANY = xml.getAttribute( \"entCoName\");\r\n txt.ENTER_NEW_COMPANY_ID = xml.getAttribute( \"entCoId\");\r\n txt.ENTER_ID_PASSWORD = xml.getAttribute( \"entIdPs\");\r\n\t\t\ttxt.NEW_NUMBER = xml.getAttribute( \"lblNewNum\");\r\n\t\t\ttxt.ENTER_NEW_NUMBER = xml.getAttribute( \"entNewNum\");\r\n\t\t\t\r\n\t\t\t// for Exhibitor Sales\r\n txt.SELECT_COMPANY_PASSWORD = \"Select Company from list, and enter password\";\r\n txt.REQUIRED_COMPANY_PASSWORD = \"Company and Password required\";\r\n \r\n\t\t\t\r\n\t\t\t\r\n txt.arSalesCommands = txt.SALES_COMMANDS.split(\",\");\r\n \r\n // \"You are not authorized to use program at this time.\" - FOR AUTH KEY, COULD ALSO BE IN EXH SALES\r\n \r\n \r\n// }\r\n// else {\r\n// alert( \"Missing text file required for FX Sales\");\r\n// }\r\n },\r\n\r\n defaultText: function(){\r\n\r\n this.AREA = \"Area\"\r\n this.AVAILABLE = \"Available\"\r\n this.AVAILABLE_LIST = \"Available Booth List\"\r\n this.BOOTH = \"Booth\"\r\n this.BOOTH_SIZE = \"Size\"\r\n this.BUILDING = \"Building\"\r\n this.CANCEL = \"Cancel\"\r\n this.CATEGORIES = \"Categories\"\r\n this.CATEGORY_LIST = \"Category List\"\r\n this.CLEAR_ALL = \"Clear\"\r\n this.CLOSE = \"Close\"\r\n this.CONTACT = \"Contact\"\r\n this.COPYRIGHT = \" Copyright© 2021 A.C.T. Inc. All rights reserved\"\r\n this.COUNTRY_LIST = \"Country List\"\r\n this.CURRENT = \"Current as of \"\r\n this.EMAIL = \"Email\"\r\n this.EMAIL_C = \"E-Mail\"\r\n this.ENTER_PASSWORD = \"Enter Password\"\r\n this.EXHIBITOR = \"Exhibitor\"\r\n this.EXHIBITORS = \"Exhibitors\"\r\n this.EXHIBITOR_FILTER_ALL = \"All Exhibitors\"\r\n this.EXHIBITOR_FILTER_HALL = \"This Hall\"\r\n this.EXHIBITOR_FILTER_TAGGED = \"Tagged\"\r\n this.EXHIBITOR_INFO = \"Exhibitor Info\"\r\n this.EXHIBITOR_LIST = \"Exhibitor List\"\r\n this.EXPIRED = \"THIS SHOW HAS EXPIRED PLEASE CONTACT SHOW MANAGEMENT FOR MORE INFORMATION.\"\r\n this.FAIL_AUTH = \"THIS SHOW CANNOT LOAD DUE TO CONFIGURATION PARAMETER INCONSISTENCIES.\"\r\n this.FAX = \"Fax\"\r\n this.FIT = \"Fit\"\r\n this.FLOOR_PLAN = \"Floor Plan\"\r\n this.FLOOR_PLAN_OPTIONS = \"Floor Plan Options\"\r\n this.HELP_EXHIBITOR_H = \"To View Exhibitor Info\"\r\n this.HELP_EXHIBITOR_T = \"Click a booth on the map to view the exhibitor info. You can print the exhibitor info by clicking the Print Info button. You can contact the exhibitor by clicking the Email button or visit the exhibitor's website by clicking the Web button.\"\r\n this.HELP_FAVORITES_H = \"To Use The Favorites\"\r\n this.HELP_FAVORITES_T = \"You can select booths to be your favorites and store them for later use. To add a favorite click on a booth on the main floor plan. In the booth info box click the Add Favorite button(Star+). This booth is now in your favorites and you can reference the favorites at any time by clicking the View Favorites button(Star) on the main application. This highlights and zooms to all your favorites. To remove favorites you can select individual booths by clicking on them in the list and clicking the Remove Favorite button(Star-). You can also remove or review your favorites in the Favorites Editor. To open the Favorites Editor click the Edit Favorites button(Pencil/Star). From there you can remove individual favorites by selecting them in the list and clicking Remove Favorite(-) or you can remove all your favorites by clicking the Remove All Favorites button(-all).\"\r\n this.HELP_PAN_H = \"You can zoom by clicking the +/- buttons on the right}); by clicking and dragging the zoom slider}); or by scrolling your mouse wheel.\"\r\n this.HELP_PAN_T = \"You can pan the map by using the 4 directional arrows on the right}); by clicking and dragging the selection box on the minimap}); or by clicking and dragging anywhere on the main map that is not a booth.\"\r\n this.HELP_SEARCH_H = \"To Use The Search\"\r\n this.HELP_SEARCH_T = \"The search is unique in that it will automatically perform the search 1 second after you stop typing. If you type only one letter the search will return all the exhibitors whose name starts with that letter. If you type more than one letter the search will return all the exhibitors whose name contains the search string you have entered.\"\r\n this.HELP_TITLE = \"EXPOCAD FX HELP\"\r\n this.HELP_ZOOM_H = \"To Zoom\"\r\n this.HELP_ZOOM_T = \"You can zoom by clicking the +/- buttons on the right}); by clicking and dragging the zoom slider}); or by scrolling your mouse wheel.\"\r\n this.HOME = \"Home\"\r\n this.I_AM_HERE = \"I AM HERE!\"\r\n this.LANGUAGE_PREFERENCE = \"Language Preference\"\r\n this.LEGEND = \"Legend\"\r\n this.LEGEND_AVAILABLE = \"Available\"\r\n this.LEGEND_HOLD = \"On Hold\"\r\n this.LEGEND_RENTED = \"Rented\"\r\n this.LINK_PREVIEW = \"Preview Link\"\r\n this.LOADING = \"Loading Floorplan\"\r\n this.LOGIN = \"Login\"\r\n this.MAP_ADDRESS = \"Map Exhibitor Address\"\r\n this.MARK_ON_DRAWING = \"Tag\"\r\n this.MENU = \"Menu\"\r\n this.MENU_DIMENSIONS = \"Booth Dimensions\"\r\n this.MENU_TECH_LAYERS = \"Technical Layers\"\r\n this.MENU_VIEW = \"View\"\r\n this.MINI_MAP = \"Mini Map\"\r\n this.MULTI_EXHIBITOR_PROMPT = \"select an exhibitor\"\r\n this.NAVIGATION = \"Navigation\"\r\n this.NO_CONTACT = \"No Contact Information Available\"\r\n this.OPEN_EMAIL = \"Open Email\"\r\n this.OTHER_BOOTHS = \"Other Booths\"\r\n this.PASSWORD = \"Password\"\r\n this.PAVILION_LIST = \"Pavilion List\"\r\n this.PHONE = \"Phone\"\r\n this.PRINT = \"Print\"\r\n this.PRINTABLE_PDF = \"Printable PDF\"\r\n this.PRINT_FLOORPLAN = \"Print Floorplan\"\r\n this.PRINT_WINDOW = \"Print Window\"\r\n this.PROFILE = \"Profile\"\r\n this.REFRESH_MESSAGE = \"Please refresh your browser window to update the floorplan\"\r\n this.REFRESH_REQUIRED = \"Refresh Required\"\r\n this.REQUIRED_PASSWORD = \"Password is Required\"\r\n this.RESET = \"Reset\"\r\n this.SEARCH = \"Search\"\r\n this.SEARCH_PROMPT = \"Type a Name or Number\"\r\n this.SHOW_3D = \"3D\"\r\n this.SHOW_COORDS = \"Show Coordinates\"\r\n this.SHOW_IN_SHOW_LIST = \"Show in Show List\"\r\n this.SMALL_SHOW_3D = \"Show 3D Floor Plan\"\r\n this.TT_BUILDING_OFF = \"Toggle Building Off\"\r\n this.TT_BUILDING_ON = \"Toggle Building On\"\r\n this.TT_EMAIL_TAGGED_BOOTHS = \"E-Mail tagged booths\"\r\n this.TT_I_AM_HERE = \"Choose I Am Here Coordinates\"\r\n this.TT_MAIL_FRIEND = \"Email a Friend\"\r\n this.TT_OPEN_PDF = \"Open Printable PDF\"\r\n this.TT_PRINT_EXHIBITOR = \"Print Current List\"\r\n this.TT_PRINT_HALL = \"Print Entire Hall\"\r\n this.TT_PRINT_LIST = \"NO TRANSLATION FOUND\"\r\n this.UNITS = \"Units\"\r\n this.VERSION = \"ver. \"\r\n this.VIEW = \"View\"\r\n this.VIEW_HELP = \"View Help\"\r\n this.VIEW_LIST = \"View List\"\r\n this.WEB_SITE = \"Website\"\r\n }\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n//\"use strict\";\r\n// 17280 11112 this.MULTIPLIER\r\nexpocadfx.config = {\r\n isXML: false, // Flag to switch between local files or SQL server application\r\n MULTIPLIER : 1,\r\n DRAWING_WIDTH : 5760,\r\n DRAWING_HEIGHT : 3704,\r\n MINI_MAP_WIDTH : 264,\r\n MINI_MAP_HEIGHT : 200,\r\n MINI_MAP_SCALE : 0,\r\n FLOOR_PLAN_FONT : \"Arial\",\r\n\tDISABLED_GRAY : \"#bfbfbf\",\r\n is3d : true,\r\n BOOTH_ALPHA : 0.8,\r\n PAVILION_ALPHA : 0.6,\r\n PAVILION_COLOR : \"#0000ff\",\r\n GRAPHIC_ALPHA : 0.7,\r\n FAVORITE_CHARACTER_CODE: 0xf005, /* characters from FontAwsome */\r\n SELECTED_CHARACTER_CODE: 0xf041,\r\n bannerHeight : 60,\r\n bannerMargin : 8,\r\n clrBackground : \"#ffffff\",\r\n buildingColor : \"default\",\t\t\r\n clrRent : \"\",\r\n clrHold : \"#F0F0F0\",\r\n clrAvailable : \"#ADD8E6\",\r\n clrSelected : \"#FFFF00\",\r\n clrHighlight : \"#FF0000\",\r\n clrBoothText : \"#000000\",\r\n clrBuildingText : \"#808080\",\r\n clrBoothBase : \"#dddddd\",\r\n clrBoothBorder : \"#dddddd\",\r\n\tclrBoothDimensions : \"#B8860B\",\r\n\tboothBorderLineWidth : 1,\r\n\tadditionalGraphicsLineWidth : 1,\r\n fileNumber : 0,\r\n contactEmail : \"cfihcdgjkecfdbabegfchbe\",\r\n availableUrl : \"\",\r\n availableText1 : \"\",\r\n availableText2 : \"NA\",\r\n emailSubject0 : \"\",\r\n emailSubject1 : \"Request to Rent Booth \",\r\n emailSubject2 : \"\",\r\n checkSum : 0,\r\n year : 0,\r\n month : 0,\r\n day : 0,\r\n eventTitle : \"\",\r\n eventTitleLocation : \"header\",\r\n clrEventTitleText : \"#000000\",\r\n eventTitleTextSize : \"24\",\r\n eventTitleCoordinates : null,\r\n eventName : \"\",\r\n apiView : \"\",\r\n viewName : \"\",\r\n viewTitle : \"\",\r\n viewTitleLocation : \"header\",\r\n clrViewTitleText : \"\",\r\n viewTitleTextSize : \"20\",\r\n viewTitleCoordinates : null,\r\n updateCheckInterval : \"\",\r\n units : \"\", /* current */\r\n showUnits : \"\",\r\n hasMultipleViews : false,\r\n bSocialButtons : false,\r\n\tshowDimensions : false,\r\n \r\n bPDF : false,\r\n bFloorPlanPrint : true,\r\n bIAmHere : true,\r\n bBuilding : true,\r\n bListPrint : true,\r\n bPopUpPrint : true,\r\n bPopUpShare : true,\r\n bUnitsButton : true,\r\n \r\n bUrl : false,\r\n bPreviewLink : false,\r\n bOverlay : false, \r\n bDataEncrypted : false,\r\n\r\n bServerTime : false,\r\n serverTimeOffset : 0,\r\n serverTimeColor : \"#000000\",\r\n serverTimeZoneLabel : \"\",\r\n serverTimeXML : null,\r\n\t\r\n bLegend : true,\r\n\tlegendOpen: true,\r\n\tlegendRent: true,\r\n\tlegendHold: true,\r\n\tlegendAvailable: true,\r\n\tclrLegendBackground: \"\",\r\n\tLegendBackgroundAlpha: 0.75,\r\n\tLegendTextColor: \"\",\r\n\tlegendFontSize: \"\",\r\n legendUseClassId : false,\r\n\r\n savedDate : \"\",\r\n savedTime : \"\",\r\n scaleFactor : \"\",\r\n version : \"\",\r\n expocadVersion : \"\",\r\n oldVersion : false,\r\n\r\n bCategoryData : false,\r\n bPavilionData : false,\r\n bSubShowData : false,\r\n bCountryData : false,\r\n \r\n hasFloorPlan : true,\r\n \r\n showLists : true,\r\n AccordionDefaultList : \"\",\r\n\tdefaultListWindowOpen : true,\r\n\r\n bHideAvailableList: false,\r\n bHideCountryList: true,\r\n bHideFloorPlanDate: false,\r\n bMiniMap : true,\r\n bMiniMapOpen : true,\r\n bMapAddress : true,\r\n bToolbar : true,\r\n\tbDimensions : true,\r\n\t\r\n\tclrFlyoutBackground: \"\",\r\n\tclrFlyoutText: \"\",\r\n\tflyoutFontSize: \"\",\r\n \r\n rentMode: false,\r\n holdMode: false,\r\n holdModeExhibitorName: false,\r\n combineAdjacentOnly: false,\r\n \r\n urlFacilityView : \"\",\r\n\tlanguages: [],\r\n\tdefaultlanguage: \"\",\r\n xmlBoothClasses : null,\r\n arBoothClasses : [],\r\n \r\n bBoothGradient : false,\r\n /* how to use booth colors from EXPOCAD graphics file */\r\n borderAvailableWithExpocadColor : false,\r\n borderOnHoldWithExpocadColor : false,\r\n borderRentedWithExpocadColor : false,\r\n fillAvailableWithExpocadColor : false,\r\n fillOnHoldWithExpocadColor : false,\r\n fillRentedWithExpocadColor : false,\r\n \r\n initialExhibitorFilter : \"view\",\r\n initialAllExhibitors : false,\r\n initialPage : \"exhibitors\", /* floorplan|pavilion|category-from FLASH version-set from 'DefaultList'*/\r\n\t\r\n hdrLogoSource : \"\",\r\n password : \"\",\r\n lastSaved : \"\",\r\n authorizationKey : \"\",\r\n activationCode: \"\",\r\n showCoords : false,\r\n salesMode : \"none\",\r\n\tsalesUpdateOnly: false,\r\n sortRatePlans : \"none\",\r\n\tgaAccount: null,\t\t\t\t/* move from fxData */\r\n \r\n bUseApi : true,\r\n \r\n openIn3D: false,\r\n elvis: false,\t\t/* Emergency Location (Visual) Interactive (Service) - officially ELI */\r\n elvisNumbers: [],\r\n elvisMessages: [],\r\n\r\n printLayoutAdjustmentX: 0, // Upper left coord from printLayout object\r\n\tprintLayoutAdjustmentY: 0,\r\n\tprintLayoutOrientation: 0,\r\n\tprintLayoutScale: 0.045833, // PDF points == this library uses 72px per inch\r\n \r\n optionsSet: \"none\",\r\n\r\n locationAvailable: false,\r\n locationEnabled: false,\r\n locationUpdateCheckInterval : 3000,\r\n\r\n refLat0: 0,\r\n refLon0: 0,\r\n refLat1: 0,\r\n refLon1: 0,\r\n \r\n refFXX0: 0,\r\n refFXY0: 0,\r\n refFXX1: 0,\r\n refFXY1: 0,\r\n \r\n lastXY: [],\r\n\r\n redirectToDirectory: false,\r\n noNav: false,\r\n attendeeLogin: false,\r\n exhibitorDirectory: false,\r\n currencySymbol: null, \r\n currencySymbolBefore: true,\r\n loggedInExhib: \"\",\r\n wayCoords: []\r\n};\r\n\r\n// Populate config array from Datsun endpoint\r\nfunction setConfig(res){\r\n expocadfx.config.MULTIPLIER = res.MULTIPLIER,\r\n expocadfx.config.DRAWING_WIDTH = res.DRAWING_WIDTH,\r\n expocadfx.config.DRAWING_HEIGHT = res.DRAWING_HEIGHT,\r\n expocadfx.config.MINI_MAP_WIDTH = res.MINI_MAP_WIDTH,\r\n expocadfx.config.MINI_MAP_HEIGHT = res.MINI_MAP_HEIGHT,\r\n expocadfx.config.MINI_MAP_SCALE = res.MINI_MAP_SCALE,\r\n expocadfx.config.FLOOR_PLAN_FONT = res.FLOOR_PLAN_FONT,\r\n\texpocadfx.config.DISABLED_GRAY = res.DISABLED_GRAY,\r\n expocadfx.config.BOOTH_ALPHA = res.BOOTH_ALPHA,\r\n expocadfx.config.PAVILION_ALPHA = res.PAVILION_ALPHA,\r\n expocadfx.config.PAVILION_COLOR = res.PAVILION_COLOR,\r\n expocadfx.config.GRAPHIC_ALPHA = res.GRAPHIC_ALPHA,\r\n expocadfx.config.FAVORITE_CHARACTER_CODE= res.FAVORITE_CHARACTER_CODE, /* characters from FontAwsome */\r\n expocadfx.config.SELECTED_CHARACTER_CODE= res.SELECTED_CHARACTER_CODE,\r\n expocadfx.config.bannerHeight = res.bannerHeight,\r\n expocadfx.config.bannerMargin = res.bannerMargin,\r\n expocadfx.config.clrBackground = res.clrBackground,\r\n expocadfx.config.buildingColor = res.buildingColor,\t\t\r\n expocadfx.config.clrRent = res.clrRent,\r\n expocadfx.config.clrHold = res.clrHold,\r\n expocadfx.config.clrAvailable = res.clrAvailable,\r\n expocadfx.config.clrSelected = res.clrSelected,\r\n expocadfx.config.clrHighlight = res.clrHighlight,\r\n expocadfx.config.clrBoothText = res.clrBoothText,\r\n expocadfx.config.clrBuildingText = res.clrBuildingText,\r\n expocadfx.config.clrBoothBase = res.clrBoothBase,\r\n expocadfx.config.clrBoothBorder = res.clrBoothBorder,\r\n\texpocadfx.config.clrBoothDimensions = res.clrBoothDimensions,\r\n\texpocadfx.config.boothBorderLineWidth = res.boothBorderLineWidth,\r\n\texpocadfx.config.additionalGraphicsLineWidth = res.additionalGraphicsLineWidth,\r\n expocadfx.config.fileNumber = res.fileNumber,\r\n expocadfx.config.contactEmail = res.contactEmail,\r\n expocadfx.config.availableUrl = res.availableUrl,\r\n expocadfx.config.availableText1 = res.availableText1,\r\n expocadfx.config.availableText2 = res.availableText2,\r\n expocadfx.config.emailSubject0 = res.emailSubject0,\r\n expocadfx.config.emailSubject1 = res.emailSubject1,\r\n expocadfx.config.emailSubject2 = res.emailSubject2,\r\n expocadfx.config.checkSum = res.checkSum,\r\n expocadfx.config.year = res.year,\r\n expocadfx.config.month = res.month,\r\n expocadfx.config.day = res.day,\r\n expocadfx.config.eventTitle = res.eventTitle,\r\n expocadfx.config.eventTitleLocation = res.eventTitleLocation,\r\n expocadfx.config.clrEventTitleText = res.clrEventTitleText,\r\n expocadfx.config.eventTitleTextSize = res.eventTitleTextSize,\r\n expocadfx.config.eventTitleCoordinates = res.eventTitleCoordinates,\r\n expocadfx.config.eventName = res.eventIdentifier,\r\n expocadfx.config.viewName = res.viewName,\r\n expocadfx.config.viewTitle = res.viewTitle,\r\n expocadfx.config.viewTitleLocation = res.viewTitleLocation,\r\n expocadfx.config.clrViewTitleText = res.clrViewTitleText,\r\n expocadfx.config.viewTitleTextSize = res.viewTitleTextSize,\r\n expocadfx.config.viewTitleCoordinates = res.viewTitleCoordinates,\r\n expocadfx.config.updateCheckInterval = res.updateCheckInterval,\r\n expocadfx.config.locationUpdateCheckInterval = 3000,\r\n expocadfx.config.units = res.units, /* current */\r\n expocadfx.config.showUnits = res.showUnits,\r\n expocadfx.config.hasMultipleViews = config.viewAll ? true : res.hasMultipleViews,\r\n expocadfx.fxData.arViews = res.views ? res.views : [],\r\n expocadfx.config.bSocialButtons = res.bSocialButtons,\r\n expocadfx.config.jsonSocial = res.arSocial,\r\n\texpocadfx.config.showDimensions = res.showDimensions,\r\n \r\n expocadfx.config.bPDF = res.bPDF,\r\n expocadfx.config.bFloorPlanPrint = res.bFloorPlanPrint,\r\n expocadfx.config.bIAmHere = res.bIAmHere,\r\n expocadfx.config.bBuilding = res.bBuilding,\r\n expocadfx.config.bListPrint = res.bListPrint,\r\n expocadfx.config.bPopUpPrint = res.bPopUpPrint,\r\n expocadfx.config.bPopUpShare = res.bPopUpShare,\r\n expocadfx.config.bUnitsButton = res.bUnitsButton,\r\n \r\n expocadfx.config.bUrl = res.bUrl,\r\n expocadfx.config.bPreviewLink = res.bPreviewLink,\r\n expocadfx.config.bOverlay = res.bOverlay, \r\n expocadfx.config.bDataEncrypted = res.bDataEncrypted,\r\n\r\n expocadfx.config.bServerTime = res.bServerTime,\r\n expocadfx.config.serverTimeOffset = res.serverTimeOffset,\r\n expocadfx.config.serverTimeColor = res.serverTimeColor,\r\n expocadfx.config.serverTimeZoneLabel = res.serverTimeZoneLabel,\r\n\t\r\n expocadfx.config.bLegend = res.bLegend,\r\n\texpocadfx.config.legendOpen= res.legendOpen,\r\n\texpocadfx.config.legendRent= res.legendRent,\r\n\texpocadfx.config.legendHold= res.legendHold,\r\n\texpocadfx.config.legendAvailable= res.legendAvailable,\r\n\texpocadfx.config.clrLegendBackground= res.clrLegendBackground,\r\n\texpocadfx.config.LegendBackgroundAlpha= res.LegendBackgroundAlpha,\r\n\texpocadfx.config.LegendTextColor= res.LegendTextColor,\r\n\texpocadfx.config.legendFontSize= res.legendFontSize,\r\n expocadfx.config.legendUseClassId = res.legendUseClassId, \r\n\r\n expocadfx.config.savedDate = res.savedDate,\r\n expocadfx.config.savedTime = res.savedTime,\r\n expocadfx.config.scaleFactor = res.scaleFactor,\r\n expocadfx.config.version = res.version,\r\n expocadfx.config.expocadVersion = res.expocadVersion,\r\n expocadfx.config.oldVersion = res.oldVersion,\r\n\r\n expocadfx.config.bCategoryData = res.bCategoryData,\r\n expocadfx.config.bPavilionData = res.bPavilionData,\r\n expocadfx.config.bSubShowData = res.bSubShowData,\r\n expocadfx.config.bCountryData = res.bCountryData,\r\n \r\n expocadfx.config.hasFloorPlan = res.hasFloorPlan,\r\n \r\n expocadfx.config.showLists = res.showLists,\r\n expocadfx.config.AccordionDefaultList = res.AccordionDefaultList,\r\n\texpocadfx.config.defaultListWindowOpen = res.defaultListWindowOpen,\r\n\r\n expocadfx.config.bHideAvailableList= res.bHideAvailableList,\r\n expocadfx.config.bHideCountryList= res.bHideCountryList,\r\n expocadfx.config.bHideFloorPlanDate= res.bHideFloorPlanDate,\r\n expocadfx.config.bMiniMap = res.bMiniMap,\r\n expocadfx.config.bMiniMapOpen = res.bMiniMapOpen,\r\n expocadfx.config.bMapAddress = res.bMapAddress,\r\n expocadfx.config.bToolbar = res.bToolbar,\r\n\texpocadfx.config.bDimensions = res.bDimensions,\r\n\t\r\n\texpocadfx.config.clrFlyoutBackground= res.clrFlyoutBackground,\r\n\texpocadfx.config.clrFlyoutText= res.clrFlyoutText,\r\n\texpocadfx.config.flyoutFontSize= res.flyoutFontSize,\r\n \r\n expocadfx.config.rentMode= res.rentMode,\r\n expocadfx.txt.RENT_MODE_LABEL = res.rentModeExhibitorName,\r\n expocadfx.config.holdMode= res.holdMode,\r\n expocadfx.txt.HOLD_MODE_LABEL = res.holdModeExhibitorName,\r\n expocadfx.config.holdModeExhibitorName= res.holdModeExhibitorName,\r\n expocadfx.config.combineAdjacentOnly = res.combineAdjacentOnly,\r\n \r\n expocadfx.config.urlFacilityView = res.urlFacilityView,\r\n\texpocadfx.config.languages= res.languages,\r\n\texpocadfx.config.defaultLanguage= res.defaultLanguage,\r\n expocadfx.config.xmlBoothClasses = res.xmlBoothClasses,\r\n expocadfx.config.arBoothClasses = res.arBoothClasses,\r\n \r\n expocadfx.config.bBoothGradient = res.bBoothGradient,\r\n /* how to use booth colors from EXPOCAD graphics file */\r\n expocadfx.config.borderAvailableWithExpocadColor = res.borderAvailableWithExpocadColor,\r\n expocadfx.config.borderOnHoldWithExpocadColor = res.borderOnHoldWithExpocadColor,\r\n expocadfx.config.borderRentedWithExpocadColor = res.borderRentedWithExpocadColor,\r\n expocadfx.config.fillAvailableWithExpocadColor = res.fillAvailableWithExpocadColor,\r\n expocadfx.config.fillOnHoldWithExpocadColor = res.fillOnHoldWithExpocadColor,\r\n expocadfx.config.fillRentedWithExpocadColor = res.fillRentedWithExpocadColor,\r\n \r\n expocadfx.config.initialExhibitorFilter = res.initialExhibitorFilter,\r\n expocadfx.config.initialAllExhibitors = res.initialAllExhibitors,\r\n expocadfx.config.initialPage = res.initialPage, /* floorplan|pavilion|category-from FLASH version-set from 'DefaultList'*/\r\n\t\r\n expocadfx.config.hdrLogoSource = res.hdrLogoSource,\r\n expocadfx.config.password = res.password,\r\n expocadfx.config.lastSaved = res.lastSaved,\r\n expocadfx.config.authorizationKey = res.authorizationKey,\r\n expocadfx.config.showCoords = res.showCoords,\r\n //expocadfx.config.salesMode = \"sales\",//res.salesMode,\r\n expocadfx.fxData.salesUrl = window.location.origin + \"/EdgeApi/\" + res.eventIdentifier + \"/\",\r\n //expocadfx.fxData.salesAllowedCommands = String(\"0,1,4,5,2,3,6,7,8,9,11,12,10\").split(\",\"),\r\n expocadfx.fxData.salesAllowedCommands = String(res.permissions).split(\",\"),\r\n expocadfx.fxData.lastMessageNumber = res.lastRecordNumber,\r\n\r\n expocadfx.config.is3d = res.is3d,\r\n\texpocadfx.config.salesUpdateOnly= res.salesUpdateOnly,\r\n expocadfx.config.sortRatePlans = res.sortRatePlans,\r\n\texpocadfx.fxData.gaAccount= res.gaAccount,\t\t\t\t/* move from fxData */ //Move back to fxData? 4/5/2021 -AH\r\n \r\n expocadfx.config.openIn3D= res.openIn3D,\r\n expocadfx.config.elvis= res.elvis,\t\t/* Emergency Location (Visual) Interactive (Service) - officially ELI */\r\n expocadfx.config.elvisNumbers= res.elvisNumbers,\r\n expocadfx.config.elvisMessages= res.elvisMessages,\r\n expocadfx.config.locationAvailable = false,\r\n expocadfx.config.locationEnabled = false,\r\n expocadfx.config.redirectToDirectory = false, //res.redirectToDirectory,\r\n expocadfx.config.attendeeLogin = res.attendeeLogin,\r\n expocadfx.config.serverTimeXML = res.serverTimeXML,\r\n //expocadfx.config.noNav = res.noNav,\r\n expocadfx.config.exhibitorDirectory = !res.noNav,\r\n expocadfx.fxData.premiumLevels = res.premiumLevels,\r\n expocadfx.fxData.premiumCompanies = res.premiumCompanies,\r\n expocadfx.config.currencySymbol = res.currencySymbol,\r\n expocadfx.config.currencySymbolBefore = res.currencySymbolBefore,\r\n\r\n/* Set expocadfx.styles here as well - for UI colors\r\nexpocadfx.styles = {\r\n mainHeader : { clrBg: \"#0073a8\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n windowHeader : { clrBg: \"#0073a8\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n footer : { clrBg: \"#0073a8\", clrText: \"#000000\", gradBg: \"\" },\r\n exhibitor : { clrBg: \"#83ADCF\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n floorplan : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" }, //small layout only\r\n home : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n category : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n pavilion : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n subShow : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n country : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n view : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n availableBooth : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n \r\n rows : { clrOddBg: \"#D8EDF3\", clrOddText: \"#000000\", clrEvenBg: \"#F0F8FF\", clrEvenText: \"#000000\"},\r\n fpToolbar: { clrBg: \"#0073a8\", clrText: \"#FFFFFF\", alpha: \"1.0\"}\r\n \r\n}; */\r\n\r\n expocadfx.styles.mainHeader = res.uiMainHeader;\r\n expocadfx.styles.windowHeader = res.uiWindowHeader;\r\n expocadfx.styles.footer = res.uiFooter;\r\n expocadfx.styles.exhibitor = res.uiExhibitor;\r\n expocadfx.styles.floorplan = res.uiFloorplan;\r\n expocadfx.styles.home = res.uiHome;\r\n expocadfx.styles.category = res.uiCategory;\r\n expocadfx.styles.pavilion = res.uiPavilion;\r\n expocadfx.styles.subShow = res.uiSubShow;\r\n expocadfx.styles.country = res.uiCountry;\r\n expocadfx.styles.view = res.uiView;\r\n expocadfx.styles.availableBooth = res.uiAvailableBooth;\r\n expocadfx.styles.rows = res.uiRows;\r\n expocadfx.styles.fpToolbar = res.uiFpToolbar;\r\n\r\n}","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n//\"use strict\";\r\n\r\n/*\r\n* if used, each element style has a background style, background gradient and text\r\n* color.\r\n*/\r\nexpocadfx.styles = {\r\n mainHeader : { clrBg: \"#0073a8\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n windowHeader : { clrBg: \"#0073a8\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n footer : { clrBg: \"#0073a8\", clrText: \"#000000\", gradBg: \"\" },\r\n exhibitor : { clrBg: \"#83ADCF\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n floorplan : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" }, /* small layout only */\r\n home : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n category : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n pavilion : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n subShow : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n country : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n view : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n availableBooth : { clrBg: \"#4682B4\", clrText: \"#FFFFFF\", gradBg: \"\" },\r\n \r\n rows : { clrOddBg: \"#D8EDF3\", clrOddText: \"#000000\", clrEvenBg: \"#F0F8FF\", clrEvenText: \"#000000\"},\r\n fpToolbar: { clrBg: \"#0073a8\", clrText: \"#FFFFFF\", alpha: \"1.0\"}\r\n \r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n/*global console */\r\n\r\nexpocadfx.DisplayExhibitor = function( exhObj, viewName, idx, isChild) {\r\n\t'use strict';\r\n\tvar exh = {\r\n\t\tid: idx, /* Needed for slick grid sort and filter */\r\n\t\tname: \"\",\r\n\t\texhId: \"\",\r\n\t\tlocation: \"\",\r\n boothNumber: \"\",\r\n arBoothNumbers: [],\r\n arBoothIndexes: [],\r\n\t\tviewName: viewName,\r\n\t\tboothIndex: \"\",\r\n\t\texhibIndex: \"\",\r\n\t\tfavorite: false,\r\n\t\tbLocal: true,\r\n bAvailable: false,\r\n\t\tpriority: 0\r\n\t};\r\n\t\r\n\tif( exhObj !== null) {\r\n\t\texh.name = exhObj.name;\r\n\t\texh.exhId = exhObj.exhId;\r\n\t\texh.location = exhObj.boothNumber;\r\n exh.arBoothIndexes.push( exhObj.boothIndex);\r\n exh.arBoothNumbers.push( exhObj.boothNumber);\r\n exh.boothNumber = exhObj.boothNumber;\r\n\t\texh.boothIndex = exhObj.boothIndex;\r\n\t\texh.exhibIndex = exhObj.id;\r\n \r\n if( expocadfx.fxData.booths[ exhObj.boothIndex]) {\r\n \r\n\t\t\texh.bAvailable = expocadfx.fxData.booths[ exhObj.boothIndex].status === \"0\";\r\n\t\t\t\r\n\t\t\tif(isChild){\r\n\t\t\t\texpocadfx.fxData.booths[exhObj.boothIndex].exhibitorIndex += \",\" + exh.id;\r\n\t\t\t}\r\n }\r\n else {\r\n console.log( \"Display object - no booth to get status - booth number: \" + exhObj.boothNumber + \r\n \" index: \" + exhObj.boothIndex);\r\n }\r\n\t}\r\n return exh;\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n/*global console: true */\r\n\r\nexpocadfx.Exhibitor = function( cnt, xml, decrypt, jsonObject) {\r\n\t'use strict';\r\n var i = 0;\r\n var arrCat;\r\n var len = 0;\r\n var exh = {\r\n id: cnt, /* Needed for slick grid sort and filter */\r\n status: \"0\",\r\n name : \"\",\r\n exhId : \"\",\r\n boothNumber : \"\",\r\n boothIndex : \"\",\r\n\t\tfavorite: false,\r\n\t\tlocal: true,\r\n address1 : \"\",\r\n address2 : \"\",\r\n city : \"\",\r\n state : \"\",\r\n zip : \"\",\r\n country : \"\",\r\n contact : \"\",\r\n phone : \"\",\r\n fax : \"\",\r\n email : \"\",\r\n website : \"\",\r\n profile : \"\",\r\n category : \"\",\r\n url : \"\",\r\n directoryUrl : \"\",\r\n companyLogo : null\r\n };\r\n \r\n if( xml !== null) {\r\n exh.name = xml.getAttribute(\"n\");\r\n exh.exhId = xml.getAttribute(\"cID\");\r\n exh.boothNumber = xml.getAttribute(\"bID\");\r\n exh.boothIndex = xml.getAttribute(\"bIX\");\r\n exh. address1 = xml.getAttribute(\"a1\");\r\n exh.address2 = xml.getAttribute(\"a2\");\r\n exh.city = xml.getAttribute(\"c\");\r\n exh.state = xml.getAttribute(\"s\");\r\n exh.zip = xml.getAttribute(\"z\");\r\n exh.country = xml.getAttribute(\"cr\");\r\n exh.contact = xml.getAttribute(\"ct\");\r\n exh.phone = xml.getAttribute(\"p\");\r\n exh.fax = xml.getAttribute(\"f\");\r\n exh.email = xml.getAttribute(\"e\");\r\n exh.website = xml.getAttribute(\"w\");\r\n exh.profile = xml.getAttribute(\"pf\");\r\n exh.category = xml.getAttribute(\"cg\");\r\n exh. url = xml.getAttribute(\"url\");\r\n \r\n if( typeof(decrypt) === \"function\") {\r\n // url is not encrypted, exhId is not decrypted ( PROBLEM IN SALES !!)\r\n exh.name = decrypt( exh.name);\r\n exh.address1 = decrypt( exh.address1);\r\n exh.address2 = decrypt( exh.address2);\r\n exh.city = decrypt( exh.city);\r\n exh.state = decrypt( exh.state);\r\n exh.zip = decrypt( exh.zip);\r\n exh.country = decrypt( exh.country);\r\n exh.contact = decrypt( exh.contact);\r\n exh.phone = decrypt( exh.phone);\r\n exh.fax = decrypt( exh.fax);\r\n exh.email = decrypt( exh.email);\r\n exh.website = decrypt( exh.website);\r\n exh.profile = decrypt( exh.profile);\r\n\r\n arrCat = exh.category.split( \"x%x\");\t\t// separator used by EXPOCAD\r\n len = arrCat.length;\r\n for( i = 0; i < len; i++) {\r\n arrCat[i] = decrypt( arrCat[i]);\r\n }\r\n exh.category = arrCat.join( \"x%x\");\r\n }\r\n\r\n try {\r\n exh.name = exh.name.trim();\r\n }\r\n catch( ex) {\r\n console.log( \"Browser does not support trim function\");\r\n }\r\n }\r\n if (jsonObject != null || jsonObject != undefined) {\r\n\r\n if (jsonObject.displayName != \"\"){\r\n exh.name = jsonObject.displayName;\r\n }\r\n else{\r\n exh.name = \"Available Booth\";\r\n }\r\n \r\n exh.exhId = jsonObject.customerId;\r\n if ( exh.exhId === null){\r\n exh.exhId = \"\";\r\n }\r\n \r\n exh.boothNumber = jsonObject.boothNumber;\r\n exh.boothIndex = jsonObject.boothIndex;\r\n exh.address1 = jsonObject.address1;\r\n exh.address2 = jsonObject.address2;\r\n exh.city = jsonObject.city;\r\n exh.state = jsonObject.state;\r\n exh.zip = jsonObject.postalCode;\r\n exh.country = jsonObject.country;\r\n exh.contact = jsonObject.contact;\r\n exh.phone = jsonObject.phone;\r\n exh.fax = jsonObject.fax;\r\n exh.email = jsonObject.email;\r\n exh.website = jsonObject.website;\r\n exh.profile = jsonObject.productDescription;\r\n exh.category = jsonObject.category;\r\n exh.url = jsonObject.url; // If populated, clicking on this booth will navigate the user to this URL\r\n exh.directoryUrl = jsonObject.directoryUrl;\r\n exh.companyLogo = jsonObject.companyLogo;\r\n \r\n if( typeof(decrypt) === \"function\") {\r\n // url is not encrypted, exhId is not decrypted ( PROBLEM IN SALES !!)\r\n exh.name = decrypt( exh.name);\r\n exh.displayName = decrypt( exh.displayName);\r\n exh.address1 = decrypt( exh.address1);\r\n exh.address2 = decrypt( exh.address2);\r\n exh.city = decrypt( exh.city);\r\n exh.state = decrypt( exh.state);\r\n exh.zip = decrypt( exh.postalCode);\r\n exh.country = decrypt( exh.country);\r\n exh.contact = decrypt( exh.contact);\r\n exh.phone = decrypt( exh.phone);\r\n exh.fax = decrypt( exh.fax);\r\n exh.email = decrypt( exh.email);\r\n exh.website = decrypt( exh.website);\r\n exh.profile = decrypt( exh.profile);\r\n\r\n arrCat = exh.category.split( \"x%x\");\t\t// separator used by EXPOCAD\r\n len = arrCat.length;\r\n for( i = 0; i < len; i++) {\r\n arrCat[i] = decrypt( arrCat[i]);\r\n }\r\n exh.category = arrCat.join( \"x%x\");\r\n }\r\n\r\n try {\r\n exh.name = exh.name.trim();\r\n }\r\n catch( ex) {\r\n console.log( \"Browser does not support trim function\");\r\n }\r\n }\r\n return exh;\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.Booth = function( xml, idx, jsonObject) {\r\n var str;\r\n \r\n var bth = {\r\n\t\tindex: idx,\r\n number: \"\",\r\n status: \"0\",\r\n exhibitorIndex: \"\",\r\n areaF: \"\",\r\n areaM: \"\",\r\n dimF: \"\",\r\n dimM: \"\",\r\n flyout: \"\",\r\n cost: [],\r\n graphic : null\r\n };\r\n \r\n if( xml !== null) {\r\n bth.number = xml.getAttribute(\"n\");\r\n bth.status = xml.getElementsByTagName(\"ST\")[0].getAttribute(\"s\");\r\n bth.exhibitorIndex = xml.getAttribute(\"cIX\");\r\n\t\t\r\n\t\tbth.areaF = xml.getAttribute(\"a\");\r\n\t\tbth.areaM = xml.getAttribute(\"aO\");\r\n bth.flyout = xml.getAttribute(\"fo\");\r\n\t\t\r\n\t\tif( bth.flyout) {\r\n\t\t\t\t// VALIDATE ?! delete any script tags, and ?? link? \r\n\t\t\tstr = bth.flyout.toLowerCase();\r\n\r\n\t\t\tif( str.indexOf( \"script\") !== -1 ||\r\n\t\t\t\tstr.indexOf( \"\");\r\n\t\t}\r\n\t\t\r\n bth.dimF = xml.getAttribute(\"s\");\r\n bth.dimM = xml.getAttribute(\"sO\"); \r\n\r\n }\r\n if (jsonObject != null) {\r\n\r\n idx = jsonObject.boothIndex;\r\n bth.number = jsonObject.boothNumber;\r\n bth.status = jsonObject.status;\r\n bth.exhibitorIndex = jsonObject.exhibitorIndex;\r\n\r\n bth.areaF = jsonObject.areaSqFt;\r\n bth.areaM = jsonObject.areaSqM;\r\n\r\n bth.dimF = jsonObject.dimSqFt;\r\n bth.dimM = jsonObject.dimSqM;\r\n\r\n bth.flyout = jsonObject.flyout;\r\n bth.cost = jsonObject.cost;\r\n \r\n if (bth.flyout) {\r\n // VALIDATE ?! delete any script tags, and ?? link? \r\n str = bth.flyout.toLowerCase();\r\n\r\n if (str.indexOf(\"\");\r\n }\r\n \r\n \r\n }\r\n return bth;\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.GraphicObject = function( xml, type, jsonObject) {\r\n var config = expocadfx.config;\r\n var getTextObj = expocadfx.util.textFromXML;\r\n var getJSONTextObj = expocadfx.util.textFromJSON;\r\n \r\n var i = 0;\r\n var arText = null;\r\n\tvar textObject = null;\r\n var points = null;\r\n var len = 0;\r\n\tvar line = null;\r\n\r\n var obj = {\r\n index: -1,\r\n path: [],\r\n numPoints: 0,\r\n numText: 0,\r\n expColor: \"\",\r\n strokeColor: \"\",\r\n fillColor: \"\", // for 3d\r\n fillStyle: \"\", // for 2d to support gradients\r\n displayColor: \"\",\r\n saveColor: \"\",\r\n lineWidth: 1,\r\n alpha: 0,\r\n type: type,\r\n closePath: true,\r\n fill: false,\r\n stroke: false,\r\n text: [],\r\n\t\tdimensionText: [],\r\n minX: 70000,\r\n minY: 70000,\r\n maxX: 0,\r\n maxY: 0,\r\n center: null,\r\n vertices: null,\r\n mesh: null,\r\n textMesh: null,\r\n selected: false,\r\n hasSize: true\r\n };\r\n \r\n \r\n if(xml !== null) {\r\n\t\tline = xml.getElementsByTagName(\"L\")[0];\r\n\t\t\r\n\t\tif( line === undefined) {\r\n\t\t\tobj.expColor = xml.getAttribute(\"c\").replace(\"0x\",\"#\");\r\n//\t\t\tobj.lineWidth = parseInt( xml.getAttribute(\"w\"), 10);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tobj.expColor = line.getAttribute(\"c\").replace(\"0x\",\"#\");\r\n//\t\t\tobj.lineWidth = parseInt( line.getAttribute(\"w\"), 10);\r\n\t\t}\r\n\t\t\t\r\n arText = xml.getElementsByTagName(\"T\");\r\n obj.numText = arText.length;\r\n \r\n points = xml.getElementsByTagName(\"P\");\r\n len = points.length;\r\n obj.numPoints = len;\r\n \r\n for (i = 0; i < len; i++) {\r\n obj.path.push( { x:parseInt( points[i].getAttribute(\"x\"), 10),\r\n y:parseInt( points[i].getAttribute(\"y\"), 10) });\r\n }\r\n \r\n if( arText && arText.length > 0) {\r\n obj.numText = arText.length;\r\n for( i = 0; i < obj.numText; i++) {\r\n\t\t\t\ttextObject = getTextObj( arText[i], config.clrBoothText, config.FLOOR_PLAN_FONT);\r\n\t\t\t\tif( textObject.isDimension) {\r\n\t\t\t\t\ttextObject.fill = config.clrBoothDimensions;\r\n\t\t\t\t\tobj.dimensionText.push( textObject);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tobj.text.push( textObject);\r\n\t\t\t\t}\r\n }\r\n }\r\n }\r\n\r\n if (jsonObject != null) {\r\n\r\n //obj.expColor = \"#0000ff\";\r\n obj.expColor = jsonObject.colorOverride;\r\n // obj.lineWidth = \"2\";\r\n var WKT = jsonObject.geometry[0].corners;\r\n var coordsPtsArr = WKT;\r\n\r\n for (var k = 0; k < coordsPtsArr.length; k++) {\r\n\r\n obj.path.push({\r\n x: coordsPtsArr[k].x,\r\n y: coordsPtsArr[k].y\r\n //y: Math.abs(8437 - coordsPtsArr[k].y) // should be event Y extent minus Y coord\r\n //y: Math.abs(5900 - coordsPtsArr[k].y)\r\n });\r\n }\r\n obj.numPoints = obj.path.length;\r\n\r\n arText = jsonObject.textItems;\r\n //arText = [1];\r\n \r\n // if(arText !== null){\r\n // obj.numText = arText.length;\r\n // }\r\n if( arText && arText.length > 0) {\r\n obj.numText = arText.length;\r\n for( i = 0; i < obj.numText; i++) {\r\n // textObject = getJSONTextObj( arText[i], config.clrBoothText, config.FLOOR_PLAN_FONT);\r\n textObject = getJSONTextObj( arText[i], config.clrBoothText, config.FLOOR_PLAN_FONT);\r\n\t\t\t\tif( textObject.isDim) {\r\n\t\t\t\t\ttextObject.fill = config.clrBoothDimensions;\r\n\t\t\t\t\tobj.dimensionText.push( textObject);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tobj.text.push( textObject);\r\n\t\t\t\t}\r\n }\r\n }\r\n \r\n }\r\n\r\n switch( type) {\r\n case \"T\":\r\n\t\t\tobj.lineWidth = config.boothBorderLineWidth;\r\n obj.fill = true;\r\n obj.stroke = true;\r\n obj.alpha = config.BOOTH_ALPHA;\r\n break;\r\n case \"P\":\r\n obj.fill = true;\r\n if(obj.expColor == \"\"){ obj.expColor = config.PAVILION_COLOR}; \r\n obj.alpha = config.PAVILION_ALPHA;\r\n obj.fillColor = obj.expColor;\r\n obj.displayColor = obj.expColor;\r\n obj.strokeColor = obj.expColor;\r\n break;\r\n case \"F\":\r\n if(obj.expColor == \"\"){ obj.expColor = config.PAVILION_COLOR}; \r\n obj.closePath = false;\r\n obj.stroke = true;\r\n obj.alpha = 1.0; // config.GRAPHIC_ALPHA ??;\r\n obj.strokeColor = obj.expColor;\r\n break;\r\n }\r\n return obj;\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\n\r\nexpocadfx.fxevent = function( type, obj) {\r\n var evt = null;\r\n\r\n// if( typeof( window.Event) === \"funciton\") {\r\n// var e = new Event();\r\n// if( e.initCustomEvent && typeof(e.initCustomEvent) === \"function\") {\r\n// console.log( \"Event has a initCustomEvent method\")\r\n// }\r\n// }\r\n \r\n if( typeof( window.CustomEvent) === \"function\") {\r\n try {\r\n evt = new CustomEvent( type, {\"detail\": obj});\r\n evt.data = obj;\r\n }\r\n catch( ex) {\r\n console.log( \"Exception on login event \" + ex.message);\r\n return null;\r\n }\r\n }\r\n else {\r\n// console.log( \"NO CUSTOMEVENT OBJECT FOUND !!\");\r\n evt = document.createEvent( \"Event\");\r\n evt.initEvent( type, true, true);\r\n evt.data = obj;\r\n \r\n if( typeof( window.Event) === \"function\") {\r\n var e = new Event();\r\n if( e.initCustomEvent && typeof(e.initCustomEvent) === \"function\") {\r\n console.log( \"Event has a initCustomEvent method\");\r\n }\r\n }\r\n }\r\n \r\n return evt;\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// \r\n\r\nexpocadfx.emailLinkBuilder = function( value) {\r\n\t'use strict';\r\n\tvar config = expocadfx.config;\r\n\r\n\tvar link = location.origin + location.pathname + \"?\";\r\n\r\n\tif( config.hasMultipleViews) {\r\n\t\tlink += \"event=\" + config.viewName + \"&\";\r\n\t}\r\n\tif( typeof( value) === \"object\") {\r\n\t\tlink += \"IAH=\" + value.x + \",\" + value.y;\r\n\t}\r\n\telse {\r\n\t\tlink += \"zoomto=\" + encodeURIComponent( value);\r\n\t}\r\n\treturn link;\r\n};","\r\n\r\n/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n/* global _gaq */\r\n\r\nvar config = expocadfx.config;\r\n\r\nexpocadfx.util = {\r\n\r\n checkDate: function( config) {\r\n var testDate = new Date( config.year, config.month, config.day);\r\n return( Math.round( (Date.now() - testDate.getTime())/ (1000*60*60*24) ));\t// mSec per day\r\n },\r\n \r\n checkFile: function ( config, domain) {\r\n var result = false;\r\n var x11 = config.year + (100 * config.day) + config.month;\r\n var x12 = config.year + (100 * config.month) + config.day;\r\n\r\n x12 = Math.floor( ( x11 + (10 * x12)) / 2);\r\n\r\n if( config.checkSum === x12 * 3 + config.fileNumber) {\r\n result = true;\t\t// valid normal version\r\n }\r\n else if( config.checkSum === x12 * 4 + config.fileNumber ) {\r\n if( domain === \"www.expocad.com\" || domain === \"www.expocadondemand.com\") {\r\n result = true;\t\t// valid free verson - IF running on 'www.expocad.com/host/\r\n }\r\n }\r\n return result;\r\n },\r\n \r\n\tupdateMinMax: function( obj, x, y) {\r\n\t\tobj.minX = ( x < obj.minX) ? x : obj.minX;\r\n obj.maxX = ( x > obj.maxX) ? x : obj.maxX;\r\n obj.minY = ( y < obj.minY) ? y : obj.minY;\r\n obj.maxY = ( y > obj.maxY) ? y : obj.maxY;\r\n\t},\r\n \r\n findBoothIndex: function( bthNum, booths) {\r\n var i = 0;\r\n var len = booths.length;\r\n \r\n for( i = 0; i < len; i++) {\r\n if( booths[i].number === bthNum) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n },\r\n \r\n findBoothObject: function( bthNum, booths) {\r\n var i = 0;\r\n var len = booths.length;\r\n \r\n for( i = 0; i < len; i++) {\r\n if( booths[i].number === bthNum) {\r\n return booths[i];\r\n }\r\n }\r\n return null;\r\n },\r\n \r\n// findExhibitor: function( id, exhibitors) {\r\n// var i = 0;\r\n// var len = exhibitors.length;\r\n// for( i = 0; i < len; i++) {\r\n// if( exhibitors[i].exhId === id) {\r\n// return i;\r\n// }\r\n// }\r\n// return -1;\r\n// },\r\n\t\r\n\tarrayFind: function( arr, key, value) {\t\t// returns obj if found\r\n\t\tvar len = arr.length;\r\n\t\tvar i = 0;\r\n\t\tfor ( i = 0; i < len; i++) {\r\n\t\t\tif (arr[i][key] === value) {\r\n\t\t\t\treturn arr[i];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n \r\n // This function should go away. It corrects color codes from FX Plus and allow 3 digit colors\r\n fixColor: function( color) {\r\n color = color.replace( \"0x\", \"#\");\r\n if( color.length > 7) {\r\n color = color.toUpperCase();\r\n color = color.replace( \"#FF\", \"#\"); // fix Andy's 8 digit hex numbers\r\n }\r\n if( color.length === 4) { // convert 3 digit hex to 6 digit\r\n color = color.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i, function(m, r, g, b) {\r\n return \"#\" + r + r + g + g + b + b;\r\n }); \r\n }\r\n return color;\r\n },\r\n \r\n makeGradientStyle: function( c1, c2, rot) {\r\n var gradient = \"linear-gradient(\";\r\n if( rot && rot !== \"\") {\r\n gradient += rot + \"deg,\";\r\n }\r\n gradient += c1 + \", \" + c2 + \")\";\r\n return gradient;\r\n },\r\n \r\n\r\n textFromXML: function( xml, color, fontFamily) {\r\n var size = xml.getAttribute(\"s\");\r\n var font = size + \"px \" + fontFamily;\r\n // angle saved in radians for browser and degrees for pdf output\r\n var txt = {\r\n x: parseInt(xml.getAttribute(\"x\"), 10),\r\n y: parseInt(xml.getAttribute(\"y\"), 10),\r\n\t\t\tdRot: parseInt(xml.getAttribute(\"r\"), 10),\r\n rotation: parseInt(xml.getAttribute(\"r\"), 10)*Math.PI/180,\r\n text: xml.getAttribute(\"v\"),\r\n fontSize: size,\r\n font: font,\r\n fill: color,\r\n\t\t\tisDimension: xml.getAttribute(\"t\") === \"1\"\r\n };\r\n return txt;\r\n },\r\n textFromJSON: function( jsonObject, color, fontFamily) {\r\n var size = jsonObject.size;\r\n //var size = 8;\r\n var font = size + \"px \" + fontFamily;\r\n // angle saved in radians for browser and degrees for pdf output\r\n var txt = {\r\n x: parseInt(jsonObject.X, 10),\r\n //x: parseInt(jsonObject.geometry[0].textStartPoint.x, 10),\r\n y: parseInt(jsonObject.Y, 10),\r\n //y: parseInt(8850 - (jsonObject.geometry[0].textStartPoint.y, 10)),\r\n //dRot: parseInt(jsonObject.rotation, 10),\r\n //dRot: jsonObject.rotationRadians,\r\n dRot: parseFloat(jsonObject.rotationRads), //0,\r\n // rotation: parseInt(jsonObject.rotation, 10)*Math.PI/180,\r\n rotation: parseFloat(jsonObject.rotationRads), // 0,\r\n text: jsonObject.text,\r\n //text: jsonObject.boothNumber,\r\n fontSize: size,\r\n font: font,\r\n fill: color,\r\n // isDimension: jsonObject.isDimension === \"1\"\r\n isDim: jsonObject.isDim\r\n };\r\n \r\n if(jsonObject.colorOverride){\r\n txt.fill = \"#\" + jsonObject.colorOverride;\r\n }\r\n\r\n return txt;\r\n },\r\n \r\n drawText: function( context, txtObj) {\r\n var locX = txtObj.x;\r\n var locY = txtObj.y;\r\n \r\n context.save();\r\n context.font = txtObj.font;\r\n context.fillStyle = txtObj.fill;\r\n context.textBaseline = \"bottom\";\r\n if( txtObj.rotation !== 0) {\r\n context.translate( locX, locY);\r\n context.rotate( txtObj.rotation);\r\n context.translate( -locX, -locY);\r\n context.fillText( txtObj.text, locX, locY + 0.5 * txtObj.fontSize);\r\n \r\n }\r\n else {\r\n context.fillText( txtObj.text, locX, locY + txtObj.fontSize/2);\r\n }\r\n context.restore();\r\n },\r\n \r\n gaSetup: function( account) {\r\n if( account !== \"UA-xxxxxxxx-x\") {\r\n window._gaq = window._gaq || [];\r\n _gaq.push(['_setAccount', account]);\r\n _gaq.push(['_trackPageview']);\r\n \r\n (function() {\r\n var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r\n ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + \r\n '.google-analytics.com/ga.js';\r\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r\n }());\r\n }\r\n },\r\n \r\n parseQuerySting : function( config, data) {\r\n var q = location.search.substr(1).split(\"&\");\r\n var tmp;\r\n var i;\r\n for( i = 0; i < q.length; i++) {\r\n tmp = q[i].split(\"=\");\r\n if( tmp[0] === \"event\") {\r\n data.queryEvent = tmp[1];\r\n }\r\n else if( tmp[0] === \"IAH\") {\r\n data.queryCoord = tmp[1]; // comma separated point - x, y\r\n }\r\n else if( tmp[0] === \"units\") {\r\n config.units = tmp[1];\r\n }\r\n else if( tmp[0] === \"zoomto\") {\r\n data.queryBooths = decodeURIComponent( tmp[1]); // comma separatated booth numbers\r\n }\r\n else if( tmp[0] === \"data\") {\r\n data.queryIndex = decodeURIComponent( tmp[1]); // comma separatated booth indice\r\n }\r\n else if( tmp[0] === \"auth\") {\r\n data.queryAuthKey = tmp[1];\r\n }\r\n else if( tmp[0] === \"exh\") {\r\n data.queryExhibitor = unescape(tmp[1]); // NEW - passed if click on exhibitor name in exhibitor list\r\n }\r\n else if( tmp[0] === \"mode\") {\r\n if( tmp[1] === \"sales\" || tmp[1] === \"exhibitor\" || tmp[1] === \"contra\") {\r\n config.salesMode = tmp[1];\r\n config.noNav = true;\r\n }\r\n else {\r\n config.salesMode = \"none\";\r\n }\r\n }\r\n else if( tmp[0] === \"coords\" && this.isTrue(tmp[1])) {\r\n config.showCoords = true;\r\n }\r\n else if( tmp[0] === \"msg\") {\t\t// ?? Not used !\r\n data.queryMessage = decodeURI( tmp[1]);\r\n }\r\n else if(tmp[0] === \"rpt\") {\r\n \r\n if(tmp[1].trim() !== \"\") {\r\n data.queryActCode = tmp[1];\r\n }\r\n } \r\n else if( tmp[0] === \"view\") {\t\t// ?? Not used !\r\n config.apiView = decodeURI( tmp[1]);\r\n config.viewAll = true;\r\n }\r\n else if( tmp[0] === \"viewall\") {\t\t// ?? Not used !\r\n config.viewAll = true;\r\n\r\n // var name = \"Full\";\r\n \r\n // data.arViews[0] = {\r\n // name : name,\r\n // label : name,\r\n // source : name + \"_cr.jpg\"\r\n // };\r\n\r\n // name = \"Lower\"\r\n // data.arViews[1] = {\r\n // name : name,\r\n // label : name,\r\n // source : name + \"_cr.jpg\"\r\n // };\r\n\r\n // name = \"Upper\"\r\n // data.arViews[2] = {\r\n // name : name,\r\n // label : name,\r\n // source : name + \"_cr.jpg\"\r\n // };\r\n }\r\n else if( tmp[0] === \"options\"){\r\n config.optionsSet = tmp[1];\r\n }\r\n else if( tmp[0] === \"nonav\" ){ \r\n config.noNav = true;\r\n //var dirNavBar = document.getElementById(\"directoryNav\");\r\n //dirNavBar.remove();\r\n }\r\n }\r\n },\r\n \r\n parseUA : function( ua, data) {\r\n var index = 0;\r\n var temp = \"\";\r\n data.device = \"other\";\r\n \r\n if( ua.indexOf( \"iPhone\") > -1 || ua.indexOf( \"iPad\") > -1 || ua.indexOf( \"iPod\") > -1) {\r\n data.device = \"ios\";\r\n index = ua.indexOf( \"Version/\");\r\n if( index > -1) {\r\n temp = ua.slice( index + 8);\r\n index = temp.indexOf( \" \");\r\n temp = temp.slice( 0, index);\r\n data.notOldios = parseFloat( temp) >= 8;\r\n }\r\n }\r\n if( ua.indexOf( \"Android\") > -1) {\r\n data.device = \"A\";\r\n }\r\n\t\t\r\n\t\tdata.firefox = navigator.userAgent.indexOf( \"Firefox\") !== -1;\r\n\t\tdata.msie = navigator.userAgent.indexOf( \"Trident\") !== -1 ||\r\n\t\t\t\t\tnavigator.userAgent.indexOf( \"Edge\") !== -1;\r\n },\r\n \r\n\thasClass : function( e, c) {\r\n\t\tvar re = new RegExp(\"(^|\\\\s)\" + c + \"(\\\\s|$)\");\r\n\t\treturn re.test(e.className);\r\n\t},\r\n\r\n\taddClass : function( e, c) {\r\n\t\tif ( this.hasClass(e, c) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar newclass = e.className.split(' ');\r\n\t\tnewclass.push(c);\r\n\t\te.className = newclass.join(' ');\r\n\t},\r\n\r\n\tremoveClass : function ( e, c) {\r\n var arClass = e.className.split( \" \");\r\n var index = arClass.indexOf( c);\r\n if( index !== -1) {\r\n arClass.splice( index, 1);\r\n e.className = arClass.join( \" \");\r\n }\r\n\t},\r\n \r\n toggleClass : function( e, c) {\r\n if ( this.hasClass(e, c) ) {\r\n\t\t\tthis.removeClass( e, c);\r\n\t\t\treturn false;\r\n\t\t}\r\n else {\r\n this.addClass( e, c);\r\n\t\t\treturn true;\r\n }\r\n },\r\n \r\n isTrue: function( value) {\r\n return ( value && ( value.toLowerCase() === \"t\" || value.toLowerCase() === \"true\"));\r\n },\r\n\t\r\n detectWebGL: function() {\r\n var canvas = document.createElement( \"canvas\");\r\n try {\r\n if( canvas.getContext( \"webgl\") || canvas.getContext( \"experimental-webgl\")) {\r\n return true;\r\n }\r\n console.log( \"DID NOT GET A webGL CANVSA DRAWING CONTEXT\");\r\n return false;\r\n }\r\n catch( ex) {\r\n\t\t\tconsole.log( \" detect webGL exception: \" + ex.message);\r\n return false;\r\n }\r\n },\r\n\t\r\n navigateTo: function( url, name) {\r\n if (name){\r\n window.open(url, name);\r\n }\r\n \r\n var newWin = window.open();\r\n\t\tnewWin.opener = null;\r\n if( url.substr( 0, 4) !== \"http\") {\r\n url = \"http://\" + url;\r\n }\r\n newWin.location = url;\r\n },\r\n\r\n ajaxCall: function(url, mthd, data, callback) {\r\n $.ajax({\r\n url: url,\r\n contentType: \"text/plain; charset=utf-8\",\r\n processData: false,\r\n method: mthd,\r\n data: data,\r\n dataType: \"text\",\r\n complete: function (dat) {\r\n if (callback != null) {\r\n callback(dat.responseText);\r\n }\r\n },\r\n error: function () {\r\n // TO DO Add some error handling and logging\r\n console.log(\"uh oh\");\r\n }\r\n });\r\n },\r\n displayUSD: function(number) {\r\n var number = number.toString(),\r\n dollars = number.split('.')[0],\r\n cents = (number.split('.')[1] || '');\r\n dollars = dollars.split('').reverse().join('')\r\n .replace(/(\\d{3}(?!$))/g, '$1,')\r\n .split('').reverse().join('');\r\n if (cents > 0) {\r\n if (config.currencySymbol){\r\n if(config.currencySymbolBefore){\r\n return config.currencySymbol + dollars + '.' + cents.slice(0, 2);\r\n }\r\n else{\r\n return dollars + '.' + cents.slice(0, 2) + \" \" + config.currencySymbol;\r\n }\r\n }\r\n else {\r\n return '$' + dollars + '.' + cents.slice(0, 2);\r\n }\r\n\r\n \r\n } else {\r\n if (config.currencySymbol){\r\n if(config.currencySymbolBefore){\r\n return config.currencySymbol + dollars;\r\n }\r\n else{\r\n return dollars + \" \" + config.currencySymbol;\r\n }\r\n }\r\n else {\r\n return '$' + dollars;\r\n }\r\n }\r\n }\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// useStrict\r\n/* global */\r\n\r\n\r\nexpocadfx.loadScript = function( path, callback, isFile) {\r\n\tvar script = document.createElement(\"script\");\r\n\tscript.type = \"text/javascript\";\r\n\t\r\n\tif( isFile && location.host === \"www.expocad.com\") {\t\t// location.host === \"192.168.110.117\" || \r\n\t\tpath = location.origin + \"/host/fx/_libs/\" + path;\r\n\t}\r\n\r\n\tif (script.readyState){\t\t//IE ?? appears to be for < IE11\r\n\t\tscript.onreadystatechange = function(){\r\n\t\t\tif (script.readyState === \"loaded\" ||\r\n\t\t\t\t\tscript.readyState === \"complete\"){\r\n\t\t\t\tscript.onreadystatechange = null;\r\n\t\t\t\tcallback( true);\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\telse {\r\n\t\tscript.onload = function(){\r\n\t\t\tcallback( true);\r\n\t\t};\r\n\t\tscript.onerror = function() {\r\n\t\t\tcallback( false);\r\n\t\t};\r\n\t}\r\n\t\r\n\tscript.src = path;\r\n\tdocument.getElementsByTagName(\"head\")[0].appendChild(script);\t\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// useStrict\r\n/* global ga */\r\n\r\n\r\nexpocadfx.setupGA = function( accountNumber) {\r\n\t\r\n\tvar isGtag = true;\r\n\tvar load = expocadfx.loadScript;\r\n\t\r\n\tif (isGtag) {\r\n\t\t\r\n\t\twindow.dataLayer = window.dataLayer || [];\r\n\t\twindow.gtag = function gtag(){dataLayer.push(arguments);}\r\n\t\t\r\n\t\tload( \"https://www.googletagmanager.com/gtag/js?id=\" + accountNumber, cbGoogleAccount, false);\r\n\t\t\r\n\t\tfunction cbGoogleAccount() {\r\n\t\t\twindow.gtag('js', new Date()); \r\n\t\t\twindow.gtag('config', accountNumber);\r\n\t\t}\r\n\t}\r\n\telse {\r\n\t\twindow[ 'GoogleAnalyticsObject'] = 'ga';\r\n\t\twindow['ga'] = window['ga'] || function(){\r\n\t\t\t( window['ga'].q = window['ga'].q || []).push( arguments);\r\n\t\t};\r\n\t\twindow['ga'].l = 1 * new Date();\r\n\t\tload( \"https://www.google-analytics.com/analytics.js\", cbGoogleAccount, false);\r\n\t\t\r\n\t\tfunction cbGoogleAccount() {\r\n\t\t\tga('create', accountNumber, 'auto');\r\n\t\t\tga('send', 'pageview');\r\n\t\t}\r\n\t}\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.element = (function() {\r\n var EXHIBITORS = \"  \";\r\n var FLOORPLAN = \"  \";\r\n var doc = document;\r\n var nList = \"\";\r\n var nextIndex = 0;\r\n\tvar treeNodeEven = true;\r\n \r\n \r\n function makeButton( id, label, elemStyle, hdr) {\r\n var but = document.createElement( \"li\");\r\n but.textContent = label;\r\n \r\n but.setAttribute( \"class\", \"nav-btn unselectable\");\r\n but.style.backgroundColor = (elemStyle.clrBg !== \"\") ? elemStyle.clrBg : hdr.clrBg;\r\n \r\n if( elemStyle.gradBg !== \"\") {\r\n but.style.background = elemStyle.gradBg;\r\n }\r\n else if( elemStyle.clrBg === \"\" && hdr.gradBg !== \"\") {\r\n but.style.background = hdr.gradBg;\r\n }\r\n \r\n but.style.color = (elemStyle.clrText !== \"\") ? elemStyle.clrText : hdr.clrText;\r\n \r\n but.setAttribute( \"id\", id);\r\n \r\n return but;\r\n }\r\n \r\n function makeIconButton(id, label, bgColor, txtColor, icon, iconFirst, alpha) {\r\n var rgbClr = \"\";\r\n var but = document.createElement( \"button\");\r\n // but.style.opacity = alpha;\r\n \r\n if (alpha !== 1) {\r\n // convert bgColor to rgba !!\r\n rgbClr = \"rgba( \" + parseInt( bgColor.substr( 1, 2), 16);\r\n rgbClr += \", \" + parseInt( bgColor.substr( 3, 2), 16);\r\n rgbClr += \", \" + parseInt( bgColor.substr( 5, 2), 16);\r\n bgColor = rgbClr + \", \" + alpha + \")\";\r\n }\r\n \r\n var spanLablel = document.createElement( \"span\");\r\n if( id !== \"\") {\r\n spanLablel.setAttribute( \"id\", id + \"Label\");\r\n// spanLablel.style.opacity = alpha;\r\n }\r\n var spanIcon = document.createElement( \"span\");\r\n var cl = \"\";\r\n spanLablel.textContent = label;\r\n if( icon) {\r\n cl = \"icon \" + icon;\r\n spanIcon.className = cl;\r\n// spanIcon.style.opacity = alpha;\r\n\r\n if (id == \"tb5\"){\r\n spanIcon.style.paddingRight = \"5px\";\r\n }\r\n }\r\n if( iconFirst) {\r\n but.appendChild( spanIcon);\r\n but.appendChild( spanLablel);\r\n }\r\n else {\r\n but.appendChild( spanLablel);\r\n but.appendChild( spanIcon);\r\n }\r\n but.setAttribute( \"class\", \"hdr-btn waves-effect waves-light\");\r\n but.style.backgroundColor = bgColor;\r\n but.style.color = txtColor;\r\n\r\n if( id !== \"\") {\r\n but.setAttribute( \"id\", id);\r\n }\r\n return but;\r\n }\r\n \r\n function makeListItem( id, label, tip, cl) {\r\n var l = doc.createElement( \"li\");\r\n l.setAttribute( \"id\", id);\r\n l.className = \"unselectable\";\r\n l.textContent = label;\r\n if( cl) {\r\n l.className = cl;\r\n }\r\n if( tip) {\r\n l.title = tip;\r\n }\r\n return l;\r\n }\r\n \r\n function filterItem( name, label, selected) {\r\n var opt = doc.createElement( \"option\");\r\n opt.setAttribute( \"value\", name);\r\n if( selected) {\r\n opt.setAttribute( \"selected\", true);\r\n }\r\n opt.textContent = label;\r\n return opt;\r\n }\r\n \r\n function makeViewThumb( view, index, clrBg, grad, clrText) {\r\n var thumb = doc.createElement( \"div\");\r\n var img = doc.createElement( \"img\");\r\n var par = doc.createElement( \"p\");\r\n \r\n thumb.className = \"thumb\";\r\n thumb.setAttribute( \"data-index\", index);\r\n \r\n img.setAttribute( \"src\", view.source);\r\n thumb.appendChild( img);\r\n par.textContent = view.label;\r\n thumb.appendChild( par);\r\n \r\n thumb.style.backgroundColor = clrBg;\r\n if( grad !== \"\") {\r\n thumb.style.background = grad;\r\n }\r\n thumb.style.color = clrText;\r\n \r\n return thumb;\r\n }\r\n \r\n function elementById( id) {\r\n if( !elementById.cache) {\r\n elementById.cache = [];\r\n }\r\n return (elementById.cache[id] = elementById.cache[id] || document.getElementById( id));\r\n }\r\n \r\n function newTreePage( pid, tid) {\r\n var div;\r\n var page = document.createElement( \"div\");\r\n page.setAttribute( \"id\", pid);\r\n page.className = \"page\";\r\n \r\n div = document.createElement( \"div\");\r\n div.className = \"trcnt\";\r\n div.setAttribute( \"id\", tid);\r\n \r\n page.appendChild( div);\r\n return page;\r\n }\r\n // z === function to 'decrypt names\r\n function xmlToTree( xml, ulName, arr, z, clr) {\r\n var i = 0;\r\n var node = null;\r\n var c;\r\n var htmlRoot = null;\r\n var xmlRoot = xml.getElementsByTagName( \"node\")[0];\r\n var ch = getChildren( xmlRoot);\r\n nList = \"\";\r\n \r\n if( ch.length > 0) {\r\n htmlRoot = treeRoot( ulName);\r\n for( i = 0; i < ch.length; i++) {\r\n \r\n c = ch[i];\r\n node = listChildren( c, arr, z, clr);\r\n if(i == ch.length-1){\r\n node.style.borderBottom = \"1px solid #e5e5ef\";\r\n }\r\n htmlRoot.appendChild( node);\r\n }\r\n }\r\n return htmlRoot;\r\n }\r\n\r\n function jsonToTree(jsonObject, ulName, arr, z, clr){\r\n var i = 0;\r\n var node = null;\r\n var c;\r\n var htmlRoot = null;\r\n var ch = jsonObject;\r\n nList = \"\";\r\n\r\n if( ch.length > 0) {\r\n htmlRoot = treeRoot( ulName);\r\n for( i = 0; i < ch.length; i++) {\r\n c = ch[i];\r\n node = listChildrenJSON( c, arr, z, clr);\r\n htmlRoot.appendChild( node);\r\n }\r\n }\r\n return htmlRoot;\r\n }\r\n \r\n function listChildrenJSON( jsonObject, arr, z, clr) {\r\n //var ch = getChildren( node);\r\n var ch = jsonObject.listItems;\r\n var lbl = \"\";\r\n var i;\r\n var elem = null;\r\n var list = null;\r\n var child = null;\r\n \r\n // Handles encryption?\r\n lbl = (z !== null) ? z(jsonObject.name) : jsonObject.name; \r\n \r\n elem = newTreeNode(jsonObject.boothIndices, lbl, clr); // TreeNode = Parent\r\n nList += lbl + \",\";\r\n arr.push( jsonObject.boothIndices); \r\n //node.appendChild( elem);\r\n list = doc.createElement( \"ul\");\r\n list.style.display = \"none\";\r\n \r\n for (i = 0; i < ch.length; i++){ // Loop through list items here\r\n \r\n lbl = (z !== null) ? \r\n z(ch[i].exhibitorName) : ch[i].exhibitorName;\r\n\r\n child = newTreeLeaf(ch[i].boothIndices, lbl, clr)\r\n arr.push( ch[i].boothIndices);\r\n\r\n list.appendChild(child);\r\n\r\n }\r\n\r\n elem.appendChild( list);\r\n\r\n return elem;\r\n }\r\n\r\n function listChildren( node, arr, z, clr) {\r\n var ch = getChildren( node);\r\n var lbl = \"\";\r\n var i;\r\n var elem = null;\r\n var list = null;\r\n var child = null;\r\n \r\n if( ch.length === 0) { // 'leaf'\r\n if(node.hasAttribute('label')) {\r\n lbl = (z !== null) ? \r\n z(node.attributes.label.value) : node.attributes.label.value;\r\n elem = newTreeLeaf( node.attributes.data.value, lbl);\r\n arr.push( node.attributes.data.value);\r\n node.appendChild( elem);\r\n }\r\n }\r\n else {\r\n if(node.hasAttribute) {\r\n if( node.hasAttribute('label')) {\r\n lbl = (z !== null) ? \r\n z(node.attributes.label.value) : node.attributes.label.value;\r\n elem = newTreeNode( node.attributes.data.value, lbl, clr);\r\n nList += lbl + \",\";\r\n // ?? push obj with data, type=N/L, elemId\r\n arr.push( node.attributes.data.value);\r\n node.appendChild( elem);\r\n list = doc.createElement( \"ul\");\r\n list.style.display = \"none\";\r\n }\r\n \r\n for( i = 0; i < ch.length; i++) {\r\n child = listChildren( ch[i], arr, z);\r\n list.appendChild( child);\r\n }\r\n elem.appendChild( list);\r\n }\r\n }\r\n \r\n return elem;\r\n }\r\n \r\n function treeRoot( ulName) {\r\n var elem = doc.createElement( \"ul\");\r\n elem.setAttribute( \"id\", ulName); // i.e. 'trCn'\r\n elem.setAttribute( \"class\", \"tree\");\r\n \r\n nextIndex = 0;\r\n treeNodeEven = true;\r\n return elem;\r\n }\r\n \r\n function newTreeNode( data, label, clr) {\r\n var node = doc.createElement( \"li\");\r\n var link = doc.createElement( \"span\");\r\n var span = doc.createElement( \"span\");\r\n link.className = \"trigger\";\r\n link.style.color = \"\";\r\n\r\n if(nextIndex == 0){\r\n node.style.borderTop = \"1\";\r\n }\r\n\t\t\r\n\t\tnode.className = treeNodeEven ? \"even\" : \"odd\";\r\n\t\ttreeNodeEven = !treeNodeEven;\r\n\t\t\r\n span.textContent = label;\r\n\t\t\r\n node.appendChild( link);\r\n node.appendChild( span);\r\n \r\n node.setAttribute( \"data-index\", nextIndex);\r\n \r\n nextIndex += 1;\r\n \r\n return node;\r\n }\r\n \r\n function newTreeLeaf( data, label) {\r\n var leaf = doc.createElement( \"li\");\r\n var span = doc.createElement( \"span\");\r\n //span.className = \"label ui-booth\";\r\n span.textContent = label;\r\n \r\n leaf.setAttribute( \"data-index\", nextIndex);\r\n leaf.className = \"comp\";\r\n nextIndex += 1;\r\n leaf.appendChild( span);\r\n \r\n return leaf;\r\n }\r\n \r\n function getChildren( node) {\r\n var cns = node.childNodes;\r\n var ar = [];\r\n var numChild = 0;\r\n var ch = null;\r\n var i = 0;\r\n if( cns) {\r\n numChild = cns.length;\r\n for( i = 0; i < numChild; i++) {\r\n ch = cns[i];\r\n if( ch.nodeType === 1) { // find the elements/tags\r\n ar.push( ch);\r\n }\r\n }\r\n }\r\n return ar;\r\n }\r\n \r\n return {\r\n ICON_EXHIBITORS : EXHIBITORS,\r\n ICON_FLOORPLAN : FLOORPLAN,\r\n ICON_LIST : \"  \",\r\n ICON_HOME : \"\",\r\n ICON_FILTER : \"icon-filter\",\r\n ICON_MAP_PIN : \"\",\r\n ICON_MINUS : \"icon-minus\",\r\n ICON_PLUS : \"icon-plus\",\r\n ICON_SALES : \"icon-sales\",\r\n ICON_LOGOUT : \"icon-logout\",\r\n ICON_PIN : \"icon-pin\",\r\n ICON_NONE: \"flyout-3d\",\r\n ICON_FIT : \"icon-fit\",\r\n ICON_LOCATION : \"icon-location\",\r\n elementById : elementById,\r\n filterItem : filterItem,\r\n getNodeList: function() {\r\n return nList;\r\n },\r\n makeButton: makeButton,\r\n makeIconButton : makeIconButton,\r\n makeListItem : makeListItem,\r\n makeViewThumb : makeViewThumb,\r\n newTreePage : newTreePage,\r\n newTreeLeaf: newTreeLeaf,\r\n newTreeNode: newTreeNode,\r\n treeRoot: treeRoot,\r\n xmlToTree: xmlToTree,\r\n jsonToTree: jsonToTree\r\n };\r\n}());","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n/* */\r\n\r\nexpocadfx.comparer = function( key, asc) {\r\n\treturn function( a, b) {\r\n\r\n function isNum( c) {\r\n var charCode = c.charCodeAt(0);\r\n return (charCode > 47 && charCode < 58); // 46 = '.' ??\r\n }\r\n \r\n function getChunk( str, len, index) {\r\n var chunk = str.charAt( index);\r\n var char;\r\n index += 1;\r\n if( isNum( chunk)) {\r\n while( index < len) {\r\n char = str.charAt( index);\r\n if( !isNum( char)) {\r\n break;\r\n }\r\n chunk += char;\r\n index += 1;\r\n }\r\n }\r\n else {\r\n while( index < len) {\r\n char = str.charAt( index);\r\n if( isNum( char)) {\r\n break;\r\n }\r\n chunk += char;\r\n index += 1;\r\n }\r\n }\r\n return chunk;\r\n }\r\n\t\t\r\n\t\tif( a.hasOwnProperty( \"priority\")) {\r\n\t\t\tif( a.priority < b.priority) {\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\telse if( a.priority > b.priority) {\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t}\r\n \r\n var aLen = a[ key].length;\r\n var bLen = b[ key].length;\r\n var aIndex = 0;\r\n var bIndex = 0;\r\n var aChunk = \"\";\r\n var bChunk = \"\";\r\n var aNum = 0;\r\n var bNum = 0;\r\n var result = 0;\r\n\t\tvar direction = asc ? 1 : -1;\r\n//\t\t\tconsole.log( \"direction: \" + direction);\r\n \r\n while( aIndex < aLen && bIndex < bLen) {\r\n aChunk = getChunk( a[ key], aLen, aIndex);\r\n aIndex += aChunk.length;\r\n \r\n bChunk = getChunk( b[ key], bLen, bIndex);\r\n bIndex += bChunk.length;\r\n \r\n if( isNum( aChunk.charAt( 0)) && isNum( bChunk.charAt( 0)) ) {\r\n aNum = parseInt( aChunk, 10);\r\n bNum = parseInt( bChunk, 10);\r\n if( aNum < bNum) {\r\n return -1 * direction;\r\n }\r\n else if( aNum > bNum) {\r\n return direction;\r\n }\r\n }\r\n else {\r\n if( aChunk.toLocaleLowerCase() < bChunk.toLocaleLowerCase()) {\r\n return -1 * direction;\r\n }\r\n else if( aChunk.toLocaleLowerCase() > bChunk.toLocaleLowerCase()) {\r\n return direction;\r\n }\r\n }\r\n }\r\n if( result === 0) {\r\n result = aLen - bLen;\r\n if( result < 0) {\r\n result = -1;\r\n }\r\n if( result > 0) {\r\n result = 1;\r\n }\r\n }\r\n\t\t\r\n\t\t\r\n return result * direction;\r\n\t};\r\n};","/***\r\n * Contains core SlickGrid classes.\r\n * @module Core\r\n * @namespace Slick\r\n */\r\n\r\n(function ($) {\r\n // register namespace\r\n $.extend(true, window, {\r\n \"Slick\": {\r\n \"Event\": Event,\r\n \"EventData\": EventData,\r\n \"EventHandler\": EventHandler,\r\n \"Range\": Range,\r\n \"NonDataRow\": NonDataItem,\r\n \"Group\": Group,\r\n \"GroupTotals\": GroupTotals,\r\n// \"EditorLock\": EditorLock,\r\n\r\n /***\r\n * A global singleton editor lock.\r\n * @class GlobalEditorLock\r\n * @static\r\n * @constructor\r\n */\r\n// \"GlobalEditorLock\": new EditorLock(),\r\n\r\n \"keyCode\": {\r\n BACKSPACE: 8,\r\n DELETE: 46,\r\n DOWN: 40,\r\n END: 35,\r\n ENTER: 13,\r\n ESCAPE: 27,\r\n HOME: 36,\r\n INSERT: 45,\r\n LEFT: 37,\r\n PAGE_DOWN: 34,\r\n PAGE_UP: 33,\r\n RIGHT: 39,\r\n TAB: 9,\r\n UP: 38\r\n },\r\n \"preClickClassName\" : \"slick-edit-preclick\"\r\n }\r\n });\r\n\r\n /***\r\n * An event object for passing data to event handlers and letting them control propagation.\r\n *

This is pretty much identical to how W3C and jQuery implement events.

\r\n * @class EventData\r\n * @constructor\r\n */\r\n function EventData() {\r\n var isPropagationStopped = false;\r\n var isImmediatePropagationStopped = false;\r\n\r\n /***\r\n * Stops event from propagating up the DOM tree.\r\n * @method stopPropagation\r\n */\r\n this.stopPropagation = function () {\r\n isPropagationStopped = true;\r\n };\r\n\r\n /***\r\n * Returns whether stopPropagation was called on this event object.\r\n * @method isPropagationStopped\r\n * @return {Boolean}\r\n */\r\n this.isPropagationStopped = function () {\r\n return isPropagationStopped;\r\n };\r\n\r\n /***\r\n * Prevents the rest of the handlers from being executed.\r\n * @method stopImmediatePropagation\r\n */\r\n this.stopImmediatePropagation = function () {\r\n isImmediatePropagationStopped = true;\r\n };\r\n\r\n /***\r\n * Returns whether stopImmediatePropagation was called on this event object.\\\r\n * @method isImmediatePropagationStopped\r\n * @return {Boolean}\r\n */\r\n this.isImmediatePropagationStopped = function () {\r\n return isImmediatePropagationStopped;\r\n }\r\n }\r\n\r\n /***\r\n * A simple publisher-subscriber implementation.\r\n * @class Event\r\n * @constructor\r\n */\r\n function Event() {\r\n var handlers = [];\r\n\r\n /***\r\n * Adds an event handler to be called when the event is fired.\r\n *

Event handler will receive two arguments - an EventData and the data\r\n * object the event was fired with.

\r\n * @method subscribe\r\n * @param fn {Function} Event handler.\r\n */\r\n this.subscribe = function (fn) {\r\n handlers.push(fn);\r\n };\r\n\r\n /***\r\n * Removes an event handler added with subscribe(fn).\r\n * @method unsubscribe\r\n * @param fn {Function} Event handler to be removed.\r\n */\r\n this.unsubscribe = function (fn) {\r\n for (var i = handlers.length - 1; i >= 0; i--) {\r\n if (handlers[i] === fn) {\r\n handlers.splice(i, 1);\r\n }\r\n }\r\n };\r\n\r\n /***\r\n * Fires an event notifying all subscribers.\r\n * @method notify\r\n * @param args {Object} Additional data object to be passed to all handlers.\r\n * @param e {EventData}\r\n * Optional.\r\n * An EventData object to be passed to all handlers.\r\n * For DOM events, an existing W3C/jQuery event object can be passed in.\r\n * @param scope {Object}\r\n * Optional.\r\n * The scope (\"this\") within which the handler will be executed.\r\n * If not specified, the scope will be set to the Event instance.\r\n */\r\n this.notify = function (args, e, scope) {\r\n e = e || new EventData();\r\n scope = scope || this;\r\n\r\n var returnValue;\r\n for (var i = 0; i < handlers.length && !(e.isPropagationStopped() || e.isImmediatePropagationStopped()); i++) {\r\n returnValue = handlers[i].call(scope, e, args);\r\n }\r\n\r\n return returnValue;\r\n };\r\n }\r\n\r\n function EventHandler() {\r\n var handlers = [];\r\n\r\n this.subscribe = function (event, handler) {\r\n handlers.push({\r\n event: event,\r\n handler: handler\r\n });\r\n event.subscribe(handler);\r\n\r\n return this; // allow chaining\r\n };\r\n\r\n this.unsubscribe = function (event, handler) {\r\n var i = handlers.length;\r\n while (i--) {\r\n if (handlers[i].event === event &&\r\n handlers[i].handler === handler) {\r\n handlers.splice(i, 1);\r\n event.unsubscribe(handler);\r\n return;\r\n }\r\n }\r\n\r\n return this; // allow chaining\r\n };\r\n\r\n this.unsubscribeAll = function () {\r\n var i = handlers.length;\r\n while (i--) {\r\n handlers[i].event.unsubscribe(handlers[i].handler);\r\n }\r\n handlers = [];\r\n\r\n return this; // allow chaining\r\n }\r\n }\r\n\r\n /***\r\n * A structure containing a range of cells.\r\n * @class Range\r\n * @constructor\r\n * @param fromRow {Integer} Starting row.\r\n * @param fromCell {Integer} Starting cell.\r\n * @param toRow {Integer} Optional. Ending row. Defaults to fromRow.\r\n * @param toCell {Integer} Optional. Ending cell. Defaults to fromCell.\r\n */\r\n function Range(fromRow, fromCell, toRow, toCell) {\r\n if (toRow === undefined && toCell === undefined) {\r\n toRow = fromRow;\r\n toCell = fromCell;\r\n }\r\n\r\n /***\r\n * @property fromRow\r\n * @type {Integer}\r\n */\r\n this.fromRow = Math.min(fromRow, toRow);\r\n\r\n /***\r\n * @property fromCell\r\n * @type {Integer}\r\n */\r\n this.fromCell = Math.min(fromCell, toCell);\r\n\r\n /***\r\n * @property toRow\r\n * @type {Integer}\r\n */\r\n this.toRow = Math.max(fromRow, toRow);\r\n\r\n /***\r\n * @property toCell\r\n * @type {Integer}\r\n */\r\n this.toCell = Math.max(fromCell, toCell);\r\n\r\n /***\r\n * Returns whether a range represents a single row.\r\n * @method isSingleRow\r\n * @return {Boolean}\r\n */\r\n this.isSingleRow = function () {\r\n return this.fromRow == this.toRow;\r\n };\r\n\r\n /***\r\n * Returns whether a range represents a single cell.\r\n * @method isSingleCell\r\n * @return {Boolean}\r\n */\r\n this.isSingleCell = function () {\r\n return this.fromRow == this.toRow && this.fromCell == this.toCell;\r\n };\r\n\r\n /***\r\n * Returns whether a range contains a given cell.\r\n * @method contains\r\n * @param row {Integer}\r\n * @param cell {Integer}\r\n * @return {Boolean}\r\n */\r\n this.contains = function (row, cell) {\r\n return row >= this.fromRow && row <= this.toRow &&\r\n cell >= this.fromCell && cell <= this.toCell;\r\n };\r\n\r\n /***\r\n * Returns a readable representation of a range.\r\n * @method toString\r\n * @return {String}\r\n */\r\n this.toString = function () {\r\n if (this.isSingleCell()) {\r\n return \"(\" + this.fromRow + \":\" + this.fromCell + \")\";\r\n }\r\n else {\r\n return \"(\" + this.fromRow + \":\" + this.fromCell + \" - \" + this.toRow + \":\" + this.toCell + \")\";\r\n }\r\n }\r\n }\r\n\r\n\r\n /***\r\n * A base class that all special / non-data rows (like Group and GroupTotals) derive from.\r\n * @class NonDataItem\r\n * @constructor\r\n */\r\n function NonDataItem() {\r\n this.__nonDataRow = true;\r\n }\r\n\r\n\r\n /***\r\n * Information about a group of rows.\r\n * @class Group\r\n * @extends Slick.NonDataItem\r\n * @constructor\r\n */\r\n function Group() {\r\n this.__group = true;\r\n\r\n /**\r\n * Grouping level, starting with 0.\r\n * @property level\r\n * @type {Number}\r\n */\r\n this.level = 0;\r\n\r\n /***\r\n * Number of rows in the group.\r\n * @property count\r\n * @type {Integer}\r\n */\r\n this.count = 0;\r\n\r\n /***\r\n * Grouping value.\r\n * @property value\r\n * @type {Object}\r\n */\r\n this.value = null;\r\n\r\n /***\r\n * Formatted display value of the group.\r\n * @property title\r\n * @type {String}\r\n */\r\n this.title = null;\r\n\r\n /***\r\n * Whether a group is collapsed.\r\n * @property collapsed\r\n * @type {Boolean}\r\n */\r\n this.collapsed = false;\r\n\r\n /***\r\n * Whether a group selection checkbox is checked.\r\n * @property selectChecked\r\n * @type {Boolean}\r\n */\r\n this.selectChecked = false;\r\n\r\n /***\r\n * GroupTotals, if any.\r\n * @property totals\r\n * @type {GroupTotals}\r\n */\r\n this.totals = null;\r\n\r\n /**\r\n * Rows that are part of the group.\r\n * @property rows\r\n * @type {Array}\r\n */\r\n this.rows = [];\r\n\r\n /**\r\n * Sub-groups that are part of the group.\r\n * @property groups\r\n * @type {Array}\r\n */\r\n this.groups = null;\r\n\r\n /**\r\n * A unique key used to identify the group. This key can be used in calls to DataView\r\n * collapseGroup() or expandGroup().\r\n * @property groupingKey\r\n * @type {Object}\r\n */\r\n this.groupingKey = null;\r\n }\r\n\r\n Group.prototype = new NonDataItem();\r\n\r\n /***\r\n * Compares two Group instances.\r\n * @method equals\r\n * @return {Boolean}\r\n * @param group {Group} Group instance to compare to.\r\n */\r\n Group.prototype.equals = function (group) {\r\n return this.value === group.value &&\r\n this.count === group.count &&\r\n this.collapsed === group.collapsed &&\r\n this.title === group.title;\r\n };\r\n\r\n /***\r\n * Information about group totals.\r\n * An instance of GroupTotals will be created for each totals row and passed to the aggregators\r\n * so that they can store arbitrary data in it. That data can later be accessed by group totals\r\n * formatters during the display.\r\n * @class GroupTotals\r\n * @extends Slick.NonDataItem\r\n * @constructor\r\n */\r\n function GroupTotals() {\r\n this.__groupTotals = true;\r\n\r\n /***\r\n * Parent Group.\r\n * @param group\r\n * @type {Group}\r\n */\r\n this.group = null;\r\n\r\n /***\r\n * Whether the totals have been fully initialized / calculated.\r\n * Will be set to false for lazy-calculated group totals.\r\n * @param initialized\r\n * @type {Boolean}\r\n */\r\n this.initialized = false;\r\n }\r\n\r\n GroupTotals.prototype = new NonDataItem();\r\n\r\n})(jQuery);\r\n\r\n\r\n","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n/* global Slick, jQuery */\r\n\r\n/**\r\n * @license (c) 2009-2012 Michael Leibman michael{dot}leibman{at}gmail{dot}com\r\n * http://github.com/mleibman/slickgrid\r\n * Distributed under MIT license.\r\n * All rights reserved.\r\n * SlickGrid v2.1\r\n */\r\n\r\n\r\n// make sure required JavaScript modules are loaded\r\nif (typeof jQuery === \"undefined\") {\r\n throw \"SlickGrid requires jquery module to be loaded\";\r\n}\r\n\r\nif (typeof Slick === \"undefined\") {\r\n throw \"slick.core.js not loaded\";\r\n}\r\n\r\n\r\n(function ($) {\r\n // Slick.Grid\r\n $.extend(true, window, {\r\n Slick: {\r\n Grid: SlickGrid\r\n }\r\n });\r\n\r\n // shared across all grids on the page\r\n var scrollbarDimensions;\r\n var maxSupportedCssHeight; // browser's breaking point\r\n\r\n //////////////////////////////////////////////////////////////////////////////////////////////\r\n // SlickGrid class implementation (available as Slick.Grid)\r\n\r\n /**\r\n * Creates a new instance of the grid.\r\n * @class SlickGrid\r\n * @constructor\r\n * @param {Node} container Container node to create the grid in.\r\n * @param {Array,Object} data An array of objects for databinding.\r\n * @param {Array} columns An array of column definitions.\r\n * @param {Object} options Grid options.\r\n **/\r\n function SlickGrid(container, data, columns, options) {\r\n // settings\r\n var defaults = {\r\n explicitInitialization: false,\r\n rowHeight: 25,\r\n defaultColumnWidth: 80,\r\n enableAddRow: false,\r\n leaveSpaceForNewRows: false,\r\n editable: false,\r\n autoEdit: true,\r\n enableCellNavigation: true,\r\n enableColumnReorder: true,\r\n// asyncEditorLoading: false,\r\n// asyncEditorLoadDelay: 100,\r\n forceFitColumns: false,\r\n enableAsyncPostRender: false,\r\n asyncPostRenderDelay: 50,\r\n autoHeight: false,\r\n showHeaderRow: false,\r\n headerRowHeight: 25,\r\n showTopPanel: false,\r\n topPanelHeight: 25,\r\n formatterFactory: null,\r\n cellFlashingCssClass: \"flashing\",\r\n selectedCellCssClass: \"selected\",\r\n multiSelect: true,\r\n enableTextSelectionOnCells: false,\r\n dataItemColumnValueExtractor: null,\r\n fullWidthRows: false,\r\n multiColumnSort: false,\r\n defaultFormatter: defaultFormatter,\r\n forceSyncScrolling: false,\r\n jQueryUiStyles: true\r\n };\r\n\r\n var columnDefaults = {\r\n name: \"\",\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 30,\r\n rerenderOnResize: false,\r\n headerCssClass: null,\r\n defaultSortAsc: true\r\n };\r\n\r\n // scroller\r\n var th; // virtual height\r\n var h; // real scrollable height\r\n var ph; // page height\r\n var n; // number of pages\r\n var cj; // \"jumpiness\" coefficient\r\n\r\n var page = 0; // current page\r\n var offset = 0; // current page offset\r\n var vScrollDir = 1;\r\n\r\n // private\r\n var initialized = false;\r\n var $container;\r\n var uid = \"slickgrid_\" + Math.round(1000000 * Math.random());\r\n var self = this;\r\n var $focusSink, $focusSink2;\r\n var $headerScroller;\r\n var $headers;\r\n var $headerRow, $headerRowScroller, $headerRowSpacer;\r\n var $topPanelScroller;\r\n var $topPanel;\r\n var $viewport;\r\n var $canvas;\r\n var $style;\r\n var $boundAncestors;\r\n var stylesheet, columnCssRulesL, columnCssRulesR;\r\n var viewportH, viewportW;\r\n var canvasWidth;\r\n var viewportHasHScroll, viewportHasVScroll;\r\n var headerColumnWidthDiff = 0, headerColumnHeightDiff = 0, // border+padding\r\n cellWidthDiff = 0, cellHeightDiff = 0;\r\n var absoluteColumnMinWidth;\r\n var numberOfRows = 0;\r\n\r\n var tabbingDirection = 1;\r\n var activePosX;\r\n var activeRow, activeCell;\r\n var activeCellNode = null;\r\n var currentEditor = null;\r\n\r\n var rowsCache = {};\r\n var renderedRows = 0;\r\n var numVisibleRows;\r\n var prevScrollTop = 0;\r\n var scrollTop = 0;\r\n var lastRenderedScrollTop = 0;\r\n var lastRenderedScrollLeft = 0;\r\n var prevScrollLeft = 0;\r\n var scrollLeft = 0;\r\n\r\n var selectionModel;\r\n var selectedRows = [];\r\n\r\n var plugins = [];\r\n var cellCssClasses = {};\r\n\r\n var columnsById = {};\r\n var sortColumns = [];\r\n var columnPosLeft = [];\r\n var columnPosRight = [];\r\n\r\n\r\n // async call handles\r\n var h_editorLoader = null;\r\n var h_render = null;\r\n var h_postrender = null;\r\n var postProcessedRows = {};\r\n var postProcessToRow = null;\r\n var postProcessFromRow = null;\r\n\r\n // perf counters\r\n var counter_rows_rendered = 0;\r\n var counter_rows_removed = 0;\r\n\r\n\r\n //////////////////////////////////////////////////////////////////////////////////////////////\r\n // Initialization\r\n\r\n function init() {\r\n $container = $(container);\r\n if ($container.length < 1) {\r\n throw new Error(\"SlickGrid requires a valid container, \" + container + \" does not exist in the DOM.\");\r\n }\r\n\r\n // calculate these only once and share between grid instances\r\n maxSupportedCssHeight = maxSupportedCssHeight || getMaxSupportedCssHeight();\r\n scrollbarDimensions = scrollbarDimensions || measureScrollbar();\r\n\r\n options = $.extend({}, defaults, options);\r\n validateAndEnforceOptions();\r\n columnDefaults.width = options.defaultColumnWidth;\r\n\r\n columnsById = {};\r\n for (var i = 0; i < columns.length; i++) {\r\n var m = columns[i] = $.extend({}, columnDefaults, columns[i]);\r\n columnsById[m.id] = i;\r\n if (m.minWidth && m.width < m.minWidth) {\r\n m.width = m.minWidth;\r\n }\r\n if (m.maxWidth && m.width > m.maxWidth) {\r\n m.width = m.maxWidth;\r\n }\r\n }\r\n\r\n // validate loaded JavaScript modules against requested options\r\n if (options.enableColumnReorder && !$.fn.sortable) {\r\n throw new Error(\"SlickGrid's 'enableColumnReorder = true' option requires jquery-ui.sortable module to be loaded\");\r\n }\r\n\r\n $container\r\n .empty()\r\n .css(\"overflow\", \"hidden\")\r\n .css(\"outline\", 0)\r\n .addClass(uid);\r\n// if (options.jQueryUiStyles) {\r\n// $container.addClass(\"ui-widget\");\r\n// }\r\n\r\n // set up a positioning container if needed\r\n if (!/relative|absolute|fixed/.test($container.css(\"position\"))) {\r\n $container.css(\"position\", \"relative\");\r\n }\r\n\r\n $focusSink = $(\"

\").appendTo($container);\r\n\r\n $headerScroller = $(\"
\").appendTo($container);\r\n $headers = $(\"
\").appendTo($headerScroller);\r\n $headers.width(getHeadersWidth());\r\n\r\n $headerRowScroller = $(\"
\").appendTo($container);\r\n $headerRow = $(\"
\").appendTo($headerRowScroller);\r\n $headerRowSpacer = $(\"
\")\r\n .css(\"width\", getCanvasWidth() + scrollbarDimensions.width + \"px\")\r\n .appendTo($headerRowScroller);\r\n\r\n $topPanelScroller = $(\"
\").appendTo($container);\r\n $topPanel = $(\"
\").appendTo($topPanelScroller);\r\n\r\n if (!options.showTopPanel) {\r\n $topPanelScroller.hide();\r\n }\r\n\r\n if (!options.showHeaderRow) {\r\n $headerRowScroller.hide();\r\n }\r\n\r\n $viewport = $(\"
\").appendTo($container);\r\n $viewport.css(\"overflow-y\", options.autoHeight ? \"hidden\" : \"auto\");\r\n\r\n $canvas = $(\"
\").appendTo($viewport);\r\n\r\n $focusSink2 = $focusSink.clone().appendTo($container);\r\n\r\n if (!options.explicitInitialization) {\r\n finishInitialization();\r\n }\r\n }\r\n\r\n function finishInitialization() {\r\n if (!initialized) {\r\n initialized = true;\r\n\r\n viewportW = parseFloat($.css($container[0], \"width\", true));\r\n\r\n // header columns and cells may have different padding/border skewing width calculations\r\n // calculate the diff so we can set consistent sizes\r\n measureCellPaddingAndBorder();\r\n\r\n // for usability reasons, all text selection in SlickGrid is disabled\r\n // with the exception of input and textarea elements (selection must\r\n // be enabled there so that editors work as expected); note that\r\n // selection in grid cells (grid body) is already unavailable in\r\n // all browsers except IE\r\n disableSelection($headers); // disable all text selection in header (including input and textarea)\r\n\r\n if (!options.enableTextSelectionOnCells) {\r\n // disable text selection in grid cells except in input and textarea elements\r\n // (this is IE-specific, because selectstart event will only fire in IE)\r\n $viewport.bind(\"selectstart.ui\", function (event) {\r\n return $(event.target).is(\"input,textarea\");\r\n });\r\n }\r\n\r\n updateColumnCaches();\r\n createColumnHeaders();\r\n setupColumnSort();\r\n createCssRules();\r\n resizeCanvas();\r\n bindAncestorScrollEvents();\r\n\r\n $container\r\n .bind(\"resize.slickgrid\", resizeCanvas);\r\n $viewport\r\n .bind(\"scroll\", handleScroll);\r\n $headerScroller\r\n .bind(\"click\", handleHeaderClick)\r\n .delegate(\".slick-header-column\", \"mouseenter\", handleHeaderMouseEnter)\r\n .delegate(\".slick-header-column\", \"mouseleave\", handleHeaderMouseLeave);\r\n $headerRowScroller\r\n .bind(\"scroll\", handleHeaderRowScroll);\r\n $canvas\r\n .bind(\"click\", handleClick)\r\n .bind( \"mouseover\", handleMouseOver)\r\n .delegate(\".slick-cell\", \"mouseenter\", handleMouseEnter)\r\n .delegate(\".slick-cell\", \"mouseleave\", handleMouseLeave);\r\n }\r\n }\r\n \r\n function handleMouseOver( evt) { // ? Keep track of rowOver, stop events between cells\r\n $canvas.bind( \"mouseout\", handleMouseOut); // Need way to trigger on row, not cell\r\n var obj = getCellFromEvent( evt);\r\n if (!obj ) {\r\n return;\r\n }\r\n \r\n ///////////////////////////////////////////////////////////////////////////////////////////////\r\n\t\t\r\n if( data.getItem(obj.row).bLocal) {\r\n document.dispatchEvent( new expocadfx.fxevent( \"Highlight_Booth\", \r\n\t\t\t\t\t\t\t\t\t\t\t{ index: data.getItem(obj.row).arBoothIndexes.join( \",\")}));\r\n }\r\n else {\r\n document.dispatchEvent( new expocadfx.fxevent( \"Unhighlight_Booth\", { index: \"-1\"}));\r\n }\r\n //////////////////////////////////////////////////////////////////////////////////////////////\r\n }\r\n \r\n function handleMouseOut( evt) {\r\n if( evt.relatedTarget !== null && !expocadfx.util.hasClass( evt.relatedTarget, \"slick-cell\")) {\r\n $canvas.unbind( \"mouseout\", handleMouseOut);\r\n document.dispatchEvent( new expocadfx.fxevent( \"Unhighlight_Booth\", { index: \"-1\"}));\r\n }\r\n }\r\n\r\n function registerPlugin(plugin) {\r\n plugins.unshift(plugin);\r\n plugin.init(self);\r\n }\r\n\r\n function unregisterPlugin(plugin) {\r\n for (var i = plugins.length; i >= 0; i--) {\r\n if (plugins[i] === plugin) {\r\n if (plugins[i].destroy) {\r\n plugins[i].destroy();\r\n }\r\n plugins.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n function setSelectionModel(model) {\r\n if (selectionModel) {\r\n selectionModel.onSelectedRangesChanged.unsubscribe(handleSelectedRangesChanged);\r\n if (selectionModel.destroy) {\r\n selectionModel.destroy();\r\n }\r\n }\r\n\r\n selectionModel = model;\r\n if (selectionModel) {\r\n selectionModel.init(self);\r\n selectionModel.onSelectedRangesChanged.subscribe(handleSelectedRangesChanged);\r\n }\r\n }\r\n\r\n function getSelectionModel() {\r\n return selectionModel;\r\n }\r\n\r\n function getCanvasNode() {\r\n return $canvas[0];\r\n }\r\n\r\n function measureScrollbar() {\r\n\t\tvar dim;\r\n\t\tvar scrollContainer = document.createElement( \"div\");\r\n\t\tscrollContainer.setAttribute( \"id\", \"scrollContainer\");\r\n\t\tdocument.body.appendChild( scrollContainer);\r\n\t\t\r\n\t\tdim = {\r\n\t\t\twidth: scrollContainer.offsetWidth - scrollContainer.clientWidth || 16,\r\n\t\t\theight: scrollContainer.offsetHeight - scrollContainer.clientHeight || 16\r\n\t\t};\r\n\t\tdocument.body.removeChild( scrollContainer);\r\n\t\t\r\n\t\treturn dim;\r\n }\r\n\r\n function getHeadersWidth() {\r\n var headersWidth = 0;\r\n for (var i = 0, ii = columns.length; i < ii; i++) {\r\n var width = columns[i].width;\r\n headersWidth += width;\r\n }\r\n headersWidth += scrollbarDimensions.width;\r\n return Math.max(headersWidth, viewportW) + 1000;\r\n }\r\n\r\n function getCanvasWidth() {\r\n var availableWidth = viewportHasVScroll ? viewportW - scrollbarDimensions.width : viewportW;\r\n var rowWidth = 0;\r\n var i = columns.length;\r\n while (i--) {\r\n rowWidth += columns[i].width;\r\n }\r\n return options.fullWidthRows ? Math.max(rowWidth, availableWidth) : rowWidth;\r\n }\r\n\r\n function updateCanvasWidth(forceColumnWidthsUpdate) {\r\n var oldCanvasWidth = canvasWidth;\r\n canvasWidth = getCanvasWidth();\r\n\r\n if (canvasWidth != oldCanvasWidth) {\r\n $canvas.width(canvasWidth);\r\n $headerRow.width(canvasWidth);\r\n $headers.width(getHeadersWidth());\r\n viewportHasHScroll = (canvasWidth > viewportW - scrollbarDimensions.width);\r\n }\r\n\r\n $headerRowSpacer.width(canvasWidth + (viewportHasVScroll ? scrollbarDimensions.width : 0));\r\n\r\n if (canvasWidth != oldCanvasWidth || forceColumnWidthsUpdate) {\r\n applyColumnWidths();\r\n }\r\n }\r\n\r\n function disableSelection($target) {\r\n if ($target && $target.jquery) {\r\n $target\r\n .attr(\"unselectable\", \"on\")\r\n .css(\"MozUserSelect\", \"none\")\r\n .bind(\"selectstart.ui\", function () {\r\n return false;\r\n }); // from jquery:ui.core.js 1.7.2\r\n }\r\n }\r\n\r\n function getMaxSupportedCssHeight() {\r\n var supportedHeight = 1000000;\r\n // FF reports the height back but still renders blank after ~6M px\r\n var testUpTo = 6000000; // ($.browser.mozilla) ? 6000000 : 1000000000;\r\n var div = $(\"
\").appendTo(document.body);\r\n\r\n while (true) {\r\n var test = supportedHeight * 2;\r\n div.css(\"height\", test);\r\n if (test > testUpTo || div.height() !== test) {\r\n break;\r\n } else {\r\n supportedHeight = test;\r\n }\r\n }\r\n\r\n div.remove();\r\n return supportedHeight;\r\n }\r\n\r\n // TODO: this is static. need to handle page mutation.\r\n function bindAncestorScrollEvents() {\r\n var elem = $canvas[0];\r\n while ((elem = elem.parentNode) != document.body && elem != null) {\r\n // bind to scroll containers only\r\n if (elem == $viewport[0] || elem.scrollWidth != elem.clientWidth || elem.scrollHeight != elem.clientHeight) {\r\n var $elem = $(elem);\r\n if (!$boundAncestors) {\r\n $boundAncestors = $elem;\r\n } else {\r\n $boundAncestors = $boundAncestors.add($elem);\r\n }\r\n $elem.bind(\"scroll.\" + uid, handleActiveCellPositionChange);\r\n }\r\n }\r\n }\r\n\r\n function unbindAncestorScrollEvents() {\r\n if (!$boundAncestors) {\r\n return;\r\n }\r\n $boundAncestors.unbind(\"scroll.\" + uid);\r\n $boundAncestors = null;\r\n }\r\n\r\n function updateColumnHeader(columnId, title, toolTip) {\r\n if (!initialized) { return; }\r\n var idx = getColumnIndex(columnId);\r\n if (idx == null) {\r\n return;\r\n }\r\n\r\n var columnDef = columns[idx];\r\n var $header = $headers.children().eq(idx);\r\n if ($header) {\r\n if (title !== undefined) {\r\n columns[idx].name = title;\r\n }\r\n if (toolTip !== undefined) {\r\n columns[idx].toolTip = toolTip;\r\n }\r\n\r\n trigger(self.onBeforeHeaderCellDestroy, {\r\n \"node\": $header[0],\r\n \"column\": columnDef\r\n });\r\n\r\n $header\r\n .attr(\"title\", toolTip || \"\")\r\n .children().eq(0).html(title);\r\n\r\n trigger(self.onHeaderCellRendered, {\r\n \"node\": $header[0],\r\n \"column\": columnDef\r\n });\r\n }\r\n }\r\n\r\n function getHeaderRow() {\r\n return $headerRow[0];\r\n }\r\n\r\n function getHeaderRowColumn(columnId) {\r\n var idx = getColumnIndex(columnId);\r\n var $header = $headerRow.children().eq(idx);\r\n return $header && $header[0];\r\n }\r\n\r\n function createColumnHeaders() {\r\n function onMouseEnter() {\r\n $(this).addClass(\"ui-state-hover\");\r\n }\r\n\r\n function onMouseLeave() {\r\n $(this).removeClass(\"ui-state-hover\");\r\n }\r\n\r\n $headers.find(\".slick-header-column\")\r\n .each(function() {\r\n var columnDef = $(this).data(\"column\");\r\n if (columnDef) {\r\n trigger(self.onBeforeHeaderCellDestroy, {\r\n \"node\": this,\r\n \"column\": columnDef\r\n });\r\n }\r\n });\r\n $headers.empty();\r\n $headers.width(getHeadersWidth());\r\n\r\n $headerRow.find(\".slick-headerrow-column\")\r\n .each(function() {\r\n var columnDef = $(this).data(\"column\");\r\n if (columnDef) {\r\n trigger(self.onBeforeHeaderRowCellDestroy, {\r\n \"node\": this,\r\n \"column\": columnDef\r\n });\r\n }\r\n });\r\n $headerRow.empty();\r\n\r\n for (var i = 0; i < columns.length; i++) {\r\n var m = columns[i];\r\n\r\n var header = $(\"
\")\r\n .html(\"\" + m.name + \"\")\r\n .width(m.width - headerColumnWidthDiff)\r\n .attr(\"title\", m.toolTip || \"\")\r\n .data(\"column\", m)\r\n .addClass(m.headerCssClass || \"\")\r\n .appendTo($headers);\r\n\r\n if (options.enableColumnReorder || m.sortable) {\r\n header\r\n .on('mouseenter', onMouseEnter)\r\n .on('mouseleave', onMouseLeave);\r\n }\r\n\r\n if (m.sortable) {\r\n header.addClass(\"slick-header-sortable\");\r\n header.append(\"\");\r\n }\r\n\r\n trigger(self.onHeaderCellRendered, {\r\n \"node\": header[0],\r\n \"column\": m\r\n });\r\n\r\n if (options.showHeaderRow) {\r\n var headerRowCell = $(\"
\")\r\n .data(\"column\", m)\r\n .appendTo($headerRow);\r\n\r\n trigger(self.onHeaderRowCellRendered, {\r\n \"node\": headerRowCell[0],\r\n \"column\": m\r\n });\r\n }\r\n }\r\n\r\n setSortColumns(sortColumns);\r\n setupColumnResize();\r\n if (options.enableColumnReorder) {\r\n setupColumnReorder();\r\n }\r\n }\r\n\r\n function setupColumnSort() {\r\n $headers.click(function (e) {\r\n // temporary workaround for a bug in jQuery 1.7.1 (http://bugs.jquery.com/ticket/11328)\r\n e.metaKey = e.metaKey || e.ctrlKey;\r\n\r\n if ($(e.target).hasClass(\"slick-resizable-handle\")) {\r\n return;\r\n }\r\n\r\n var $col = $(e.target).closest(\".slick-header-column\");\r\n if (!$col.length) {\r\n return;\r\n }\r\n\r\n var column = $col.data(\"column\");\r\n if (column.sortable) {\r\n var sortOpts = null;\r\n var i = 0;\r\n for (; i < sortColumns.length; i++) {\r\n if (sortColumns[i].columnId == column.id) {\r\n sortOpts = sortColumns[i];\r\n sortOpts.sortAsc = !sortOpts.sortAsc;\r\n break;\r\n }\r\n }\r\n\r\n if (e.metaKey && options.multiColumnSort) {\r\n if (sortOpts) {\r\n sortColumns.splice(i, 1);\r\n }\r\n }\r\n else {\r\n if ((!e.shiftKey && !e.metaKey) || !options.multiColumnSort) {\r\n sortColumns = [];\r\n }\r\n\r\n if (!sortOpts) {\r\n sortOpts = { columnId: column.id, sortAsc: column.defaultSortAsc };\r\n sortColumns.push(sortOpts);\r\n } else if (sortColumns.length == 0) {\r\n sortColumns.push(sortOpts);\r\n }\r\n }\r\n\r\n setSortColumns(sortColumns);\r\n\r\n if (!options.multiColumnSort) {\r\n trigger(self.onSort, {\r\n multiColumnSort: false,\r\n sortCol: column,\r\n sortAsc: sortOpts.sortAsc}, e);\r\n } else {\r\n trigger(self.onSort, {\r\n multiColumnSort: true,\r\n sortCols: $.map(sortColumns, function(col) {\r\n return {sortCol: columns[getColumnIndex(col.columnId)], sortAsc: col.sortAsc };\r\n })}, e);\r\n }\r\n }\r\n });\r\n }\r\n\r\n function setupColumnReorder() {\r\n $headers.filter(\":ui-sortable\").sortable(\"destroy\");\r\n $headers.sortable({\r\n containment: \"parent\",\r\n distance: 3,\r\n axis: \"x\",\r\n cursor: \"default\",\r\n tolerance: \"intersection\",\r\n helper: \"clone\",\r\n placeholder: \"slick-sortable-placeholder ui-state-default slick-header-column\",\r\n forcePlaceholderSize: true,\r\n start: function (e, ui) {\r\n $(ui.helper).addClass(\"slick-header-column-active\");\r\n },\r\n beforeStop: function (e, ui) {\r\n $(ui.helper).removeClass(\"slick-header-column-active\");\r\n },\r\n stop: function (e) {\r\n var reorderedIds = $headers.sortable(\"toArray\");\r\n var reorderedColumns = [];\r\n for (var i = 0; i < reorderedIds.length; i++) {\r\n reorderedColumns.push(columns[getColumnIndex(reorderedIds[i].replace(uid, \"\"))]);\r\n }\r\n setColumns(reorderedColumns);\r\n\r\n trigger(self.onColumnsReordered, {});\r\n e.stopPropagation();\r\n setupColumnResize();\r\n }\r\n });\r\n }\r\n\r\n function setupColumnResize() {\r\n var $col, j, c, pageX, columnElements, minPageX, maxPageX, firstResizable, lastResizable;\r\n columnElements = $headers.children();\r\n columnElements.find(\".slick-resizable-handle\").remove();\r\n columnElements.each(function (i, e) {\r\n if (columns[i].resizable) {\r\n if (firstResizable === undefined) {\r\n firstResizable = i;\r\n }\r\n lastResizable = i;\r\n }\r\n });\r\n if (firstResizable === undefined) {\r\n return;\r\n }\r\n columnElements.each(function (i, e) {\r\n if (i < firstResizable || (options.forceFitColumns && i >= lastResizable)) {\r\n return;\r\n }\r\n $col = $(e);\r\n $(\"
\")\r\n .appendTo(e)\r\n });\r\n }\r\n\r\n function getVBoxDelta($el) {\r\n var p = [\"borderTopWidth\", \"borderBottomWidth\", \"paddingTop\", \"paddingBottom\"];\r\n var delta = 0;\r\n $.each(p, function (n, val) {\r\n delta += parseFloat($el.css(val)) || 0;\r\n });\r\n return delta;\r\n }\r\n\r\n function measureCellPaddingAndBorder() {\r\n var el;\r\n var h = [\"borderLeftWidth\", \"borderRightWidth\", \"paddingLeft\", \"paddingRight\"];\r\n var v = [\"borderTopWidth\", \"borderBottomWidth\", \"paddingTop\", \"paddingBottom\"];\r\n\r\n el = $(\"\").appendTo($headers);\r\n headerColumnWidthDiff = headerColumnHeightDiff = 0;\r\n $.each(h, function (n, val) {\r\n headerColumnWidthDiff += parseFloat(el.css(val)) || 0;\r\n });\r\n $.each(v, function (n, val) {\r\n headerColumnHeightDiff += parseFloat(el.css(val)) || 0;\r\n });\r\n el.remove();\r\n\r\n var r = $(\"
\").appendTo($canvas);\r\n el = $(\"\").appendTo(r);\r\n cellWidthDiff = cellHeightDiff = 0;\r\n $.each(h, function (n, val) {\r\n cellWidthDiff += parseFloat(el.css(val)) || 0;\r\n });\r\n $.each(v, function (n, val) {\r\n cellHeightDiff += parseFloat(el.css(val)) || 0;\r\n });\r\n r.remove();\r\n\r\n absoluteColumnMinWidth = Math.max(headerColumnWidthDiff, cellWidthDiff);\r\n }\r\n\r\n function createCssRules() {\r\n $style = $(\"\";\r\n \r\n// html += header.style + prtList.style + \"\";\r\n \r\n stuff.appendChild( header.content);\r\n stuff.appendChild( prtList.content);\r\n \r\n html += \"\" + stuff.innerHTML + \"\";\r\n \r\n printWin = window.open();\r\n\tprintWin.document.write(html);\r\n\tprintWin.document.close();\r\n\tprintWin.focus();\r\n\tprintWin.print();\r\n\tprintWin.close();\r\n \r\n return;\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.availableBoothTree = function() {\r\n var elem = expocadfx.element;\r\n var txt = expocadfx.txt;\r\n \r\n\tvar availSizes = [];\r\n\tvar arAvailableBooths = []; /// OR IN PAGE CONTROLL ???????\r\n\t\t\t\t// Used in mouseover and click event handlers\r\n var listChanged = true;\r\n\tvar htmlAvailBooths = null;\t\t// html element\r\n \r\n document.addEventListener( \"booths_changed\", function() {\r\n listChanged = true;\r\n });\r\n\r\n function getListElements( booths, units) { // booths, units, arAvailBooths, treeRoot\r\n var i = 0;\r\n var j = 0;\r\n var bth = null;\r\n var objAvailableSize = null;\r\n var result = null;\r\n var labelM = \"\";\r\n var labelF = \"\";\r\n var sizeIndex = -1;\r\n var numBooths = booths.length;\t\t\t////////////////////////////////////\r\n var numSizes = 0;\r\n var childLen = 0;\r\n var arBth = null;\r\n var arIdx = null;\r\n var leaf = null;\r\n var node = null;\r\n var list = null;\r\n var label = \"\";\r\n \r\n if( !listChanged) {\r\n return;\r\n }\r\n \r\n availSizes = [];\r\n\t\tarAvailableBooths = [];\r\n // can not use element utilities because it caches a reference to the element\r\n\t\tvar oldList = document.getElementById(\"trA\"); \r\n\t\tif( oldList !== null) {\r\n\t\t\telem.elementById( \"trcA\").removeChild( oldList );\r\n\t\t}\r\n \r\n for( i = 0; i < numBooths; i++) {\r\n bth = booths[i];\t\t\t\t/////////////////////////////////\r\n \r\n if( bth.status === \"0\") {\r\n if( bth.dimM === \"\" && bth.areaM === \"\") {\r\n labelM = txt.AVAILABLE;\r\n }\r\n else {\r\n labelM = bth.areaM + \", \" + bth.dimM;\r\n }\r\n sizeIndex = isInAvailSizes( labelM);\r\n if( sizeIndex === -1) {\r\n result = findNextSize( bth); // add new size to array\r\n if( result.index === -1) {\r\n result.index = availSizes.length;\r\n }\r\n if( bth.dimF === \"\" && bth.areaF === \"\") {\r\n labelM = txt.AVAILABLE;\r\n }\r\n else {\r\n labelF = bth.areaF + \", \" + bth.dimF;\r\n }\r\n objAvailableSize = {\r\n lblM: labelM,\r\n lblF: labelF,\r\n area: result.a,\r\n ht: result.h,\r\n width: result.w,\r\n childBooths: bth.number,\r\n childIndex: i\r\n };\r\n availSizes.splice( result.index, 0, objAvailableSize);\r\n }\r\n else {\r\n // add child to node ( ?? insert sort ??)\r\n availSizes[ sizeIndex].childBooths += \",\" + bth.number;\r\n availSizes[ sizeIndex].childIndex += \",\" + i;\r\n }\r\n }\r\n }\r\n// console.log( \"Available booth sizes - \" + availSizes.length + \" \\n\");\r\n// for( i = 0; i < availSizes.length; i++) {\r\n// console.log( availSizes[i].lblF);\r\n// }\r\n \r\n \r\n // create html\r\n numSizes = availSizes.length;\r\n htmlAvailBooths = elem.treeRoot( \"trA\"); // 'ul' element\r\n \r\n for( i = 0; i < numSizes; i++) {\r\n if( units === \"F\") {\t\t//////////////////////////////////////////////\r\n label = availSizes[i].lblF;\r\n }\r\n else {\r\n label = availSizes[i].lblM;\r\n }\r\n node = elem.newTreeNode( availSizes[i].childIndex, label, arAvailableBooths);\r\n arAvailableBooths.push( availSizes[i].childIndex);\r\n \r\n list = document.createElement( \"ul\");\r\n list.style.display = \"none\";\r\n \r\n arBth = availSizes[i].childBooths.split(\",\");\r\n \r\n // sort array with compare from list code\r\n \r\n arIdx = String(availSizes[i].childIndex).split( \",\");\r\n childLen = arBth.length;\r\n for( j = 0; j < childLen; j++) {\r\n leaf = elem.newTreeLeaf( arIdx[j], arBth[j], arAvailableBooths);\r\n arAvailableBooths.push( arIdx[j]);\r\n \r\n list.appendChild( leaf);\r\n }\r\n node.appendChild( list);\r\n htmlAvailBooths.appendChild( node);\r\n }\r\n listChanged = false;\r\n //return htmlAvailBooths; ???\r\n elem.elementById( \"trcA\").appendChild( htmlAvailBooths);\r\n }\r\n \r\n function findNextSize( bth) {\r\n var i = 0;\r\n var len = availSizes.length;\r\n var a = parseFloat( bth.areaM);\r\n var h = 0;\r\n var w = 0;\r\n var idx = -1;\r\n \r\n if( bth.dimM !== null && bth.dimM !== \"\") {\r\n h = parseFloat( bth.dimM);\r\n if( bth.dimM !== null && bth.dimM !== undefined ) {\r\n idx = bth.dimM.indexOf( \"x\");\r\n if( idx !== -1) {\r\n w = parseFloat( bth.dimM.substr( idx));\r\n }\r\n else {\r\n console.log( \"ERROR --- parsing: \" + bth.dimM);\r\n }\r\n }\r\n else {\r\n console.log( \"Booth \" + bth.number + \" dimensions undefined \" + bth.dimM);\r\n }\r\n }\r\n \r\n var rtn = {\r\n index: len,\r\n a: a,\r\n h: h,\r\n w: w\r\n };\r\n \r\n for( i = 0; i < len; i++) {\r\n if( parseFloat(availSizes[i].area) >= a) {\r\n if( parseFloat(availSizes[i].area) > a || \r\n parseFloat(availSizes[i].ht) > h || \r\n parseFloat(availSizes[i].width) > w) {\r\n rtn.index = i;\r\n break;\r\n }\r\n }\r\n }\r\n return rtn;\r\n }\r\n \r\n function isInAvailSizes( label) {\r\n var i = 0;\r\n var len = availSizes.length;\r\n \r\n for( i = 0; i < len; i++) {\r\n if( availSizes[i].lblM === label) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n }\r\n \r\n function toggleAvailableLabels( units) {\r\n var element = elem.elementById(\"trA\");\r\n if( element !== null) {\r\n var node = element.childNodes[0];\r\n var span = null;\r\n var len = availSizes.length;\r\n var i;\r\n\r\n for( i = 0; i < len; i++) {\r\n node.getElementsByTagName( \"span\")[1].textContent = (units === \"F\") ?\r\n availSizes[i].lblF : availSizes[i].lblM;\r\n node = node.nextSibling;\r\n }\r\n }\r\n }\r\n \r\n function getAvailArray() {\r\n return arAvailableBooths;\r\n }\r\n\r\n return {\r\n getListElements: getListElements,\r\n getAvailBoothArray: getAvailArray,\r\n listChanged: listChanged,\r\n toggleAvailableLabels: toggleAvailableLabels\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n\r\n\r\nexpocadfx.setupLanguageSelection = function( menu) {\r\n\t'use strict';\r\n\tvar config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n\tvar localStorage = expocadfx.localStorage;\r\n var txt = expocadfx.txt;\r\n var elem = expocadfx.element;\r\n\t\r\n\tvar doc = document;\r\n\t\r\n\tvar span = null;\r\n\t\r\n\tfunction saveLanguagePreference( evt) {\r\n\t\tvar ls = localStorage.storageAvailable( \"localStorage\");\r\n\t\tif( ls) {\r\n\t\t\tls.setItem( \"languagePreference\", config.languages[evt.target.value].file);\r\n\t\t}\r\n\t\tlocation.reload();\r\n\t}\r\n \r\n\r\n\tvar menuItem = doc.createElement( \"div\");\r\n\tmenuItem.style.lineHeight = \"1.2em\";\r\n\tmenuItem.style.marginTop = \"6px\";\r\n\tmenuItem.style.marginBottom = \"4px\";\r\n\tmenuItem.textContent = txt.LANGUAGE_PREFERENCE;\r\n\tmenu.appendChild( menuItem);\r\n\r\n\tmenuItem = doc.createElement( \"div\");\r\n\tmenuItem.style.fontSize = \"14px\";\r\n\tmenuItem.style.lineHeight = \"1.2em\";\r\n\tmenuItem.style.marginLeft = \"10px\";\r\n\tspan = doc.createElement( \"span\");\r\n\t//span.className = \"icon icon-reload\";\r\n\t//span.textContent = txt.REFRESH_REQUIRED;\r\n\tmenuItem.appendChild( span);\r\n\tmenu.appendChild( menuItem);\r\n\r\n\tmenuItem = doc.createElement( \"select\");\r\n\tmenuItem.setAttribute( \"id\", \"userlanguage\");\r\n\tmenu.appendChild( menuItem);\r\n\t\r\n\tconfig.languages.forEach( function( language, index) {\r\n\t\tmenuItem.appendChild( elem.filterItem( index, language.name, \r\n\t\t\t\t\t\t\t\t\t\t\t\t( language.file === data.languagePreference) ));\r\n\t\r\n\t});\r\n\t\r\n\tmenuItem.addEventListener( \"change\", saveLanguagePreference);\r\n\t\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n\r\n\r\nexpocadfx.setupFloorPlanToolbar = function() {\r\n\t'use strict';\r\n var data = expocadfx.fxData;\r\n var fxStyle = expocadfx.styles;\r\n var txt = expocadfx.txt;\r\n var elem = expocadfx.element;\r\n\tvar elemById = elem.elementById;\r\n\tvar config = expocadfx.config;\r\n\tvar bgColorNone = 'none';\r\n\t\r\n\t\r\n\tvar bgColor = fxStyle.fpToolbar.clrBg !== \"\" ?\r\n\t\t\t\tfxStyle.fpToolbar.clrBg : fxStyle.floorplan.clrBg !== \"\" ?\r\n\t\t\t\tfxStyle.floorplan.clrBg : fxStyle.mainHeader.clrBg;\r\n\r\n\tvar txtColor = fxStyle.fpToolbar.clrText !== \"\" ?\r\n\t\t\t\tfxStyle.fpToolbar.clrText : fxStyle.floorplan.clrText !== \"\" ?\r\n\t\t\t\tfxStyle.floorplan.clrText : fxStyle.mainHeader.clrText;\r\n\t//changing Sales Menu to toolbar color\r\n\telemById( \"control1\").appendChild( \r\n\t\t\telem.makeIconButton( \"tb4\", txt.CLEAR_ALL, bgColor, txtColor, elem.ICON_PIN, \r\n\t\t\t\t\t\t\t\t\t\tfalse, fxStyle.fpToolbar.alpha));\r\n\tif(config.salesMode === \"none\" && config.elvis === false && config.is3d === true && !data.smallLayout){\t\t\t\t\r\n\t\telemById(\"control1\").appendChild(\r\n\t\t\telem.makeIconButton(\"show3d\", txt.SHOW_3D, bgColorNone, txtColor, elem.ICON_NONE,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse, fxStyle.fpToolbar.alpha));\r\n\t\tif(config.openIn3D){\r\n\t\t\tdocument.getElementById(\"show3dLabel\").classList.add(\"icon-check\");\r\n\t\t\tvar ThreeDEl = elemById('show3d');\r\n\t\t\tThreeDEl.style.color = bgColor\r\n\t\t\t}\r\n\t\t}\r\n\telemById( \"control1\").appendChild( \r\n\t\t\telem.makeIconButton( \"tb5\", txt.FIT, bgColor, txtColor, elem.ICON_FIT, \r\n\t\t\t\t\t\t\t\ttrue, fxStyle.fpToolbar.alpha));\r\n\t\t// no plus and minus buttons on phones and tablets\r\n\tif( data.device !== \"ios\" && data.device !== \"A\" && !data.smallLayout) {\r\n\t\telemById( \"control1\").appendChild( \r\n\t\t\telem.makeIconButton( \"tb3\", \"\", bgColor, txtColor, elem.ICON_MINUS, \r\n\t\t\t\t\t\t\t\ttrue, fxStyle.fpToolbar.alpha));\r\n\t\telemById( \"control1\").appendChild( \r\n\t\t\telem.makeIconButton( \"tb2\", \"\", bgColor, txtColor, elem.ICON_PLUS, \r\n\t\t\t\t\t\t\t\ttrue, fxStyle.fpToolbar.alpha));\r\n\t}\r\n\tif ( config.locationAvailable && data.device != \"other\") {\r\n\t\telemById( \"control1\").appendChild( \r\n\t\t\telem.makeIconButton( \"tb6\", \"\", \"#dcdcdc\", txtColor, elem.ICON_LOCATION, \r\n\t\t\t\t\t\t\t\ttrue, fxStyle.fpToolbar.alpha));\r\n\t}\r\n};\r\n","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n\r\n\r\nexpocadfx.setupMiniMap = function() {\r\n\t'use strict';\r\n\tvar config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n\tvar Dialog = expocadfx.Dialog;\r\n var elemById = expocadfx.element.elementById;\r\n var fxStyle = expocadfx.styles;\r\n var txt = expocadfx.txt;\r\n\tvar util = expocadfx.util;\r\n\t\r\n\tvar dialogParams = {};\r\n\t\r\n\tfunction mapMovedHandler() {\r\n\t\tdata.miniMap.window.removeEventListener( \"Dialog_Moved\", mapMovedHandler);\r\n\t\tdata.userMovedMap = true;\r\n }\r\n\t\r\n\t\r\n\tdialogParams.title = txt.MINI_MAP;\r\n\tdialogParams.headerBackgroudColor = fxStyle.windowHeader.clrBg !== \"\" ? \r\n\t\tfxStyle.windowHeader.clrBg : fxStyle.mainHeader.clrBg;\r\n\tdialogParams.headerBackground = (fxStyle.windowHeader.gradBg !== \"\") ? \r\n\t\tfxStyle.windowHeader.gradBg : (fxStyle.windowHeader.clrBg === \"\") ?\r\n\t\t\tfxStyle.mainHeader.gradBg : \"\";\r\n\tdialogParams.headerTextColor = fxStyle.windowHeader.clrText !== \"\" ? \r\n\t\tfxStyle.windowHeader.clrText : fxStyle.mainHeader.clrText;\r\n\tdialogParams.cancelLabel = null;\r\n\tdialogParams.width = config.MINI_MAP_WIDTH;\r\n\tdialogParams.height = config.MINI_MAP_HEIGHT;\r\n\tdialogParams.posX = data.viewportWidth - dialogParams.width - 4;\r\n\tdialogParams.posY = data.viewportHeight - data.headerHeight -\r\n\t\t\t\t\t\telemById( \"ftr\").offsetHeight - dialogParams.height - 4; \r\n\tdialogParams.draggable = true;\r\n\r\n\tdata.miniMap = new Dialog( dialogParams, elemById(\"appContent\"), elemById( \"mask\"));\r\n\tdata.miniMap.window.setAttribute( \"id\", \"minimap\");\r\n\tutil.removeClass( data.miniMap.content, \"scrollbar\");\r\n\tdata.miniMap.content.style.overflow = \"hidden\";\r\n\tdata.miniMap.window.style.display = \"none\";\r\n\t\t//user moved window, resize won't reposition it unless out of window\r\n\tdata.miniMap.window.addEventListener( \"Dialog_Moved\", mapMovedHandler);\r\n};\r\n","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n\r\n\r\nexpocadfx.setupHeaderFooter = function() {\r\n\t'use strict';\r\n var data = expocadfx.fxData;\r\n var config = expocadfx.config;\r\n var fxStyle = expocadfx.styles;\r\n var txt = expocadfx.txt;\r\n var elem = expocadfx.element;\r\n var elemById = elem.elementById;\r\n \r\n var doc = document;\r\n var clrMainBg = \"\";\r\n var clrMainText = \"\";\r\n \r\n\tvar bars = null;\r\n\tvar i = 0;\r\n\tvar logo = null;\r\n\tvar headerUsed = false;\r\n\tvar clrs = null;\r\n\tvar div = null;\r\n\tvar viewTitleOffset = 10;\r\n\r\n\telemById( \"load\").textContent = txt.LOADING;\r\n\r\n\tclrMainBg = fxStyle.mainHeader.clrBg;\r\n\tclrMainText = fxStyle.mainHeader.clrText;\r\n\t\t// if no color provided for header text, pick one that will show up\r\n\tif( clrMainText ===\"\") { // select a contrasting color\r\n\t\tclrs = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(clrMainBg);\r\n\t\tif( 0.299 * parseInt(clrs[1], 16) + \r\n\t\t\t0.587 * parseInt(clrs[2], 16) + 0.114 * parseInt(clrs[3], 16) > 180) {\r\n\r\n\t\t\tclrMainText = \"#000000\";\r\n\t\t}\r\n\t\telse {\r\n\t\t\tclrMainText = \"#ffffff\";\r\n\t\t}\r\n\t\tfxStyle.mainHeader.clrText = clrMainText;\r\n\t}\r\n\r\n\tif( config.hdrLogoSource !== \"\") {\r\n\t\tlogo = elemById( \"logo\");\r\n\t\tlogo.alt = \"Event Logo\";\r\n\t\tlogo.src = config.hdrLogoSource;\r\n\t\t// Not sure why Jim added this? -ANH 12/6/2018\r\n\t\t//logo.style.maxWidth = data.viewportWidth;\r\n\r\n\t\tif( config.urlFacilityView !== \"\") {\r\n\t\t\tif( config.urlFacilityView.substr( 0, 4) !== \"http\") {\r\n\t\t\t\tconfig.urlFacilityView = \"http://\" + config.urlFacilityView;\r\n\t\t\t}\r\n\t\t\telemById( \"logoLink\").setAttribute( \"href\", config.urlFacilityView);\r\n\t\t\telemById( \"logoLink\").setAttribute( \"target\", \"_blank\");\r\n\t\t}\r\n\t\theaderUsed = true;\r\n\t}\r\n\telse {\r\n\t\telemById( \"mainHeader\").removeChild( elemById( \"logodiv\"));\r\n\t}\r\n\telemById( \"mainHeader\").style.backgroundColor = clrMainBg;\r\n\tif( fxStyle.mainHeader.gradBg !== \"\") {\r\n\t\telemById( \"mainHeader\").style.background = fxStyle.mainHeader.gradBg;\r\n\t}\r\n\r\n\telemById( \"mainHeader\").style.color = clrMainText;\r\n\r\n\r\n\telemById( \"btnMenu\").style.backgroundColor = fxStyle.windowHeader.clrBg !== \"\" ?\r\n\t\t\t\t\tfxStyle.windowHeader.clrBg : clrMainBg;\r\n\telemById( \"btnMenu\").style.color = fxStyle.windowHeader.clrText !== \"\" ?\r\n\t\t\t\t\tfxStyle.windowHeader.clrText : clrMainText;\r\n\r\n\tif (!config.isXML && !config.noNav && config.exhibitorDirectory) {\r\n\t\tdocument.body.classList.add('directoryFloorMenu');\r\n\t}\r\n\r\n\tbars = elemById( \"menuSymbol\").getElementsByTagName( \"div\");\r\n\r\n\tfor( i = 0; i < 3; i++) {\r\n\t\tbars[i].style.backgroundColor = elemById( \"btnMenu\").style.color;\r\n\t}\r\n\r\n\tif( config.eventTitle !== \"\") {\r\n\t\tif( config.eventTitleLocation.toLowerCase() === \"header\" && !config.exhibitorDirectory) {\r\n\t\t\telemById( \"etitle\").textContent = config.eventTitle;\r\n\t\t\tif( config.clrEventTitleText !== \"\") {\r\n\t\t\t\telemById( \"etitle\").style.color = config.clrEventTitleText;\r\n\t\t\t}\r\n\t\t\telemById( \"etitle\").style.fontSize = config.eventTitleTextSize + \"px\";\r\n\t\t\theaderUsed = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\telemById( \"etitle\").textContent = \"\";\r\n\t\t\tif( config.eventTitleLocation.toLowerCase() === \"drawing\") {\r\n\t\t\t\tdiv = doc.createElement( \"div\");\r\n\t\t\t\telemById( \"floorplan\").appendChild( div);\r\n\t\t\t\tdiv.className = \"drawingEventTitle\";\r\n\t\t\t\tdiv.textContent = config.eventTitle;\r\n\t\t\t\tviewTitleOffset = parseInt( config.eventTitleTextSize, 10) + 14;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif( config.hasMultipleViews) {\r\n\t\tif( config.viewTitleLocation.toLowerCase() === \"header\" && !config.exhibitorDirectory) {\r\n\t\t\tif( config.eventTitleLocation.toLowerCase() !== \"header\") {\r\n\t\t\t\telemById( \"etitle\").textContent = config.viewTitle;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\telemById( \"vtitle\").textContent = config.viewTitle;\r\n\r\n\t\t\t}\r\n\t\t\tif( config.clrViewTitleText !== \"\") {\r\n\t\t\t\telemById( \"vtitle\").style.color = config.clrViewTitleText;\r\n\t\t\t}\r\n\t\t\telemById( \"vtitle\").style.fontSize = config.viewTitleTextSize + \"px\";\r\n\t\t\theaderUsed = true;\r\n\t\t}\r\n\t\telse if( config.viewTitleLocation.toLowerCase() === \"drawing\") {\r\n\t\t\tdiv = doc.createElement( \"div\");\r\n\t\t\telemById( \"floorplan\").appendChild( div);\r\n\t\t\tdiv.style.position = \"absolute\";\r\n\t\t\tdiv.style.top = viewTitleOffset + \"px\";\r\n\t\t\tdiv.style.width = \"100%\";\r\n\t\t\tdiv.style.textAlign = \"center\";\r\n\t\t\tdiv.style.fontSize = config.viewTitleTextSize + \"px\";\r\n\t\t\tdiv.style.color = config.clrViewTitleText;\r\n\t\t\tdiv.style.zIndex = \"1\";\r\n\t\t\tdiv.textContent = config.viewTitle;\r\n\t\t}\r\n\t}\r\n\telse {\r\n\t\telemById( \"vtitle\").textContent = \"\";\r\n\t}\r\n\r\n\t// For now, disable header if exhibitor directory / directoryNav is enabled\r\n\t// Try to find way to merge header into directoryNav\r\n\tif(!config.noNav && config.exhibitorDirectory){ \r\n\t\telemById( \"mainHeader\").style.display = \"none\";\r\n\t}\r\n\r\n\tif( !headerUsed && !config.bSocialButtons) {\r\n\t\telemById( \"mainHeader\").style.display = \"none\";\r\n\t}\r\n\r\n\telemById( \"ftr\").style.backgroundColor = fxStyle.footer.clrBg;\r\n\tif( fxStyle.footer.gradBg !== \"\") {\r\n\t\telemById( \"ftr\").style.background = fxStyle.footer.gradBg;\r\n\t}\r\n\telemById( \"ftr\").style.color = fxStyle.footer.clrText !== \"\" ? \r\n\t\tfxStyle.footer.clrText : fxStyle.mainHeader.clrText;\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n\r\nexpocadfx.openEmail = function( body) {\r\n\t'use strict';\r\n\tvar config = expocadfx.config;\r\n\tvar data = expocadfx.fxData;\r\n\tvar fxStyle = expocadfx.styles;\r\n\tvar txt = expocadfx.txt;\r\n\tvar LinkPreview = expocadfx.LinkPreview;\r\n\t\r\n//\tvar winLinkPreview = null;\r\n\tvar subject = encodeURIComponent( (config.eventTitle !== \"\") ? config.eventTitle:\" \");\r\n\t\r\n\tif( body && config.bPreviewLink) {\r\n\t\tif( data.linkPreviewWindow === null) {\r\n\t\t\tdata.linkPreviewWindow = new LinkPreview( txt, fxStyle);\r\n\t\t}\r\n\r\n\t\tdata.linkPreviewWindow.content.textContent = body;\r\n\t\tdata.linkPreviewWindow.window.style.display = \"block\";\r\n\t}\r\n\telse {\r\n\t\tvar body = encodeURIComponent(body);\r\n\t\twindow.location.href = \"mailto:\" + \" \" + \"?subject=\" + subject + \"&body=\" + body;\r\n\t}\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n/* global expocadfx PDFDocument blobStream */\r\n\r\n\r\nexpocadfx.pdfOutput = function( failedCallback) {\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n\tvar load = expocadfx.loadScript;\r\n\tvar pdfDoc = null;\r\n\tvar callback = failedCallback;\r\n\t\r\n\tvar pendingOverlays = data.arOverlays.length;\r\n\tvar overlay = null;\r\n\r\n\tvar pAdjX = 0;\r\n\tvar pAdjY = 0;\r\n\tvar pOrientation = \"landscape\";\t\r\n\tvar pdfScale = 0.045833;\r\n\r\n\t// Set these based on print layout values generated from EXPOCAD when creating the FX files\r\n\tif(!config.hasMultipleViews){\r\n\r\n\t\tpAdjX = parseInt(config.printLayoutAdjustmentX);\r\n\t\tpAdjY = parseInt(config.printLayoutAdjustmentY);\r\n\t\t\r\n\t\t// if(!config.ISXML){\r\n\t\t// \tpAdjX = 3137;\r\n\t\t// \tpAdjY = 1180;\r\n\t\t// }\r\n\r\n\t\tpdfScale = config.printLayoutScale;\r\n\r\n\t\tif (config.printLayoutOrientation == 1){\r\n\t\t\tpOrientation = \"portrait\";\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tif( typeof( window.blobStream) === \"undefined\") {\r\n\t\t\r\n\t\tvar path = \"../util/blob-stream-min.js\";\r\n\r\n\t\tif(config.isXML){\r\n\t\t\tpath = \"blob-stream-min.js\";\r\n\t\t}\r\n\r\n\t\tload( path, blobstreamCallback, true);\r\n\t}\r\n\telse {\r\n\t\tcheckPdfKit();\r\n\t}\r\n\t\r\n\tfunction blobstreamCallback( success) {\r\n\t\tif( success) {\r\n\t\t\tcheckPdfKit();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdata.pdfOk = false;\r\n\t\t\tcallback( true);\t\t// true for full floor plan\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction checkPdfKit() {\r\n\t\tif( typeof( window.PDFDocument) === \"undefined\") {\r\n\t\t\tif(config.isXML){\r\n\t\t\t\tload( \"pdfkit-min.js\", pdfkitCallback, true);\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tload( \"../util/pdfkit-min.js\", pdfkitCallback, true);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tmakePDF();\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction pdfkitCallback( success) {\r\n\t\tif( success) {\r\n\t\t\t\r\n\t\t\tPDFDocument.prototype.arc = function(x, y, radius, startAngle, endAngle, anticlockwise) {\r\n\t\t\t\tvar startX = Number(x) + Number(radius * Math.round( Math.cos(startAngle)));\r\n\t\t\t\tvar startY = Number(y) + Number(radius * Math.round( Math.sin(startAngle)));\r\n\r\n\t\t\t\tvar endX = Number(x) + radius * Math.round( Math.cos(endAngle));\r\n\t\t\t\tvar endY = Number(y) + radius * Math.round( Math.sin(endAngle));\r\n\t\t\t\t\r\n\t\t\t\tvar arcAngle = endAngle - startAngle;\r\n\t\t\t\tvar largeArc = (arcAngle > Math.PI) ^ (startAngle > endAngle) ^ anticlockwise;\r\n\t\t\t\tvar path =\r\n\t\t\t\t\t\"M \"+startX+\",\"+startY+\r\n\t\t\t\t\t\" A \"+radius+\",\"+radius+\r\n\t\t\t\t\t\" 0 \"+(largeArc?\"1\":\"0\")+\",\"+(anticlockwise?\"0\":\"1\")+\r\n\t\t\t\t\t\" \"+endX+\",\"+endY;\r\n\r\n\t\t\t\treturn this.path(path);\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\tmakePDF();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdata.pdfOk = false;\r\n\t\t\tcallback( true);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction makePDF() {\r\n\t\tif(config.isXML){\r\n\t\t\tvar src = (config.hasMultipleViews && config.hasFloorPlan) ?\r\n\t\t\tconfig.viewName + \".jpg\" : config.eventName + \".jpg\";\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvar src = (config.hasMultipleViews && config.hasFloorPlan) ?\r\n\t\t\tconfig.viewName + \".png\" : config.eventName + \".png\";\r\n\t\t}\r\n\r\n\t\tpdfDoc = new PDFDocument( { layout: pOrientation});\r\n\r\n\r\n\t\tvar stream = pdfDoc.pipe( blobStream());\r\n\r\n\t\tstream.on('finish', function() {\r\n\t\t\tif( window.navigator.msSaveOrOpenBlob) {\r\n\t\t\t\tvar blobObj = stream.toBlob('application/pdf');\r\n\t\t\t\twindow.navigator.msSaveOrOpenBlob( blobObj);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twindow.open( stream.toBlobURL('application/pdf'));\r\n\t\t\t}\r\n\t\t\tstream = null;\r\n\t\t});\r\n\r\n\t\t//pdfDoc.scale( 0.045833);\r\n\r\n\t\tpdfDoc.scale(pdfScale);\r\n\r\n\t\tsendRequest( src, loadedBuilding);\r\n\t}\r\n \r\n\tfunction loadedBuilding( req) {\r\n\t\t\t\t\r\n\t\t//pdfDoc.image( req.response, 0, 0, {width: config.DRAWING_WIDTH,height: config.DRAWING_HEIGHT});\r\n\t\tpdfDoc.image( req.response, 0 - pAdjX, 0 - pAdjY, {width: config.DRAWING_WIDTH,height: config.DRAWING_HEIGHT});\r\n\t\t\r\n\t\t// technical layers ??\r\n\t\tdata.arTechLayers.forEach( function( group) {\r\n\t\t\tif( group.visible) {\r\n\t\t\t\tgroup.graphics.forEach( function( graphic) {\r\n\t\t\t\t\tif( graphic.type === \"F\") {\r\n\t\t\t\t\t\tpdfBooth( graphic);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if( graphic.type === \"C\") {\r\n\t\t\t\t\t\tpdfDoc.circle( graphic.x - pAdjX, graphic.y - pAdjY, Number(graphic.radius))\r\n\t\t\t\t\t\t\t.lineWidth( graphic.lineWidth)\r\n\t\t\t\t\t\t\t.strokeColor(graphic.strokeColor)\r\n\t\t\t\t\t\t\t.stroke();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpdfDoc.strokeColor( graphic.strokeColor);\r\n\t\t\t\t\t\tpdfDoc.lineWidth( graphic.lineWidth);\r\n\r\n\t\t\t\t\t\tpdfDoc.arc( graphic.x - pAdjX, graphic.y - pAdjY, graphic.radius,\r\n\t\t\t\t\t\t\t\t\t\t\tgraphic.startAngle, graphic.endAngle,\r\n\t\t\t\t\t\t\t\t\t\t\tgraphic.anticlockwise).stroke();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tgroup.txt.forEach( function( txt) {\r\n\t\t\t\t\tpdfText( txt);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tdata.buildingText.forEach( function( txt) {\r\n\t\t\tpdfText( txt);\r\n\t\t});\r\n\t\tif( data.addedGraphics) {\r\n\t\t\tdata.addedGraphics.graphics.forEach( function( graphic) {\r\n\t\t\t\tif( graphic.type === \"C\") {\r\n\t\t\t\t\tpdfDoc.circle( graphic.x - pAdjX, graphic.y - pAdjY, Number(graphic.radius))\r\n\t\t\t\t\t\t.lineWidth( graphic.lineWidth)\r\n\t\t\t\t\t\t.strokeColor( graphic.strokeColor)\r\n\t\t\t\t\t\t.stroke();\r\n\t\t\t\t}\r\n\t\t\t\telse if( graphic.type === \"A\") {\r\n\t\t\t\t\tpdfDoc.save();\r\n\t\t\t\t\tpdfDoc.strokeColor( graphic.strokeColor);\r\n\t\t\t\t\tpdfDoc.lineWidth( graphic.lineWidth);\r\n\r\n\t\t\t\t\tpdfDoc.arc( graphic.x - pAdjX, graphic.y - pAdjY, graphic.radius, graphic.startAngle, graphic.endAngle, graphic.anticlockwise).stroke();\r\n\t\t\t\t\tpdfDoc.restore();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tpdfBooth( graphic);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tdata.addedGraphics.txt.forEach( function( txt) {\r\n\t\t\t\tpdfText( txt);\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\tdata.pavilions.forEach( function( pavilion) {\r\n\t\t\tpdfBooth( pavilion);\r\n\t\t});\r\n\t\t\r\n\t\tdata.boothGraphics.forEach( function( bth) {\r\n\t\t\tpdfBooth( bth);\r\n\t\t});\r\n\t\t\t// ADD OVERLAYS before booth and pavilion text\r\n\t\tif( data.arOverlays.length > 0) {\r\n\t\t\tdocument.addEventListener( \"PDF_IMAGE_D0NE\", imageDone);\r\n\t\t\taddAnOverlay();\r\n\t\t}\r\n\t\telse {\r\n\t\t\taddText();\r\n\t\t}\r\n\t}\r\n\t\r\n\t\t// Add booth text after overlays\r\n\tfunction addText() {\r\n\t\t// need favorites and selected first !\r\n\t\t\r\n\t\tdata.favoriteMarks2d.forEach( function( mark) {\r\n//\t\t\tif( mark.text) {\r\n\t\t\t\tvar tmpText = mark.text;\r\n\t\t\t\t//////// attempt to get some special character for 'fav' pdf splits 16-bit code into 2 8-bit\r\n//\t\t\t\tpdfDoc.save();\r\n//\t\t\t\tpdfDoc.font('Symbol');\r\n\t\t\t\tmark.text = \"FAV\";\r\n\t\t\t\tpdfText( mark);\r\n//\t\t\t\tconsole.log( mark.text);\r\n\t\t\t\tpdfDoc.restore();\r\n\t\t\t\tmark.text = tmpText;\r\n\t\t\t\t//\"FAV\"; // String.fromCharCode( 0x263C);\r\n\t\t\t\t// example from mozilla String.fromCodePoint(9731, 9733, 9842, 0x2F804); works in console!\r\n\t\t\t\t// String.fromCodePoint( 0x2014) String.fromCharCode( 0x2665); // \"♥\"; \r\n//\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tdata.selected2d.forEach( function (selected) {\r\n\t\t\tpdfDoc.circle( selected.x - pAdjX, selected.y - pAdjY, selected.radius)\r\n\t\t\t\t.lineWidth(16)\r\n\t\t\t\t.strokeColor( config.clrSelected)\r\n\t\t\t\t.stroke();\r\n\t\t});\r\n\t\t\r\n\t\tdata.boothGraphics.forEach( function( bth) {\r\n\t\t\tif( bth.text.length > 0) {\r\n\t\t\t\tbth.text.forEach( function( txt) {\r\n\t\t\t\t\tpdfText( txt);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif( bth.dimensionText.length > 0 && config.showDimensions == true) {\r\n\t\t\t\tbth.dimensionText.forEach( function( txt) {\r\n\t\t\t\t\tpdfText( txt);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tdata.pavilionLabels.forEach( function( txt) {\r\n\t\t\tpdfText( txt);\r\n\t\t});\r\n\t\t\r\n\t\tdata.floorPlanText.forEach( function( txt) {\r\n\t\t\tpdfText( txt);\r\n\t\t});\r\n\t\tdocument.removeEventListener( \"PDF_IMAGE_D0NE\", imageDone);\r\n\t\tpdfDoc.end();\r\n\t\tpdfDoc = null;\r\n\t}\r\n\t\t\r\n\tfunction addAnOverlay() {\r\n\t\tif( pendingOverlays > 0) {\r\n\t\t\tpendingOverlays -= 1;\r\n\t\t\toverlay = data.arOverlays[ pendingOverlays];\r\n\t\t\t\r\n\t\t\tif( overlay.ready) {\r\n\t\t\t\toverlay.req = new XMLHttpRequest();\r\n\t\t\t\toverlay.req.onreadystatechange = function() {\r\n\t\t\t\t\tif( this.readyState === 4 && this.status === 200) {\r\n\t\t\t\t\t\tloadedOverlayFile();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\toverlay.req.open( \"GET\", overlay.source);\r\n\t\t\t\toverlay.req.responseType = \"arraybuffer\";\r\n\t\t\t\toverlay.req.send();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif( pendingOverlays === 0) {\r\n\t\t\t\t\taddText();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\taddAnOverlay();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction loadedOverlayFile() {\r\n\t\tpdfDoc.image( overlay.req.response, overlay.x - pAdjX, overlay.y - pAdjY, {width: overlay.w,height: overlay.h});\r\n\t\toverlay.req = null;\r\n\t\toverlay = null;\r\n\t\t\r\n//\t\tsetTimeout( overlayDelay, 300);\r\n\t}\r\n\t\r\n\tfunction overlayDelay() {\r\n\t\tif( pendingOverlays === 0) {\r\n\t\t\taddText();\r\n\t\t}\r\n\t\telse {\r\n\t\t\taddAnOverlay();\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction imageDone() {\r\n\t\tsetTimeout( overlayDelay, 1);\t\t// make sure pdfKit has finished\r\n\t}\r\n\t\r\n\tfunction pdfBooth( bth) {\r\n\t\tvar len = 0;\r\n\t\tvar i = 0;\r\n\t\t\r\n\t\tif( !bth.path || bth.path.length === 0) {\r\n//\t\t\tconsole.log( \"NO PATH FOR BOOTH \" + bth.number + \" type: \" + bth.type + \" status: \" +\r\n//\t\t\t\t\t data.booths[ bth.index].status);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlen = bth.path.length;\r\n\t\t\r\n\t\tpdfDoc.moveTo( bth.path[0].x - pAdjX, bth.path[0].y - pAdjY);\r\n\t\t\r\n\t\tfor( i = 1; i < len; i++) {\r\n\t\t\tpdfDoc.lineTo( bth.path[i].x - pAdjX, bth.path[i].y - pAdjY);\r\n\t\t}\r\n\t\tpdfDoc.lineTo( bth.path[0].x - pAdjX, bth.path[0].y - pAdjY);\r\n\t\tpdfDoc.strokeColor(bth.strokeColor);\r\n\t\tpdfDoc.fillColor(bth.fillColor);\r\n\t\tpdfDoc.fillOpacity( bth.alpha);\r\n\t\t\r\n\t\tif( bth.type === \"T\") {\r\n\t\t\tpdfDoc.fillAndStroke();\r\n\t\t}\r\n\t\telse if( bth.type === \"F\") {\r\n\t\t\tpdfDoc.stroke();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tpdfDoc.fill();\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction pdfText( txt) {\r\n\t\tvar strLen = 0;\r\n\t\tpdfDoc.save();\r\n\t\t\r\n\t\tpdfDoc.fontSize( Math.min( txt.fontSize, 630));\r\n\t\tstrLen = pdfDoc.widthOfString( txt.text);\r\n\t\t\r\n\t\tvar offX = -0.5 * strLen;\r\n\t\tvar offY = -0.3 * txt.fontSize;\r\n\t\t\r\n\t\tpdfDoc.fillColor( txt.fill);\r\n\t\tpdfDoc.translate( txt.x - pAdjX, txt.y - pAdjY);\r\n\t\tif( txt.dRot !== 0) {\r\n\t\t\tpdfDoc.rotate( txt.dRot);\r\n\t\t}\r\n\t\tvar tw = 100 + strLen;\r\n\t\tpdfDoc.text( txt.text, offX, offY, { width:tw});\r\n\t\tpdfDoc.translate( 0, 0);\r\n\t\t\r\n\t\tpdfDoc.restore();\r\n\t}\r\n \r\n function sendRequest( reqString, callback) {\t// requestMethod, responseType\r\n var req = new XMLHttpRequest();\r\n req.open( 'GET', reqString, true);\r\n req.onload = function() {\r\n if( req.readyState === 4 && req.status === 200) {\r\n callback( this);\r\n }\r\n };\r\n\t\t\r\n req.responseType = 'arraybuffer';\r\n req.send();\r\n }\r\n\t\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.overlays = function() {\r\n\tvar Banner = expocadfx.adbanner;\r\n\tvar config = expocadfx.config;\r\n\tvar data = expocadfx.fxData;\r\n\tvar FxEvent = expocadfx.fxevent;\r\n\tvar numberPattern = /\\d+/g;\r\n\r\n\tvar doc = document;\r\n\t\r\n\tvar overlayCount = 0;\r\n\tvar banner = null;\r\n\t\r\n\tfunction saveOverlays( xml, jsonObject) {\r\n var overlays;\r\n var sponsors;\r\n var sponsorCount = 0;\r\n if( xml !== null) {\r\n\t\t\t\t// add overlays to floor plan\r\n overlays = xml.getElementsByTagName( \"overlay\");\r\n \r\n overlayCount = overlays.length;\r\n var i = 0;\r\n \r\n for( i = 0; i < overlayCount; i++) {\r\n \r\n data.arOverlays[i] = {\r\n imgElement: null,\r\n index: i,\r\n source: overlays[i].getAttribute( \"img\"),\r\n x: parseInt( overlays[i].getAttribute( \"left\"), 10) * config.MULTIPLIER,\r\n y: parseInt( overlays[i].getAttribute( \"top\"), 10) * config.MULTIPLIER,\r\n rot: overlays[i].getAttribute( \"rot\") * (Math.PI/180),\r\n minX: 0,\r\n minY: 0,\r\n maxX: config.DRAWING_WIDTH,\r\n maxY: config.DRAWING_HEIGHT,\r\n path: [],\r\n zoomTo: overlays[i].getAttribute( \"boothNum\"),\r\n navTo: overlays[i].getAttribute( \"url\"),\r\n toolTip: overlays[i].getAttribute( \"tooltip\"),\r\n shadow: overlays[i].getAttribute( \"shadow\"),\r\n\t\t\t\t\timageData: null,\r\n ready: false\r\n };\r\n \r\n data.arOverlays[i].imgElement = doc.createElement( \"img\");\r\n data.arOverlays[i].imgElement.setAttribute( \"data-index\", i);\r\n \r\n data.arOverlays[i].imgElement.src = data.arOverlays[i].source;\r\n\r\n if ( overlays[i].getAttribute(\"w\") != undefined){\r\n data.arOverlays[i].w = parseInt(overlays[i].getAttribute( \"w\").match(numberPattern));\r\n data.arOverlays[i].h = parseInt(overlays[i].getAttribute( \"h\").match(numberPattern));\r\n\r\n data.arOverlays[i].imgElement.addEventListener( \"load\", overlayLoaded);\r\n }\r\n else{\r\n data.arOverlays[i].imgElement.addEventListener( \"load\", oldOverlayLoaded);\r\n }\r\n \r\n data.arOverlays[i].imgElement.addEventListener( \"error\", overlayError);\r\n }\r\n // create ad banner ( but don't call it \"ad\" in html or css or AdBlocker will get you\r\n sponsors = xml.getElementsByTagName( \"sponsor\"); // would get header and footer\r\n \r\n if( sponsors && sponsors.length > 0) {\r\n sponsorCount = sponsors.length;\r\n banner = new Banner();\r\n \r\n for( i = 0; i < sponsorCount; i++) {\r\n\r\n banner.arAds[i] = {\r\n imgElement: null,\r\n index: i,\r\n width: 0,\r\n source: sponsors[i].getAttribute( \"img\"),\r\n zoomTo: sponsors[i].getAttribute( \"boothNum\"),\r\n navTo: sponsors[i].getAttribute( \"url\"),\r\n toolTip: sponsors[i].getAttribute( \"tooltip\"),\r\n failed: false\r\n };\r\n }\r\n banner.setAdInterval( xml.getElementsByTagName( \"footerAds\")[0].getAttribute( \"interval\"));\r\n data.hasSpns = true;\r\n banner.initAds();\r\n document.dispatchEvent( new expocadfx.fxevent( \"Banner_Added\", banner));\r\n }\r\n }\r\n\r\n if( jsonObject != null) {\r\n // add overlays to floor plan\r\n overlays = jsonObject.eventOverlays;\r\n \r\n overlayCount = overlays.length;\r\n var i = 0;\r\n console.log(overlays)\r\n\r\n for( i = 0; i < overlayCount; i++) {\r\n data.arOverlays[i] = {\r\n imgElement: null,\r\n index: i,\r\n source: overlays[i].img,\r\n x: parseInt( overlays[i].left, 10) * config.MULTIPLIER,\r\n y: parseInt( overlays[i].top, 10) * config.MULTIPLIER,\r\n rot: overlays[i].rot * (Math.PI/180),\r\n w: parseInt(overlays[i].size.match(numberPattern)[0]),\r\n h: parseInt(overlays[i].size.match(numberPattern)[1]),\r\n minX: 0,\r\n minY: 0,\r\n maxX: config.DRAWING_WIDTH,\r\n maxY: config.DRAWING_HEIGHT,\r\n path: [],\r\n zoomTo: overlays[i].boothNum,\r\n navTo: overlays[i].url,\r\n toolTip: overlays[i].tooltip,\r\n shadow: overlays[i].shadow,\r\n imageData: null,\r\n ready: false\r\n };\r\n data.arOverlays[i].imgElement = doc.createElement( \"img\");\r\n data.arOverlays[i].imgElement.setAttribute( \"data-index\", i);\r\n \r\n data.arOverlays[i].imgElement.src = data.arOverlays[i].source;\r\n data.arOverlays[i].imgElement.addEventListener( \"load\", overlayLoaded);\r\n data.arOverlays[i].imgElement.addEventListener( \"error\", overlayError);\r\n }\r\n // create ad banner ( but don't call it \"ad\" in html or css or AdBlocker will get you\r\n sponsors = jsonObject.sponsors; // would get header and footer\r\n \r\n if( sponsors && sponsors.length > 0) {\r\n sponsorCount = sponsors.length;\r\n banner = new Banner();\r\n \r\n for( i = 0; i < sponsorCount; i++) {\r\n\r\n banner.arAds[i] = {\r\n imgElement: null,\r\n index: i,\r\n width: 0,\r\n source: sponsors[i].img,\r\n zoomTo: sponsors[i].boothNum,\r\n navTo: sponsors[i].url,\r\n toolTip: sponsors[i].tooltip,\r\n failed: false\r\n };\r\n }\r\n banner.setAdInterval( jsonObject.settings.interval);\r\n data.hasSpns = true;\r\n banner.initAds();\r\n document.dispatchEvent( new expocadfx.fxevent( \"Banner_Added\", banner));\r\n }\r\n }\r\n\t}\r\n\r\n function overlayError( evt) {\r\n evt.target.removeEventListener( \"load\", overlayLoaded);\r\n evt.target.removeEventListener( \"error\", overlayError);\r\n var index = evt.target.getAttribute( \"data-index\");\r\n var overlay = data.arOverlays[index];\r\n overlay.maxX = -1;\r\n overlay.maxY = -1;\r\n overlayCount -= 1;\r\n \r\n if( overlayCount === 0) { ///// Need to force redraw\r\n\t\t\tdata.status.overlaysReady = true;\r\n doc.dispatchEvent( new FxEvent( \"Overlays_Loaded\", null));\r\n }\r\n }\r\n \r\n function overlayLoaded( evt) {\r\n evt.target.removeEventListener( \"load\", overlayLoaded);\r\n evt.target.removeEventListener( \"error\", overlayError);\r\n \r\n var index = evt.target.getAttribute( \"data-index\");\r\n var overlay = data.arOverlays[index];\r\n //console.log(evt)\r\n // if(xml === null || xml === undefined){ \r\n // overlay.w = parseInt( overlay.w * 3.3) * config.MULTIPLIER;\r\n // overlay.h = parseInt( overlay.h * 3.3) * config.MULTIPLIER;\r\n \r\n overlay.w = overlay.w * config.MULTIPLIER;\r\n overlay.h = overlay.h * config.MULTIPLIER;\r\n \r\n overlay.minX = overlay.x;\r\n overlay.maxX = overlay.x + overlay.w;\r\n overlay.minY = overlay.y;\r\n overlay.maxY = overlay.y + overlay.h;\r\n \r\n overlay.ready = true;\r\n overlayCount -= 1;\r\n \r\n if( overlayCount === 0) { ///// Need to force redraw\r\n\t\t\tdata.status.overlaysReady = true;\r\n doc.dispatchEvent( new FxEvent( \"Overlays_Loaded\", null));\r\n }\r\n }\r\n\r\n function oldOverlayLoaded( evt) {\r\n evt.target.removeEventListener( \"load\", oldOverlayLoaded);\r\n evt.target.removeEventListener( \"error\", overlayError);\r\n \r\n var index = evt.target.getAttribute( \"data-index\");\r\n var overlay = data.arOverlays[index];\r\n \r\n overlay.w = parseInt( evt.target.naturalWidth, 10) * config.MULTIPLIER;\r\n overlay.h = parseInt( evt.target.naturalHeight, 10) * config.MULTIPLIER;\r\n \r\n overlay.minX = overlay.x;\r\n overlay.maxX = overlay.x + overlay.w;\r\n overlay.minY = overlay.y;\r\n overlay.maxY = overlay.y + overlay.h;\r\n \r\n overlay.ready = true;\r\n overlayCount -= 1;\r\n \r\n if( overlayCount === 0) { ///// Need to force redraw\r\n\t\t\tdata.status.overlaysReady = true;\r\n doc.dispatchEvent( new FxEvent( \"Overlays_Loaded\", null));\r\n }\r\n }\r\n\t\r\n\treturn {\r\n\t\tsave: saveOverlays\r\n\t};\r\n\t\r\n};"," (function (window) {\r\n 'use strict';\r\n\r\n var Waves = Waves || {};\r\n var $$ = document.querySelectorAll.bind(document);\r\n\r\n // Find exact position of element\r\n function isWindow(obj) {\r\n return obj !== null && obj === obj.window;\r\n }\r\n\r\n function getWindow(elem) {\r\n return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;\r\n }\r\n\r\n function offset(elem) {\r\n var docElem, win,\r\n box = { top: 0, left: 0 },\r\n doc = elem && elem.ownerDocument;\r\n\r\n docElem = doc.documentElement;\r\n\r\n if (typeof elem.getBoundingClientRect !== typeof undefined) {\r\n box = elem.getBoundingClientRect();\r\n }\r\n win = getWindow(doc);\r\n return {\r\n top: box.top + win.pageYOffset - docElem.clientTop,\r\n left: box.left + win.pageXOffset - docElem.clientLeft\r\n };\r\n }\r\n\r\n function convertStyle(obj) {\r\n var style = '';\r\n\r\n for (var a in obj) {\r\n if (obj.hasOwnProperty(a)) {\r\n style += (a + ':' + obj[a] + ';');\r\n }\r\n }\r\n\r\n return style;\r\n }\r\n\r\n var Effect = {\r\n\r\n // Effect delay\r\n duration: 750,\r\n\r\n show: function (e, element) {\r\n\r\n // Disable right click\r\n if (e.button === 2) {\r\n return false;\r\n }\r\n\r\n var el = element || this;\r\n\r\n // Create ripple\r\n var ripple = document.createElement('div');\r\n ripple.className = 'waves-ripple';\r\n el.appendChild(ripple);\r\n\r\n // Get click coordinate and element witdh\r\n var pos = offset(el);\r\n var relativeY = (e.pageY - pos.top);\r\n var relativeX = (e.pageX - pos.left);\r\n var scale = 'scale(' + ((el.clientWidth / 100) * 10) + ')';\r\n\r\n // Support for touch devices\r\n if ('touches' in e) {\r\n relativeY = (e.touches[0].pageY - pos.top);\r\n relativeX = (e.touches[0].pageX - pos.left);\r\n }\r\n\r\n // Attach data to element\r\n ripple.setAttribute('data-hold', Date.now());\r\n ripple.setAttribute('data-scale', scale);\r\n ripple.setAttribute('data-x', relativeX);\r\n ripple.setAttribute('data-y', relativeY);\r\n\r\n // Set ripple position\r\n var rippleStyle = {\r\n 'top': relativeY + 'px',\r\n 'left': relativeX + 'px'\r\n };\r\n\r\n ripple.className = ripple.className + ' waves-notransition';\r\n ripple.setAttribute('style', convertStyle(rippleStyle));\r\n ripple.className = ripple.className.replace('waves-notransition', '');\r\n\r\n // Scale the ripple\r\n rippleStyle['-webkit-transform'] = scale;\r\n rippleStyle['-moz-transform'] = scale;\r\n rippleStyle['-ms-transform'] = scale;\r\n rippleStyle['-o-transform'] = scale;\r\n rippleStyle.transform = scale;\r\n rippleStyle.opacity = '1';\r\n\r\n rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms';\r\n rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms';\r\n rippleStyle['-o-transition-duration'] = Effect.duration + 'ms';\r\n rippleStyle['transition-duration'] = Effect.duration + 'ms';\r\n\r\n rippleStyle['-webkit-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';\r\n rippleStyle['-moz-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';\r\n rippleStyle['-o-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';\r\n rippleStyle['transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';\r\n\r\n ripple.setAttribute('style', convertStyle(rippleStyle));\r\n },\r\n\r\n hide: function (e) {\r\n TouchHandler.touchup(e);\r\n\r\n var el = this;\r\n var width = el.clientWidth * 1.4;\r\n\r\n // Get first ripple\r\n var ripple = null;\r\n var ripples = el.getElementsByClassName('waves-ripple');\r\n if (ripples.length > 0) {\r\n ripple = ripples[ripples.length - 1];\r\n } else {\r\n return false;\r\n }\r\n\r\n var relativeX = ripple.getAttribute('data-x');\r\n var relativeY = ripple.getAttribute('data-y');\r\n var scale = ripple.getAttribute('data-scale');\r\n\r\n // Get delay beetween mousedown and mouse leave\r\n var diff = Date.now() - Number(ripple.getAttribute('data-hold'));\r\n var delay = 350 - diff;\r\n\r\n if (delay < 0) {\r\n delay = 0;\r\n }\r\n\r\n // Fade out ripple after delay\r\n setTimeout(function () {\r\n var style = {\r\n 'top': relativeY + 'px',\r\n 'left': relativeX + 'px',\r\n 'opacity': '0',\r\n\r\n // Duration\r\n '-webkit-transition-duration': Effect.duration + 'ms',\r\n '-moz-transition-duration': Effect.duration + 'ms',\r\n '-o-transition-duration': Effect.duration + 'ms',\r\n 'transition-duration': Effect.duration + 'ms',\r\n '-webkit-transform': scale,\r\n '-moz-transform': scale,\r\n '-ms-transform': scale,\r\n '-o-transform': scale,\r\n 'transform': scale,\r\n };\r\n\r\n ripple.setAttribute('style', convertStyle(style));\r\n\r\n setTimeout(function () {\r\n try {\r\n el.removeChild(ripple);\r\n } catch (e) {\r\n return false;\r\n }\r\n }, Effect.duration);\r\n }, delay);\r\n },\r\n\r\n // Little hack to make can perform waves effect\r\n wrapInput: function (elements) {\r\n for (var a = 0; a < elements.length; a++) {\r\n var el = elements[a];\r\n\r\n if (el.tagName.toLowerCase() === 'input') {\r\n var parent = el.parentNode;\r\n\r\n // If input already have parent just pass through\r\n if (parent.tagName.toLowerCase() === 'i' && parent.className.indexOf('waves-effect') !== -1) {\r\n continue;\r\n }\r\n\r\n // Put element class and style to the specified parent\r\n var wrapper = document.createElement('i');\r\n wrapper.className = el.className + ' waves-input-wrapper';\r\n\r\n var elementStyle = el.getAttribute('style');\r\n\r\n if (!elementStyle) {\r\n elementStyle = '';\r\n }\r\n\r\n wrapper.setAttribute('style', elementStyle);\r\n\r\n el.className = 'waves-button-input';\r\n el.removeAttribute('style');\r\n\r\n // Put element as child\r\n parent.replaceChild(wrapper, el);\r\n wrapper.appendChild(el);\r\n }\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Disable mousedown event for 500ms during and after touch\r\n */\r\n var TouchHandler = {\r\n /* uses an integer rather than bool so there's no issues with\r\n * needing to clear timeouts if another touch event occurred\r\n * within the 500ms. Cannot mouseup between touchstart and\r\n * touchend, nor in the 500ms after touchend. */\r\n touches: 0,\r\n allowEvent: function (e) {\r\n var allow = true;\r\n\r\n if (e.type === 'touchstart') {\r\n TouchHandler.touches += 1; //push\r\n } else if (e.type === 'touchend' || e.type === 'touchcancel') {\r\n setTimeout(function () {\r\n if (TouchHandler.touches > 0) {\r\n TouchHandler.touches -= 1; //pop after 500ms\r\n }\r\n }, 500);\r\n } else if (e.type === 'mousedown' && TouchHandler.touches > 0) {\r\n allow = false;\r\n }\r\n\r\n return allow;\r\n },\r\n touchup: function (e) {\r\n TouchHandler.allowEvent(e);\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Delegated click handler for .waves-effect element.\r\n * returns null when .waves-effect element not in \"click tree\"\r\n */\r\n function getWavesEffectElement(e) {\r\n if (TouchHandler.allowEvent(e) === false) {\r\n return null;\r\n }\r\n\r\n var element = null;\r\n var target = e.target || e.srcElement;\r\n\r\n while (target.parentElement !== null) {\r\n if (!(target instanceof SVGElement) && target.className.indexOf('waves-effect') !== -1) {\r\n element = target;\r\n break;\r\n } else if (target.classList.contains('waves-effect')) {\r\n element = target;\r\n break;\r\n }\r\n target = target.parentElement;\r\n }\r\n\r\n return element;\r\n }\r\n\r\n /**\r\n * Bubble the click and show effect if .waves-effect elem was found\r\n */\r\n function showEffect(e) {\r\n var element = getWavesEffectElement(e);\r\n\r\n if (element !== null) {\r\n Effect.show(e, element);\r\n\r\n if ('ontouchstart' in window) {\r\n element.addEventListener('touchend', Effect.hide, false);\r\n element.addEventListener('touchcancel', Effect.hide, false);\r\n }\r\n\r\n element.addEventListener('mouseup', Effect.hide, false);\r\n element.addEventListener('mouseleave', Effect.hide, false);\r\n }\r\n }\r\n\r\n Waves.displayEffect = function (options) {\r\n options = options || {};\r\n\r\n if ('duration' in options) {\r\n Effect.duration = options.duration;\r\n }\r\n\r\n //Wrap input inside tag\r\n Effect.wrapInput($$('.waves-effect'));\r\n\r\n if ('ontouchstart' in window) {\r\n document.body.addEventListener('touchstart', showEffect, false);\r\n }\r\n\r\n document.body.addEventListener('mousedown', showEffect, false);\r\n };\r\n\r\n /**\r\n * Attach Waves to an input element (or any element which doesn't\r\n * bubble mouseup/mousedown events).\r\n * Intended to be used with dynamically loaded forms/inputs, or\r\n * where the user doesn't want a delegated click handler.\r\n */\r\n Waves.attach = function (element) {\r\n //FUTURE: automatically add waves classes and allow users\r\n // to specify them with an options param? Eg. light/classic/button\r\n if (element.tagName.toLowerCase() === 'input') {\r\n Effect.wrapInput([element]);\r\n element = element.parentElement;\r\n }\r\n\r\n if ('ontouchstart' in window) {\r\n element.addEventListener('touchstart', showEffect, false);\r\n }\r\n\r\n element.addEventListener('mousedown', showEffect, false);\r\n };\r\n\r\n window.Waves = Waves;\r\n\r\n document.addEventListener('DOMContentLoaded', function () {\r\n Waves.displayEffect();\r\n }, false);\r\n\r\n})(window);\r\n","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.BoothText = function( boothGraphic, centerX, centerY, textHeight) {\r\n \r\n // getCanvas\r\n var canvas = document.createElement( \"canvas\");\r\n var ctx = canvas.getContext( \"2d\");\r\n var texture = null;\r\n var material = null;\r\n var geom = null;\r\n var mesh = null;\r\n var i = 0;\r\n var textX = 0;\r\n var textY = 0;\r\n var textWidth = 0;\r\n \r\n// var overhange = 20;\r\n var bthW = boothGraphic.maxX - boothGraphic.minX; // make mesh bigger to allow a little text\r\n var bthH = boothGraphic.maxY - boothGraphic.minY; // outside of booth\r\n \r\n canvas.width = bthW;\r\n canvas.height = bthH;\r\n \r\n // write text to canvas\r\n ctx.textBaseline = \"bottom\";\r\n \r\n for( i = 0; i < boothGraphic.text.length; i++) {\r\n ctx.font = boothGraphic.text[i].fontSize + \"px Arial\";\r\n \r\n textWidth = ctx.measureText( boothGraphic.text[i].text).width;\r\n \r\n textX = boothGraphic.text[i].x - boothGraphic.minX;\r\n textY = boothGraphic.text[i].y - boothGraphic.minY;\r\n \r\n ctx.fillStyle = boothGraphic.text[i].fill;\r\n \r\n if( boothGraphic.text[i].rotation !== 0) {\r\n ctx.save();\r\n ctx.translate( textX, textY);\r\n ctx.rotate( boothGraphic.text[i].rotation);\r\n ctx.translate( -textX, -textY);\r\n\r\n ctx.fillText( boothGraphic.text[i].text,\r\n textX - 0.5 * textWidth,\r\n textY + boothGraphic.text[i].fontSize/2 + 5);\r\n ctx.restore();\r\n }\r\n else {\r\n ctx.fillText( boothGraphic.text[i].text,\r\n textX - 0.5 * textWidth - 5,\r\n textY + boothGraphic.text[i].fontSize/2);\r\n }\r\n }\r\n \r\n // canvas --> mesh\r\n texture = new THREE.Texture( canvas);\r\n texture.needsUpdate = true;\r\n \r\n texture.magFilter = THREE.LinearFilter;\r\n texture.minFilter = THREE.LinearMipMapLinearFilter;\r\n texture.anisotropy = 1;\r\n \r\n material = new THREE.MeshBasicMaterial( {map: texture,\r\n depthWrite: false,\r\n depthTest: false});\r\n material.map.minFilter = THREE.LinearFilter;\r\n material.transparent = true;\r\n \r\n geom = new THREE.PlaneBufferGeometry( canvas.width, canvas.height);\r\n \r\n mesh = new THREE.Mesh( geom, material);\r\n \r\n mesh.position.z = textHeight;\r\n \r\n return mesh;\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.DivideTool = function( ) {\r\n // verify ready to send command\r\n var config = expocadfx.config;\r\n var elem = expocadfx.divideElements;\r\n var elemById = expocadfx.element.elementById;\r\n var FxEvent = expocadfx.fxevent;\r\n var txt = expocadfx.txt;\r\n var util = expocadfx.util;\r\n var doc = document;\r\n \r\n var VERTICAL_CENTER = 190;\r\n if(window.innerHeight < 601){\r\n var HORIZONTAL_CENTER = 165;\r\n } else {\r\n var HORIZONTAL_CENTER = 240;\r\n }\r\n \r\n var boothWidth = 0;\r\n var boothHeight = 0;\r\n var dimensions = { h: 0, w: 0};\r\n var aDecimal = 0.0;\r\n var aFtIn = { ft: 0, inch: 0 };\r\n var bDecimal = 0.0;\r\n var bFtIn = { ft: 0, inch: 0 };\r\n var isFeet = config.showUnits === \"F\";\r\n var isVertical = true;\r\n \r\n var bounds = null;\r\n var path = [];\r\n var mouseStart = { x:0, y:0};\r\n var scale = 0;\r\n var vMin = 0;\r\n var vMax = 380;\r\n var hMin = 50;\r\n var hMax = 430;\r\n var scaledWidth = 0;\r\n var scaledHeight = 0;\r\n \r\n // Tool dom\r\n var tool = doc.createElement( \"div\");\r\n var originalSize = doc.createElement( \"span\");\r\n var input = null;\r\n var label = doc.createElement( \"label\");\r\n \r\n var div = doc.createElement( \"div\");\r\n var span = doc.createElement( \"span\");\r\n var canvas = document.createElement( \"canvas\");\r\n var ctx = canvas.getContext( \"2d\");\r\n var divideLine = doc.createElement( \"div\");\r\n \r\n var aSide = elem.makeSideLabel( \"a\", isFeet);\r\n var bSide = elem.makeSideLabel( \"b\", isFeet);\r\n util.addClass( bSide, \"vertical\");\r\n \r\n tool.setAttribute( \"id\", \"divideTool\");\r\n tool.style.width = \"380px\";\r\n tool.style.position = \"relative\";\r\n \r\n // original booth size display\r\n span.className = \"divide_size_label unselectable\";\r\n span.textContent = txt.BOOTH_SIZE;\r\n div.appendChild( span);\r\n div.appendChild( originalSize);\r\n \r\n tool.appendChild( div);\r\n \r\n // divide direction radio buttons\r\n div = doc.createElement( \"div\");\r\n span = doc.createElement( \"span\");\r\n span.className = \"divide_original_size unselectable\";\r\n span.textContent = txt.DIVIDE;\r\n div.appendChild( span);\r\n \r\n input = elem.dirRadio( \"dirV\", \"v\");\r\n input.setAttribute( \"checked\", \"true\");\r\n label.setAttribute( \"for\", \"dirV\");\r\n label.className = \"unselectable\";\r\n label.textContent = txt.VERTICAL;\r\n div.appendChild( input);\r\n div.appendChild( label);\r\n \r\n input = elem.dirRadio( \"dirH\", \"h\");\r\n label = doc.createElement( \"label\");\r\n label.setAttribute( \"for\", \"dirH\");\r\n label.className = \"unselectable\";\r\n label.textContent = txt.HORIZONTAL;\r\n div.appendChild( input);\r\n div.appendChild( label);\r\n \r\n tool.appendChild( div);\r\n \r\n canvas.width = 380;\r\n canvas.height = 380;\r\n canvas.className = \"unselectable\";\r\n tool.appendChild( canvas);\r\n \r\n tool.appendChild( aSide);\r\n tool.appendChild( bSide);\r\n \r\n divideLine.setAttribute( \"id\", \"divideLine\");\r\n divideLine.className = \"vertical\";\r\n divideLine.style.backgroundColor = \"#ff0000\";\r\n tool.appendChild( divideLine);\r\n divideLine.style.display = \"block\";\r\n \r\n function enableEvents() {\r\n doc.getElementById( \"dirV\").addEventListener( \"change\", radioChange);\r\n doc.getElementById( \"dirH\").addEventListener( \"change\", radioChange);\r\n }\r\n \r\n function radioChange( evt) {\r\n if( evt.target.value === \"h\") {\r\n util.removeClass( divideLine, \"vertical\");\r\n util.removeClass( bSide, \"vertical\");\r\n util.addClass( divideLine, \"horizontal\");\r\n util.addClass( bSide, \"horizontal\");\r\n divideLine.style.left = \"0px\";\r\n divideLine.style.top = HORIZONTAL_CENTER + \"px\";\r\n isVertical = false;\r\n \r\n setDisplayDimensions( dimensions.height / 2, dimensions.height);\r\n }\r\n else {\r\n setDivideToVertical( false);\r\n }\r\n }\r\n \r\n function setDivideToVertical( isReset) {\r\n util.removeClass( divideLine, \"horizontal\");\r\n util.removeClass( bSide, \"horizontal\");\r\n util.addClass( divideLine, \"vertical\");\r\n util.addClass( bSide, \"vertical\");\r\n divideLine.style.top = \"50px\";\r\n divideLine.style.left = VERTICAL_CENTER + \"px\";\r\n isVertical = true;\r\n \r\n if( !isReset) {\r\n setDisplayDimensions( dimensions.width / 2, dimensions.width);\r\n }\r\n }\r\n \r\n function setDisplayDimensions( aSize, fullSize) {\r\n aDecimal = roundSideA( aSize);\r\n bDecimal = fullSize -aDecimal;\r\n \r\n if( isFeet) {\r\n aFtIn = decimalToFeetInch( aDecimal);\r\n elemById( \"aFt\").value = aFtIn.ft;\r\n elemById( \"aIn\").value = aFtIn.inch;\r\n\r\n bFtIn = decimalToFeetInch( bDecimal);\r\n elemById( \"bFt\").value = bFtIn.ft;\r\n elemById( \"bIn\").value = bFtIn.inch;\r\n }\r\n else {\r\n elemById( \"aFt\").value = aDecimal;\r\n elemById( \"bFt\").value = Math.round(parseFloat( bDecimal)*100)/100;\r\n document.getElementById('aFt').removeAttribute('readonly');\r\n\r\n // elemById('aFt').removeAttribute( \"readonly\");\r\n }\r\n }\r\n \r\n function divideLineDown( evt) {\r\n divideLine.addEventListener( \"mousemove\", divideLineMove);\r\n divideLine.addEventListener( \"pointermove\", divideLineMove);\r\n canvas.addEventListener( \"mousemove\", divideLineMove);\r\n canvas.addEventListener( \"pointermove\", divideLineMove);\r\n \r\n divideLine.addEventListener( \"mouseup\", divideLineUp);\r\n divideLine.addEventListener( \"pointerup\", divideLineUp);\r\n canvas.addEventListener( \"mouseup\", divideLineUp);\r\n canvas.addEventListener( \"pointerup\", divideLineUp);\r\n mouseStart.x = evt.clientX;\r\n mouseStart.y = evt.clientY;\r\n }\r\n \r\n function divideLineUp() {\r\n divideLine.removeEventListener( \"mousemove\", divideLineMove);\r\n divideLine.removeEventListener( \"pointermove\", divideLineMove);\r\n canvas.removeEventListener( \"mousemove\", divideLineMove);\r\n canvas.removeEventListener( \"pointermove\", divideLineMove);\r\n canvas.removeEventListener( \"mouseup\", divideLineUp);\r\n canvas.removeEventListener( \"pointerup\", divideLineUp);\r\n divideLine.removeEventListener( \"mouseup\", divideLineUp);\r\n divideLine.removeEventListener( \"pointerup\", divideLineUp);\r\n }\r\n function divideLineMove( evt) {\r\n evt.preventDefault();\r\n var newX = 0;\r\n var newY = 0;\r\n \r\n if( isVertical) {\r\n newX = divideLine.offsetLeft + evt.clientX - mouseStart.x;\r\n if( newX < vMin) {\r\n newX = vMin;\r\n divideLineUp();\r\n }\r\n else if( newX > vMax) {\r\n newX = vMax;\r\n divideLineUp();\r\n }\r\n divideLine.style.left = newX + \"px\";\r\n \r\n setDisplayDimensions( dimensions.width * ( (newX - vMin) / scaledWidth), dimensions.width);\r\n }\r\n else {\r\n newY = divideLine.offsetTop + evt.clientY - mouseStart.y;\r\n if( newY < hMin) {\r\n newY = hMin;\r\n divideLineUp();\r\n }\r\n else if( newY > hMax) {\r\n newY = hMax;\r\n divideLineUp();\r\n }\r\n divideLine.style.top = newY + \"px\";\r\n \r\n setDisplayDimensions( dimensions.height * ( (newY - hMin) / scaledHeight), dimensions.height);\r\n }\r\n mouseStart.x = evt.clientX;\r\n mouseStart.y = evt.clientY;\r\n }\r\n \r\n function getBounds( path) {\r\n var i = 0;\r\n var pathLength = path.length;\r\n var obj = {\r\n minX: path[0].x,\r\n minY: path[0].y,\r\n maxX: path[0].x,\r\n maxY: path[0].y\r\n };\r\n\r\n for( i = 1; i < pathLength; i++) {\r\n obj.minX = Math.min( path[i].x, obj.minX);\r\n obj.minY = Math.min( path[i].y, obj.minY);\r\n obj.maxX = Math.max( path[i].x, obj.maxX);\r\n obj.maxY = Math.max( path[i].y, obj.maxY);\r\n }\r\n return obj;\r\n }\r\n \r\n function getDimensions( bthObj, normal) { // add second parameter for units - ONLY \"F\" now\r\n // feet in decimal or feet-inch or Meters ( always meter decimal or allow cm??\r\n var dimStr = \"\";\r\n var index = -1;\r\n var str1 = \"\";\r\n var str2 = \"\";\r\n var obj = {};\r\n \r\n dimStr = isFeet ? bthObj.dimF : bthObj.dimM;\r\n \r\n index = dimStr.indexOf( \"x\");\r\n str1 = dimStr.substr( 0, index).trim();\r\n str2 = dimStr.substr( index + 1).trim();\r\n obj = {};\r\n \r\n if( normal) {\r\n obj.widthString = str1;\r\n obj.width = isFeet ? stringFeetToDecimal( str1) : Math.round(parseFloat( str1)*100)/100;\r\n obj.heightString = str2;\r\n obj.height = isFeet ? stringFeetToDecimal( str2) : parseFloat( str2);\r\n }\r\n else {\r\n obj.widthString = str2;\r\n obj.width = isFeet ? stringFeetToDecimal( str2) : parseFloat( str2);\r\n obj.heightString = str1;\r\n obj.height = isFeet ? stringFeetToDecimal( str1) : parseFloat( str1);\r\n }\r\n return obj;\r\n }\r\n \r\n function stringFeetToDecimal( value) {\r\n var ftIdx = value.indexOf( \"'\");\r\n var inch = 0;\r\n var size = parseFloat( value.substr( 0, ftIdx)); \r\n \r\n if( ftIdx !== value.length - 1) {\r\n inch = value.substr( ftIdx, value.length -1);\r\n size += inch / 12;\r\n }\r\n return size;\r\n }\r\n \r\n function decimalToFeetInch( value) {\r\n var ft = Math.floor( value);\r\n var inch = Math.round( ( value - ft) * 12);\r\n return { ft: ft, inch: inch};\r\n }\r\n \r\n function roundSideA( value) {\r\n var ft = Math.floor( value);\r\n \r\n if( isFeet) {\r\n if( value - ft >= 0.25) {\r\n ft += 0.5;\r\n }\r\n }\r\n else {\r\n // metric round to nearest 0.25 meter\r\n ft = Math.round( value / 0.25) * 0.25;\r\n }\r\n return ft;\r\n }\r\n \r\n function inputEntry( evt) {\r\n // need to validate entry !\r\n // for isFeet valid entry between 0 and 11 AND update b side dimensions\r\n if( evt.target.value === \"\" && !evt.target.validity.valid) {\r\n evt.target.value = 0;\r\n }\r\n if( isFeet && evt.target.value > 11) {\r\n evt.target.value = Math.floor( evt.target.value / 10);\r\n }\r\n else if( !evt.target.validity.valid) {\r\n evt.target.value = Math.floor( parseFloat( evt.target.value));\r\n }\r\n\r\n if( isFeet) {\r\n aFtIn.inch = evt.target.value;\r\n aDecimal = aFtIn.ft + aFtIn.inch / 12;\r\n console.log(aFtIn.ft)\r\n console.log(aFtIn.inch)\r\n\r\n bDecimal = isVertical ? dimensions.height - aDecimal : dimensions.height - aDecimal;\r\n console.log(aDecimal)\r\n bFtIn = decimalToFeetInch( bDecimal);\r\n elemById( \"bFt\").value = bFtIn.ft;\r\n elemById( \"bIn\").value = bFtIn.inch;\r\n }\r\n else {\r\n aDecimal = evt.target.value;\r\n bDecimal = isVertical ? dimensions.width - aDecimal : dimensions.height - aDecimal;\r\n console.log( \"adjust b side - a: \" + aDecimal + \" b: \" + bDecimal);\r\n elemById( \"bFt\").value = Math.round( bDecimal * 100) / 100;\r\n }\r\n }\r\n function inputEntryFt( evt) {\r\n const base = dimensions.height + dimensions.width;\r\n \r\n if( evt.target.value === \"\" && !evt.target.validity.valid) {\r\n evt.target.value = 0;\r\n }\r\n if( isFeet && evt.target.value > 11) {\r\n evt.target.value = Math.floor( evt.target.value / 10);\r\n }\r\n else if( !evt.target.validity.valid) {\r\n evt.target.value = Math.floor( parseFloat( evt.target.value));\r\n } \r\n if( isFeet) {\r\n aFtIn.ft = evt.target.value;\r\n elemById( \"bFt\").value = (base - elemById('aFt').value) - dimensions.width;\r\n }\r\n else {\r\n aDecimal = evt.target.value\r\n bDecimal = isVertical ? dimensions.width - aDecimal : dimensions.height - aDecimal;\r\n console.log( \"adjust b side - a: \" + aDecimal + \" b: \" + bDecimal);\r\n elemById( \"bFt\").value = Math.round( bDecimal * 100) - 100;\r\n }\r\n }\r\n\r\n function inputEntryValid(e){\r\n const base = isVertical ? dimensions.width : dimensions.height;\r\n\r\n if (!(/^(?:\\d{1,2}(?:\\.\\d{0,6})?)?$/.test(elemById('aFt').value))){\r\n\r\n //swal(\"\", \"Please enter only numbers into amount textbox.\", \"error\");\r\n elemById('aFt').value = base;\r\n elemById('bFt').value = 0;\r\n }\r\n if(elemById('aFt').value > base && e.keyCode != 46 && e.keyCode != 8){\r\n elemById('aFt').value = base;\r\n elemById('bFt').value = 0;\r\n\r\n }\r\n if(decimalPlaces(elemById('aFt').value) != 0 && e.keyCode != 8){\r\n\r\n var elem = elemById('aFt');\r\n\r\n if(elem.value % 1 != 0){\r\n if(e.inputType == \"deleteContentBackward\"){\r\n elem.value = (Math.floor(elem.value)).toFixed(0);\r\n }\r\n else{\r\n elem.value = (Math.round(elem.value*4)/4).toFixed(2);\r\n } \r\n\r\n elemById('bFt').value = base - elem.value;\r\n }\r\n } \r\n\r\n inputDivideLineMove();\r\n }\r\n\r\n function decimalPlaces(num) {\r\n var match = (''+num).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\r\n if (!match) { return 0; }\r\n return Math.max(\r\n 0,\r\n // Number of digits right of decimal point.\r\n (match[1] ? match[1].length : 0)\r\n // Adjust for scientific notation.\r\n - (match[2] ? +match[2] : 0));\r\n }\r\n function inputDivideLineMove() {\r\n\r\n if( isVertical){\r\n \r\n var maxDist = vMax - vMin;\r\n var percent = elemById('aFt').value / dimensions.width;\r\n var newPos = maxDist * percent;\r\n \r\n divideLine.style.left = vMin + newPos + \"px\";\r\n }\r\n else{\r\n \r\n var maxDist = hMax - hMin;\r\n var percent = elemById('aFt').value / dimensions.height;\r\n var newPos = maxDist * percent;\r\n \r\n divideLine.style.top = hMin + newPos + \"px\";\r\n }\r\n \r\n }\r\n \r\n function drawBooth( bthObj) {\r\n var rot = 0;\r\n var textField = getBoothNumberTextObject( bthObj);\r\n var centerX = 0;\r\n var centerY = 0;\r\n var tempX = 0;\r\n var tempY = 0;\r\n var rotatedX = 0;\r\n var rotatedY = 0;\r\n var i = 0;\r\n var gr = bthObj.graphic;\r\n var offset = 0;\r\n var orientationNormal = true;\r\n \r\n // clear and reset !!\r\n path = [];\r\n bounds = {};\r\n originalSize.textContent = isFeet ? bthObj.dimF : bthObj.dimM;\r\n elemById( \"aNumber\").value = bthObj.number;\r\n elemById( \"bNumber\").value = \"\";\r\n clearCanvas();\r\n elemById( \"dirV\").checked = true;\r\n \r\n if( textField) {\r\n rot = -1 * textField.rotation;\r\n }\r\n \r\n centerX = ( gr.minX + gr.maxX) / 2;\r\n centerY = ( gr.minY + gr.maxY) / 2;\r\n \r\n // normalize path \r\n for( i = 0; i < gr.numPoints; i++) {\r\n tempX = gr.path[i].x - centerX;\r\n tempY = gr.path[i].y - centerY;\r\n \r\n if( rot !== 0) {\r\n rotatedX = tempX * Math.cos( rot) - tempY * Math.sin( rot);\r\n rotatedY = tempX * Math.sin( rot) + tempY * Math.cos( rot);\r\n\r\n path.push( { x: rotatedX, y: rotatedY});\r\n }\r\n else {\r\n path.push( { x: tempX , y: tempY});\r\n }\r\n }\r\n \r\n bounds = getBounds( path);\r\n boothWidth = bounds.maxX - bounds.minX;\r\n boothHeight = bounds.maxY - bounds.minY;\r\n\r\n if(window.innerHeight < 601){\r\n scale = Math.min( 140 / boothWidth, 140 / boothHeight);\r\n } else {\r\n scale = Math.min( 240 / boothWidth, 240 / boothHeight);\r\n }\r\n offset = VERTICAL_CENTER / scale;\r\n \r\n ctx.scale( scale, scale);\r\n ctx.strokeStyle = \"#000000\";\r\n ctx.fillStyle = \"#ffffff\";\r\n \r\n ctx.beginPath();\r\n ctx.moveTo( path[0].x + offset, path[0].y + offset);\r\n \r\n for( i = 1; i < gr.numPoints; i += 1) {\r\n ctx.lineTo( path[i].x + offset, path[i].y + offset);\r\n }\r\n \r\n ctx.closePath();\r\n ctx.fill();\r\n ctx.stroke();\r\n \r\n orientationNormal = boothWidth <= boothHeight;\r\n dimensions = getDimensions( bthObj, orientationNormal);\r\n \r\n vMin = VERTICAL_CENTER + ( bounds.minX * scale) - 2;\r\n vMax = VERTICAL_CENTER + ( bounds.maxX * scale) - 2;\r\n scaledWidth = vMax - vMin;\r\n \r\n hMin = HORIZONTAL_CENTER + ( bounds.minY * scale) - 2;\r\n hMax = HORIZONTAL_CENTER + ( bounds.maxY * scale) - 2;\r\n scaledHeight = hMax - hMin;\r\n \r\n setDivideToVertical( false);\r\n\r\n if( isFeet) {\r\n elemById( \"aIn\").addEventListener( \"input\", inputEntry);\r\n elemById( \"aFt\").addEventListener( \"input\", inputEntryFt);\r\n }\r\n else {\r\n elemById( \"aFt\").addEventListener( \"input\", inputEntry);\r\n\r\n }\r\n elemById( \"aNumber\").addEventListener( \"input\", checkBoothNumbers);\r\n elemById( \"bNumber\").addEventListener( \"input\", checkBoothNumbers);\r\n elemById( \"aFt\").addEventListener( \"input\", inputEntryValid);\r\n divideLine.addEventListener( \"mousedown\", divideLineDown);\r\n divideLine.addEventListener( \"pointerdown\", divideLineDown);\r\n }\r\n \r\n function checkBoothNumbers() {\r\n doc.dispatchEvent( new FxEvent( \"Divide_Booth_Numbers\", null));\r\n }\r\n \r\n function getBoothNumberTextObject( boothObj) {\r\n var obj = null;\r\n var i = 0;\r\n \r\n if( boothObj.graphic.text.length > 0) {\r\n for( i = 0; i < boothObj.graphic.text.length; i++) {\r\n if( boothObj.graphic.text[i].text === String( boothObj.number)) {\r\n obj = boothObj.graphic.text[i];\r\n break;\r\n }\r\n }\r\n }\r\n return( obj);\r\n }\r\n \r\n function closeWindow() {\r\n path = [];\r\n bounds = {};\r\n originalSize.textContent = \"\";\r\n elemById( \"aNumber\").value = \"\";\r\n elemById( \"bNumber\").value = \"\";\r\n clearCanvas();\r\n elemById( \"dirV\").checked = true;\r\n setDivideToVertical( true);\r\n elemById( \"aFt\").value = 0;\r\n elemById( \"bFt\").value = 0;\r\n if( elemById( \"aIn\")){\r\n elemById( \"aIn\").value = 0;\r\n elemById( \"bIn\").value = 0;\r\n }\r\n }\r\n \r\n function clearCanvas() {\r\n ctx.setTransform(1,0,0,1,0,0);\r\n ctx.clearRect(0, 0, 380, 380);\r\n }\r\n \r\n function getParameters() {\r\n var aDim = elemById( \"aFt\").value;\r\n// var bDim = elemById( \"bFt\").value;\r\n if( isFeet) {\r\n aDim += \"'\";\r\n if( elemById( \"aIn\").value !== \"\") {\r\n aDim += elemById( \"aIn\").value + \"%22\";\r\n }\r\n// bDim += \"'\";\r\n// if( elemById( \"aIn\").value !== \"\") {\r\n// bDim += elemById( \"bIn\").value + \"%22\";\r\n// }\r\n }\r\n else {\r\n aDim += \"M\";\r\n// bDim += \"M\";\r\n }\r\n var obj = {\r\n aNumber: elemById( \"aNumber\").value,\r\n bNumber: elemById( \"bNumber\").value,\r\n sizeX: 0,\r\n sizeY: 0\r\n };\r\n \r\n obj.sizeX = isVertical ? aDim : dimensions.widthString;\r\n obj.sizeY = isVertical ? dimensions.heightString : aDim;\r\n \r\n \r\n return obj;\r\n }\r\n\r\n\t\r\n \r\n return {\r\n tool: tool,\r\n clear: clearCanvas,\r\n close: closeWindow,\r\n drawBooth: drawBooth,\r\n enableEvents: enableEvents,\r\n getParameters: getParameters\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.localStorage = (function() {\r\n\tvar sessionStorage = null;\r\n\tvar locationItem = \"\";\r\n\tvar tokenItem = \"\";\r\n\t\r\n\tfunction storageAvailable( type) {\r\n\t\ttry {\r\n\t\t\tvar storage = window[ type];\r\n\t\t\tvar test = \"test\";\r\n\t\t\tstorage.setItem( test, test);\r\n\t\t\tstorage.removeItem( test, test);\r\n\t\t}\r\n\t\tcatch(ex) {\r\n\t\t\tconsole.log( \"test failed - \" + ex.message);\r\n expocadfx.element.elementById( \"btnMenu\").style.borderColor = \"red\";\r\n\t\t\tstorage = null;\r\n\t\t}\r\n return storage;\r\n\t}\r\n \r\n\tfunction saveSalesInfo( value, loc) {\r\n\t\tsessionStorage.setItem( tokenItem, value);\r\n\t\tsessionStorage.setItem( locationItem, loc);\r\n\t}\r\n \r\n function getSalesToken( location, eventName) {\r\n var tmp = \"\";\r\n\t\tlocationItem = eventName + \"_location\";\r\n\t\ttokenItem = eventName + \"_token\";\r\n\t\tsessionStorage = storageAvailable( \"sessionStorage\");\r\n if( sessionStorage) {\r\n tmp = sessionStorage.getItem( locationItem);\r\n if( tmp !== null && tmp !== undefined) {\r\n if( tmp === location) {\r\n tmp = sessionStorage.getItem( tokenItem);\r\n if( tmp !== null && tmp !== undefined) {\r\n return tmp;\r\n }\r\n }\r\n }\r\n }\r\n return \"\";\r\n }\r\n\t\r\n\tfunction removeSalesInfo() {\r\n\t\tsessionStorage.removeItem(tokenItem);\r\n\t\tsessionStorage.removeItem( locationItem);\r\n\t}\r\n \r\n return {\r\n saveSalesInfo: saveSalesInfo,\r\n getSalesToken: getSalesToken,\r\n removeSalesInfo: removeSalesInfo,\r\n\t\tstorageAvailable: storageAvailable\r\n };\r\n}());","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.serverTime = function() {\r\n var elemById = expocadfx.element.elementById;\r\n\tvar config = expocadfx.config;\r\n\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t//\r\n var days = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\r\n var months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\t////////////////////////////////////////////////////////////////////////////////////////\r\n\tvar displayTime = null;\r\n\tvar clkRefreshCount = 0;\r\n var serverOffset = 0;\r\n var tickTimer = null;\t\r\n\t\t\t\r\n//\tfunction setColor( clr) {\r\n//\t\telemById( \"txtDate\").style.color = clr;\r\n//\t\telemById( \"txtTime\").style.color = clr;\r\n//\t\telemById( \"txtTimeZone\").style.color = clr;\r\n//\t}\r\n\t\r\n\tfunction tick() {\r\n var ms = 0;\r\n\t\tclkRefreshCount++;\r\n\t\t\r\n\t\tif( displayTime === null) {\r\n\t\t\tdisplayTime = new Date();\r\n\t\t}\r\n \r\n ms = displayTime.getTime() + 1000;\r\n displayTime = new Date( ms);\r\n \r\n elemById( \"txtTime\").textContent = formatTime( displayTime);\r\n\r\n // IF ( display time == 00:00:00) ==> force refresh to update date !!\r\n if( displayTime.hours === 0 && displayTime.minutes === 0 && displayTime.seconds === 0) {\r\n clkRefreshCount = 181;\r\n }\r\n\r\n if( clkRefreshCount >= 180) {\r\n clkRefreshCount = 0;\r\n \r\n return true;\r\n }\r\n\t\t\r\n\t\treturn false;\r\n\t}\r\n\t\r\n\t////////////////////////////////////////////////////////////////////////////////////\r\n\t// Typical Server response to request for time\r\n\t//\t\r\n\t//\t\tdd MMM yyyy\r\n\t//\t\t-06:00:00 OR -0600 depending on server type\r\n\t//\t\t-21600\r\n\t//\t\t\t\t\t\t\t\t // abbreviation from .php on Apache server\r\n\t//\t\tCentral Standard Time // from .aspx on Windows server\r\n\t//\t\t2015,2,9,14,35,51\r\n\t//\t\r\n\t//////////////////////////////////////////////////////////////////////////////////////\r\n\t\r\n\tfunction updateTimeFromServer( success, data) {\r\n if( !success) {\r\n console.log( \"server time request failed\");\r\n return;\r\n }\r\n\r\n if(!config.isXML){\r\n //var testString = \"Wed, Jan 20, 2021-6:00:00-21600Central Standard Time2021,1,20,14,10,3\"\r\n parser = new DOMParser();\r\n var data = parser.parseFromString(data,\"text/xml\");\r\n }\r\n\t\t\r\n\t\tvar dateTime = null;\r\n\t\tvar zone = \"\";\r\n var zoneName = \"\";\r\n var date = null;\r\n\t\tvar ar;\r\n var arZone;\r\n var word = \"\";\r\n var i;\r\n \r\n\t\t\t// split param string into array of year, month, date, hour, minute, second\r\n ar = data.getElementsByTagName(\"DateParams\")[0].textContent.split(\",\");\r\n\t\t\t// Adjust month - server 1 based, browser O based\r\n\t\tar[1] = ar[1] - 1;\r\n\t\t\r\n\t\tdateTime = new Date( ar[0], ar[1], ar[2], ar[3], ar[4], ar[5] );\r\n \r\n // Adjust for offset from options file\r\n\t\tif( config.serverTimeOffset !== 0) {\r\n if( serverOffset === 0) {\r\n serverOffset = parseInt( data.getElementsByTagName(\"OffsetSeconds\")[0].textContent, 10) * 1000;\r\n }\r\n\t\t\tdateTime = new Date( dateTime.getTime() + config.serverTimeOffset - serverOffset);\r\n\t\t}\r\n \r\n date = data.getElementsByTagName( \"Date\")[0].textContent;\r\n\t\tif( date !== null && date !== \"\") {\r\n\t\t\telemById( \"txtDate\").textContent = date;\r\n\t\t}\r\n\t\telse {\r\n elemById( \"txtDate\").textContent = days[dateTime.getDay()] = \", \" + months[ar[1]] + \" \" + ar[2] + \", \" + ar[0];\r\n\t\t}\r\n \r\n elemById( \"txtTime\").textContent = formatTime( dateTime);\r\n \r\n\t\tzone = data.getElementsByTagName( \"TimeZone\")[0].textContent.trim();\r\n zoneName = data.getElementsByTagName( \"TimeZoneName\")[0].textContent;\r\n \r\n\t\tif( config.serverTimeZoneLabel !== \"\") {\r\n\t\t\telemById( \"txtTimeZone\").textContent = config.serverTimeZoneLabel;\r\n\t\t}\r\n\t\telse if( zone !== \"\") {\r\n\t\t\telemById( \"txtTimeZone\").textContent = zone;\r\n\t\t}\r\n\t\telse if( zoneName !== \"\") {\r\n arZone = zoneName.split( \" \");\r\n\t\t\tfor( i = 0; i < arZone.length; i++) {\r\n\t\t\t\tword = arZone[i];\r\n\t\t\t\tzone += word.charAt(0);\r\n\t\t\t}\r\n\t\t\telemById( \"txtTimeZone\").textContent = zone;\r\n\t\t}\r\n\t\tdisplayTime = dateTime;\r\n \r\n if( tickTimer === null) {\r\n tickTimer = setInterval( tick, 1000);\r\n }\r\n\t}\r\n \r\n function formatTime( time) {\r\n var hours = \"\";\r\n var minutes = \"\";\r\n var seconds = \"\";\r\n var ampm = \"AM\";\r\n \r\n hours = time.getHours();\r\n if( hours > 12) {\r\n hours = hours - 12;\r\n ampm = \"PM\";\r\n }\r\n minutes = (time.getMinutes() < 10) ? \"0\" + time.getMinutes() : time.getMinutes();\r\n seconds = (time.getSeconds() < 10) ? \"0\" + time.getSeconds() : time.getSeconds();\r\n \r\n\t\treturn hours + \":\" + minutes + \":\" + seconds + \" \" + ampm;\r\n }\r\n\t\r\n\tfunction getServerTimeHtml() {\r\n var html = document.createElement( \"div\");\r\n var par = document.createElement( \"p\");\r\n var span = document.createElement( \"span\");\r\n \r\n html.style.color = config.serverTimeColor;\r\n html.setAttribute( \"id\", \"sTimeDisplay\");\r\n html.appendChild( par);\r\n \r\n span.setAttribute( \"id\", \"txtDate\");\r\n par.appendChild( span);\r\n \r\n span = document.createElement( \"span\");\r\n span.setAttribute( \"id\", \"txtTime\");\r\n par.appendChild( span);\r\n \r\n span = document.createElement( \"span\");\r\n span.setAttribute( \"id\", \"txtTimeZone\");\r\n par.appendChild( span);\r\n return html;\r\n }\r\n \r\n return {\r\n getServerTimeHtml: getServerTimeHtml,\r\n updateTimeFromServer: updateTimeFromServer\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n\r\n\r\nexpocadfx.pageSetup = (function() {\r\n\t'use strict';\r\n var data = expocadfx.fxData;\r\n var config = expocadfx.config;\r\n var fxStyle = expocadfx.styles;\r\n var txt = expocadfx.txt;\r\n var elem = expocadfx.element;\r\n var elemById = elem.elementById;\r\n var util = expocadfx.util;\r\n\tvar comparer = expocadfx.comparer;\r\n\tvar setupFloorPlanToolbar = expocadfx.setupFloorPlanToolbar;\r\n\tvar setupLanguageSelection = expocadfx.setupLanguageSelection;\r\n\tvar setupMiniMap = expocadfx.setupMiniMap;\r\n\tvar salesWindow = expocadfx.SalesWindow;\r\n \r\n var doc = document;\r\n var navList = doc.createElement( \"ul\");\r\n\t\r\n\t\r\n\t\r\n\tfunction setupExhibitorListHeader( btn) {\r\n\t\tvar exhFilter = elemById( \"exhibitorFilter\");\r\n\t\tvar textColor = (fxStyle.exhibitor.clrText !== \"\") ?\r\n\t\t\t\t\t\t\t\tfxStyle.exhibitor.clrText : fxStyle.mainHeader.clrText;\r\n\t\t\r\n\t\telemById( \"exhibitorListHeader\").style.backgroundColor = (fxStyle.exhibitor.clrBg !== \"\") ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfxStyle.exhibitor.clrBg : fxStyle.mainHeader.clrBg;\r\n\t\t\r\n\t\telemById( \"exhibitorListHeader\").style.color = textColor;\r\n\t\t\r\n\t\tif( config.hasMultipleViews && config.hasFloorPlan) {\r\n\t\t\texhFilter.appendChild( elem.filterItem( \"hall\", txt.EXHIBITOR_FILTER_HALL, false));\r\n\t\t}\r\n\t\texhFilter.appendChild( elem.filterItem( \"all\", txt.EXHIBITOR_FILTER_ALL, config.initialAllExhibitors));\r\n\t\texhFilter.appendChild( elem.filterItem( \"tag\", txt.EXHIBITOR_FILTER_TAGGED, false));\r\n\t\t// if needed - available booth option added from pgCtl\r\n\t\t\r\n\t\telemById( \"btnExhibitorListEmail\").style.color = config.DISABLED_GRAY;\r\n\t\telemById( \"btnExhibitorListEmail\").setAttribute( \"title\", txt.TT_EMAIL_TAGGED_BOOTHS);\r\n\t\t\t// won't work because color set in code!\r\n//\t\tutil.addClass( elemById( \"btnExhibitorListEmail\"), \"disabled\");\r\n\t\t\r\n\t\telemById( \"btnBoothListEmail\").style.color = config.DISABLED_GRAY;\r\n\t\telemById( \"btnBoothListEmail\").setAttribute( \"title\", txt.TT_EMAIL_TAGGED_BOOTHS);\r\n\t\tif( !data.smallLayout) {\r\n\t\t\tbtn.appendChild( elemById( \"exhibitors\"));\r\n\r\n\t\t\telemById( \"exhibitors\").style.height = 0;\r\n\t\t}\r\n\r\n\t\tif( config.hasMultipleViews && config.hasFloorPlan) {\r\n\t\t\tdata.filterExhibitorList = !config.initialAllExhibitors;\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction setupViewList( btn) {\r\n\t\tvar group = elemById( \"hallGroup\");\r\n\t\tvar bgColor = fxStyle.view.clrBg !== \"\" ? fxStyle.view.clrBg : fxStyle.mainHeader.clrBg;\r\n\t\tvar bgGrad = fxStyle.view.gradBg !== \"\" ? fxStyle.view.gradBg : fxStyle.view.clrBg === \"\" ?\r\n\t\t\tfxStyle.mainHeader.gradBg : \"\";\r\n\t\tvar txtColor = fxStyle.view.clrText !== \"\" ? fxStyle.view.clrText : fxStyle.mainHeader.clrText;\r\n\t\t\r\n\t\tdata.arViews.forEach( function( view, index) {\r\n\t\t\tgroup.appendChild( elem.makeViewThumb( view, index, bgColor, bgGrad, txtColor));\r\n\t\t});\t\r\n\t\t\r\n\t\tif( !data.smallLayout) {\r\n\t\t\tif( config.hasFloorPlan) {\r\n\t\t\t\tbtn.appendChild( elemById( \"views\"));\r\n\t\t\t\telemById( \"views\").style.height = 0;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\telemById( \"views\").className = \"carousel-left\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction addNavButtons() {\r\n\t\tvar btn = elem.makeButton( \"btnEx\", txt.EXHIBITOR_LIST, fxStyle.exhibitor, fxStyle.mainHeader);\r\n\t\tnavList.appendChild( btn);\r\n\t\t\r\n\t\tsetupExhibitorListHeader( btn);\r\n\t\t\r\n\t\tif( data.smallLayout && config.hasFloorPlan) {\r\n\t\t\tnavList.appendChild( elem.makeButton( \"btnFp\", txt.FLOOR_PLAN, fxStyle.floorplan, \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfxStyle.mainHeader));\r\n\t\t}\r\n\t\t\r\n\t\tif( config.hasMultipleViews && config.salesMode !== \"exhibitor\") {\r\n if( data.smallLayout || config.hasFloorPlan) {\r\n btn = elem.makeButton( \"btnVi\", txt.VIEW_LIST, fxStyle.view, fxStyle.mainHeader);\r\n navList.appendChild( btn);\r\n }\r\n\t\t\t\r\n\t\t\tsetupViewList( btn);\r\n\t\t}\r\n\t\t\r\n\t\tif( !config.bHideAvailableList && !( config.hasMultipleViews && !config.hasFloorPlan) ) {\r\n\t\t\tnavList.appendChild( elem.makeButton( \"btnAv\", txt.AVAILABLE_LIST, fxStyle.availableBooth, \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfxStyle.mainHeader));\r\n\t\t}\r\n\t\tif( config.bCategoryData) {\r\n\t\t\tnavList.appendChild( elem.makeButton( \"btnCa\", txt.CATEGORY_LIST, fxStyle.category, \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfxStyle.mainHeader));\r\n\t\t}\r\n\t\tif( config.bPavilionData) {\r\n\t\t\tnavList.appendChild( elem.makeButton( \"btnPa\", txt.PAVILION_LIST, fxStyle.pavilion, \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfxStyle.mainHeader));\r\n\t\t}\r\n\t\tif( config.bSubShowData) {\r\n\t\t\tnavList.appendChild( elem.makeButton( \"btnSs\", txt.SHOW_IN_SHOW_LIST, fxStyle.subShow, \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfxStyle.mainHeader));\r\n\t\t}\r\n\t\tif( config.bCountryData && !config.bHideCountryList) {\r\n\t\t\tnavList.appendChild( elem.makeButton( \"btnCo\", txt.COUNTRY_LIST, fxStyle.country, \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfxStyle.mainHeader));\r\n\t\t}\r\n\t\t\r\n\t\tif( data.smallLayout) {\r\n\t\t\telemById( \"menu\").appendChild( navList);\r\n\t\t}\r\n\t\telse {\r\n\t\t\telemById(\"listWindow\").appendChild( navList); // accordion\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction addOperations() {\r\n\t\tvar menu = elemById( \"menu\");\r\n\t\tmenu.style.backgroundColor = fxStyle.rows.clrEvenBg;\r\n\t\tmenu.style.color = fxStyle.rows.clrEvenText;\r\n\t\tvar ops = doc.createElement( \"ul\");\r\n\t\tops.textContent = txt.FLOOR_PLAN_OPTIONS;\r\n if( config.hasFloorPlan) {\r\n if( config.bIAmHere) { // && data.device === \"other\"\r\n\t\t\t\t\r\n\t\t\t\tvar iahMenuLabel = txt.I_AM_HERE;\r\n\t\t\t\tvar iahToolTip = txt.TT_I_AM_HERE;\r\n\t\t\t\r\n\t\t\t\tif( config.elvis == true){\r\n\t\t\t\t\tiahMenuLabel = \"E L I™\";\r\n\t\t\t\t\tiahToolTip = \"Send a location\"\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif\t(config.elvis && data.queryCoord !== \"\"){\r\n\t\t\t\t\t//config.elvis = false; // URL intended for responder, no pass, remove ELI functionality\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tops.appendChild( elem.makeListItem( \"iah\", iahMenuLabel, iahToolTip));\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (config.wayCoords) {\r\n\t\t\t\t\t//TODO: Wayfinding function!\r\n\t\t\t\t\t//ops.appendChild( elem.makeListItem( \"wayfind\", \"Wayfinder\" ));\r\n\t\t\t\t}\r\n\t\t\t\t\r\n }\r\n\r\n if( config.bPDF && config.bFloorPlanPrint) {\r\n ops.appendChild( elem.makeListItem( \"pdf\", txt.PRINTABLE_PDF, txt.TT_OPEN_PDF, null));\r\n }\r\n\r\n if( config.bFloorPlanPrint) {\r\n ops.appendChild( elem.makeListItem( \"prtFp\", txt.PRINT_FLOORPLAN));\r\n ops.appendChild( elem.makeListItem( \"prtWin\", txt.PRINT_WINDOW));\r\n }\r\n\t\t\t\r\n\t\t\tmenu.appendChild( ops);\r\n\t\t}\r\n\t}\r\n\t\r\n function addMenuItems() {\r\n var menu = elemById( \"menu\");\r\n\t\tvar item = null;\r\n\t\tvar ops = doc.createElement( \"ul\");\r\n\t\tops.textContent = txt.MENU_VIEW;\r\n\t\t\r\n if( config.hasFloorPlan) {\r\n\t\t\tif( !config.bUnitsButton) {\r\n\t\t\t\telemById( \"btnUnits\").style.display = \"none\";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tops.appendChild( elemById( \"btnUnits\"));\r\n\t\t\t}\r\n\t\t\t\r\n if( config.bLegend) {\r\n if( data.smallLayout || !config.legendOpen) {\r\n ops.appendChild( elem.makeListItem( \"btnLegend\", txt.LEGEND));\r\n }\r\n else {\r\n ops.appendChild( elem.makeListItem( \"btnLegend\", txt.LEGEND, \"\", \"icon-check\"));\r\n }\r\n }\r\n \r\n if( config.bBuilding) {\r\n ops.appendChild( elem.makeListItem( \"build\", txt.BUILDING, \"\", \"icon-check\"));\r\n }\r\n\t\t\t\r\n if( config.bMiniMap && !data.smallLayout) {\r\n if( config.bMiniMapOpen) {\r\n ops.appendChild( elem.makeListItem( \"map\", txt.MINI_MAP, \"\", \" icon-check\"));\r\n }\r\n else {\r\n ops.appendChild( elem.makeListItem( \"map\", txt.MINI_MAP));\r\n }\r\n\t\t\t}\r\n\t\t\t//Toggling the Minimap's 'X' button to also toggle 'icon-check' on menu\r\n\t\t\tif(!data.smallLayout && document.body.contains(document.getElementById(\"minimap\"))){\r\n\t\t\t\tdocument.getElementById(\"minimap\").querySelector(\".closeBtn\").addEventListener(\"click\", function(){\r\n\t\t\t\t\tvar mapItem = document.getElementById(\"map\");\r\n\t\t\t\t\tmapItem.classList.remove(\"icon-check\")\r\n\t\t\t\t})\r\n\t\t\t\tdocument.getElementById(\"minimap\").querySelector(\".Xtop\").addEventListener(\"click\", function(){\r\n\t\t\t\t\tvar mapItem = document.getElementById(\"map\");\r\n\t\t\t\t\tmapItem.classList.remove(\"icon-check\")\r\n\t\t\t\t})\r\n\t\t\t} \r\n\t\t\tif(!config.bToolbar && config.is3d || data.smallLayout && config.is3d){\r\n\t\t\t\t//if(data.smallLayout ) {\r\n\t\t\t\t\tif( config.openIn3D) {\r\n\t\t\t\t\t\tops.appendChild( elem.makeListItem( \"show3d\", txt.SMALL_SHOW_3D, \"\", \"icon-check\"));\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tops.appendChild( elem.makeListItem( \"show3d\", txt.SMALL_SHOW_3D));\r\n\t\t\t\t\t}\r\n\t\t\t\t//}\r\n\t\t\t}\r\n if( config.bDimensions) {\r\n\t\t\t\tif( config.is3d && config.openIn3D) {\r\n\t\t\t\t\titem = elem.makeListItem(\"bthDimensions\", txt.MENU_DIMENSIONS);\r\n\t\t\t\t\tutil.addClass( item, \"disabled\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif( config.showDimensions){\r\n\t\t\t\t\t\titem = elem.makeListItem(\"bthDimensions\", txt.MENU_DIMENSIONS, \"\", \"icon-check\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\titem = elem.makeListItem(\"bthDimensions\", txt.MENU_DIMENSIONS);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n ops.appendChild( item);\r\n }\r\n\t\t\tmenu.appendChild( ops);\r\n\t\t\t// placeholder for technical layer controls( if needed) to keep them with View\r\n\t\t\tops = doc.createElement( \"ul\");\r\n\t\t\tops.setAttribute( \"id\", \"techLayersMenu\");\r\n\t\t\tops.style.display = \"none\";\r\n\t\t\tmenu.appendChild( ops);\r\n// menu.appendChild( elem.makeListItem( \"shCoords\", txt.SHOW_COORDS));\r\n }\r\n/////////////// end of view controls ///////////////////////\r\n \r\n\t\tif( config.languages.length > 1) {\r\n\t\t\tsetupLanguageSelection( menu);\r\n\t\t}\r\n\t\t\r\n if( config.bListPrint) {\r\n menu.appendChild( elem.makeListItem( \"prtList\", txt.TT_PRINT_LIST));\r\n util.addClass( elemById( \"prtList\"), \"disabled\");\r\n }\r\n menu.appendChild( elem.makeListItem( \"help\", txt.VIEW_HELP));\r\n }\r\n\t\r\n\tfunction floorPlanReadyHandler() {\r\n\t\tdoc.removeEventListener( \"Floor_Plan_Ready\", floorPlanReadyHandler);\r\n\t\tutil.addClass( elemById( \"listWindow\"), \"nav-closed\");\r\n\t\tutil.addClass( elemById( \"btnListHide\"), \"closed\");\r\n\t}\r\n\t\r\n function initializePages() {\r\n var i = 3;\r\n var style = doc.createElement( \"style\");\r\n\t\tvar sheet = null;\r\n\t\tvar rule = \"\";\r\n\t\t\r\n\r\n\t\tif( data.smallLayout) {\r\n\t\t\t// add text before appending children!\r\n\t\t\tnavList.textContent = txt.NAVIGATION;\r\n\t\t\tnavList.setAttribute( \"id\", \"menuNavigation\");\r\n\t\t}\r\n\t\t\r\n\t\tvar clrMainBg = fxStyle.mainHeader.clrBg;\r\n var clrMainText = fxStyle.mainHeader.clrText;\r\n\t\t\r\n if( config.showLists) {\r\n\t\t\taddNavButtons();\r\n\t\t\t\r\n\t\t\tif( !data.smallLayout) {\r\n\t\t\t\telemById( \"listWindow\").style.backgroundColor = clrMainBg;\r\n\t\t\t\telemById( \"listWindow\").style.color = clrMainText;\r\n\t\t\t\telemById( \"listWindow\").style.display = \"block\";\r\n\t\t\t\telemById( \"btnListHide\").style.backgroundColor = elemById( \"btnMenu\").style.backgroundColor;\r\n\t\t\t\telemById( \"btnListHide\").style.color = elemById( \"btnMenu\").style.color;\r\n\t\t\t\telemById( \"listWindow\").appendChild( navList); // accordion\r\n\t\t\t\t\r\n\t\t\t\tdata.initialAccordionHeight = elemById(\"listWindow\").offsetHeight;\r\n\t\t\t}\r\n }\r\n\r\n\t\taddOperations();\r\n\t\t\r\n if( config.hasMultipleViews && !config.hasFloorPlan) {\r\n elemById( \"floorplan\").style.display = \"none\";\r\n\t\t\t\telemById( \"btnUnits\").style.display = \"none\";\r\n data.filterExhibitorList = false; // never filter\r\n \r\n if( !data.smallLayout) {\r\n elemById( \"vt\").textContent = txt.VIEW_LIST;\r\n }\r\n }\r\n \r\n if( config.hasFloorPlan) {\r\n if( !data.smallLayout) {\r\n if( config.bMiniMap && !data.smallLayout) {\r\n setupMiniMap();\r\n }\r\n } \r\n \r\n if( config.bToolbar) {\r\n setupFloorPlanToolbar();\r\n }\r\n\t\t\t\r\n if( !data.smallLayout && config.viewName !== \"\" && config.showLists) {\r\n elemById( \"btnListHide\").style.display = \"block\";\r\n\t\t\t\t\r\n elemById( \"btnListHide\").addEventListener( \"click\", function() {\r\n\t\t\t\t\tutil.toggleClass( elemById( \"btnListHide\"), \"closed\");\r\n util.toggleClass( elemById( \"listWindow\"), \"nav-closed\");\r\n });\r\n }\r\n else {\r\n elemById( \"btnListHide\").style.display = \"none\";\r\n }\r\n\t\t\tif(elemById( \"listWindow\"), \"nav-closed\"){\r\n\t\t\t\telemById( \"btnListHide\").addEventListener( \"click\", function() {\r\n util.toggleClass( elemById( \"listWindow\"), \"nav-open\");\r\n });\r\n\t\t\t}\r\n\t\t\tif( !config.defaultListWindowOpen) {\r\n\t\t\t\tdoc.addEventListener( \"Floor_Plan_Ready\", floorPlanReadyHandler);\r\n\t\t\t}\r\n }\r\n\t\t\r\n addMenuItems();\r\n\t\t\r\n\t/////////////////// ADD STYLE SHEET /////////////////////////////////////////////////\r\n\t\tdoc.head.appendChild(style);\r\n\t\tsheet = style.sheet;\r\n \r\n if( config.hasFloorPlan && config.bUnitsButton) {\r\n // always needed to set text in slide button\r\n sheet.insertRule( '#btnUnits .slideswitch_inner:before { content: \"M\"}', 0);\r\n sheet.insertRule( '#btnUnits .slideswitch_inner:after { content: \"Ft\"}', 0);\r\n sheet.insertRule( '#btnUnits .slideswitch_inner { color:' + \"white\" + '}', 0);\r\n\r\n var sldBut = elemById( \"btnUnits\").getElementsByTagName(\"button\")[0];\r\n sldBut.style.backgroundColor = clrMainBg;\r\n sldBut.style.color = clrMainText;\r\n if( config.units === \"M\") {\r\n util.addClass( elemById( \"btnUnits\"), \"on\");\r\n }\r\n }\r\n if( fxStyle.rows.clrOddBg !== \"\") {\r\n sheet.insertRule( '.odd { background-color:' + fxStyle.rows.clrOddBg + '}', 0);\r\n }\r\n if( fxStyle.rows.clrEvenBg !== \"\") {\r\n sheet.insertRule( '.even { background-color:' + fxStyle.rows.clrEvenBg + '}', 0);\r\n }\r\n \r\n if( fxStyle.rows.clrOddText !== \"\") {\r\n sheet.insertRule( '.odd { color:' + fxStyle.rows.clrOddText + '}', 0);\r\n }\r\n if( fxStyle.rows.clrEvenText !== \"\") {\r\n sheet.insertRule( '.even { color:' + fxStyle.rows.clrEvenText + '}', 0);\r\n }\r\n \r\n sheet.insertRule( '.icon-star-filled:before { color:' + config.clrHighlight + '}', 0);\r\n\t\t\r\n\t\t\t// for Premium or Featured exhibitors\r\n\t\tif( data.premiumLevels.length > 0) {\r\n\t\t\tdata.premiumLevels.sort( comparer( \"level\", true));\r\n\t\t\t\r\n\t\t\tfor( i = 0; i < data.premiumLevels.length; i++) {\r\n\t\t\t\trule = \".p\" + data.premiumLevels[i].level + \"{background-color:\" +\r\n\t\t\t\t\t\t\t\tdata.premiumLevels[i].clrBackground + \";color:\" +\r\n\t\t\t\t\t\t\t\tdata.premiumLevels[i].clrText + \";}\";\r\n\t\t\t\t\r\n\t\t\t\tsheet.insertRule( rule, 0);\r\n\t\t\t\t\r\n\t\t\t\trule = \".icon-premium\" + data.premiumLevels[i].level + \":after{content:'\\\\\" +\r\n\t\t\t\t\t\t\t\tdata.premiumLevels[i].iconCode + \"';cursor:pointer;}\";\r\n\t\t\t\t\r\n\t\t\t\tsheet.insertRule( rule, 0);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t/////////////////////////// SET TEXT //////////////////////////////////////////////\r\n if(config.isXML){\r\n\t\t\telemById( \"expolink\").textContent = \"EXPOCAD® FX\";\r\n\t\t}\r\n\t\telse{\r\n\t\t\telemById( \"expolink\").textContent = \"3e powered by EXPOCAD®\";\r\n\t\t\telemById( \"expolink\").style.color = fxStyle.footer.clrText;\r\n\t\t}\r\n elemById( \"txtCr\").textContent = txt.COPYRIGHT;\r\n elemById( \"txtVer\").textContent = txt.VERSION + data.version;\r\n elemById( \"menuLabel\").textContent = txt.MENU;\r\n elemById( \"unitsLabel\").textContent = txt.UNITS;\r\n elemById( \"exhibitorSearch\").setAttribute( \"placeholder\", txt.SEARCH_PROMPT);\r\n \r\n if( !config.bHideFloorPlanDate) {\r\n elemById( \"dftnt\").textContent = txt.CURRENT + config.lastSaved;\r\n\t\t}\r\n\t\t\r\n\t\tif(config.salesMode !== \"none\"){\r\n\t\t\telemById( \"dftnt\").textContent = \"LIVE\";\r\n\t\t}\r\n }\r\n \r\n\t\r\n function removeAvailableBoothButton() {\r\n var btn = elemById( \"btnAv\");\r\n if( btn) {\r\n navList.removeChild( btn);\r\n }\r\n }\r\n\t\r\n\tfunction addTechMenu( isTwoD) {\r\n\t\tvar menuGroup = elemById( \"techLayersMenu\");\r\n\t\tvar item = null;\r\n\t\tvar makeVisible = false;\r\n\t\t\r\n\t\tmenuGroup.textContent = txt.MENU_TECH_LAYERS;\r\n\t\t\r\n\t\tdata.arTechLayers.forEach( function( group) {\r\n\t\t\tif( group.graphics.length > 0 || group.txt.length > 0) {\r\n\t\t\t\t\r\n\t\t\t\tif( group.visible){\r\n\t\t\t\t\titem = elem.makeListItem( \"layer \" + group.id, group.name, \"\", \"icon-check\");\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\titem = elem.makeListItem( \"layer \" + group.id, group.name, \"\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tmenuGroup.appendChild( item);\r\n\t\t\t\tif( !isTwoD) {\r\n\t\t\t\t\tutil.addClass( item, \"disabled\");\r\n\t\t\t\t}\r\n\t\t\t\tdata.arLayersMenuItems.push( item);\r\n\t\t\t\tmakeVisible = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tif( makeVisible) {\r\n\t\t\tmenuGroup.style.display = \"block\";\r\n\t\t}\r\n\t}\r\n \r\n\t\t// only affects mini map and sales window\r\n function resizeHandler() {\r\n if( data.miniMap) {\r\n if( !data.userMovedMap) {\r\n data.miniMap.window.style.top = elemById(\"appContent\").clientHeight - 204 + \"px\";\r\n data.miniMap.window.style.left = elemById(\"appContent\").clientWidth - 270 + \"px\";\r\n }\r\n else {\r\n if( data.miniMap.window.offsetTop + 204 > elemById(\"appContent\").offsetHeight) {\r\n data.miniMap.window.style.top = elemById(\"appContent\").clientHeight - 204 + \"px\";\r\n }\r\n\r\n if( data.miniMap.window.offsetLeft + 270 > elemById(\"appContent\").clientWidth) {\r\n data.miniMap.window.style.left = elemById(\"appContent\").clientWidth - 270 + \"px\";\r\n }\r\n }\r\n\t\t}\r\n\t\tif( data.salesWindow){\r\n\t\t\tif( !data.userMovedMapSales) {\r\n data.salesWindow.window.style.top = elemById(\"appContent\").clientHeight - 680 + \"px\";\r\n data.salesWindow.window.style.left = elemById(\"appContent\").clientWidth - 410 + \"px\";\r\n }\r\n else {\r\n if( data.salesWindow.window.offsetTop + 204 > elemById(\"appContent\").offsetHeight) {\r\n data.salesWindow.window.style.top = elemById(\"appContent\").clientHeight - 1080 + \"px\";\r\n }\r\n\r\n if( data.salesWindow.window.offsetLeft + 410 > elemById(\"appContent\").clientWidth) {\r\n data.salesWindow.window.style.left = elemById(\"appContent\").clientWidth - 470 + \"px\";\r\n }\r\n }\r\n\t\t}\r\n }\r\n \r\n \r\n return {\r\n\t\taddTechMenu: addTechMenu,\r\n initializePages: initializePages,\r\n removeAvailableBoothButton: removeAvailableBoothButton,\r\n resize: resizeHandler\r\n };\r\n}());\r\n ","\r\n/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n/* global getCredentials */\r\n\r\nvar expocadfx = expocadfx || {};\r\n\r\nexpocadfx.Sales = function() {\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n var FxEvent = expocadfx.fxevent;\r\n var util = expocadfx.util;\r\n var localStorage = expocadfx.localStorage;\r\n var load = expocadfx.loadScript\r\n var arBoothGraphics = data.boothGraphics;\r\n \r\n // Sales Commands from menu\r\n var CMD_RENT = 0;\r\n var CMD_UNRENT = 1;\r\n var CMD_HOLD = 2;\r\n var CMD_UNHOLD = 3;\r\n var CMD_COMBINE = 4;\r\n var CMD_UNCOMBINE = 5;\r\n var CMD_DELETE = 6;\r\n var CMD_UNDELETE = 7;\r\n var CMD_NEW_EXHIBITOR = 8;\r\n var CMD_DIVIDE = 9;\r\n\tvar CMD_EVENT_STATISTICS = 10;\r\n var CMD_CHANGE_NUMBER = 11;\r\n var CMD_HATCH_BOOTHS = 12;\r\n \r\n var CMD_OPEN_EVENT = 51;\r\n var CMD_EXHIBITOR_LOGIN = 52;\r\n \r\n // EXPOCAD EDGE API command definitions //\r\n var CMDACTION_RENTBOOTH = 200;\r\n var CMDACTION_UNRENTBOOTH = 201;\r\n var CMDACTION_HOLDBOOTH = 202;\r\n var CMDACTION_UNHOLDBOOTH = 203;\r\n var CMDACTION_MOVEEXHIBITOR = 204;\r\n var CMDACTION_BOOTHNAMEOVERRIDE = 205;\r\n var CMDACTION_ADDCHILDEXHIBITOR = 206;\r\n var CMDACTION_REMOVECHILDEXHIBITOR = 207;\r\n var CMDACTION_DELETEBOOTH = 400;\r\n var CMDACTION_UNDELETEBOOTH = 401;\r\n var CMDACTION_CHANGEBOOTHNUMBER = 402;\r\n var CMDACTION_CREATEBOOTH = 403;\r\n var CMDACTION_MOVEBOOTH = 404;\r\n var CMDACTION_COMBINEBOOTH = 500;\r\n var CMDACTION_UNCOMBINEBOOTH = 501;\r\n var CMDACTION_RESIZE = 1000;\r\n// var CMDACTION_SETSHOWINSHOW = 1100;\r\n// var CMDACTION_CLEARSHOWINSHOW = 1101;\r\n// var CMDACTION_CREATEPAVILION = 1200;\r\n// var CMDACTION_DELETEPAVILION = 1201;\r\n// var CMDACTION_ADDBOOTHTOPAVILION = 1202;\r\n// var CMDACTION_REMOVEBOOTHFROMPAV = 1203;\r\n \r\n var LOST_CONNECTION = \"lost_connection\";\r\n \r\n var commandLabels = [];\r\n \r\n var token = \"\";\r\n var bSyncInProgress = false;\r\n var bSyncFromLogin = false;\r\n var bRequestPending = false;\r\n var arPendingBooths = [];\r\n var arPendingRequests = [];\r\n var fp = null;\r\n var mgr = null;\r\n var syncTimer = null;\r\n \r\n var lastMsgNumber = data.lastMessageNumber;//-1;\r\n var totalMessages = 0; // for progress bar\r\n var messagesProcessed = 0; // for progress bar\r\n var totalBooths = 0;\r\n var boothsDone = 0;\r\n \r\n var pollInterval = 10; // in seconds\r\n \r\n var readyForUpdates = false;\r\n var loggedIn = false;\r\n var externalLogout = false;\r\n var loggedInFromCredentials = false;\r\n\r\n function init( dataManager) {\r\n mgr = dataManager;\r\n }\r\n \r\n function setConnectionParams( t) {\r\n token = t;\r\n }\r\n \r\n function addToPending( bth) {\r\n var index = findInArray( bth);\r\n if( index === -1) {\r\n arPendingBooths.push( bth);\r\n }\r\n }\r\n \r\n function removeFromPending( bth) {\r\n var index = findInArray( bth);\r\n if( index !== -1) {\r\n arPendingBooths.splice( index, 1);\r\n }\r\n }\r\n \r\n function findInArray( bth) {\r\n var i = 0;\r\n var len = arPendingBooths.length;\r\n for( i = 0; i < len; i++) {\r\n if( arPendingBooths[i].number === bth.number) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n }\r\n \r\n function sendPendingRequest() {\r\n var obj = arPendingRequests.shift();\r\n bRequestPending = true;\r\n sendRequest( obj.type, obj.url, obj.cb, obj.params, obj.token);\r\n }\r\n \r\n function addRequest( type, url, callback, params) {\r\n if( bRequestPending) {\r\n arPendingRequests.push( { type: type, url: url, cb: callback, params: params, token: token} );\r\n }\r\n else {\r\n bRequestPending = true;\r\n sendRequest( type, url, callback, params, token);\r\n } \r\n }\r\n \r\n function checkForMore() {\r\n if( bSyncInProgress) {\r\n requestLogMessages();\r\n }\r\n else if( arPendingBooths.length > 0) {\r\n requestBoothInfo( arPendingBooths);\r\n }\r\n // else if( pendingExhibitors) ....\r\n else {\r\n if( bSyncFromLogin) {\r\n bSyncFromLogin = false;\r\n readyForUpdates = true;\r\n document.dispatchEvent( new FxEvent( \"Sync_Progress\", {\"prog\": 1}));\r\n }\r\n \r\n if( arPendingRequests.length > 0) {\r\n sendPendingRequest();\r\n }\r\n else {\r\n bRequestPending = false;\r\n if( syncTimer) {\r\n clearTimeout( syncTimer);\r\n }\r\n if( loggedIn) {\r\n syncTimer = setTimeout( syncWithEdge, pollInterval * 1000);\r\n }\r\n }\r\n }\r\n }\r\n \r\n function syncWithEdge() {\r\n if( readyForUpdates) {\r\n bSyncInProgress = true;\r\n if( !bRequestPending) {\r\n requestLogMessages();\r\n }\r\n }\r\n }\r\n \r\n function syncNow( loginFlag) { // called from 'salesWindow' to force update\r\n bSyncInProgress = true;\r\n if( loginFlag) {\r\n bSyncFromLogin = true;\r\n boothsDone = 0;\r\n }\r\n if( syncTimer) {\r\n clearTimeout( syncTimer); // if timer stopped, what restarts it\r\n }\r\n requestLogMessages();\r\n }\r\n \r\n function getBoothObject( bthNum) {\r\n var bthObj = util.findBoothObject( bthNum, data.booths);\r\n \r\n if( bthObj === null) {\t\t\t// new booth, uncombine, divide\r\n bthObj = fp.newBooth( bthNum);\r\n bthObj.exhibitorIndex = String( mgr.newExhibitor( bthNum, bthObj.index));\r\n }\r\n return bthObj;\r\n }\r\n \r\n function cbBoothInfo( msg) { // now returns an array of booths\r\n var boothObj = null;\r\n var bthNum;\r\n var font;\r\n var i = 0;\r\n var txt;\r\n\t\tvar numBooths = 0;\r\n\t\tvar boothIndex = 0;\r\n var graphic = null;\r\n var currentMsg = null;\r\n var progress = 0;\r\n \r\n if( msg) {\r\n if( msg.hasOwnProperty( \"Code\")) {\r\n console.log( \"ERROR: \" + msg.Code + \" Msg: \" + msg.Message);\r\n if( msg.Code !== 404) {\r\n // alert( \"Unknown Error Code \" + msg.Code + \" from GetBoothInfo. \" + \r\n // msg.Message);\r\n swal(\"\", \"Unknown Error Code \" + msg.Code + \" from GetBoothInfo. \" + \r\n msg.Message, \"error\");\r\n }\r\n return;\r\n }\r\n numBooths = msg.length;\r\n for( boothIndex = 0; boothIndex < numBooths; boothIndex++) {\r\n currentMsg = msg[boothIndex];\r\n\t\t\t\tbthNum = currentMsg.BoothNumber.replace(/^\\s+|\\s+$/g,'');\r\n \r\n\t\t\t\tboothObj = util.findBoothObject( bthNum, data.booths);\r\n \r\n if( boothObj === null) {\r\n console.log( \"booth null for number: \" + bthNum);\r\n }\r\n \r\n // clear existing graphics\r\n graphic = boothObj.graphic;\r\n\t\t\t\tgraphic.path = [];\r\n\t\t\t\t\r\n\t\t\t\tgraphic.numPoints = currentMsg.NumCorners;\r\n\t\t\t\tfor (i = 0; i < graphic.numPoints; i++) {\r\n\t\t\t\t\tgraphic.path.push( { x:currentMsg.Corners[i].X, y:currentMsg.Corners[i].Y});\r\n\t\t\t\t}\r\n\t\t\t\tfp.getBoothMinMax( graphic);\r\n\t\t\t\t\r\n\t\t\t\tboothObj.areaF = currentMsg.Area;\r\n\t\t\t\tboothObj.areaM = currentMsg.MArea;\r\n\t\t\t\tboothObj.dimF = currentMsg.Size;\r\n\t\t\t\tboothObj.dimM = currentMsg.MSize;\r\n\t\t\t\tboothObj.flyout = currentMsg.Flyout ? currentMsg.Flyout : \"\"; \r\n \r\n if( currentMsg.IsRented) {\r\n boothObj.status = fp.BOOTH_RENTED;\r\n }\r\n else if( currentMsg.IsOnHold) {\r\n boothObj.status = fp.BOOTH_HOLD;\r\n // ???? update legend if not showing hold.\r\n }\r\n else if( currentMsg.IsDeleted) {\r\n boothObj.status = fp.BOOTH_AVAILABLE;\r\n mgr.deleteDisplayBooth( boothObj.number);\r\n }\r\n \r\n mgr.addDisplayBooth( boothObj);\t\t// if object needed\r\n \r\n\t\t\t\tgraphic.expColor = util.fixColor(currentMsg.Color);\r\n\t\t\t\tgraphic.lineWeight = 1;\r\n\t\t\t\tgraphic.alpha = config.BOOTH_ALPHA;\t\r\n \r\n\t\t\t\tfp.getBoothColor( graphic, boothObj.status);\r\n\t\t\t\t\r\n // ?? gradient ??\r\n if( config.bBoothGradient && graphic.fillColor !== \"\") {\r\n graphic.strokeColor = graphic.fillColor;\r\n graphic.fillStyle = fp.createBoothGradient( graphic);\r\n }\r\n else {\r\n graphic.fillStyle = graphic.fillColor;\r\n }\r\n \r\n graphic.displayColor = boothObj.graphic.fillStyle;\r\n \r\n\t\t\t\tif( currentMsg.NumberExhibitorText > 0) {\r\n\t\t\t\t\tfor( i = 0; i < currentMsg.NumberExhibitorText; i++) {\r\n\t\t\t\t\t\tfont = currentMsg.ExhibitorTexts[i].TextSize + \"px \" + config.FLOOR_PLAN_FONT;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t// in test cases, isDimension from JSON string converted to integer! so \"==\"\r\n\t\t\t\t\t\ttxt = {\r\n\t\t\t\t\t\t\tx: parseInt( currentMsg.ExhibitorTexts[i].Nx, 10),\r\n\t\t\t\t\t\t\ty: parseInt( currentMsg.ExhibitorTexts[i].Ny, 10),\r\n\t\t\t\t\t\t\tdRot: parseInt( currentMsg.ExhibitorTexts[i].Rotation, 10),\r\n\t\t\t\t\t\t\trotation: parseInt( currentMsg.ExhibitorTexts[i].Rotation, 10)*Math.PI/180,\r\n\t\t\t\t\t\t\ttext: currentMsg.ExhibitorTexts[i].Text,\r\n\t\t\t\t\t\t\tfontSize: currentMsg.ExhibitorTexts[i].TextSize,\r\n\t\t\t\t\t\t\tfont: font,\r\n\t\t\t\t\t\t\tfill: config.clrBoothText,\r\n\t\t\t\t\t\t\tisDimension: Boolean( currentMsg.ExhibitorTexts[i].isDimension)\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif( txt.isDimension) {\r\n\t\t\t\t\t\t\ttxt.fill = config.clrBoothDimensions;\r\n\t\t\t\t\t\t\tgraphic.dimensionText.push( txt);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tgraphic.text.push( txt);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tfont = currentMsg.TextSize + \"px \" + config.FLOOR_PLAN_FONT;\r\n\t\t\t\ttxt = {\r\n\t\t\t\t\tx: parseInt( currentMsg.Nx, 10),\r\n\t\t\t\t\ty: parseInt( currentMsg.Ny, 10),\r\n\t\t\t\t\tdRot: parseInt( currentMsg.Rotation, 10),\r\n\t\t\t\t\trotation: parseInt( currentMsg.Rotation, 10)*Math.PI/180,\r\n\t\t\t\t\ttext: bthNum,\r\n\t\t\t\t\tfontSize: currentMsg.TextSize,\r\n\t\t\t\t\tfont: font,\r\n\t\t\t\t\tfill: config.clrBoothText\r\n\t\t\t\t};\r\n \r\n\t\t\t\tgraphic.text.push( txt);\r\n\t\t\t\t\r\n\t\t\t\tif( bSyncFromLogin) {\r\n\t\t\t\t\tboothsDone += 1;\r\n\t\t\t\t\tprogress = 0.5 * (boothsDone / totalBooths) + 0.5;\r\n\t\t\t\t\tdocument.dispatchEvent( new FxEvent( \"Sync_Progress\", { \"prog\": progress} ));\r\n\t\t\t\t}\r\n\t\t\t}\r\n fp.updateBooth( boothObj);\r\n\t\t\tif( boothObj.number === data.pendingZoomBoothNumber) {\r\n\t\t\t\tdocument.dispatchEvent( new FxEvent( \"Booth_Selected\", {boothIndex: boothObj.index} ));\r\n\t\t\t\tdata.pendingZoomBoothNumber = \"\";\r\n\t\t\t}\t\r\n }\r\n bRequestPending = false;\r\n checkForMore();\r\n }\r\n \r\n function requestLogMessages() {\r\n var reqUrl = \"fx/actions\";\r\n \r\n if(config.isXML){\r\n reqUrl += \"?databaseName=\" + encodeURIComponent( config.eventName);\r\n \r\n if ( config.hasMultipleViews) {\r\n reqUrl += \"&viewName=\" + encodeURIComponent( config.viewTitle);\r\n }\r\n \r\n reqUrl += \"&idx=\" + lastMsgNumber;\r\n }\r\n else{\r\n reqUrl += \"?idx=\" + lastMsgNumber;\r\n\r\n if ( config.hasMultipleViews) {\r\n reqUrl += \"&viewName=\" + encodeURIComponent( config.apiView);\r\n }\r\n }\r\n\r\n \r\n \r\n if( lastMsgNumber === undefined) {\r\n return;\r\n }\r\n addRequest( \"GET\", reqUrl, cbLogMessage, null, token);\r\n }\r\n \r\n function requestBoothInfo( arBooths) {\r\n var reqUrl = \"fx/boothInfo?\";\r\n var booth = null;\r\n \r\n if(config.isXML){\r\n reqUrl += \"databaseName=\" + encodeURIComponent( config.eventName);\r\n \r\n // Should be added regardless of XML/JSON version\r\n //if(config.hasMultipleViews){\r\n // reqUrl += \"&viewName=\" + encodeURIComponent( config.viewTitle);\r\n //}\r\n }\r\n \r\n // limit url to 2083 characters - IE, 2048 IIS ?, 4000 chars Apache\r\n while( arBooths.length > 0 && reqUrl.length + arBooths[0].number.length < 2040) {\r\n booth = arBooths.shift();\r\n reqUrl += \"&booths=\" + encodeURIComponent( booth.number);\r\n\r\n // This shouldn't need to be added per booth and might be causing problems.. -ANH 6/2/2021\r\n //if(config.hasMultipleViews){\r\n // reqUrl += \"&viewName=\" + encodeURIComponent( config.viewTitle);\r\n //}\r\n }\r\n\r\n if(config.hasMultipleViews){\r\n if(config.isXML){\r\n reqUrl += \"&viewName=\" + encodeURIComponent( config.viewTitle);\r\n }\r\n else{\r\n reqUrl += \"&viewName=\" + encodeURIComponent( config.apiView);\r\n }\r\n \r\n }\r\n\r\n addRequest( \"GET\", reqUrl, cbBoothInfo);\r\n }\r\n \r\n function openEvent( user, password, eventName) {\r\n var reqUrl = \"fx/login\";\r\n var credentials = btoa( user + \":\" + password);\r\n \r\n reqUrl += \"?creds=\" + credentials;\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( eventName);\r\n \r\n bRequestPending = true;\r\n \r\n// console.log( \"sending open event: \" + eventName + \" creds: \" + credentials);\r\n sendRequest( \"POST\", reqUrl, cbOpenEvent);\r\n }\r\n\r\n function enterMode (mode,token) {\r\n var reqUrl = \"fx/entermode\";\r\n \r\n reqUrl += \"?mode=\" + mode;\r\n \r\n bRequestPending = true;\r\n \r\n// console.log( \"sending open event: \" + eventName + \" creds: \" + credentials);\r\n sendRequest( \"POST\", reqUrl, cbOpenEvent, null, token);\r\n }\r\n \r\n function cbOpenEvent( msg) {\r\n var loc = \"\";\r\n var result = false;\r\n bRequestPending = false;\r\n\r\n if(!config.isXML){\r\n msg.Token = true;\r\n }\r\n \r\n if( msg && msg.Token) {\r\n \r\n if(config.isXML){\r\n token = msg.Token;\r\n }\r\n \r\n loggedIn = true;\r\n result = true;\r\n\t\t\t\r\n// console.log( \" open event callback - token: \" + msg.Token);\r\n // ONLY STORE IF ID AND PASSWORD FROM LOGIN SCREEN, NOT FROM MESSAGE\r\n\t\t\tif( !loggedInFromCredentials && config.isXML) {\r\n\t\t\t\tloc = location.hostname + location.pathname;\r\n\t\t\t\tlocalStorage.saveSalesInfo( token, loc);\r\n }\r\n \r\n if(config.isXML) {\r\n document.dispatchEvent( new FxEvent( \"Sales_Token\", { status: \"Connected\"}));\r\n }\r\n else {\r\n document.dispatchEvent( new FxEvent( \"Bearer_Token\", { status: \"Connected\"}));\r\n }\r\n \r\n }\r\n else {\r\n\t\t\tloggedInFromCredentials = false;\r\n if( msg) {\r\n console.log( \" open event callback - message: \" + msg + \" no token \" + msg.Message);\r\n }\r\n else {\r\n console.log( \"Open event returned NULL\");\r\n }\r\n }\r\n document.dispatchEvent( new FxEvent( \"Open_Result\", { success: result, message: msg.Message}));\r\n }\r\n \r\n function checkToken() {\r\n token = localStorage.getSalesToken( location.hostname + location.pathname, config.eventName);\r\n if( token !== \"\") {\r\n getRatePlans();\r\n }\r\n else {\r\n document.dispatchEvent( new FxEvent( \"Sales_Token\", { status: \"Failed\"}));\r\n }\r\n }\r\n\r\n function checkBearerToken() {\r\n\r\n // Can't use cookies anymore \r\n //token = getCookieValue(\"token\");\r\n token = \"na\";\r\n\r\n if(token !== \"\" && config.salesMode != \"contra\"){\r\n\r\n enterMode(config.salesMode, token);\r\n }\r\n else{\r\n document.dispatchEvent( new FxEvent(\"Bearer_Token\", { status: \"Failed\"}));\r\n }\r\n }\r\n\r\n function getCookieValue(a) {\r\n var b = document.cookie.match('(^|[^;]+)\\\\s*' + a + '\\\\s*=\\\\s*([^;]+)');\r\n return b ? b.pop() : '';\r\n }\r\n\r\n // For Informa - credentials provide in message from parent window ( SalesForce)\r\n function checkCredentials() {\r\n var credentials = getExternalCredentials();\r\n if( credentials === null) {\r\n document.dispatchEvent( new FxEvent( \"Sales_Token\", { status: \"Failed\"}));\r\n }\r\n else {\r\n var ar = credentials.split(\":\");\r\n // Add :0 to the end of creds before encoding to remove FX Sales button\r\n\t\t\tif( ar.length === 3 && ar[2] === \"0\") {\r\n\t\t\t\tconfig.salesUpdateOnly = true;\r\n\t\t\t}\r\n\t\t\tloggedInFromCredentials = true;\r\n openEvent( ar[0], ar[1], config.eventName);\r\n }\r\n }\r\n \r\n function getExternalCredentials() {\r\n var credentials = null;\r\n \r\n if( typeof( getCredentials) === \"function\") {\r\n credentials = getCredentials();\r\n if( credentials !== null) {\r\n credentials = atob( credentials);\r\n }\r\n }\r\n return credentials;\r\n }\r\n \r\n function getCompanyList() {\r\n if(config.isXML){\r\n var reqUrl = \"exhibitors/all?databaseName=\" + config.eventName;\r\n reqUrl += \"&$select=ExhibitorId,ExhibitorName\";\r\n }\r\n else{\r\n var reqUrl = \"exhibitors/all?$select=ExhibitorId,ExhibitorName\";\r\n }\r\n\r\n \r\n addRequest( \"GET\", reqUrl, cbCompanies);\r\n }\r\n \r\n function cbCompanies( msg) {\r\n if( msg) {\r\n document.dispatchEvent( new FxEvent( \"Companies_Result\", msg));\r\n }\r\n checkForMore();\r\n }\r\n \r\n function createNewExhibitor( name, id, addr1, addr2, city, country, state, zip, contact, phone, fax, email, site, profile) {\r\n var obj;\r\n var reqUrl = \"exhibitors/add\";\r\n \r\n if(config.isXML){\r\n reqUrl += \"?databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n obj = {\r\n \"Address1\": addr1,\r\n \"Address2\": addr2,\r\n \"City\": city,\r\n \"Contact\": contact,\r\n \"Country\": country,\r\n \"DisplayOnDrawing\": name,\r\n \"Email\": email,\r\n \"ExhibitorId\": id,\r\n \"ExhibitorName\": name,\r\n \"Fax\": fax,\r\n \"Phone\": phone,\r\n \"PostalCode\": zip,\r\n \"PrimaryGroup\": \"\",\r\n \"State\": state,\r\n \"WebSite\": site,\r\n \"ProductDescription\": profile\r\n };\r\n console.log(obj);\r\n addRequest( \"POST\", reqUrl, cbExhibitorCreated, obj);\r\n }\r\n \r\n function cbExhibitorCreated( msg) {\r\n bRequestPending = false;\r\n // if command works ==> msg is null\r\n // if it fails ==> msg { code: edge fail code, message: error message}\r\n \r\n document.dispatchEvent( new FxEvent( \"Sales_Result\", msg));\r\n checkForMore();\r\n }\r\n \r\n function getExhibitorName( boothNumber) {\r\n var reqUrl = \"booths\";\r\n reqUrl += \"?boothNumber=\" + boothNumber;\r\n\r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n reqUrl += \"&$select=BoothNumber,HoldExhibitorId,HoldExhibitorName\";\r\n \r\n addRequest( \"GET\", reqUrl, nameFromBooth, null);\r\n }\r\n \r\n function nameFromBooth( msg) {\r\n var obj;\r\n var reqUrl = \"exhibitors\";\r\n bRequestPending = false;\r\n \r\n if( msg) {\r\n if( msg.HoldExhibitorName !== \"\") {\r\n obj = {\r\n ExhibitorName : msg.HoldExhibitorName\r\n };\r\n document.dispatchEvent( new FxEvent( \"Exhibitor_Name_Result\", obj));\r\n }\r\n else {\r\n reqUrl += \"?id=\" + msg.HoldExhibitorId;\r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n reqUrl += \"&$select=ExhibitorId,ExhibitorName\";\r\n\r\n addRequest( \"GET\", reqUrl, cbExhibitorName, null);\r\n }\r\n }\r\n checkForMore();\r\n }\r\n \r\n function cbExhibitorName( msg) {\r\n bRequestPending = false;\r\n if( msg) {\r\n document.dispatchEvent( new FxEvent( \"Exhibitor_Name_Result\", msg));\r\n }\r\n checkForMore();\r\n }\r\n \r\n //////////////////////////////////////////////////////////////\r\n \r\n function logout( external) {\r\n\r\n if (config.isXML){\r\n \r\n loggedIn = false;\r\n clearTimeout( syncTimer);\r\n arPendingRequests = [];\r\n arPendingBooths = [];\r\n var reqUrl = \"fx/logout\";\r\n externalLogout = external;\r\n \r\n addRequest( \"POST\", reqUrl, cbLogout);\r\n }\r\n else{\r\n // Don't need to logout of events in FX 5? \r\n //sales.resetMode( external);\r\n }\r\n }\r\n\r\n function resetMode( external) {\r\n loggedIn = false;\r\n clearTimeout( syncTimer);\r\n arPendingRequests = [];\r\n arPendingBooths = [];\r\n var reqUrl = \"fx/resetMode\";\r\n externalLogout = external;\r\n \r\n addRequest( \"POST\", reqUrl, cbLogout);\r\n }\r\n \r\n function cbLogout( msg) {\r\n bRequestPending = false;\r\n \r\n if( externalLogout && window.salesLogoutCallback) {\r\n window.salesLogoutCallback();\r\n }\r\n if( msg) {\r\n loggedIn = false;\r\n token = \"\";\r\n }\r\n else {\r\n console.log( \"Log out Failed - error: ?\");\r\n }\r\n }\r\n \r\n function getRatePlans() { \r\n if(config.isXML){\r\n var reqUrl = \"rateplans/all?databaseName=\" + config.eventName;\r\n reqUrl += \"&$select=Name\";\r\n }\r\n else{\r\n var reqUrl = \"rateplans/all?$select=Name\";\r\n }\r\n addRequest( \"GET\", reqUrl, cbRatePlans, \"\", token);\r\n }\r\n \r\n function cbRatePlans( msg) {\r\n bRequestPending = false;\r\n if( !loggedIn) {\r\n if( msg) {\r\n if(config.isXML){\r\n document.dispatchEvent( new FxEvent( \"Sales_Token\", { status:\"Connected\"}));\r\n }\r\n else{\r\n document.dispatchEvent( new FxEvent( \"Bearer_Token\", { status:\"Connected\"}));\r\n }\r\n }\r\n else {\r\n\t\t\t\ttoken = \"\";\r\n document.dispatchEvent( new FxEvent( \"Sales_Token\", { status:\"Failed\"}));\r\n }\r\n }\r\n else {\r\n document.dispatchEvent( new FxEvent( \"Result_Rate_Plans\", msg));\r\n }\r\n //checkForMore(); // Was creating duplicate initial calls for boothInfo when refreshing the page? -AH 5/07/2019\r\n }\r\n\t\r\n function getBoothLockStatus(booth) { \r\n\r\n var reqUrl = \"fx/boothlocked\";\r\n reqUrl += \"?boothNumber=\" + encodeURIComponent( booth.number);\r\n\r\n addRequest( \"GET\", reqUrl, cbBoothLockStatus, booth);\r\n }\r\n\r\n function cbBoothLockStatus(msg){\r\n document.dispatchEvent( new FxEvent( \"Result_Booth_Lock_Status\", msg));\r\n bRequestPending = false;\r\n checkForMore();\r\n }\r\n\t\r\n function getEventStatistics() { \r\n if(config.isXML){\r\n var reqUrl = \"events/stats?databaseName=\" + config.eventName;\r\n }\r\n else{\r\n var reqUrl = \"events/stats\";\r\n }\r\n \r\n addRequest( \"GET\", reqUrl, cbEventStatistics);\r\n }\r\n \r\n function cbEventStatistics( msg) {\r\n bRequestPending = false;\r\n document.dispatchEvent( new FxEvent( \"Result_Event_Statistics\", msg));\r\n\t\t\r\n checkForMore();\r\n }\r\n\t\r\n\t\r\n\t\r\n/////////////////////////////////////////////////////////////////////////////////////// \r\n function getDeletedBoothList() {\r\n var reqUrl = \"booths/all\";\r\n \r\n if(config.isXML){\r\n reqUrl += \"?databaseName=\" + encodeURIComponent( config.eventName);\r\n reqUrl += \"&deletedFilter=OnlyDeleted\";\r\n }\r\n else{\r\n reqUrl += \"?deletedFilter=OnlyDeleted\";\r\n }\r\n reqUrl += \"&$select=BoothNumber,Area,IsDeleted\";\r\n \r\n addRequest( \"GET\", reqUrl, cbDeletedBooths, null);\r\n }\r\n//////////////////////////////////////////////////////////////////////////////////////// \r\n function cbDeletedBooths( msg) {\r\n bRequestPending = false;\r\n document.dispatchEvent( new FxEvent( \"Result_Deleted_Booths\", msg));\r\n checkForMore();\r\n }\r\n \r\n//----------- Booth Functions -----------------------------------------//\r\n function rentBoothRequest( boothNumber, exhibitorId, rate) {\r\n var reqUrl = \"booths/rent\";\r\n \r\n reqUrl += \"?boothNumber=\" + encodeURIComponent( boothNumber);\r\n reqUrl += \"&exhibitorId=\" + encodeURIComponent( exhibitorId);\r\n reqUrl += \"&ratePlan=\" + encodeURIComponent( rate);\r\n \r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction);\r\n }\r\n \r\n function cbBoothFunction( msg) {\r\n // if success --> sync soon!!\r\n bRequestPending = false;\r\n \r\n// document.dispatchEvent( new FxEvent( \"Booths_changed\", null));\r\n document.dispatchEvent( new FxEvent( \"Sales_Result\", msg));\r\n }\r\n \r\n function unrentBoothRequest( boothNumber) {\r\n var reqUrl = \"booths/unrent\";\r\n reqUrl += \"?boothNumber=\" + encodeURIComponent( boothNumber);\r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction);\r\n }\r\n \r\n function holdBoothRequest( boothNumber, exhibitorId, exhibitorName, comment) {\r\n var reqUrl = \"booths/hold\";\r\n \r\n reqUrl += \"?boothNumber=\" + encodeURIComponent( boothNumber);\r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n reqUrl += \"&exhibitorId=\" + encodeURIComponent( exhibitorId);\r\n reqUrl += \"&exhibitorName=\" + encodeURIComponent( exhibitorName);\r\n reqUrl += \"&comment=\" + encodeURIComponent( comment);\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction);\r\n }\r\n \r\n function unholdBoothRequest( boothNumber) {\r\n var reqUrl = \"booths/unhold\";\r\n reqUrl += \"?boothNumber=\" + encodeURIComponent( boothNumber);\r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction);\r\n }\r\n \r\n function combineBoothRequest( boothNumbers) {\r\n var arBth = boothNumbers.split( \", \");\r\n var combineAdjacent = 0;\r\n\r\n if ( config.combineAdjacentOnly){\r\n combineAdjacent = 2;\r\n }\r\n \r\n var reqUrl = \"booths/combine\";\r\n\r\n if(config.isXML){\r\n reqUrl += \"?databaseName=\" + encodeURIComponent( config.eventName);\r\n reqUrl += \"&boundary=\" + encodeURIComponent( combineAdjacent);\r\n }\r\n else{\r\n reqUrl += \"?boundary=\" + encodeURIComponent( combineAdjacent);\r\n }\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction, arBth);\r\n }\r\n \r\n function uncombineBoothRequest( boothNumber) {\r\n var reqUrl = \"booths/uncombine\";\r\n reqUrl += \"?boothNumber=\" + encodeURIComponent( boothNumber);\r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction);\r\n }\r\n \r\n function deleteBoothRequest( boothNumbers) {\r\n var arBth = boothNumbers.split( \", \");\r\n var reqUrl = \"booths/delete\";\r\n reqUrl += \"?boothNumbers=\" + encodeURIComponent( arBth);\r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction, arBth);\r\n }\r\n \r\n function undeleteBoothRequest( boothNumbers) {\r\n var arBth = boothNumbers.split( \", \");\r\n \r\n var reqUrl = \"booths/undelete\";\r\n if(config.isXML){\r\n reqUrl += \"?databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction, arBth);\r\n }\r\n \r\n function divideBoothRequest( boothNumber, params) {\r\n var reqUrl = \"fx/divide\";\r\n \r\n if(config.isXML){\r\n reqUrl += \"?databaseName=\" + encodeURIComponent( config.eventName);\r\n reqUrl += \"&orgBooth=\" + encodeURIComponent( boothNumber);\r\n }\r\n else{\r\n reqUrl += \"?orgBooth=\" + encodeURIComponent( boothNumber);\r\n }\r\n\r\n reqUrl += \"&newBooth1=\" + encodeURIComponent( params.aNumber.trim());\r\n reqUrl += \"&newBooth2=\" + encodeURIComponent( params.bNumber.trim());\r\n reqUrl += \"&sizeX=\" + params.sizeX;\r\n reqUrl += \"&sizeY=\" + params.sizeY;\r\n \r\n addRequest( \"POST\", reqUrl, cbBoothFunction);\r\n }\r\n\r\n function changeBoothNumber( oldNumber, newNumber) {\r\n var reqUrl = \"booths/changenumber\";\r\n reqUrl += \"?oldNumber=\" + oldNumber.trim();\r\n\t\treqUrl += \"&newNumber=\" + newNumber.trim();\r\n if(config.isXML){\r\n reqUrl += \"&databaseName=\" + encodeURIComponent( config.eventName);\r\n }\r\n \r\n addRequest( \"PUT\", reqUrl, cbBoothFunction, null);\r\n\t}\r\n\t\r\n function cbLogMessage( msg) {\r\n var msgNum = 0;\r\n // Allow for more calls if > 500 messages !!\r\n if( msg) {\r\n lastMsgNumber = msg.LastRecordIndex;\r\n //var arCheckBooths = [];\r\n totalMessages += msg.Count; // used t0 calculate progress bar\r\n for( msgNum = 0; msgNum < msg.Count; msgNum++) {\r\n\r\n processLogMessage( msg.LogMessages[ msgNum]);\r\n\r\n // if(config.hasMultipleViews){\r\n \r\n // if ( msgNum == msg.Count - 1)\r\n // {\r\n // arCheckBooths.push( { number: msg.LogMessages[ msgNum].Booth});\r\n\r\n // //if(requestBoothInfo( arCheckBooths)){ // This is not correct and is preventing updates from processing\r\n\r\n // processLogMessage( msg.LogMessages[ msgNum]);\r\n // //}\r\n\r\n // }\r\n // else{\r\n\r\n // arCheckBooths.push( { number: msg.LogMessages[ msgNum].Booth});\r\n\r\n // }\r\n\r\n\r\n // }\r\n // else{\r\n // processLogMessage( msg.LogMessages[ msgNum]);\r\n // }\r\n\r\n \r\n }\r\n if( msg.Count <= 500) {\r\n if( bSyncFromLogin) {\r\n totalBooths = arPendingBooths.length;\r\n document.dispatchEvent( new FxEvent( \"Sync_Progress\", { \"prog\": 0.5} ));\r\n }\r\n bSyncInProgress = false;\r\n }\r\n bRequestPending = false;\r\n }\r\n checkForMore();\r\n }\r\n \r\n function processLogMessage( msg) {\r\n var oldBoothObj = null;\r\n var arBoothNums;\r\n var boothNumber = \"\";\r\n var boothObj = null;\r\n\t\tvar newName = \"\";\r\n var progress = 0;\r\n \r\n\t\tif( msg.Action === CMDACTION_CHANGEBOOTHNUMBER) {\r\n\t\t\tboothObj = getBoothObject( msg.OldValue);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tboothObj = getBoothObject( msg.Booth);\r\n\t\t}\r\n \r\n if( bSyncFromLogin) {\r\n messagesProcessed += 1;\r\n progress = 0.5 * messagesProcessed / totalMessages;\r\n document.dispatchEvent( new FxEvent( \"Sync_Progress\", { \"prog\":progress}) );\r\n }\r\n\r\n if( boothObj !== null) {\r\n \r\n// if( boothObj.number === \"161\") {\r\n// console.log( \"Command \" + msg.Action + \" booth: \" + boothObj.number);\r\n// }\r\n switch( msg.Action) {\r\n case CMDACTION_RENTBOOTH:\r\n//\t\t\t\t\twasAvailable = boothObj.status === \"0\";\r\n boothObj.status = fp.BOOTH_RENTED;\r\n\r\n addToPending( boothObj);\r\n fp.removeBoothText( boothObj);\r\n \r\n mgr.updateTablesForRentHold( boothObj, msg.ExhibitorId, msg.Comment);\r\n // might need to update exhibitor info\r\n break;\r\n\r\n case CMDACTION_HOLDBOOTH:\r\n if( boothObj.status !== fp.BOOTH_RENTED) { // EXPOCAD implementation of Wait list\r\n//\t\t\t\t\t\twasAvailable = boothObj.status === \"0\";\r\n boothObj.status = fp.BOOTH_HOLD;\r\n fp.removeBoothText( boothObj);\r\n addToPending( boothObj);\r\n \r\n mgr.updateTablesForRentHold( boothObj, msg.ExhibitorId, msg.Comment);\r\n }\r\n break;\r\n\r\n case CMDACTION_UNRENTBOOTH:\r\n case CMDACTION_UNHOLDBOOTH:\r\n var arExhibIds = boothObj.exhibitorIndex.split( \",\");\r\n for(i = 0; i < arExhibIds.length; i++){ \r\n boothObj.exhibitorIndex = arExhibIds[i];\r\n fp.removeBoothText( boothObj);\r\n addToPending( boothObj);\r\n \r\n// if( msg.ExhibitorId === \"\") {\r\n if( msg.Misc !== \"HOLD\") {\r\n boothObj.status = fp.BOOTH_AVAILABLE;\r\n mgr.updateReleasedBooth( boothObj);\r\n }\r\n else { // Unrent to Hold \r\n boothObj.status = fp.BOOTH_HOLD;\r\n mgr.updateReleasedBooth( boothObj);\r\n mgr.updateTablesForRentHold( boothObj, msg.ExhibitorId, msg.Comment);\r\n }\r\n }\r\n break;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMDACTION_BOOTHNAMEOVERRIDE:\r\n fp.removeBoothText( boothObj);\r\n addToPending( boothObj);\r\n\t\t\t\t\t\t// new name in 'comment' property on override\r\n\t\t\t\t\t\t//original name in .Misc on reset ( i.e. undo override), and .Comment = \"\"\r\n\t\t\t\t\tif( msg.Comment !== \"\") {\r\n\t\t\t\t\t\tnewName = msg.Comment;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tnewName = msg.Misc;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tmgr.changeExhibiterName( boothObj, newName, msg.ExhibitorId);\r\n\t\t\t\t\tbreak;\r\n\r\n case CMDACTION_MOVEEXHIBITOR:\r\n oldBoothObj = getBoothObject( msg.OldValue); // From\r\n oldBoothObj.status = fp.BOOTH_AVAILABLE;\r\n fp.removeBoothText( oldBoothObj);\r\n\r\n mgr.updateReleasedBooth( boothObj);\r\n addToPending( oldBoothObj);\r\n\r\n boothObj.status = fp.BOOTH_RENTED; // To\r\n mgr.updateTablesForRentHold( boothObj, msg.ExhibitorId, msg.Comment);\r\n //arPendingExhibitors.push( exhObj);\t\t// IF EXHIBITOR DID NOT EXIST !!??\r\n addToPending( boothObj);\r\n break;\r\n\r\n case CMDACTION_DELETEBOOTH:\r\n removeFromPending( boothObj);\r\n fp.removeBoothText( boothObj);\r\n\r\n boothObj.graphic.path = null;\r\n boothObj.status = fp.BOOTH_DELETED;\r\n \r\n mgr.deleteDisplayBooth( boothObj.number);\r\n break;\r\n\r\n case CMDACTION_UNDELETEBOOTH:\r\n boothObj.status = fp.BOOTH_AVAILABLE;\r\n addToPending( boothObj);\r\n break;\r\n\r\n case CMDACTION_CHANGEBOOTHNUMBER:\r\n fp.removeBoothText( boothObj);\r\n\r\n boothObj.number = msg.Booth;\r\n addToPending( boothObj);\r\n break;\r\n\r\n case CMDACTION_CREATEBOOTH:\r\n boothObj.status = fp.BOOTH_AVAILABLE;\r\n addToPending( boothObj);\r\n break;\r\n\r\n case CMDACTION_MOVEBOOTH:\r\n fp.removeBoothText( boothObj);\r\n addToPending( boothObj);\r\n break;\r\n\r\n case CMDACTION_COMBINEBOOTH:\r\n arBoothNums = msg.OtherBooths.split( \",\");\r\n while( arBoothNums.length > 0) {\r\n boothNumber = arBoothNums.pop();\r\n\r\n oldBoothObj = util.findBoothObject( boothNumber, data.booths);\r\n\r\n if( oldBoothObj !== null) {\r\n fp.removeBoothText( oldBoothObj);\r\n if( oldBoothObj.number === msg.Booth) {\r\n addToPending( oldBoothObj);\t\t// to redraw the remaining booth\r\n }\r\n else { // booths don't exist anymore\r\n oldBoothObj.graphic.path = null;\r\n oldBoothObj.status = fp.BOOTH_DELETED;\r\n removeFromPending( oldBoothObj);\r\n mgr.deleteDisplayBooth( boothNumber);\r\n }\r\n }\r\n } \r\n break;\r\n\r\n case CMDACTION_UNCOMBINEBOOTH:\r\n var arNums = msg.OtherBooths.split( \",\");\r\n // booths being added to floor plan by uncombining them\r\n while( arNums.length > 0) {\r\n boothNumber = arNums.pop();\r\n boothObj = getBoothObject( boothNumber);\r\n\r\n addToPending( boothObj);\r\n boothObj.status = fp.BOOTH_AVAILABLE;\r\n//\t\t\t\t\t\tmgr.addDisplayBooth( boothObj);\r\n }\r\n fp.removeBoothText( boothObj);\r\n break;\r\n\r\n case CMDACTION_RESIZE:\r\n fp.removeBoothText( boothObj);\r\n addToPending( boothObj);\r\n\t\t\t\t\t// CHANGE LABEL IN BOOTH LIST !\r\n\t\t\t\t\tmgr.updateAvailableLabel( boothObj);\r\n break;\r\n\r\n case CMDACTION_ADDCHILDEXHIBITOR:\r\n \r\n //Look to see if exhibitor is already in the list\r\n //If so, append booth to list. If not, add exhibitor to list\r\n \r\n addToPending( boothObj);\r\n // Remove booth floorplan text\r\n fp.removeBoothText( boothObj);\r\n //boothObj.exhibitorIndex = boothObj.exhibitorIndex;\r\n //mgr.updateTablesForChildExhib( boothObj, msg.ExhibitorId, msg.Comment, true);\r\n break;\r\n\r\n case CMDACTION_REMOVECHILDEXHIBITOR:\r\n\r\n addToPending( boothObj);\r\n // Remove booth floorplan text\r\n fp.removeBoothText( boothObj);\r\n \r\n break;\r\n\r\n default:\r\n console.log( \"No process for command: \" + msg.Action + \" booth: \" + msg.Booth + \r\n\t\t\t\t\t\t\t\t\" other booths: \" + msg.OtherBooths + \" misc: \" + msg.Misc + \" comment: \" +\r\n\t\t\t\t\t\t\t\tmsg.Comment + \" old value: \" + msg.OldValue);\r\n }\r\n }\r\n }\r\n\r\n function sendRequest( type, url, callback, param, token) {\r\n var req = null;\r\n\t\tvar reqUrl = data.salesUrl + url;\r\n \r\n if( window.XMLHttpRequest) {\r\n req = new XMLHttpRequest();\r\n\r\n }\r\n else {\r\n // alert( \"Could not create request for data\");\r\n swal(\"\", \"Could not create request for data\", \"error\");\r\n return;\r\n }\r\n\r\n\t\treq.onreadystatechange = function() {\r\n\t\t\tvar msg = null;\r\n var contentType = \"\";\r\n \r\n// console.log( \"http state: \" + req.readyState + \" status: \" + req.status +\r\n// \" status text: \" + req.statusText + \" response: \" +\r\n// req.response);\r\n \r\n\t\t\tif( req.readyState === 4) {\r\n\r\n if( req.status === 200) {\r\n if( req.response === null || req.response === undefined || req.response === \"\") {\r\n msg = { Code: 200};\r\n }\r\n else {\r\n try {\r\n msg = JSON.parse( req.responseText);\r\n }\r\n catch( err) {\r\n console.log( \" status 200 with content: \" + req.responseText);\r\n }\r\n }\r\n }\r\n else if( req.status === 503) {\r\n console.log( \"HTTP status: \" + req.status + \" response: \" + req.response);\r\n\t\t\t\t\t// supply a message !!!!\r\n\t\t\t\t\tmsg = { code: 503, message:\"Can Not Connect To API\"};\r\n }\r\n else if( req.status === 404) {\r\n contentType = String( req.getResponseHeader( \"Content-Type\"));\r\n \r\n if( !loggedIn) {\r\n if( contentType.substr( 0, 9) === \"text/html\") {\r\n // alert( \"Configuration error!\");\r\n swal(\"\", \"Configuration error!\", \"error\");\r\n }\r\n else {\r\n // alert( req.responseText);\r\n swal(\"\", req.responseText, \"error\");\r\n }\r\n }\r\n else {\r\n if( contentType.substr( 0, 9) === \"text/html\") {\r\n // alert( \"Configuration error!\");\r\n swal(\"\", \"Configuration error!\", \"error\");\r\n }\r\n else {\r\n if( req.responseText === \"Booth Not Found\") {\r\n msg = { code: 404, message:\"Booth Not Found\"};\r\n }\r\n else {\r\n if(!config.hasMultipleViews){ // Handle 404 responses to FX/boothInfo when change occurs outside of view\r\n // alert( \"Unkown error: \" + req.responseText);\r\n swal(\"\", \"Unknown error: \" + req.responseText, \"error\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else if( req.status === 409) {\r\n// console.log( \" HTTP status \" + req.status +\r\n// \" - response text: \" + req.responseText);\r\n msg = { Code: 200}; // ?????? so far command has always worked!\r\n }\r\n else if( req.status === 400 || req.status === 500) {\r\n // get 500 on rent id booth already rented\r\n console.log( \" HTTP status \" + req.status +\r\n \" - response text: \" + req.responseText);\r\n try {\r\n var newMsg = document.getElementById('sPrompt');\r\n newMsg.classList.add('wrongLoginTwo');\r\n msg = JSON.parse(req.responseText);\r\n newMsg.textContent = msg.Message;\r\n }\r\n catch( err2) {\r\n swal(\"\", \"error parsing response - status\" + req.status + \r\n \" msg: \" + err2.message + \" in \" + req.responseText, \"error\");\r\n\r\n // alert( \"error parsing response - status\" + req.status + \r\n // \" msg: \" + err2.message + \" in \" + req.responseText);\r\n }\r\n }\r\n else if( req.status === 401) {\r\n // can occur if logged in user closes page with out log out\r\n console.log( \"Status 401 - Message: \" + req.status);\r\n// msg = {\r\n// code: req.status,\r\n// message: req.status\r\n// };\r\n }\r\n else if( req.status === 429) { // Too many requests - rate limit\r\n // retry after 1 second\r\n console.log( \"Status 429 - Too many requests\");\r\n }\r\n\r\n if( param !== null && param.isBooth){\r\n param.locked = msg;\r\n callback( param);\r\n }\r\n else{\r\n callback( msg);\r\n }\r\n\r\n \r\n\t\t\t}\r\n\t\t};\r\n\t\t\r\n req.open( type, reqUrl, true);\r\n\t\treq.setRequestHeader( \"Accept\", \"application/JSON\");\r\n if( token) {\r\n var label;\r\n\r\n if( config.isXML){\r\n label = \"X-FxSales-Token\";\r\n req.setRequestHeader( label, token);\r\n }\r\n else{\r\n //label = \"Authorization\";\r\n //token = \"Bearer \" + token;\r\n }\r\n \r\n //req.setRequestHeader( label, token);\r\n }\r\n else {\r\n req.withCredentials = true;\r\n }\r\n if( param !== null && param !== undefined && !param.isBooth) { // type = \"PUT\"\r\n// console.log( \"setting Content-Type for req type: \" + type + \" url: \" + reqUrl + \" params: \" +\r\n// param);\r\n req.setRequestHeader( \"Content-Type\", \"application/JSON\");\r\n param = JSON.stringify( param);\r\n }\r\n else if (param !== null && param !== undefined && param.isBooth){\r\n req.send(null);\r\n return;\r\n }\r\n else{\r\n param = null;\r\n }\r\n \r\n req.send(param);\r\n }\r\n \r\n function hatchBooths(color, availability, size, grey, boothIndexes ) { \r\n if( data.hatchedBooths == true){\r\n // Clear on execution if already exists\r\n clearHatchedBooths();\r\n }\r\n \r\n var i = 0;\r\n \r\n var specifcArray = boothIndexes === -1 ? [] : String(boothIndexes).split( \",\");\r\n var arMatched = [];\r\n var arUnMatched = [];\r\n if( color == null || color == \"\") {\r\n color = config.clrSelected\r\n }\r\n\r\n for(i = 0; i < data.displayBooths.length; i++) {\r\n \r\n var boothIndex = data.displayBooths[i].boothIndex;\r\n\r\n // FILTER: availability == 0: Available, 1: On Hold, 2: Rented, 3: ALL\r\n // FILTER: size == dimF, dimM, areaF, or areaM EX: \"10' x 10'\" or \"100 sqft\"\r\n if( availability == 0){\r\n if( data.displayBooths[i].bAvailable == true) {\r\n \r\n if ( size != null && size != \"\" ) {\r\n if( data.booths[boothIndex].areaF == size || data.booths[boothIndex].dimF == size \r\n || data.booths[boothIndex].dimM == size || data.booths[boothIndex].areaM == size) {\r\n arMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n else {\r\n arUnMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n }\r\n else {\r\n arMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n }\r\n else {\r\n arUnMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n }\r\n else if( availability == 2) {\r\n //Currently includes on hold\r\n if( data.displayBooths[i].bAvailable == false) {\r\n if ( size != null && size != \"\" ) {\r\n if( data.booths[boothIndex].areaF == size || data.booths[boothIndex].dimF == size \r\n || data.booths[boothIndex].dimM == size || data.booths[boothIndex].areaM == size) {\r\n arMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n else {\r\n arUnMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n }\r\n else {\r\n arMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n }\r\n else {\r\n arUnMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n }\r\n else if( availability == 3) {\r\n //All availabilty \r\n if ( size != null && size != \"\" ) {\r\n if( data.booths[boothIndex].areaF == size || data.booths[boothIndex].dimF == size \r\n || data.booths[boothIndex].dimM == size || data.booths[boothIndex].areaM == size) {\r\n arMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n else {\r\n arUnMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n }\r\n else {\r\n arMatched.push(data.displayBooths[i].boothIndex);\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n var graphic = null;\r\n\r\n // Highlight these booths\r\n if( arMatched.length !== 0) {\r\n for( i = 0; i < arMatched.length; i++) {\r\n graphic = arBoothGraphics[ arMatched[i]];\r\n if( graphic) {\r\n graphic.displayColor = color;\r\n }\r\n }\r\n\r\n data.hatchedBooths = true;\r\n }\r\n \r\n // Option to Gray out non-highlighted booths\r\n if ( grey) {\r\n if( arUnMatched.length !== 0) {\r\n for( i = 0; i < arUnMatched.length; i++) {\r\n graphic = arBoothGraphics[ arUnMatched[i]];\r\n if( graphic) {\r\n graphic.displayColor = \"#F8F8F8\";\r\n\r\n if(graphic.strokeColor != config.clrBoothBorder){\r\n graphic.saveColor = graphic.strokeColor;\r\n }\r\n\r\n graphic.strokeColor = \"#E8E8E8\";\r\n\r\n for ( j = 0; j < graphic.text.length; j++) {\r\n graphic.text[j].fill = \"#E8E8E8\";\r\n }\r\n }\r\n }\r\n \r\n data.hatchedBooths = true;\r\n }\r\n }\r\n\r\n arUnMatched = [];\r\n arMatched = [];\r\n specifcArray = [];\r\n updateNeeded = true;\r\n\r\n //document.dispatchEvent( new FxEvent( \"Sales_Result\", null))\r\n }\r\n\r\n function clearHatchedBooths() {\r\n for( i = 0; i < data.displayBooths.length; i++) {\r\n graphic = arBoothGraphics[ data.displayBooths[i].boothIndex];\r\n if( graphic) {\r\n graphic.displayColor = graphic.fillStyle;\r\n\r\n if( graphic.saveColor != \"\"){\r\n graphic.strokeColor = graphic.saveColor;\r\n graphic.saveColor = \"\";\r\n }\r\n else{\r\n graphic.strokeColor = config.clrBoothBorder;\r\n }\r\n \r\n\r\n for ( j = 0; j < graphic.text.length; j++) {\r\n graphic.text[j].fill = config.clrBoothText;\r\n }\r\n }\r\n }\r\n\r\n data.hatchedBooths = false;\r\n updateNeeded = true;\r\n}\r\n\r\n \r\n return {\r\n CMD_DIVIDE: CMD_DIVIDE,\r\n CMD_RENT: CMD_RENT,\r\n CMD_UNRENT: CMD_UNRENT,\r\n CMD_HOLD: CMD_HOLD,\r\n CMD_UNHOLD: CMD_UNHOLD,\r\n CMD_COMBINE: CMD_COMBINE,\r\n CMD_UNCOMBINE: CMD_UNCOMBINE,\r\n CMD_DELETE: CMD_DELETE,\r\n CMD_UNDELETE: CMD_UNDELETE,\r\n CMD_NEW_EXHIBITOR: CMD_NEW_EXHIBITOR,\r\n\t\tCMD_EVENT_STATISTICS: CMD_EVENT_STATISTICS,\r\n CMD_CHANGE_NUMBER: CMD_CHANGE_NUMBER,\r\n CMD_HATCH_BOOTHS: CMD_HATCH_BOOTHS,\r\n\t\tchangeBoothNumber: changeBoothNumber,\r\n checkCredentials: checkCredentials,\r\n checkToken: checkToken,\r\n checkBearerToken: checkBearerToken,\r\n combineBoothRequest: combineBoothRequest,\r\n commandLabels: commandLabels,\r\n createNewExhibitor: createNewExhibitor,\r\n deleteBoothRequest: deleteBoothRequest,\r\n divideBoothRequest: divideBoothRequest,\r\n getCompanyList: getCompanyList,\r\n getDeletedBoothList: getDeletedBoothList,\r\n\t\tgetEventStatistics: getEventStatistics,\r\n getExhibitorName: getExhibitorName,\r\n getRatePlans: getRatePlans,\r\n getLoggedIn: function() {\r\n return loggedIn;\r\n },\r\n holdBoothRequest: holdBoothRequest,\r\n init: init,\r\n logout: logout,\r\n openEvent: openEvent,\r\n enterMode: enterMode,\r\n resetMode: resetMode,\r\n rentBoothRequest: rentBoothRequest,\r\n setFloorplan: function( value) {\r\n fp = value;\r\n },\r\n setConnectionParams: setConnectionParams,\r\n setLastMessage: function( value) {\r\n lastMsgNumber = value;\r\n },\r\n setLoggedIn: function( value) {\r\n loggedIn = value;\r\n },\r\n syncNow: syncNow,\r\n syncWithEdge: function() {\r\n readyForUpdates = false;\r\n bSyncFromLogin = true;\r\n syncWithEdge();\r\n },\r\n uncombineBoothRequest: uncombineBoothRequest,\r\n undeleteBoothRequest: undeleteBoothRequest,\r\n unholdBoothRequest: unholdBoothRequest,\r\n unrentBoothRequest: unrentBoothRequest,\r\n hatchBooths: hatchBooths,\r\n clearHatchedBooths: clearHatchedBooths,\r\n getBoothLockStatus: getBoothLockStatus\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n\r\nexpocadfx.SalesWindow = function( mode, salesObj) {\r\n var CompanyList = expocadfx.CompanyList;\r\n var DeletedBoothList = expocadfx.DeletedBoothList;\r\n var fxStyle = expocadfx.styles;\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n var DivideTool = expocadfx.DivideTool;\r\n\tvar elem = expocadfx.element;\r\n var elemById = elem.elementById;\r\n var FxEvent = expocadfx.fxevent;\r\n var txt = expocadfx.txt;\r\n\tvar StatsList = expocadfx.StatsList;\t\t// eventstats.js\r\n var util = expocadfx.util;\r\n var Dialog = expocadfx.Dialog;\r\n var body = document.getElementsByTagName( \"body\")[0];\r\n var dialogWidth = \"400\";\r\n var closeBut;\r\n var tooltipObj;\r\n \r\n var doc = document;\r\n var salesMode = mode;\r\n var boothObj = null;\r\n var hatchObj = null;\r\n var winSales = elemById( \"salesWindow\");\r\n var btnOps = elemById( \"sOp\");\r\n var inputBthNum = elemById( \"inBthNum\");\r\n var inputName = elemById( \"inCompanyName\");\r\n var inputId = elemById( \"inCompanyId\");\r\n var inputRate = elemById( \"inRate\");\r\n var inputComment = elemById( \"inComment\");\r\n var inputAddrOne = elemById('inAddressOne');\r\n var inputAddrTwo = elemById('inAddressTwo');\r\n var inputCity = elemById('inCity');\r\n var inputCountry = elemById('inCountry');\r\n var inputState = elemById('inState');\r\n var inputPostalCode = elemById('inPostalCode');\r\n var inputContact = elemById('inContact');\r\n var inputPhone = elemById('inPhone');\r\n var inputFax = elemById('inFax');\r\n var inputEmail = elemById('inEmail');\r\n var extraInfo = elemById('sInfo');\r\n var minExtraInfo = elemById('sInfoMin')\r\n var inputWebSite = elemById('inWebSite');\r\n var inputCompanyProfile = elemById('inCompanyProfile');\r\n var salesPrompt = elemById( \"sPrompt\");\r\n var salesAction = elemById( \"sControl\");\r\n var divide = null;\r\n\tvar stats = null;\r\n var statsHeader = null;\r\n var tooltipNode;\r\n \r\n var sales = salesObj;\r\n var commandNumber = 0;\r\n inputBthNum.setAttribute( \"readonly\", true);\r\n inputName.setAttribute( \"readonly\", true);\r\n inputId.setAttribute( \"readonly\", true);\r\n \r\n var listCompanies = null;\r\n var listDeletedBoohts = null;\r\n \r\n var divCompanies = elemById(\"divCompanies\");\r\n var divCompanyGrid = null;\r\n \r\n var characterLimit = txt.CHARACTER_LIMIT;\r\n elemById( \"sLblBthNum\").textContent = txt.BOOTH_NUMBER;\r\n elemById( \"sLblCompanyName\").textContent = txt.COMPANY_NAME;\r\n elemById( \"sLblCompanyId\").textContent = txt.COMPANY_ID;\r\n elemById( \"sLblRate\").textContent = txt.RATE_PLAN;\r\n elemById( \"sLblComment\").textContent = txt.COMMENT;\r\n elemById( \"sCancel\").textContent = txt.CANCEL;\r\n elemById( \"sNewComp\").textContent = txt.NEW_COMPANY;\r\n\r\n elemById(\"sLblAddressOne\").textContent = txt.COMPANY_ADDRESS_ONE;\r\n elemById(\"sLblAddressTwo\").textContent = txt.COMPANY_ADDRESS_TWO;\r\n elemById(\"sLblCity\").textContent = txt.COMPANY_CITY;\r\n elemById(\"sLblCountry\").textContent = txt.COMPANY_COUNTRY;\r\n elemById(\"sLblState\").textContent = txt.COMPANY_STATE;\r\n elemById(\"sLblPostalCode\").textContent = txt.COMPANY_POSTAL_CODE;\r\n elemById(\"sLblContact\").textContent = txt.COMPANY_CONTACT_NAME;\r\n elemById(\"sLblPhone\").textContent = txt.COMPANY_PHONE_NUMBER;\r\n elemById(\"sLblFax\").textContent = txt.COMPANY_FAX;\r\n elemById(\"sLblEmail\").textContent = txt.COMPANY_EMAIL;\r\n elemById(\"sLblWebSite\").textContent = txt.COMPANY_WEB_SITE;\r\n elemById(\"sLblCompanyProfile\").textContent = txt.COMPANY_PROFILE;\r\n\r\n btnOps.disabled = true;\r\n btnOps.textContent = \"\";\r\n btnOps.addEventListener( \"click\", sendCommand);\r\n elemById( \"sCancel\").addEventListener( \"click\", closeWindow);\r\n elemById( \"sNewComp\").style.display = \"none\";\r\n\r\n function returnSalesWindow(){\r\n data.salesWindow.window.style.display = \"block\";\r\n elemById('control1').style.display = \"block\";\r\n elemById('btnMenu').style.display = \"block\";\r\n elemById('sPrompt2Flag').style.display = \"none\"; \r\n }\r\n\r\n function checkComplete() {\r\n if( commandNumber === sales.CMD_RENT) {\r\n mobileAddBooth()\r\n btnOps.disabled = ( inputBthNum.value === \"\" || \r\n inputId.value === \"\" ||\r\n inputRate.value === txt.SELECT_RATE);\r\n if(inputBthNum.value !== \"\"){\r\n divCompanies.style.display = \"block\";\r\n doc.getElementById('sTable').style.display = \"none\";\r\n returnSalesWindow();\r\n } \r\n if(inputId.value !== \"\"){\r\n divCompanies.style.display = \"none\";\r\n doc.getElementById('sTable').style.display = \"block\";\r\n } \r\n }\r\n else if( commandNumber === sales.CMD_HOLD) {\r\n mobileAddBooth();\r\n btnOps.disabled = ( inputBthNum.value === \"\" || inputName.value === \"\");\r\n if(inputBthNum.value !== \"\" && inputId.parentNode.style.display === 'block'){\r\n divCompanies.style.display = \"block\";\r\n doc.getElementById('sTable').style.display = \"none\";\r\n } \r\n if(inputBthNum.value !== \"\"){\r\n returnSalesWindow()\r\n }\r\n if(inputId.value !== \"\"){\r\n divCompanies.style.display = \"none\";\r\n doc.getElementById('sTable').style.display = \"block\";\r\n } \r\n }\r\n else if( commandNumber === sales.CMD_UNHOLD) {\r\n mobileAddBooth();\r\n if(inputBthNum.value !== \"\"){\r\n returnSalesWindow()\r\n }\r\n btnOps.disabled = ( inputBthNum.value === \"\");\r\n }\r\n else if( commandNumber === sales.CMD_COMBINE) {\r\n mobileAddBooth();\r\n btnOps.disabled = ( inputBthNum.value.indexOf( \",\") === -1); \r\n if(inputBthNum.value !== \"\"){\r\n returnSalesWindow()\r\n }\r\n }\r\n else if( commandNumber === sales.CMD_NEW_EXHIBITOR) {\r\n btnOps.disabled = ( inputName.value === \"\" || inputId.value === \"\");\r\n if(window.innerHeight < 601){\r\n document.querySelectorAll('.dialog__content')[1].style.overflow = 'auto';\r\n }\r\n // elemById('addBoothBtn').style.display = \"none !important\";\r\n if(inputName.value !== \"\"){\r\n elemById('sLblCompanyName').classList.add('salesComplete');\r\n\r\n } else{\r\n elemById('sLblCompanyName').classList.remove('salesComplete');\r\n }\r\n if(inputId.value !== \"\"){\r\n elemById('sLblCompanyId').classList.add('salesComplete');\r\n } else {\r\n elemById('sLblCompanyId').classList.remove('salesComplete'); \r\n }\r\n }\r\n else if( commandNumber === sales.CMD_DIVIDE) {\r\n mobileAddBooth();\r\n if(window.innerHeight < 601){\r\n elemById('divideContainer').style.margin = \"-30px 10% -160px\"\r\n }\r\n if(inputBthNum.value !== \"\"){\r\n returnSalesWindow()\r\n }\r\n var btnOpsListen = function(event){\r\n if(typeof(elemById('aIn')) != 'undefined' && elemById('aIn') != null){\r\n btnOps.disabled = ( inputBthNum.value === \"\" ||\r\n elemById( \"bNumber\").value === \"\" || \r\n elemById( \"aNumber\").value === \"\") || (\r\n elemById('aFt').value === \"0\" && elemById('aIn').value === \"0\" || elemById('bFt').value === \"0\" && elemById('bIn').value === \"0\" ) || (\r\n elemById('aFt').value === \"\" && elemById('aIn').value === \"\" || elemById('bFt').value === \"\" && elemById('bIn').value === \"\" );\r\n } else {\r\n btnOps.disabled = ( inputBthNum.value === \"\" ||\r\n elemById( \"bNumber\").value === \"\" || \r\n elemById( \"aNumber\").value === \"\") || (\r\n elemById('aFt').value === \"0\" || elemById('bFt').value === \"0\" ) || (\r\n elemById('aFt').value === \"\" || elemById('bFt').value === \"\" );\r\n }\r\n // btnOps.disabled = ( inputBthNum.value === \"\" ||\r\n // elemById( \"bNumber\").value === \"\" || \r\n // elemById( \"aNumber\").value === \"\") || (\r\n // elemById('aFt').value === \"0\" && elemById('aIn').value === \"0\" || elemById('bFt').value === \"0\" && elemById('bIn').value === \"0\" ); \r\n };\r\n document.addEventListener('mousemove', btnOpsListen, false);\r\n document.addEventListener('keyup', btnOpsListen, false)\r\n window.setTimeout(function(){\r\n doc.getElementById('Xtop2').addEventListener('click', function(){\r\n document.removeEventListener('mousemove', btnOpsListen, false);\r\n document.removeEventListener('keyup', btnOpsListen, false)\r\n })\r\n doc.getElementById('sCancel').addEventListener('click', function(){\r\n document.removeEventListener('mousemove', btnOpsListen, false);\r\n document.removeEventListener('keyup', btnOpsListen, false)\r\n })\r\n doc.getElementById('sOp').addEventListener('click', function(){\r\n document.removeEventListener('mousemove', btnOpsListen, false);\r\n document.removeEventListener('keyup', btnOpsListen, false)\r\n })\r\n }, 200)\r\n }\r\n else if( commandNumber === sales.CMD_CHANGE_NUMBER) {\r\n mobileAddBooth();\r\n btnOps.disabled = ( inputBthNum.value === \"\" || inputId.value === \"\"); \r\n if(inputBthNum.value !== \"\"){\r\n elemById('sLblBthNum').classList.add('salesComplete');\r\n returnSalesWindow()\r\n } else {\r\n elemById('sLblBthNum').classList.remove('salesComplete');\r\n }\r\n if(inputId.value !== \"\"){\r\n elemById('sLblCompanyId').classList.add('salesComplete');\r\n } else {\r\n elemById('sLblCompanyId').classList.remove('salesComplete');\r\n }\r\n } \r\n else if( commandNumber === sales.CMD_HATCH_BOOTHS) {\r\n btnOps.disabled = false;\r\n \r\n } \r\n else {\r\n btnOps.disabled = ( inputBthNum.value === \"\");\r\n }\r\n\t\t\r\n // Update prompt\r\n if( commandNumber === sales.CMD_NEW_EXHIBITOR) {\r\n salesPrompt.textContent = txt.ENTER_NEW_COMPANY;\r\n if(document.querySelector('.wrongLoginTwo') !== null){\r\n salesPrompt.classList.remove('wrongLoginTwo');\r\n }\r\n extraInfo.style.display = \"block\";\r\n minExtraInfo.style.display = \"none\";\r\n elemById('addBoothBtnA').style.display = \"none\";\r\n // salesHeader.textContent = CMD_NEW_EXHIBITOR;\r\n }\r\n \r\n else if( commandNumber === sales.CMD_UNDELETE) {\r\n salesPrompt.textContent = txt.SELECT_DELETED_BOOTH;\r\n elemById('addBoothBtnA').style.display = \"none\";\r\n if( /Android|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ){\r\n divCompanies.style.margin = \"-65px 24px 25px 20px\";\r\n }\r\n if(inputBthNum.value !== \"\"){\r\n elemById('sLblBthNum').classList.add('salesComplete');\r\n } else {\r\n elemById('sLblBthNum').classList.remove('salesComplete');\r\n }\r\n }\r\n else if( commandNumber === sales.CMD_EVENT_STATISTICS) {\r\n salesPrompt.style.display = \"none\";\r\n elemById('addBoothBtnA').style.display = \"none\";\r\n }\r\n else if( commandNumber === sales.CMD_HATCH_BOOTHS) {\r\n salesPrompt.textContent = txt.SELECT_CRITERIA;\r\n\r\n\r\n }\r\n else if( commandNumber === sales.CMD_CHANGE_NUMBER && inputBthNum.value !== \"\") {\r\n\t\t\t\tif( inputId.value === \"\") {\r\n\t\t\t\t\tsalesPrompt.textContent = txt.ENTER_NEW_NUMBER;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n salesPrompt.innerHTML = \"\";\r\n\t\t\t\t}\r\n }\r\n else if( inputBthNum.value === \"\") {\r\n salesPrompt.textContent = txt.SELECT_BOOTH;\r\n elemById('sLblBthNum').classList.remove('salesComplete');\r\n }\r\n else {\r\n if( commandNumber === sales.CMD_UNDELETE && inputBthNum.value === \"\") {\r\n salesPrompt.textContent = txt.SELECT_DELETED_BOOTH;\r\n }\r\n else if( commandNumber === sales.CMD_NEW_EXHIBITOR) {\r\n salesPrompt.textContent = txt.ENTER_NEW_COMPANY;\r\n\r\n }\r\n else if( (commandNumber === 0 || commandNumber === 2) && inputName.value === \"\") {\r\n salesPrompt.textContent = txt.SELECT_COMPANY;\r\n\r\n elemById('sLblBthNum').classList.add('salesComplete');\r\n if( commandNumber === 2) {\r\n elemById('sLblCompanyName').classList.remove('salesComplete');\r\n salesPrompt.textContent += txt.SELECT_NEW_COMPANY;\r\n }\r\n }\r\n else if( commandNumber === sales.CMD_RENT && inputRate.value === txt.SELECT_RATE) {\r\n elemById('sLblCompanyId').classList.add('salesComplete');\r\n elemById('sLblCompanyName').classList.add('salesComplete');\r\n elemById('sLblRate').classList.remove('salesComplete');\r\n salesPrompt.textContent = txt.SELECT_RATE;\r\n }\r\n else if( commandNumber === sales.CMD_DIVIDE) {\r\n if( boothObj && boothObj.dimF === \"\") {\r\n salesPrompt.classList.add('wrongLoginTwo');\r\n salesPrompt.textContent = txt.NON_RECTANGLE;\r\n }\r\n\r\n else if( inputBthNum.value === \"\") {\r\n salesPrompt.textContent = txt.SELECT_BOOTH;\r\n }\r\n\r\n else if(elemById( \"bNumber\").textContent === \"\" || elemById( \"aNumber\").textContent === \"\") {\r\n salesPrompt.textContent = txt.ENTER_BOOTH_NUMBERS;\r\n if(document.querySelector('.wrongLoginTwo') !== null){\r\n salesPrompt.classList.remove('wrongLoginTwo');\r\n }\r\n elemById('sLblBthNum').classList.add('salesComplete');\r\n }\r\n }\r\n else {\r\n elemById('sLblCompanyId').classList.add('salesComplete');\r\n elemById('sLblCompanyName').classList.add('salesComplete');\r\n if(commandNumber !== sales.CMD_COMBINE){\r\n elemById('sLblBthNum').classList.add('salesComplete');\r\n salesPrompt.innerHTML = \"\";\r\n }\r\n if(commandNumber === sales.CMD_COMBINE){\r\n salesPrompt.textContent = \"Select Two or more Booths\"\r\n }\r\n if(document.querySelector('.wrongLoginTwo') !== null){\r\n salesPrompt.classList.remove('wrongLoginTwo');\r\n }\r\n elemById('sLblRate').classList.add('salesComplete');\r\n }\r\n }\r\n }\r\n\r\n /////////////DIALOG INIT//////////////\r\n if(data.headerHeight <= 1){\r\n var obj = {\r\n posX: data.viewportWidth - dialogWidth - 8,\r\n posY: window.innerHeight / 8,\r\n draggable: true\r\n };\r\n } else {\r\n var obj = {\r\n posX: data.viewportWidth - dialogWidth - 8,\r\n posY: window.innerHeight / 13,\r\n draggable: true\r\n };\r\n }\r\n function mobileAddBooth(){\r\n if(window.innerWidth < 500){\r\n data.salesWindow.window.style.display = \"none\";\r\n elemById('control1').style.display = \"none\";\r\n elemById('btnMenu').style.display = \"none\";\r\n elemById('sPrompt2Flag').style.display = \"block\";\r\n if(salesPrompt.textContent === \"\"){\r\n elemById('sPrompt2').innerHTML = txt.SELECT_BOOTH; \r\n } else {\r\n elemById('sPrompt2').innerHTML = salesPrompt.innerHTML; \r\n }\r\n }\r\n }\r\n \r\n data.salesWindow = new Dialog( obj, elemById(\"appContent\"), elemById(\"mask\"));\r\n var parent = elemById( \"salesWindow\");\r\n data.salesWindow.content.appendChild( parent);\r\n data.salesWindow.window.setAttribute('id', 'salesDialog')\r\n data.salesWindow.header.setAttribute( \"id\", \"salesHeader\");\r\n elemById('salesHeader').style.backgroundColor = fxStyle.windowHeader.clrBg !== \"\" ? \r\n fxStyle.windowHeader.clrBg : fxStyle.mainHeader.clrBg;\r\n closeBut = doc.createElement( \"button\");\r\n closeBut.textContent = \"X\";\r\n closeBut.setAttribute('id', 'Xtop2');\r\n salesAction.appendChild(closeBut);\r\n elemById( \"Xtop2\").addEventListener( \"click\", closeWindow);\r\n if(window.innerWidth < 500){\r\n elemById('addBoothBtn').addEventListener('click', function(e){\r\n e.preventDefault();\r\n mobileAddBooth();\r\n });\r\n elemById('Xtop3').addEventListener('click', function(){\r\n data.salesWindow.window.style.display = \"block\";\r\n elemById('control1').style.display = \"block\";\r\n elemById('btnMenu').style.display = \"block\";\r\n elemById('sPrompt2Flag').style.display = \"none\"; \r\n closeWindow();\r\n });\r\n }\r\n\r\n data.salesWindow.window.addEventListener( \"Dialog_Moved\", mapMovedHandler);\t\r\n\r\n function mapMovedHandler() {\r\n\t\tdata.salesWindow.window.removeEventListener( \"Dialog_Moved\", mapMovedHandler);\r\n\t\tdata.userMovedMapSales = true;\r\n }\r\n function removeHatchBoothsHandler(e){\r\n // I like this, but might be overkill since it's so easy to re-hatch\r\n /* e.preventDefault();\r\n swal({\r\n title: \"Remove Hatch Booths\",\r\n text: \"Are you sure you wish to remove current hatch booths?\",\r\n icon: \"warning\",\r\n buttons: [\"Cancel\", \"Delete\"],\r\n dangerMode: true,\r\n })\r\n .then((willDelete) => {\r\n if (willDelete) {\r\n sales.clearHatchedBooths()\r\n }\r\n }) */ \r\n sales.clearHatchedBooths();\r\n closeWindow();\r\n\r\n }\r\n function mapHatchObj(){\r\n var hatchSize = document.getElementById(\"sizeHatch\").value;\r\n var hatchColor = document.getElementById(\"colorHatch\").value\r\n var hatchRadio = document.querySelectorAll('input[name=hatchRadio]:checked')[0].value\r\n var hatchGrey = document.getElementById('greyHatch').checked;\r\n\r\n hatchObj = {\r\n \"radio\": hatchRadio,\r\n \"size\": hatchSize,\r\n \"color\": hatchColor,\r\n \"grey\": hatchGrey\r\n }\r\n //console.log(hatchObj)\r\n }\r\n function hatchBoothDisplay(){\r\n if(elemById(\"hatchRadioDiv\") === null){\r\n var hatchRadio = document.createElement('div');\r\n var hatchSize = document.createElement('div');\r\n var hatchColor = document.createElement('div');\r\n var hatchGrey = document.createElement('div');\r\n var table = document.getElementById(\"sTable\");\r\n\r\n hatchRadio.innerHTML = `\r\n \r\n `;\r\n hatchGrey.innerHTML = ``;\r\n hatchSize.innerHTML = ``;\r\n hatchColor.innerHTML = ``;\r\n\r\n var arAreaF = [];\r\n var arAreaM = [];\r\n var arDimF = [];\r\n var arDimM = [];\r\n\r\n for(i = 0; i < data.booths.length; i++) {\r\n if(config.units === \"F\"){\r\n var area = data.booths[i].areaF.replace(/[^0-9.]/g, '');\r\n if(!arAreaF.includes(area) && area != \"\"){\r\n arAreaF.push(area);\r\n }\r\n if(!arDimF.includes(data.booths[i].dimF)){\r\n arDimF.push(data.booths[i].dimF);\r\n }\r\n }\r\n else if(config.units === \"M\"){\r\n var area = data.booths[i].areaM.replace(/[^0-9.]/g, '');\r\n if(!arAreaM.includes(area) && area != \"\"){\r\n arAreaM.push(area);\r\n }\r\n if(!arDimM.includes(data.booths[i].dimM)){\r\n arDimM.push(data.booths[i].dimM);\r\n }\r\n }\r\n }\r\n\r\n\r\n hatchRadio.setAttribute(\"id\", \"hatchRadioDiv\");\r\n hatchSize.setAttribute(\"id\", \"sizeHatchDiv\");\r\n hatchColor.setAttribute(\"id\", \"colorHatchDiv\");\r\n hatchGrey.setAttribute(\"id\", \"hatchGreyDiv\");\r\n\r\n table.appendChild(hatchRadio); \r\n table.appendChild(hatchSize);\r\n table.appendChild(hatchColor);\r\n table.appendChild(hatchGrey);\r\n\r\n if (config.units === \"F\") {\r\n\r\n // Add Radio for Dimension or Area\r\n var isDim = false;\r\n var isArea = true;\r\n\r\n if(isArea) {\r\n arAreaF.sort(function(a, b){return a-b});\r\n\r\n for(i = 0; i < arAreaF.length; i++) {\r\n var option = document.createElement('option');\r\n option.setAttribute(\"value\", arAreaF[i] + \" SqFt\");\r\n option.textContent = arAreaF[i] + \" SqFt\";\r\n elemById(\"sizeHatch\").appendChild(option);\r\n }\r\n }\r\n else if(isDim) {\r\n arDimF.sort();\r\n\r\n for(i = 0; i < arDimF.length; i++) {\r\n var option = document.createElement('option');\r\n option.setAttribute(\"value\", arDimF[i]);\r\n option.textContent = arDimF[i];\r\n elemById(\"sizeHatch\").appendChild(option);\r\n }\r\n }\r\n\r\n }\r\n else if(config.units === \"M\") {\r\n // Add Radio for Dimension or Area\r\n var isDim = false;\r\n var isArea = true;\r\n\r\n if(isArea) {\r\n arAreaM.sort(function(a, b){return a-b});\r\n\r\n for(i = 0; i < arAreaM.length; i++) {\r\n var option = document.createElement('option');\r\n option.setAttribute(\"value\", arAreaM[i] + \" m²\");\r\n option.textContent = arAreaM[i] + \" m²\";\r\n elemById(\"sizeHatch\").appendChild(option);\r\n }\r\n }\r\n else if(isDim) {\r\n arDimM.sort();\r\n\r\n for(i = 0; i < arDimM.length; i++) {\r\n var option = document.createElement('option');\r\n option.setAttribute(\"value\", arDimM[i]);\r\n option.textContent = arDimM[i];\r\n elemById(\"sizeHatch\").appendChild(option);\r\n }\r\n }\r\n }\r\n\r\n\r\n hatchRadio.style.display = \"flex\";\r\n hatchSize.style.display = \"block\";\r\n hatchColor.style.display = \"block\";\r\n hatchGrey.style.display = \"flex\";\r\n elemById(\"greyHatch\").style.display = \"block\";\r\n\r\n } else {\r\n elemById(\"hatchRadioDiv\").style.display = \"flex\";\r\n elemById(\"sizeHatchDiv\").style.display = \"block\";\r\n elemById(\"colorHatchDiv\").style.display = \"block\";\r\n elemById(\"hatchGreyDiv\").style.display = \"flex\";\r\n elemById(\"greyHatch\").style.display = \"block\";\r\n }\r\n if(data.hatchedBooths == true){\r\n if(elemById(\"removeHatch\") === null){\r\n var hatchRemove = document.createElement('button');\r\n hatchRemove.textContent = \"Remove\"; \r\n hatchRemove.setAttribute(\"id\", \"removeHatch\");\r\n elemById('sControl').appendChild(hatchRemove);\r\n elemById('removeHatch').addEventListener('click', removeHatchBoothsHandler);\r\n elemById(\"removeHatch\").style.display = \"block\";\r\n } else {\r\n elemById(\"removeHatch\").style.display = \"block\";\r\n }\r\n }\r\n \r\n }\r\n /////////////////////////////////////////////\r\n\r\n function openWindow( op) {\r\n btnOps.disabled = true;\r\n data.salesWindowOpen = true; // tell floor plan to send booth clicks here\r\n commandNumber = txt.arSalesCommands.indexOf( op);\r\n\r\n data.salesWindow.window.style.display = 'block';\r\n data.salesWindow.action.style.display = 'none';\r\n\r\n winSales.style.backgroundColor = fxStyle.rows.clrEvenBg;\r\n winSales.style.color = fxStyle.rows.clrEvenText;\r\n\r\n if( commandNumber !== sales.CMD_NEW_EXHIBITOR && commandNumber !== sales.CMD_EVENT_STATISTICS \r\n && commandNumber !== sales.CMD_HATCH_BOOTHS) {\r\n\r\n inputBthNum.parentElement.style.display = \"block\";\r\n }\r\n\r\n winSales.style.display = \"block\";\r\n \r\n if( commandNumber === sales.CMD_RENT ||\r\n commandNumber === sales.CMD_HOLD ||\r\n commandNumber === sales.CMD_UNDELETE ||\r\n\t\t\t\tcommandNumber === sales.CMD_EVENT_STATISTICS ||\r\n commandNumber === sales.CMD_DIVIDE) {\r\n winSales.style.height = \"\";\r\n //winSales.style.height = \"560px\";\r\n }\r\n else {\r\n winSales.style.height = \"1\";\r\n }\r\n \r\n\t\tbtnOps.textContent = op;\r\n\t\tif( commandNumber !== sales.CMD_EVENT_STATISTICS) {\r\n\t\t\tbtnOps.style.display = \"inline-block\";\r\n\t\t}\r\n\t\telse {\r\n\t\t\tbtnOps.style.display = \"none\";\r\n\t\t}\r\n\t\t\r\n if( commandNumber === sales.CMD_RENT || commandNumber === sales.CMD_HOLD) {\r\n if( salesMode === \"sales\") {\r\n doc.addEventListener( \"Companies_Result\", companyListHandler);\r\n sales.getCompanyList();\r\n }\r\n inputName.parentElement.style.display = \"block\"; \r\n\r\n inputId.parentElement.style.display = \"block\";\r\n \r\n if( commandNumber === sales.CMD_RENT) {\r\n inputRate.parentElement.style.display = \"block\";\r\n\r\n // Need to revist this. Would rather add info to the company list before selection\r\n /* var infoInterval = setInterval(function(){ \r\n if(inputName.value.length !== 0){\r\n if(!elemById('info-rent')){\r\n tooltipNode = document.createElement('span');\r\n inputName.insertAdjacentHTML('afterend', \r\n '
'\r\n );\r\n elemById('info-rent').appendChild(tooltipNode)\r\n tooltipNode.setAttribute(\"id\", \"tooltiptext\")\r\n tooltipNode.innerHTML = \"

Contact Details

\" +\r\n \"Contact: \" + \r\n tooltipObj.contact + \r\n \"\" +\r\n \"Phone: \" + \r\n tooltipObj.phone + \r\n \"\" +\r\n \"FAX: \" + \r\n tooltipObj.fax + \r\n \"\" +\r\n \"E-Mail: \" + \r\n tooltipObj.email+ \r\n \"\"; \r\n \r\n clearInterval(infoInterval)\r\n } else {\r\n elemById('tooltiptext').innerHTML = \"

Contact Details

\" +\r\n \"Contact: \" + \r\n tooltipObj.contact + \r\n \"\" +\r\n \"Phone: \" + \r\n tooltipObj.phone + \r\n \"\" +\r\n \"FAX: \" + \r\n tooltipObj.fax + \r\n \"\" +\r\n \"E-Mail: \" + \r\n tooltipObj.email+ \r\n \"\"; \r\n\r\n elemById('info-rent').style.visibility = \"visible\";\r\n\r\n clearInterval(infoInterval)\r\n }\r\n }\r\n }, 1000); */\r\n }\r\n else {\r\n inputComment.parentElement.style.display = \"block\";\r\n inputComment.removeAttribute( \"readonly\");\r\n elemById( \"sNewComp\").style.display = \"inline-block\";\r\n elemById( \"sNewComp\").addEventListener( \"click\", newCompanyHandler);\r\n }\r\n }\r\n else if( commandNumber === sales.CMD_UNDELETE) {\r\n doc.addEventListener( \"Result_Deleted_Booths\", deletedBoothListHandler);\r\n sales.getDeletedBoothList();\r\n }\r\n else if( commandNumber === sales.CMD_EVENT_STATISTICS) {\r\n doc.addEventListener( \"Result_Event_Statistics\", eventStatisticsHandler);\r\n sales.getEventStatistics();\r\n\r\n }\r\n else if( commandNumber === sales.CMD_HATCH_BOOTHS) {\r\n hatchBoothDisplay() \r\n }\r\n else if( commandNumber === sales.CMD_UNRENT || commandNumber === sales.CMD_DELETE || commandNumber === sales.CMD_UNCOMBINE){\r\n mobileAddBooth();\r\n\r\n }\r\n else if( commandNumber === sales.CMD_NEW_EXHIBITOR) {\r\n inputName.parentElement.style.display = \"block\";\r\n inputId.parentElement.style.display = \"block\";\r\n\r\n\t\t\tinputName.removeAttribute( \"readonly\");\r\n\t\t\tinputName.value = \"\";\r\n\t\t\tinputId.removeAttribute( \"readonly\");\r\n\t\t\tinputId.value = \"\";\r\n\t\t\tcheckComplete();\r\n function extraExhibFields(){\r\n inputAddrOne.parentElement.style.display = \"block\";\r\n inputAddrTwo.parentElement.style.display = \"block\";\r\n inputCity.parentElement.style.display = \"block\";\r\n inputCountry.parentElement.style.display = \"block\";\r\n inputState.parentElement.style.display = \"block\";\r\n inputPostalCode.parentElement.style.display = \"block\";\r\n inputContact.parentElement.style.display = \"block\";\r\n inputPhone.parentElement.style.display = \"block\";\r\n inputFax.parentElement.style.display = \"block\";\r\n inputEmail.parentElement.style.display = \"block\";\r\n inputWebSite.parentElement.style.display = \"block\";\r\n inputCompanyProfile.parentElement.style.display = \"block\";\r\n extraInfo.style.display = \"none\";\r\n minExtraInfo.style.display = \"block\";\r\n }\r\n function minExtraExhibFields(){\r\n inputAddrOne.parentElement.style.display = \"none\";\r\n inputAddrTwo.parentElement.style.display = \"none\";\r\n inputCity.parentElement.style.display = \"none\";\r\n inputCountry.parentElement.style.display = \"none\";\r\n inputState.parentElement.style.display = \"none\";\r\n inputPostalCode.parentElement.style.display = \"none\";\r\n inputContact.parentElement.style.display = \"none\";\r\n inputPhone.parentElement.style.display = \"none\";\r\n inputFax.parentElement.style.display = \"none\";\r\n inputEmail.parentElement.style.display = \"none\";\r\n inputWebSite.parentElement.style.display = \"none\";\r\n inputCompanyProfile.parentElement.style.display = \"none\";\r\n extraInfo.style.display = \"block\";\r\n minExtraInfo.style.display = \"none\";\r\n }\r\n extraInfo.addEventListener('click', extraExhibFields);\r\n minExtraInfo.addEventListener('click', minExtraExhibFields);\r\n\t\t\tinputName.addEventListener( \"input\", checkComplete);\r\n\t\t\tinputId.addEventListener( \"input\", checkComplete);\r\n }\r\n else if( commandNumber === sales.CMD_DIVIDE) {\r\n if( divide === null) {\r\n divide = new DivideTool();\r\n elemById( \"divideContainer\").appendChild( divide.tool);\r\n doc.addEventListener( \"Divide_Booth_Numbers\", checkComplete);\r\n if(window.innerHeight < 601){\r\n elemById('divideContainer').style.margin = \"-30px 10% -160px\";\r\n }\r\n }\r\n elemById( \"divideContainer\").style.display = \"block\";\r\n divide.enableEvents();\r\n }\r\n\t\telse if( commandNumber === sales.CMD_CHANGE_NUMBER) {\r\n\t\t\tinputId.parentElement.style.display = \"block\";\r\n\t\t\telemById( \"sLblCompanyId\").textContent = txt.NEW_NUMBER;\r\n\t\t\tinputId.removeAttribute( \"readonly\");\r\n\t\t\tinputId.value = \"\";\r\n\t\t\tinputId.addEventListener( \"input\", checkComplete);\r\n\t\t}\r\n checkComplete();\r\n }\r\n \r\n function newCompanyHandler() {\r\n inputName.removeAttribute( \"readonly\");\r\n inputName.value = \"\";\r\n checkComplete();\r\n inputId.parentElement.style.display = \"none\";\r\n inputName.addEventListener( \"input\", checkComplete);\r\n divCompanies.style.display = \"none\";\r\n doc.getElementById('sTable').style.display = \"block\";\r\n if( commandNumber === sales.CMD_HOLD){\r\n inputId.value = \"\";\r\n }\r\n }\r\n \r\n function closeWindow() {\r\n data.salesWindowOpen = false;\r\n data.salesWindow.window.style.display = 'none'; \r\n if( /Android|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ){\r\n divCompanies.style.margin = \"50px 24px 10px 20px\";\r\n }\r\n elemById('divideContainer').style.margin = \"\";\r\n doc.getElementById('sTable').style.display = \"block\";\r\n elemById('addBoothBtnA').style.display = \"block\";\r\n elemById( \"sLblBthNum\").classList.remove(\"salesComplete\");\r\n elemById( \"sLblCompanyName\").classList.remove(\"salesComplete\");\r\n elemById( \"sLblCompanyId\").classList.remove(\"salesComplete\");\r\n elemById( \"sLblRate\").classList.remove(\"salesComplete\");\r\n elemById( \"sLblComment\").classList.remove(\"salesComplete\");\r\n elemById( \"sCancel\").classList.remove(\"salesComplete\");\r\n elemById( \"sNewComp\").classList.remove(\"salesComplete\");\r\n\r\n if(elemById( \"info-rent\") !== null){\r\n elemById('info-rent').style.visibility = \"hidden\";\r\n }\r\n if(salesPrompt.classList.contains('wrongLoginTwo')){\r\n salesPrompt.classList.remove('wrongLoginTwo');\r\n }\r\n\t\tif( commandNumber === sales.CMD_EVENT_STATISTICS) {\r\n\t\t\twinSales.removeChild( stats);\r\n\t\t\tstats = null;\r\n\t\t\twinSales.removeChild( statsHeader);\r\n }\r\n if(window.innerHeight < 601){\r\n document.querySelectorAll('.dialog__content')[1].scrollTop = 0;\r\n document.querySelectorAll('.dialog__content')[1].style.overflow = 'hidden';\r\n }\r\n \r\n boothObj = null;\r\n elemById( \"sLblCompanyId\").textContent = txt.COMPANY_ID;\r\n\t\tinputBthNum.value = \"\";\r\n\t\tinputName.value = \"\";\r\n\t\tinputId.value = \"\";\r\n\t\tinputId.setAttribute( \"readonly\", true);\r\n inputComment.value = \"\";\r\n inputAddrOne.value = \"\";\r\n inputAddrTwo.value = \"\";\r\n inputCity.value = \"\";\r\n inputCountry.value = \"\";\r\n inputState.value = \"\";\r\n inputPostalCode.value = \"\";\r\n inputContact.value = \"\";\r\n inputPhone.value = \"\";\r\n inputFax.value = \"\";\r\n inputEmail.value = \"\";\r\n inputWebSite.value = \"\";\r\n inputCompanyProfile.value = \"\";\r\n salesPrompt.textContent = \"\";\r\n\t\tinputRate.options.length = 0;\r\n\t\tinputRate.removeEventListener( \"change\", checkComplete);\r\n\t\tbtnOps.textContent = txt.arSalesCommands[ commandNumber]; //?????\r\n btnOps.disabled = true;\r\n\r\n inputName.setAttribute( \"readonly\", true);\r\n salesPrompt.style.display = \"block\";\r\n extraInfo.style.display = \"none\";\r\n minExtraInfo.style.display = \"none\";\r\n\t\tinputName.parentElement.style.display = \"none\";\r\n\t\tinputId.parentElement.style.display = \"none\";\r\n\t\tinputRate.parentElement.style.display = \"none\";\r\n\t\tinputComment.parentElement.style.display = \"none\";\r\n\t\tinputBthNum.parentElement.style.display = \"none\";\r\n elemById( \"sNewComp\").style.display = \"none\";\r\n inputAddrOne.parentElement.style.display = \"none\";\r\n inputAddrTwo.parentElement.style.display = \"none\";\r\n inputCity.parentElement.style.display = \"none\";\r\n inputCountry.parentElement.style.display = \"none\";\r\n inputState.parentElement.style.display = \"none\"; \r\n inputPostalCode.parentElement.style.display = \"none\";\r\n inputContact.parentElement.style.display = \"none\";\r\n inputPhone.parentElement.style.display = \"none\";\r\n inputFax.parentElement.style.display = \"none\";\r\n inputEmail.parentElement.style.display = \"none\";\r\n inputWebSite.parentElement.style.display = \"none\";\r\n inputCompanyProfile.parentElement.style.display = \"none\";\r\n \r\n if(elemById(\"hatchRadioDiv\") !== null){\r\n elemById(\"hatchRadioDiv\").style.display = \"none\";\r\n elemById(\"sizeHatchDiv\").style.display = \"none\";\r\n elemById(\"colorHatchDiv\").style.display = \"none\";\r\n elemById(\"hatchGreyDiv\").style.display = \"none\";\r\n elemById(\"greyHatch\").style.display = \"none\";\r\n if(elemById(\"removeHatch\") !== null){\r\n // elemById('removeHatch').removeEventListener('click', removeHatchBoothsHandler);\r\n elemById(\"removeHatch\").style.display = \"none\";\r\n } \r\n }\r\n if( listCompanies !== null) {\r\n doc.removeEventListener( \"Company_Grid_Click\", companyClickHandler);\r\n divCompanies.removeChild( divCompanyGrid);\r\n listCompanies = null;\r\n divCompanyGrid = null;\r\n }\r\n if( listDeletedBoohts !== null) {\r\n doc.removeEventListener( \"Deleted_Booth_Click\", deletedBoothClickHandler);\r\n divCompanies.removeChild( divCompanyGrid);\r\n listDeletedBoohts = null;\r\n divCompanyGrid = null;\r\n }\r\n if( commandNumber === sales.CMD_DIVIDE) {\r\n divide.close();\r\n elemById( \"divideContainer\").style.display = \"none\";\r\n }\r\n var el = document.getElementsByTagName('input');\r\n var elMsg = document.querySelector('.validate-error-msg');\r\n if(elMsg !== null){\r\n elMsg.remove();\r\n }\r\n for (var i = 0; i < el.length; i++) {\r\n el[i].classList.remove('validate-error');\r\n }\r\n elemById( \"cSrch\").value = \"\";\r\n divCompanies.style.display = \"none\";\r\n \r\n winSales.style.display = \"none\";\r\n doc.dispatchEvent( new FxEvent( \"Sales_Window_Closed\", null));\r\n }\r\n function setBoothNumber( bthObj) {\r\n boothObj = bthObj;\r\n var exhObj = null;\r\n var exhIndexArray;\r\n var i;\r\n var found = false;\r\n var add = \"\";\r\n var remove = \"\";\r\n var index = 0;\r\n var ar = [];\r\n \r\n if( salesMode === \"Exhibitor\") {\r\n if( boothObj.status === \"0\") {\r\n// remove = inputBthNum.value\r\n inputBthNum.value = boothObj.number;\r\n btnOps.textContent = txt.arSalesCommands[ commandNumber]; // why here ????\r\n btnOps.disabled = false;\r\n salesPrompt.textContent = \"\";\r\n }\r\n else if( boothObj.status === \"2\") { \r\n exhIndexArray = boothObj.exhibitorIndex.split( \",\");\r\n for( i = 0; i < exhIndexArray.length; i++) {\r\n\r\n if( data.exhibitors[ exhIndexArray[i]].exhId === inputId.value) {\r\n btnOps.textContent = txt.arSalesCommands[ commandNumber]; \r\n btnOps.disabled = false;\r\n inputBthNum.value = boothObj.number;\r\n salesPrompt.textContent = \"\";\r\n found = true;\r\n break;\r\n }\r\n }\r\n if( !found) {\r\n btnOps.disabled = true;\r\n inputBthNum.value = \"\";\r\n salesPrompt.textContent = txt.NOT_AVAILABLE;\r\n }\r\n }\r\n else {\r\n btnOps.disabled = true;\r\n inputBthNum.value = \"\";\r\n salesPrompt.textContent = txt.NOT_AVAILABLE;\r\n }\r\n }\r\n else if( salesMode === \"sales\") {\r\n if( commandNumber === sales.CMD_RENT) {\r\n if( boothObj.status === \"0\") {\r\n remove = inputBthNum.value;\r\n inputBthNum.value = boothObj.number;\r\n add = boothObj.number;\r\n salesPrompt.textContent = txt.SELECT_BOOTH;\r\n }\r\n else if( boothObj.status === \"1\") { // EDGE won't rent it !!\r\n exhObj = data.exhibitors[ boothObj.exhibitorIndex];\r\n if( exhObj !== null && exhObj.name === inputName.value) {\r\n remove = inputBthNum.value;\r\n inputBthNum.value = boothObj.number;\r\n add = boothObj.number;\r\n }\r\n else {\r\n salesPrompt.textContent = txt.NOT_AVAILABLE;\r\n }\r\n }\r\n else {\r\n salesPrompt.textContent = txt.NOT_AVAILABLE;\r\n }\r\n }\r\n else if( commandNumber === sales.CMD_UNRENT) {\r\n if( boothObj.status === \"2\") {\r\n remove = inputBthNum.value;\r\n inputBthNum.value = boothObj.number;\r\n add = boothObj.number;\r\n salesPrompt.textContent = txt.SELECT_BOOTH;\r\n if(inputBthNum.value !== \"\"){\r\n returnSalesWindow()\r\n }\r\n }\r\n else {\r\n remove = inputBthNum.value;\r\n inputBthNum.value = \"\";\r\n salesPrompt.textContent = txt.NOT_RENTED;\r\n }\r\n }\r\n else if ( commandNumber === sales.CMD_UNHOLD) {\r\n remove = inputBthNum.value;\r\n if( boothObj.status === \"1\") {\r\n inputBthNum.value = boothObj.number;\r\n add = boothObj.number;\r\n salesPrompt.textContent = txt.SELECT_BOOTH;\r\n }\r\n else {\r\n inputBthNum.value = \"\";\r\n salesPrompt.textContent = txt.NOT_ON_HOLD;\r\n }\r\n }\r\n else if( commandNumber === sales.CMD_DIVIDE) {\r\n if( boothObj.status === \"0\") {\r\n if( boothObj.dimF !== \"\") { // Filter OUT non-rectangular booths\r\n remove = inputBthNum.value;\r\n inputBthNum.value = boothObj.number;\r\n add = boothObj.number;\r\n salesPrompt.textContent = txt.ENTER_BOOTH_NUMBERS;\r\n\r\n divide.drawBooth( boothObj);\r\n }\r\n }\r\n else {\r\n salesPrompt.textContent = txt.NOT_AVAILABLE;\r\n }\r\n }\r\n else if( boothObj.status === \"0\") {\r\n if( inputBthNum.value && ( commandNumber === sales.CMD_COMBINE || commandNumber === sales.CMD_DELETE) ) {\r\n // CHECK IF NUMBER IS ALREADY IN STRING\r\n ar = inputBthNum.value.split( \", \");\r\n index = ar.indexOf( boothObj.number);\r\n if( index !== -1) {\r\n ar.splice( index, 1);\r\n inputBthNum.value = ar.join( \", \");\r\n remove = boothObj.number;\r\n } \r\n else {\r\n inputBthNum.value += \", \" + boothObj.number;\r\n add = boothObj.number;\r\n elemById('sLblBthNum').classList.add('salesComplete');\r\n returnSalesWindow();\r\n }\r\n\r\n }\r\n else {\r\n remove = inputBthNum.value;\r\n inputBthNum.value = boothObj.number;\r\n add = boothObj.number;\r\n salesPrompt.textContent = txt.SELECT_BOOTH;\r\n returnSalesWindow();\r\n }\r\n }\r\n else {\r\n remove = inputBthNum.value;\r\n inputBthNum.value = \"\";\r\n salesPrompt.textContent = txt.NOT_AVAILABLE;\r\n }\r\n checkComplete();\r\n }\r\n return { \"select\": add, \"unselect\": remove};\t\t// controls highlighting booths on floor plan\r\n }\r\n \r\n function deletedBoothListHandler( evt) {\r\n doc.removeEventListener( \"Result_Deleted_Booths\", deletedBoothListHandler);\r\n if( !evt.data || evt.data.length === 0) {\r\n salesPrompt.textContent = txt.NO_DELETED_BOOTHS;\r\n }\r\n else {\r\n if( listDeletedBoohts === null) {\r\n divCompanyGrid = doc.createElement( \"div\");\r\n divCompanyGrid.setAttribute( \"id\", \"companies\");\r\n divCompanies.appendChild( divCompanyGrid);\r\n divCompanyGrid.style.height = \"360px\";\r\n \r\n listDeletedBoohts = new DeletedBoothList( divCompanyGrid);\r\n }\r\n// elemById( \"companyHeader\").style.display = \"none\";\r\n divCompanies.style.display = \"block\";\r\n \r\n listDeletedBoohts.setBooths( evt.data);\r\n doc.addEventListener( \"Deleted_Booth_Click\", deletedBoothClickHandler);\r\n }\r\n }\r\n\t\r\n\tfunction eventStatisticsHandler( evt) {\r\n\t\tdoc.removeEventListener( \"Result_Event_Statistics\", eventStatisticsHandler);\r\n\t\t\r\n\t\tif( statsHeader === null) {\r\n\t\t\tstatsHeader = doc.createElement( \"div\");\r\n\t\t\tstatsHeader.className = \"statsHeader\";\r\n\t\t\tsalesPrompt.textContent = btnOps.textContent;\r\n\t\t}\r\n\t\twinSales.insertBefore(statsHeader, salesAction);\r\n\t\t\t\r\n\t\tstats = new StatsList( evt.data);\r\n\t\t\r\n\t\twinSales.insertBefore( stats, salesAction);\r\n\t}\r\n \r\n function deletedBoothClickHandler( evt) {\r\n\t\tdoc.removeEventListener( \"Deleted_Booth_Click\", deletedBoothClickHandler);\r\n inputBthNum.value = evt.data.boothNumber;\r\n checkComplete();\r\n }\r\n \r\n function companyClickHandler( evt) { // for sales mode\r\n if( inputId.parentElement.style.display === \"none\") {\r\n inputId.parentElement.style.display = \"block\";\r\n inputName.setAttribute( \"readonly\", true);\r\n }\r\n inputName.value = evt.data.companyName;\r\n console.log(data.exhibitors)\r\n data.exhibitors.map(item => {\r\n if(item.exhId === evt.data.companyId){\r\n console.log(item)\r\n tooltipObj = item\r\n }\r\n }) \r\n\r\n inputId.value = evt.data.companyId;\r\n checkComplete();\r\n }\r\n \r\n function setCompany( name, id, rate) { // for exhibitor mode\r\n inputName.value = name;\r\n inputId.value = id;\r\n if( rate !== null && rate !== \"\") {\r\n // find rate in options and set to selected\r\n // alert( \"Not Updated to Select Element\");\r\n swal(\"\", \"Not Updated to Select Element\", \"error\");\r\n inputRate.value = rate;\r\n }\r\n checkComplete();\r\n }\r\n \r\n function companyListHandler( evt) {\r\n if( evt.data) {\r\n if( listCompanies === null) {\r\n \r\n divCompanyGrid = doc.createElement( \"div\");\r\n divCompanyGrid.setAttribute( \"id\", \"companies\");\r\n divCompanies.appendChild( divCompanyGrid);\r\n divCompanyGrid.style.height = \"350px\";\r\n divCompanyGrid.style.width = \"353px\";\r\n \r\n listCompanies = new CompanyList( divCompanyGrid, txt.EXHIBITORS);\r\n }\r\n \r\n divCompanies.style.display = \"none\";\r\n// elemById( \"companyHeader\").style.display = \"block\";\r\n \r\n if( commandNumber === sales.CMD_RENT) {\r\n sales.getRatePlans();\r\n doc.addEventListener( \"Result_Rate_Plans\", rateListHandler);\r\n //divCompanies.style.display = \"none\";\r\n }\r\n if( commandNumber === sales.CMD_HOLD) {\r\n divCompanies.style.display = \"none\"; \r\n }\r\n listCompanies.setCompanies( evt.data);\r\n doc.addEventListener( \"Company_Grid_Click\", companyClickHandler);\r\n \r\n doc.removeEventListener( \"Companies_Result\", companyListHandler);\r\n }\r\n }\r\n \r\n function rateListHandler( evt) {\r\n var numPlans = evt.data.length;\r\n var ratePlans = [];\r\n var i = 0;\r\n \r\n for( i = 0; i < numPlans; i++) {\r\n ratePlans.push( evt.data[i].Name);\r\n }\r\n \r\n if( config.sortRatePlans === \"asc\") {\r\n ratePlans.sort();\r\n }\r\n else if( config.sortRatePlans === \"desc\") {\r\n ratePlans.sort( descend);\r\n }\r\n \r\n inputRate.options.length = 0;\r\n inputRate.appendChild( elem.filterItem( txt.SELECT_RATE,\r\n txt.SELECT_RATE, false));\r\n \r\n for( i = 0; i < numPlans; i++) {\r\n inputRate.appendChild( elem.filterItem( ratePlans[i], ratePlans[i], false));\r\n }\r\n inputRate.addEventListener( \"change\", checkComplete);\r\n }\r\n \r\n function descend( a, b) {\r\n if ( b < a) {\r\n return -1;\r\n }\r\n if ( b > a) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n \r\n function sendCommand() {\r\n var params = null;\r\n\t\t\r\n\t\tswitch( commandNumber) {\r\n\t\t\tcase sales.CMD_RENT:\r\n sales.rentBoothRequest( inputBthNum.value, inputId.value, inputRate.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_UNRENT:\r\n\t\t\t\tsales.unrentBoothRequest( inputBthNum.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_HOLD:\r\n\t\t\t\tsales.holdBoothRequest( inputBthNum.value, inputId.value,\r\n inputName.value, inputComment.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_UNHOLD:\r\n\t\t\t\tsales.unholdBoothRequest( inputBthNum.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_COMBINE:\r\n\t\t\t\tsales.combineBoothRequest( inputBthNum.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_UNCOMBINE:\r\n\t\t\t\tsales.uncombineBoothRequest( inputBthNum.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_DELETE:\r\n\t\t\t\tsales.deleteBoothRequest( inputBthNum.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_UNDELETE:\r\n\t\t\t\tsales.undeleteBoothRequest( inputBthNum.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_NEW_EXHIBITOR:\r\n sales.createNewExhibitor( inputName.value, inputId.value, inputAddrOne.value, \r\n inputAddrTwo.value, inputCity.value, inputCountry.value, \r\n inputState.value, inputPostalCode.value, inputContact.value, \r\n inputPhone.value, inputFax.value, inputEmail.value, \r\n inputWebSite.value, inputCompanyProfile.value);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_DIVIDE:\r\n\t\t\t\tparams = divide.getParameters();\r\n\t\t\t\tsales.divideBoothRequest( inputBthNum.value, params);\r\n\t\t\t\tbreak;\r\n\t\t\tcase sales.CMD_CHANGE_NUMBER:\r\n\t\t\t\tsales.changeBoothNumber( inputBthNum.value, inputId.value);\r\n break;\r\n case sales.CMD_HATCH_BOOTHS:\r\n // var color = \"\";\r\n // var availability = 3;\r\n // var size = \"400 SqFt\"; //400 SqFt //10' x 20'\r\n var specified = \"10,43,65,24,79\";\r\n // var grey = true;\r\n\r\n mapHatchObj()\r\n\r\n sales.hatchBooths(hatchObj.color, hatchObj.radio, hatchObj.size, hatchObj.grey, specified);\r\n \r\n //Hack? Should only close if hatchBooths has items based on criteria\r\n closeWindow();\r\n break;\r\n \r\n\t\t\tgkidefault:\r\n\t\t\t\tconsole.log( \"command number \" + commandNumber + \" is not defined\");\r\n\t\t}\r\n doc.addEventListener( \"Sales_Result\", commandResult);\r\n }\r\n \r\n function commandResult( evt) {\r\n doc.removeEventListener( \"Sales_Result\", commandResult);\r\n if( commandNumber === sales.CMD_NEW_EXHIBITOR) {\r\n if( evt.data === null) {\r\n closeWindow();\r\n }\r\n else {\r\n salesPrompt.textContent = evt.data.Message;\r\n salesPrompt.classList.add('wrongLoginTwo');\r\n }\r\n }\r\n else if( evt.data) {\r\n if( evt.data.hasOwnProperty( \"Code\") && evt.data.Code < 0) {\r\n salesPrompt.textContent = evt.data.Code + \" \" + evt.data.Message;\r\n } \r\n else {\r\n\t\t\t\tif( commandNumber === sales.CMD_UNDELETE) {\r\n\t\t\t\t\t\t// save booth number to allow zoom to booth when booth info available\r\n\t\t\t\t\tdata.pendingZoomBoothNumber = inputBthNum.value;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n inputBthNum.value = \"\";\r\n btnOps.disabled = true;\r\n sales.syncNow(); \r\n \r\n closeWindow();\r\n }\r\n }\r\n else {\r\n console.log( \"Command Failed \" + evt.Message);\r\n }\r\n }\r\n\r\n //Form Max length Detect\r\n var arr = [inputBthNum,\r\n inputName,\r\n inputId,\r\n inputComment,\r\n inputAddrOne,\r\n inputAddrTwo,\r\n inputCity,\r\n inputCountry,\r\n inputState,\r\n inputPostalCode,\r\n inputContact,\r\n inputPhone,\r\n inputFax,\r\n inputEmail,\r\n inputWebSite,\r\n inputCompanyProfile];\r\n\r\n arr.forEach(function (item) {\r\n item.onkeydown = function() {\r\n if (this.value.length === parseInt(this.attributes[\"maxlength\"].value)) {\r\n item.classList.add('validate-error')\r\n if(!document.body.contains(document.querySelector('.validate-error-msg'))){\r\n item.insertAdjacentHTML('afterend', ''+ characterLimit +'');\r\n }\r\n } else{\r\n if(document.body.contains(document.querySelector('.validate-error-msg'))){\r\n document.querySelector('.validate-error-msg').remove();\r\n }\r\n item.classList.remove('validate-error');\r\n }\r\n } \r\n });\r\n \r\n return {\r\n closeWindow: closeWindow,\r\n openWindow: openWindow,\r\n setBoothNumber: setBoothNumber,\r\n setCompany: setCompany,\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n/*global console */\r\n\r\nexpocadfx.Login = function( type) {\r\n\t'use strict';\r\n var CompanyList = expocadfx.CompanyList;\r\n var data = expocadfx.fxData;\r\n var txt = expocadfx.txt;\r\n var FxEvent = expocadfx.fxevent;\r\n var config = expocadfx.config;\r\n \r\n var doc = document;\r\n var divId = null;\r\n var nodes = null;\r\n var divLogin = null;\r\n var divContent = null;\r\n var divPswd = null;\r\n var lblPswd = null;\r\n var txtPswd = null;\r\n var txtId = null;\r\n var divButtons = null;\r\n var btnLogin = null;\r\n var btnCancel = null;\r\n var divCompanies = null;\r\n var prompt = null;\r\n var logoDiv = null;\r\n var logo = null;\r\n var selectedCompanyId = \"\";\r\n var companyList = null;\r\n var loginType = type;\r\n var newFooter;\r\n \r\n \r\n function cancelHandler() {\r\n doc.dispatchEvent( new FxEvent( \"Cancel_Login\", {}));\r\n }\r\n \r\n function loginClickHandler() {\r\n if( txtPswd.value !== \"\" && ( type === \"none\" || txtId.value !== \"\")) {\r\n var obj = {\r\n \"password\" : txtPswd.value,\r\n \"user\" : \"\",\r\n \"selected\" : selectedCompanyId\r\n };\r\n \r\n if( txtId !== null) {\r\n obj.user = txtId.value;\r\n }\r\n if( loginType === \"sales\" && data.salesIniUser !== undefined && data.salesIniPswd !== \"\") {\r\n obj.user = data.salesIniUser;\r\n obj.password = data.salesIniPswd;\r\n prompt.classList.add('wrongLogin');\r\n }\r\n \r\n btnLogin.disabled = true;\r\n if( loginType !== \"none\") {\r\n prompt.textContent = txt.CONNECTING + txt.SALES_SERVER;\r\n if(prompt.classList.contains('wrongLogin')){\r\n prompt.classList.remove('wrongLogin');\r\n }\r\n }\r\n doc.dispatchEvent( new FxEvent( \"Submit_Login\", obj));\r\n }\r\n else if( type === \"none\") {\r\n prompt.textContent = txt.REQUIRED_PASSWORD;\r\n prompt.classList.add('wrongLogin');\r\n }\r\n else if( type === \"Exhibitor\") {\r\n prompt.textContent = txt.REQUIRED_COMPANY_PASSWORD;\r\n prompt.classList.add('wrongLogin');\r\n\r\n }\r\n else {\r\n prompt.textContent = txt.REQUIRED_ID_PASSWORD;\r\n prompt.classList.add('wrongLogin');\r\n\r\n }\r\n }\r\n \r\n function keyboardHandler(evt) {\r\n if( evt.key === \"Enter\") {\r\n loginClickHandler();\r\n }\r\n }\r\n \r\n function loginSucceeded() {\r\n btnLogin.removeEventListener( \"click\", loginClickHandler, false);\r\n doc.removeEventListener( \"keyup\", keyboardHandler);\r\n if( btnCancel) {\r\n btnCancel.removeEventListener( \"click\", cancelHandler);\r\n }\r\n btnLogin.disabled = false;\r\n }\r\n \r\n function loginFailed( msg) {\r\n if(!msg){\r\n msg = \"Login Failed\";\r\n }\r\n \r\n btnLogin.disabled = false;\r\n\r\n //Not sure why this is off for ELI and static FP pass -AH 6/10/2021\r\n //if( loginType !== \"none\") {\r\n prompt.textContent = msg;\r\n prompt.classList.add('wrongLogin');\r\n //}\r\n\r\n txtPswd.value = \"\";\r\n if( txtId !== null) {\r\n txtId.value = \"\";\r\n }\r\n }\r\n \r\n function getCompany() {\r\n return {\r\n companyName: txtId.value,\r\n companyId: selectedCompanyId\r\n };\r\n }\r\n \r\n function gridClickHandler( evt) {\r\n selectedCompanyId = evt.data.companyId;\r\n txtId.value = evt.data.companyName;\r\n }\r\n \r\n// function resetLogin() {\r\n// if( txtId !== null) {\r\n// txtId.value = \"\";\r\n// }\r\n// txtPswd.value = \"\";\r\n// selectedCompanyId = \"\";\r\n// prompt.textContent = msg;\r\n// prompt.style.color = \"#000000\";\r\n// // clear company list ??\r\n// }\r\n \r\n function initLogin() {\r\n if( txtId !== null) {\r\n txtId.value = \"\";\r\n }\r\n txtPswd.value = \"\";\r\n selectedCompanyId = \"\";\r\n if( loginType === \"none\") {\r\n prompt.textContent = txt.ENTER_PASSWORD;\r\n }\r\n else if( type === \"Exhibitor\") {\r\n prompt.textContent = txt.SELECT_COMPANY_PASSWORD;\r\n }\r\n else {\r\n prompt.textContent = txt.ENTER_ID_PASSWORD;\r\n }\r\n \r\n prompt.style.color = \"#000000\";\r\n if( loginType === \"sales\" && data.salesIniUser !== undefined && data.salesIniPswd !== \"\") {\r\n txtId.value = \"Demo User\";\r\n txtPswd.value = \"xxxxxxxxxx\";\r\n }\r\n \r\n btnLogin.disabled = false;\r\n btnLogin.addEventListener( \"click\", loginClickHandler);\r\n doc.addEventListener( \"keyup\", keyboardHandler);\r\n if( btnCancel) {\r\n btnCancel.addEventListener( \"click\", cancelHandler);\r\n }\r\n }\r\n \r\n ///////////////////////// Main //////////////////////////////////////\r\n \r\n divLogin = doc.createElement(\"div\");\r\n divLogin.setAttribute( \"id\", \"login_div\");\r\n divContent = doc.createElement(\"div\");\r\n divPswd = doc.createElement( \"div\");\r\n lblPswd = doc.createElement( \"label\");\r\n txtPswd = doc.createElement( \"input\");\r\n logo = doc.createElement('img');\r\n logoDiv = doc.createElement('div');\r\n logo.setAttribute('src', 'https://i.imgur.com/A1IeL2U.png')\r\n prompt = doc.createElement(\"p\");\r\n prompt.setAttribute('id', 'loginP')\r\n newFooter = doc.createElement('div');\r\n newFooter.setAttribute('id', 'newFooter');\r\n\r\n \r\n divLogin.setAttribute( \"class\", \"modalDialog\");\r\n divContent.setAttribute( \"class\", \"login\");\r\n divLogin.appendChild(newFooter);\r\n if(config.isXML){\r\n newFooter.textContent = \"EXPOCAD® FX\" + txt.COPYRIGHT + \" \" + txt.VERSION + data.version;\r\n }\r\n else{\r\n newFooter.textContent = \"3e powered by EXPOCAD®\" + txt.COPYRIGHT + \" \" + txt.VERSION + data.version;\r\n }\r\n \r\n // if exhibitor login - add grid with exhibitors (and search box)\r\n if( type === \"Exhibitor\") {\r\n divCompanies = doc.createElement( \"div\");\r\n divContent.appendChild( divCompanies);\r\n var h = 0.6 * doc.body.clientHeight + \"px\";\r\n divCompanies.style.height = h;\r\n prompt.setAttribute( \"class\", \"loginPrompt\");\r\n companyList = new CompanyList( divCompanies);\r\n doc.addEventListener( \"Company_Grid_Click\", gridClickHandler);\r\n }\r\n // all types need prompt and password input\r\n divContent.appendChild( logoDiv);\r\n logoDiv.appendChild( logo);\r\n divContent.appendChild( prompt);\r\n divPswd.appendChild( lblPswd);\r\n divPswd.appendChild( txtPswd);\r\n \r\n if( type !== \"none\") {\r\n divId = divPswd.cloneNode( true);\r\n nodes = divId.getElementsByTagName( \"label\");\r\n nodes[0].textContent = txt.USER_ID;\r\n \r\n txtId = divId.getElementsByTagName( \"input\")[0];\r\n txtId.setAttribute( \"id\", \"txtId\");\r\n\t\ttxtId.setAttribute( \"type\", \"text\");\r\n\t\ttxtId.setAttribute( \"autofocus\", \"true\");\r\n \r\n divContent.appendChild( divId);\r\n }\r\n // add password field\r\n lblPswd.textContent = txt.PASSWORD;\r\n txtPswd.setAttribute( \"id\", \"txtPassword\");\r\n txtPswd.type = \"password\";\r\n divContent.appendChild( divPswd);\r\n \r\n divButtons = doc.createElement( \"div\");\r\n \r\n btnLogin = doc.createElement( \"button\");\r\n btnLogin.textContent = txt.LOGIN;\r\n \r\n \r\n divButtons.appendChild( btnLogin);\r\n \r\n if( type !== \"none\") {\r\n btnCancel = doc.createElement( \"button\");\r\n btnCancel.textContent = txt.CANCEL;\r\n\r\n divButtons.appendChild( btnCancel);\r\n \r\n }\r\n divContent.appendChild( divButtons);\r\n divLogin.appendChild( divContent);\r\n \r\n \r\n return {\r\n getConpanyInfo: getCompany,\r\n getLoginDiv: function() {\r\n return divLogin;\r\n },\r\n initLogin: initLogin,\r\n loginFailed: loginFailed,\r\n loginSucceeded: loginSucceeded,\r\n setCompanies: function( value) {\r\n if( companyList !== null) {\r\n companyList.setCompanies( value, divCompanies);\r\n }\r\n else {\r\n console.log( \"COMPANY LIST IS NULL\");\r\n }\r\n }\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n//\"use strict\";\r\n/* global checkCustom */\r\n\t\t// functions to save config files ( either view or carousel) and options\r\nexpocadfx.storeXml = ( function(){\r\n\tvar data = expocadfx.fxData;\r\n\tvar txt = expocadfx.txt;\r\n\tvar isTrue = expocadfx.util.isTrue;\r\n var fixColor = expocadfx.util.fixColor;\r\n var makeGradientStyle = expocadfx.util.makeGradientStyle;\r\n\tvar util = expocadfx.util;\r\n\tvar elemById = expocadfx.element.elementById;\r\n \r\n \r\n function getStyles( xml, clr1, clr2) {\r\n var color2 = \"\";\r\n var result = [];\r\n var tmp = xml.getElementsByTagName( clr1)[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n result.push( fixColor( tmp.textContent));\r\n \r\n tmp = xml.getElementsByTagName( clr2)[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n color2 = fixColor( tmp.textContent);\r\n if( color2 !== result[0]) {\r\n result.push( makeGradientStyle( result[0], color2));\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n \r\n\tfunction saveConfig( config, xml) {\r\n\t\tvar xmlList = xml.getElementsByTagName(\"n\");\r\n var xmlClasses = xml.getElementsByTagName(\"C\");\r\n var numClasses = xmlClasses.length;\r\n var i = 0;\r\n for( i = 0; i < numClasses; i++) { // convert HTMLcollection to array, keep IE happy\r\n config.arBoothClasses.push( { name: xmlClasses[i].getAttribute( \"n\"),\r\n color: xmlClasses[i].getAttribute( \"c\").replace( \"0x\", \"#\") } );\r\n }\r\n \r\n config.clrBackground = xmlList[0].getAttribute(\"bg\");\r\n if( config.clrBackground) {\r\n config.clrBackground = config.clrBackground.replace( \"0x\", \"#\");\r\n }\r\n \r\n config.buildingColor = xmlList[0].getAttribute(\"bd\").replace( \"0x\", \"#\");\r\n \r\n \r\n // if colors in config\r\n config.clrRent = xmlList[0].getAttribute(\"r\");\r\n if( config.clrRent) {\r\n config.clrRent = config.clrRent.replace( \"0x\", \"#\");\r\n }\r\n config.clrHold = xmlList[0].getAttribute(\"h\");\r\n if( config.clrHold) {\r\n config.clrHold = config.clrHold.replace( \"0x\", \"#\");\r\n }\r\n config.clrAvailable = xmlList[0].getAttribute(\"a\");\r\n if( config.clrAvailable) {\r\n config.clrAvailable = config.clrAvailable.replace( \"0x\", \"#\");\r\n }\r\n config.clrSelected = xmlList[0].getAttribute(\"sl\");\r\n if( config.clrSelected) {\r\n config.clrSelected = config.clrSelected.replace( \"0x\", \"#\");\r\n }\r\n config.clrHighlight = xmlList[0].getAttribute(\"hl\");\r\n if( config.clrHighlight) {\r\n config.clrHighlight = config.clrHighlight.replace( \"0x\", \"#\");\r\n }\r\n \r\n config.clrBoothText = xmlList[0].getAttribute(\"t\").replace( \"0x\", \"#\");\r\n config.clrBuildingText = xmlList[0].getAttribute(\"bt\").replace( \"0x\", \"#\");\r\n\r\n config.fileNumber = parseInt(xmlList[0].getAttribute(\"al\"), 10);\r\n config.contactEmail = xmlList[0].getAttribute(\"cL\");\r\n config.availableUrl = xmlList[0].getAttribute(\"aL\");\r\n config.availableText1 = xmlList[0].getAttribute(\"aT1\");\r\n config.availableText2 = xmlList[0].getAttribute(\"aT2\");\r\n config.emailSubject1 = xmlList[0].getAttribute(\"cM1\");\r\n config.emailSubject2 = xmlList[0].getAttribute(\"cM2\");\r\n\r\n config.checkSum = parseInt(xmlList[0].getAttribute(\"s\"), 10);\r\n config.year = parseInt(xmlList[0].getAttribute(\"y\"), 10);\r\n config.month = parseInt(xmlList[0].getAttribute(\"m\"), 10);\r\n config.day = parseInt(xmlList[0].getAttribute(\"d\"), 10);\r\n config.eventTitle = xmlList[0].getAttribute(\"eT\");\r\n config.eventName = xmlList[0].getAttribute(\"eN\");\r\n config.viewName = xmlList[0].getAttribute(\"vN\");\r\n config.viewTitle = xmlList[0].getAttribute(\"vT\");\r\n config.showUnits = xmlList[0].getAttribute(\"u\");\r\n if( config.units === \"\") { // don't over write user or query string value\r\n config.units = config.showUnits;\r\n }\r\n config.updateCheckInterval = xmlList[0].getAttribute(\"cT\");\r\n\t\t\t\r\n\t\t\t// convert text T/F to boolean\r\n config.bSocialButtons = ( xmlList[0].getAttribute(\"SMB\") === \"T\");\r\n config.hasMultipleViews = ( xmlList[0].getAttribute(\"car\") === \"T\");\r\n config.bPDF = ( xmlList[0].getAttribute(\"PDF\") === \"T\");\r\n config.bUrl = ( xmlList[0].getAttribute(\"url\") === \"T\");\r\n config.bPreviewLink = ( xmlList[0].getAttribute(\"pop\") === \"T\");\r\n config.bOverlay = true; /////// moving to options !!! ( xmlList[0].getAttribute(\"OVR\") === \"T\"); \r\n config.bDataEncrypted = ( xmlList[0].getAttribute(\"eD\") === \"T\");\r\n //config.bUseApi = ( xmlList[0].getAttribute(\"API\") === \"T\"); // ALWAYS CALL IF IT'S THERE!\r\n if( window.checkCustom) {\r\n config.bUseApi = String( checkCustom()) === \"1\";\r\n }\r\n else {\r\n config.bUseApi = false;\r\n }\r\n \r\n config.bServerTime = ( xmlList[0].getAttribute(\"sT\") === \"T\");\r\n config.bLegend = ( xmlList[0].getAttribute(\"LEG\") === \"T\");\r\n config.bCategoryData = (xmlList[0].getAttribute(\"ddC\") === \"T\");\r\n config.bPavilionData = (xmlList[0].getAttribute(\"ddP\") === \"T\");\r\n config.bSubShowData = (xmlList[0].getAttribute(\"ddS\") === \"T\");\r\n config.bCountryData = (xmlList[0].getAttribute(\"ddY\") === \"T\");\r\n\t\t\r\n config.savedDate = xmlList[0].getAttribute(\"dT\");\r\n config.savedTime = xmlList[0].getAttribute(\"tT\");\r\n config.scaleFactor = parseFloat(xmlList[0].getAttribute(\"zf\"));\r\n config.version = xmlList[0].getAttribute(\"Ver\");\r\n config.expocadVersion = xmlList[0].getAttribute(\"ExV\");\r\n config.rentMode = (xmlList[0].getAttribute(\"rm\") === \"T\");\r\n config.holdMode = (xmlList[0].getAttribute(\"hm\") === \"T\");\r\n\t\t\r\n txt.RENT_MODE_LABEL = xmlList[0].getAttribute( \"rmt\");\r\n txt.HOLD_MODE_LABEL = xmlList[0].getAttribute( \"hmt\");\r\n \r\n expocadfx.styles.mainHeader.clrBg = xmlList[0].getAttribute(\"hC\").replace( \"0x\", \"#\");\r\n expocadfx.styles.footer.clrBg = expocadfx.styles.mainHeader.clrBg;\r\n\t\t\t\r\n config.urlFacilityView = xmlList[0].getAttribute(\"rURL\");\r\n\t\t\t\r\n config.hdrLogoSource = xmlList[0].getAttribute(\"hL\");\r\n config.password = xmlList[0].getAttribute(\"eP\");\r\n config.activationCode = xmlList[0].getAttribute(\"cv\");\r\n \r\n if(config.version >= 4.4){\r\n config.printLayoutScale = xmlList[0].getAttribute(\"pS\");\r\n config.printLayoutAdjustmentX = xmlList[0].getAttribute(\"pX\");\r\n config.printLayoutAdjustmentY = xmlList[0].getAttribute(\"pY\");\r\n config.printLayoutOrientation = xmlList[0].getAttribute(\"pO\");\r\n }\r\n\r\n // User defined GPS->Coords From Desktop\r\n config.refLat0 = xmlList[0].getAttribute(\"Lat1\");\r\n config.refLon0 = xmlList[0].getAttribute(\"Lon1\");\r\n config.refLat1 = xmlList[0].getAttribute(\"Lat2\");\r\n config.refLon1 = xmlList[0].getAttribute(\"Lon2\");\r\n \r\n config.refFXX0 = xmlList[0].getAttribute(\"GPS1x\");\r\n config.refFXY0 = xmlList[0].getAttribute(\"GPS1y\");\r\n config.refFXX1 = xmlList[0].getAttribute(\"GPS2x\");\r\n config.refFXY1 = xmlList[0].getAttribute(\"GPS2y\");\r\n\r\n // Add check that all attributes have values\r\n if(config.refLat0 && config.refLon0 && config.refLat1 && config.refLon1 && \r\n config.refFXX0 && config.refFXY0 && config.refFXX1 && config.refFXY1){\r\n config.locationAvailable = true;\r\n }\r\n\t\t\t\r\n\t\t\t// 20130101 09 49 23 0017 --> 01/01/2013 at 09:49\r\n config.lastSaved = config.savedDate.substr( 4, 2) + \"/\" +\r\n config.savedDate.substr( 6, 2) + \"/\" +\r\n config.savedDate.substr( 0, 4) + \" at \" +\r\n config.savedTime.substr( 0, 2) + \":\" +\r\n config.savedTime.substr( 2, 2);\r\n \r\n xmlList = null;\r\n xml = null;\r\n }\r\n \r\n function multiConfig( config, xml) {\r\n var xmlList = xml.getElementsByTagName(\"c\");\r\n \r\n config.eventTitle = xmlList[0].getAttribute(\"eT\");\r\n config.eventName = xmlList[0].getAttribute(\"eN\");\r\n\r\n expocadfx.styles.mainHeader.clrBg = xmlList[0].getAttribute(\"hC\").replace( \"0x\", \"#\");\r\n expocadfx.styles.footer.clrBg = expocadfx.styles.mainHeader.clrBg;\r\n\t\t\r\n \r\n config.hdrLogoSource = xmlList[0].getAttribute(\"hL\");\r\n config.bPDF = ( xmlList[0].getAttribute(\"PDF\") === \"T\");\r\n config.bOverlay = ( xmlList[0].getAttribute(\"OVR\") === \"T\"); \r\n config.bDataEncrypted = ( xmlList[0].getAttribute(\"eD\") === \"T\");\r\n config.hasMultipleViews = true;\r\n config.hasFloorPlan = false;\r\n config.clrHighlight = \"#ff0000\";\r\n \r\n xmlList = null;\r\n xml = null;\r\n }\r\n \r\n function options( xml, config, style) {\r\n var tmp = null;\r\n var ar = null;\r\n var color2 = \"\";\r\n var rotation = \"\";\r\n var sign = 1;\r\n\t\tvar xmlNodes = null;\r\n\t\tvar i = 0;\r\n \r\n tmp = xml.getElementsByTagName( \"AuthorizationKey\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.authorizationKey = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"HeaderLogoFile\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.hdrLogoSource = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"HeaderBgColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n ar = tmp.textContent.split(\",\");\r\n style.mainHeader.clrBg = fixColor( ar[0]);\r\n if( ar.length === 2) {\r\n color2 = fixColor( ar[1]);\r\n if( color2 !== style.mainHeader.clrBg) {\r\n tmp = xml.getElementsByTagName( \"HeaderBgGradientRotation\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n rotation = String( parseInt( tmp.textContent, 10) + 90);\r\n }\r\n style.mainHeader.gradBg = makeGradientStyle( style.mainHeader.clrBg,\r\n fixColor( ar[1]), rotation);\r\n }\r\n }\r\n }\r\n tmp = xml.getElementsByTagName( \"HeaderTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.mainHeader.clrText = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"HeaderLogoUrl\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.urlFacilityView = tmp.textContent;\r\n }\r\n \r\n tmp = xml.getElementsByTagName( \"FooterBgColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n ar = tmp.textContent.split(\",\");\r\n style.footer.clrBg = fixColor( ar[0]);\r\n if( ar.length === 2) {\r\n color2 = fixColor( ar[1]);\r\n if( color2 !== style.footer.clrBg) {\r\n tmp = xml.getElementsByTagName( \"FooterBgGradientRotation\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n rotation = String( parseInt( tmp.textContent, 10) + 90);\r\n }\r\n else {\r\n rotation = \"\";\r\n }\r\n style.footer.gradBg = makeGradientStyle( style.footer.clrBg,\r\n color2, rotation);\r\n }\r\n }\r\n }\r\n else {\r\n style.footer.clrBg = style.mainHeader.clrBg;\r\n style.footer.gradBg = style.mainHeader.gradBg;\r\n }\r\n tmp = xml.getElementsByTagName( \"FooterTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.footer.clrText = fixColor( tmp.textContent);\r\n }\r\n else {\r\n style.footer.clrText = style.mainHeader.clrText;\r\n }\r\n\r\n tmp = xml.getElementsByTagName( \"WindowHeaderColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n ar = tmp.textContent.split(\",\");\r\n style.windowHeader.clrBg = fixColor( ar[0]);\r\n if( ar.length === 2) {\r\n color2 = fixColor( ar[1]);\r\n if( color2 !== style.footer.clrBg) {\r\n tmp = xml.getElementsByTagName( \"WindowBgGradientRotation\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n rotation = String( parseInt( tmp.textContent, 10) + 90);\r\n }\r\n else {\r\n rotation = \"\";\r\n }\r\n style.windowHeader.gradBg = makeGradientStyle( style.footer.clrBg,\r\n color2, rotation);\r\n }\r\n }\r\n }\r\n else {\r\n style.windowHeader.clrBg = style.mainHeader.clrBg;\r\n style.windowHeader.gradBg = style.mainHeader.gradBg;\r\n }\r\n tmp = xml.getElementsByTagName( \"WindowHeaderTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.windowHeader.clrText = fixColor( tmp.textContent);\r\n }\r\n else {\r\n style.windowHeader.clrText = style.mainHeader.clrText;\r\n }\r\n \r\n tmp = xml.getElementsByTagName( \"SocialMediaButtons\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bSocialButtons = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShowEventTitle\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.eventTitleLocation = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"EventTitle\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.eventTitle = tmp.textContent;\r\n if( !config.hasMultipleViews) { // ?? should not be using view title if not multi-view\r\n config.viewTitle = tmp.textContent;\r\n }\r\n }\r\n tmp = xml.getElementsByTagName( \"EventTitleTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrEventTitleText = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"EventTitleTextSize\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.eventTitleTextSize = tmp.textContent;\r\n } \r\n tmp = xml.getElementsByTagName( \"ShowViewTitle\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.viewTitleLocation = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"ViewTitle\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.viewTitle = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"ViewTitleTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrViewTitleText = fixColor( tmp.textContent);\r\n } \r\n tmp = xml.getElementsByTagName( \"ViewTitleTextSize\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.viewTitleTextSize = tmp.textContent;\r\n }\r\n//--------- Booth Colors -------------------------------------------------------// \r\n tmp = xml.getElementsByTagName( \"RentedBoothColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrRent = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"HoldBoothColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrHold = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"AvailableBoothColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrAvailable = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"SelectedBoothColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrSelected = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"HighlightBoothColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrHighlight = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"BoothOutlineColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrBoothBorder = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"BoothAlpha\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.BOOTH_ALPHA = parseFloat( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"EventTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrBoothText = fixColor( tmp.textContent);\r\n }\r\n\t\ttmp = xml.getElementsByTagName( \"BoothDimensionColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrBoothDimensions = fixColor( tmp.textContent);\r\n }\t\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n \r\n//------------------------------------------------------------------------------------// \r\n \r\n tmp = xml.getElementsByTagName( \"PreviewEmailLink\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bPreviewLink = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"Pass\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.password = tmp.textContent;\r\n }\r\n //--------- Accordion Options -------------------------------------------------------// \r\n tmp = xml.getElementsByTagName( \"HideAccordionCountryTab\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bHideCountryList = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"HideAccordionAvailableTab\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bHideAvailableList = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"AccExhibitorTextClr\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.exhibitor.clrText = fixColor( tmp.textContent);\r\n }\r\n ar = getStyles( xml, \"AccExhibitorBgClr1\", \"AccExhibitorBgClr2\");\r\n style.exhibitor.clrBg = ( ar.length > 0) ? ar[0] : \"\";\r\n style.exhibitor.gradBg = ( ar.length === 2) ? ar[1] : \"\";\r\n \r\n if( !config.bHideAvailableList) {\r\n tmp = xml.getElementsByTagName( \"AccAvailableTextClr\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.availableBooth.clrText = fixColor( tmp.textContent);\r\n }\r\n ar = getStyles( xml, \"AccAvailableBgClr1\", \"AccAvailableBgClr2\");\r\n style.availableBooth.clrBg = ( ar.length > 0) ? ar[0] : \"\";\r\n style.availableBooth.gradBg = ( ar.length === 2) ? ar[1] : \"\";\r\n }\r\n tmp = xml.getElementsByTagName( \"AccCategoryTextClr\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.category.clrText = fixColor( tmp.textContent);\r\n }\r\n ar = getStyles( xml, \"AccCategoryBgClr1\", \"AccCategoryBgClr2\");\r\n style.category.clrBg = ( ar.length > 0) ? ar[0] : \"\";\r\n style.category.gradBg = ( ar.length === 2) ? ar[1] : \"\";\r\n \r\n tmp = xml.getElementsByTagName( \"AccPavilionTextClr\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.pavilion.clrText = fixColor( tmp.textContent);\r\n }\r\n ar = getStyles( xml, \"AccPavilionBgClr1\", \"AccPavilionBgClr2\");\r\n style.pavilion.clrBg = ( ar.length > 0) ? ar[0] : \"\";\r\n style.pavilion.gradBg = ( ar.length === 2) ? ar[1] : \"\";\r\n \r\n tmp = xml.getElementsByTagName( \"AccShowInShowTextClr\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.subShow.clrText = fixColor( tmp.textContent);\r\n }\r\n ar = getStyles( xml, \"AccShowInShowBgClr1\", \"AccShowInShowBgClr2\");\r\n style.subShow.clrBg = ( ar.length > 0) ? ar[0] : \"\";\r\n style.subShow.gradBg = ( ar.length === 2) ? ar[1] : \"\";\r\n \r\n if( !config.bHideCountryList) {\r\n tmp = xml.getElementsByTagName( \"AccCountryTextClr\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.country.clrText = fixColor( tmp.textContent);\r\n }\r\n ar = getStyles( xml, \"AccCountryBgClr1\", \"AccCountryBgClr2\");\r\n style.country.clrBg = ( ar.length > 0) ? ar[0] : \"\";\r\n style.country.gradBg = ( ar.length === 2) ? ar[1] : \"\";\r\n }\r\n tmp = xml.getElementsByTagName( \"AccViewTextClr\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.view.clrText = fixColor( tmp.textContent);\r\n }\r\n ar = getStyles( xml, \"AccViewBgClr1\", \"AccViewBgClr2\");\r\n style.view.clrBg = ( ar.length > 0) ? ar[0] : \"\";\r\n style.view.gradBg = ( ar.length === 2) ? ar[1] : \"\";\r\n \r\n tmp = xml.getElementsByTagName( \"AccListRowClrs\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n ar = tmp.textContent.split(\",\");\r\n style.rows.clrEvenBg = fixColor( ar[0]);\r\n style.rows.clrOddBg = ( ar.length === 2) ? fixColor( ar[1]) : fixColor( ar[0]);\r\n }\r\n tmp = xml.getElementsByTagName( \"AccListRowTextClrs\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n ar = tmp.textContent.split(\",\");\r\n style.rows.clrEvenText = fixColor( ar[0]);\r\n style.rows.clrOddText = ( ar.length === 2) ? fixColor( ar[1]) : style.rows.clrEvenText;\r\n }\r\n//------------------------------------------------------------------------------------//\r\n \r\n tmp = xml.getElementsByTagName( \"FloorPlanButtonTextClr\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.floorplan.clrText = fixColor( tmp.textContent);\r\n }\r\n ar = getStyles( xml, \"FloorPlanButtonBgClr1\", \"FloorPlanButtonBgClr2\");\r\n style.floorplan.clrBg = ( ar.length > 0) ? ar[0] : \"\";\r\n style.floorplan.gradBg = ( ar.length === 2) ? ar[1] : \"\";\r\n \r\n tmp = xml.getElementsByTagName( \"ToolBarBgColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.fpToolbar.clrBg = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ToolBarTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.fpToolbar.clrText = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ToolBarAlpha\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n style.fpToolbar.alpha = tmp.textContent;\r\n }\r\n \r\n \r\n \r\n tmp = xml.getElementsByTagName( \"ExhibitorListDefaultToExhibitorsFromAllViews\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.initialAllExhibitors = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"HideFloorPlanDate\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bHideFloorPlanDate = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShowLegend\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bLegend = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"LegendOpen\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.legendOpen = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"LegendNoRent\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.legendRent = !isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"LegendNoHold\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.legendHold = !isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"LegendNoAvailable\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.legendAvailable = !isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"LegendFontSize\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.legendFontSize = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"LegendBackgroundColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrLegendBackground = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"LegendBackgroundAlpha\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.LegendBackgroundAlpha = parseFloat( tmp.textContent);\t\t\r\n }\r\n tmp = xml.getElementsByTagName( \"LegendTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.LegendTextColor = tmp.textContent;\r\n }\r\n\t\t\r\n tmp = xml.getElementsByTagName( \"ShowUpdateMessage\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n if( !isTrue( tmp.textContent)) {\r\n config.updateCheckInterval = 0;\r\n }\r\n }\r\n tmp = xml.getElementsByTagName( \"BoothGradient\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bBoothGradient = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"BoothGradientBaseColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrBoothBase = fixColor( tmp.textContent);\r\n }\r\n // UseExpocadBoothColorForAvailableBoothBorder\r\n tmp = xml.getElementsByTagName( \"AvailableBoothBorderColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.borderAvailableWithExpocadColor = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"RentedBoothBorderColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.borderRentedWithExpocadColor = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"HoldBoothBorderColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.borderOnHoldWithExpocadColor = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShadeAvailableBoothColors\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.fillAvailableWithExpocadColor = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShadeRentedBoothColors\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.fillRentedWithExpocadColor = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShadeHoldBoothColors\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.fillOnHoldWithExpocadColor = isTrue( tmp.textContent);\r\n }\r\n\t\t\r\n tmp = xml.getElementsByTagName( \"BoothBorderWidth\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.boothBorderLineWidth = parseInt( tmp.textContent, 10);\r\n }\r\n tmp = xml.getElementsByTagName( \"AdditionalGraphicsLineWidth\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.additionalGraphicsLineWidth = parseInt( tmp.textContent, 10);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShowServerTime\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bServerTime = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ServerTimeLabel\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.serverTimeZoneLabel = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"ServerTimeOffset\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n // Convert string notation - hh:mm:ss to number milliseconds\r\n ar = tmp.textContent.split(\":\");\r\n \r\n if( ar.length > 0) {\r\n config.serverTimeOffset = parseInt( ar[0], 10) *3600000;\r\n if( config.serverTimeOffset < 0) {\r\n sign = -1;\r\n }\r\n }\r\n if( ar.length > 1) {\r\n config.serverTimeOffset += parseInt( ar[1], 10) *60000 * sign;\r\n }\r\n if( ar.length > 2) {\r\n config.serverTimeOffset += parseInt( ar[2], 10) *1000 * sign;\r\n }\r\n }\r\n tmp = xml.getElementsByTagName( \"ServerTimeTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.serverTimeColor = fixColor( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShowPrintButton\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bFloorPlanPrint = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"WindowListPrint\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bListPrint = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"WindowPopUpPrint\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bPopUpPrint = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName(\"HideWindowPopupShare\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bPopUpShare = !isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShowIAmHereButton\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bIAmHere = isTrue( tmp.textContent);\r\n } \r\n tmp = xml.getElementsByTagName( \"ShowBuildingButton\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bBuilding = isTrue( tmp.textContent);\r\n } \r\n tmp = xml.getElementsByTagName( \"HideMiniMap\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bMiniMap = !(isTrue( tmp.textContent));\r\n }\r\n tmp = xml.getElementsByTagName( \"MiniMapDefaultOpen\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bMiniMapOpen = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"ShowUnitsButton\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bUnitsButton = isTrue( tmp.textContent);\r\n }\r\n \r\n tmp = xml.getElementsByTagName( \"MapAddressLink\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bMapAddress = isTrue( tmp.textContent);\r\n }\r\n tmp = xml.getElementsByTagName( \"Pass\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.password = tmp.textContent;\r\n }\r\n tmp = xml.getElementsByTagName( \"GAAccount\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.gaAccount = tmp.textContent;\r\n }\r\n // Accordion lists\r\n tmp = xml.getElementsByTagName( \"HideExhibitorListWindow\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.showLists = !isTrue( tmp.textContent);\r\n }\r\n\t\tif( config.showLists) {\r\n\t\t\ttmp = xml.getElementsByTagName( \"ListWindowDefaultOpen\")[0];\r\n\t\t\tif( tmp && tmp.textContent !== \"\") {\r\n config.defaultListWindowOpen = isTrue( tmp.textContent);\r\n\t\t\t\tif( isTrue( tmp.textContent === false)) {\r\n util.addClass( elemById( \"nav1\"), \"nav-closed\");\r\n elemById( \"btnListHide\").style.left = \"0\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n tmp = xml.getElementsByTagName( \"DefaultList\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.AccordionDefaultList = tmp.textContent;\r\n }\r\n \r\n tmp = xml.getElementsByTagName( \"HideToolBar\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bToolbar = !isTrue( tmp.textContent);\r\n }\r\n // 3D\r\n tmp = xml.getElementsByTagName( \"No3D\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.is3d = config.is3d && !isTrue( tmp.textContent);\r\n }\r\n\r\n tmp = xml.getElementsByTagName( \"OpenIn2D\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.openIn3D = !isTrue( tmp.textContent);\r\n }\r\n// Generic prefix for both regular text and sales text was too hard for Andy to change\r\n// **Language was too hard for Jim to spell\r\n// tmp = xml.getElementsByTagName( \"Languages\")[0];\r\n// if( tmp && tmp.innerHTML !== \"\") {\r\n//\t\t\txmlNodes = tmp.getElementsByTagName( \"Language\");\r\n//\t\t\tif( xmlNodes.length > 0) {\r\n//\t\t\t\tconfig.defaultLangauge = tmp.getAttribute( \"default\");\r\n//\t\t\t\tfor( i = 0; i < xmlNodes.length; i++) {\r\n//\t\t\t\t\tconfig.langauges.push( { name: xmlNodes[i].getAttribute( \"displayName\"),\r\n//\t\t\t\t\t\t\t\t\t\t\tprefix: xmlNodes[i].getAttribute( \"filePrefix\")\r\n//\t\t\t\t\t\t\t\t\t\t\t});\r\n//\t\t\t\t}\r\n//\t\t\t}\r\n// }\r\n\t\t\r\n tmp = xml.getElementsByTagName( \"Languages\")[0];\r\n if( tmp && tmp.innerHTML !== \"\") {\r\n\t\t\txmlNodes = tmp.getElementsByTagName( \"Language\");\r\n\t\t\tif( xmlNodes.length > 0) {\r\n\t\t\t\tconfig.defaultlanguage = tmp.getAttribute( \"default\");\r\n\t\t\t\t\r\n\t\t\t\tfor( i = 0; i < xmlNodes.length; i++) {\r\n\t\t\t\t\tconfig.languages.push( { name: xmlNodes[i].getAttribute( \"displayName\"),\r\n\t\t\t\t\t\t\t\t\t\t\tfile: xmlNodes[i].getAttribute( \"fileName\")\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n }\r\n\t\t\r\n/* tmp = xml.getElementsByTagName( \"ELIMessages\")[0];\r\n if( tmp && tmp.innerHTML !== \"\") {\r\n\t\t\txmlNodes = tmp.getElementsByTagName( \"Message\");\r\n\t\t\tif( xmlNodes.length > 0) {\r\n\t\t\t\tconfig.is3d = false;\r\n\t\t\t\tconfig.elvis = true;\r\n\t\t\t\tfor( i = 0; i < xmlNodes.length; i++) {\r\n\t\t\t\t\tconfig.elvisMessages.push( { numGroup: xmlNodes[i].getAttribute( \"numIndex\"),\r\n\t\t\t\t\t\t\t\t\t\t\tmsg: xmlNodes[i].textContent\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n }\r\n tmp = xml.getElementsByTagName( \"ELINumbers\")[0];\r\n if( tmp && tmp.innerHTML !== \"\") {\r\n\t\t\txmlNodes = tmp.getElementsByTagName( \"Numbers\");\r\n\t\t\tif( xmlNodes.length > 0) {\r\n\t\t\t\tfor( i = 0; i < xmlNodes.length; i++) {\r\n\t\t\t\t\tconfig.elvisNumbers.push( xmlNodes[i].textContent);\r\n\t\t\t\t}\r\n\t\t\t}\r\n } */\r\n\r\n tmp = xml.getElementsByTagName( \"ELI\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.elvis = isTrue( tmp.textContent);\r\n\t\t\tif( config.elvis) {\r\n config.is3d = false;\r\n\t\t\t}\r\n }\r\n\t\t\r\n tmp = xml.getElementsByTagName( \"Premium\")[0];\r\n if( tmp && tmp.innerHTML !== \"\") {\r\n\t\t\txmlNodes = tmp.getElementsByTagName( \"Company\");\r\n\t\t\tif( xmlNodes.length > 0) {\r\n\t\t\t\tfor( i = 0; i < xmlNodes.length; i++) {\r\n\t\t\t\t\tdata.premiumCompanies.push( { name: xmlNodes[i].getAttribute( \"name\"),\r\n\t\t\t\t\t\t\t\t\t\t\tpriority: xmlNodes[i].getAttribute( \"level\") });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\txmlNodes = tmp.getElementsByTagName( \"Level\");\r\n\t\t\tif( xmlNodes.length > 0) {\r\n\t\t\t\tfor( i = 0; i < xmlNodes.length; i++) {\r\n\t\t\t\t\tdata.premiumLevels.push( { level: xmlNodes[i].getAttribute( \"level\"),\r\n\t\t\t\t\t\t\t\t\t\t\tclrBackground: xmlNodes[i].getAttribute( \"background\"),\r\n\t\t\t\t\t\t\t\t\t\t\tclrText: xmlNodes[i].getAttribute( \"text\"),\r\n\t\t\t\t\t\t\t\t\t\t\ticonCode: xmlNodes[i].getAttribute( \"icon\")});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n }\r\n\t\t\r\n\t\ttmp = xml.getElementsByTagName( \"FlyoutBackgroundColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrFlyoutBackground = fixColor( tmp.textContent);\r\n }\r\n\t\ttmp = xml.getElementsByTagName( \"FlyoutTextColor\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.clrFlyoutText = fixColor( tmp.textContent);\r\n }\r\n\t\ttmp = xml.getElementsByTagName( \"FlyoutFontSize\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.flyoutFontSize = tmp.textContent + \"px\";\r\n }\r\n\r\n tmp = xml.getElementsByTagName( \"HideAvailableBoothList\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bHideAvailableList = isTrue(tmp.textContent);\r\n }\r\n\r\n tmp = xml.getElementsByTagName( \"HideDimensionButton\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.bDimensions = !isTrue(tmp.textContent);\r\n }\r\n \r\n tmp = xml.getElementsByTagName( \"StartDimensionsOn\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n if(config.bDimensions == true){\r\n config.showDimensions = isTrue(tmp.textContent);\r\n } \r\n }\r\n\t\t\r\n xml = null;\r\n }\r\n \r\n return {\r\n\t\tconfig: saveConfig,\r\n\t\tmultiConfig: multiConfig,\r\n\t\toptions: options\r\n\t};\r\n}());\r\n \r\n\r\n","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n/* global overlayClick:true */\r\n// 'use strict'\r\n\r\nexpocadfx.PageControl = function( mgr) {\r\n\tvar availableTree = expocadfx.availableBoothTree();\r\n var boothList = expocadfx.boothList();\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n\tvar Dialog = expocadfx.Dialog;\r\n var elem = expocadfx.element;\r\n var elemById = elem.elementById;\r\n\tvar emailLink = expocadfx.emailLinkBuilder;\r\n var fxStyle = expocadfx.styles;\r\n var exhibitorInfo = expocadfx.exhibitorInfo;\r\n var FxEvent = expocadfx.fxevent;\r\n var HelpWindow = expocadfx.HelpWindow;\r\n var Legend = expocadfx.Legend;\r\n var localStorage = expocadfx.localStorage;\r\n var Login = expocadfx.Login;\r\n\tvar openEmail = expocadfx.openEmail;\r\n\tvar pdfOutput = expocadfx.pdfOutput;\r\n var printList = expocadfx.printList;\r\n var printExhibitorList = expocadfx.printExhibitors;\r\n var ProgressBar = expocadfx.ProgressBar;\r\n var Sales = expocadfx.Sales;\r\n var SalesMenu = expocadfx.SalesMenu;\r\n var SalesWindow = expocadfx.SalesWindow;\r\n var ServerTime = expocadfx.serverTime;\r\n var txt = expocadfx.txt;\r\n var util = expocadfx.util;\r\n \r\n var dataMgr = mgr;\r\n var sales = null;\r\n var salesMenu = null;\r\n var fp = null;\r\n\tvar exhInfo = null;\r\n var winSales = null;\r\n var winLogin = null;\r\n var winHelp = null;\r\n\tvar eliMessageDialog = null;\r\n \r\n var doc = document;\r\n var fpContainer = elemById( \"floorplan\");\r\n var iahMsg = null;\r\n var eliMessage = \"\";\r\n \r\n var currentPage = null;\r\n var nextPage = null;\r\n var fpLegend = null;\r\n var currentButton = null;\r\n \r\n var legendOpen = true;\r\n\t\r\n\tvar xmlCategories = null;\r\n\tvar xmlPavilions = null;\r\n\tvar xmlSubShows = null;\r\n var xmlCountries = null;\r\n \r\n var jsonCategories = null;\r\n var jsonPavilions = null;\r\n var jsonSubShows = null;\r\n var jsonCountries = null;\r\n \r\n var arCategories = []; // index from (tree) list items to booths\r\n var arPavilions = [];\r\n var arSubShows = [];\r\n var arCountries = [];\r\n//\tvar arAvailableBooths = [];\r\n var currentArray = null;\r\n var serverTime = null;\r\n var updateInterval = 0;\r\n var updateFile = \"\";\r\n \r\n var loginType = \"\";\r\n var salesSetupPending = false;\r\n var btnLogInOut = null;\r\n var btnSales = null;\r\n var loginFromExternalCredentials = false;\r\n var progressBar = null;\r\n \r\n var bActivity = false;\r\n var activityTimer = null;\r\n var idleMinutes = 0;\r\n var banner = null;\r\n\t\r\n \r\n function init() {\r\n if( config.viewName === \"\") {\r\n currentPage = elemById( \"views\");\r\n }\r\n else {\r\n currentPage = elemById( \"floorplan\");\r\n }\r\n\r\n util.addClass( currentPage, \"pageactive\");\r\n \r\n pageSetup( currentPage.id);\r\n doc.addEventListener( \"Floor_Plan_Ready\", floorPlanReady);\r\n doc.addEventListener( \"View_Exhibitor_Data_Ready\", exhibitorsReady);\r\n updateInterval = config.updateCheckInterval * 60000;\r\n updateFile = \"u_\" + config.viewName + \".xml\";\r\n\t\t\r\n if( config.isXML){\r\n doc.addEventListener( \"Tree_Data_Ready\", saveTreeData);\r\n }\r\n else{\r\n doc.addEventListener( \"Tree_Data_Ready\", saveTreeDataJSON);\r\n }\r\n \r\n \r\n elemById( \"btnUnits\").addEventListener( \"click\", unitsButtonHandler);\r\n elemById(\"menu\").addEventListener(\"click\", mainMenuClick);\r\n elemById(\"control1\").addEventListener(\"click\", mainMenuClick);\r\n elemById( \"btnMenu\").addEventListener( \"click\", menuButtonClickHandler);\r\n elemById( \"listWindow\").addEventListener( \"click\", navClickHandler);\r\n // elemById (\"listWindow\").addEventListener(\"mouseout\", clearChange);\r\n\t\t\r\n\t\tif( elemById( \"menuNavigation\")) {\r\n\t\t\telemById( \"menuNavigation\").addEventListener( \"click\", navClickHandler);\r\n\t\t}\r\n elemById( \"hallGroup\").addEventListener( \"click\", hallClickHandler);\r\n \r\n doc.addEventListener( \"Booth_Selected\", boothSelectionHandler);\r\n doc.addEventListener( \"Floor_Plan_Booth_Click\", fpBoothClick);\r\n doc.addEventListener( \"Exhibitor_Selected\", showExhibitorInfo);\r\n\t\t\r\n\t\texhInfo = exhibitorInfo();\r\n }\r\n \r\n\tfunction changePage( newPageName) {\r\n\t\tif( newPageName === currentPage.id) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\tstartPageTransistion();\r\n\t}\r\n\t\r\n function startPageTransistion() {\r\n // Up and down transition for Accordion\r\n util.addClass( nextPage, \"pageactive\");\r\n if( !( currentPage.getAttribute( \"id\") === \"floorplan\" || \r\n ( config.viewName === \"\" && currentPage.getAttribute( \"id\") === \"views\"))) {\r\n currentPage.style.height = \"0px\";\r\n setTimeout( clearChange, 200); //allow time for current page to go toward ht = 0\r\n }\r\n else {\r\n setTimeout( clearChange, 10); // allow time to add to DOM\r\n }\r\n pageSetup( nextPage.id);\r\n }\r\n\r\n function availHeightSubject(height){\r\n var num = parseInt(height, 10);\r\n if(elemById('trA') !== null){\r\n elemById('trA').style.height = num - 35 + \"px\"\r\n }\r\n return num + \"px\";\r\n }\r\n\r\n function clearChange() {\r\n if( currentPage !== nextPage) {\r\n util.removeClass( currentPage, \"pageactive\");\r\n if( !(nextPage.getAttribute( \"id\") === \"floorplan\" || \r\n (config.viewName === \"\" && nextPage.getAttribute( \"id\") === \"views\"))) {\r\n nextPage.style.height = availHeightSubject(data.pageHeight);\r\n }\r\n }\r\n // document.getElementById(\"exhibitors\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n // document.getElementById(\"booths\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n currentPage = nextPage;\r\n }\r\n \r\n function navClickHandler( evt) {\r\n if( evt.target.nodeName === \"LI\" && util.hasClass( evt.target, \"nav-btn\")) {\r\n if( currentButton !== null && currentButton.id === evt.target.id) {\r\n util.removeClass( currentButton, \"selected\");\r\n\t\t\t\t\r\n currentButton = null;\r\n if( config.bListPrint) {\r\n util.addClass( elemById( \"prtList\"), \"disabled\");\r\n }\r\n\t\t\t\t\r\n if( config.viewName === \"\") {\r\n\t\t\t\t\tnextPage = elemById( \"views\");\r\n changePage( \"views\");\r\n }\r\n else {\r\n\t\t\t\t\tnextPage = elemById( \"floorplan\");\r\n\t\t\t\t\tchangePage( \"floorplan\");\r\n }\r\n }\r\n else {\r\n\t\t\t\tprocessPageChange( evt.target);\r\n }\r\n }\r\n }\r\n\t\r\n\tfunction processPageChange( target) {\r\n\t\tswitch( target.id) {\r\n\t\t\tcase \"btnCa\":\r\n\t\t\t\tnextPage = elemById(\"categories\");\r\n\t\t\t\tcurrentArray = arCategories;\r\n\t\t\t\tchangePage( \"categories\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"btnEx\":\r\n\t\t\t\tnextPage = elemById( \"exhibitors\");\r\n\t\t\t\tchangePage( \"exhibitors\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"btnPa\":\r\n\t\t\t\tnextPage = elemById( \"pavilions\");\r\n\t\t\t\tcurrentArray = arPavilions;\r\n\t\t\t\tchangePage( \"pavilions\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"btnSs\":\r\n\t\t\t\tnextPage = elemById( \"subshows\");\r\n\t\t\t\tcurrentArray = arSubShows;\r\n\t\t\t\tchangePage( \"subshows\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"btnCo\":\r\n\t\t\t\tnextPage = elemById( \"countries\");\r\n\t\t\t\tcurrentArray = arCountries;\r\n\t\t\t\tchangePage( \"countries\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"btnAv\":\r\n\t\t\t\tavailableTree.getListElements( data.booths, config.units);\r\n\t\t\t\tcurrentArray = availableTree.getAvailBoothArray();\r\n\t\t\t\telemById( \"availBooths\").style.left = \"0\";\r\n\t\t\t\telemById( \"availBooths\").style.top = \"0\";\r\n\t\t\t\t\r\n\t\t\t\tnextPage = elemById( \"booths\");\r\n\t\t\t\tchangePage( \"booths\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"btnVi\":\r\n\t\t\t\tnextPage = elemById( \"views\");\r\n\t\t\t\tchangePage( \"views\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"btnFp\":\r\n\t\t\t\tnextPage = elemById( \"floorplan\");\r\n\t\t\t\tchangePage( \"floorplan\");\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tif( nextPage !== null) {\r\n\t\t\tif( currentButton !== null) {\r\n\t\t\t\tutil.removeClass( currentButton, \"selected\");\r\n\t\t\t}\r\n\t\t\tcurrentButton = target;\r\n\t\t\tutil.addClass( currentButton, \"selected\");\r\n\t\t\tsetEvents( currentPage, nextPage);\r\n\r\n\t\t\tif( data.smallLayout || !(!config.showLists && target.id === \"btnVi\")) {\r\n\t\t\t\tutil.removeClass( elemById( \"btnMenu\"), \"open\");\r\n\t\t\t\tutil.removeClass( elemById( \"menu\"), \"open\");\r\n\t\t\t}\r\n\t\t\tif( config.bListPrint) {\r\n\t\t\t\tif( currentButton === null || currentButton.id === \"btnFp\") {\r\n\t\t\t\t\tutil.addClass( elemById( \"prtList\"), \"disabled\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tutil.removeClass( elemById( \"prtList\"), \"disabled\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n \r\n function setEvents( oldPage, newPage) {\r\n var ul = oldPage.getElementsByClassName( \"tree\")[0];\r\n if( ul) {\r\n // IF( NOT ios) { ///////////////////\r\n ul.removeEventListener( \"mouseover\", mouseOverTreeHandler);\r\n ul.removeEventListener( \"click\", clickTreeHandler);\r\n }\r\n ul = newPage.getElementsByClassName( \"tree\")[0];\r\n if( ul) {\r\n // IF( NOT ios) { ///////////////////\r\n ul.addEventListener( \"mouseover\", mouseOverTreeHandler);\r\n ul.addEventListener( \"mouseleave\", mouseOverTreeHandler);\r\n ul.addEventListener( \"click\", clickTreeHandler);\r\n }\r\n }\r\n \r\n function mouseOverTreeHandler( evt) {\r\n var index = \"\";\r\n \r\n if( evt.target === \"UL\") {\r\n doc.dispatchEvent( new FxEvent( \"Unhighlight_Booth\", {}));\r\n }\r\n else if( evt.target.nodeName === \"SPAN\") {\r\n if( util.hasClass( evt.target, \"label\")) {\r\n index = currentArray[ evt.target.parentNode.getAttribute( \"data-index\")];\r\n }\r\n }\r\n else if( evt.target.nodeName === \"LI\") {\r\n index = currentArray[ evt.target.getAttribute( \"data-index\")];\r\n }\r\n else {\r\n doc.dispatchEvent( new FxEvent( \"Unhighlight_Booth\", {}));\r\n }\r\n if( index !== \"\") {\r\n doc.dispatchEvent( new FxEvent( \"Highlight_Booth\", {\"index\": index}));\r\n }\r\n }\r\n \r\n function clickTreeHandler( evt) {\r\n var index = \"\";\r\n var flag = false;\r\n\t\t// zoom to booths in 'data-index'\r\n\t\t// mark as selected individual exhibitor's booth(s) or all booths in a catagory\r\n if( evt.target.nodeName === \"SPAN\") {\r\n if( util.hasClass( evt.target, \"trigger\")) {\r\n var ul = evt.target.parentElement.getElementsByTagName( \"ul\")[0];\r\n if( ul.style.display === \"none\") {\r\n ul.style.display = \"block\";\r\n util.addClass( evt.target, \"open\");\r\n }\r\n else {\r\n ul.style.display = \"none\";\r\n util.removeClass( evt.target, \"open\");\r\n }\r\n }\r\n else {\t\t// span with company name || add category\r\n index = currentArray[ evt.target.parentNode.getAttribute( \"data-index\")];\r\n if( util.hasClass( evt.target.parentNode, \"comp\") || \r\n\t\t\t\t\t\t\t\tevt.target.parentElement.parentElement.id === \"trCat\") {\r\n flag = true;\r\n }\r\n }\r\n }\r\n else {\r\n index = currentArray[ evt.target.getAttribute( \"data-index\")];\r\n if( util.hasClass( evt.target, \"comp\") || evt.target.parentElement.id === \"trCat\") {\r\n flag = true;\r\n }\r\n }\r\n \r\n if( index && index !== \"\") {\r\n\t\t\tif( data.smallLayout && index.length < 20) {\r\n\t\t\t\tflag = true;\r\n\t\t\t}\r\n\t\t\t\r\n fp.zoomToBoothIndex( String(index), flag);\r\n if( data.smallLayout) {\r\n\t\t\t\tprocessPageChange( elemById( \"btnFp\"));\r\n }\r\n }\r\n }\r\n \r\n function boothSelectionHandler( evt) {\r\n fp.zoomToBoothIndex( evt.data.boothIndex, true);\r\n if( data.smallLayout) {\r\n\t\t\tprocessPageChange( elemById( \"btnFp\"));\r\n }\r\n }\r\n \r\n function getLoginScreen( type) {\r\n if( winLogin === null) {\r\n winLogin = new Login( type);\r\n }\r\n winLogin.initLogin();\r\n \r\n doc.addEventListener( \"Submit_Login\", submitLogin);\r\n doc.addEventListener( \"Cancel_Login\", loginCanceled);\r\n return winLogin.getLoginDiv();\r\n }\r\n \r\n function fx5Login ( type) {\r\n\t\tvar storage = localStorage.storageAvailable( \"localStorage\");\r\n var div = null;\r\n\t\tvar key = \"\";\r\n\t\tvar index = -1;\r\n loginType = type;\r\n \r\n if( type !== \"none\") { // 'sales' or 'exhibitor' sales\r\n sales = new Sales();\r\n sales.init( dataMgr);\r\n // - use same connection on browser refresh.\r\n doc.addEventListener( \"Bearer_Token\", bearerTokenResult);\r\n\t\t\t\r\n sales.checkBearerToken();\r\n }\r\n \r\n }\r\n\r\n function loginRequired( type) {\r\n\t\tvar storage = localStorage.storageAvailable( \"localStorage\");\r\n var div = null;\r\n\t\tvar key = \"\";\r\n\t\tvar index = -1;\r\n loginType = type;\r\n \r\n if( type !== \"none\") { // 'sales' or 'exhibitor' sales\r\n sales = new Sales();\r\n sales.init( dataMgr);\r\n sales.setLastMessage( data.lastMessageNumber); // Moved from exhibitorsReady()\r\n doc.dispatchEvent( new FxEvent( \"Sales_Floorplan_Loaded\", loadSalesFp(fp)));\r\n // - use same connection on browser refresh.\r\n doc.addEventListener( \"Sales_Token\", tokenResult);\r\n\t\t\t\r\n sales.checkToken();\r\n }\r\n else { // handle 'stupid' login\r\n\t\t\tif( config.elvis || config.hasMultipleViews) {\r\n\t\t\t//\t\tcheck for stored password/token\r\n\t\t\t\t\r\n\t\t\t\tkey = location.pathname;\r\n\t\t\t\tindex = key.lastIndexOf( \"/\");\r\n\t\t\t\tkey = key.substr( 0, index);\r\n\t\t\t\tkey += \"-elip\";\r\n \r\n if( data.queryCoord !== \"\" && config.elvis) {\r\n // URL intended for responder, no pass, remove ELI functionality\r\n data.elvis = false;\r\n return;\r\n }\r\n\r\n\t\t\t\tif( storage && storage.getItem( key) === config.password) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n div = getLoginScreen(type);\r\n elemById( \"appContent\").appendChild( div);\r\n }\r\n }\r\n \r\n function tokenResult( evt) {\r\n doc.removeEventListener( \"Sales_Token\", tokenResult);\r\n \r\n if( evt.data.status === \"Connected\") {\r\n sales.setLoggedIn( true);\r\n if( data.status.floorPlanReady && data.status.exhibitorsReady) {\r\n setUpSales();\r\n }\r\n else {\r\n salesSetupPending = true;\r\n }\r\n }\r\n else {\r\n doc.addEventListener( \"Sales_Token\", credentialsResult);\r\n localStorage.removeSalesInfo();\r\n sales.checkCredentials();\r\n }\r\n }\r\n\r\n function bearerTokenResult( evt){\r\n doc.removeEventListener( \"Bearer_Token\", bearerTokenResult);\r\n \r\n if( evt.data.status === \"Connected\") {\r\n sales.setLoggedIn( true);\r\n if( data.status.floorPlanReady && data.status.exhibitorsReady) {\r\n setUpSales();\r\n }\r\n else {\r\n salesSetupPending = true;\r\n }\r\n }\r\n else {\r\n doc.addEventListener( \"Bearer_Token\", bearerTokenResult);\r\n //localStorage.removeSalesInfo();\r\n sales.checkBearerToken();\r\n }\r\n }\r\n \r\n function credentialsResult( evt) {\r\n var div;\r\n doc.removeEventListener( \"Sales_Token\", credentialsResult);\r\n \r\n if( evt.data.status === \"Connected\") {\r\n loginFromExternalCredentials = true;\r\n sales.setLoggedIn( true);\r\n if( data.status.floorPlanReady && data.status.exhibitorsReady) {\r\n setUpSales();\r\n }\r\n else {\r\n salesSetupPending = true;\r\n }\r\n }\r\n else {\r\n div = getLoginScreen(config.salesMode);\r\n elemById( \"appContent\").appendChild( div);\r\n }\r\n }\r\n \r\n function submitLogin( evt) {\r\n\t\tvar storage = localStorage.storageAvailable( \"localStorage\");\r\n\t\tvar key = \"\";\r\n\t\tvar index = -1;\r\n\t\tdoc.removeEventListener( \"Submit_Login\", submitLogin);\r\n if( loginType === \"none\") {\r\n if( evt.data.password === dataMgr.zap( config.password)) {\r\n\t\t\t\t\r\n\t\t\t\tkey = location.pathname;\r\n\t\t\t\tindex = key.lastIndexOf( \"/\");\r\n\t\t\t\tkey = key.substr( 0, index);\r\n\t\t\t\tkey += \"-elip\";\r\n\t\t\t\t\r\n\t\t\t\tif( storage) {\r\n\t\t\t\t\tstorage.setItem( key, config.password);\r\n\t\t\t\t}\r\n elemById( \"appContent\").removeChild( winLogin.getLoginDiv());\r\n// doc.dispatchEvent( new FxEvent( \"Login_Complete\", {}));\r\n\t\t\t\t\r\n }\r\n else {\r\n doc.addEventListener( \"Submit_Login\", submitLogin);\r\n winLogin.loginFailed( txt.LOGIN_FAILED);\r\n }\r\n }\r\n else {\r\n doc.addEventListener( \"Open_Result\", salesResponseHandler);\r\n sales.openEvent( evt.data.user, evt.data.password, config.eventName );\r\n\r\n }\r\n }\r\n \r\n function loginCanceled() {\r\n var dialog = winLogin.getLoginDiv();\r\n\t\tdoc.removeEventListener( \"Cancel_Login\", loginCanceled);\r\n dialog.parentElement.removeChild( dialog);\r\n \r\n config.salesMode = \"none\";\r\n// dispatchEvent( new FxEvent( \"Login_Complete\", {}));\r\n }\r\n \r\n function salesResponseHandler( evt) {\r\n // WANT BUTTONS/INTERFACE DISABLED UNTIL SYNC IS COMPLETE !!!!\r\n // mask over entire window to block events? with 10% alpha to see updates occuring ?\r\n var dialog = winLogin.getLoginDiv();\r\n doc.removeEventListener( \"Open_Result\", salesResponseHandler);\r\n\t\t\r\n if( evt.data.success) {\r\n dialog.parentElement.removeChild( dialog);\r\n setUpSales();\r\n }\r\n else {\r\n winLogin.loginFailed( evt.data.message);\r\n doc.addEventListener( \"Submit_Login\", submitLogin);\r\n }\r\n }\r\n \r\n function logInOutHandler() {\r\n if( sales.getLoggedIn()) {\r\n disableSales( false);\r\n }\r\n else {\r\n logBackIn();\r\n }\r\n }\r\n \r\n function disableSales( external) {\r\n btnSales.style.display = \"none\";\r\n if (config.isXML){\r\n sales.logout( external);\r\n }\r\n else{\r\n // Don't need to logout of events in FX 5? \r\n //sales.resetMode( external);\r\n }\r\n sales.readyForUpdates = false;\r\n if( data.salesWindowOpen) {\r\n winSales.closeWindow();\r\n }\r\n\r\n btnLogInOut.textContent = txt.SALES_LOGIN;\r\n sales.setLoggedIn( false);\r\n clearInterval( activityTimer);\r\n localStorage.removeSalesInfo();\r\n }\r\n \r\n function logBackIn() {\r\n var div = getLoginScreen( config.salesMode);\r\n elemById( \"appContent\").appendChild( div);\r\n\t\telemById( \"txtId\").focus();\r\n }\r\n \r\n function setUpSales() {\r\n if(config.salesMode === \"exhibitor\"){\r\n config.salesUpdateOnly = true;\r\n \r\n }\r\n \r\n if( config.salesUpdateOnly) {\r\n\t\t\twindow.addEventListener( \"beforeunload\", function() {\r\n\t\t\t\tsales.logout( false);\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tsales.syncNow( true);\r\n\t\t\treturn;\r\n\t\t}\r\n doc.addEventListener( \"lost_connection_to_edge\", lostConnectionToEdge);\r\n // initial login vs Re-Login ??\r\n var toolbar = elemById( \"control1\");\r\n if( data.status.floorPlanReady) {\r\n \r\n addSalesButton( toolbar);\r\n if( salesMenu === null && data.salesAllowedCommands.length > 0) {\r\n\t\t\t\t// no => function in IE 11 ( or uglifyjs or my version os eslint)\r\n//\t\t\t\tsales.commandLabels = data.salesAllowedCommands.map( num => txt.arSalesCommands[ num]);\r\n\t\t\t\t\r\n\t\t\t\tsales.commandLabels = data.salesAllowedCommands.map( function(num){\r\n\t\t\t\t\treturn txt.arSalesCommands[ num];\r\n\t\t\t\t});\r\n\t\t\t\t\r\n // create sales command menu\r\n salesMenu = new SalesMenu( sales.commandLabels, \"legend\");\r\n\r\n elemById( \"floorplan\").appendChild( salesMenu);\r\n // salesmenu top\r\n salesMenu.style.top = toolbar.offsetTop + toolbar.offsetHeight + 6 + \"px\";\r\n salesMenu.style.display = \"none\";\r\n }\r\n // create sales button and log In/Out button and remove floor plan created date\r\n elemById( \"dftnt\").style.display = \"none\";\r\n \r\n progressBar = new ProgressBar();\r\n elemById( \"floorplan\").appendChild( progressBar.bar);\r\n progressBar.text.textContent = \"Getting Floor Plan Updates\";\r\n doc.addEventListener( \"Sync_Progress\", updateProgress);\r\n progressBar.fill( 0);\r\n sales.syncNow( true);\r\n \r\n doc.addEventListener( \"mousedown\", activityHandler);\r\n doc.addEventListener( \"touchstart\", activityHandler);\r\n doc.addEventListener( \"keydown\", activityHandler);\r\n doc.addEventListener( \"User_Activity\", activityHandler);\r\n idleMinutes = 0;\r\n activityTimer = setInterval( activityTimerHandler, 60000);\r\n }\r\n else {\r\n salesSetupPending = true;\r\n }\r\n }\r\n \r\n function lostConnectionToEdge() {\r\n console.log( \"Lost Connection Event - Disabled!\");\r\n // same as log out\r\n disableSales( false);\r\n }\r\n \r\n function updateProgress( evt) {\r\n var pct = evt.data.prog;\r\n if( pct < 1) {\r\n progressBar.fill( pct);\r\n }\r\n else {\r\n doc.removeEventListener( \"Sync_Progress\", updateProgress);\r\n progressBar.fill( 0);\r\n elemById( \"floorplan\").removeChild( progressBar.bar);\r\n }\r\n }\r\n \r\n function addSalesButton( toolbar) {\r\n var bgColor = fxStyle.fpToolbar.clrBg !== \"\" ?\r\n fxStyle.fpToolbar.clrBg : fxStyle.floorplan.clrBg !== \"\" ?\r\n fxStyle.floorplan.clrBg : fxStyle.mainHeader.clrBg;\r\n\r\n var txtColor = fxStyle.fpToolbar.clrText !== \"\" ?\r\n fxStyle.fpToolbar.clrText : fxStyle.floorplan.clrText !== \"\" ?\r\n fxStyle.floorplan.clrText : fxStyle.mainHeader.clrText;\r\n \r\n if( btnLogInOut === null) {\r\n btnLogInOut = elem.makeIconButton( \"\", txt.SALES_LOGOUT, bgColor, txtColor,\r\n\t\t\t\t\t\t\t\t\t\t\t\tnull, true, fxStyle.fpToolbar.alpha);\r\n btnLogInOut.className = \"hdr-btn waves-effect waves-light\";\r\n \r\n toolbar.appendChild( btnLogInOut, elemById( \"tb2\"));\r\n \r\n btnLogInOut.addEventListener( \"click\", logInOutHandler);\r\n }\r\n btnLogInOut.textContent = txt.SALES_LOGOUT;\r\n if( loginFromExternalCredentials || !config.isXML) {\r\n btnLogInOut.style.display = \"none\";\r\n }\r\n \r\n if( btnSales === null) {\r\n btnSales = elem.makeIconButton( \"\", txt.SALES_LABEL, bgColor, txtColor,\r\n\t\t\t\t\t\t\t\t\t\t\tnull, true, fxStyle.fpToolbar.alpha);\r\n btnSales.className = \"hdr-btn waves-effect waves-light\";\r\n \r\n toolbar.appendChild( btnSales, btnLogInOut);\r\n \r\n if( data.salesAllowedCommands.length > 0) {\r\n btnSales.addEventListener( \"click\", salesButtonHandler);\r\n }\r\n }\r\n else {\r\n btnSales.style.display = \"inline-block\";\r\n }\r\n }\r\n \r\n function activityHandler() {\r\n bActivity = true;\r\n }\r\n \r\n function activityTimerHandler() {\r\n if( bActivity) {\r\n idleMinutes = 0;\r\n bActivity = false;\r\n }\r\n else {\r\n idleMinutes += 1;\r\n if( (idleMinutes > data.salesIdleLimit) && config.isXML) {\r\n disableSales( false);\r\n clearInterval( activityTimer);\r\n }\r\n }\r\n }\r\n \r\n function salesButtonHandler( evt) {\r\n evt.stopImmediatePropagation();\r\n if( data.salesWindowOpen) {\r\n return;\r\n }\r\n \r\n if( salesMenu.style.display === \"block\") {\r\n salesMenu.style.display = \"none\";\r\n salesMenu.removeEventListener( \"click\", salesMenuClick);\r\n elemById( \"appContent\").removeEventListener( \"click\", closeSalesMenu);\r\n }\r\n else {\r\n salesMenu.style.display = \"block\";\r\n salesMenu.style.right = (elemById(\"control1\").clientWidth + 111 - salesMenu.clientWidth) + \"px\";\r\n salesMenu.style.opacity = \"1\";\r\n salesMenu.addEventListener( \"click\", salesMenuClick);\r\n elemById( \"appContent\").addEventListener( \"click\", closeSalesMenu);\r\n }\r\n }\r\n \r\n function salesMenuClick( evt) {\r\n\t\tevt.stopImmediatePropagation();\r\n\t\tevt.stopPropagation();\r\n\t\t\r\n if( evt.target.tagName === \"LI\") {\r\n salesMenu.style.display = \"none\"; // ? move to 'SalesMenu'\r\n if( winSales === null) {\r\n winSales = new SalesWindow( config.salesMode, sales);\r\n }\r\n winSales.openWindow( evt.target.textContent);\r\n doc.addEventListener( \"Booth_Click\", salesBoothClickHandler);\r\n doc.addEventListener( \"Sales_Window_Closed\", salesWindowClosed);\r\n }\r\n }\r\n \r\n function closeSalesMenu( evt) {\r\n evt.stopImmediatePropagation();\r\n \r\n salesMenu.style.display = \"none\";\r\n salesMenu.removeEventListener( \"click\", salesMenuClick);\r\n elemById( \"appContent\").removeEventListener( \"click\", closeSalesMenu);\r\n }\r\n \r\n function salesBoothClickHandler( evt) {\r\n // evt.data is the booth\r\n if(config.isXML){\r\n var result = null;\r\n if( winSales && data.salesWindowOpen) {\r\n result = winSales.setBoothNumber( evt.data);\r\n \r\n if( result.unselect !== \"\") { // returns booth number(s)\r\n fp.unOutlineBooth( result.unselect);\r\n }\r\n if( result.select !== \"\") {\r\n fp.outlineBooth( data.boothGraphics[ evt.data.index]);\r\n }\r\n }\r\n }\r\n else{\r\n\r\n doc.addEventListener( \"Result_Booth_Lock_Status\", salesBoothLockHandler);\r\n\r\n evt.data.isBooth = true; // Allows evt object to be passed as a param which the locked result msg gets added to\r\n sales.getBoothLockStatus(evt.data);\r\n }\r\n \r\n\r\n }\r\n\r\n function salesBoothLockHandler ( evt) {\r\n var boothLock = evt.data.locked; // Check for booth lock [EdgeApi/{databaseName}/fx/boothlocked]\r\n\r\n if(boothLock.viewRestricted || boothLock.siSRestricted || boothLock.pavilionRestricted ){\r\n window.parent.swal(\"\", boothLock.message, \"warning\");\r\n\r\n return;\r\n }\r\n\r\n if (boothLock.lockStatus !== '0'){ \r\n \r\n if (boothLock.lockStatus === '10'){\r\n window.parent.swal(\"\", \"Booth is currently being purchased by an exhibitor.\", \"warning\");\r\n }\r\n else if (Number(boothLock.Code) < 0) {\r\n window.parent.swal(\"\", \"Something went wrong. Please contact show management or try selecting another booth.\", \"warning\");\r\n }\r\n else {\r\n window.parent.swal(\"\", \"Booth is currently being modified by a Show Managment user.\", \"warning\");\r\n }\r\n \r\n }\r\n else if (boothLock.lockStatus === '0'){\r\n var result = null;\r\n if( winSales && data.salesWindowOpen) {\r\n result = winSales.setBoothNumber( evt.data);\r\n \r\n if( result.unselect !== \"\") { // returns booth number(s)\r\n fp.unOutlineBooth( result.unselect);\r\n }\r\n if( result.select !== \"\") {\r\n fp.outlineBooth( data.boothGraphics[ evt.data.index]);\r\n }\r\n }\r\n } \r\n }\r\n \r\n function salesWindowClosed() {\r\n fp.unOutlineBooth( null);\r\n }\r\n \r\n function handleAdBanner( adBanner) {\r\n banner = adBanner;\r\n doc.addEventListener( \"Ad_Click\", adClickHandler);\r\n }\r\n \r\n function adClickHandler( evt) {\r\n var boothIndex = null;\r\n var indices = [];\r\n var arBoothNumbers;\r\n var i;\r\n \r\n if(!config.bUseApi || String(overlayClick(evt.data.imgSource,evt.data.url,evt.data.name) === \"1\")) { \r\n if( evt.data.boothNumber !== \"\") {\r\n arBoothNumbers = String( evt.data.boothNumber).split(\",\");\r\n \r\n for( i = 0; i < arBoothNumbers.length; i++) {\r\n boothIndex = util.findBoothIndex( arBoothNumbers[i], data.booths);\r\n if( boothIndex !== null && boothIndex !== -1) {\r\n indices.push( boothIndex);\r\n }\r\n \r\n boothIndex = indices.join( \",\");\r\n fp.zoomToBoothIndex( String(boothIndex), true);\r\n if( data.smallLayout) {\r\n\t\t\t\t\t\tprocessPageChange( elemById( \"btnFp\"));\r\n }\r\n }\r\n }\r\n // if navTo && zoomTo, zoom first and delay navigation to see the zoom\r\n if( evt.data.url !== \"\") {\r\n if( evt.data.boothNumber === \"\") {\r\n util.navigateTo( evt.data.url);\r\n }\r\n else {\r\n window.setTimeout( util.navigateTo, 700, evt.data.url);\r\n }\r\n }\r\n }\r\n }\r\n \r\n function initPeriodicFunctions() {\r\n if( config.updateCheckInterval > 0 && config.salesMode === \"none\") {\r\n setTimeout( getUpdateFile, updateInterval);\r\n }\r\n if( config.bServerTime) {\r\n //if(config.isXML == true){ //Only need this XML version? \r\n serverTime = new ServerTime();\r\n var timeDisplay = serverTime.getServerTimeHtml();\r\n elemById( \"floorplan\").appendChild( timeDisplay);\r\n \r\n setInterval( updateTimeFromServer, 180000);\r\n updateTimeFromServer();\r\n //}\r\n\r\n }\r\n }\r\n \r\n function getUpdateFile() {\r\n if( typeof( dataMgr.loadData) !== \"function\") {\r\n console.log( \"Data Loader Not Available\");\r\n }\r\n else {\r\n dataMgr.loadData( updateFile, \"important\", checkForUpdates);\r\n }\r\n }\r\n \r\n function checkForUpdates( success, results) {\r\n var xml;\r\n var updateNumber = 0;\r\n if( success) {\r\n xml = results.getElementsByTagName(\"U\")[0];\r\n if( xml) {\r\n updateNumber = parseInt(xml.getAttribute(\"u\"), 10);\r\n if( updateNumber > data.updateNumber) {\r\n data.updateNumber = updateNumber;\r\n refreshMessage();\r\n }\r\n else {\r\n setTimeout( getUpdateFile, updateInterval);\r\n }\r\n }\r\n }\r\n }\r\n \r\n function refreshMessage() {\r\n var divMessage = doc.createElement( \"div\");\r\n var txtMessage = doc.createElement( \"p\");\r\n var fromTop = elemById( \"control1\").offsetTop + 20 + \"px\";\r\n var fromLeft = (elemById( \"floorplan\").clientWidth * 0.5) - 150 + \"px\";\r\n divMessage.className = \"dialog refresh_message\";\r\n txtMessage.className = \"refresh_message_text\";\r\n \r\n txtMessage.textContent = txt.REFRESH_MESSAGE;\r\n divMessage.appendChild( txtMessage);\r\n \r\n elemById( \"floorplan\").appendChild( divMessage);\r\n divMessage.style.top = fromTop;\r\n divMessage.style.left = fromLeft;\r\n divMessage.style.display = \"block\";\r\n }\r\n function updateTimeFromServer() {\r\n if (config.isXML){\r\n if( typeof( dataMgr.loadData) !== \"function\") {\r\n console.log( \"Data Loader Not Available\");\r\n }\r\n dataMgr.loader.requestWithScript( \"servertime\", serverTime.updateTimeFromServer);\r\n }\r\n else {\r\n serverTime.updateTimeFromServer(true, config.serverTimeXML);\r\n }\r\n }\r\n \r\n function fpBoothClick( evt) {\r\n\r\n if( config.salesMode === \"sales\" && sales.getLoggedIn() &&\r\n config.holdMode && evt.data.status === \"1\" && config.holdModeExhibitorName) {\r\n // get actual exhibitor name from EDGE\r\n doc.addEventListener( \"Exhibitor_Name_Result\", holdNameHandler);\r\n sales.getExhibitorName( evt.data.number);\r\n }\r\n \r\n if( config.salesMode === \"exhibitor\" && sales.getLoggedIn() && (evt.data.status === \"0\" || evt.data.status === \"1\")){\r\n //doc.addEventListener( \"Result_Booth_Lock_Status\", sales.getBoothLockStatus(evt.data.number));\r\n evt.data.isBooth = true;\r\n sales.getBoothLockStatus(evt.data)\r\n\r\n return;\r\n }\r\n // TODO MAKE SURE TO UNCOMMENT\r\n exhInfo.populateFromFloorPlan(evt.data);\r\n // TODO MAKE SURE TO ADD UNCOMMENT\r\n // if (data.rentMode) {\r\n // // bring up flyout with exhibitors dropdown so user can select who to rent booth to\r\n // modal = document.getElementById('myModal');\r\n // modal.style.display = \"block\";\r\n // modalContent = document.getElementById('modalContent');\r\n // util.ajaxCall(\"http://localhost:52953/api/show_event/GetExhibitors/2\", \"GET\", null, populate);\r\n // }\r\n }\r\n \r\n function holdNameHandler( evt) {\r\n\t\tdoc.removeEventListener( \"Exhibitor_Name_Result\", holdNameHandler);\r\n if( evt.data.ExhibitorName !== \"\") {\r\n exhInfo.changeExhibitorName( evt.data.ExhibitorName);\r\n }\r\n }\r\n \r\n function showExhibitorInfo( evt) {\r\n if(config.exhibitorDirectory && data.exhibitors[evt.data.exhibitorIndex].exhId !== \"\"){\r\n fp.createModal();\r\n fp.switchDirectoryDialog(data.exhibitors[evt.data.exhibitorIndex].exhId);\r\n }\r\n else{\r\n exhInfo.populateFromExhibitorList( evt.data.exhibitorIndex, evt.data.boothIndex, true);\r\n }\r\n \r\n }\r\n \r\n function hallClickHandler( evt) {\r\n var element = evt.target;\r\n var index = 0;\r\n var url = location.origin + location.pathname;\r\n if( element.tagName === \"IMG\" || element.tagName === \"P\") {\r\n element = element.parentNode;\r\n }\r\n \r\n if( util.hasClass( element, \"thumb\")) {\r\n index = element.getAttribute( \"data-index\");\r\n if( data.arViews[index].name !== config.viewName) {\r\n \r\n if(config.isXML){\r\n url += \"?event=\" + data.arViews[index].name;\r\n }\r\n else if (config.viewAll){\r\n url += \"?view=\" + data.arViews[index].name;\r\n }\r\n\r\n if( config.salesMode != \"none\"){\r\n url += \"&mode=\" + config.salesMode;\r\n }\r\n \r\n window.location = url;\r\n }\r\n }\r\n }\r\n function mainMenuClick( evt) {\r\n var hdr = null;\r\n var content;\r\n var item = evt.target;\r\n var url = \"\";\r\n var fileName = \"\";\r\n var index = 0;\r\n var itemId = \"\";\r\n var ThreeDEl = document.querySelector('#show3d');\r\n \r\n if( item.tagName === \"LI\" || item.tagName === \"BUTTON\" || item.tagName === \"SPAN\") {\r\n\t\t\titemId = evt.target.id; // item.getAttribute( \"id\");\r\n\t\t\t\r\n\t\t\tswitch( itemId) {\r\n case \"copyBooth\":\r\n util.toggleClass( item, \"icon-check\");\r\n\r\n if(data.copyBooth){\r\n data.copyBooth = false; \r\n //clear booth from data and scene \r\n }\r\n else{\r\n data.copyBooth = true;\r\n }\r\n console.log(\"copy booth mode\" + data.copyBooth);\r\n\r\n\t\t\t\tcase \"map\":\r\n\t\t\t\t\tif( util.toggleClass( item, \"icon-check\")) {\r\n\t\t\t\t\t\telemById( \"minimap\").style.display = \"block\";\r\n }\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\telemById( \"minimap\").style.display = \"none\";\r\n\t\t\t\t\t}\r\n break; \r\n case \"show3dLabel\":\r\n\t\t\t\t\t if(util.toggleClass( item, \"icon-check\")) {\r\n\t\t\t\t\t\tfp.show3d();\r\n disableLayerItems();\r\n ThreeDEl.style.color= fxStyle.view.clrBg !== \"\" ? fxStyle.view.clrBg : fxStyle.mainHeader.clrBg;\r\n ThreeDEl.style.background = \"none\";\r\n } \r\n\t\t\t\t\telse {\r\n ThreeDEl.style.background = 'none';\r\n ThreeDEl.style.color = 'white';\r\n\t\t\t\t\t\tfp.show2d();\r\n enableLayerItems();\r\n\t\t\t\t\t}\r\n break;\r\n case \"show3d\":\r\n\t\t\t\t\tif(util.toggleClass( item, \"icon-check\")) {\r\n\t\t\t\t\t\tfp.show3d();\r\n disableLayerItems();\r\n if(!data.smallLayout && !config.bToolbar === \"false\"){\r\n ThreeDEl.style.color= fxStyle.view.clrBg !== \"\" ? fxStyle.view.clrBg : fxStyle.mainHeader.clrBg;\r\n ThreeDEl.style.background = \"none\";\r\n }\r\n } \r\n\t\t\t\t\telse {\r\n if(!data.smallLayout && !config.bToolbar === \"false\"){\r\n ThreeDEl.style.background = 'none';\r\n ThreeDEl.style.color = 'white';\r\n }\r\n\t\t\t\t\t\tfp.show2d();\r\n enableLayerItems();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"pdf\":\r\n\t\t\t\t\tfileName = data.arViews.length > 1 ? config.viewName + \".pdf\" : \"floorplan.pdf\";\r\n\t\t\t\t\tindex = location.href.lastIndexOf( \"/\");\r\n\r\n\t\t\t\t\turl = location.href.substr( 0, index + 1) + fileName;\r\n\t\t\t\t\twindow.open( url);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"prtFp\":\r\n\t\t\t\t\tprintFloorPlan( true);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"prtWin\":\r\n\t\t\t\t\tprintFloorPlan( false);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"build\":\r\n\t\t\t\t\tdata.bDrawBuilding = util.toggleClass( item, \"icon-check\");\t\r\n\t\t\t\t\tfp.redraw();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"bthDimensions\":\r\n\t\t\t\t\tif( !util.hasClass( elemById( \"bthDimensions\"), \"disabled\")) {\r\n config.showDimensions = util.toggleClass( elemById( \"bthDimensions\"), \"icon-check\");\r\n\t\t\t\t\t\tfp.redraw();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"help\":\r\n\t\t\t\t\topenHelp();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"iah\":\r\n\t\t\t\t\tif( config.elvis) {\r\n\t\t\t\t\t\tshowEliMessages();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tenableIAmHereClick();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n case \"wayfind\":\r\n wayfinder();\r\n break;\r\n\t\t\t\tcase \"prtList\":\r\n\t\t\t\t\tif( currentButton !== null) {\r\n\t\t\t\t\t\thdr = expocadfx.printHeader( config.eventTitle, config.viewTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfig.hasMultipleViews);\r\n\t\t\t\t\t\tif( currentButton.id === \"btnVi\") {\r\n\t\t\t\t\t\t\tcontent = expocadfx.printHalls( data.arViews);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if( currentButton.id === \"btnEx\") {\r\n\t\t\t\t\t\t\tcontent = printExhibitorList( data.displayExhibitors,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\telemById( \"exhibitorFilter\").value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconfig.viewName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttxt.EXHIBITOR,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttxt.BOOTH);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if( currentButton.id === \"btnAv\") {\r\n\t\t\t\t\t\t\tcontent = printExhibitorList( data.displayBooths,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\telemById( \"boothFilter\").value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconfig.viewName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttxt.EXHIBITOR,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttxt.BOOTH);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse { // list is a tree\r\n\t\t\t\t\t\t\tcontent = expocadfx.printTree( currentButton, currentArray, data.booths);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tprintList( hdr, content);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tif( itemId.indexOf( \"layer\") === 0 && !util.hasClass( item, \"disabled\")) {\r\n\t\t\t\t\t\tif( util.toggleClass( item, \"icon-check\")) {\r\n\t\t\t\t\t\t\tdata.arTechLayers[ parseInt( itemId.substr( 6), 10)].visible = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tdata.arTechLayers[ parseInt( itemId.substr( 6), 10)].visible = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfp.redraw();\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif( config.showLists || evt.target.id !== \"btnVi\") {\r\n closeMainMenu();\r\n }\r\n doc.addEventListener( \"Floor_Plan_Tap\", floorPlanClick);\r\n return true;\r\n }\r\n }\r\n\t\r\n\tfunction enableLayerItems() {\r\n\t\tdata.arLayersMenuItems.forEach( function( item) {\r\n util.removeClass( item, \"disabled\");\r\n\t\t});\r\n util.removeClass( elemById( \"bthDimensions\"), \"disabled\");\r\n\t}\r\n\r\n\tfunction disableLayerItems() {\r\n\t\tdata.arLayersMenuItems.forEach( function( item) {\r\n\t\t\tutil.addClass( item, \"disabled\");\r\n\t\t});\r\n\t\tutil.addClass( elemById( \"bthDimensions\"), \"disabled\");\r\n\t\t\r\n\t}\r\n \r\n function closeMainMenu( evt) {\r\n if( evt) {\r\n evt.stopImmediatePropagation();\r\n }\r\n \r\n\t\tutil.removeClass( elemById( \"btnMenu\"), \"open\");\r\n\t\tutil.removeClass( elemById( \"menu\"), \"open\");\r\n\t\telemById( \"appContent\").removeEventListener( \"click\", closeMainMenu);\r\n\t\tdata.menuPending = false;\r\n }\r\n \r\n function showEliMessages() {\r\n var obj = null;\r\n var i = 0;\r\n var list = null;\r\n var item = null;\r\n \r\n if( eliMessageDialog === null) {\r\n obj = {\r\n title: \"Emergency Messages\",\r\n headerBackgroudColor: fxStyle.windowHeader.clrBg !== \"\" ? \r\n fxStyle.windowHeader.clrBg : fxStyle.mainHeader.clrBg,\r\n headerBackground: (fxStyle.windowHeader.gradBg !== \"\") ? \r\n fxStyle.windowHeader.gradBg : (fxStyle.windowHeader.clrBg === \"\") ?\r\n fxStyle.mainHeader.gradBg : \"\",\r\n headerTextColor: fxStyle.windowHeader.clrText !== \"\" ? \r\n fxStyle.windowHeader.clrText : fxStyle.mainHeader.clrText,\r\n cancelLabel: txt.CANCEL,\r\n width: 300,\r\n height: 400,\r\n posX: data.viewportWidth / 2 - 150,\r\n posY: data.viewportHeight / 2 - 200,\r\n draggable: true\r\n };\r\n \r\n eliMessageDialog = new Dialog( obj, elemById( \"floorplan\"), elemById( \"mask\"));\r\n list = doc.createElement( \"ul\");\r\n list.setAttribute('id', 'elvisList');\r\n for( i = 0; i < config.elvisMessages.length; i++) {\r\n item = doc.createElement( \"li\");\r\n item.className = \"salesItem\";\r\n item.textContent = config.elvisMessages[i].msg;\r\n list.appendChild( item);\r\n }\r\n \r\n eliMessageDialog.content.appendChild( list);\r\n list.addEventListener( \"click\", closeEliDialog);\r\n }\r\n elemById( \"appContent\").appendChild( eliMessageDialog.window);\r\n \r\n eliMessageDialog.open();\r\n }\r\n \r\n function closeEliDialog( evt) {\r\n eliMessage = evt.target.textContent;\r\n eliMessageDialog.close();\r\n if( config.locationAvailable && config.locationEnabled && config.lastXY) {\r\n //if( config.locationAvailable && config.locationEnabled && config.lastXY && confirm(\"Send your location?\")) {\r\n swal({\r\n title: \"Send Your Location?\",\r\n text: \"\",\r\n icon: \"warning\",\r\n buttons: [\"Select a Different Location\", \"Send\"],\r\n dangerMode: false,\r\n })\r\n .then((willDelete) => {\r\n if (willDelete) {\r\n obj = { pageX: config.lastXY[0], pageY: config.lastXY[1]};\r\n processIamhereClick( obj, true); \r\n } else {\r\n setTimeout( enableIAmHereClick, 400);\r\n }\r\n }) \r\n\r\n }\r\n else{\r\n setTimeout( enableIAmHereClick, 400);\r\n }\r\n \r\n }\r\n \r\n function enableIAmHereClick() {\r\n\t\telemById(\"floorplan\").style.cursor = \"url(./del_32.png), crosshair\";\r\n\t\tdata.iahPending = true;\r\n fpContainer.addEventListener( \"click\", iamhereClick);\r\n fpContainer.addEventListener( \"tap\", iamhereClick);\r\n doc.addEventListener( \"Floor_Plan_Tap\", floorPlanClick);\r\n iahPrompt();\r\n }\r\n\r\n function wayfinder() {\r\n data.wayPending = true;\r\n wayOriginPrompt();\r\n }\r\n \r\n function iahPrompt() {\r\n iahMsg = document.createElement( \"div\");\r\n iahMsg.setAttribute( \"id\", \"iahMsg\");\r\n iahMsg.textContent = \"Click to send a location\";\r\n fpContainer.appendChild( iahMsg);\r\n }\r\n\r\n function wayOriginPrompt() {\r\n iahMsg = document.createElement( \"div\");\r\n iahMsg.setAttribute( \"id\", \"iahMsg\");\r\n iahMsg.textContent = \"Select Origin Booth\";\r\n fpContainer.appendChild( iahMsg);\r\n doc.addEventListener(\"Booth_Click\", setWayOrigin);\r\n }\r\n\r\n function setWayOrigin(evt){\r\n doc.removeEventListener(\"Booth_Click\", setWayOrigin, true);\r\n data.wayOriginObj = evt.data;\r\n // evt.stopImmediatePropagation();\r\n // evt.stopPropagation();\r\n setWayDestination();\r\n \r\n }\r\n \r\n function setWayDestination() {\r\n fpContainer.removeChild( iahMsg);\r\n iahMsg = document.createElement( \"div\");\r\n iahMsg.setAttribute( \"id\", \"iahMsg\");\r\n iahMsg.textContent = \"Select Destination Booth\";\r\n fpContainer.appendChild( iahMsg);\r\n doc.addEventListener(\"Booth_Click\", wayFindClick);\r\n }\r\n \r\n function printFloorPlan( full) {\r\n\t\tvar script = \"\";\r\n\t\tvar style = \"\";\r\n\t\tvar win = null;\r\n\t\tvar fpImg = null;\r\n\t\tvar w = data.viewportHeight * 1.55 + \"px\"; // maintain aspect ratio\r\n\t\tvar h = data.viewportHeight + \"px\";\r\n\t\tvar docType = \"@media screen{body{width:\"+w+\";height:\"+h+\";margin:0;}}\";\r\n\t\t\tstyle += \"@media print{body{width:11in;height:7.1in;}img{max-width:11in;max-height:7in;}\";\r\n\t\t\tstyle += \"\";\r\n\t\t\t\t// need delay for Chrome to finish loading image\r\n\t\t\tscript = \"\";\r\n\r\n\t\t\twin.document.write( docType);\r\n\t\t\twin.document.write('Print Floor Plan');\r\n\t\t\twin.document.write( style);\r\n\t\t\twin.document.write( script);\r\n\t\t\twin.document.write('');\r\n\t\t\twin.document.write( \"\");\r\n\t\t\twin.document.write('');\r\n\r\n\t\t\twin.document.close();\r\n\r\n\t\t\twin.document = null;\r\n\t\t\twin = null;\r\n\t\t}\r\n }\r\n\t\r\n function iamhereClick( evt) {\r\n var obj;\r\n evt.stopImmediatePropagation();\r\n evt.stopPropagation();\r\n \r\n obj = { pageX: evt.pageX, pageY: evt.pageY};\r\n processIamhereClick( obj);\r\n }\r\n\r\n function wayFindClick( evt){\r\n doc.removeEventListener(\"Booth_Click\", wayFindClick, true);\r\n var destinationObj;\r\n evt.stopImmediatePropagation();\r\n evt.stopPropagation();\r\n \r\n destinationObj = evt.data;\r\n processWayFindClick( data.wayOriginObj, destinationObj);\r\n }\r\n \r\n function floorPlanClick( evt) {\r\n if( data.iahPending) {\r\n processIamhereClick( evt.data);\r\n }\r\n else {\r\n closeMainMenu();\r\n }\r\n }\r\n\r\n function processWayFindClick( originObj, destinationObj){\r\n\r\n var origin = originObj.number;\r\n var destination = destinationObj.number;\r\n data.wayPathDestinationGraphic = destinationObj;\r\n\r\n // All possible line segment paths - will be provided in XML or endpoint and stored in data.waySegments[]\r\n var waySegments = [\r\n [{x:7698, y:4301}, {x:7698, y:4455}],\r\n [{x:7698, y:4455}, {x:7698, y:4636}],\r\n [{x:7698, y:4636}, {x:7698, y:4812}],\r\n [{x:7698, y:4812}, {x:7698, y:4991}],\r\n [{x:7698, y:4991}, {x:7698, y:5150}],\r\n [{x:7698, y:4301}, {x:7874, y:4301}],\r\n [{x:7874, y:4301}, {x:8044, y:4301}],\r\n [{x:8044, y:4301}, {x:8220, y:4301}],\r\n [{x:8220, y:4301}, {x:8220, y:4458}]\r\n ];\r\n\r\n // A list of all entry points for booths\r\n var possibleDestinations = [\r\n {x:7698, y:5150, booth:\"1445\"},\r\n {x:8220, y:4458, booth:\"1353\"}\r\n ]\r\n\r\n data.possibleDestinations = possibleDestinations;\r\n\r\n possibleDestinations.forEach( function( group) {\r\n if( group.booth === origin) {\r\n possibleDestinations.forEach( function( group) {\r\n\r\n if (group.booth === destination){\r\n // Debug\r\n //alert(\"Destination found for booth \" + destination + \": x:\" + group.x + \", y:\" + group.y );\r\n\r\n // Use origin X,Y and destination X,Y to find shortest path \r\n // Algorithm function here\r\n\r\n // Set the activeWaySegments in data based on segment array Algorithm returns\r\n data.activeWaySegments = waySegments;\r\n\r\n // Once path objects are returned, draw the path in drawing.js\r\n doc.dispatchEvent( new FxEvent( \"Draw_Waypath\", null));\r\n }\r\n })\r\n\r\n }\r\n })\r\n\r\n fpContainer.removeChild( iahMsg);\r\n \r\n }\r\n\t\r\n function processIamhereClick( obj, locationUsed) {\r\n var link = \"\";\r\n var fpPt = null;\r\n var content = \"\";\r\n var nums = \"\";\r\n var ref = \"\";\r\n\t\tvar msgObj;\r\n \r\n fpContainer.removeEventListener( \"click\", iamhereClick);\r\n fpContainer.removeEventListener( \"tap\", iamhereClick);\r\n doc.removeEventListener( \"Floor_Plan_Tap\", floorPlanClick);\r\n \r\n elemById( \"floorplan\").style.cursor = \"auto\";\r\n\t\t\r\n if(locationUsed){\r\n fpPt = { x:obj.pageX, y:obj.pageY};\r\n }\r\n else{\r\n \r\n fpContainer.removeChild( iahMsg);\r\n\r\n if( data.msie) {\r\n //obj.pageY -= 32;\r\n }\r\n // need to convert coords to drawing context\r\n\r\n //Not sure what the 16x16 and 32 were for but was messing with accuracy\r\n //fpPt = fp.globalToFloorPlan( { x:obj.pageX + 16, y:obj.pageY + 16});\r\n fpPt = fp.globalToFloorPlan( { x:obj.pageX, y:obj.pageY});\r\n }\r\n \r\n if( fpPt === null) {\r\n return;\r\n }\r\n\t\t\r\n link = emailLink( fpPt);\r\n\t\t\r\n if( config.elvis) {\r\n link += \",\" + eliMessage;\r\n }\r\n\t\t\r\n\t\tif( config.elvis && data.device !== \"other\") {\r\n\t\t\tcontent = encodeURIComponent( link);\r\n\t\t\tmsgObj = util.arrayFind( config.elvisMessages, \"msg\", eliMessage);\r\n\t\t\tnums = config.elvisNumbers[ msgObj.numGroup];\r\n\t\t\t\r\n\t\t\tif( data.device === \"ios\") {\r\n\t\t\t\tref = \"sms://open?addresses=\" + nums + \"&\" + \"body=\" + content;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tnums = nums.split( \",\").join( \";\");\r\n\t\t\t\tref = \"sms:\" + nums + \"?\" + \"body=\" + content;\r\n\t\t\t}\r\n\r\n\t\t\twindow.location.href = ref;\r\n\t\t}\r\n\t\telse {\r\n\t\t\topenEmail( link);\r\n\t\t}\r\n }\r\n \r\n function openHelp() {\r\n if( winHelp === null) {\r\n winHelp = new HelpWindow( txt, fxStyle);\r\n }\r\n winHelp.window.style.display = \"block\";\r\n }\r\n \r\n function menuButtonClickHandler() {\r\n if( util.toggleClass( elemById( \"btnMenu\"), \"open\")) {\r\n elemById( \"appContent\").addEventListener( \"click\", closeMainMenu);\r\n data.menuPending = true;\r\n }\r\n util.toggleClass( elemById( \"menu\"), \"open\");\r\n }\r\n \r\n function pageSetup( pageId) {\r\n if( pageId === \"exhibitors\") {\r\n if( data.grid === null) {\r\n dataMgr.checkForExhibitors();\r\n }\r\n }\r\n }\r\n \r\n function unitsButtonHandler( evt) {\r\n if( util.hasClass( evt.currentTarget, \"on\")) {\r\n util.removeClass( evt.currentTarget, \"on\");\r\n config.units = \"F\";\r\n } else {\r\n util.addClass( evt.currentTarget, \"on\");\r\n config.units = \"M\";\r\n }\r\n // for booth list\r\n dataMgr.changeExhibitorNameField( config.units);\r\n\t\t\r\n boothList.refreshList();\r\n\t\t\r\n\t\tavailableTree.toggleAvailableLabels(config.units);\r\n\t\t\r\n updateListUnits();\r\n }\r\n \r\n function floorPlanReady() {\r\n document.removeEventListener( \"Floor_Plan_Ready\", floorPlanReady);\r\n data.status.floorPlanReady = true;\r\n\t\t\r\n if( config.isXML){\r\n dataMgr.parseExhibitorData();\r\n processTreeData();\r\n }\r\n else{\r\n dataMgr.parseExhibitorSQL();\r\n processTreeDataJSON();\r\n }\r\n\r\n\t\tinitLegend();\r\n }\r\n \r\n function exhibitorsReady() {\r\n document.removeEventListener( \"View_Exhibitor_Data_Ready\", exhibitorsReady);\r\n data.status.exhibitorsReady = true;\r\n \r\n dataMgr.updateDisplayObjects();\r\n \r\n if( sales !== null) {\r\n // Following has timing issue with slow connections, actions endpoint called before lastMessageNumber set -AH 5/7/2019\r\n //sales.setLastMessage( data.lastMessageNumber);\r\n doc.dispatchEvent( new FxEvent( \"Sales_Floorplan_Loaded\", loadSalesFp(fp)));\r\n \r\n\r\n if( salesSetupPending) {\r\n setUpSales();\r\n }\r\n }\r\n }\r\n \r\n function addPage( btnId, divId1, divId2) {\r\n var newDiv = elem.newTreePage( divId1, divId2);\r\n newDiv.style.height = \"0px\"; // will expand on tab click ( if tab)\r\n \r\n if( data.smallLayout) {\r\n elemById( \"appContent\").appendChild( newDiv);\r\n }\r\n else {\r\n elemById( btnId).appendChild( newDiv);\r\n }\r\n }\r\n\r\n function saveTreeDataJSON(evt) {\r\n if( evt.data.type === \"cat\") {\r\n jsonCategories = evt.data.jsonObject; \r\n }\r\n else if( evt.data.type === \"pav\") {\r\n jsonPavilions = evt.data.jsonObject;\r\n }\r\n else if( evt.data.type === \"sis\") {\r\n jsonSubShows = evt.data.jsonObject;\r\n }\r\n else if( evt.data.type === \"country\") {\r\n jsonCountries = evt.data.jsonObject;\r\n }\r\n\t}\r\n\r\n\tfunction saveTreeData(evt) {\r\n if( evt.data.type === \"cat\") {\r\n xmlCategories = evt.data.xml;\r\n }\r\n else if( evt.data.type === \"pav\") {\r\n xmlPavilions = evt.data.xml;\r\n }\r\n else if( evt.data.type === \"sis\") {\r\n xmlSubShows = evt.data.xml;\r\n }\r\n else if( evt.data.type === \"country\") {\r\n xmlCountries = evt.data.xml;\r\n }\r\n\t}\r\n \r\n\t\r\n\tfunction getTreeBackgroundColor( treeStyle) {\r\n\t\treturn treeStyle.clrBg || fxStyle.mainHeader.clrBg;\r\n }\r\n \r\n function processTreeDataJSON() {\r\n var html = null;\r\n var bgClr = \"#0000ff\";\r\n \r\n var decrp = config.bDataEncrypted ? dataMgr.zap : null;\r\n if( jsonCategories) {\r\n addPage( \"btnCa\", \"categories\", \"trcCat\");\r\n \r\n bgClr = getTreeBackgroundColor( fxStyle.category);\r\n \r\n html = elem.jsonToTree( jsonCategories, \"trCat\", arCategories, decrp, bgClr);\r\n elemById( \"trcCat\").appendChild( html);\r\n // document.getElementById(\"categories\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n jsonCategories = null;\r\n }\r\n if( config.bCountryData == true && !config.bHideCountryList) {\r\n addPage( \"btnCo\", \"countries\", \"trcCn\");\r\n bgClr = getTreeBackgroundColor( fxStyle.country);\r\n \r\n html = elem.jsonToTree( jsonCountries, \"trCn\", arCountries, decrp, bgClr);\r\n elemById( \"trcCn\").appendChild( html);\r\n // document.getElementById(\"countries\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n jsonCountries = null;\r\n }\r\n if( config.bSubShowData == true) {\r\n addPage( \"btnSs\", \"subshows\", \"trcSis\");\r\n bgClr = getTreeBackgroundColor( fxStyle.subShow);\r\n \r\n html = elem.jsonToTree( jsonSubShows, \"trSis\", arSubShows, decrp, bgClr);\r\n elemById( \"trcSis\").appendChild( html);\r\n toggleTreeUnits( \"trSis\", config.units, arSubShows);\r\n // document.getElementById(\"subshows\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n jsonSubShows = null;\r\n }\r\n if( config.bPavilionData == true) {\r\n addPage( \"btnPa\", \"pavilions\", \"trcP\");\r\n bgClr = getTreeBackgroundColor( fxStyle.pavilion);\r\n \r\n html = elem.jsonToTree( jsonPavilions, \"trP\", arPavilions, decrp, bgClr);\r\n elemById( \"trcP\").appendChild( html);\r\n toggleTreeUnits( \"trP\", config.units, arPavilions);\r\n // document.getElementById(\"pavilions\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n jsonPavilions = null;\r\n }\r\n}\r\n\r\n // Put JSON list objects into trees? \r\n function processTreeData() {\r\n var html = null;\r\n var bgClr = \"#0000ff\";\r\n \r\n var decrp = config.bDataEncrypted ? dataMgr.zap : null;\r\n if( xmlCategories) {\r\n addPage( \"btnCa\", \"categories\", \"trcCat\");\r\n\t\t\tbgClr = getTreeBackgroundColor( fxStyle.category);\r\n\t\t\t\r\n html = elem.xmlToTree( xmlCategories, \"trCat\", arCategories, decrp, bgClr);\r\n elemById( \"trcCat\").appendChild( html);\r\n // document.getElementById(\"categories\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n\t\t\txmlCategories = null;\r\n }\r\n if( xmlCountries) {\r\n addPage( \"btnCo\", \"countries\", \"trcCn\");\r\n bgClr = getTreeBackgroundColor( fxStyle.country);\r\n\t\t\t\r\n html = elem.xmlToTree( xmlCountries, \"trCn\", arCountries, decrp, bgClr);\r\n elemById( \"trcCn\").appendChild( html);\r\n // document.getElementById(\"countries\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n\t\t\txmlCountries = null;\r\n }\r\n if( xmlSubShows) {\r\n addPage( \"btnSs\", \"subshows\", \"trcSis\");\r\n bgClr = getTreeBackgroundColor( fxStyle.subShow);\r\n\t\t\t\r\n html = elem.xmlToTree( xmlSubShows, \"trSis\", arSubShows, decrp, bgClr);\r\n elemById( \"trcSis\").appendChild( html);\r\n toggleTreeUnits( \"trSis\", config.units, arSubShows);\r\n // document.getElementById(\"subshows\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n\t\t\txmlSubShows = null;\r\n }\r\n if( xmlPavilions) {\r\n addPage( \"btnPa\", \"pavilions\", \"trcP\");\r\n bgClr = getTreeBackgroundColor( fxStyle.pavilion);\r\n\t\t\t\r\n html = elem.xmlToTree( xmlPavilions, \"trP\", arPavilions, decrp, bgClr);\r\n elemById( \"trcP\").appendChild( html);\r\n toggleTreeUnits( \"trP\", config.units, arPavilions);\r\n // document.getElementById(\"pavilions\").addEventListener(\"mouseleave\", function(){\r\n // util.removeClass( currentPage, \"pageactive\");\r\n // });\r\n\t\t\txmlPavilions = null;\r\n }\r\n }\r\n \r\n function updateListUnits() {\r\n if( elemById( \"btnPa\") !== null) {\r\n toggleTreeUnits( \"trP\", config.units, arPavilions);\r\n }\r\n if( elemById( \"btnSs\") !== null) {\r\n toggleTreeUnits( \"trSis\", config.units, arSubShows);\r\n }\r\n }\r\n \r\n function toggleTreeUnits( treeName, units, arr) {\r\n\t\tvar tree = elemById( treeName);\r\n\t\tvar nodes = tree.getElementsByClassName( \"comp\");\r\n\t\tvar i = 0;\r\n\t\tvar len = nodes.length;\r\n var listData = null;\r\n var bth = null;\r\n var str = \"\";\r\n\t\t\r\n\t\tfor( i = 0; i < len; i++) {\r\n\t\t\tlistData = arr[ nodes[i].getAttribute( \"data-index\")];\r\n\t\t\tbth = data.booths[ listData.split( \",\")[0]];\r\n\t\t\tif( bth.status === \"0\" || (config.rentMode && bth.status === \"2\")) {\r\n\t\t\t\tstr = dataMgr.getBoothLabel( bth);\r\n\t\t\t\tnodes[i].getElementsByTagName( \"span\")[0].textContent = str;\r\n\t\t\t}\r\n\t\t}\r\n }\r\n \r\n\tfunction addAvailableBoothPage() {\r\n var newDiv = null;\r\n\t\tvar bgColor = getTreeBackgroundColor( fxStyle.availableBooth);\r\n\t\tvar textColor = fxStyle.availableBooth.clrText || fxStyle.mainHeader.clrText;\r\n\t\t\r\n if( config.showLists) {\r\n elemById( \"boothListHeader\").style.backgroundColor = bgColor;\r\n elemById( \"boothListHeader\").style.color = textColor;\r\n\t\t\telemById( \"boothTreeHeader\").style.backgroundColor = bgColor;\r\n elemById( \"boothTreeHeader\").style.color = textColor;\r\n\t\t\t\r\n\t\t\telemById( \"btnReturnList\").style.backgroundColor = textColor;\r\n elemById( \"btnReturnList\").style.color = bgColor;\r\n\t\t\t\r\n\t\t\tif( !data.smallLayout) {\r\n\t\t\t\telemById( \"btnAv\").appendChild( elemById( \"booths\"));\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tboothList.getListElements();\r\n\t\t\t\r\n\t\t\telemById( \"boothFilter\").appendChild( \r\n\t\t\t\telem.filterItem( \"available\", \"Available \" + txt.BOOTH, false));\r\n\t\t\t\r\n\t\t\telemById( \"boothFilter\").appendChild( elem.filterItem( \"tag\", txt.EXHIBITOR_FILTER_TAGGED, false));\r\n\t\t\t\t// currently only local booths are in list\r\n//\t\t\tif( config.hasMultipleViews) {\r\n//\t\t\t\telemById( \"boothFilter\").appendChild( \r\n//\t\t\t\t\telem.filterItem( \"hall\", txt.EXHIBITOR_FILTER_HALL, false));\r\n//\t\t\t}\r\n\t\t\telemById( \"boothFilter\").appendChild( \r\n\t\t\t\telem.filterItem( \"all\", \"All \"+ txt.BOOTH + \"s\", false));\r\n\t\t\telemById( \"boothFilter\").appendChild( \r\n\t\t\t\telem.filterItem( \"bySize\", \"Available by Size\", false));\r\n\t\t\t\r\n\t\t\telemById( \"boothTree\").style.display = \"none\";\r\n\t\t\t\r\n\t\t\tnewDiv = elem.newTreePage( \"availBooths\", \"trcA\");\r\n\t\t\tnewDiv.className = \"\";\r\n\t\t\telemById( \"treeContainer\").appendChild( newDiv);\r\n }\r\n\t}\r\n \r\n\tfunction initLegend() {\r\n\t\tif( config.bLegend) {\r\n\t\t\tfpLegend = new Legend( data, config);\r\n\t\t}\r\n\t\t\r\n\t\tif( fpLegend !== null) {\r\n\t\t\telemById(\"floorplan\").appendChild( fpLegend);\r\n // legend top\r\n fpLegend.style.top = elemById(\"control1\").offsetTop + 48 + \"px\";\r\n\t\t\t\r\n\t\t\telemById( \"btnLegend\").addEventListener( \"click\", function(){\r\n\t\t\t\tif( legendOpen) {\r\n fpLegend.style.opacity = 0;\r\n\t\t\t\t\tlegendOpen = false;\r\n setTimeout( removeLegend, 300);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n fpLegend.style.display = \"block\";\r\n fpLegend.style.opacity = 1;\r\n\t\t\t\t\tlegendOpen = true;\r\n\t\t\t\t}\r\n util.toggleClass( elemById( \"btnLegend\"), \"icon-check\");\r\n\t\t\t});\r\n\t\t\t\r\n if( data.smallLayout || !config.legendOpen) {\r\n fpLegend .style.display = \"none\";\r\n legendOpen = false;\r\n }\r\n\t\t}\r\n\t\telse {\r\n if( elemById( \"btnLegend\")) {\r\n elemById( \"btnLegend\").style.display = \"none\";\r\n }\r\n\t\t} \r\n\t}\r\n \r\n function removeLegend() {\r\n fpLegend.style.display = \"none\";\r\n }\r\n\t\r\n function resize() {\r\n if( currentPage && currentPage.getAttribute(\"id\") !== \"floorplan\") {\r\n currentPage.style.height = data.pageHeight;\r\n elemById('trA').style.height = availHeightSubject(data.pageHeight);\r\n \r\n }\r\n if( banner) {\r\n banner.resize();\r\n }\r\n\t\tboothList.resize();\r\n }\r\n\r\n function loadSalesFp(value){\r\n document.removeEventListener( \"Sales_Floorplan_Loaded\", null)\r\n sales.setFloorplan( value);\r\n }\r\n \r\n return {\r\n addAvailableBoothPage: addAvailableBoothPage,\r\n disableSales: disableSales,\r\n isSalesLoggedIn: function() {\r\n return ( sales && sales.getLoggedIn());\r\n },\r\n initialize : init,\r\n\t\tinitLegend: initLegend,\r\n handleAdBanner: handleAdBanner,\r\n initPeriodicFunctions: initPeriodicFunctions,\r\n loginRequired: loginRequired,\r\n fx5Login: fx5Login,\r\n resize: resize,\r\n setFloorPlan: function( value) {\r\n fp = value;\r\n if( sales !== null) {\r\n doc.dispatchEvent( new FxEvent( \"Sales_Floorplan_Loaded\", loadSalesFp(value)));\r\n }\r\n }\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n/*global Slick, exhibitorListClick */\r\n\r\nexpocadfx.ExhibitorList = function( exhData, bthData, txt) {\r\n\t'use strict';\r\n\tvar comparer = expocadfx.comparer;\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n var elem = expocadfx.element;\r\n var elemById = elem.elementById;\r\n\tvar emailLink = expocadfx.emailLinkBuilder;\r\n var FxEvent = expocadfx.fxevent;\r\n var fxStyle = expocadfx.styles;\r\n var Grid = Slick.Grid;\r\n\tvar openEmail = expocadfx.openEmail;\r\n\tvar util = expocadfx.util;\r\n \r\n\tvar doc = document;\r\n var exhibitors = exhData;\r\n\tvar booths = bthData;\r\n \r\n var grid = null;\r\n var dataView = null;\r\n var sortCol = \"name\";\r\n var searchString = \"\";\r\n\tvar currentSortAscending = true;\r\n\tvar btnEmail = elemById( \"btnExhibitorListEmail\");\r\n\tvar columns = null;\r\n \r\n var bgColor = (fxStyle.exhibitor.clrBg !== \"\") ? fxStyle.exhibitor.clrBg : fxStyle.mainHeader.clrBg;\r\n var txtColor = (fxStyle.exhibitor.clrText !== \"\") ?\r\n fxStyle.exhibitor.clrText : fxStyle.mainHeader.clrText;\r\n \r\n var options = {\r\n enableCellNavigation: false,\r\n enableColumnReorder: false,\r\n forceFitColumns: true,\r\n rowHeight: 24\r\n };\r\n \r\n function textFormatter(row, cell, value, columnDef, dataContext) {\r\n\t\tvar item;\r\n\t\t\r\n\t\tvalue = value.toString().replace(/&/g,\"&\").replace(//g,\">\");\r\n\t\tif( dataContext) {\r\n\t\t\titem = dataView.getItem(row);\r\n\t\t\t\r\n\t\t\tif( item.priority && item.priority > 0) {\r\n\t\t\t\treturn \"
\" + value + \"
\";\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn value;\r\n\t}\r\n\r\n //-------------------------------\r\n function tagFormatter(row, cell, value, columnDef, dataContext) {\r\n var chkId = \"chk\" + row;\r\n\t\tvar item;\r\n\t\tvar inputClass = \"exhChk \";\r\n\t\tvar iconClass = \"icon \";\r\n\t\tvar icon = \" icon-star-outline \";\r\n\t\tvar chk = \"\";\r\n\t\tvar elem = null;\r\n\t\tvar prem = \"\";\r\n\r\n\t\tif( dataContext) {\r\n\t\t\titem = dataView.getItem(row);\r\n\t\t\tprem = \"premium p\" + item.priority;\r\n\t\t\tif( item.priority && item.priority > 0) {\r\n\t\t\t\tinputClass += prem;\r\n\t\t\t\ticonClass += prem;\r\n\t\t\t}\r\n\t\t\tif( item.favorite) {\r\n\t\t\t\ticon = \" icon-star-filled beat\";\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\telem = \"
\"; \r\n\t\t\t\r\n\t\t\tif( prem !== \"\") {\r\n\t\t\t\telem += \"\";\r\n\t\t\t}\r\n\t\t\telem += \"
\";\r\n\r\n\t\t}\r\n\t\treturn elem;\r\n }\r\n \r\n function refreshGrid() {\r\n grid.invalidate();\r\n }\r\n \r\n function exhFilter( item, args) { \r\n if( item.exhId === \"\" && item.bAvailable) {\r\n return false;\r\n }\r\n \r\n if (args.searchString !== \"\" && \r\n (item.name.toLowerCase().indexOf(args.searchString.toLowerCase()) === -1 &&\r\n item.location.toLowerCase().indexOf(args.searchString.toLowerCase()) === -1)) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n \r\n function viewOnlyFilter( item, args) { \r\n if( !item.bLocal) {\r\n return false;\r\n }\r\n if( item.exhId === \"\" && item.bAvailable) {\r\n return false;\r\n }\r\n \r\n if (args.searchString !== \"\" && \r\n (item.name.toLowerCase().indexOf(args.searchString.toLowerCase()) === -1 &&\r\n item.location.toLowerCase().indexOf(args.searchString.toLowerCase()) === -1)) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n \r\n function taggedFilter( item) {\r\n if( item.favorite) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\t\t// from update local exhibitors in multi view and add or delete from sales\r\n function refreshDataView() {\r\n dataView.refresh();\r\n\t\t\r\n dataView.sort( comparer( sortCol, currentSortAscending), currentSortAscending);\r\n grid.invalidate();\r\n }\r\n \r\n function updateFilter() {\r\n dataView.setFilterArgs( { searchString: searchString});\r\n dataView.refresh();\r\n }\r\n\t\r\n\tfunction favChangeHandler( evt) {\r\n\t\tvar booth = data.booths[ evt.data.boothIndex];\r\n\t\tvar display = data.displayExhibitors;\r\n\t\tvar i = 0;\r\n\t\tvar k = 0;\r\n\t\tvar len = 0;\r\n\t\tvar found = false;\r\n\t\tvar obj;\r\n\t\t\r\n\t\tif( String(booth.status) === \"0\") {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tobj = util.arrayFind( display, \"name\", evt.data.exhName);\r\n\t\t\t\r\n\t\t\tif( evt.data.fav || obj.arBoothNumbers.length === 1) {\r\n\t\t\t\tobj.favorite = evt.data.fav;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlen = data.favoriteBooths.length;\r\n\t\t\t\tfor( i = 0; i < obj.arBoothNumbers.length; i++) {\r\n\t\t\t\t\tif( obj.arBoothNumbers[i] !== evt.data.boothNumber) {\r\n\t\t\t\t\t\tfor( k = 0; k < len; k++) {\r\n\t\t\t\t\t\t\tif( obj.arBoothNumbers[i] === data.favoriteBooths[k].bth &&\r\n\t\t\t\t\t\t\t\tevt.data.exhId === data.favoriteBooths[k].exh) {\r\n\t\t\t\t\t\t\t\tfound = true;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif( found) {\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif( !found) {\r\n\t\t\t\t\tobj.favorite = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tdataView.syncGridSelection( grid, false);\r\n\t\t\trefreshDataView();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction isTagged( obj) {\r\n\t\treturn obj.favorite;\r\n\t}\r\n\t\r\n\tfunction emailTaggedHandler() {\r\n\t\tvar boothNums = [];\r\n\t\tvar link = \"\";\r\n\t\tvar tagged = data.displayExhibitors.filter( isTagged);\r\n\t\t\r\n\t\ttagged.forEach( function( exhibitor) {\r\n\t\t\tboothNums = boothNums.concat( exhibitor.arBoothNumbers);\r\n\t\t});\r\n\t\t\r\n\t\tlink = emailLink( boothNums.join( \",\"));\r\n\t\topenEmail( link);\r\n\t}\r\n\t\r\n\tfunction enableEmailTagged() {\r\n\t\tbtnEmail.addEventListener( \"click\", emailTaggedHandler);\r\n\t\tutil.removeClass( btnEmail, \"disabled\");\r\n\t\tbtnEmail.style.color = elemById( \"exhibitorListHeader\").style.color;\r\n\t\tbtnEmail.style.cursor = \"pointer\";\r\n\t}\r\n\t\r\n\tfunction disableEmailTagged() {\r\n\t\tbtnEmail.removeEventListener( \"click\", emailTaggedHandler);\r\n\t\tutil.addClass( btnEmail, \"disabled\");\r\n\t\tbtnEmail.style.color = config.DISABLED_GRAY;\r\n\t\tbtnEmail.style.cursor = \"auto\";\r\n\t}\r\n\t\r\n function clickHandler( evt) {\r\n var cell = grid.getCellFromEvent(evt);\r\n var len = 0;\r\n var i = 0;\r\n var row = cell.row;\r\n var col = cell.cell;\r\n var targetRow = dataView.getItem(row);\r\n var ar;\r\n var path = \"\";\r\n var obj = null;\r\n var bthIndex = String( targetRow.arBoothIndexes.join(\",\"));\r\n var exhName = targetRow.name;\r\n \r\n if( evt.target.tagName === \"INPUT\") {\r\n return;\r\n }\r\n ////// FAVORITES NEEDS BOOTH NUMBERS, FLOOR PLAN NEEDS BOOTH INDEX OR BOOTH OBJECTS\r\n // for API need exh id and name and booth number ( or numbers ??)\r\n if( targetRow.bLocal) {\r\n\t\t\t\r\n if( !config.bUseApi || \r\n String( exhibitorListClick( targetRow.exhId, exhName,\r\n booths[parseInt( targetRow.arBoothIndexes[0], 10)].number)) === \"1\") {\r\n if( col === 2) { // location cell\r\n doc.dispatchEvent( new FxEvent( \"Booth_Selected\", { boothIndex:bthIndex}));\r\n }\r\n else if( col === 1) {\r\n obj = {\r\n exhibitorIndex : targetRow.exhibIndex,\r\n boothIndex : bthIndex // targetRow.arBoothIndexes.join(\",\")\r\n };\r\n doc.dispatchEvent( new FxEvent( \"Exhibitor_Selected\", obj));\r\n }\r\n else {\r\n obj = {\r\n boothNumber : targetRow.arBoothNumbers.join(\",\"),\r\n boothIndex : bthIndex,\r\n exhName : exhName,\r\n exhId : targetRow.exhId,\r\n local : true,\r\n fav : !targetRow.favorite\r\n };\r\n\t\t\t\t\t\t// if changed on individual booths ?? Is any booth in list a fav ??\r\n targetRow.favorite = !targetRow.favorite;\r\n grid.invalidateRow( row);\r\n grid.render();\r\n \r\n doc.dispatchEvent( new FxEvent( \"Exhibitor_List_Fav_Change\", obj));\r\n }\r\n\t\t\t\t\t// force list update for filtered list\r\n\t\t\t\tdataView.sort( comparer( sortCol, currentSortAscending), currentSortAscending);\r\n\t\t\t\tgrid.invalidate();\r\n\t\t\t\t\r\n }\r\n }\r\n else { // not in this view OR no view, i.e. 'carousel' view list !!\r\n ar = window.location.pathname.split(\"?\");\r\n path = ar[0] + \"?event=\" + targetRow.viewName;\r\n \r\n if( col === 2) {\r\n path += \"&data=\" + bthIndex;\r\n if( config.units !== \"\") {\r\n path += \"&units=\" + config.units;\r\n }\r\n window.location.replace( path);\r\n }\r\n else if( col === 1) {\r\n // go to view and open exhibitor info\r\n path += \"&exh=\" + exhName;\r\n if( config.units !== \"\") {\r\n path += \"&units=\" + config.units;\r\n }\r\n window.location.replace( path);\r\n }\r\n else if( col === 0) {\r\n // find booths in Event booth list - exhibitorName && viewName\r\n ar = data.eventBooths;\r\n len = ar.length;\r\n \r\n var selectedView = targetRow.viewName;\r\n \r\n for( i = 0; i < len; i++) {\r\n if( ar[i].name === exhName && ar[i].viewName === selectedView) {\r\n // save or remove fav( ar[i].boothNumber, ar[i].name, bLocal)\r\n\t\t\t\t\t\tif( obj === null) {\r\n\t\t\t\t\t\t\tobj = {\r\n\t\t\t\t\t\t\t\tboothNumber : ar[i].boothNumber,\r\n\t\t\t\t\t\t\t\texhName : exhName,\r\n\t\t\t\t\t\t\t\texhId : ar[i].exhId,\r\n\t\t\t\t\t\t\t\tlocal : false,\r\n\t\t\t\t\t\t\t\tfav : !targetRow.favorite\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\ttargetRow.favorite = !targetRow.favorite;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tobj.boothNumber += \",\" + ar[i].boothNumber;\r\n\t\t\t\t\t\t}\r\n }\r\n }\r\n\t\t\t\tif( obj) {\r\n\t\t\t\t\tgrid.invalidateRow( row);\r\n\t\t\t\t\tgrid.render();\r\n\t\t\t\t\tdoc.dispatchEvent( new FxEvent( \"Exhibitor_List_Fav_Change\", obj));\r\n\t\t\t\t}\r\n }\r\n }\r\n }\r\n\r\n//------------------------------------------------------------------------------\r\n\r\n columns = [\r\n {id: \"markBooth\", name: txt.MARK_ON_DRAWING, formatter: tagFormatter, minWidth: 44, maxWidth: 56, \r\n resizable: false},\r\n {id: \"exhName\", name: txt.EXHIBITOR, field: \"name\", sortable: true, formatter: textFormatter, cssClass: \"cell-text\", \r\n minWidth: 150, maxWidth: 500 },\r\n {id: \"booth\", name: txt.BOOTH, field: \"location\", sortable: true, formatter: textFormatter, \r\n cssClass: \"cell-text\", minWidth: 80, maxWidth: 120}\r\n ];\r\n\t\r\n dataView = new Slick.Data.DataView( {inlineFilters: false});\r\n dataView.beginUpdate();\r\n dataView.setItems(exhibitors);\r\n dataView.setFilterArgs( { searchString: searchString});\r\n if( data.filterExhibitorList) {\r\n dataView.setFilter( viewOnlyFilter);\r\n }\r\n else {\r\n dataView.setFilter( exhFilter);\r\n }\r\n dataView.endUpdate();\r\n \r\n grid = new Grid( \"#exhGrid\", dataView, columns, options);\r\n grid.setSelectionModel(new Slick.RowSelectionModel());\r\n \r\n // tell SlickGrid to mark exhibitor name field as sorted\r\n grid.setSortColumn( \"exhName\", true);\r\n \r\n doc.getElementsByClassName(\"slick-header-columns\")[0].style.backgroundColor = bgColor;\r\n doc.getElementsByClassName(\"slick-header-columns\")[0].style.color = txtColor;\r\n \r\n// Events -------------------------------------------------------------------------\r\n grid.onClick.subscribe( clickHandler);\r\n\r\n \r\n grid.onSort.subscribe( function( e, args) {\r\n sortCol = args.sortCol.field;\r\n\t\tcurrentSortAscending = args.sortAsc;\r\n\t\t\r\n dataView.sort( comparer( sortCol, args.sortAsc), args.sortAsc);\r\n });\r\n\r\n dataView.onRowsChanged.subscribe( function( evt, args) {\r\n grid.invalidateRows( args.rows);\r\n grid.render();\r\n });\r\n\r\n dataView.onRowCountChanged.subscribe( function() {\r\n grid.updateRowCount();\r\n grid.render();\r\n });\r\n \r\n elemById( \"exhibitorSearch\").addEventListener( \"input\", function () {\r\n searchString = this.value;\r\n updateFilter();\r\n });\r\n \r\n if( elemById( \"exhibitorFilter\")) {\r\n elemById( \"exhibitorFilter\").addEventListener( \"change\", function( evt) {\r\n dataView.beginUpdate();\r\n if( evt.target.value === \"all\") {\r\n dataView.setFilter( exhFilter);\r\n\t\t\t\tdisableEmailTagged();\r\n }\r\n else if( evt.target.value === \"hall\") {\r\n dataView.setFilter( viewOnlyFilter);\r\n\t\t\t\tdisableEmailTagged();\r\n }\r\n else if( evt.target.value === \"tag\") {\r\n dataView.setFilter( taggedFilter);\r\n\t\t\t\tenableEmailTagged();\r\n }\r\n \r\n dataView.endUpdate();\r\n dataView.syncGridSelection( grid, false);\r\n });\r\n }\r\n\t\r\n\tdoc.addEventListener( \"Exhibitor_Fav_Change\", favChangeHandler);\r\n\tdoc.addEventListener( \"Exhibitor_Info_Fav_Change\", favChangeHandler);\r\n \r\n // ---------------------------------------------------------------------------------------- \r\n \r\n\t\r\n dataView.sort( comparer( sortCol, true), true);\r\n dataView.syncGridSelection( grid, false);\r\n \r\n return {\r\n refreshGrid: refreshGrid,\r\n refresh: refreshDataView,\r\n resizeCanvas : function() {grid.resizeCanvas();}\r\n };\r\n};","\r\n/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\nvar jsonGraphics = null;\r\nvar eventDatabaseName = null;\r\n\r\nexpocadfx.DataManager = function() {\r\n //var eventDatabaseName = \"19ces\";\r\n eventDatabaseName = document.URL.substring(document.URL.toLocaleLowerCase().lastIndexOf('/events/') + 8, document.URL.lastIndexOf(\"/\"));\r\n var data = expocadfx.fxData;\r\n\tvar config = expocadfx.config;\r\n var txt = expocadfx.txt;\r\n var fxStyles = expocadfx.styles;\r\n var util = expocadfx.util;\r\n\tvar comparer = expocadfx.comparer;\r\n var storeXml = expocadfx.storeXml;\r\n var ExhibitorList = expocadfx.ExhibitorList;\r\n var FxEvent = expocadfx.fxevent;\r\n var DataLoader = expocadfx.DataLoader;\r\n var DisplayExhibitor = expocadfx.DisplayExhibitor;\r\n var Exhibitor = expocadfx.Exhibitor;\r\n\tvar overlays = expocadfx.overlays;\r\n var socialToolbar = expocadfx.SocialMedia;\r\n var elemById = expocadfx.element.elementById;\r\n\t\r\n\tvar displayList = data.displayExhibitors;\r\n \r\n var doc = document;\r\n var loader = new DataLoader();\r\n var loadCallback = null;\r\n var floorPlanCallback = null;\r\n var rmd = [];\r\n var i;\r\n\t\r\n var eventName = \"\"; // derived from shows.xml file\r\n\tvar textReady = false;\r\n\tvar salesTextReady = false;\r\n\tvar pendingTextFile = \"\";\r\n var xmlExhibitorData = null;\r\n var jsonExhibitors = null;\r\n \r\n\tvar xmlExhibitorShows = null;\r\n\tvar nextDisplayExhibitorId = 1;\r\n\tvar nextDisplayBoothId = 1;\r\n\tvar waitingForExhbitorsShows = false;\r\n\t\r\n // random(?) number array for decrypt routine\r\n for( i = 0; i < 23; i++) {\r\n rmd[i] = config.contactEmail.charCodeAt(i) - 97;\r\n }\r\n\t\r\n config.contactEmail = \"\";\r\n \r\n // initial load of text and configuration ////////////\r\n function loadInitial( cb) {\r\n if( cb) {\r\n loadCallback = cb;\r\n }\r\n if( config.isXML){\r\n loader.load( \"shows.xml\", saveShows);\r\n }\r\n else{\r\n saveShowsSQL();\r\n }\r\n \r\n }\r\n \r\n function loadData( value, level, callback) {\r\n loader.load( value, callback);\r\n }\r\n \r\n\tfunction loadTextFile( fileName) {\r\n \r\n if( config.isXML){\r\n if( fileName === \"\") {\r\n loader.load( \"textconfig.xml\", textconfigDone);\r\n //textconfigDone(true);\r\n }\r\n else {\r\n loader.load( fileName, textconfigDone);\r\n //textconfigDone(true, results);\r\n }\r\n \r\n if( config.salesMode !== \"none\" ) {\r\n //if( prefix === \"\") {\r\n loader.load( \"fxsalestext.xml\", saleTextDone);\r\n //saleTextDone();\r\n //}\r\n //else {\r\n //loader.load( prefix + \"_salestext.xml\", saleTextDone);\r\n //}\r\n }\r\n else {\r\n salesTextReady = true;\r\n }\r\n }\r\n else{\r\n getTextConfigFromSQL();\r\n } \r\n \r\n\t}\r\n \r\n function textconfigDone( success, results) {\r\n\t\tif( success) {\r\n\t\t\ttxt.saveXMLText( results);\r\n\t\t\ttextReady = true;\r\n\t\t\tif( salesTextReady) {\r\n\t\t\t\tdoc.dispatchEvent( new FxEvent( \"Text_Loaded\", null));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif( pendingTextFile !== \"textconfig.xml\") {\r\n\t\t\t\tpendingTextFile = \"textconfig.xml\";\t\t\t// OR step throuth array trying all ?\r\n\t\t\t\tloader.load( \"textconfig.xml\", textconfigDone);\r\n\t\t\t}\r\n\t\t\telse {\r\n // alert( \"Missing text file!\");\r\n swal(\"\", \"Missing text file!\", \"error\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n }\r\n\r\n function jsonTextconfigDone( textSuccess, configSuccess) {\r\n\t\tif( textSuccess && configSuccess) {\r\n txt.saveJSONText ( textSuccess[0]);\r\n setConfig(configSuccess[0]);\r\n textReady = true;\r\n if (config.salesMode !== \"none\"){\r\n config.is3d = false;\r\n }\r\n doc.dispatchEvent( new FxEvent( \"Text_Loaded\", null));\r\n\t\t\t// if( salesTextReady) {\r\n\t\t\t// \tdoc.dispatchEvent( new FxEvent( \"Text_Loaded\", null));\r\n\t\t\t// }\r\n\r\n\t\t}\r\n }\r\n\t\r\n\tfunction saleTextDone( success, results) {\r\n\t\tif( success) {\r\n\t\t\tsalesTextReady = true;\r\n if( config.isXML){\r\n txt.saveXMLSalesText( results);\r\n }\r\n else{\r\n txt.saveJSONSalesText(success, results);\r\n }\r\n \r\n\t\t\tif( textReady) {\r\n\t\t\t\tdoc.dispatchEvent( new FxEvent( \"Text_Loaded\", null));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tloader.load( \"fxsalestext.xml\", saleTextDone);\r\n\t\t}\r\n\t}\r\n \r\n function saveShows( success, results) {\r\n var i = 0;\r\n var tmp = results.getElementsByTagName( \"show\");\r\n var len = tmp.length;\r\n\t\tvar name = \"\";\r\n\t\t\t// config.salesMode set by query string, not config_ ... .xml\r\n if( (config.salesMode === \"sales\" || config.salesMode === \"exhibitor\") && config.isXML) {\r\n\t\t\tloader.requestWithScript( \"fxsales.ini\", saveSalesIni);\r\n }\r\n \r\n for( i = 0; i < len; i++) {\r\n\t\t\tname = tmp[i].getAttribute(\"file\").split(\".\")[0];\r\n data.arViews[i] = {\r\n name : name,\r\n label : tmp[i].getAttribute(\"tooltip\"),\r\n source : name + \"_cr.jpg\"\r\n };\r\n }\r\n // determine event/view to load\r\n if( data.queryEvent !== \"\" && data.arViews.length > 1) {\r\n eventName = data.queryEvent;\r\n }\r\n else {\r\n if( len === 1) {\r\n eventName = data.arViews[0].name;\r\n }\r\n else if( len > 1) {\r\n eventName = \"shows\";\r\n }\r\n }\r\n \r\n var fName = \"config_\" + eventName + \".xml\";\r\n loader.load( fName, configDone);\r\n }\r\n\r\n function saveShowsSQL( success, results) {\r\n\t\t\t// config.salesMode set by query string, not config_ ... .xml\r\n if( config.salesMode === \"sales\" || config.salesMode === \"exhibitor\" || config.salesMode === \"contra\") {\r\n\t\t\t//loader.requestWithScript( \"fxsales.ini\", saveSalesIni);\r\n }\r\n\r\n configDone();\r\n\r\n }\r\n \r\n function saveSalesIni( success, results) {\r\n var tmp = \"\";\r\n \r\n if( success) {\r\n tmp = results.getElementsByTagName( \"user\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n data.salesIniUser = tmp.textContent;\r\n }\r\n tmp = results.getElementsByTagName( \"pswd\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n data.salesIniPswd = tmp.textContent;\r\n }\r\n tmp = results.getElementsByTagName( \"url\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n data.salesUrl = tmp.textContent;\r\n }\r\n else {\r\n config.salesMode = \"none\";\r\n // alert( \"No url provided for Sales Mode\");\r\n swal(\"\", \"No url provided for Sales Mode\", \"error\");\r\n }\r\n \r\n tmp = results.getElementsByTagName( \"c\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n data.salesAllowedCommands = tmp.textContent.split(\",\");\r\n }\r\n tmp = results.getElementsByTagName( \"port\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n data.salesPort = tmp.textContent;\r\n }\r\n tmp = results.getElementsByTagName( \"holdmodedisplayinfo\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.holdModeExhibitorName = util.isTrue( tmp.textContent);\r\n }\r\n tmp = results.getElementsByTagName( \"rateplansort\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.sortRatePlans = tmp.textContent;\r\n }\r\n tmp = results.getElementsByTagName( \"inactivelimit\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n data.salesIdleLimit = tmp.textContent;\r\n }\r\n tmp = results.getElementsByTagName( \"combineadjacentonly\")[0];\r\n if( tmp && tmp.textContent !== \"\") {\r\n config.combineAdjacentOnly = util.isTrue( tmp.textContent);\r\n }\r\n \r\n }\r\n else {\r\n config.salesMode = \"none\";\r\n // alert( \"Could not read data required for FX Sales\");\r\n swal(\"\", \"Could not read data required for FX Sales\", \"error\");\r\n console.log( \"Failed to read fxsales.ini\");\r\n }\r\n }\r\n \r\n function configDone( success, results) {\r\n if(config.isXML){ \r\n loader.load( (\"options_\" + eventName + \".xml\"), optionsDone);\r\n if( eventName === \"shows\") {\r\n storeXml.multiConfig( config, results);\r\n }\r\n else {\r\n storeXml.config( config, results);\r\n }\r\n\r\n if (config.activationCode !== \"\" && data.queryActCode !== \"\") {\r\n\r\n if(decrypt(config.activationCode) === data.queryActCode) {\r\n\r\n //alert(\"Authorized to download CSV\");\r\n\r\n loader.rptRequestWithScript(\"exhibitorList.ini\", rptDone);\r\n\r\n }\r\n\r\n }\r\n }\r\n else{\r\n optionsDone(true);\r\n }\r\n \r\n }\r\n\r\n function rptDone( success, results) {\r\n if ( success) {\r\n download(results, \"exhibitorList.csv\");\r\n }\r\n }\r\n\r\n function download(data, filename, type) {\r\n var file = new Blob([data], {type: type});\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, filename);\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function() {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url); \r\n }, 0); \r\n }\r\n }\r\n \r\n function optionsDone( success, results) {\r\n var cb;\r\n if( success && config.isXML) {\r\n storeXml.options( results, config, fxStyles);\r\n }\r\n \r\n cb = loadCallback;\r\n loadCallback = null;\r\n cb();\r\n }\r\n \r\n //////////////// load remaining files //////////////////////////////////////////\r\n function loadMultiViewList( callback) {\r\n if( callback !== null) {\r\n loadCallback = callback;\r\n }\r\n loader.load( \"exhibitor_shows.xml\", saveEventExhibitors);\r\n loader.load( \"boothlist_shows.xml\", saveBoothList);\r\n if( config.bSocialButtons) {\r\n loader.load( \"social_shows.xml\", saveSocial);\r\n }\r\n\r\n if(config.password !== \"\"){\r\n doc.dispatchEvent( new FxEvent(\"Last_Message_Number_Ready\", null));\r\n }\r\n }\r\n \r\n function loadAllData( fpcallback) {\r\n//\t\tvar tm = 0;\r\n var basefile = eventName + \".xml\";\r\n floorPlanCallback = fpcallback;\r\n \r\n if (config.isXML){\r\n loader.load( basefile, saveBooths);\r\n\r\n if( config.hasMultipleViews) {\r\n loader.load( \"exhibitor_shows.xml\", saveEventExhibitors);\r\n loader.load( \"boothlist_shows.xml\", saveBoothList);\r\n }\r\n loader.load( \"ex_\" + basefile, saveExhibitors);\r\n\r\n loader.load( \"tx_\" + basefile, saveBuildingText);\r\n\r\n if( config.showLists) {\r\n if( config.bCategoryData) {\r\n loader.load( \"ct_\" + basefile, saveCategories);\r\n }\r\n\r\n if( config.bPavilionData) {\r\n loader.load( \"pv_\" + basefile, savePavilionData);\r\n }\r\n\r\n if( config.bSubShowData) {\r\n loader.load( \"ss_\" + basefile, saveSubShowData);\r\n }\r\n\r\n if( config.bCountryData && !config.bHideCountryList) {\r\n loader.load( \"cn_\" + basefile, saveCountryData);\r\n \r\n }\r\n }\r\n\r\n if( config.bSocialButtons) {\r\n loader.load( \"social_\" + basefile, saveSocial);\r\n }\r\n \r\n if( config.bOverlay) {\r\n loader.load( \"overlays_\" + basefile, saveOverlays);\r\n }\r\n\r\n loader.load( \"tl_\" + basefile, saveTechLayers); \r\n \r\n loader.load( \"u_\" + basefile, saveUpdate);\r\n }\r\n else{\r\n \r\n getEventFromSQL();\r\n\r\n getEventTextFromSQL();\r\n\r\n if(config.salesMode === \"exhibitor\"){\r\n getLoggedInExhibitor();\r\n }\r\n\r\n if(config.bSocialButtons && config.jsonSocial.length != 0){\r\n socialToolbar( null, elemById( \"mainHeader\"), config.jsonSocial);\r\n }\r\n }\r\n \r\n// tm = Date.now() - data.startTime;\r\n//\t\tconsole.log( \" request other data at \" + tm);\r\n\t\t\r\n\t\tif( config.elvis) {\r\n\t\t\tloader.requestWithScript( \"eli.ini\", saveElvisInfo);\r\n }\r\n\r\n }\r\n\t\r\n\tfunction loadGoogleAccount( callback) {\r\n\t\tloader.load( \"fxga.xml\", callback);\r\n\t}\r\n\t\r\n\tfunction saveElvisInfo( success, results) {\r\n\t\tvar xmlNodes = null;\r\n\t\tvar i = 0;\r\n\t\t\r\n\t\tif( success) {\r\n\t\t\txmlNodes = results.getElementsByTagName( \"Message\");\r\n\t\t\tif( xmlNodes.length > 0) {\r\n\t\t\t\tfor( i = 0; i < xmlNodes.length; i++) {\r\n\t\t\t\t\tconfig.elvisMessages.push( { numGroup: xmlNodes[i].getAttribute( \"numIndex\"),\r\n\t\t\t\t\t\t\t\t\t\t\tmsg: xmlNodes[i].textContent\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\txmlNodes = results.getElementsByTagName( \"Numbers\");\r\n\t\t\tif( xmlNodes.length > 0) {\r\n\t\t\t\tfor( i = 0; i < xmlNodes.length; i++) {\r\n\t\t\t\t\tconfig.elvisNumbers.push( xmlNodes[i].textContent);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconfig.elvis = false;\r\n\t\t\tconsole.log( \"Failed to load ELI data file\");\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction saveTechLayers( success, results) {\r\n\t\tif( success) {\r\n\t\t\tdata.xmlTechLayers = results;\r\n\t\t\tdoc.dispatchEvent( new FxEvent( \"Technical_Layers_Loaded\", null));\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconsole.log( \"Technical Layers FAILED\");\r\n\t\t}\r\n\t}\r\n \r\n function saveBuildingText( success, results) {\r\n data.xmlBldgTxt = results.querySelectorAll(\"OT\");\r\n }\r\n\r\n function saveBooths( success, results) {\r\n //getEventFromSQL();\r\n \r\n data.xmlGraphics = results;\r\n if (xmlExhibitorData){\r\n floorPlanCallback();\r\n }\r\n }\r\n\r\n function getEventFromSQL() {\r\n console.log(\"getting floorplan coords...\");\r\n \r\n var buildUrl = window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing?requestedWidth=17280\";\r\n if(config.apiView){\r\n buildUrl += \"&viewName=\" + config.apiView;\r\n }\r\n \r\n if(config.optionsSet != \"none\"){ \r\n buildUrl += \"&options=\" + config.optionsSet;\r\n }\r\n \r\n $.ajax({\r\n //url:\"http://localhost:59125/17sampl/webdrawing/BoothShapes?includeDeleted=false&scaleToWidth=17280\",\r\n //url:window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing?requestedWidth=17280\",\r\n //url: window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing?requestedWidth=17280\",\r\n url: buildUrl,\r\n method: 'GET',\r\n data: \"\",\r\n success: function (res, status, jqr) {\r\n if (res.length > 0) { \r\n\r\n jsonGraphics = res[0];\r\n\r\n if(jsonGraphics.technicalLayers || jsonGraphics.additionalGraphics) {\r\n \r\n if (jsonGraphics.technicalLayers) {\r\n data.jsonTechLayers = jsonGraphics.technicalLayers; \r\n }\r\n \r\n if(jsonGraphics.additionalGraphics) {\r\n data.jsonGraphics = jsonGraphics.additionalGraphics;\r\n }\r\n \r\n doc.dispatchEvent( new FxEvent( \"Technical_Layers_Loaded\", null));\r\n }\r\n\r\n if(jsonGraphics.overlays){\r\n \r\n var ov = expocadfx.overlays();\r\n ov.save( null, jsonGraphics.overlays);\r\n }\r\n\r\n //console.log(\"ajax sql coords success\");\r\n\r\n getListDataFromSQL();\r\n } \r\n else {\r\n alert(\"Server Unavailable\");\r\n }\r\n }\r\n });\r\n\r\n \r\n }\r\n\r\n function getLoggedInExhibitor() {\r\n $.ajax({\r\n //url:window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing/Lists?includeDeleted=false&viewName=TEST\",\r\n url: window.location.origin + \"/exhibitor/\" + eventDatabaseName + \"/info\",\r\n method: 'GET',\r\n data: \"\",\r\n success: function (res, status, jqr) {\r\n if (res.length > 0) { \r\n config.loggedInExhib = res[0].customerId;\r\n } \r\n else {\r\n alert(\"Server Unavailable\");\r\n } \r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n function getListDataFromSQL() {\r\n console.log(\"getting floorplan exhibitors and lists...\");\r\n \r\n var buildUrl = window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing/Lists?includeDeleted=false\";\r\n if(config.apiView){\r\n buildUrl += \"&viewName=\" + config.apiView;\r\n }\r\n\r\n if(config.optionsSet != \"none\"){ \r\n buildUrl += \"&options=\" + config.optionsSet;\r\n }\r\n\r\n $.ajax({\r\n //url:window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing/Lists?includeDeleted=false&viewName=TEST\",\r\n url: buildUrl,\r\n method: 'POST',\r\n data: \"\",\r\n success: function (res, status, jqr) {\r\n if (res.length > 0) { \r\n\r\n parsedListSiS = res[0].showInShows;\r\n parsedListCn = res[0].countries;\r\n parsedListPv = res[0].pavilions;\r\n parsedListCat = res[0].categories;\r\n\r\n jsonExhibitors = res[0].exhibitors;\r\n\r\n if (parsedListCat.length > 0){\r\n\r\n config.bCategoryData = true;\r\n document.dispatchEvent( new FxEvent( \"Tree_Data_Ready\", {type: \"cat\", jsonObject: parsedListCat}));\r\n }\r\n else{config.bCategoryData = false;}\r\n if (parsedListPv.length > 0){\r\n config.bPavilionData = true;\r\n document.dispatchEvent( new FxEvent( \"Tree_Data_Ready\", {type: \"pav\", jsonObject: parsedListPv}));\r\n }\r\n else{config.bPavilionData = false;}\r\n if (parsedListSiS.length > 0){\r\n config.bSubShowData = true; // Test.. Config_XML has attributes that tell FX if there is data for SiS, Pav, Country, and cat\r\n document.dispatchEvent( new FxEvent( \"Tree_Data_Ready\", {type: \"sis\", jsonObject: parsedListSiS}));\r\n }\r\n else{config.bSubShowData = false;}\r\n if (parsedListCn.length > 0){\r\n\r\n config.bCountryData = true;\r\n document.dispatchEvent( new FxEvent( \"Tree_Data_Ready\", {type: \"country\", jsonObject: parsedListCn}));\r\n }\r\n else {config.bCountryData = false;}\r\n\r\n\r\n console.log(\"ajax sql exhibs and lists success\");\r\n\r\n floorPlanCallback();\r\n } \r\n else {\r\n alert(\"Server Unavailable\");\r\n } \r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n function getEventTextFromSQL(){\r\n \r\n var optionsSet = \"\";\r\n var viewTemp = \"\";\r\n\r\n if(config.apiView){\r\n viewTemp += \"&viewName=\" + config.apiView;\r\n }\r\n \r\n if(config.optionsSet != \"none\"){ //Change this out later to viewName? \r\n optionsSet = \"&options=\" + config.optionsSet;\r\n }\r\n\r\n var buildUrl = window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing/bldgText?requestedWidth=17280\" + viewTemp + optionsSet;\r\n \r\n $.ajax({\r\n url: buildUrl,\r\n method: 'GET',\r\n data: \"\",\r\n success: function (res, status, jqr) {\r\n if (res.length >= 0) { \r\n var buildingText = res;\r\n data.jsonBldgTxt = buildingText;\r\n }\r\n \r\n }\r\n });\r\n }\r\n\r\n function getTextConfigFromSQL(){\r\n \r\n var optionsSet = \"\";\r\n\r\n util.parseQuerySting(config, data);\r\n\r\n if(config.optionsSet != \"none\"){\r\n optionsSet = \"&options=\" + config.optionsSet;\r\n }\r\n\r\n var token = getCookieValue(\"token\");\r\n \r\n if ( token != \"\"){\r\n token = \"Bearer \" + token;\r\n }\r\n\r\n var buildUrl = window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing/Config?requestedWidth=17280\";\r\n if(config.apiView){\r\n buildUrl += \"&viewName=\" + config.apiView;\r\n }\r\n \r\n if(config.optionsSet != \"none\"){ \r\n buildUrl += \"&options=\" + config.optionsSet;\r\n }\r\n \r\n $.ajax({\r\n url:window.location.origin + \"/\" + eventDatabaseName + \"/webdrawing/Text?requestedWidth=17280\" + optionsSet,\r\n method: 'GET',\r\n data: \"\",\r\n success: function (configRes, status, jqr) {\r\n if (configRes.length > 0) { \r\n $.ajax({\r\n headers: {'Authorization' : token},\r\n url:buildUrl,\r\n method: 'GET',\r\n data: \"\",\r\n success: function (textRes, status, jqr) {\r\n if (textRes.length > 0) { \r\n \r\n jsonTextconfigDone(configRes,textRes);\r\n \r\n } \r\n }\r\n \r\n });\r\n \r\n }\r\n\r\n \r\n }\r\n \r\n });\r\n\r\n\r\n\r\n \r\n }\r\n\r\n function saveExhibitors( success, results) { // from ex_.xml\r\n \r\n xmlExhibitorData = results;\r\n //doc.dispatchEvent( new FxEvent(\"Exhibitor_List_Ready\", null));\r\n if (data.xmlGraphics){\r\n floorPlanCallback();\r\n }\r\n }\r\n\r\n function parseExhibitorSQL(){\r\n var exh = null;\r\n //var exhibitors = JSON.parse(localStorage.JSONExhibs);\r\n var exhibitors = jsonExhibitors;\r\n var numExhibitors = exhibitors.length;\r\n var i = 0;\r\n\t\tvar dc = config.bDataEncrypted ? decrypt : null;\r\n \r\n for( i = 0; i < numExhibitors; i++) {\t// for each exhibitor and available booth in this view\r\n exh = new Exhibitor( i, null, dc, exhibitors[i]);\r\n\t\t\t\r\n\t\t\tif( config.rentMode) {\r\n\t\t\t\texh.name = getBoothLabel( data.booths[ exh.boothIndex]);\r\n\t\t\t}\r\n\t\t\t\r\n data.exhibitors.push( exh);\r\n }\r\n\t\t\r\n\t\tif( !config.hasMultipleViews) {\r\n\t\t\tdoc.dispatchEvent( new FxEvent( \"Ready_To_Validate_Favorites\", null)); // expofx 330\r\n\t\t}\r\n \r\n jsonExhibitors = null;\r\n \r\n doc.dispatchEvent( new FxEvent( \"View_Exhibitor_Data_Ready\", null)); // pageControl 1083\r\n }\r\n\t\r\n\tfunction parseExhibitorData() {\r\n var exh = null;\r\n var exhibitors = xmlExhibitorData.getElementsByTagName(\"E\");\r\n \r\n var numExhibitors = exhibitors.length;\r\n var i = 0;\r\n\t\tvar dc = config.bDataEncrypted ? decrypt : null;\r\n \r\n for( i = 0; i < numExhibitors; i++) {\t// for each exhibitor and available booth in this view\r\n exh = new Exhibitor( i, exhibitors[i], dc);\r\n //exh = new Exhibitor( i, null, dc, exhibitors[i]);\r\n\t\t\t\r\n\t\t\tif( config.rentMode) {\r\n\t\t\t\texh.name = getBoothLabel( data.booths[ exh.boothIndex]);\r\n\t\t\t}\r\n\t\t\t\r\n data.exhibitors.push( exh);\r\n }\r\n\t\t\r\n\t\tif( !config.hasMultipleViews) {\r\n\t\t\tdoc.dispatchEvent( new FxEvent( \"Ready_To_Validate_Favorites\", null)); // expofx 330\r\n\t\t}\r\n\t\t\r\n doc.dispatchEvent( new FxEvent( \"View_Exhibitor_Data_Ready\", null)); // pageControl 1083\r\n\t}\r\n \r\n function saveUpdate( success, results) {\r\n var xml = results.getElementsByTagName(\"U\")[0];\r\n if( xml ) {\r\n data.updateNumber = parseInt(xml.getAttribute(\"u\"), 10);\r\n data.lastMessageNumber = parseInt(xml.getAttribute(\"h\"), 10);\r\n\r\n doc.dispatchEvent( new FxEvent(\"Last_Message_Number_Ready\", null)); // expofx 165\r\n }\r\n }\r\n \r\n function savePavilionData( success, results) {\r\n if( success) {\r\n document.dispatchEvent( new FxEvent( \"Tree_Data_Ready\", {type: \"pav\", xml: results}));\r\n }\r\n }\r\n\r\n function saveSubShowData( success, results) {\r\n if( success) {\r\n document.dispatchEvent( new FxEvent( \"Tree_Data_Ready\", {type: \"sis\", xml: results}));\r\n }\r\n }\r\n \r\n function saveCountryData( success, results) {\r\n if( success) {\r\n document.dispatchEvent( new FxEvent( \"Tree_Data_Ready\", {type: \"country\", xml: results}));\r\n }\r\n }\r\n\r\n function saveCategories( success, results) {\r\n if( success) {\r\n document.dispatchEvent( new FxEvent( \"Tree_Data_Ready\", {type: \"cat\", xml: results}));\r\n }\r\n }\r\n\t\r\n function updateDisplayObjects() {\r\n var exh = null;\r\n var numExhibitors = data.exhibitors.length;\r\n var i = 0;\r\n var k = 0;\r\n var found = false;\r\n var display = data.displayExhibitors;\r\n var displayLength = 0;\r\n var displayObj = null;\r\n\t\tvar obj = null;\r\n\t\t\r\n\t\tif( xmlExhibitorShows) {\r\n\t\t\tparseShowExhibitors();\t// all exhibitors from multi-view event\r\n\t\t}\r\n\t\t\r\n for( i = 0; i < numExhibitors; i++) { // for each exhibitor in this view\r\n found = false;\r\n exh = data.exhibitors[i];\r\n displayLength = display.length;\r\n\t\t\t\t// object for 'Booth List'\r\n\t\t\tdisplayObj = new DisplayExhibitor( exh, config.viewName, data.displayBooths.length);\r\n\t\t\t\r\n\t\t\tdisplayObj.favorite = checkFavorite( exh.boothNumber, exh.exhId);\r\n\t\t\t\r\n\t\t\tif( data.booths[ exh.boothIndex].status === \"0\") {\r\n\t\t\t\tdisplayObj.name = getBoothLabel( data.booths[ exh.boothIndex]);\r\n\t\t\t}\r\n\t\t\tdata.displayBooths.push( displayObj);\r\n\t\t\t\r\n // add to or update displayExhibitors[]\r\n if( !displayObj.bAvailable) {\r\n if( config.rentMode) {\r\n\t\t\t\t\tobj = JSON.parse(JSON.stringify( displayObj));\t\t// clone object\r\n\t\t\t\t\tobj.id = displayLength;\r\n\t\t\t\t\tobj.name = getBoothLabel( data.booths[ exh.boothIndex]);\r\n\t\t\t\t\t\r\n\t\t\t\t\tdisplay.push( obj);\r\n\t\t\t\t\tfound = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n for( k = 0; k < displayLength; k++) {\r\n if( display[k].bLocal && display[k].name === exh.name) {\r\n\t\t\t\t\t\t\tdisplay[k].arBoothNumbers.push( exh.boothNumber);\r\n\t\t\t\t\t\t\t// if mv index is there, if single view, add index !\r\n\t\t\t\t\t\t\tif( !config.hasMultipleViews) {\r\n\t\t\t\t\t\t\t\tdisplay[k].arBoothIndexes.push( exh.boothIndex);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tdisplay[k].location = display[k].arBoothNumbers.join( \" \");\r\n\t\t\t\t\t\t\t\r\n display[k].exhibIndex = i;\t\t// is this always true ??\r\n display[k].exhId = exh.exhId;\r\n\t\t\t\t\t\t\t\t// if any booth with this exhibitor if Fav\r\n\t\t\t\t\t\t\tif( checkFavorite( exh.boothNumber, exh.exhId)) {\r\n\t\t\t\t\t\t\t\tdisplay[k].favorite = true;\r\n\t\t\t\t\t\t\t}\r\n found = true;\r\n break;\r\n }\r\n }\r\n }\r\n\t\t\t\t\r\n\t\t\t\tif( !found) {\r\n\t\t\t\t\t\t// copy object made for 'Booth List' and put in 'Exhibitor List'\r\n\t\t\t\t\tdisplayObj = JSON.parse(JSON.stringify( displayObj));\r\n\t\t\t\t\tobj = util.arrayFind( data.premiumCompanies, \"name\", displayObj.name);\r\n\t\t\t\t\tif( obj) {\r\n\t\t\t\t\t\tdisplayObj.priority = obj.priority;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdisplayObj.id = displayLength;\r\n\t\t\t\t\tdisplayObj.favorite = checkFavorite( exh.boothNumber, exh.exhId);\r\n\t\t\t\t\tdisplay.push( displayObj);\r\n\t\t\t\t\r\n\t\t\t\t}\r\n }\r\n }\r\n\t\t\r\n if( data.grid === null) {\r\n addExhibitorGrid();\r\n }\r\n\t\telse {\r\n\t\t\tdata.grid.refresh();\r\n\t\t}\r\n data.xmlExhibitors = null;\r\n\t\tnextDisplayBoothId = data.displayBooths.length;\r\n\t\tnextDisplayExhibitorId = data.displayExhibitors.length;\r\n }\r\n \r\n\tfunction checkFavorite( boothNumber, exhibitorId) {\r\n\t\tvar i = 0;\r\n\t\tvar favs = data.favoriteBooths;\r\n\t\tvar len = favs.length;\r\n\t\t\r\n\t\tfor( i = 0; i < len; i++) {\r\n\t\t\tif( favs[i].bth === boothNumber && favs[i].exh === exhibitorId) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n \r\n\tfunction saveEventExhibitors( success, results) {\r\n\t\txmlExhibitorShows = results;\r\n\t\tif( waitingForExhbitorsShows) {\r\n\t\t\tparseShowExhibitors();\r\n\t\t}\r\n\t}\r\n\t\r\n function parseShowExhibitors() { // from exhibitors_shows\r\n var i = 0;\r\n var exh = null;\r\n var len = 0;\r\n var tmpName = \"\";\r\n var xml = null;\r\n\t\tvar obj = null;\r\n \r\n\t\tif( xmlExhibitorShows) {\r\n\t\t\txml = xmlExhibitorShows.getElementsByTagName( \"e\");\r\n\t\t}\r\n\t\telse {\r\n\t\t\twaitingForExhbitorsShows = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\t\r\n len = xml.length;\r\n \r\n for( i = 0; i < len; i++) {\r\n tmpName = xml[i].getAttribute(\"l\");\r\n if( config.bDataEncrypted) {\r\n tmpName = decrypt( tmpName);\r\n }\r\n \r\n exh = new DisplayExhibitor( null);\r\n \r\n exh.id = i;\r\n exh.name = tmpName.trim();\r\n exh.viewName = xml[i].getAttribute( \"f\");\r\n exh.location = util.arrayFind( data.arViews, \"name\", exh.viewName).label;\r\n exh.boothIndex = String( xml[i].getAttribute( \"d\"));\r\n exh.arBoothIndexes = String( exh.boothIndex).split(\",\"); // legacy\r\n exh.exhibIndex = -1;\r\n exh.favorite = false;\r\n exh.priority = 0;\r\n exh.bLocal = ( exh.viewName === config.viewName);\r\n exh.bAvailable = false;\r\n \r\n\t\t\tobj = util.arrayFind( data.premiumCompanies, \"name\", exh.name);\r\n\t\t\tif( obj) {\r\n\t\t\t\texh.priority = obj.priority;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\texh.favorite = isShowExhibitorFavorite( exh.name, exh.viewName);\r\n\t\t\t\r\n data.displayExhibitors.push( exh);\r\n }\r\n\t\tif( !config.hasFloorPlan) {\r\n\t\t\taddExhibitorGrid();\r\n\t\t}\r\n }\r\n\t\r\n\tfunction isShowExhibitorFavorite( exhibitorName, viewName) {\r\n\t\tvar bths = data.eventBooths;\r\n\t\tvar numBooths = bths.length;\r\n\t\tvar i = 0;\r\n\t\t\r\n\t\tfor( i = 0; i < numBooths; i++) {\r\n\t\t\tif( bths[i].name === exhibitorName && bths[i].viewName === viewName) {\r\n\t\t\t\tif( checkFavorite( bths[i].boothNumber, bths[i].exhId)) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t\r\n function saveBoothList( success, results) {\r\n var i = 0;\r\n var exh = null;\r\n var xml = null;\r\n var len = 0;\r\n var tmpName = \"\";\r\n \r\n xml = results.getElementsByTagName(\"e\");\r\n len = xml.length;\r\n\t\t\r\n for (i = 0; i < len; i++) {\r\n tmpName = xml[i].getAttribute(\"l\");\r\n \r\n if( config.bDataEncrypted) {\r\n tmpName = decrypt( tmpName);\r\n }\r\n \r\n exh = {\r\n name : tmpName,\r\n exhId : xml[i].getAttribute(\"i\"),\r\n boothNumber : xml[i].getAttribute(\"b\"),\r\n viewTitle : xml[i].getAttribute(\"h\"),\r\n viewName : xml[i].getAttribute(\"f\")\r\n };\r\n data.eventBooths.push( exh);\r\n }\r\n\t\t\t// triggers favorites.validate\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Ready_To_Validate_Favorites\", null));\r\n }\r\n \r\n function saveSocial( success, results) {\r\n if( success && results !== null) {\r\n socialToolbar( results, elemById( \"mainHeader\"));\r\n }\r\n }\r\n \r\n function saveOverlays( success, results) {\r\n\t\tvar ov;\r\n\t\tif( success) {\r\n\t\t\tov = overlays();\r\n\t\t\tov.save( results);\r\n\t\t}\r\n }\r\n \r\n function addExhibitorGrid() {\r\n var div = elemById( \"exhGrid\");\r\n if( div !== null && div !== undefined) {\r\n createExhibitorGrid();\r\n }\r\n }\r\n \r\n function checkForExhibitors() { // from page ready\r\n if( data.status.exhibitorsReady) {\r\n createExhibitorGrid();\r\n }\r\n }\r\n \r\n function createExhibitorGrid() {\r\n data.grid = new ExhibitorList( data.displayExhibitors, data.booths, txt);\r\n }\r\n \r\n function decrypt( sInput) {\r\n var j = 0;\r\n var arr;\r\n var sOut = \"\";\r\n var charLen = 0;\r\n var i = 0;\r\n if( sInput && sInput !== \"\") {\r\n arr = sInput.split( \",\");\r\n charLen = arr.length;\r\n for( i = 0; i < charLen; i += 1) {\r\n sOut += String.fromCharCode( arr[i]-rmd[j]);\r\n j++;\r\n if(j >= rmd.length) {\r\n j = 0;\r\n }\r\n }\r\n }\r\n return sOut;\r\n }\r\n \r\n ///////////////////////// Dynamic update for FX sales /////////////////////////\r\n function newExhibitor( bthNum, bthIndex) {\r\n var index = data.exhibitors.length;\r\n var exhObj = new Exhibitor( index, null, null);\r\n data.exhibitors.push( exhObj);\r\n exhObj.boothNumber = bthNum;\r\n exhObj.boothIndex = bthIndex;\r\n exhObj.exhibitorName = txt.AVAILABLE;\r\n return index;\r\n }\r\n \r\n function changeExhibitorNameField() {\r\n\t\tvar display = data.displayBooths;\r\n\t\tvar len = display.length;\r\n\t\tvar i = 0;\r\n\t\t\r\n\t\tfor( i = 0; i < len; i++) {\r\n\t\t\tif( display[i].bAvailable) {\r\n\t\t\t\tdisplay[i].name = getBoothLabel( data.booths[ display[i].arBoothIndexes[0] ]);\r\n\t\t\t}\r\n\t\t}\r\n }\r\n \r\n function updateReleasedBooth( boothObj) {\r\n var i = 0;\r\n var idx = -1;\r\n var favObj = null;\r\n var display = data.displayExhibitors;\r\n var len = display.length;\r\n var exhObj = data.exhibitors[ boothObj.exhibitorIndex];\r\n\t\tvar displayBooth = data.displayBooths[ boothObj.index];\r\n var displayObj = null;\r\n\t\t\r\n if( exhObj === null) {\r\n console.log( \"exhObj is null for booth: \" + boothObj.number);\r\n }\r\n else if ( boothObj.status === \"1\") {\r\n \r\n }\r\n else {\r\n var eName = exhObj.name;\r\n\t\t\t\r\n exhObj.name = getBoothLabel( boothObj);\r\n exhObj.exhId = \"\";\r\n\r\n exhObj.address1 = \"\";\r\n exhObj.address2 = \"\";\r\n exhObj.city = \"\";\r\n exhObj.state = \"\";\r\n exhObj.zip = \"\";\r\n exhObj.country = \"\";\r\n exhObj.contact = \"\";\r\n exhObj.phone = \"\";\r\n exhObj.fax = \"\";\r\n exhObj.email = \"\";\r\n exhObj.website = \"\";\r\n exhObj.profile = \"\";\r\n exhObj.category = \"\";\r\n exhObj.url = \"\"; // available booths can have a url ?\r\n \r\n for( i = 0; i < len; i++) {\r\n if( display[i].name === eName && display[i].bLocal ) {\r\n \r\n if( display[i].favorite) {\r\n favObj = {\r\n boothNumber : boothObj.number,\r\n boothIndex : boothObj.index,\r\n exhName : eName,\r\n local : true,\r\n fav : false\r\n };\r\n document.dispatchEvent( new FxEvent( \"Exhibitor_Favorite_Change\", favObj));\r\n }\r\n \r\n if( display[i].arBoothIndexes.length === 1) { // exhibitor only had one booth\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tdisplayObj = display[i];\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tdisplay.splice( i, 1);\r\n\t\t\t\t\t\t\r\n displayObj.name = getBoothLabel( boothObj);\r\n displayObj.exhId = \"\";\r\n displayObj.exhibIndex = boothObj.exhibitorIndex;\r\n displayObj.bAvailable = true;\r\n\t\t\t\t\t\tdisplayObj.id = nextDisplayBoothId;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tdata.displayBooths.push( displayObj);\r\n\t\t\t\t\t\tnextDisplayBoothId += 1;\r\n }\r\n else {\r\n idx = isInArray( boothObj.index, display[i].arBoothIndexes);\r\n \r\n if( idx !== -1) {\r\n display[i].arBoothIndexes.splice( idx, 1);\r\n display[i].boothIndex = display[i].arBoothIndexes.join( \",\"); // legacy\r\n display[i].arBoothNumbers.splice( idx, 1);\r\n display[i].location = display[i].arBoothNumbers.join( \" \");\r\n }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tdisplayBooth = updateAvailableLabel( boothObj);\r\n\t\t\t\t\t\tdisplayBooth.bAvailable = true;\r\n\t\t\t\t\t\tdisplayBooth.exhId = \"\";\r\n }\r\n data.grid.refresh();\r\n break;\r\n }\r\n }\r\n }\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Booth_List_Change\", null));\r\n }\r\n \r\n function updateTablesForRentHold( boothObj, exhibitorId, exhibitorName) {\r\n var i = 0;\r\n var found = false;\r\n var display = data.displayExhibitors;\r\n var displayLen = display.length;\r\n var exhObj = data.exhibitors[ boothObj.exhibitorIndex]; // assumed exactly 1 exh !!\r\n\t\tvar displayObj = null;\r\n\t\tvar label = \"\";\r\n \r\n if( (config.rentMode && boothObj.status === \"2\") || ( config.holdMode && boothObj.status === \"1\")) {\r\n exhObj.exhId = \"\";\r\n exhObj.name = config.rentMode ? txt.RENT_MODE_LABEL : txt.HOLD_MODE_LABEL;\r\n }\r\n else {\r\n exhObj.exhId = exhibitorId;\r\n exhObj.name = exhibitorName;\r\n }\r\n \r\n\t\t // find booth id displayBooths and update, booth has to exist\r\n for( i = 0; i < data.displayBooths.length; i++) {\r\n if( data.displayBooths[i].arBoothNumbers[0] === boothObj.number) { \r\n label = getBoothLabel( boothObj);\r\n data.displayBooths[i].name = label || exhibitorName;\r\n data.displayBooths[i].exhId = exhibitorId;\r\n data.displayBooths[i].exhibIndex = boothObj.exhibitorIndex;\r\n data.displayBooths[i].favorite = false;\r\n data.displayBooths[i].bAvailable = false;\r\n \r\n //\t\t\t\tdata.displayBooths[i].priority = ???\r\n }\r\n } \r\n\t\t\t// Update or add to Exhibitor List\r\n for( i = 0; i < displayLen; i++) {\r\n // if this exhibitor is in display with local booth --> add this booth info\r\n if( display[i].bLocal && display[i].name === exhObj.name) {\r\n // add booth number to existing exhibitor, then delete object for 'Available booth'\r\n if( isInArray( boothObj.index, display[i].arBoothIndexes) === -1) {\r\n display[i].arBoothNumbers.push( boothObj.number);\r\n display[i].arBoothIndexes.push( boothObj.index);\r\n display[i].boothIndex = display[i].arBoothIndexes.join( \",\"); // legacy\r\n display[i].location = display[i].arBoothNumbers.join( \" \");\r\n }\r\n found = true;\r\n break;\r\n }\r\n }\r\n \r\n if( !found) { // No existing display object for exhibitor\r\n displayObj = new DisplayExhibitor( exhObj, config.viewName, nextDisplayExhibitorId); \r\n\t\t\t\r\n\t\t\tdisplay.push( displayObj);\r\n\t\t\tnextDisplayExhibitorId += 1;\r\n\t\t}\r\n data.grid.refresh();\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Booth_List_Change\", null));\r\n }\r\n\r\n function updateTablesForChildExhib( boothObj, exhibitorId, exhibitorName, isChild) {\r\n var i = 0;\r\n var found = false;\r\n var display = data.displayExhibitors;\r\n var displayLen = display.length;\r\n var exhObj = data.exhibitors[ boothObj.exhibitorIndex]; // assumed exactly 1 exh !!\r\n\t\tvar displayObj = null;\r\n\t\tvar label = \"\";\r\n \r\n if( (config.rentMode && boothObj.status === \"2\") || ( config.holdMode && boothObj.status === \"1\")) {\r\n exhObj.exhId = \"\";\r\n exhObj.name = config.rentMode ? txt.RENT_MODE_LABEL : txt.HOLD_MODE_LABEL;\r\n }\r\n else {\r\n // maybe skip this if we're adding a child exhibitor?\r\n exhObj.exhId = exhibitorId;\r\n exhObj.name = exhibitorName;\r\n }\r\n \r\n if(isChild){\r\n // Skip this step for child exhibitor or add the displayBooths object perhaps?\r\n data.displayBooths.push({\r\n arBoothIndexes: [\"515\"],\r\n arBoothNumbers: [\"946\"],\r\n bAvailable: false,\r\n bLocal: true,\r\n boothIndex: \"515\",\r\n boothNumber: \"946\",\r\n exhId: \"T0000005\",\r\n exhibIndex: data.exhibitors.length,\r\n favorite: false,\r\n id: data.displayBooths.length -1,\r\n location: \"946\",\r\n name: \"Applied Computer Technology\",\r\n priority: 0,\r\n viewName: \"17sampl\"\r\n\r\n });\r\n }\r\n else{\r\n\t\t // find booth id displayBooths and update, booth has to exist\r\n for( i = 0; i < data.displayBooths.length; i++) {\r\n if( data.displayBooths[i].arBoothNumbers[0] === boothObj.number) {\r\n \r\n var exhibitorIndex = boothObj.exhibitorIndex;\r\n\r\n/* if(isChild){\r\n data.displayBooths.push(data.displayBooths[i]);\r\n i = data.displayBooths.length -1;\r\n exhibitorIndex = data.exhibitors.length; // This will fail at some point...\r\n data.displayBooths[i].id = i;\r\n } */\r\n \r\n label = getBoothLabel( boothObj);\r\n data.displayBooths[i].name = label || exhibitorName;\r\n data.displayBooths[i].exhId = exhibitorId;\r\n data.displayBooths[i].exhibIndex = exhibitorIndex;\r\n data.displayBooths[i].favorite = false;\r\n data.displayBooths[i].bAvailable = false;\r\n \r\n //\t\t\t\tdata.displayBooths[i].priority = ???\r\n }\r\n }\r\n }\r\n\t\t\t// Update or add to Exhibitor List\r\n for( i = 0; i < displayLen; i++) {\r\n // if this exhibitor is in display with local booth --> add this booth info\r\n if( display[i].bLocal && display[i].name === exhObj.name) {\r\n // add booth number to existing exhibitor, then delete object for 'Available booth'\r\n if( isInArray( boothObj.index, display[i].arBoothIndexes) === -1) {\r\n display[i].arBoothNumbers.push( boothObj.number);\r\n display[i].arBoothIndexes.push( boothObj.index);\r\n display[i].boothIndex = display[i].arBoothIndexes.join( \",\"); // legacy\r\n display[i].location = display[i].arBoothNumbers.join( \" \");\r\n }\r\n found = true;\r\n break;\r\n }\r\n }\r\n \r\n if( !found) { // No existing display object for exhibitor\r\n if(isChild){\r\n exhObj = new Exhibitor(data.exhibitors.length, null);\r\n exhObj.exhId = exhibitorId;\r\n exhObj.name = exhibitorName;\r\n exhObj.boothIndex = boothObj.index;\r\n exhObj.boothNumber = boothObj.number;\r\n data.exhibitors.push(exhObj);\r\n }\r\n\r\n displayObj = new DisplayExhibitor( exhObj, config.viewName, nextDisplayExhibitorId, isChild); \r\n\t\t\t\r\n\t\t\tdisplay.push( displayObj);\r\n\t\t\tnextDisplayExhibitorId += 1;\r\n\t\t}\r\n data.grid.refresh();\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Booth_List_Change\", null));\r\n }\r\n\t\r\n\tfunction updateAvailableLabel( boothObj) {\r\n\t\tvar displayBooth = util.arrayFind( data.displayBooths, \"location\", boothObj.number);\r\n\t\tif( displayBooth) {\r\n\t\t\tdisplayBooth.name = getBoothLabel( boothObj);\r\n\t\t\tdoc.dispatchEvent( new FxEvent( \"Booth_List_Change\", {}));\r\n\t\t}\r\n\t\treturn displayBooth;\r\n\t}\r\n \r\n function isInArray( value, arr) {\r\n var len = arr.length;\r\n var i;\r\n for( i = 0; i < len; i++) {\r\n if( value == arr[i]) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n }\r\n \r\n function addDisplayBooth( boothObj) { // always Available booth\r\n var i = 0;\r\n var found = false;\r\n var displayObj = null;\r\n var displayLength = data.displayBooths.length;\r\n // if booth status available && not in displayExhibitors\r\n\t\t\r\n if( boothObj.status !== \"0\") {\r\n return;\r\n }\r\n \r\n for( i = 0; i < displayLength; i++) {\r\n if( data.displayBooths[i].location === boothObj.number) {\r\n updateAvailableLabel(boothObj);\r\n found = true;\r\n break;\r\n }\r\n }\r\n if( found) {\r\n return;\r\n }\r\n \r\n displayObj = new DisplayExhibitor( null, config.viewName, nextDisplayBoothId);\r\n\t\t\t\r\n displayObj.name = getBoothLabel( boothObj);\r\n\r\n displayObj.location = boothObj.number;\r\n displayObj.arBoothNumbers.push( boothObj.number);\r\n\t\tdisplayObj.boothNumber = boothObj.number;\r\n\t\tdisplayObj.arBoothIndexes.push( boothObj.index);\r\n displayObj.exhId = \"\";\r\n displayObj.boothIndex = displayObj.arBoothIndexes.join( \",\"); // legacy\r\n displayObj.bAvailable = true;\r\n\t\t\r\n data.displayBooths.push( displayObj);\r\n\t\t\r\n\t\tnextDisplayBoothId += 1;\r\n\t\t\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Booth_List_Change\", {}));\r\n }\r\n \r\n function deleteDisplayBooth( bthNum) {\r\n var display = data.displayBooths;\r\n var displayLength = display.length;\r\n var i = 0;\r\n \r\n for( i = 0; i < displayLength; i++) {\r\n if( display[i].location === String( bthNum)) {\r\n display.splice( i, 1);\r\n\t\t\t\tdoc.dispatchEvent( new FxEvent( \"Booth_List_Change\", {}));\r\n break;\r\n }\r\n }\r\n }\r\n\t\r\n\tfunction changeExhibiterName( boothObj, newName, exhId) {\r\n\t\t// find display object - for rented booth - with this booth number ( AND/OR exhibitor object ??)\r\n\t\tvar i = 0;\r\n\t\tvar newObj;\r\n\t\tvar index = -1;\r\n\t\tvar len = displayList.length;\r\n\t\tvar displayObj = findDisplayObjectByNumber( boothObj.number, false);\r\n\t\tvar arr = null;\r\n\t\t\r\n\t\tif( displayObj === null || displayObj.name === newName) {\r\n\t\t\tconsole.log( \"No booth or exhibitor found for booth number: \" + boothObj.number +\r\n\t\t\t\t\t\t\t\" new name: \" + newName + \" exh Id: \" + exhId);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\t// change exhibitor object \r\n\t\t\t// check for child exhibitors, only change parent\r\n\t\tarr = String( boothObj.exhibitorIndex).split( \",\");\r\n\t\tif( arr.length > 1) {\r\n\t\t\tfor( i = 0; i < arr.length; i++) {\r\n\t\t\t\tif( data.exhibitors[ arr[i] ].exhId === exhId) {\r\n\t\t\t\t\tdata.exhibitors[ arr[i] ].name = newName;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdata.exhibitors[ boothObj.exhibitorIndex].name = newName;\r\n\t\t}\r\n\t\t\r\n\t\tfor( i = 0; i < len; i++) {\r\n\t\t\tif( displayList[i].bLocal && !displayList[i].bAvailable && displayList[i].name === newName) {\r\n\t\t\t\tnewObj = displayList[i];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif( displayObj.arBoothNumbers.length === 1) {\r\n\t\t\tif( newObj) {\r\n\t\t\t\tnewObj.arBoothIndexes.push( boothObj.index);\r\n\t\t\t\tnewObj.arBoothNumbers.push( boothObj.number);\r\n\t\t\t\tnewObj.arBoothNumbers.sort( comparer);\r\n\t\t\t\tnewObj.location = newObj.arBoothNumbers.join( \" \");\r\n\t\t\t\tindex = displayList.indexOf( displayObj);\t\t// WILL indexOf MATCH OBJECTS ??\r\n\t\t\t\tdisplayList.splice( index, 1);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdisplayObj.name = newName;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// remove the booth number and index from display object\r\n\t\t\tfor( i = 0; i < displayObj.arBoothNumbers.length; i++) {\r\n\t\t\t\tif( isInArray( boothObj.number, displayObj.arBoothNumbers) !== -1) {\r\n\t\t\t\t\tdisplayObj.arBoothIndexes.splice( i, 1);\r\n\t\t\t\t\tdisplayObj.arBoothNumbers.splice( i, 1);\r\n\t\t\t\t\tdisplayObj.location = displayObj.arBoothNumbers.join( \" \");\r\n\t\t\t\t\tdisplayObj.boothIndex = displayObj.arBoothIndexes.join( \",\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif( newObj) {\r\n\t\t\t\tnewObj.arBoothIndexes.push( boothObj.index);\r\n\t\t\t\tnewObj.arBoothNumbers.push( boothObj.number);\r\n\t\t\t\tnewObj.arBoothNumbers.sort();\r\n\t\t\t\tnewObj.location = newObj.arBoothNumbers.join( \" \");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t\t// create display obj for this booth with new name\r\n\t\t\t\tnewObj = new DisplayExhibitor( null, config.viewName, nextDisplayExhibitorId);\r\n\t\t\t\tnewObj.name = newName;\r\n\r\n\t\t\t\tnewObj.location = boothObj.number;\r\n\t\t\t\tnewObj.favorite = displayObj.favorite;\r\n\t\t\t\tnewObj.arBoothNumbers.push( boothObj.number);\r\n\t\t\t\tnewObj.exhId = data.exhibitors[ boothObj.exhibitorIndex].exhId;\r\n\r\n\t\t\t\tnewObj.arBoothIndexes.push( boothObj.index);\r\n\t\t\t\tnewObj.boothIndex = boothObj.index;\r\n\t\t\t\tdata.displayExhibitors.push( newObj);\r\n\t\t\t\t\r\n\t\t\t\tnextDisplayExhibitorId += 1;\r\n\t\t\t}\r\n\t\t}\r\n\t\tdata.grid.refresh();\r\n\t}\r\n\t\r\n\tfunction getBoothLabel( boothObject) {\r\n\t\tvar label = \"\";\r\n\t\t\r\n\t\tif( boothObject.status === \"0\") {\r\n\t\t\tlabel = txt.AVAILABLE + \" - \";\r\n\t\t}\r\n\t\telse if( config.rentMode) {\r\n\t\t\tlabel = txt.RENT_MODE_LABEL;\r\n\t\t\treturn label;\r\n\t\t}\r\n\t\t\r\n\t\tif( label !== \"\") {\r\n\t\t\tlabel += ( config.units === \"F\") ? \r\n\t\t\t\tboothObject.dimF + \" - \" + boothObject.areaF :\r\n\t\t\t\tboothObject.dimM + \" - \" + boothObject.areaM;\r\n\t\t}\r\n\t\treturn label;\r\n\t}\r\n\t\r\n\tfunction findDisplayObjectByNumber( bthNum, available) {\r\n\t\tvar len = displayList.length;\r\n\t\tvar i = 0;\r\n\t\tfor( i = 0; i < len; i++) {\r\n\t\t\tif( displayList[i].bLocal && displayList[i].bAvailable === available) {\r\n\t\t\t\tif( isInArray( bthNum, displayList[i].arBoothNumbers) !== -1) {\r\n\t\t\t\t\treturn displayList[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n }\r\n \r\n function getCookieValue(a) {\r\n var b = document.cookie.match('(^|[^;]+)\\\\s*' + a + '\\\\s*=\\\\s*([^;]+)');\r\n return b ? b.pop() : '';\r\n }\r\n \r\n return {\r\n addDisplayBooth: addDisplayBooth,\r\n addExhibitorGrid: addExhibitorGrid,\r\n\t\tchangeExhibiterName: changeExhibiterName,\r\n changeExhibitorNameField: changeExhibitorNameField,\r\n checkForExhibitors: checkForExhibitors,\r\n deleteDisplayBooth: deleteDisplayBooth,\r\n\t\tgetBoothLabel: getBoothLabel,\r\n getExhibitorObject: function( index) { return data.exhibitors[index];},\r\n\t\tloader: loader,\r\n loadAllData: loadAllData,\r\n loadData: loadData,\r\n\t\tloadGoogleAccount: loadGoogleAccount,\r\n loadInitial: loadInitial,\r\n loadMultiViewList: loadMultiViewList,\r\n\t\tloadTextFile: loadTextFile,\r\n newExhibitor: newExhibitor,\r\n parseExhibitorData: parseExhibitorData,\r\n parseExhibitorSQL: parseExhibitorSQL,\r\n\t\tparseShowExhibitors: parseShowExhibitors,\r\n\t\tupdateAvailableLabel: updateAvailableLabel,\r\n updateDisplayObjects: updateDisplayObjects,\r\n updateTablesForRentHold: updateTablesForRentHold,\r\n updateTablesForChildExhib: updateTablesForChildExhib,\r\n updateReleasedBooth: updateReleasedBooth,\r\n zap : decrypt\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n\r\n\r\nexpocadfx.DataLoader = function() {\r\n var FxEvent = expocadfx.fxevent;\r\n\t\r\n var scriptName = \"fxdata.aspx\";\r\n var req = null;\r\n \r\n// console.log( \"is preview? \" + typeof( expofxPreview));\r\n// if( !window.expofxPreview) {\r\n// checkServer();\r\n// }\r\n\t\r\n\tsetTimeout( function() {\t\t// let expofx.js know we're ready to request files\r\n\t\tdocument.dispatchEvent( new FxEvent( \"Loader_Ready\", null));\r\n\t}, 0);\r\n\t\r\n\t\r\n function loader( file, cb, evtName) {\r\n var obj = {\r\n file: file,\r\n callback: cb,\r\n eventName: evtName\r\n };\r\n \r\n if( window.expofxPreview) {\r\n if( cb === null || cb === undefined) {\r\n console.log( \" no callback for \" + file);\r\n }\r\n window.expofxPreview.load( obj);\r\n }\r\n else {\r\n sendRequest( obj);\r\n }\r\n }\r\n \r\n function rptRequestWithScript( fileName, callback) {\r\n var req2 = null;\r\n var reqString = \"\";\r\n\t\tvar currentFile = fileName;\r\n\t\tvar reqCallback = callback;\r\n\t\tvar elem;\r\n \r\n reqString = scriptName + \"?FileName=\" + currentFile;\r\n\r\n if( window.XMLHttpRequest) {\r\n req2 = new XMLHttpRequest();\r\n }\r\n else {\r\n // alert( \"Could not create request for data\");\r\n swal(\"\", \"Could not create request for data!\", \"error\");\r\n return;\r\n }\r\n\t\t\r\n req2.open( 'GET', reqString, true);\r\n\t\t\r\n req2.onload = function() {\r\n if( req2.status !== 200 ) {\r\n\t\t\t\tif( scriptName === \"fxdata.aspx\") {\r\n\t\t\t\t\tscriptName = \"fxdata.php\";\r\n\t\t\t\t\trequestWithScript( fileName, reqCallback);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tconsole.log( \"Could not access server script for resource \" + currentFile);\r\n\t\t\t\t\treqCallback( false, null);\r\n\t\t\t\t}\r\n }\r\n else {\r\n\t\t\t\tif( !req2.response) {\r\n\t\t\t\t\tconsole.log( elem.textContent);\r\n\t\t\t\t\treqCallback( false, null);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treqCallback( true, req2.response);\r\n\t\t\t\t}\r\n }\r\n };\r\n req2.send();\r\n }\t\r\n\r\n function requestWithScript( fileName, callback) {\r\n var req2 = null;\r\n var reqString = \"\";\r\n\t\tvar currentFile = fileName;\r\n\t\tvar reqCallback = callback;\r\n\t\tvar elem;\r\n \r\n reqString = scriptName + \"?FileName=\" + currentFile;\r\n\t\t\r\n if( window.XMLHttpRequest) {\r\n req2 = new XMLHttpRequest();\r\n }\r\n else {\r\n // alert( \"Could not create request for data\");\r\n swal(\"\", \"Could not create request for data!\", \"error\");\r\n return;\r\n }\r\n\t\t\r\n req2.open( 'GET', reqString, true);\r\n\t\t\r\n req2.onload = function() {\r\n if( req2.status !== 200 || !req2.responseXML) {\r\n\t\t\t\tif( scriptName === \"fxdata.aspx\") {\r\n\t\t\t\t\tscriptName = \"fxdata.php\";\r\n\t\t\t\t\trequestWithScript( fileName, reqCallback);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tconsole.log( \"Could not access server script for resource \" + currentFile);\r\n\t\t\t\t\treqCallback( false, null);\r\n\t\t\t\t}\r\n }\r\n else {\r\n\t\t\t\telem = req2.responseXML.getElementsByTagName(\"FxResp\")[0];\r\n\t\t\t\tif( elem) {\r\n\t\t\t\t\tconsole.log( elem.textContent);\r\n\t\t\t\t\treqCallback( false, null);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treqCallback( true, req2.responseXML);\r\n\t\t\t\t}\r\n }\r\n };\r\n req2.send();\r\n }\t\r\n \r\n function sendRequest( obj) {\r\n var fileName = obj.file;\r\n var reqCallback = obj.callback;\r\n \r\n if( window.XMLHttpRequest) {\r\n req = new XMLHttpRequest();\r\n }\r\n else {\r\n // alert( \"Could not create request for data\");\r\n swal(\"\", \"Could not create request for data!\", \"error\");\r\n return;\r\n }\r\n \r\n req.open( 'GET', fileName, true);\r\n \r\n req.onload = function() {\r\n if( this.status === 200 && \r\n this.responseXML !== null && this.responseXML !== undefined ) {\r\n \r\n\t\t\t\treqCallback( true, this.responseXML);\r\n }\r\n else {\r\n console.log( \"File failed to load \" + fileName);\r\n\t\t\t\treqCallback( false, null);\r\n }\r\n };\r\n \r\n req.send();\r\n }\r\n \r\n return {\r\n load: loader,\r\n requestWithScript: requestWithScript,\r\n rptRequestWithScript: rptRequestWithScript\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n/*global console*/\r\n\r\nexpocadfx.Favorites = function() {\r\n\t'use strict';\r\n var data = expocadfx.fxData;\r\n var storage = expocadfx.localStorage.storageAvailable( \"localStorage\");\r\n \r\n var lsFavs = \"\";\r\n \r\n \r\n function init( event) {\r\n var favStr = \"\";\r\n lsFavs = event + \"_favs\";\r\n \r\n if( storage) {\r\n favStr = storage.getItem( lsFavs); // new storage\r\n if( favStr) {\r\n data.favoriteBooths = JSON.parse( favStr);\r\n }\r\n }\r\n else {\r\n console.log( \"Local storage access denied \");\r\n }\r\n }\r\n \r\n /*\r\n * For each booth number, Add exhibitor id and booth number pair to local storage\r\n * exhibitor: the id of a single exhibitor.\r\n * boothNumbers: comma separated string on booth numbers\r\n */\r\n function saveFavorite( boothNumbers, exhibitor) {\r\n var arNumbers = boothNumbers.split(\",\");\r\n var numLen = arNumbers.length;\r\n var i;\r\n var favLen;\r\n var index;\r\n var found = false;\r\n \r\n for( i = 0; i < numLen; i++) {\r\n // is pair in array ??\r\n found = false;\r\n favLen = data.favoriteBooths.length;\r\n for( index = 0; index < favLen; index++) {\r\n // is it already a fav ??\r\n if( data.favoriteBooths[index].bth === arNumbers[i] &&\r\n data.favoriteBooths[index].exh === exhibitor) {\r\n found = true;\r\n break;\r\n }\r\n }\r\n if( !found) {\r\n data.favoriteBooths.push( { bth: arNumbers[i], exh: exhibitor});\r\n }\r\n }\r\n if( storage) {\r\n storage.setItem( lsFavs, JSON.stringify( data.favoriteBooths));\r\n }\r\n else {\r\n console.log( \"Save favorite to local storage failed\"); \r\n }\r\n }\r\n \r\n /*\r\n * exhibitor: the id of a single exhibitor.\r\n * boothNumbers: comma separated string on booth numbers\r\n */\r\n function removeFavorite( boothNumbers, exhibitor) {\r\n var arNumbers = boothNumbers.split(\",\");\r\n var numLen = arNumbers.length;\r\n var i;\r\n var favLen;\r\n var index;\r\n \r\n for( i = 0; i < numLen; i++) {\r\n favLen = data.favoriteBooths.length;\r\n for( index = 0; index < favLen; index++) {\r\n if( data.favoriteBooths[index].bth === arNumbers[i] &&\r\n data.favoriteBooths[index].exh === exhibitor) {\r\n data.favoriteBooths.splice( index, 1);\r\n break;\r\n }\r\n }\r\n }\r\n \r\n if ( storage) {\r\n if( data.favoriteBooths.length === 0) {\r\n storage.removeItem( lsFavs);\r\n }\r\n else {\r\n storage.setItem( lsFavs, JSON.stringify( data.favoriteBooths));\r\n }\r\n }\r\n }\r\n \r\n function validateFavorites( booths) {\r\n // On open, make sure favorites still exist in the event\r\n // if multi-view: booths = eventBooths, else booths = data.exhibitors\r\n var numFavs = data.favoriteBooths.length;\r\n var i;\r\n var change = false;\r\n \r\n if( !storage) {\r\n return;\r\n }\r\n \r\n function favInArray( bthNum, exhId) {\r\n var index = 0;\r\n\t\t\t\r\n for( index = 0; index < booths.length; index++) {\r\n\t\t\t\tif( booths[ index].boothNumber === bthNum && booths[ index].exhId === exhId) {\r\n\t\t\t\t\tbooths[ index].favorite = true;\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n }\r\n return false;\r\n }\r\n\t\t\r\n\t\t\r\n \r\n\t\tfor( i = 0; i < numFavs; i++) {\r\n\t\t\tif( !favInArray( data.favoriteBooths[i].bth, data.favoriteBooths[i].exh, null)) {\r\n\t\t\t\tdata.favoriteBooths.splice( i, 1);\r\n\t\t\t\ti -= 1;\r\n\t\t\t\tnumFavs = data.favoriteBooths.length;\r\n\t\t\t\tchange = true;\r\n\t\t\t}\r\n\t\t}\r\n \r\n if( data.favoriteBooths.length === 0) {\r\n storage.removeItem( lsFavs);\r\n }\r\n else {\r\n if( change) {\r\n storage.setItem( lsFavs, JSON.stringify( data.favoriteBooths));\r\n }\r\n }\r\n }\r\n \r\n return {\r\n init: init,\r\n remove: removeFavorite,\r\n save: saveFavorite,\r\n validate : validateFavorites\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n/* global emailFriend, googleMapIt, aBoothEmail, rBoothEmail, aBoothWeb, rBoothWeb */\r\n\r\nexpocadfx.exhibitorInfo = function() {\r\n var data = expocadfx.fxData;\r\n var config = expocadfx.config;\r\n var txt = expocadfx.txt;\r\n var fxStyle = expocadfx.styles;\r\n var elemById = expocadfx.element.elementById;\r\n\tvar emailLink = expocadfx.emailLinkBuilder;\r\n\tvar openEmail = expocadfx.openEmail;\r\n\tvar navTo = expocadfx.util.navigateTo;\r\n var FxEvent = expocadfx.fxevent;\r\n var ExhibitorWindow = expocadfx.ExhibitorWindow;\r\n var getHeader = expocadfx.printHeader;\r\n var prtList = expocadfx.printList;\r\n\tvar util = expocadfx.util;\r\n \r\n var doc = document;\r\n var winExhibInfo = null;\r\n var table = elemById( \"exhibitorContact\");\r\n \r\n var rows = null;\r\n var adr = \"\";\r\n var loc = \"\";\r\n var i = 0;\r\n var arExh = [];\r\n var boothType = \"\";\r\n var arBoothNumbers = [];\r\n var availableBoothObj = null;\r\n var exhibitorObj = null;\r\n var currentBoothObj = null;\r\n var bInfo = elemById( \"boothInfo\");\t\t// booth links\r\n\tvar divOtherBooths = elemById( \"otherBoothLinks\");\r\n\tvar otherBoothIndexes = [];\r\n \r\n \r\n\twinExhibInfo = new ExhibitorWindow( txt, fxStyle);\r\n\twinExhibInfo.window.addEventListener( \"Dialog_Closed\", reset);\r\n\tdoc.addEventListener( \"Favorite_Change\", checkFavChange);\r\n\t\r\n\ttable = doc.getElementsByTagName( \"table\")[0]; // change name\r\n\r\n\telemById( \"hdrCnt\").innerHTML = txt.CONTACT;\r\n\telemById( \"hdrPrf\").innerHTML = txt.PROFILE;\r\n\telemById( \"hdrCat\").innerHTML = txt.CATEGORIES;\r\n\telemById( \"hdrOtherBooths\").innerHTML = txt.OTHER_BOOTHS;\r\n\t\r\n\tif( config.bMapAddress) {\r\n\t\telemById( \"mapAddr\").textContent = txt.NEW_MAP_ADDRESS;\r\n\t}\r\n\t\r\n\trows = contactTable();\r\n\r\n\trows.email.row.addEventListener( \"click\", emailLinkClickHandler);\r\n\trows.web.row.addEventListener( \"click\", webLinkClickHandler);\r\n if ( config.bPopUpShare) {\r\n elemById( \"shareEma\").addEventListener( \"click\", emailButtonClickHandler);\r\n if (location.protocol !== 'https:' && location.hostname !== \"localhost\"){\r\n elemById( \"sharePage\").addEventListener( \"click\", newPageClickHandler);\r\n\r\n } else {\r\n elemById( \"shareCop\").addEventListener( \"click\", copyButtonClickHandler);\r\n }\r\n elemById( \"shareTwi\").addEventListener( \"click\", twitterButtonClickHandler);\r\n elemById( \"shareFac\").addEventListener( \"click\", facebookButtonClickHandler);\r\n }\r\n//\tbInfo = elemById( \"boothInfo\");\r\n\t\r\n\r\n\tif( config.bPopUpPrint) {\r\n\t\telemById( \"ei_print\").addEventListener( \"click\", printExhInfo);\r\n\t}\r\n\twinExhibInfo.content.scrollTop = 0;\r\n \r\n\t\r\n \r\n function contactTable() {\r\n var row1 = elemById( \"contactRow\");\r\n var row = null;\r\n var obj = {};\r\n obj.contact = assignFields( row1, txt.CONTACT, \"contact-text\" );\r\n \r\n row = row1.cloneNode( true);\r\n obj.phone = assignFields( row, txt.PHONE, \"contact-text\" );\r\n \r\n row = row1.cloneNode( true);\r\n obj.fax = assignFields( row, txt.FAX, \"contact-text\" );\r\n \r\n row = row1.cloneNode( true);\r\n obj.email = assignFields( row, txt.EMAIL_C, \"contact-link\" );\r\n \r\n row = row1.cloneNode( true);\r\n obj.web = assignFields( row, txt.WEB_SITE, \"contact-link\" );\r\n return obj;\r\n }\r\n \r\n function assignFields( row, label, fieldClass) {\r\n var fields = row.getElementsByTagName( \"td\");\r\n fields[0].textContent = label;\r\n fields[1].setAttribute( \"class\", fieldClass);\r\n return ( { row:row, field:fields[1]});\r\n }\r\n \r\n function emailButtonClickHandler() {\r\n var num = boothType === \"Available\" ? availableBoothObj.number : arBoothNumbers.join(\",\");\r\n\t\tvar name = boothType === \"Available\" ? \"Available\" : exhibitorObj.name;\r\n var body = emailLink( num);\r\n \r\n if( !config.bUseApi || String( emailFriend( num, body, name)) === \"1\") {\r\n\t\t\topenEmail( body);\r\n }\r\n }\r\n function twitterButtonClickHandler(e) {\r\n var num = boothType === \"Available\" ? availableBoothObj.number : arBoothNumbers.join(\",\");\r\n\t\tvar name = boothType === \"Available\" ? \"Available\" : exhibitorObj.name;\r\n var body = emailLink( num);\r\n \r\n if( !config.bUseApi || String( emailFriend( num, body, name)) === \"1\") {\r\n e.preventDefault();\r\n var twitterWindow = window.open('https://twitter.com/share?url=' + body, 'twitter-popup', 'height=350,width=600');\r\n if(twitterWindow.focus) { twitterWindow.focus(); }\r\n return false;\r\n }\r\n }\r\n function facebookButtonClickHandler(e) {\r\n var num = boothType === \"Available\" ? availableBoothObj.number : arBoothNumbers.join(\",\");\r\n\t\tvar name = boothType === \"Available\" ? \"Available\" : exhibitorObj.name;\r\n var body = emailLink( num);\r\n \r\n if( !config.bUseApi || String( emailFriend( num, body, name)) === \"1\") {\r\n e.preventDefault();\r\n var facebookWindow = window.open('https://www.facebook.com/sharer/sharer.php?u=' + body, 'facebook-popup', 'height=350,width=600');\r\n if(facebookWindow.focus) { facebookWindow.focus(); }\r\n return false;\r\n }\r\n }\r\n function copyButtonClickHandler(){\r\n var num = boothType === \"Available\" ? availableBoothObj.number : arBoothNumbers.join(\",\");\r\n\t\tvar name = boothType === \"Available\" ? \"Available\" : exhibitorObj.name;\r\n var body = emailLink( num);\r\n if( !config.bUseApi || String( emailFriend( num, body, name)) === \"1\") {\r\n navigator.clipboard.writeText(body).then(function() {\r\n swal('','Link copied to Clipboard!', 'success');\r\n }, function(err) {\r\n swal('Something Went Wrong','Could not copy link!', 'error');\r\n });\r\n }\r\n }\r\n function newPageClickHandler(){\r\n var num = boothType === \"Available\" ? availableBoothObj.number : arBoothNumbers.join(\",\");\r\n\t\tvar name = boothType === \"Available\" ? \"Available\" : exhibitorObj.name;\r\n var body = emailLink( num);\r\n if( !config.bUseApi || String( emailFriend( num, body, name)) === \"1\") {\r\n window.open(body, '_blank');\r\n }\r\n }\r\n function printExhInfo() {\r\n var hdr = getHeader( config.eventTitle, config.viewTitle, config.hasMultipleViews);\r\n var info = {};\r\n info.style = \".dialog__actions{display:none}\";\r\n info.content = winExhibInfo.window.cloneNode( true);\r\n prtList( hdr, info);\r\n }\r\n \r\n function reset() {\r\n var links = bInfo.getElementsByTagName( \"p\");\r\n var i = links.length;\r\n \r\n while( i > 0) {\r\n i -= 1;\r\n links[i].removeEventListener( \"click\", boothLinkClickHandler);\r\n links[i].removeEventListener( \"mouseover\", boothLinkMouseOverHandler);\r\n links[i].removeEventListener( \"mouseout\", boothLinkMouseOutHandler);\r\n }\r\n\t\t\r\n//\t\tif( winLinkPreview) {\r\n\t\t\r\n bInfo.innerHTML = \"\";\r\n\r\n while( table.lastChild) {\r\n table.removeChild( table.lastChild);\r\n }\r\n \r\n\t\texhibitorObj = null;\r\n\t\tavailableBoothObj = null;\r\n arBoothNumbers = [];\r\n\t\totherBoothIndexes = [];\r\n\t\tdivOtherBooths.innerHTML = \"\";\r\n\t\telemById( \"hdrOtherBooths\").style.display = \"none\";\r\n elemById( \"hdrCat\").style.display = \"none\";\r\n elemById( \"txtCategories\").innerHTML = \"\";\r\n elemById( \"hdrPrf\").style.display = \"none\";\r\n elemById( \"txtProfile\").innerHTML = \"\";\r\n elemById( \"hdrCnt\").style.display = \"none\";\r\n elemById( \"addr\").innerHTML = \"\";\r\n elemById( \"exh\").innerHTML = \"\";\r\n if (config.bPopUpPrint) {\r\n elemById( \"ei_email\").style.display = \"inline-block\";\r\n }\r\n \r\n winExhibInfo.content.scrollTop = 0;\r\n elemById( \"mapAddr\").style.display = \"none\";\r\n }\r\n \r\n //////////////////////////////////// ENTRY POINT //////////////////////////////////////// \r\n function populateFromFloorPlan( bthObject) { // BOOTH CLICK !!!\r\n\t\tvar boothIndex = bthObject.index;\r\n\t\tvar len = data.displayBooths.length;\r\n\t\tvar exhibitorName = \"\";\r\n\t\tvar i = 0;\r\n\t\t\r\n reset();\t\t// need to reset in case booth changes without closing\r\n if( bthObject.status === \"0\") {\r\n boothType = \"Available\";\r\n \r\n availableBooth( bthObject);\r\n }\r\n else {\r\n boothType = \"Rented\";\r\n \r\n arExh = String(bthObject.exhibitorIndex).split( \",\");\r\n\r\n if( arExh.length > 1) {\r\n\t\t\t\tif( config.bPopUpShare) {\r\n elemById( \"ei_email\").style.display = \"none\";\r\n }\r\n multiExhibitor( bthObject);\r\n }\r\n else {\r\n\t\t\t\texhibitorName = data.exhibitors[ bthObject.exhibitorIndex].name;\r\n\t\t\t\t\t// see if exhibitor has other booths -- put them some where else !\r\n\t\t\t\tfor( i = 0; i < len; i++) {\r\n\t\t\t\t\tif( data.displayBooths[i].name === exhibitorName &&\r\n\t\t\t\t\t\t\tdata.displayBooths[i].boothNumber !== bthObject.number) {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\totherBoothIndexes.push( data.displayBooths[i].arBoothIndexes[0]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n singleExhibitor( arExh[0], boothIndex, true);\r\n }\r\n }\r\n }\r\n///////////////////////////////////////////////////// ENTRY POINT ///////////////////// \r\n function populateFromExhibitorList( exhibitorIndex, boothIndex) {\r\n\t\tvar bthObj = data.booths[ boothIndex.split( \",\")[0]];\r\n\t\t\r\n reset();\r\n\t\t\r\n\t\tif( bthObj.status === \"0\") {\r\n boothType = \"Available\";\r\n availableBooth( bthObj);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tboothType = \"Rented\";\r\n\t\t\tsingleExhibitor( exhibitorIndex, boothIndex, false);\r\n\t\t}\r\n }\r\n//////////////////////////////////////////////////////////////////////////////////////// \r\n \r\n // delay - getting event - delayed click? - when tapping booth on mobile device!\r\n function openWindow() {\r\n setTimeout( function() {\r\n winExhibInfo.window.style.display = \"block\";\r\n }, 300);\r\n }\r\n \r\n function boothLinkMouseOverHandler( evt) {\r\n doc.dispatchEvent( new FxEvent( \r\n \"Highlight_Booth\", {\"index\": evt.currentTarget.getAttribute( \"data-index\")}));\r\n }\r\n \r\n function boothLinkMouseOutHandler( evt) {\r\n doc.dispatchEvent( new FxEvent( \r\n \"Unhighlight_Booth\", {\"index\": evt.currentTarget.getAttribute( \"data-index\")}));\r\n }\r\n \r\n function boothLinkClickHandler( evt) {\r\n\t\tvar obj = null;\r\n\t\tvar index = evt.currentTarget.getAttribute( \"data-index\");\r\n\t\tvar favorite = false;\r\n\t\tvar booth = null;\r\n\t\tvar exhibitorName = \"\";\r\n\t\t\r\n\t\tif( util.hasClass( evt.target, \"icon\")) {\r\n\t\t\tfavorite = util.hasClass( evt.target, \"icon-star-filled\");\r\n\t\t\tbooth = data.booths[ index];\r\n\t\t\t\r\n\t\t\tif( !exhibitorObj) {\r\n\t\t\t\texhibitorObj = data.exhibitors[ booth.exhibitorIndex];\r\n\t\t\t}\r\n\t\t\texhibitorObj.favorite = !favorite;\r\n\t\t\t\r\n\t\t\texhibitorName = booth.status === \"0\" ? \"\" : exhibitorObj.name;\r\n\t\t\tobj = {\r\n\t\t\t\tboothIndex: index,\r\n\t\t\t\tboothNumber: booth.number,\r\n\t\t\t\texhName: exhibitorName,\r\n\t\t\t\texhId: exhibitorObj.exhId,\r\n\t\t\t\tsource: \"ExhibitorInfoDialog\",\r\n\t\t\t\tlocal: true,\r\n\t\t\t\tfav: !favorite\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\tif( favorite) {\r\n\t\t\t\tutil.removeClass( evt.target, \"icon-star-filled\");\r\n\t\t\t\tutil.addClass( evt.target, \"icon-star-outline\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tutil.removeClass( evt.target, \"icon-star-outline\");\r\n\t\t\t\tutil.addClass( evt.target, \"icon-star-filled\");\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tdoc.dispatchEvent( new FxEvent( \"Exhibitor_Info_Fav_Change\", obj));\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdoc.dispatchEvent( new FxEvent( \"Booth_Selected\", {\"boothIndex\": index}));\r\n\t\t}\r\n }\r\n \r\n function createBoothLink( bth, exhId) {\r\n var sp;\r\n\t\tvar icon = doc.createElement( \"span\");\r\n var str = doc.createElement( \"p\");\r\n str.setAttribute( \"class\", \"bthDesc\");\r\n str.setAttribute( \"data-index\", bth.index);\r\n \r\n sp = doc.createElement( \"span\");\r\n sp.textContent = txt.BOOTH + \": \" + bth.number;\r\n\t\t\r\n\t\tif( isFavorite( bth.number, exhId)) {\r\n\t\t\ticon.className = \"icon icon-star-filled\";\t\t// can not assign to 'classlist in IE11\r\n\t\t}\r\n\t\telse {\r\n\t\t\ticon.className = \"icon icon-star-outline\";\r\n\t\t}\r\n\t\tstr.appendChild( icon);\r\n str.appendChild( sp);\r\n \r\n sp = doc.createElement( \"span\");\r\n \r\n bSize = getBoothSize(bth);\r\n if(bSize.trim() != \"\"){\r\n sp.textContent = \" \" + txt.BOOTH_SIZE + \": \" + bSize;\r\n }\r\n else{\r\n sp.textContent = \"\";\r\n }\r\n \r\n str.appendChild( sp);\r\n str.addEventListener( \"click\", boothLinkClickHandler);\r\n str.addEventListener( \"mouseover\", boothLinkMouseOverHandler);\r\n str.addEventListener( \"mouseout\", boothLinkMouseOutHandler);\r\n \r\n return str;\r\n }\r\n\t\r\n\tfunction isFavorite( bthNum, exhId) {\r\n\t\tvar len = data.favoriteBooths.length;\r\n\t\tvar i = 0;\r\n\t\t\r\n\t\tfor( i = 0; i < len; i++) {\r\n\t\t\tif( data.favoriteBooths[i].bth === bthNum &&\r\n\t\t\t\tdata.favoriteBooths[i].exh === exhId) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t\r\n\tfunction checkFavChange( evt) {\r\n var links = bInfo.getElementsByTagName( \"p\");\r\n var len = links.length;\r\n\t\tvar i = 0;\r\n\t\tvar index = -1;\r\n\t\t\r\n\t\tfor( i = 0; i < len; i++) {\r\n\t\t\tindex = links[i].getAttribute( \"data-index\");\r\n\t\t\t\r\n\t\t\tif( index && data.booths[ index].number === evt.data.boothNumber) {\r\n\t\t\t\tif( evt.data.fav) {\r\n\t\t\t\t\tutil.removeClass( links[i].firstChild, \"icon-star-outline\");\r\n\t\t\t\t\tutil.addClass( links[i].firstChild, \"icon-star-filled\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tutil.removeClass( links[i].firstChild, \"icon-star-filled\");\r\n\t\t\t\t\tutil.addClass( links[i].firstChild, \"icon-star-outline\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n \r\n function singleExhibitor( exhibitorIndex, boothIndex) {\r\n var arBth = null;\r\n var i = 0;\r\n var numRows = 0;\r\n var mapItTop = 26;\r\n//\t\tvar par;\r\n var boothLink = null;\r\n currentBoothObj = null;\r\n \r\n exhibitorObj = data.exhibitors[ exhibitorIndex];\r\n \r\n if( exhibitorObj.url !== \"\") {\r\n navTo( exhibitorObj.url);\r\n return;\r\n }\r\n arBth = String( boothIndex).split( \",\");\r\n\t\t\r\n for( i = 0; i < arBth.length; i++) {\r\n currentBoothObj = data.booths[ arBth[i] ];\r\n if( currentBoothObj === undefined) {\r\n console.log( \" No current booth - index string: \" + boothIndex);\r\n }\r\n\t\t\t\r\n boothLink = createBoothLink( currentBoothObj, exhibitorObj.exhId);\r\n\t\t\t\r\n arBoothNumbers.push( currentBoothObj.number);\r\n bInfo.appendChild( boothLink);\r\n\t\t\tmapItTop += 24;\r\n }\r\n\t\t\r\n elemById( \"exh\").innerHTML = exhibitorObj.name;\r\n\r\n adr = exhibitorObj.address1 + \"
\";\r\n adr += ( exhibitorObj.address2 !== \"\") ? exhibitorObj.address2 + \"
\" : \"\";\r\n\r\n if(exhibitorObj.city !== \"\") {\r\n loc = exhibitorObj.city;\r\n loc += ( exhibitorObj.state !== \"\") ? \", \" + exhibitorObj.state : \"\";\r\n }\r\n else {\r\n loc = ( exhibitorObj.state !== \"\") ? exhibitorObj.state : \"\";\r\n }\r\n loc += ( exhibitorObj.zip !== \"\") ? \" \" + exhibitorObj.zip : \"\";\r\n\r\n adr += ( loc !== \"\") ? loc + \"
\" : \"\";\r\n adr += ( exhibitorObj.country !== \"\") ? exhibitorObj.country + \"
\" : \"\";\r\n elemById( \"addr\").innerHTML = adr;\r\n \r\n if( config.bMapAddress && exhibitorObj.address1 !== \"\") {\r\n mapItTop = Math.max(bInfo.offsetHeight + elemById( \"exh\").offsetHeight, mapItTop);\r\n \r\n elemById( \"mapAddr\").style.top = mapItTop + \"px\";\r\n elemById( \"mapAddr\").style.display = \"block\";\r\n elemById( \"mapAddr\").addEventListener( \"click\", mapHandler);\r\n }\r\n \r\n if( exhibitorObj.contact !== \"\") {\r\n rows.contact.field.innerHTML = exhibitorObj.contact;\r\n table.appendChild( rows.contact.row);\r\n numRows += 1;\r\n }\r\n if( exhibitorObj.phone !== \"\") {\r\n rows.phone.field.innerHTML = exhibitorObj.phone;\r\n table.appendChild( rows.phone.row);\r\n numRows += 1;\r\n }\r\n if( exhibitorObj.fax !== \"\") {\r\n rows.fax.field.innerHTML = exhibitorObj.fax;\r\n table.appendChild( rows.fax.row);\r\n numRows += 1;\r\n }\r\n if( exhibitorObj.email !== \"\") {\r\n rows.email.field.innerHTML = exhibitorObj.email;\r\n table.appendChild( rows.email.row);\r\n numRows += 1;\r\n }\r\n if( exhibitorObj.website !== \"\") {\r\n rows.web.field.innerHTML = exhibitorObj.website;\r\n table.appendChild( rows.web.row);\r\n numRows += 1;\r\n }\r\n if( numRows > 0) {\r\n elemById( \"hdrCnt\").style.display = \"block\";\r\n }\r\n \r\n var arr = exhibitorObj.category.split( \"x%x\");\r\n if( arr !== null && arr.length > 0 && arr[0] !== \"\") {\r\n elemById( \"hdrCat\").style.display = \"block\";\r\n elemById( \"txtCategories\").innerHTML = arr.join( \"
\");\r\n }\r\n\t\t\r\n if( exhibitorObj.profile !== \"\") {\r\n elemById( \"hdrPrf\").style.display = \"block\";\r\n elemById( \"txtProfile\").innerHTML = exhibitorObj.profile;\r\n }\r\n\t\t\r\n\t\tif( otherBoothIndexes.length > 0) {\r\n\t\t\telemById( \"hdrOtherBooths\").style.display = \"block\";\r\n\t\t\t\r\n\t\t\tfor( i = 0; i < otherBoothIndexes.length; i++) {\r\n\t\t\t\tcurrentBoothObj = data.booths[ otherBoothIndexes[i] ];\r\n\t\t\t\tif( currentBoothObj === undefined) {\r\n\t\t\t\t\tconsole.log( \" No current booth - index string: \" + boothIndex);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tboothLink = createBoothLink( currentBoothObj, exhibitorObj.exhId);\r\n\t\t\t\tdivOtherBooths.appendChild( boothLink);\r\n\t\t\t}\r\n\t\t}\r\n\r\n data.selectedRow = -1;\r\n \r\n openWindow();\r\n }\r\n \r\n function mapHandler() {\r\n var address = exhibitorObj.address1;\r\n if( !config.bUseApi || String( googleMapIt( arBoothNumbers.join(\",\"), exhibitorObj.exhId,\r\n exhibitorObj.name))) {\r\n address += \", \" + exhibitorObj.city + \", \" + exhibitorObj.state + \", \" + exhibitorObj.zip;\r\n if( exhibitorObj.country !== \"\") {\r\n address += \", \" + exhibitorObj.country;\r\n }\r\n navTo( \"http://maps.google.com/maps?q=\" +\r\n encodeURIComponent( address),\"_blank\");\r\n }\r\n }\r\n \r\n function multiExhibitor( bth) { // List each exhibitor in booth\r\n var newDiv = null;\r\n var newElem = null;\r\n var list = null;\r\n var item = null;\r\n \r\n newDiv = doc.createElement( \"div\");\r\n newElem = doc.createElement( \"h3\");\r\n newElem.textContent = \"Booth: \" + bth.number;\r\n newDiv.appendChild( newElem);\r\n newElem = doc.createElement( \"p\");\r\n newElem.textContent = \"This booth has more than one exhibitor. Please select one.\";\r\n newDiv.appendChild( newElem);\r\n list = doc.createElement( \"ul\");\r\n\r\n for( i = 0; i < arExh.length; i++) {\r\n item = doc.createElement(\"li\");\r\n item.style.fontWeight = \"bold\";\r\n item.style.textDecoration = \"underline\";\r\n item.style.cursor = \"pointer\";\r\n item.innerHTML = data.exhibitors[ arExh[i]].name;\r\n list.appendChild( item);\r\n }\r\n newDiv.appendChild( list);\r\n\r\n list.onclick = function( evt) { // CHANGE TO list.addEventListener()\r\n var exhIndex = -1;\r\n for( i = 0; i < arExh.length; i++) {\r\n if( data.exhibitors[ arExh[i]].name === htmlDecode(evt.target.innerHTML)) {\r\n exhIndex = arExh[i];\r\n break;\r\n }\r\n }\r\n if( exhIndex !== -1) {\r\n \r\n if(config.exhibitorDirectory){\r\n\r\n boothObject = bth;\r\n boothObject.selectedIndex = exhIndex;\r\n doc.dispatchEvent( new FxEvent( \"Multi_Exhibitor_Click\", boothObject));\r\n // reset();\r\n \r\n // var window = doc.getElementsByClassName(\"dialog\");\r\n // window[0].style.display = \"none\";\r\n // doc.dispatchEvent( new FxEvent( \"Dialog_Closed\", {}));\r\n\r\n return;\r\n\r\n }\r\n \r\n reset();\r\n singleExhibitor( exhIndex, bth.index, true);\r\n }\r\n else {\r\n // alert( \"Error Finding Exhibitor index\");\r\n swal(\"\", \"Error Finding Exhibitor index\", \"error\");\r\n }\r\n };\r\n bInfo.appendChild( newDiv);\r\n \r\n openWindow();\r\n }\r\n \r\n function availableBooth( bthObj) {\r\n var hasContact = false;\r\n availableBoothObj = bthObj;\r\n \r\n if( data.exhibitors[ bthObj.exhibitorIndex].url !== \"\" && config.salesMode === \"none\") {\r\n navTo( data.exhibitors[ bthObj.exhibitorIndex].url);\r\n }\r\n else {\r\n var boothLink = createBoothLink( bthObj, \"\");\r\n bInfo.appendChild( boothLink);\r\n\r\n if( bthObj.flyout !== \"\") {\r\n var p = doc.createElement( \"p\");\r\n p.innerHTML = bthObj.flyout; // allows HTML line breaks in text\r\n bInfo.appendChild( p);\r\n }\r\n\r\n elemById( \"exh\").innerHTML = txt.AVAILABLE;\r\n\r\n adr = config.availableText1;\r\n\r\n if( config.availableText2 !== \"NA\") {\r\n adr += bthObj.number + config.availableText2;\r\n }\r\n\r\n elemById( \"addr\").innerHTML = adr;\r\n if( config.contactEmail !== \"\") {\r\n rows.email.field.innerHTML = config.contactEmail;\r\n table.appendChild( rows.email.row);\r\n hasContact = true;\r\n }\r\n\r\n if( config.availableUrl !== \"\") {\r\n rows.web.field.innerHTML = config.availableUrl;\r\n table.appendChild( rows.web.row);\r\n hasContact = true;\r\n }\r\n if( hasContact) {\r\n elemById( \"hdrCnt\").style.display = \"block\";\r\n }\r\n }\r\n data.selectedRow = -1;\r\n \r\n openWindow();\r\n }\r\n\r\n function emailLinkClickHandler() {\r\n var url = \"\";\r\n var subject = encodeURIComponent(config.eventTitle);\r\n subject = (subject === \"\") ? \" \" : subject;\r\n var body = \"\";\r\n \r\n if( boothType === \"Available\") {\r\n if(!config.bUseApi || String( aBoothEmail(availableBoothObj.number, config.contactEmail) === \"1\")) {\r\n if(!config.isXML){\r\n subject = config.emailSubject0;\r\n }\r\n\r\n body = encodeURIComponent(config.emailSubject1 + availableBoothObj.number + config.emailSubject2);\r\n url = \"mailto:\" + config.contactEmail + \"?subject=\" + subject + \"&body=\" + body;\r\n \r\n window.location.href = url;\r\n }\r\n }\r\n else {\r\n if( !config.bUseApi || \r\n\t\t\t\tString( rBoothEmail( arBoothNumbers[0], exhibitorObj.exhId, exhibitorObj.email,\r\n exhibitorObj.name) === \"1\")) {\r\n url = \"mailto:\" + exhibitorObj.email + \"?subject=\" + subject;\r\n window.location.href = url;\r\n }\r\n }\r\n }\r\n \r\n function webLinkClickHandler() {\r\n if( boothType === \"Available\") {\r\n if( !config.bUseApi || String( aBoothWeb( availableBoothObj.number, config.availableUrl) === \"1\")) {\r\n navTo( config.availableUrl);\r\n }\r\n }\r\n else {\r\n if( !config.bUseApi || \r\n\t\t\t\tString( rBoothWeb( arBoothNumbers[0], exhibitorObj.exhId, exhibitorObj.website,\r\n exhibitorObj.name) === \"1\")) {\r\n navTo( exhibitorObj.website);\r\n }\r\n }\r\n }\r\n \r\n function getBoothSize( bth) {\r\n var d = \"\";\r\n var a = \"\";\r\n if( config.units === \"M\") {\r\n d = bth.dimM;\r\n a = bth.areaM;\r\n }\r\n else {\r\n d = bth.dimF;\r\n a = bth.areaF;\r\n }\r\n if( d !== \"\") {\r\n d += \" \";\r\n }\r\n return \" \" + d + a;\r\n }\r\n \r\n function htmlDecode( input ) {\r\n return String(input)\r\n .replace(/&/g, '&')\r\n .replace(/"/g, '\"')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n }\r\n \r\n function changeExhibitorName( value) {\r\n elemById( \"exh\").innerHTML = value;\r\n }\r\n \r\n return {\r\n changeExhibitorName: changeExhibitorName,\r\n populateFromExhibitorList : populateFromExhibitorList,\r\n populateFromFloorPlan : populateFromFloorPlan\r\n };\r\n};","// Last updated November 2011\r\n// By Simon Sarris\r\n// www.simonsarris.com\r\n// sarris@acm.org\r\n//\r\n// Free to use and distribute at will\r\n// So long as you are nice to people, etc\r\n\r\n// Simple class for keeping track of the current transformation matrix\r\n\r\n// For instance:\r\n// var t = new Transform();\r\n// t.rotate(5);\r\n// var m = t.m;\r\n// ctx.setTransform(m[0], m[1], m[2], m[3], m[4], m[5]);\r\n\r\n// Is equivalent to:\r\n// ctx.rotate(5);\r\n\r\n// But now you can retrieve it :)\r\n// Remember that this does not account for any CSS transforms applied to the canvas\r\n\r\nfunction Transform() {\r\n this.reset();\r\n}\r\n\r\nTransform.prototype.reset = function() {\r\n this.m = [1,0,0,1,0,0];\r\n};\r\n\r\nTransform.prototype.translate = function(x, y) {\r\n this.m[4] += this.m[0] * x + this.m[2] * y;\r\n this.m[5] += this.m[1] * x + this.m[3] * y;\r\n};\r\n\r\nTransform.prototype.scale = function(sx, sy) {\r\n this.m[0] *= sx;\r\n this.m[1] *= sx;\r\n this.m[2] *= sy;\r\n this.m[3] *= sy;\r\n};\r\n\r\nTransform.prototype.transformPoint = function(px, py) {\r\n var x = px;\r\n var y = py;\r\n px = x * this.m[0] + y * this.m[2] + this.m[4];\r\n py = x * this.m[1] + y * this.m[3] + this.m[5];\r\n return [px, py];\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n/* global expocadfx:true */\r\n// 'use strict'\r\n\r\nexpocadfx.MiniMap = function( miniMapContainer, offset) {\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n var FxEvent = expocadfx.fxevent;\r\n var elemById = expocadfx.element.elementById;\r\n var util = expocadfx.util;\r\n \r\n var doc = document;\r\n var arBooths = data.boothGraphics;\r\n \r\n var canvas = null;\r\n var ctx = null;\r\n var i = 0;\r\n var MM_SCALE = (config.MINI_MAP_WIDTH - 4) / config.DRAWING_WIDTH; // config.MINI_MAP_SCALE;\r\n var mmContainer = miniMapContainer;\r\n var mmBaseWidth = 0; // main window width - fp canvas plus offset - in drawing units\r\n var mmBaseHeight = 0;\r\n var mmLastX = 0;\r\n var mmLastY = 0;\r\n var mmMarkerX = 0;\r\n var mmMarkerY = 0;\r\n var mmMarkerW = 0;\r\n var mmMarkerH = 0;\r\n var mmUnScaledW = 0;\r\n var mmUnScaledH = 0;\r\n var mmUnScaledX = 0;\r\n var mmUnScaledY = 0;\r\n var mmMarkerDiv = doc.createElement( \"div\");\r\n var arMmCanvas = [];\r\n\t\r\n \r\n for( i = 0; i < 2; i++) {\r\n canvas = doc.createElement( \"canvas\");\r\n canvas.className = \"unselectable\";\r\n canvas.width = config.MINI_MAP_WIDTH - 4;\r\n canvas.height = Math.round( canvas.width * ( config.DRAWING_HEIGHT / config.DRAWING_WIDTH));\r\n ctx = canvas.getContext( \"2d\");\r\n ctx.textAlign = \"center\";\r\n ctx.scale( MM_SCALE, MM_SCALE);\r\n arMmCanvas.push( { canvas:canvas, ctx:ctx});\r\n\r\n mmContainer.appendChild( canvas);\r\n }\r\n\r\n mmBaseWidth = config.DRAWING_WIDTH + 2 * offset.x; // unscaled size\r\n mmBaseHeight = config.DRAWING_HEIGHT + 2 * offset.y;\r\n // calculate size of marker div and location\r\n mmUnScaledW = canvas.width * mmBaseWidth / config.DRAWING_WIDTH;\r\n mmUnScaledH = canvas.height * mmBaseHeight / config.DRAWING_HEIGHT;\r\n mmUnScaledX = -1 * offset.x * MM_SCALE;\r\n mmUnScaledY = -1 * offset.y * MM_SCALE;\r\n\r\n mmMarkerDiv.setAttribute( \"id\", \"mmMarkerDiv\");\r\n mmMarkerDiv.style.width = mmUnScaledW + \"px\";\r\n mmMarkerDiv.style.height = mmUnScaledH + \"px\";\r\n mmMarkerDiv.style.top = mmUnScaledY + \"px\";\r\n mmMarkerDiv.style.left = mmUnScaledX + \"px\";\r\n\r\n mmContainer.appendChild( mmMarkerDiv);\r\n\r\n\r\n\tfunction resize( offset) {\r\n\t\tmmBaseWidth = config.DRAWING_WIDTH + 2 * offset.x;\r\n\t\tmmBaseHeight = config.DRAWING_HEIGHT + 2 * offset.y;\r\n // current marker size\r\n mmUnScaledW = canvas.width * mmBaseWidth / config.DRAWING_WIDTH;\r\n mmUnScaledH = canvas.height * mmBaseHeight / config.DRAWING_HEIGHT;\r\n \r\n mmMarkerDiv.style.width = mmUnScaledW + \"px\";\r\n mmMarkerDiv.style.height = mmUnScaledH + \"px\";\r\n }\r\n \r\n\t\t\t// CALLED FROM fp.drawFloorPlan();\r\n function setupMiniMap() {\r\n var numPavilions = data.pavilions.length;\r\n var numBooths = arBooths.length;\r\n var i = 0;\r\n \r\n for( i = 0; i < numPavilions; i++) {\r\n drawBooth( data.pavilions[i], arMmCanvas[1].ctx);\r\n }\r\n \r\n for( i = 0; i < numBooths; i++) {\r\n drawBooth( arBooths[i], arMmCanvas[1].ctx);\r\n }\r\n \r\n mmMarkerW = mmBaseWidth;\r\n mmMarkerH = mmBaseHeight;\r\n \r\n mmMarkerX = ( config.DRAWING_WIDTH / 2) - 0.5 * mmMarkerW;\r\n mmMarkerY = ( config.DRAWING_HEIGHT / 2) - 0.5 * mmMarkerH;\r\n \r\n doc.addEventListener( \"Floor_Plan_Change\", floorPlanChangeHandler);\r\n \r\n if( config.bMiniMapOpen) {\r\n elemById( \"minimap\").style.display = \"block\";\r\n }\r\n }\r\n \r\n function enableNavigation() {\r\n mmMarkerDiv.addEventListener( \"mousedown\", mmMouseDown);\r\n mmMarkerDiv.addEventListener( \"touchstart\", mmTouchStart);\r\n util.addClass( mmMarkerDiv, \"mm-nav\");\r\n \r\n }\r\n \r\n function disableNavigation() {\r\n mmMarkerDiv.removeEventListener( \"mousedown\", mmMouseDown);\r\n mmMarkerDiv.removeEventListener( \"touchstart\", mmTouchStart);\r\n util.removeClass( mmMarkerDiv, \"mm-nav\");\r\n }\r\n \r\n function floorPlanChangeHandler( evt) {\r\n updateMiniMap( evt.data.ratio, evt.data.x, evt.data.y);\r\n }\r\n \r\n function updateMiniMap( ratio, centerX, centerY) {\r\n // ratio of initial scale to current scale\r\n if( mmMarkerDiv && arMmCanvas.length > 0) {\r\n // size of rect must reflect the size of browser window\r\n mmMarkerW = mmBaseWidth * ratio * MM_SCALE;\r\n mmMarkerH = mmBaseHeight * ratio * MM_SCALE;\r\n \r\n mmMarkerW = Math.max( mmUnScaledW * ratio, 85);\r\n mmMarkerH = Math.max( mmUnScaledH * ratio, 46);\r\n\r\n mmMarkerX = (centerX * MM_SCALE) - (0.5 * mmMarkerW);\r\n mmMarkerY = (centerY * MM_SCALE) - (0.5 * mmMarkerH);\r\n \r\n mmMarkerDiv.style.width = mmMarkerW + \"px\";\r\n mmMarkerDiv.style.height = mmMarkerH + \"px\";\r\n\r\n mmMarkerDiv.style.left = mmMarkerX + \"px\";\r\n mmMarkerDiv.style.top = mmMarkerY + \"px\";\r\n }\r\n }\r\n\t\t\r\n function drawBooth( obj, context) { // pavilions, graphics, and booths in firefox\r\n var i;\r\n if( !obj.path || obj.type === \"C\" || obj.type === \"A\") {\r\n return;\r\n }\r\n var len = obj.path.length;\r\n context.save();\r\n context.globalAlpha = obj.opacity;\r\n context.strokeStyle = obj.strokeColor;\r\n context.lineWidth = obj.linewidth/2;\r\n context.fillStyle = obj.fillColor;\r\n context.beginPath();\r\n context.moveTo( obj.path[0].x, obj.path[0].y);\r\n for( i = 1; i < len; i += 1) {\r\n context.lineTo( obj.path[i].x, obj.path[i].y);\r\n }\r\n if( obj.type !== \"F\") {\r\n context.closePath();\r\n if( obj.type === \"T\") {\r\n context.fillStyle = obj.fillColor;\r\n }\r\n context.fill();\r\n context.stroke();\r\n }\r\n else {\r\n context.stroke();\r\n }\r\n context.restore();\r\n }\r\n \r\n function addBuildingImage( image) {\r\n arMmCanvas[0].ctx.drawImage( image, 0, 0, config.DRAWING_WIDTH,\r\n config.DRAWING_HEIGHT);\r\n }\r\n \r\n// if ( window.PointerEvent) {\r\n \r\n function mmMouseDown( evt) {\r\n util.addClass( mmMarkerDiv, \"mm-down\");\r\n mmContainer.addEventListener( \"mousemove\", mmMouseMove);\r\n mmContainer.addEventListener( \"mouseup\", mmMouseUp);\r\n mmContainer.addEventListener( \"mouseout\", mmMouseUp);\r\n mmLastX = evt.clientX;\r\n mmLastY = evt.clientY;\r\n }\r\n \r\n function mmMouseMove( evt) {\r\n var dx = ( mmLastX - evt.clientX) / MM_SCALE;\r\n var dy = ( mmLastY - evt.clientY) / MM_SCALE;\r\n \r\n doc.dispatchEvent( new FxEvent( \"Mini_Map_Change\", { x:dx, y:dy}));\r\n \r\n mmLastX = evt.clientX;\r\n mmLastY = evt.clientY;\r\n }\r\n \r\n function mmMouseUp() {\r\n util.removeClass( mmMarkerDiv, \"mm-down\");\r\n mmContainer.removeEventListener( \"mousemove\", mmMouseMove);\r\n mmContainer.removeEventListener( \"mouseup\", mmMouseUp);\r\n mmContainer.removeEventListener( \"mouseout\", mmMouseUp);\r\n }\r\n \r\n function mmTouchStart( evt) {\r\n evt.preventDefault();\r\n util.addClass( mmMarkerDiv, \"mm-down\");\r\n mmContainer.addEventListener( \"touchmove\", mmTouchMove);\r\n mmContainer.addEventListener( \"touchend\", mmTouchEnd);\r\n mmLastX = evt.touches[0].clientX;\r\n mmLastY = evt.touches[0].clientY;\r\n }\r\n \r\n function mmTouchMove( evt) {\r\n var dx = ( mmLastX - evt.touches[0].clientX) / MM_SCALE;\r\n var dy = ( mmLastY - evt.touches[0].clientY) / MM_SCALE;\r\n \r\n doc.dispatchEvent( new FxEvent( \"Mini_Map_Change\", { x:dx, y:dy}));\r\n \r\n mmLastX = evt.touches[0].clientX;\r\n mmLastY = evt.touches[0].clientY;\r\n }\r\n \r\n function mmTouchEnd() {\r\n util.removeClass( mmMarkerDiv, \"mm-down\");\r\n mmContainer.removeEventListener( \"touchmove\", mmTouchMove);\r\n mmContainer.removeEventListener( \"touchend\", mmTouchEnd);\r\n }\r\n\t\r\n\t\r\n return {\r\n addBuilding: addBuildingImage,\r\n disableNavigation: disableNavigation,\r\n enableNavigation: enableNavigation,\r\n\t\tresize: resize,\r\n\t\tsetup: setupMiniMap\r\n\t};\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n/* global expocadfx, Transform*/\r\n\r\n\r\nexpocadfx.Drawing = function() {\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n var elemById = expocadfx.element.elementById;\r\n var FxEvent = expocadfx.fxevent;\r\n var util = expocadfx.util;\r\n var mtx = new Transform();\r\n \r\n var doc = document;\r\n var mouseY = screenY;\r\n var mouseX = screenX;\r\n var arBoothGraphics = data.boothGraphics;\r\n \r\n var arFavorites = data.favoriteMarks2d;\r\n var arHighlight = [];\r\n var arSelected = data.selected2d;\r\n var arOutline = [];\r\n var arOutlineParams = [];\r\n var arCanvas = [];\r\n \r\n var boothContext = null;\r\n\tvar boothTextContext = null;\r\n var fitScale = 0;\r\n var centerX = 0; // floor plan point that is at the center of the window\r\n var centerY =0;\r\n var bBuildingJpegReady = false;\r\n var buildingImage = null;\r\n var initialOffsetX = 0;\r\n var initialOffsetY = 0;\r\n var iAmHereSymbol = null;\r\n var iAmHereText = \"\";\r\n var activeWaypath = null;\r\n // keep track of array lengths outside of loop\r\n var numBooths = 0;\r\n var numFavorites = 0;\r\n \r\n var updateNeeded = true;\r\n\tvar updateTimer = null;\r\n var lastDrawTime = 0;\r\n var loopStarted = false;\r\n var numSelectAnimate = 0;\r\n \r\n var effectInProgress = false;\r\n var zooming = false;\r\n var panning = false;\r\n var zoomFinalScale = 0.0;\r\n var zoomChange = 0;\r\n var ZOOM_RATE = 0.001;\r\n var zoomStepSize = 0.0;\r\n var lastStepTime = 0;\r\n \r\n var panFinalX = 0;\r\n var panFinalY = 0;\r\n var panDist;\r\n var panSin;\r\n var panCos;\r\n \r\n var BASE = 0;\r\n var BOOTH = 1;\r\n var MARKER = 2;\r\n var BOOTH_TEXT = 3;\r\n \r\n var pointerAt = {};\r\n// var throb = 2;\r\n\tvar isReady = false;\r\n\tvar i = 0;\r\n\tvar canvas = null;\r\n\tvar ctx = null;\r\n\t\r\n\tvar pdf = null;\r\n\t\r\n var containerWidth = elemById( \"floorplan\").clientWidth;\r\n var containerHeight = elemById( \"floorplan\").clientHeight;\r\n\tvar container = elemById( \"fpContainer\");\r\n\t\r\n\tcontainer.style.backgroundColor = config.clrBackground; // move to setup !\r\n\r\n\tcenterX = config.DRAWING_WIDTH / 2;\r\n\tcenterY = config.DRAWING_HEIGHT / 2;\r\n\r\n\tfitScale = calculateScale();\r\n\t\t// create a canvas for each 'layer'\r\n\tfor( i = 0; i < 4; i++) {\r\n\t\tcanvas = doc.createElement( \"canvas\");\r\n\t\tcanvas.width = containerWidth;\r\n\t\tcanvas.height = containerHeight;\r\n\t\tctx = canvas.getContext( \"2d\");\r\n\t\tctx.textAlign = \"center\";\r\n\t\tarCanvas.push( {\"canvas\":canvas, \"ctx\":ctx});\r\n\r\n container.appendChild( canvas);\r\n\t}\r\n\tboothContext = arCanvas[BOOTH].ctx;\r\n\tboothTextContext = arCanvas[BOOTH_TEXT].ctx;\r\n\t\r\n\tcalculateInitialOffset();\r\n\tfitDrawing();\r\n \r\n \r\n function addBuilding( image) {\r\n buildingImage = image;\r\n bBuildingJpegReady = true;\r\n updateNeeded = true;\r\n }\r\n\r\n function completeSetup() {\r\n\t\tdata.boothGraphics.forEach( function( graphic) {\r\n setBoothFillStyle( graphic);\r\n });\r\n drawFloorPlan();\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Floor_Plan_Ready\", null));\r\n\t\tisReady = true;\r\n document.addEventListener( \"Draw_Waypath\", drawWayFinderPath);\r\n }\r\n \r\n function setBoothFillStyle( graphic) {\t// set 2d fillStyle !!\r\n if( config.bBoothGradient) {\r\n if( graphic.fillColor !== \"\") {\r\n graphic.fillStyle = createBoothGradient( graphic);\r\n graphic.displayColor = graphic.fillStyle;\r\n }\r\n }\r\n else {\r\n graphic.fillStyle = graphic.fillColor;\r\n }\r\n }\r\n\r\n function enableEvents() {\r\n document.addEventListener( \"Mini_Map_Change\", miniMapHandler);\r\n }\r\n \r\n function disableEvents() {\r\n document.removeEventListener( \"Mini_Map_Change\", miniMapHandler);\r\n }\r\n \r\n function createBoothGradient( obj) {\r\n var grad = boothContext.createLinearGradient( obj.maxX, obj.maxY, obj.minX, obj.minY);\r\n grad.addColorStop( 0, obj.fillColor);\r\n grad.addColorStop( 0.8, config.clrBoothBase);\r\n return grad;\r\n }\r\n \r\n function calculateScale() {\r\n return Math.min( containerWidth / config.DRAWING_WIDTH,\r\n containerHeight / config.DRAWING_HEIGHT);\r\n }\r\n \r\n function calculateInitialOffset() {\r\n initialOffsetX = ( containerWidth / fitScale - config.DRAWING_WIDTH) / 2;\r\n initialOffsetY = ( containerHeight / fitScale - config.DRAWING_HEIGHT) / 2;\r\n }\r\n \r\n function fitDrawing() { \r\n var i = 0;\r\n mtx= new Transform();\r\n mtx.scale( fitScale, fitScale);\r\n mtx.translate( initialOffsetX, initialOffsetY);\r\n\t\t\r\n for( i = 0; i < 4; i++) {\r\n arCanvas[i].ctx.setTransform( mtx.m[0], mtx.m[1], mtx.m[2], mtx.m[0], mtx.m[4], mtx.m[5]);\r\n }\r\n centerX = config.DRAWING_WIDTH / 2;\r\n centerY = config.DRAWING_HEIGHT / 2;\r\n updateNeeded = true;\r\n }\r\n \r\n function resizeHandler() {\r\n var currentCenterX = centerX;\r\n var currentCenterY = centerY;\r\n var dw = 0;\r\n var dh = 0;\r\n \r\n var oldWidth = containerWidth;\r\n var oldHeight = containerHeight;\r\n var oldFitScale = fitScale;\r\n \r\n\t\tvar currentScale = mtx.m[0];\r\n var m1 = mtx.m[1]; // y skew\r\n var m2 = mtx.m[2]; // x skew\r\n var m4 = mtx.m[4]; // x translation\r\n var m5 = mtx.m[5]; // y translation\r\n var i = 0;\r\n \r\n \r\n containerWidth = container.clientWidth;\r\n containerHeight = container.clientHeight;\r\n fitScale = calculateScale();\r\n \r\n calculateInitialOffset();\r\n\t\r\n for( i = 0; i < 4; i++) {\r\n arCanvas[i].canvas.width = containerWidth;\r\n arCanvas[i].canvas.height = containerHeight;\r\n }\r\n \r\n if( currentScale === oldFitScale && centerX === config.DRAWING_WIDTH/2 &&\r\n centerY === config.DRAWING_HEIGHT/2) {\r\n fitDrawing();\r\n }\r\n else if( centerX === config.DRAWING_WIDTH / 2 && centerY === config.DRAWING_HEIGHT / 2) {\r\n if( currentScale > fitScale) {\r\n fitDrawing();\r\n adjustZoomToScale( currentScale / mtx.m[0]); // mtx after fitting drawing\r\n }\r\n else {\r\n fitDrawing();\r\n }\r\n }\r\n else { // scale change and/or drawing has been translated !!\r\n dw = (oldWidth - containerWidth) / 2; // change in screen pixels\r\n dh = (oldHeight - containerHeight) / 2;\r\n \r\n dw = Math.round( dw / currentScale); // change in drawing pixels\r\n dh = Math.round( dh / currentScale); \r\n \r\n if( fitScale < currentScale) {\r\n for( i = 0; i < 4; i++) {\r\n arCanvas[i].ctx.setTransform( currentScale, m1, m2, currentScale, m4, m5);\r\n }\r\n moveCanvas( -dw, -dh);\r\n updateNeeded = true;\r\n }\r\n else {\r\n fitDrawing();\r\n moveCanvas( centerX - currentCenterX, centerY - currentCenterY);\r\n }\r\n centerX = currentCenterX;\r\n centerY = currentCenterY;\r\n }\r\n \r\n return { x: initialOffsetX, y: initialOffsetY};\r\n }\r\n\r\n function adjustZoomToScale( scale) {\r\n var i = 0;\r\n\r\n mtx.translate( centerX, centerY);\r\n mtx.scale(scale, scale);\r\n mtx.translate( -centerX, -centerY);\r\n for( i = 0; i < 4; i++) {\r\n arCanvas[i].ctx.translate( centerX, centerY);\r\n arCanvas[i].ctx.scale(scale, scale);\r\n arCanvas[i].ctx.translate( -centerX, -centerY);\r\n }\r\n updateNeeded = true;\r\n }\r\n\r\n elemById('floorplan').addEventListener('mousemove', function(evt){\r\n mouseY = evt.clientY;\r\n mouseX = evt.clientX\r\n\r\n // Green Circle center point for debugging!\r\n // var radius = 70;\r\n\r\n // ctx.beginPath();\r\n // ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);\r\n // ctx.fillStyle = 'green';\r\n // ctx.fill();\r\n // ctx.lineWidth = 500;\r\n // ctx.strokeStyle = '#003300';\r\n // ctx.stroke(); \r\n })\r\n\r\n function adjustScaleToCursor( scale) {\r\n var i = 0;\r\n var pt = globalToFloorPlan( { \"x\":mouseX, \"y\":mouseY});\r\n\r\n mtx.translate( pt.x,pt.y);\r\n mtx.scale(scale, scale);\r\n mtx.translate( -pt.x,-pt.y);\r\n\r\n for( i = 0; i < 4; i++) { \r\n arCanvas[i].ctx.translate( pt.x,pt.y);\r\n arCanvas[i].ctx.scale(scale, scale);\r\n arCanvas[i].ctx.translate( -pt.x,-pt.y);\r\n }\r\n\r\n centerX = pt.x + (centerX - pt.x) / scale;\r\n centerY = pt.y + (centerY - pt.y) / scale;\r\n \r\n updateNeeded = true;\r\n }\r\n \r\n function hitTest( screenX, screenY) {\r\n // need to allow for scale, offset, and header height !!!\r\n var hitObj = null;\r\n var len = data.arOverlays.length;\r\n var i = 0;\r\n var overlay = null;\r\n var booth = null;\r\n var pt = globalToFloorPlan( { \"x\":screenX, \"y\":screenY});\r\n\t\t\r\n\t\tnumBooths = data.boothGraphics.length;\r\n for( i = 0; i < numBooths; i++) {\r\n booth = arBoothGraphics[i];\r\n if( booth.status !== 4) {\r\n if( pt.x >= booth.minX &&\r\n pt.x <= booth.maxX &&\r\n pt.y >= booth.minY &&\r\n pt.y <= booth.maxY) {\r\n // test that x,y is inside booth, not just bounding box\r\n\r\n if( booth.path !== null) {\r\n if( isInObject( booth, screenX, screenY)) {\r\n hitObj = data.booths[ booth.index];\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if( hitObj === null) {\r\n for( i = 0; i < len; i++) {\r\n overlay = data.arOverlays[i];\r\n if( overlay.ready) {\r\n if( pt.x >= overlay.minX && pt.x <= overlay.maxX &&\r\n pt.y >= overlay.minY && pt.y <= overlay.maxY) {\r\n hitObj = overlay;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return hitObj;\r\n }\r\n \r\n function globalToFloorPlan( gPt) {\r\n var lPt = {};\r\n lPt.x = Math.round( ( gPt.x - mtx.m[4]) / mtx.m[0]);\r\n lPt.y = Math.round( ( gPt.y - mtx.m[5]) / mtx.m[0]);\r\n //ctx.fillRect(lPt.x, lPt.y,1,1);\r\n\r\n return lPt;\r\n }\r\n \r\n function floorPlanToGlobal( lPt) {\r\n var gPt = {};\r\n gPt.x = lPt.x * mtx.m[0] + mtx.m[4];\r\n gPt.y = lPt.y * mtx.m[0] + mtx.m[5];\r\n return gPt;\r\n }\r\n \r\n function ajaxCall(url, mthd, data) {\r\n $.ajax({\r\n url: url,\r\n contentType: \"text/plain; charset=utf-8\",\r\n processData: false,\r\n method: mthd,\r\n data: data,\r\n dataType: \"text\",\r\n success: function () {\r\n console.log(\"yay\");\r\n },\r\n error: handleError(),\r\n });\r\n }\r\n function handleError(e) {\r\n console.log(e);\r\n }\r\n //should I store this somewhere else, along with other JSON schemas...\r\n\r\n // var coordsObj = `{\r\n // \"coordinates\": {\r\n // \"Geometry\": {\r\n // \"CoordinateSystemId\": 4326,\r\n // \"WellKnownText\": \"\"\r\n // }\r\n // },\r\n // \"start_point\": null,\r\n // \"rotation_degrees\": null\r\n // }`;\r\n\r\n // refactor to allow for rectangles\r\n function getCornersOfSquare(x, y, side) {\r\n var ret = [];\r\n ret.push(x + \" \" + y);\r\n\r\n ret.push(x + \" \" + (y + (side * 19.25)));\r\n ret.push(x + side * 19.25 + \" \" + (y + (side * 19.25)));\r\n ret.push(x + side * 19.25 + \" \" + y);\r\n\r\n ret.push(x + \" \" + y);\r\n return ret;\r\n }\r\n\r\n function pointerDownAt( pointerX, PointerY) {\r\n pointerAt = globalToFloorPlan( { x:pointerX, y:PointerY});\r\n\r\n \r\n // var clickToDrawBooth = false;\r\n // if (clickToDrawBooth) {\r\n // ctx.beginPath();\r\n // ctx.lineWidth = \"1\";\r\n // ctx.strokeStyle = \"red\";\r\n // // convert to 10 x 10\r\n // ctx.fillStyle = \"rgba(255, 99, 71, 0.2)\";\r\n // ctx.fillRect(pointerAt.x, pointerAt.y, 10 * 19.25, 10 * 19.25);\r\n // var theCoords = getCornersOfSquare(pointerAt.x, pointerAt.y, 10);\r\n \r\n // var polyCoordsStr = \"POLYGON ((\";\r\n // for (var i = 0; i < theCoords.length; i++) {\r\n // for (var j = 0; j < theCoords[i].length; j++) {\r\n // polyCoordsStr += theCoords[i][j] + \" \";\r\n // }\r\n // if (i != theCoords.length - 1) {\r\n // polyCoordsStr += \", \"\r\n // }\r\n // }\r\n // polyCoordsStr += \"))\";\r\n \r\n // var tempJSON = JSON.parse(coordsObj);\r\n\r\n // tempJSON.coordinates.Geometry.WellKnownText = polyCoordsStr;\r\n // coordsObj = JSON.stringify(tempJSON);\r\n // ajaxCall(\"http://localhost:52953/api/booth_coords/Create/\", \"POST\", coordsObj)\r\n // ctx.stroke();\r\n //}\r\n\r\n // var gridBooth = true;\r\n // // add event listener for this...\r\n // var sideLen = document.getElementById(\"sideLength\").value;\r\n // var gWidth = document.getElementById(\"gWidth\").value;\r\n // var gHeight = document.getElementById(\"gHeight\").value;\r\n // var vOffset = document.getElementById(\"vOffset\").value;\r\n \r\n // if (gridBooth) {\r\n // if (vOffset == \"\") {\r\n // drawGridOfBooths(sideLen, gWidth, gHeight);\r\n // }\r\n // if (vOffset != \"\") {\r\n // drawGridOfBooths(sideLen, gWidth, gHeight, vOffset);\r\n // }\r\n // }\r\n }\r\n \r\n // accepts side length of booth (square only as of now),width and height of grid\r\n // only allow one instance on screen at once.. add counter\r\n // offset for making columns or rows\r\n // function drawGridOfBooths(sideLen, wdth, height, offset) {\r\n // if (sideLen / sideLen !== 1) {\r\n // // square only.\r\n // return;\r\n // }\r\n // if (wdth < 1 || height < 1) {\r\n // return;\r\n // }\r\n // // don't allow too many booths\r\n // if (wdth * height > 400) {\r\n // return;\r\n // }\r\n // var retJSON = [];\r\n // var tempJSON = JSON.parse(coordsObj);\r\n \r\n // ctx.lineWidth = \"2\";\r\n // ctx.strokeStyle = \"black\";\r\n // ctx.fillStyle = \"rgba(20, 20, 150, .2)\";\r\n // for (var h = 0; h < height; h++) {\r\n // for (var w = 0; w < wdth; w++) {\r\n // var startX = pointerAt.x + (sideLen * 19.25 * w);\r\n // var startY = pointerAt.y - (sideLen * 19.25 * h);\r\n\r\n // //maybe only allow columns and rows, but not 'checkerboard' spaced-out booths... probably not common?\r\n // if (offset) {\r\n // // not sure if it makes sense to add to canvas here, or store and draw elsewhere...\r\n // ctx.fillRect(startX + (offset * 19.25 * w), pointerAt.y - (sideLen * 19.25 * h), sideLen * 19.25, sideLen * 19.25);\r\n // ctx.strokeRect(startX + (offset * 19.25 * w), pointerAt.y - (sideLen * 19.25 * h), sideLen * 19.25, sideLen * 19.25);\r\n\r\n // var temp = getCornersOfSquare(startX + (offset * 19.25 * w), startY, 10);\r\n // tempJSON.coordinates.Geometry.WellKnownText = \"POLYGON((\" + temp + \"))\";\r\n // coordsObj = JSON.stringify(tempJSON);\r\n // retJSON.push(coordsObj);\r\n // } if (!offset) {\r\n \r\n // ctx.fillRect(startX, startY, sideLen * 19.25, sideLen * 19.25);\r\n // ctx.strokeRect(startX, startY, sideLen * 19.25, sideLen * 19.25);\r\n \r\n // var temp = getCornersOfSquare(startX, startY, 10);\r\n // tempJSON.coordinates.Geometry.WellKnownText = \"POLYGON((\" + temp + \"))\";\r\n // coordsObj = JSON.stringify(tempJSON);\r\n // retJSON.push(coordsObj);\r\n // }\r\n // }\r\n // }\r\n // ajaxCall(\"http://localhost:52953/api/booth_coords/CreateMany/\", \"POST\", JSON.stringify(retJSON))\r\n // }\r\n \r\n function dragTo( pointerX, pointerY) {\r\n var pt = globalToFloorPlan( { x:pointerX, y:pointerY});\r\n moveCanvas( pt.x - pointerAt.x, pt.y - pointerAt.y);\r\n }\r\n \r\n function removeBoothText( bth) {\r\n var graphic = arBoothGraphics[ bth.index];\r\n \r\n if( graphic) {\r\n graphic.text = [];\r\n\t\t\tgraphic.dimensionText = [];\r\n updateNeeded = true;\r\n }\r\n }\r\n \r\n function addGraphic( graphic) {\r\n data.pavilions.push( graphic);\r\n }\r\n \r\n function addOverlays() {\r\n var numOverlays = data.arOverlays.length;\r\n var i = 0;\r\n var checkMinMax = util.updateMinMax;\r\n var overlay = null;\r\n var xc = 0;\r\n var yc = 0;\r\n var x1 = 0;\r\n var y1 = 0;\r\n var r1 = 0;\r\n var r3 = 0;\r\n var r2 = 0;\r\n var t2 = 45 * Math.PI/180;\r\n var t3 = 90 * Math.PI/180;\r\n \r\n \r\n for( i = 0; i < numOverlays; i++) {\r\n overlay = data.arOverlays[i];\r\n if( overlay.ready) {\r\n xc = Number(overlay.x);\r\n yc = Number(overlay.y);\r\n\r\n overlay.minX = overlay.maxX = xc;\r\n overlay.minY = overlay.maxY = yc;\r\n\r\n r1 = overlay.w;\r\n r3 = overlay.h;\r\n r2 = Math.sqrt( r1 * r1 + r3 * r3);\r\n \r\n overlay.ready = true;\r\n\r\n // create a path array ( if navTo or zoomTo have a value?) for hit test\r\n overlay.path.push( {\"x\": xc, \"y\": yc} );\r\n checkMinMax( overlay, xc, yc);\r\n\r\n x1 = xc + r1 * Math.cos( overlay.rot);\r\n y1 = yc + r1 * Math.sin( overlay.rot);\r\n overlay.path.push( {\"x\": x1, \"y\": y1} );\r\n checkMinMax( overlay, x1, y1);\r\n\r\n x1 = xc + r2 * Math.cos( overlay.rot + t2);\r\n y1 = yc + r2 * Math.sin( overlay.rot + t2);\r\n overlay.path.push( {\"x\": x1, \"y\": y1} );\r\n checkMinMax( overlay, x1, y1);\r\n\r\n x1 = xc + r3 * Math.cos( overlay.rot + t3);\r\n y1 = yc + r3 * Math.sin( overlay.rot + t3);\r\n overlay.path.push( {\"x\": x1, \"y\": y1} );\r\n checkMinMax( overlay, x1, y1);\r\n }\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function highlightBooth( boothIndex) {\r\n \r\n if( data.hatchedBooths == true){\r\n return;\r\n }\r\n \r\n var arTemp = boothIndex === -1 ? [] : String(boothIndex).split( \",\");\r\n var i = 0;\r\n var graphic = null;\r\n // remove existing highlights\r\n if( arHighlight.length > 0) {\r\n for( i = 0; i < arHighlight.length; i++) {\r\n graphic = arBoothGraphics[ arHighlight[i]];\r\n \r\n graphic.displayColor = graphic.fillStyle;\r\n }\r\n }\r\n \r\n if( boothIndex !== \"-1\") {\r\n for( i = 0; i < arTemp.length; i++) {\r\n graphic = arBoothGraphics[ arTemp[i]];\r\n if( graphic) {\r\n graphic.displayColor = config.clrHighlight;\r\n // Play with increasing the size of booth on hover, then reset\r\n // for( p = 0; p < graphic.path.length; p++){\r\n // graphic.path[p].x += 10;\r\n // graphic.path[p].y += 10; \r\n // }\r\n }\r\n }\r\n }\r\n arHighlight = ( boothIndex !== \"-1\") ? arTemp : [];\r\n updateNeeded = true;\r\n }\r\n \r\n function markSelected( graphicObj) {\r\n graphicObj.selected = true;\r\n arSelected.push( createSelectedMark( graphicObj, config.clrSelected));\r\n numSelectAnimate += 1;\r\n }\r\n \r\n function removeSelected( graphic) {\r\n var len = arSelected.length;\r\n var i;\r\n for( i = 0; i < len; i++) {\r\n if( arSelected[i].index === graphic.index) {\r\n arSelected.splice( i, 1);\r\n break;\r\n }\r\n }\r\n graphic.selected = false;\r\n updateNeeded = true;\r\n }\r\n \r\n function removeAllSelected() {\r\n var mark;\r\n while( arSelected.length > 0) {\r\n mark= arSelected.pop();\r\n data.boothGraphics[ mark.index].selected = false;\r\n }\r\n numSelectAnimate = 0;\r\n\r\n // Remove active waypath when clear icon is clicked\r\n if( activeWaypath){\r\n activeWaypath = null;\r\n clearIAmHere();\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function updateSelected( ar) {\r\n var len = ar.length;\r\n var i;\r\n \r\n for( i = 0; i < len; i++) {\r\n markSelected( data.boothGraphics[ ar[i].index] );\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function createSelectedMark( bthGraphic, color) {\r\n var halfWidth = 0.5 * ( bthGraphic.maxX - bthGraphic.minX);\r\n var halfHeight = 0.5 * ( bthGraphic.maxY - bthGraphic.minY);\r\n var radX = Math.round(Math.sqrt( halfWidth * halfWidth + halfHeight * halfHeight));\r\n \r\n var mark = {\r\n index: bthGraphic.index,\r\n x: bthGraphic.minX + halfWidth,\r\n y: bthGraphic.minY + halfHeight,\r\n radius: radX,\r\n startAngle: 0,\r\n endAngle: 0,\r\n strokeColor: color,\r\n\t\t\tanticlockwise: false\r\n }; \r\n return mark; \r\n }\r\n \r\n function markFavorite( boothIndex) {\r\n var arTemp = String( boothIndex).split( \",\");\r\n var len = arTemp.length;\r\n var i;\r\n var mark = null;\r\n\t\t\r\n for( i = 0; i < len; i++) {\r\n\t\t\t\t// if not already marked !\r\n\t\t\tif( util.arrayFind( arFavorites, \"index\", Number(arTemp[i])) === null) {\r\n\t\t\t\tmark = createMark( arBoothGraphics[ arTemp[i]], config.FAVORITE_CHARACTER_CODE,\r\n\t\t\t\t\t\t\t\t\tconfig.clrHighlight);\r\n\t\t\t\tarFavorites.push( mark);\r\n\t\t\t\tnumFavorites += 1;\r\n\t\t\t\t\r\n\t\t\t}\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function removeFavorite( boothIndex) {\r\n var len = arFavorites.length;\r\n var i;\r\n var index = parseInt( boothIndex, 10);\r\n\t\t\r\n for( i = 0; i < len; i++) {\r\n if( Number(arFavorites[i].index) === Number(index)) {\r\n arFavorites.splice( i, 1);\r\n numFavorites -= 1;\r\n updateNeeded = true;\r\n break;\r\n }\r\n }\r\n }\r\n \r\n function addToOutline( obj, color, width) {\r\n var index = arOutline.indexOf( obj);\r\n if( index === -1) {\r\n arOutline.push( obj);\r\n arOutlineParams.push( {\"color\": color, \"width\": width});\r\n }\r\n }\r\n \r\n function removeFromOutline( obj) {\r\n if( obj === null) {\r\n arOutlineParams = [];\r\n arOutline = [];\r\n }\r\n else {\r\n var index = arOutline.indexOf( obj);\r\n if( index !== -1) {\r\n arOutlineParams.splice( index, 1);\r\n arOutline.splice( index, 1);\r\n }\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function createMark( boothObj, code, color) {\r\n var bthWidth = boothObj.maxX - boothObj.minX;\r\n var bthHeight = boothObj.maxY - boothObj.minY;\r\n var font = \"700 \" + (config.scaleFactor / 0.8) + \"px 'Font Awesome 5 Free'\";\t\t\t// NO BOLD Font Awesome 5 Free or iOS draws 2 marks\r\n // font size needs to be set based on fit scale ( and zoom amount?)\r\n var mark = {\r\n index: boothObj.index,\r\n x: boothObj.minX + 0.5 * bthWidth,\r\n y: boothObj.minY + 0.5 * bthHeight,\r\n rotation: 0,\r\n\t\t\tdRot: 0,\t\t// for pdf output\r\n text: String.fromCharCode( code),\r\n fontSize: config.scaleFactor / 0.8,\r\n font: font,\r\n clockwise: 1,\r\n fill: color\r\n }; \r\n return mark; \r\n }\r\n \r\n function drawPath( path, layer, color, lineWidth) { //FxSales -mark (outline) selected booths\r\n var i = 0;\r\n var len = path.length;\r\n layer.save();\r\n layer.globalAlpha = 1;\r\n layer.strokeStyle = color;\r\n layer.lineWidth = lineWidth;\r\n layer.beginPath();\r\n layer.moveTo( path[0].x, path[0].y);\r\n for( i = 1; i < len; i += 1) {\r\n layer.lineTo( path[i].x, path[i].y);\r\n }\r\n layer.closePath();\r\n layer.stroke();\r\n layer.restore();\r\n }\r\n \r\n function drawBooth( obj, context) { //pavilions,graphics,and booths in minimap & firefox\r\n var i;\r\n if( !obj.path || obj.path.length === 0) {\r\n return;\r\n }\r\n var len = obj.path.length;\r\n context.save();\r\n context.globalAlpha = obj.alpha;\r\n context.strokeStyle = obj.strokeColor;\r\n context.lineWidth = obj.lineWidth;\r\n context.fillStyle = obj.displayColor;\r\n \r\n context.beginPath();\r\n context.moveTo( obj.path[0].x, obj.path[0].y);\r\n for( i = 1; i < len; i += 1) {\r\n context.lineTo( obj.path[i].x, obj.path[i].y);\r\n }\r\n if( obj.type !== \"F\") {\r\n context.closePath();\r\n boothContext.fillStyle = obj.displayColor;\r\n context.fill();\r\n \r\n context.globalAlpha = 1.0;\r\n context.stroke();\r\n }\r\n else {\r\n context.stroke();\r\n }\r\n context.restore();\r\n }\r\n \r\n function drawBoothComposite( obj) { // only used for booths\r\n var i;\r\n if( !obj.path || obj.path.length === 0) {\r\n return;\r\n }\r\n \r\n var len = obj.path.length;\r\n \r\n boothContext.save();\r\n boothContext.lineWidth = obj.lineWidth;\r\n // remove any Pavilion color before drawing booth\r\n if( obj.type === \"T\") {\r\n boothContext.globalAlpha = 1.0;\r\n boothContext.globalCompositeOperation = \"destination-out\";\r\n boothContext.beginPath();\r\n boothContext.moveTo( obj.path[0].x, obj.path[0].y);\r\n for( i = 1; i < len; i += 1) {\r\n boothContext.lineTo( obj.path[i].x, obj.path[i].y);\r\n }\r\n boothContext.closePath();\r\n boothContext.fill();\r\n boothContext.globalCompositeOperation = \"source-over\";\r\n }\r\n boothContext.globalAlpha = obj.alpha;\r\n boothContext.fillStyle = obj.displayColor;\r\n boothContext.strokeStyle = obj.strokeColor;\r\n\t\t\r\n boothContext.beginPath();\r\n boothContext.moveTo( obj.path[0].x, obj.path[0].y);\r\n for( i = 1; i < len; i += 1) {\r\n boothContext.lineTo( obj.path[i].x, obj.path[i].y);\r\n }\r\n boothContext.closePath();\r\n \r\n boothContext.fill();\r\n \r\n boothContext.globalAlpha = 1.0;\r\n boothContext.stroke();\r\n \r\n boothContext.restore();\r\n }\r\n\t\r\n\tfunction drawArc( obj, ctx) {\r\n\t\tctx.save();\r\n ctx.globalAlpha = obj.alpha;\r\n ctx.strokeStyle = obj.strokeColor;\r\n ctx.lineWidth = obj.lineWidth;\r\n\t\t\r\n\t\tctx.beginPath();\r\n ctx.arc( obj.x, obj.y, obj.radius, obj.startAngle, obj.endAngle, obj.anticlockwise);\r\n ctx.stroke();\r\n ctx.restore();\r\n\t}\r\n \r\n// function drawSelected( mark, ctx) {\r\n// ctx.save();\r\n// ctx.strokeStyle = mark.color;\r\n// \r\n// ctx.lineWidth = Math.ceil( 4 / mtx.m[0]);\r\n// ctx.beginPath();\r\n// ctx.arc( mark.x, mark.y, mark.radiusX, 0, mark.endAngle);\r\n// \r\n// ctx.stroke();\r\n// ctx.restore();\r\n// }\r\n \r\n\tfunction drawFloorPlan() {\r\n\t\tif( data.firefox) {\r\n // firefox very slow with globalComposite modes, see Mozilla Bug 762973\r\n drawWithFunction( drawBooth);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdrawWithFunction( drawBoothComposite);\r\n\t\t}\r\n\t}\r\n \r\n function drawWithFunction( drawBoothFunc) {\r\n var startDrawTime = Date.now();\r\n var delay = 0;\r\n\t\tvar baseContext = arCanvas[BASE].ctx;\r\n \r\n updateNeeded = false;\r\n boothTextContext.textAlign = \"center\";\r\n\t\tbaseContext.textAlign = \"center\";\r\n\t\t\r\n arCanvas[MARKER].ctx.textAlign = \"center\";\r\n clearCanvas();\r\n \r\n\t\tdata.pavilions.forEach( function( graphic) {\r\n drawBooth( graphic, boothContext);\r\n });\r\n\t\t\r\n\t\tarBoothGraphics.forEach( function( graphic) {\r\n drawBoothFunc( graphic, boothContext, false);\r\n // for text grouped with booth object\r\n graphic.text.forEach( function( txt) {\r\n util.drawText( boothTextContext, txt);\r\n });\r\n });\r\n\t\tarFavorites.forEach( function( fav) {\r\n util.drawText( arCanvas[MARKER].ctx, fav);\r\n });\r\n \r\n\t\tarSelected.forEach( function( selected) {\r\n\t\t\tselected.lineWidth = ( 4 / mtx.m[0]);\r\n// drawSelected( selected, arCanvas[MARKER].ctx);\r\n\t\t\tdrawArc( selected, arCanvas[MARKER].ctx);\r\n });\r\n \r\n if( data.bDrawBuilding) {\r\n if( bBuildingJpegReady) {\r\n baseContext.drawImage( buildingImage, 0, 0, config.DRAWING_WIDTH, config.DRAWING_HEIGHT);\r\n }\r\n\t\t\t\r\n\t\t\tdata.buildingText.forEach( function( txt) {\r\n util.drawText( baseContext, txt);\r\n });\r\n\t\t\t\r\n\t\t\tdata.arTechLayers.forEach( function( group) {\r\n\t\t\t\tif( group.visible) {\r\n\t\t\t\t\tgroup.graphics.forEach( function( graphic) {\r\n\t\t\t\t\t\t//TEST filling shapes\r\n //graphic.displayColor = graphic.expColor;\r\n //graphic.type = \"T\";\r\n\r\n if( graphic.type === \"F\" || graphic.type === \"T\") { \r\n drawBooth( graphic, baseContext);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tdrawArc( graphic, baseContext);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tgroup.txt.forEach( function( txt) {\r\n\t\t\t\t\t\tutil.drawText( baseContext, txt);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n }\r\n\t\t\t// must be after building\r\n\t\tif( data.addedGraphics) {\r\n\t\t\tdata.addedGraphics.graphics.forEach( function( graphic) {\r\n\t\t\t\tif( graphic.type === \"F\") {\r\n\t\t\t\t\tdrawBooth( graphic, baseContext);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdrawArc( graphic, baseContext);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tdata.addedGraphics.txt.forEach( function( txt) {\r\n\t\t\t\tutil.drawText( baseContext, txt);\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\tif( config.showDimensions) {\r\n\t\t\tarBoothGraphics.forEach( function( graphic) {\r\n\t\t\t\tgraphic.dimensionText.forEach( function( txt) {\r\n util.drawText( boothTextContext, txt);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n \r\n\t\tdata.arOverlays.forEach( function( overlay) {\r\n //console.log(data.arOverlays)\r\n\t\t\tif( overlay.ready) {\r\n\t\t\t\tif( overlay.rot === \"0\") {\r\n\t\t\t\t\tboothContext.drawImage( overlay.imgElement, overlay.x, overlay.y, overlay.w, overlay.h);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tboothContext.save();\r\n\t\t\t\t\tboothContext.translate( overlay.x, overlay.y);\r\n\t\t\t\t\tboothContext.rotate( overlay.rot);\r\n\t\t\t\t\tboothContext.drawImage( overlay.imgElement, 0, 0, overlay.w, overlay.h);\r\n\t\t\t\t\tboothContext.restore();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n \r\n\t\tdata.floorPlanText.forEach( function( txt) {\r\n util.drawText( baseContext, txt);\r\n });\r\n\t\tdata.pavilionLabels.forEach( function( txt) {\r\n util.drawText( boothTextContext, txt);\r\n });\r\n \r\n if( iAmHereSymbol !== null) {\r\n drawIAmHereSymbol( boothTextContext, iAmHereSymbol);\r\n }\r\n\r\n if( activeWaypath !== null ) {\r\n drawWayFinderPath();\r\n }\r\n \r\n lastDrawTime = Date.now() - startDrawTime;\r\n\t\t\r\n delay = Math.max( 40 - lastDrawTime, 30);\r\n updateTimer = setTimeout( updateCheck, delay);\r\n }\r\n\t\r\n function drawWayFinderPath() {\r\n activeWaypath = data.activeWaySegments;\r\n data.activeWaySegments.forEach( function( path) {\r\n drawPath(path, arCanvas[MARKER].ctx, \"#FF0000\", 10);\r\n\r\n });\r\n var destinationCoords = activeWaypath[activeWaypath.length -1];\r\n //markSelected(data.wayPathDestinationGraphic.graphic);\r\n if( !iAmHereSymbol){\r\n setIAmHere( String.fromCharCode(0xf3c5), \"\", destinationCoords[1].x, destinationCoords[1].y, config.clrHighlight);\r\n updateNeeded = true;\r\n }\r\n \r\n\r\n data.wayPending = false;\r\n \r\n }\r\n\t\r\n\tfunction drawIAmHereSymbol( ctx, obj) {\r\n\t\tvar newSize = Math.max( 16, obj.fontSize/mtx.m[0]);\r\n var locX = obj.x;\r\n var locY = obj.y;\r\n \r\n ctx.save();\r\n ctx.font = \"700 \" + newSize + \"px 'Font Awesome 5 Free'\"; \r\n ctx.fillStyle = obj.fill;\r\n ctx.textBaseline = \"middle\";\r\n ctx.fillText( obj.text, locX, locY + obj.fontSize/2);\r\n\t\t\r\n locX = iAmHereText.x;\r\n locY = iAmHereSymbol.y - 0.8 * newSize;\r\n ctx.textBaseline = \"baseline\";\r\n ctx.fillText( iAmHereText.text, locX, locY);\r\n \r\n ctx.restore();\r\n\t}\r\n \r\n function updateAnimation() {\r\n var i = 0;\r\n var lw = 0;\r\n//\t\tvar st;\r\n//\t\tvar tm;\r\n \r\n if( effectInProgress) {\r\n return;\r\n }\r\n if( numFavorites > 0 || numSelectAnimate > 0 || arOutline.length > 0) {\r\n//\t\t\tst = Date.now();\r\n // clear layer\r\n arCanvas[MARKER].ctx.save();\r\n arCanvas[MARKER].ctx.setTransform(1,0,0,1,0,0);\r\n arCanvas[MARKER].ctx.clearRect(0, 0, containerWidth, containerHeight);\r\n arCanvas[MARKER].ctx.restore();\r\n// if( numSelected > 0) {\r\n\t\t\tarSelected.forEach( function( selected) {\r\n\t\t\t\tif( selected.endAngle < 2 * Math.PI) {\r\n\t\t\t\t\tselected.endAngle += 0.2 * Math.PI;\r\n\t\t\t\t\tif( selected.endAngle >= 2 * Math.PI) {\r\n\t\t\t\t\t\tnumSelectAnimate -= 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdrawArc( selected, arCanvas[MARKER].ctx);\r\n });\r\n if( numFavorites > 0) {\r\n for( i = 0; i < numFavorites; i++) {\r\n arFavorites[i].rotation += 0.1 * arFavorites[i].clockwise;\r\n if( arFavorites[i].rotation > 6.3) {\r\n arFavorites[i].rotation = 6.3;\r\n arFavorites[i].clockwise *= -1;\r\n }\r\n else if( arFavorites[i].rotation < 0) {\r\n arFavorites[i].rotation = -0;\r\n arFavorites[i].clockwise *= -1;\r\n }\r\n util.drawText( arCanvas[MARKER].ctx, arFavorites[i]);\r\n }\r\n }\r\n if( arOutline.length > 0) {\r\n lw = Math.ceil( 1 / mtx.m[0]);\r\n for( i = 0; i < arOutline.length; i++) {\r\n drawPath( arOutline[i].path, arCanvas[MARKER].ctx, arOutlineParams[i].color, lw);\r\n }\r\n }\r\n//\t\t\ttm = Date.now() - st;\r\n//\t\t\tconsole.log( \"animate time: \" + tm);\r\n\t\t\t\t// for 'throbbing' symbol\r\n// if( iAmHereSymbol) {\r\n// iAmHereSymbol.fontSize += throb;\r\n// if( iAmHereSymbol.fontSize > 200) {\r\n// throb = -2;\r\n// }\r\n// if( iAmHereSymbol.fontSize < 100) {\r\n// throb = 2;\r\n// }\r\n// iAmHereSymbol.font = \"iAmHereSymbol.fontSize + \"px Font Awesome 5 Free\";\r\n// updateNeeded = true;\r\n// }\r\n }\r\n }\r\n \r\n function setIAmHere( symbol, label, x, y, color) {\r\n if(window.innerWidth < 400){\r\n iAmHereSymbol = {\r\n x: Number(x),\r\n y: Number(y) -36,\r\n text: symbol,\r\n fontSize: 40,\r\n font: \"40px 'Font Awesome 5 Free'\",\r\n fill: color\r\n };\r\n } else {\r\n iAmHereSymbol = {\r\n x: Number(x),\r\n y: Number(y) -36,\r\n text: symbol,\r\n fontSize: 76,\r\n font: \"76px 'Font Awesome 5 Free'\",\r\n fill: color\r\n };\r\n }\r\n iAmHereText = {\r\n x: Number(x),\r\n y: iAmHereSymbol.y - iAmHereSymbol.font,\r\n text: label,\r\n fontSize: 72,\r\n\t\t\tfont: \"bold 72px Arial\",\r\n fill: color\r\n };\r\n }\r\n\r\n function clearIAmHere(){\r\n iAmHereSymbol = null;\r\n iAmHereText = null;\r\n }\r\n \r\n function clearCanvas() {\r\n var i = 0;\r\n for( i = 0; i < 4; i++) {\r\n arCanvas[i].ctx.save();\r\n arCanvas[i].ctx.setTransform(1,0,0,1,0,0);\r\n arCanvas[i].ctx.clearRect(0, 0, containerWidth, containerHeight);\r\n arCanvas[i].ctx.restore();\r\n }\r\n }\r\n \r\n function isInObject( obj, x, y) {\r\n if( obj === null || obj.path === null) {\r\n return false;\r\n }\r\n var i = 0;\r\n var len = obj.path.length;\r\n \r\n arCanvas[BOOTH].ctx.beginPath();\r\n arCanvas[BOOTH].ctx.moveTo( obj.path[0].x, obj.path[0].y);\r\n for( i = 1; i < len; i += 1) {\r\n arCanvas[BOOTH].ctx.lineTo( obj.path[i].x, obj.path[i].y);\r\n }\r\n return ( arCanvas[BOOTH].ctx.isPointInPath( x, y));\r\n }\r\n \r\n function goToPoint( newX, newY, newScale) {\r\n var panX = centerX - newX; // move drawing this much to get new point to center\r\n var panY = centerY - newY;\r\n zoomFinalScale = newScale;\r\n \r\n if( newX === centerX && newY === centerY) {\r\n if( newScale > mtx.m[0]) {\r\n effectInProgress = true;\r\n zooming = true;\r\n zoomChange = Math.round( 1000 * ( newScale - fitScale)) / 1000;\r\n lastStepTime = Date.now();\r\n }\r\n }\r\n else {\r\n effectInProgress = true;\r\n panFinalX = newX;\r\n panFinalY = newY; \r\n\r\n panDist = Math.sqrt( panX * panX + panY * panY);\r\n panSin = panY / panDist;\r\n panCos = panX / panDist;\r\n \r\n if( mtx.m[0] > fitScale) {\r\n zoomChange = fitScale - mtx.m[0];\r\n zooming = true;\r\n\r\n lastStepTime = Date.now();\r\n\r\n }\r\n else {\r\n panning = true;\r\n\r\n lastStepTime = Date.now();\r\n }\r\n }\r\n }\r\n \r\n function updateEffect() {\r\n var tm = Date.now();\r\n var lapse = ( tm - lastStepTime) * config.MULTIPLIER;\r\n lastStepTime = tm;\r\n\r\n if( zooming) {\r\n zoomStepSize = Math.min( lapse * ZOOM_RATE, 0.5 * Math.abs( zoomChange));\r\n\r\n if( zoomChange > 0) { // zoom IN\r\n if( zoomFinalScale > mtx.m[0]) {\r\n adjustZoomToScale( 1 + zoomStepSize / mtx.m[0]);\r\n }\r\n else {\r\n zooming = false;\r\n zoomFinalScale = 0;\r\n zoomStepSize = 0;\r\n effectInProgress = false;\r\n }\r\n }\r\n else { \r\n // ZOOM OUT\r\n if( mtx.m[0] > fitScale) {\r\n if( mtx.m[0] - zoomStepSize < fitScale) {\r\n zoomStepSize = mtx.m[0] - fitScale + 0.0001;\r\n }\r\n adjustZoomToScale( 1 - zoomStepSize / mtx.m[0]);\r\n }\r\n else {\r\n zooming = false;\r\n panning = true;\r\n lastStepTime = Date.now();\r\n }\r\n }\r\n }\r\n \r\n else if( panning) {\r\n // var step = 3 * lapse;\r\n\r\n var stepX = -Math.round( lapse * panCos);\r\n if( stepX < 0) {\r\n if( centerX + stepX < panFinalX) {\r\n stepX = panFinalX - centerX; // centerX - panFinalX\r\n }\r\n }\r\n else {\r\n if( centerX + stepX > panFinalX) {\r\n stepX = panFinalX - centerX;\r\n }\r\n }\r\n \r\n var stepY = -Math.round( lapse * panSin);\r\n if( stepY < 0) {\r\n \r\n if( centerY + stepY < panFinalY) {\r\n stepY = panFinalY - centerY; // centerY - panFinalY\r\n }\r\n }\r\n else {\r\n if( centerY + stepY > panFinalY) {\r\n stepY = panFinalY - centerY;\r\n }\r\n }\r\n \r\n moveCanvas( -stepX, -stepY);\r\n \r\n // check for sign of step and check <= to >= ?? betting on exact match !!\r\n if( (centerX === panFinalX && centerY === panFinalY) || centerX > config.DRAWING_WIDTH ||\r\n centerY > config.DRAWING_HEIGHT) {\r\n panning = false;\r\n panFinalX = 0;\r\n panFinalY = 0;\r\n if( zoomFinalScale > mtx.m[0] ) {\r\n\r\n zooming = true;\r\n zoomChange = Math.round( 1000 * ( zoomFinalScale - mtx.m[0])) / 1000;\r\n }\r\n else{\r\n effectInProgress = false;\r\n }\r\n }\r\n }\r\n }\r\n \r\n function miniMapHandler( evt) {\r\n moveCanvas( evt.data.x, evt.data.y);\r\n }\r\n \r\n function moveCanvas( dx, dy) {\r\n var i = 0;\r\n for( i = 0; i < 4; i++) {\r\n arCanvas[i].ctx.translate( dx, dy);\r\n }\r\n mtx.translate( dx, dy);\r\n centerX -= dx;\r\n centerY -= dy;\r\n \r\n updateNeeded = true;\r\n }\r\n \r\n function updateCheck() {\r\n if( effectInProgress) {\r\n updateEffect();\r\n }\r\n if( updateNeeded) {\r\n drawFloorPlan();\r\n doc.dispatchEvent( new FxEvent( \"Floor_Plan_Change\", { ratio:fitScale/mtx.m[0],\r\n x:centerX, y:centerY} ));\r\n \r\n }\r\n else {\r\n\t\t\tif( updateTimer) {\r\n\t\t\t\tclearTimeout( updateTimer);\r\n\t\t\t}\r\n updateTimer = setTimeout( updateCheck, 100);\r\n }\r\n \r\n updateAnimation();\r\n }\r\n\t\r\n\tfunction drawPdf( pdfDoc) {\r\n//\t\tvar len = data.boothGraphics.length;\r\n//\t\tpdfDoc.rect( 1, 1, 790, 610).stroke( \"#ff0000\");\r\n\t\t\r\n\t\tpdf = pdfDoc;\r\n\t\t\r\n\t\tdata.buildingText.forEach( function( txt) {\r\n\t\t\tpdfDoc.save();\r\n\t\t\tpdfText( pdfDoc, txt);\r\n\t\t\tpdfDoc.restore();\r\n\t\t});\r\n\t\t\r\n\t\tdata.pavilions.forEach( function( pavilion) {\r\n\t\t\tpdfBooth( pdfDoc, pavilion);\r\n\t\t});\r\n\t\t\r\n\t\tdata.boothGraphics.forEach( function( bth) {\r\n\t\t\tpdfBooth( pdfDoc, bth);\r\n\t\t});\r\n\t\t\r\n\t\t\r\n\t\tdata.floorPlanText.forEach( function( txt) {\r\n\t\t\tpdfText( pdfDoc, txt);\r\n\t\t});\r\n\t\t\r\n\t\tif( data.arOverlays.length > 0) {\r\n\t\t\tdoc.addEventListener( \"OVERLAYS_READY\", pdfAddOverlays);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tpdfDoc.end();\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction pdfAddOverlays() {\r\n\t\tdata.arOverlays.forEach( function( overlay) {\r\n\t\t\tif( overlay.ready) {\r\n\t\t\t\t// ???? rotation ???\r\n\t\t\t\t\r\n\t\t\tvar obj = {\r\n\t\t\t\twidth: overlay.w,\r\n\t\t\t\theight: overlay.h\r\n\t\t\t};\r\n\r\n\t\t\t\tpdf.image( overlay.imageData, overlay.x, overlay.y, obj);\r\n\t\t\t}\r\n\t\t\r\n\t\t});\r\n\t\t\r\n\t\tpdf.end();\r\n\t}\r\n\t\r\n\tfunction pdfBooth( pdf, bth) {\r\n\t\tvar len = bth.path.length;\r\n\t\tvar i = 0;\r\n\t\t\r\n\t\tpdf.moveTo( bth.path[0].x, bth.path[0].y);\r\n\t\t\r\n\t\tfor( i = 1; i < len; i++) {\r\n\t\t\tpdf.lineTo( bth.path[i].x, bth.path[i].y);\r\n\t\t}\r\n\t\tpdf.lineTo( bth.path[0].x, bth.path[0].y);\r\n\t\tpdf.strokeColor(bth.strokeColor);\r\n\t\tpdf.fillColor(bth.fillColor);\r\n\t\tpdf.fillOpacity( bth.alpha);\r\n\t\t\r\n\t\tif( bth.type === \"T\") {\r\n\t\t\tpdf.fillAndStroke();\r\n\t\t}\r\n\t\telse if( bth.type === \"F\") {\r\n\t\t\tpdf.stroke();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tpdf.fill();\r\n\t\t}\r\n\t\t\r\n\t\tif( bth.text) {\r\n\t\t\tbth.text.forEach( function( txt) {\r\n\t\t\t\tpdfText( pdf, txt);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction pdfText( pdf, txt) {\r\n\t\tvar strLen = 0;\r\n\t\tpdf.save();\r\n\t\t\r\n\t\tpdf.fontSize( txt.fontSize);\r\n\t\tstrLen = pdf.widthOfString( txt.text);\r\n\t\t\r\n\t\tvar offX = -0.5 * strLen;\r\n\t\tvar offY = -0.3 * txt.fontSize;\r\n\t\t\r\n\t\tpdf.fillColor( txt.fill);\r\n\t\tpdf.translate( txt.x, txt.y);\r\n\t\tif( txt.dRot !== 0) {\r\n\t\t\tpdf.rotate( txt.dRot);\r\n\t\t}\r\n\t\tvar tw = 100 + strLen;\r\n\t\tpdf.text( txt.text, offX, offY, { width:tw});\r\n\t\tpdf.translate( 0, 0);\r\n\t\t\r\n\t\tpdf.restore();\r\n\t}\r\n \r\n function printFloorPlan( full) {\r\n var printScale = 0;\r\n var i;\r\n var pw = config.DRAWING_WIDTH + initialOffsetX;\r\n var ph = config.DRAWING_HEIGHT + initialOffsetY;\r\n var bod = doc.getElementsByTagName(\"body\")[0];\r\n \r\n var scale = mtx.m[0];\r\n var m1 = mtx.m[1]; // y skew\r\n var m2 = mtx.m[2]; // x skew\r\n var m4 = mtx.m[4]; // x translation\r\n var m5 = mtx.m[5]; // y translation\r\n \r\n if( full && mtx.m[0] !== fitScale) {\r\n fitDrawing();\r\n drawFloorPlan();\r\n }\r\n var prtCanvas = doc.createElement( \"canvas\");\r\n \r\n prtCanvas.width = containerWidth;\r\n prtCanvas.height = containerHeight;\r\n \r\n var prtCtx = prtCanvas.getContext(\"2d\");\r\n prtCtx.scale( fitScale, fitScale);\r\n \r\n printScale = fitScale;\r\n// \r\n for( i = 0; i < 4; i++) {\r\n arCanvas[i].ctx.setTransform( printScale, 0, 0, printScale, 0, 0);\r\n }\r\n prtCtx.drawImage( arCanvas[BASE].canvas, - initialOffsetX, - initialOffsetY, pw, ph);\r\n prtCtx.drawImage( arCanvas[BOOTH].canvas, - initialOffsetX, - initialOffsetY, pw, ph);\r\n prtCtx.drawImage( arCanvas[MARKER].canvas, - initialOffsetX, - initialOffsetY, pw, ph);\r\n prtCtx.drawImage( arCanvas[BOOTH_TEXT].canvas, - initialOffsetX, - initialOffsetY, pw, ph);\r\n \r\n prtCanvas.style.top = 0;\r\n prtCanvas.style.left = 0;\r\n \r\n bod.appendChild( prtCanvas);\r\n \r\n var dataUrl = prtCanvas.toDataURL();\r\n \r\n bod.removeChild( prtCanvas);\r\n \r\n for( i = 0; i < 4; i++) {\r\n arCanvas[i].ctx.setTransform( scale, m1, m2, scale, m4, m5);\r\n }\r\n mtx.m[0] = scale;\r\n mtx.m[1] = m1;\r\n mtx.m[2] = m2;\r\n mtx.m[3] = scale;\r\n mtx.m[4] = m4;\r\n mtx.m[5] = m5;\r\n \r\n updateNeeded = true;\r\n \r\n return dataUrl;\r\n }\r\n \r\n function remove2d() {\r\n//\t\telemById( \"floorplan\").removeChild( container);\r\n var i;\r\n for( i = 0; i < arCanvas.length; i++) {\r\n container.removeChild( arCanvas[i].canvas);\r\n }\r\n\t\tclearTimeout( updateTimer);\r\n disableEvents();\r\n }\r\n \r\n function showFloorPlan() {\t\t// show2d\r\n//\t\tcontainer.appendChild( container);\r\n var i;\r\n for( i = 0; i < arCanvas.length; i++) {\r\n container.appendChild( arCanvas[i].canvas);\r\n }\r\n enableEvents();\r\n\t\tupdateCheck();\r\n }\r\n \r\n \r\n ////// DEBUG //////////////////////////////////\r\n function logMatrix() {\r\n console.log( \"MATRIX: \" + mtx.m[0] + \", \" + mtx.m[1] + \", \" + mtx.m[2] + \", \" + \r\n mtx.m[3] + \", \" + mtx.m[4] + \", \" + mtx.m[5]);\r\n }\r\n ///////////////////////////////////////////////////\r\n \r\n\r\n // Public interface\r\n return {\r\n addBoothGraphic: setBoothFillStyle,\r\n addBuilding: addBuilding,\r\n addGraphic: addGraphic,\r\n addOverlays: addOverlays,\r\n addToOutline: addToOutline,\r\n createBoothGradient: createBoothGradient,\r\n completeSetup: completeSetup,\r\n dragTo: dragTo,\r\n\t\tdrawPdf: drawPdf,\r\n fit: fitDrawing,\r\n floorPlanToGlobal: floorPlanToGlobal,\r\n\t\tgetIsReady: function() { return isReady;},\r\n getOffset: function() { return { x: initialOffsetX, y: initialOffsetY};},\r\n getX: function() { return mtx.m[4]; },\r\n getY: function() { return mtx.m[5]; },\r\n getScale: function() { return mtx.m[0]; },\r\n getSelected: function() { return arSelected; },\r\n globalToFloorPlan: globalToFloorPlan,\r\n goToPoint: goToPoint,\r\n highlightBooth: highlightBooth,\r\n hitTest: hitTest,\r\n logMatrix: logMatrix,\r\n// markBooth: markBooth,\r\n markFavorite: markFavorite,\r\n markSelected: markSelected,\r\n moveBy: function( dx, dy) {\r\n moveCanvas( dx, dy);\r\n },\r\n redraw: function() {\r\n updateNeeded = true;\r\n // if starting program, call once to start the loop\r\n if( !loopStarted) {\r\n loopStarted = true;\r\n drawFloorPlan();\r\n }\r\n },\r\n getFloorPlanImage: printFloorPlan,\r\n pointerDownAt: pointerDownAt,\r\n remove2d: remove2d,\r\n removeBoothText: removeBoothText,\r\n removeFavorite: removeFavorite,\r\n removeSelected: removeSelected,\r\n removeAllSelected: removeAllSelected,\r\n removeFromOutline: removeFromOutline,\r\n resizeHandler: resizeHandler,\r\n showFloorPlan: showFloorPlan,\r\n setIAmHere: setIAmHere,\r\n clearIAmHere: clearIAmHere,\r\n updateSelected: updateSelected,\r\n\r\n zoom: function( step) {\r\n var oStep = step; \r\n step = step * mtx.m[0] * 0.1;\r\n if( step < 0 && mtx.m[0] + step < fitScale) {\r\n step = fitScale - mtx.m[0];\r\n }\r\n if( step > 0 || mtx.m[0] > fitScale) {\r\n adjustZoomToScale( (mtx.m[0] + step) / mtx.m[0], oStep);\r\n\r\n } \r\n },\r\n zoomToCursor: function( step) {\r\n var oStep = step; \r\n step = step * mtx.m[0] * 0.1;\r\n if( step < 0 && mtx.m[0] + step < fitScale) {\r\n step = fitScale - mtx.m[0];\r\n }\r\n if( step > 0 || mtx.m[0] > fitScale) {\r\n adjustScaleToCursor( (mtx.m[0] + step) / mtx.m[0]);\r\n } \r\n },\r\n zoomTo: function( scale) {\r\n adjustZoomToScale( (mtx.m[0] + scale) / mtx.m[0]);\r\n }\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n/* */\r\n// 'use strict'\r\n\r\nexpocadfx.Drawing3d = function() {\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n var elemById = expocadfx.element.elementById;\r\n var BoothText = expocadfx.BoothText;\r\n var FxEvent = expocadfx.fxevent;\r\n\tvar util = expocadfx.util;\r\n \r\n var doc = document;\r\n \r\n var CENTER_X = config.DRAWING_WIDTH / 2;\r\n var CENTER_Y = config.DRAWING_HEIGHT / 2;\r\n \r\n var arSelected = [];\r\n var arHighlight = [];\r\n var arFavorites = [];\r\n var arOutline = [];\r\n var arOutlineParams = [];\r\n\tvar overlaysAdded = false;\r\n \r\n var fitScale = 0;\r\n var targetX = 0; // floor plan point that is at the center of the window\r\n var targetY = 0;\r\n var initialOffsetX = 0;\r\n var initialOffsetY = 0;\r\n \r\n // keep track of array lengths outside of loop\r\n var numPavilions = 0;\r\n \r\n var updateNeeded = true;\r\n var loopStarted = false;\r\n \r\n var effectInProgress = false;\r\n \r\n var zoomingOut = false;\r\n var zoomingIn = false;\r\n \r\n var panning = false;\r\n var panFinalX = 0;\r\n var panFinalY = 0;\r\n var panDirectionX = 1;\r\n var panDirectionY = 1;\r\n var zoomFinalDist = 0;\r\n var effectTime = 0;\r\n \r\n\tvar loopSize = 50;\r\n\tvar boothsDone = 0;\r\n\t\r\n var scene = null;\r\n var group = null;\r\n var camera = null;\r\n var renderer = null;\r\n \r\n var active = true;\r\n var updateTimer = null;\r\n\tvar isReady = false;\r\n\t\r\n\tvar rotating = false;\r\n\tvar pendingInitialZoom = null;\r\n \r\n // amount needs to be based on drawing scale, somehow\r\n var extrudeHeight = config.scaleFactor;\r\n \r\n if( config.oldVersion) {\r\n extrudeHeight = config.scaleFactor < 0.2 ? 160 :\r\n config.scaleFactor < 0.3 ? 84 :\r\n config.scaleFactor < 0.4 ? 60 :\r\n config.scaleFactor < 1 ? 36 :\r\n config.scaleFactor < 1.6 ? 16 :\r\n config.scaleFactor < 2 ? 14 : 8;\r\n }\r\n \r\n var extrudeSettings = { amount: extrudeHeight,\r\n bevelEnabled: false\r\n };\r\n \r\n var idleCount = 0;\r\n \r\n var mouse = new THREE.Vector2();\r\n var raycaster;\r\n \r\n var rFOV = 50 * Math.PI / 180; // camera verticle Field Of View in radians\r\n var initialCameraDistance = 0;\r\n var currentCameraDistance = 0;\r\n \r\n var drawingRotation = -0.25 * Math.PI; // 45 degrees in radions\r\n var sin45 = Math.sin( -drawingRotation);\r\n \r\n var floorMesh;\r\n var boothMeshes = [];\r\n var overlayMeshes = [];\r\n \r\n var pointerAt = { x:0, y:0};\r\n \r\n var containerWidth = elemById( \"floorplan\").clientWidth;\r\n var containerHeight = elemById( \"floorplan\").clientHeight;\r\n\tvar container = elemById( \"fpContainer\");\r\n\t\r\n\tvar light = null;\r\n\tvar mesh = null;\r\n\r\n\tcontainer.style.backgroundColor = config.clrBackground; // move to page setup\r\n\r\n\ttargetX = CENTER_X;\r\n\ttargetY = CENTER_Y;\r\n\r\n\tfitScale = calculateScale();\r\n\tcalculateInitialOffset();\r\n//\tconsole.log( \"3d fit scale: \" + fitScale);\r\n\tinitialCameraDistance = Math.floor( ( containerHeight /2) / Math.tan( rFOV / 2) +\r\n\t\tMath.sin( Math.PI/4) * (config.DRAWING_HEIGHT/2) * fitScale);\r\n\r\n\tcurrentCameraDistance = initialCameraDistance;\r\n\r\n\tcamera = new THREE.PerspectiveCamera( 50, containerWidth / containerHeight, 1, 2200);\r\n\r\n\trenderer = new THREE.WebGLRenderer( { antialias: true,\r\n\t\t\t\t\t\t\t\t\t\talpha: true,\r\n\t\t\t\t\t\t\t\t\t\tpreserveDrawingBuffer: true,\r\n\t\t\t\t\t\t\t\t\t\tlogarithmicDepthBuffer: true});\r\n\r\n\trenderer.setClearColor( 0xf0f0f0, 0 );\r\n\trenderer.setPixelRatio( window.devicePixelRatio );\r\n\trenderer.setSize( containerWidth, containerHeight);\r\n\r\n\tscene = new THREE.Scene();\r\n\r\n\tcamera.position.z = initialCameraDistance;\r\n\tcamera.lookAt(new THREE.Vector3(0, 0, 0));\r\n\r\n\tcontainer.appendChild( renderer.domElement);\r\n\r\n\tlight = new THREE.AmbientLight( 0xffffff, 0.4);\r\n\tscene.add( light);\r\n\r\n\tlight = new THREE.SpotLight( 0xffffff, 0.8 );\r\n\tlight.position.set( 0, 100, 800);\r\n\tlight.castShadow = true;\r\n\tscene.add( light );\r\n\r\n\tgroup = new THREE.Group();\r\n\tgroup.scale.set( fitScale, fitScale, fitScale);\r\n\r\n\tscene.add( group );\r\n\r\n\tif( data.debug) {\r\n\t\tmesh = new THREE.Mesh( new THREE.BoxGeometry( 50, 50, 50, 1, 1, 1 ),\r\n\t\t\t\t\t\t\t\tnew THREE.MeshBasicMaterial( {color: 0x0000ff} ) );\r\n\t\tmesh.position.set( 0, 0, 0);\r\n\t\tgroup.add( mesh);\r\n\t}\r\n\r\n\traycaster = new THREE.Raycaster();\r\n \r\n\twindow.onbeforeunload = function() {\r\n\t\t// appears to fix IE11 extreme slow load on reload/refresh \r\n\t\trenderer.clear();\r\n\t};\r\n\t\r\n\t\r\n function addBuilding( buildingImage) {\r\n var floorMaterial = new THREE.MeshBasicMaterial();\r\n var texture = new THREE.Texture();\r\n\r\n texture.format = THREE.RGBFormat;\r\n texture.generateMipmaps = false;\r\n texture.magFilter = THREE.LinearFilter;\r\n \r\n texture.image = buildingImage;\r\n texture.needsUpdate = true;\r\n\r\n floorMaterial.map = texture;\r\n floorMaterial.map.minFilter = THREE.LinearFilter;\r\n \r\n floorMesh = new THREE.Mesh( new THREE.PlaneGeometry(\r\n config.DRAWING_WIDTH, config.DRAWING_HEIGHT, 96, 96), floorMaterial);\r\n floorMesh.receiveShadow = true;\r\n\r\n\t\t\r\n checkBuildingText();\r\n \r\n group.add(floorMesh);\r\n \r\n updateNeeded = true;\r\n }\r\n \r\n function calculateScale() {\r\n var effHeight = config.DRAWING_HEIGHT * Math.sin( -drawingRotation);\r\n return Math.min( containerWidth / config.DRAWING_WIDTH,\r\n effHeight / config.DRAWING_HEIGHT);\r\n }\r\n \r\n function calculateInitialOffset() {\r\n initialOffsetX = Math.round(( containerWidth / fitScale - config.DRAWING_WIDTH) / 2);\r\n initialOffsetY = Math.max( Math.round(( containerHeight /fitScale - config.DRAWING_HEIGHT)/2), 0);\r\n }\r\n \r\n function enableEvents() {\r\n doc.addEventListener( \"Mini_Map_Change\", miniMapResponse);\r\n if( doc.hidden === \"undefined\") {\r\n console.log( \"NO document hidden object\");\r\n }\r\n else {\r\n doc.addEventListener( \"visibilitychange\", pageVisible);\r\n }\r\n }\r\n \r\n function disableEvents() {\r\n doc.removeEventListener( \"Mini_Map_Change\", miniMapResponse);\r\n\t\tdoc.removeEventListener( \"visibilitychange\", pageVisible);\r\n }\r\n \r\n function miniMapResponse( evt) {\r\n moveCamera( evt.data.x * fitScale, evt.data.y * fitScale);\r\n }\r\n\t\r\n\tfunction pageVisible() {\r\n\t\tif( !doc.hidden) {\r\n\t\t\trenderScene();\r\n\t\t\tconsole.log( \"Render on Visible\");\r\n\t\t}\r\n\t}\r\n \r\n function renderScene() {\r\n \r\n renderer.render( scene, camera);\r\n }\r\n \r\n\tfunction checkBuildingText() {\r\n\t\tif( data.status.buildingTextReady) {\r\n\t\t\taddBuildingText();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsetTimeout( checkBuildingText, 10);\r\n\t\t}\r\n\t}\r\n\t\r\n function addBuildingText() {\r\n var canvas;\r\n var ctx;\r\n var mesh = null;\r\n var textWidth = 0;\r\n\t\t\r\n \r\n\t\tdata.buildingText.forEach( function( txt) {\r\n canvas = doc.createElement( \"canvas\");\r\n ctx = canvas.getContext( \"2d\");\r\n\t\t\t\r\n ctx.font = txt.fontSize + \"px \" + config.FLOOR_PLAN_FONT;\r\n\t\t\t\r\n // measureText can return 0 for single characters!\r\n textWidth = Math.max( ctx.measureText( txt.text).width, 2);\r\n \r\n canvas.width = textWidth;\r\n canvas.height = txt.fontSize;\r\n\t\t\t\r\n\t\t\tctx.fillStyle = config.clrBuildingText;\t\t// changing canvas size resets fillStyle to #000000\r\n\t\t\t\r\n drawTextToCanvas( ctx, \r\n txt.text,\r\n txt.fontSize,\r\n textWidth / 2,\r\n 0.33 * txt.fontSize,\r\n 0);\r\n\t\t\t\r\n mesh = meshFromCanvas( canvas, true, txt.fontSize);\r\n\r\n mesh.rotation.z = -txt.rotation;\r\n mesh.position.set( txt.x - targetX,\r\n -(txt.y - targetY + 8),\r\n 1);\r\n\t\t\t\r\n floorMesh.add( mesh);\r\n });\r\n\t\t\r\n\t\tif( data.addedGraphics) {\r\n\t\t\tdata.addedGraphics.graphics.forEach( function( graphic) {\r\n\t\t\t\tif( graphic.type === \"F\") {\r\n\t\t\t\t\tgraphic.center = { x: 0.5 * ( graphic.maxX + graphic.minX),\r\n\t\t\t\t\t\t\t\t\ty: 0.5 * ( graphic.maxY + graphic.minY)};\r\n\t\t\t\t\tfloorMesh.add( drawLine( graphic));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tfloorMesh.add( drawArcs( graphic));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tdata.addedGraphics.txt.forEach( function( txt) {\r\n\t\t\t\taddText( txt, false);\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\r\n\t\tdata.arArcs.forEach( function( arc) {\r\n\t\t\tfloorMesh.add( drawArcs( arc));\r\n\t\t});\r\n\t\t\r\n\t\tdata.arCircles.forEach( function( circle) {\r\n\t\t\tfloorMesh.add( drawArcs( circle));\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction drawArcs( obj) {\r\n\t\tvar cx = obj.x - CENTER_X;\r\n\t\tvar cy = -(obj.y - CENTER_Y);\r\n\t\t\r\n\t\tvar curve = new THREE.EllipseCurve( cx, cy, \r\n\t\t\t\t\t\t\t\t\t\t\tobj.radius, obj.radius, \r\n\t\t\t\t\t\t\t\t\t\t\tobj.startAngle, -obj.endAngle, \r\n\t\t\t\t\t\t\t\t\t\t\ttrue, 0);\r\n\t\t\r\n\t\tvar path = new THREE.Path( curve.getPoints( 50) );\r\n\t\t\r\n// Not in THREE version 86\t\t\r\n//\t\tvar geometry = new THREE.BufferGeometry()\r\n//\t\tgeometry.setFromPoints( curve.getPoints( 50) );\r\n\t\t\r\n\t\tvar geometry = path.createPointsGeometry( 50);\r\n\t\t\r\n\t\tvar material = new THREE.LineBasicMaterial( { color : obj.strokeColor, linewidth: obj.lineWidth } );\r\n\t\tvar arc = new THREE.Line( geometry, material );\r\n\t\tarc.position.z = 1;\r\n\t\treturn arc;\r\n\t}\r\n\t\r\n//\tfunction addSquare( x, y, z, color) {\r\n//\t\tmesh = new THREE.Mesh( new THREE.BoxGeometry( 50, 50, 50, 1, 1, 1 ),\r\n//\t\t\t\t\t\t\t\tnew THREE.MeshBasicMaterial( {color: color} ) );\r\n//\t\tmesh.position.set( x, y, z);\r\n//\t\tgroup.add( mesh);\r\n//\t}\r\n \r\n function addPavilionsToFloor() {\r\n var i = 0;\r\n var j = 0;\r\n var graphic = null;\r\n var shape = null;\r\n var material = null;\r\n var geometry = null;\r\n// var line = null;\r\n// var lineMaterial = null; // = new THREE.LineBasicMaterial( {color: 0xff0000});\r\n \r\n /////////// Pavilions and Graphics ////////////////////\r\n for( i = 0; i < numPavilions; i++) {\r\n graphic = data.pavilions[i];\r\n graphic.center = { x: 0.5 * ( graphic.maxX + graphic.minX),\r\n y: 0.5 * ( graphic.maxY + graphic.minY)};\r\n\r\n graphic.vertices = [];\r\n\t\t\t\r\n if( graphic.type === \"P\") {\r\n\t\t\t\tfor (j = 0; j < graphic.numPoints; j++) {\r\n\r\n\t\t\t\t\tgraphic.vertices.push( new THREE.Vector2 (graphic.path[j].x - graphic.center.x,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t-( graphic.path[j].y - graphic.center.y)));\r\n\t\t\t\t}\r\n shape = new THREE.Shape( graphic.vertices);\r\n geometry = new THREE.ShapeBufferGeometry( shape);\r\n material = new THREE.MeshLambertMaterial( {color: graphic.fillColor,\r\n transparent: true,\r\n opacity: graphic.alpha});\r\n\r\n graphic.mesh = new THREE.Mesh( geometry, material);\r\n graphic.mesh.position.set( graphic.center.x - targetX, targetY - graphic.center.y, 1 );\r\n group.add( graphic.mesh );\r\n }\r\n else {\r\n group.add( drawLine( graphic));\r\n }\r\n }\r\n }\r\n\t\r\n\tfunction drawLine( graphic) {\r\n\t\tvar j = 0;\r\n\t\tvar line = null;\r\n\t\tvar lineMaterial = null;\r\n\t\tvar geometry = new THREE.Geometry();\r\n\t\t\r\n\t\tfor (j = 0; j < graphic.numPoints; j++) {\r\n\t\t\tgeometry.vertices.push( new THREE.Vector3 (graphic.path[j].x - graphic.center.x,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t-( graphic.path[j].y - graphic.center.y),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t0.5));\r\n\t\t}\r\n\t\tlineMaterial = new THREE.LineBasicMaterial( { color: graphic.expColor, \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlinewidth: config.additionalGraphicsLineWidth });\r\n\t\tline = new THREE.Line( geometry, lineMaterial);\r\n\t\tline.position.set( graphic.center.x - targetX, targetY - graphic.center.y, 2);\r\n\r\n\t\treturn line;\r\n\t}\r\n \r\n function setIAmHere( symbol, label, x, y, color) {\r\n var canvas = doc.createElement( \"canvas\");\r\n var ctx = canvas.getContext( \"2d\");\r\n var mesh = null;\r\n var textWidth = 0;\r\n \r\n ctx.font = \"bold 116px 'Font Awesome 5 Free'\";\r\n textWidth = ctx.measureText( label).width;\r\n \r\n canvas.width = textWidth;\r\n canvas.height = 300;\r\n \r\n ctx.fillStyle = color;\r\n ctx.font = \"bold 116px 'Font Awesome 5 Free'\";\r\n ctx.fillText( label, 0, 96);\r\n \r\n ctx.font = \"bold 160px 'Font Awesome 5 Free'\";\r\n ctx.fillText( symbol, 0.5 * canvas.width - 68, 272);\r\n \r\n mesh = meshFromCanvas( canvas, true);\r\n mesh.position.set( x - CENTER_X, CENTER_Y - y, 96);\r\n mesh.rotation.x = 0.25 * Math.PI;\r\n group.add( mesh);\r\n updateNeeded = true;\r\n }\r\n \r\n function addFloorPlanText() {\r\n// var i;\r\n// var canvas = null;\r\n// var ctx = null;\r\n// var mesh;\r\n// var numText = data.floorPlanText.length;\r\n// var textWidth = 0;\r\n//\t\tvar top = false;\r\n\t\t\r\n\t\tdata.pavilionLabels.forEach( function( txt) {\r\n\t\t\taddText( txt, true);\r\n\t\t});\r\n\t\t\r\n\t\tdata.floorPlanText.forEach( function( txt) {\r\n\t\t\taddText( txt, false);\r\n\t\t});\r\n \r\n// for( i = 0; i < numText; i++) {\r\n// canvas = doc.createElement( \"canvas\");\r\n// ctx = canvas.getContext( \"2d\");\r\n// ctx.font = \"Bold \" + data.floorPlanText[i].fontSize + \"px \" + config.FLOOR_PLAN_FONT;\r\n//\r\n// renderer.domElement.appendChild( canvas);\r\n// textWidth = Math.max( ctx.measureText( data.floorPlanText[i].text).width, 2);\r\n// renderer.domElement.removeChild( canvas);\r\n//\r\n// canvas.width = textWidth;\r\n// canvas.height = data.floorPlanText[i].fontSize;\r\n// \r\n// ctx.fillStyle = config.clrBoothText;\r\n// \r\n// drawTextToCanvas( ctx,\r\n// data.floorPlanText[i].text,\r\n// data.floorPlanText[i].fontSize,\r\n// textWidth / 2,\r\n// 0.33 * data.floorPlanText[i].fontSize,\r\n// 0\r\n// );\r\n//\r\n// mesh = meshFromCanvas( canvas, true, data.floorPlanText[i].fontSize);\r\n//\r\n// mesh.rotation.z = -data.floorPlanText[i].rotation;\r\n// // need to make z variable, this puts text above booths !!\r\n// mesh.position.set( data.floorPlanText[i].x - targetX,\r\n// -(data.floorPlanText[i].y - targetY),\r\n// extrudeHeight + 16);\r\n// \r\n// group.add( mesh);\r\n// }\r\n }\r\n\t\r\n\tfunction addText( txt, isTop) {\r\n\t\tvar textWidth = 0;\r\n\t\tvar ht = isTop? Number(extrudeHeight) + 16 : 1;\r\n\t\tvar canvas = doc.createElement( \"canvas\");\r\n\t\tvar ctx = canvas.getContext( \"2d\");\r\n\t\tctx.font = \"Bold \" + txt.fontSize + \"px \" + config.FLOOR_PLAN_FONT;\r\n\r\n\t\trenderer.domElement.appendChild( canvas);\r\n\t\ttextWidth = Math.max( ctx.measureText( txt.text).width, 2);\r\n\t\trenderer.domElement.removeChild( canvas);\r\n\r\n\t\tcanvas.width = textWidth;\r\n\t\tcanvas.height = txt.fontSize;\r\n\r\n\t\tctx.fillStyle = config.clrBoothText;\r\n\r\n\t\tdrawTextToCanvas( ctx,\r\n\t\t\t\t\t\ttxt.text,\r\n\t\t\t\t\t\ttxt.fontSize,\r\n\t\t\t\t\t\ttextWidth / 2,\r\n\t\t\t\t\t\t0.33 * txt.fontSize,\r\n\t\t\t\t\t\t0\r\n\t\t\t\t\t\t);\r\n\r\n\t\tmesh = meshFromCanvas( canvas, true, txt.fontSize);\r\n\r\n\t\tmesh.rotation.z = -txt.rotation;\r\n\t\t// need to make z variable, this puts text above booths !!\r\n\t\tmesh.position.set( txt.x - targetX, -(txt.y - targetY), ht);\r\n\r\n\t\tgroup.add( mesh);\r\n\t}\r\n \r\n function drawTextToCanvas( context, text, fontSize, locX, locY, rotation) {\r\n context.font = fontSize + \"px \" + config.FLOOR_PLAN_FONT;\r\n var textWidth = context.measureText( text).width;\r\n \r\n if( rotation !== 0) {\r\n context.save();\r\n \r\n context.translate( locX, locY);\r\n context.rotate( rotation);\r\n context.translate( -locX, -locY);\r\n \r\n context.fillText( text, locX - 0.5 * textWidth, locY + 0.5 * fontSize);\r\n context.restore();\r\n }\r\n else {\r\n context.fillText( text, locX - 0.5 * textWidth, locY + fontSize/2);\r\n }\r\n }\r\n \r\n function meshFromCanvas( canvas, ignoreDepth) {\r\n var material;\r\n var mesh;\r\n \r\n var texture = new THREE.Texture( canvas);\r\n texture.generateMipmaps = false;\r\n texture.magFilter = THREE.LinearFilter;\r\n texture.minFilter = THREE.LinearFilter;\r\n texture.needsUpdate = true;\r\n\r\n material = new THREE.MeshLambertMaterial( {map: texture});\r\n if( ignoreDepth) {\r\n material.depthWrite = false;\r\n material.depthTest = false;\r\n }\r\n \r\n material.map.minFilter = THREE.LinearFilter;\r\n material.transparent = true;\r\n \r\n mesh = new THREE.Mesh( new THREE.PlaneBufferGeometry( canvas.width, canvas.height),\r\n material);\r\n return mesh;\r\n }\r\n \r\n function completeSetup() {\r\n var numBooths = data.boothGraphics.length;\r\n var i = 0;\r\n \r\n if( boothMeshes.length === 0) {\r\n for( i = 0; i < numBooths; i++) {\r\n addBoothGraphic( data.boothGraphics[i]);\r\n }\r\n }\r\n\t\t\r\n\t\tgraphicTextLoop();\r\n\t\t\r\n updateNeeded = true;\r\n\t\trotating = true;\r\n rotateToStart();\r\n \r\n numPavilions = data.pavilions.length;\r\n addPavilionsToFloor();\r\n\t\tif( data.status.overlaysReady && data.arOverlays.length > 0) {\r\n\t\t\taddOverlays();\r\n\t\t}\r\n addFloorPlanText();\r\n\t\tisReady = true;\r\n }\r\n \r\n\t// breaks up loop because Chrome v69 kept loosing test on one booth\r\n\tfunction graphicTextLoop() {\r\n\t\tvar i = 0;\r\n\t\tvar end = Math.min( boothsDone + loopSize, data.boothGraphics.length);\r\n\t\t\r\n\t\tfor( i = boothsDone; i < end; i++) {\r\n\t\t\taddBoothText( data.boothGraphics[i]);\r\n\t\t}\r\n\t\t\r\n\t\tif( end < data.boothGraphics.length) {\r\n\t\t\tboothsDone = end;\r\n\t\t\tsetTimeout( graphicTextLoop, 0);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdoc.dispatchEvent( new FxEvent( \"Floor_Plan_Ready\", null));\r\n\t\t}\r\n\t}\r\n\t\r\n\t\r\n function addBoothGraphic( graphic) {\r\n var shape = null;\r\n var geometry = null;\r\n var material = null;\r\n var edges = null;\r\n var j = 0;\r\n\t\tvar edgeWidth = 0.0;\r\n \r\n graphic.center = { x: 0.5 * ( graphic.maxX + graphic.minX),\r\n y: 0.5 * ( graphic.maxY + graphic.minY)};\r\n if( graphic.hasSize) {\r\n // set center of booth and create vertices\r\n\r\n graphic.vertices = [];\r\n for (j = 0; j < graphic.numPoints; j++) {\r\n graphic.vertices.push( new THREE.Vector2 (graphic.path[j].x - graphic.center.x,\r\n -( graphic.path[j].y - graphic.center.y)));\r\n }\r\n\r\n shape = new THREE.Shape( graphic.vertices );\r\n geometry = new THREE.ExtrudeBufferGeometry( shape, extrudeSettings);\r\n\r\n material = new THREE.MeshLambertMaterial( {color: graphic.fillColor,\r\n transparent: true,\r\n opacity: graphic.alpha});\r\n\r\n graphic.mesh = new THREE.Mesh( geometry, material);\r\n graphic.mesh.boothIndex = graphic.index;\r\n\r\n graphic.mesh.position.set( graphic.center.x - targetX, targetY - graphic.center.y, 0.5 );\r\n\r\n boothMeshes.push( graphic.mesh);\r\n\r\n\t\t\t\r\n // draw edges around booths - needed for border color from EXPOCAD ?\r\n\t\t\t\t// linewidth parameter of THREE.LinesBasicMaterial has no effect on Windows platform\r\n geometry = new THREE.EdgesGeometry( graphic.mesh.geometry);\r\n\t\t\t\r\n\t\t\tedgeWidth = parseFloat( config.boothBorderLineWidth);\r\n var mat = new THREE.LineBasicMaterial( { color: graphic.strokeColor,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlinewidth: edgeWidth});\r\n edges = new THREE.LineSegments( geometry, mat);\r\n graphic.mesh.add( edges);\r\n\r\n group.add( graphic.mesh );\r\n }\r\n else {\r\n // create minimum size mesh for booth with 0 width or 0 length\r\n graphic.mesh = new THREE.Mesh(\r\n new THREE.BoxGeometry( 1, 1, 1),\r\n new THREE.MeshBasicMaterial( { color: graphic.fillColor, wireframe: false})\r\n );\r\n\r\n graphic.mesh.position.set( graphic.center.x - targetX, targetY - graphic.center.y, 0.5 );\r\n\r\n group.add( graphic.mesh);\r\n\r\n boothMeshes.push( graphic.mesh);\r\n \r\n data.floorPlanText = data.floorPlanText.concat( graphic.text);\r\n }\r\n }\r\n \r\n\tfunction addBoothText( graphic) {\r\n\t\tgraphic.textMesh = new BoothText( graphic, targetX, targetY, Number(extrudeHeight) + 1); //12\r\n//\t\tconsole.log( \"Add Text - booth \" + graphic.text[0].text + \r\n//\t\t\t\t\t\" mesh: \" + typeof(graphic.textMesh) + \" material: \" + \r\n//\t\t\t\t graphic.textMesh.material + \" texture: \" + graphic.textMesh.material.map);\r\n\t\tgraphic.mesh.add( graphic.textMesh);\r\n\t}\r\n\t\r\n function addOverlays() {\r\n var material = null;\r\n var texture = null;\r\n var mesh = null;\r\n var img = null;\r\n var i = 0;\r\n var numOverlays = data.arOverlays.length;\r\n var posX = 0;\r\n var posY = 0;\r\n\t\t\r\n\t\tif( !data.status.overlaysReady) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n if( !overlaysAdded) {\r\n\t\t\toverlaysAdded = true;\r\n\t\t\tfor( i = 0; i < numOverlays; i++) {\r\n\t\t\t\tif( data.arOverlays[i].ready) {\t\t// false if error loading overlay\r\n\t\t\t\t\timg = data.arOverlays[i].imgElement;\r\n\r\n\t\t\t\t\tmaterial = new THREE.MeshBasicMaterial( {color:0xffffff, transparent:true});\r\n\r\n\t\t\t\t\ttexture = new THREE.Texture();\r\n\t\t\t\t\ttexture.image = img;\r\n\t\t\t\t\ttexture.needsUpdate = true;\r\n\r\n\t\t\t\t\tmaterial.map = texture;\r\n\t\t\t\t\tmaterial.map.minFilter = THREE.LinearFilter;\r\n\t\t\t\t\tmaterial.transparent = true;\r\n\r\n\t\t\t\t\tposX = data.arOverlays[i].x - CENTER_X;\r\n\t\t\t\t\tposY = CENTER_Y - data.arOverlays[i].y;\r\n\r\n\t\t\t\t\tposX += data.arOverlays[i].w / 2;\r\n\t\t\t\t\tposY -= data.arOverlays[i].h / 2;\r\n\r\n\t\t\t\t\tmesh = new THREE.Mesh( new THREE.PlaneGeometry( \r\n\t\t\t\t\t\tdata.arOverlays[i].w, data.arOverlays[i].h, 96, 96), material);\r\n\r\n\t\t\t\t\tmesh.position.set( posX, posY, Number(extrudeHeight) + 1);\r\n\t\t\t\t\tmesh.rotation.z = data.arOverlays[i].rot;\r\n\t\t\t\t\tmesh.ovIndex = i;\r\n\t\t\t\t\t\r\n\t\t\t\t\tgroup.add( mesh);\r\n\t\t\t\t\toverlayMeshes.push( mesh);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n }\r\n \r\n function cameraZoom( direction) {\r\n var zoomStep = 0;\r\n \r\n if( direction > 0) {\r\n zoomStep = 0.1 * currentCameraDistance;\r\n \r\n if( currentCameraDistance - zoomStep > 10) {\r\n camera.position.z -= zoomStep;\r\n }\r\n }\r\n else {\r\n zoomStep = ( currentCameraDistance / 0.9) - currentCameraDistance;\r\n \r\n if( currentCameraDistance + zoomStep < initialCameraDistance) {\r\n camera.position.z += zoomStep;\r\n }\r\n }\r\n \r\n currentCameraDistance = getCameraDistance();\r\n \r\n updateNeeded = true;\r\n }\r\n \r\n function getCameraDistance() {\r\n var intersects;\r\n var cX = camera.position.x / containerWidth;\r\n var cY = camera.position.y / containerHeight;\r\n \r\n mouse.set( cX, cY );\r\n raycaster.setFromCamera( mouse, camera);\r\n intersects = raycaster.intersectObjects( [floorMesh]);\r\n if ( intersects.length > 0 ) {\r\n return intersects[0].distance;\r\n }\r\n else {\r\n return currentCameraDistance;\r\n }\r\n }\r\n \r\n function moveCamera( dx, dy) { // only used by I Am Here ?! --> dragTo()\r\n dy = sin45 * dy;\r\n camera.position.x -= dx;\r\n camera.position.z -= dy;\r\n camera.position.y += dy;\r\n \r\n updateNeeded = true;\r\n }\r\n \r\n function hitTest( x, y) {\r\n var intersects;\r\n var newX = ( x / containerWidth) * 2 - 1; // normalize -1 to +1\r\n var newY = - ( y / containerHeight) * 2 + 1;\r\n var i;\r\n var newIntersect = null;\r\n \r\n mouse.set( newX, newY);\r\n \r\n raycaster.setFromCamera( mouse, camera);\r\n \r\n intersects = raycaster.intersectObjects( boothMeshes, true);\r\n// intersects = raycaster.intersectObjects( group.children, true);\r\n if ( intersects.length > 0 ) {\r\n for( i = 0; i < intersects.length; i++) {\r\n if( intersects[i].object.hasOwnProperty( \"boothIndex\")) {\r\n newIntersect = data.booths[ intersects[ i].object.boothIndex];\r\n break;\r\n }\r\n }\r\n }\r\n if( newIntersect === null) {\r\n intersects = raycaster.intersectObjects( overlayMeshes, true);\r\n if( intersects.length > 0) {\r\n newIntersect = data.arOverlays[ intersects[0].object.ovIndex];\r\n }\r\n }\r\n return newIntersect;\r\n }\r\n \r\n function rotateToStart() {\r\n group.rotation.x = (group.rotation.x - 0.05 >= drawingRotation) ?\r\n group.rotation.x - 0.05 : drawingRotation;\r\n \r\n renderScene();\r\n \r\n if( group.rotation.x > drawingRotation) {\r\n setTimeout( rotateToStart, 60);\r\n }\r\n else {\r\n camera.updateProjectionMatrix();\r\n\t\t\t// ready to zoomToBooth if needed\r\n\t\t\trotating = false;\r\n\t\t\tif( pendingInitialZoom) {\r\n\t\t\t\tgoToPoint( pendingInitialZoom.x, pendingInitialZoom.y, pendingInitialZoom.r);\r\n\t\t\t\tpendingInitialZoom = null;\r\n\t\t\t}\r\n }\r\n }\r\n \r\n// function logCameraPosition() {\r\n// console.log( \"Cam pos x: \" + camera.position.x + \", y: \" + camera.position.y +\r\n// \", z: \" + camera.position.z + \" Rot X: \" + camera.rotation.x);\r\n// }\r\n \r\n function fitDrawing() { // drawing size and offset have not changed\r\n //reset camera position, distance and target\r\n \r\n camera.position.x = 0;\r\n camera.position.y = 0;\r\n camera.position.z = initialCameraDistance;\r\n \r\n targetX = CENTER_X;\r\n targetY = CENTER_Y;\r\n currentCameraDistance = initialCameraDistance;\r\n updateNeeded = true;\r\n }\r\n \r\n function resizeHandler() {\r\n containerWidth = elemById( \"floorplan\").clientWidth;\r\n containerHeight = elemById( \"floorplan\").clientHeight;\r\n \r\n fitScale = calculateScale();\r\n calculateInitialOffset();\r\n \r\n initialCameraDistance = Math.floor( ( containerHeight /2) / Math.tan( rFOV / 2) +\r\n Math.sin( Math.PI/4) * (config.DRAWING_HEIGHT/2) * fitScale);\r\n \r\n camera.aspect = containerWidth / containerHeight;\r\n camera.updateProjectionMatrix();\r\n \r\n renderer.setSize( containerWidth, containerHeight);\r\n group.scale.set( fitScale, fitScale, fitScale);\r\n \r\n updateNeeded = true;\r\n \r\n return { x: initialOffsetX, y: initialOffsetY};\r\n }\r\n \r\n function globalToFloorPlan( gPt) {\r\n var lPt = null;\r\n var intersects;\r\n var newX = ( gPt.x / containerWidth) * 2 - 1;\r\n var newY = - ( gPt.y / containerHeight) * 2 + 1;\r\n \r\n mouse.set( newX, newY);\r\n raycaster.setFromCamera( mouse, camera);\r\n intersects = raycaster.intersectObjects( [floorMesh], true);\r\n \r\n if ( intersects.length > 0 ) {\r\n lPt = {};\r\n lPt.x = Math.round( intersects[0].point.x / fitScale + CENTER_X);\r\n lPt.y = Math.round( CENTER_Y - (intersects[0].point.y / fitScale / sin45));\r\n }\r\n return lPt;\r\n }\r\n \r\n function findPoint( pointerX, PointerY) {\r\n var intersects;\r\n var nX = ( pointerX / containerWidth) * 2 - 1;\r\n var nY = - ( PointerY / containerHeight) * 2 + 1;\r\n \r\n mouse.set( nX, nY);\r\n \r\n raycaster.setFromCamera( mouse, camera);\r\n \r\n intersects = raycaster.intersectObjects( [floorMesh]);\r\n if ( intersects.length > 0 ) {\r\n \r\n return { x:intersects[0].point.x, y:intersects[0].point.y};\r\n }\r\n return null;\r\n }\r\n \r\n function pointerDownAt( pointerX, PointerY) {\r\n var pt = findPoint( pointerX, PointerY);\r\n if( pt) {\r\n pointerAt = pt;\r\n }\r\n }\r\n \r\n function dragTo( pointerX, pointerY) {\r\n // pointerAt set on mouse down, pointer down or touch start\r\n var dx;\r\n var dy;\r\n var pt = findPoint( pointerX, pointerY);\r\n if( pt) {\r\n dx = ( pt.x - pointerAt.x);\r\n dy = ( pt.y - pointerAt.y);\r\n \r\n camera.position.x -= dx;\r\n camera.position.y -= dy;\r\n camera.position.z += dy;\r\n \r\n // force update\r\n updateNeeded = true;\r\n updateCheck();\r\n \r\n pointerAt = findPoint( pointerX, pointerY);\r\n }\r\n }\r\n \r\n function removeBoothText( bth) {\r\n var graphic = data.boothGraphics[ bth.index];\r\n \r\n if( graphic) {\r\n graphic.text = [];\r\n updateNeeded = true;\r\n }\r\n }\r\n \r\n function addGraphic( graphic) {\r\n data.pavilions.push( graphic);\r\n numPavilions += 1;\r\n }\r\n \r\n function highlightBooth( boothIndex) {\r\n var arTemp = boothIndex === -1 ? [] : String(boothIndex).split( \",\");\r\n var bthMesh = null;\r\n // remove existing highlights\r\n\t\tarHighlight.forEach( function( boothIndex) {\r\n\t\t\t\t// three.js uses \"0x\" instead of \"#\", carry over from Flash Player!\r\n\t\t\tboothMeshes[ boothIndex].material.color.setHex(\r\n\t\t\t\tdata.boothGraphics[ boothIndex].fillColor.replace( \"#\", \"0x\"));\r\n\t\t});\r\n \r\n if( boothIndex !== \"-1\") {\r\n\t\t\tarTemp.forEach( function( boothIndex) {\r\n bthMesh = boothMeshes[ boothIndex];\r\n if( bthMesh) {\r\n bthMesh.material.color.setHex( config.clrHighlight.replace( \"#\", \"0x\"));\r\n }\r\n\t\t\t});\r\n\t\t\t\r\n }\r\n arHighlight = ( boothIndex !== \"-1\") ? arTemp : [];\r\n updateNeeded = true;\r\n }\r\n \r\n function addToOutline( obj, color, width) {\r\n var index = arOutline.indexOf( obj);\r\n if( index === -1) {\r\n arOutline.push( obj); // why 2 arrays ??\r\n arOutlineParams.push( {\"color\": color, \"width\": width});\r\n }\r\n }\r\n \r\n function removeFromOutline( obj) {\r\n if( obj === null) {\r\n arOutlineParams = [];\r\n arOutline = [];\r\n }\r\n else {\r\n var index = arOutline.indexOf( obj);\r\n if( index !== -1) {\r\n arOutlineParams.splice( index, 1);\r\n arOutline.splice( index, 1);\r\n }\r\n }\r\n }\r\n \r\n function markFavorite( boothIndex) {\t\t// index or comma sepatated string of indexes\r\n\t\tvar SIZE = config.scaleFactor / 0.7;\r\n var arTemp = String( boothIndex).split( \",\");\r\n var len = arTemp.length;\r\n var i = 0;\r\n\t\tvar text = String.fromCharCode(config.FAVORITE_CHARACTER_CODE);\r\n var canvas = null;\r\n var ctx = null;\r\n var mesh = null;\r\n var boothGraphic = null;\r\n\t\t\r\n\t\t// check to see if there is already a mark for the booth\r\n for( i = 0; i < len; i++) {\r\n boothGraphic = data.boothGraphics[ arTemp[i]];\r\n\t\t\t\r\n\t\t\tif( !util.arrayFind( arFavorites, \"index\", boothGraphic.index)) {\r\n\t\t\t\tcanvas = doc.createElement( \"canvas\");\r\n\t\t\t\tcanvas.width = SIZE;\r\n\t\t\t\tcanvas.height = SIZE;\r\n\t\t\t\tctx = canvas.getContext( \"2d\");\r\n\r\n\t\t\t\tctx.fillStyle = config.clrHighlight;\r\n\t\t\t\tctx.globalAlpha = 0.7;\r\n\r\n\t\t\t\tctx.font = \"700 \" + SIZE + \"px 'Font Awesome 5 Free'\";\r\n\t\t\t\tvar textWidth = ctx.measureText( text).width;\r\n\t\t\t\t\r\n\t\t\t\tctx.fillText( text, 0.5 * (SIZE - textWidth), 0.9 * SIZE);\r\n\r\n\t\t\t\tmesh = meshFromCanvas( canvas, true);\r\n\t\t\t\tmesh.index = boothGraphic.index;\r\n\r\n\t\t\t\tmesh.rotateZ( boothGraphic.text[0].rotation );\r\n\r\n\t\t\t\tmesh.position.z = Number(extrudeHeight) + 1;\r\n\t\t\t\tboothGraphic.mesh.add( mesh);\r\n\r\n\t\t\t\tarFavorites.push( mesh);\r\n\t\t\t}\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function removeFavorite( boothIndex) {\r\n var len = arFavorites.length;\r\n var i = 0;\r\n \r\n for( i = 0; i < len; i++) {\r\n if( arFavorites[i].index === parseInt(boothIndex, 10)) {\r\n data.boothGraphics[boothIndex].mesh.remove( arFavorites[i]);\r\n arFavorites.splice( i, 1);\r\n updateNeeded = true;\r\n break;\r\n }\r\n }\r\n }\r\n \r\n function markSelected( boothGraphic) {\r\n\t\tvar text = String.fromCharCode(config.SELECTED_CHARACTER_CODE);\r\n var canvas = null;\r\n var ctx = null;\r\n var mesh = null;\r\n var textX = 0;\r\n var textY = 0;\r\n\t\t\r\n // is booth already marked\r\n\t\tif( util.arrayFind( arSelected, \"index\", boothGraphic.index)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\tcanvas = doc.createElement( \"canvas\");\r\n\t\tcanvas.width = 170 * config.MULTIPLIER; ///////////\r\n\t\tcanvas.height = 170 * config.MULTIPLIER;\r\n\t\tctx = canvas.getContext( \"2d\");\r\n\r\n\t\ttextX = boothGraphic.minX + 0.5 * (boothGraphic.maxX - boothGraphic.minX);\r\n\t\ttextY = boothGraphic.minY + 0.25 * (boothGraphic.maxY - boothGraphic.minY);\r\n\t\t\r\n\t\tctx.fillStyle = config.clrSelected;\r\n ctx.globalAlpha = 0.8;\r\n\r\n\t\t//ctx.font = \"bold \" + canvas.height -12 + \"px 'Font Awesome 5 Free'\"; //////////\r\n\t\tctx.font = \"bold 116px 'Font Awesome 5 Free'\"; //////////\r\n\t\tvar textWidth = ctx.measureText( text).width;\r\n \r\n\t\tctx.fillText( text, 0.5 * (canvas.width - textWidth), 0.88 * canvas.height);\r\n\r\n\t\tmesh = meshFromCanvas( canvas, false);\r\n\t\tmesh.index = boothGraphic.index;\r\n\r\n\t\tmesh.position.set( textX - targetX, -(textY - targetY), Number(extrudeHeight) + canvas.height/2);\r\n\t\tmesh.rotation.x = 0.25 * Math.PI;\r\n\r\n\t\tgroup.add( mesh);\r\n\r\n\t\tarSelected.push( mesh);\r\n \r\n updateNeeded = true;\r\n }\r\n \r\n function removeSelected( boothIndex) {\r\n var len = arSelected.length;\r\n var i = 0;\r\n \r\n for( i = 0; i < len; i++) {\r\n if( arSelected[i].index === boothIndex) {\r\n group.remove( arSelected[i]);\r\n arSelected.splice( i, 1);\r\n updateNeeded = true;\r\n break;\r\n }\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function removeAllSelected() {\r\n var mesh = null;\r\n \r\n while( arSelected.length > 0) {\r\n mesh = arSelected.pop();\r\n group.remove( mesh);\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function updateSelected( ar) {\r\n var len = ar.length;\r\n var i;\r\n \r\n for( i = 0; i < len; i++) {\r\n markSelected( data.boothGraphics[ ar[i].index] );\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function goToPoint( newX, newY, ratio) {\r\n\t\t// if rotating, WAIT\r\n\t\tif( rotating) {\r\n\t\t\tpendingInitialZoom = {\r\n\t\t\t\tx: newX,\r\n\t\t\t\ty: newY,\r\n\t\t\t\tr: ratio\r\n\t\t\t};\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n zoomFinalDist = initialCameraDistance / ( 8 * ratio);\r\n// console.log( \"final zoom distance: \" + zoomFinalDist + \" initial: \" + initialCameraDistance);\r\n panFinalX = Math.round( (newX - CENTER_X) * fitScale); // in drawing points\r\n panFinalY = -Math.round( sin45 * (newY - CENTER_Y) * fitScale);\r\n \r\n panDirectionX = ( camera.position.x - panFinalX < 0) ? 1 : -1;\r\n panDirectionY = panFinalY - camera.position.y;\r\n \r\n effectTime = Date.now();\r\n effectInProgress = true;\r\n \r\n if( panFinalX === camera.position.x && panFinalY === camera.position.y) {\r\n zoomingIn = true;\r\n }\r\n else {\r\n if( camera.position.z + camera.position.y < initialCameraDistance -1) {\r\n zoomingOut = true;\r\n }\r\n else {\r\n panning = true;\r\n }\r\n }\r\n updateNeeded = true;\r\n }\r\n \r\n function updateEffect() {\r\n var time = Date.now();\r\n var step = 0;\r\n \r\n if( zoomingOut) {\r\n step = 0.5 * (time - effectTime);\r\n if( camera.position.z + camera.position.y + step < initialCameraDistance) {\r\n camera.position.z += step;\r\n }\r\n else {\r\n camera.position.z = initialCameraDistance - camera.position.y;\r\n zoomingOut = false;\r\n panning = true;\r\n }\r\n currentCameraDistance = camera.position.z + camera.position.y; \r\n }\r\n else if( zoomingIn) {\r\n step = 0.5 * (time - effectTime);\r\n if( camera.position.z - step > zoomFinalDist - camera.position.y) {\r\n camera.position.z -= step;\r\n }\r\n else {\r\n zoomingIn = false;\r\n effectInProgress = false;\r\n }\r\n currentCameraDistance = camera.position.z + camera.position.y;\r\n }\r\n else if( panning) {\r\n step = 0.75 * (time - effectTime);\r\n if( panDirectionX < 0) {\r\n if( camera.position.x - step <= panFinalX) {\r\n camera.position.x = panFinalX;\r\n }\r\n else {\r\n camera.position.x -= step;\r\n }\r\n }\r\n else {\r\n if( camera.position.x + step >= panFinalX) {\r\n camera.position.x = panFinalX;\r\n }\r\n else {\r\n camera.position.x += step;\r\n }\r\n }\r\n \r\n if( panDirectionY < 0) {\r\n if( camera.position.y - step <= panFinalY) {\r\n camera.position.y = panFinalY;\r\n camera.position.z = initialCameraDistance + panFinalY;\r\n }\r\n else {\r\n camera.position.y -= step;\r\n camera.position.z += step;\r\n }\r\n }\r\n else {\r\n if( camera.position.y + step >= panFinalY) {\r\n camera.position.y = panFinalY;\r\n camera.position.Z = initialCameraDistance - panFinalY;\r\n }\r\n else {\r\n camera.position.y += step;\r\n camera.position.z -= step;\r\n }\r\n }\r\n if( camera.position.x === panFinalX && camera.position.y === panFinalY) { // \r\n panning = false;\r\n zoomingIn = true;\r\n }\r\n }\r\n else {\r\n effectInProgress = false;\r\n }\r\n effectTime = time;\r\n updateNeeded = true;\r\n }\r\n \r\n function updateCheck() {\r\n if( !active) {\r\n return;\r\n }\r\n var ratio = currentCameraDistance/initialCameraDistance;\r\n// updateAnimation();\r\n if(effectInProgress ) {\r\n updateEffect();\r\n }\r\n// cameraControl();\r\n if( updateNeeded || idleCount > 40) {\r\n idleCount = 0;\r\n \r\n renderScene();\r\n if( updateNeeded) {\r\n doc.dispatchEvent( new FxEvent( \"Floor_Plan_Change\",\r\n { ratio: ratio,\r\n x:camera.position.x/fitScale + CENTER_X,\r\n y:(-(camera.position.y/sin45)/fitScale + CENTER_Y) } ));\r\n \r\n }\r\n updateNeeded = false;\r\n }\r\n else {\r\n idleCount += 1;\r\n }\r\n if( updateTimer !== null) {\r\n clearTimeout( updateTimer);\r\n }\r\n updateTimer = setTimeout( updateCheck, 100);\r\n }\r\n \r\n function printFloorPlan( full) {\r\n var currentLocation = camera.position.clone();\r\n var fpImg = null;\r\n \r\n if( full) {\r\n camera.position.set( 0, 0, initialCameraDistance);\r\n renderer.render( scene, camera);\r\n }\r\n fpImg = renderer.domElement.toDataURL( 'image/png');\r\n \r\n camera.position.copy( currentLocation);\r\n renderer.render( scene, camera);\r\n \r\n return fpImg;\r\n }\r\n \r\n function remove3dFloorPlan() {\r\n if( renderer) {\r\n container.removeChild( renderer.domElement);\r\n }\r\n\t\tclearTimeout( updateTimer);\r\n active = false;\r\n disableEvents();\r\n\t\tscene.remove( group);\r\n\t\trenderScene();\r\n }\r\n \r\n function showFloorPlan() {\r\n // get rid of booth gradients !!!\r\n container.appendChild( renderer.domElement);\r\n renderer.render( scene, camera);\r\n enableEvents();\r\n active = true;\r\n\t\tscene.add( group);\r\n updateCheck();\r\n }\r\n \r\n function checkBuilding() {\r\n if( floorMesh) {\r\n if( data.bDrawBuilding) {\r\n group.add( floorMesh);\r\n }\r\n else {\r\n group.remove( floorMesh);\r\n }\r\n }\r\n }\r\n \r\n\t\r\n // Public interface\r\n return {\r\n addBoothGraphic: addBoothGraphic,\r\n addBuilding: addBuilding,\r\n addGraphic: addGraphic,\r\n addOverlays: addOverlays,\r\n addToOutline: addToOutline,\r\n completeSetup: completeSetup,\r\n dragTo: dragTo,\r\n fit: fitDrawing,\r\n getFloorPlanImage: printFloorPlan,\r\n\t\tgetIsReady: function() { return isReady;},\r\n getOffset: function() { return { x: initialOffsetX, y: initialOffsetY};},\r\n getScale: function() { return fitScale; },\r\n getSelected: function() { return arSelected; },\r\n globalToFloorPlan: globalToFloorPlan,\r\n goToPoint: goToPoint,\r\n highlightBooth: highlightBooth,\r\n hitTest: hitTest,\r\n markFavorite: markFavorite,\r\n markSelected: markSelected,\r\n moveBy: function( dx, dy) {\r\n moveCamera( dx * fitScale, dy * fitScale);\r\n },\r\n redraw: function() {\r\n updateNeeded = true;\r\n checkBuilding();\r\n // if starting program, call once to start the loop\r\n if( !loopStarted) {\r\n loopStarted = true;\r\n updateCheck();\r\n }\r\n },\r\n pointerDownAt: pointerDownAt,\r\n remove3dFloorPlan: remove3dFloorPlan,\r\n removeAllSelected: removeAllSelected,\r\n removeBoothText: removeBoothText,\r\n removeFavorite: removeFavorite,\r\n removeFromOutline: removeFromOutline,\r\n removeSelected: removeSelected,\r\n resizeHandler: resizeHandler,\r\n showFloorPlan: showFloorPlan,\r\n setIAmHere: setIAmHere,\r\n updateSelected: updateSelected,\r\n zoom: function( step) {\r\n// console.log( \"Zoom step: \" + step);\r\n cameraZoom( step);\r\n },\r\n zoomTo: function() {\r\n camera.position.z = initialCameraDistance / 2 - camera.position.y ;\r\n updateNeeded = true;\r\n }\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// useStrict\r\n/* global aBoothClick, mBoothClick, rBoothClick */\r\nvar simpleDrawing;\r\n\r\nexpocadfx.Floorplan = function() {\r\n //var eventDatabaseName = \"19ces\";\r\n var config = expocadfx.config;\r\n var data = expocadfx.fxData;\r\n var elemById = expocadfx.element.elementById;\r\n var txt = expocadfx.txt;\r\n var fxStyle = expocadfx.styles;\r\n\tvar util = expocadfx.util;\r\n var Booth = expocadfx.Booth;\r\n var Drawing = expocadfx.Drawing;\r\n var Drawing3d = expocadfx.Drawing3d;\r\n var FxEvent = expocadfx.fxevent;\r\n var GraphicObject = expocadfx.GraphicObject;\r\n var MiniMap = expocadfx.MiniMap;\r\n \r\n var BOOTH_AVAILABLE = \"0\";\r\n var BOOTH_HOLD = \"1\";\r\n var BOOTH_RENTED = \"2\";\r\n var BOOTH_DELETED = \"4\";\r\n \r\n var twoD = null;\r\n var threeD = null;\r\n\tvar drawing = null;\r\n var sales = null;\r\n var miniMap = null;\r\n var doc = document;\r\n \r\n var fpc = null;\r\n var flyout = null;\r\n var threedflyout = null;\r\n \r\n var touchStartTime = 0;\r\n var lastTapTime = 0;\r\n var lastTouchX = 0;\r\n var lastTouchY = 0;\r\n var dragging = false; // panning\r\n var zooming = false;\r\n var bTextDone = false;\r\n var lastDist = -1;\r\n var pointerEvents = [];\r\n \r\n var fpcHeight = 0;\r\n var fpcWidth = 0;\r\n var zoomStep = 0.1;\r\n var bBuildingText = false;\r\n var bProcessPending = true;\r\n var totalElements = 0;\r\n var elementsDone = 0;\r\n var loopSize = 50;\r\n var clickCount = 0;\r\n\tvar techLayersPending = false;\r\n \r\n var buildingImage = null;\r\n var xmlBooths = null;\r\n \r\n var bPointerDown = false;\r\n var lastBooth = null;\r\n\r\n var flyoutPending = false;\r\n var flyoutDelay = null;\r\n var fpRight = 0;\r\n var fpBottom = 0;\r\n\r\n var locationTimeoutID = 2;\r\n \r\n\t\r\n\tdoc.addEventListener( \"Technical_Layers_Loaded\", techLayersLoaded);\r\n \r\n function getDistance( touch1, touch2) {\r\n return Math.sqrt(Math.pow((touch2.clientX - touch1.clientX), 2) + \r\n Math.pow((touch2.clientY - touch1.clientY), 2)); \r\n }\r\n \r\n function getBoothColor( graphic, status) {\r\n // Option to use EXPOCAD booth color for line or fill\r\n if (status === 0 || status === BOOTH_AVAILABLE) {\r\n graphic.fillColor = config.fillAvailableWithExpocadColor && graphic.expColor !== \"\" ?\r\n graphic.expColor : config.clrAvailable;\r\n \r\n graphic.strokeColor = config.borderAvailableWithExpocadColor && graphic.expColor !== \"\" ?\r\n graphic.expColor : config.clrBoothBorder !== \"\" ? \r\n config.clrBoothBorder : config.bBoothGradient ?\r\n config.clrAvailable : config.clrBackground;\r\n \r\n } else if (status === 1 || status === BOOTH_HOLD) {\r\n graphic.fillColor = config.fillOnHoldWithExpocadColor && graphic.expColor !== \"\" ?\r\n graphic.expColor : config.clrHold;\r\n \r\n graphic.strokeColor = config.borderOnHoldWithExpocadColor && graphic.expColor !== \"\" ?\r\n graphic.expColor : config.clrBoothBorder !== \"\" ? \r\n config.clrBoothBorder : config.bBoothGradient ?\r\n config.clrAvailable : config.clrBackground;\r\n \r\n } else if (status === 2 || status === BOOTH_RENTED) {\r\n graphic.fillColor = config.fillRentedWithExpocadColor && graphic.expColor !== \"\" ?\r\n graphic.expColor : config.clrRent;\r\n \r\n graphic.strokeColor = config.borderRentedWithExpocadColor && graphic.expColor !== \"\" ?\r\n graphic.expColor : config.clrBoothBorder !== \"\" ? \r\n config.clrBoothBorder : config.bBoothGradient ?\r\n config.clrAvailable : config.clrBackground;\r\n \r\n } else { // ?? what is it ??\r\n graphic.fillColor = \"white\";\r\n graphic.strokeColor = \"white\";\r\n }\r\n }\r\n \r\n function getBoothMinMax( graphic) {\r\n var i = 0;\r\n graphic.minX = graphic.path[0].x;\r\n graphic.minY = graphic.path[0].y;\r\n graphic.maxX = graphic.path[0].x;\r\n graphic.maxY = graphic.path[0].y;\r\n\r\n for( i = 1; i < graphic.numPoints; i++) {\r\n graphic.minX = (graphic.path[i].x < graphic.minX) ? graphic.path[i].x : graphic.minX;\r\n graphic.minY = (graphic.path[i].y < graphic.minY) ? graphic.path[i].y : graphic.minY;\r\n graphic.maxX = (graphic.path[i].x > graphic.maxX) ? graphic.path[i].x : graphic.maxX;\r\n graphic.maxY = (graphic.path[i].y > graphic.maxY) ? graphic.path[i].y : graphic.maxY;\r\n }\r\n // probable bad show, BUT 2011 CES had 10 \"booths\" with 4 identical points\r\n // 3d throws exception!\r\n if( graphic.minX === graphic.maxX || graphic.minY === graphic.maxY) {\r\n graphic.hasSize = false;\r\n }\r\n }\r\n \r\n function newBooth( boothNumber) {\r\n var booth = new Booth( null, data.booths.length);\r\n booth.number = boothNumber;\r\n booth.graphic = new GraphicObject( null, \"T\");\r\n booth.graphic.index = data.booths.length;\r\n booth.graphic.fill = true;\r\n booth.graphic.stroke = true;\r\n booth.graphic.alpha = config.BOOTH_ALPHA;\r\n \r\n getBoothColor( booth.graphic, BOOTH_AVAILABLE);\r\n \r\n data.booths.push( booth);\r\n data.boothGraphics.push( booth.graphic);\r\n \r\n return booth;\r\n }\r\n \r\n function saveNewBooth( booth) {\r\n data.booths.push( booth);\r\n data.boothGraphics.push( booth.graphic);\r\n }\r\n \r\n function parseGraphicsXml( xml, start) {\r\n var end = (start + loopSize < totalElements) ? start +loopSize: totalElements;\r\n \r\n var i = 0;\r\n var booth = null;\r\n var graphic = null;\r\n var type = \"\";\r\n\t\tvar arc = null;\r\n \r\n for( i = start; i < end; i++) {\r\n // all graphic objects - booths, pavilions, graphics\r\n type = xml[i].getAttribute(\"b\");\r\n\t\t\t\r\n\t\t\tif( type === \"C\") {\r\n\t\t\t\tdata.arCircles.push( makeCircle( xml[i], type));\r\n\t\t\t}\r\n\t\t\telse if( type === \"A\") {\r\n\t\t\t\tarc = makeCircle( xml[i], type);\r\n\t\t\t\tarc.startAngle = parseFloat( xml[i].getAttribute( \"s\"));\r\n\t\t\t\tarc.endAngle = parseFloat( xml[i].getAttribute( \"e\"));\r\n\t\t\t\tdata.arArcs.push( arc);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tgraphic = new GraphicObject( xml[i], type);\r\n\r\n\t\t\t\tif( type !== \"T\") {\r\n\t\t\t\t\tdrawing.addGraphic(graphic);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tgetBoothMinMax( graphic);\r\n\t\t\t\t\tbooth = new Booth( xml[i], data.booths.length);\r\n\t\t\t\t\tif( booth.status === BOOTH_AVAILABLE) {\r\n\t\t\t\t\t\tdata.numAvailableBooths += 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if( booth.status === BOOTH_HOLD) {\r\n\t\t\t\t\t\tdata.numOnHoldBooths += 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tgetBoothColor( graphic, booth.status);\r\n\t\t\t\t\tgraphic.displayColor = graphic.fillColor;\r\n\t\t\t\t\tbooth.graphic = graphic;\r\n\r\n\t\t\t\t\tgraphic.index = booth.index;\r\n\r\n\t\t\t\t\tdata.booths.push( booth);\r\n\t\t\t\t\t\t// 2D or 3D\r\n\t\t\t\t\tdrawing.addBoothGraphic( graphic);\r\n\t\t\t\t\tdata.boothGraphics.push( graphic);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n }\r\n\t\r\n\tfunction makeCircle( xml, type) {\r\n\t\treturn {\r\n\t\t\ttype: type,\r\n\t\t\tx: parseInt( xml.getAttribute( \"x\"), 10),\r\n\t\t\ty: parseInt( xml.getAttribute( \"y\"), 10),\r\n\t\t\tradius: parseFloat( xml.getAttribute( \"r\")),\r\n\t\t\tstartAngle: 0,\r\n\t\t\tendAngle: 2 * Math.PI,\r\n\t\t\tlineWidth: 2 * parseInt( xml.getAttribute( \"w\"), 10),\r\n\t\t\tstrokeColor: xml.getAttribute( \"c\").replace( \"0x\", \"#\"),\r\n\t\t\talpha: 1,\r\n\t\t\tanticlockwise: false\r\n\t\t};\r\n }\r\n \r\n function makeJsonCircle( json, type) {\r\n\t\treturn {\r\n\t\t\ttype: type,\r\n\t\t\tx: parseInt( json.x, 10),\r\n\t\t\ty: parseInt( json.y, 10),\r\n\t\t\tradius: parseFloat( json.r),\r\n\t\t\tstartAngle: 0,\r\n\t\t\tendAngle: 2 * Math.PI,\r\n\t\t\tlineWidth: 2 * parseInt( json.w, 10),\r\n\t\t\tstrokeColor: json.colorOverride,\r\n\t\t\talpha: 1,\r\n\t\t\tanticlockwise: false\r\n\t\t};\r\n\t}\r\n \r\n function removeBoothText( bth) {\r\n\t\tvar exhId = data.exhibitors[bth.exhibitorIndex].exhId;\r\n drawing.removeBoothText( bth);\r\n\t\t\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Favorite_Change\", { fav:false, \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tboothNumber:bth.number,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tboothIndex:bth.index,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texhId:exhId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlocal:true\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Booth_List_Change\", {}));\r\n }\r\n \r\n\tfunction createFloorPlanObjects() {\r\n\t\tif( buildingImage === null) {\r\n\t\t\tgetBuildingImage( config.eventName);\r\n\t\t}\r\n if( elementsDone < totalElements) {\r\n if( config.isXML){\r\n parseGraphicsXml( xmlBooths, elementsDone);\r\n }\r\n elementsDone += loopSize;\r\n\t\t\tloopSize += 100;\t\t// shorter initial loop allows building jpeg to start loading sooner\r\n }\r\n else if( !bTextDone) { // Pavilion name and any other non-booth text(?)\r\n \r\n if( config.isXML){\r\n addText( data.xmlGraphics.querySelectorAll( \"PT\"), data.pavilionLabels,\r\n config.clrBoothText, config.FLOOR_PLAN_FONT);\r\n\r\n addText( data.xmlGraphics.querySelectorAll( \"OT\"), data.floorPlanText,\r\n config.clrBoothText, config.FLOOR_PLAN_FONT);\r\n }\r\n else{\r\n parseGraphicsSQL();\r\n }\r\n \r\n bTextDone = true;\r\n }\r\n else if( !bBuildingText) {\r\n\t\t\tif( data.xmlBldgTxt && config.isXML) {\r\n\t\t\t\taddText( data.xmlBldgTxt, data.buildingText,\r\n\t\t\t\t\t\t\tconfig.clrBuildingText, config.FLOOR_PLAN_FONT);\r\n\t\t\t\t\r\n\t\t\t\tbBuildingText = true;\r\n\t\t\t\tdata.status.buildingTextReady = true;\r\n\t\t\t\tbProcessPending = false;\r\n\t\t\t\tdata.xmlBldgTxt = null;\r\n }\r\n else if( data.jsonBldgTxt){\r\n addJsonText( data.jsonBldgTxt, data.buildingText,\r\n config.clrBuildingText, config.FLOOR_PLAN_FONT);\r\n \r\n bBuildingText = true;\r\n data.status.buildingTextReady = true;\r\n bProcessPending = false;\r\n data.jsonBldgTxt = null;\r\n }\r\n }\r\n \r\n if( bProcessPending) {\r\n setTimeout( createFloorPlanObjects, 0);\r\n drawing.redraw();\r\n }\r\n else {\r\n data.xmlGraphics = null;\r\n xmlBooths = null;\r\n \r\n enableEvents();\r\n data.status.boothObjectsReady = true;\r\n \r\n if( miniMap) {\r\n miniMap.setup();\r\n }\r\n drawing.completeSetup();\r\n elemById( \"load\").style.opacity = 0;\r\n\t\t\t\r\n\t\t\tif( techLayersPending) {\r\n\t\t\t\tprocessTechLayers();\r\n\t\t\t}\r\n }\r\n }\r\n \r\n // IN PROGRESS...\r\n function parseGraphicsSQL() {\r\n \r\n var BOOTH_COORDS = jsonGraphics.booths;\r\n var pavilions = jsonGraphics.pavilions;\r\n\r\n var i = 0;\r\n var booth = null;\r\n var graphic = null;\r\n var type = \"\";\r\n var arc = null;\r\n \r\n // Booths\r\n for (var i = 0; i < BOOTH_COORDS.length; i++) {\r\n\r\n type = 'T';\r\n graphic = new GraphicObject(null, type, BOOTH_COORDS[i]);\r\n getBoothMinMax(graphic);\r\n \r\n booth = new Booth(null, data.booths.length, BOOTH_COORDS[i]);\r\n if( booth.status === BOOTH_AVAILABLE) {\r\n data.numAvailableBooths += 1;\r\n }\r\n else if( booth.status === BOOTH_HOLD) {\r\n data.numOnHoldBooths += 1;\r\n }\r\n \r\n getBoothColor( graphic, booth.status);\r\n graphic.displayColor = graphic.fillColor;\r\n //graphic.displayColor = \"#ADD8E6\"; //Hard coded blue\r\n booth.graphic = graphic;\r\n graphic.index = booth.index;\r\n data.booths.push(booth);\r\n // 2D or 3D\r\n drawing.addBoothGraphic(graphic);\r\n data.boothGraphics.push(graphic);\r\n }\r\n\r\n i = 0;\r\n\r\n // Pavilions\r\n for (var i=0; i < pavilions.length; i++){\r\n \r\n type = 'P';\r\n graphic = new GraphicObject( null, type, pavilions[i]);\r\n drawing.addGraphic(graphic);\r\n\r\n addJsonText(pavilions[i].textItems, data.pavilionLabels,\r\n config.clrBoothText, config.FLOOR_PLAN_FONT);\r\n }\r\n\r\n\r\n // Additional Graphics? - may have been moved to technical layers..\r\n // if( type === \"C\") {\r\n\t\t\t// \tdata.arCircles.push( makeCircle( xml[i], type));\r\n\t\t\t// }\r\n\t\t\t// else if( type === \"A\") {\r\n\t\t\t// \tarc = makeCircle( xml[i], type);\r\n\t\t\t// \tarc.startAngle = parseFloat( xml[i].getAttribute( \"s\"));\r\n\t\t\t// \tarc.endAngle = parseFloat( xml[i].getAttribute( \"e\"));\r\n\t\t\t// \tdata.arArcs.push( arc);\r\n\t\t\t// }\r\n\t\t\t// else {\r\n\t\t\t// \tgraphic = new GraphicObject( xml[i], type);\r\n\r\n\t\t\t// \tif( type !== \"T\") {\r\n\t\t\t// \t\tdrawing.addGraphic(graphic);\r\n // }\r\n // }\r\n\r\n // Clear graphics from memory \r\n //jsonGraphics = null;\r\n\r\n\r\n // TEMP \r\n // var end = (start + loopSize < totalElements) ? start +loopSize: totalElements;\r\n \r\n // var i = 0;\r\n // var booth = null;\r\n // var graphic = null;\r\n // var type = \"\";\r\n\t\t// var arc = null;\r\n \r\n // for( i = start; i < end; i++) {\r\n // // all graphic objects - booths, pavilions, graphics\r\n // type = xml[i].getAttribute(\"b\");\r\n\t\t\t\r\n\t\t// \tif( type === \"C\") {\r\n\t\t// \t\tdata.arCircles.push( makeCircle( xml[i], type));\r\n\t\t// \t}\r\n\t\t// \telse if( type === \"A\") {\r\n\t\t// \t\tarc = makeCircle( xml[i], type);\r\n\t\t// \t\tarc.startAngle = parseFloat( xml[i].getAttribute( \"s\"));\r\n\t\t// \t\tarc.endAngle = parseFloat( xml[i].getAttribute( \"e\"));\r\n\t\t// \t\tdata.arArcs.push( arc);\r\n\t\t// \t}\r\n\t\t// \telse {\r\n\t\t// \t\tgraphic = new GraphicObject( xml[i], type);\r\n\r\n\t\t// \t\tif( type !== \"T\") {\r\n\t\t// \t\t\tdrawing.addGraphic(graphic);\r\n\t\t// \t\t}\r\n\t\t// \t\telse {\r\n\t\t// \t\t\tgetBoothMinMax( graphic);\r\n\t\t// \t\t\tbooth = new Booth( xml[i], data.booths.length);\r\n\t\t// \t\t\tif( booth.status === BOOTH_AVAILABLE) {\r\n\t\t// \t\t\t\tdata.numAvailableBooths += 1;\r\n\t\t// \t\t\t}\r\n\t\t// \t\t\telse if( booth.status === BOOTH_HOLD) {\r\n\t\t// \t\t\t\tdata.numOnHoldBooths += 1;\r\n\t\t// \t\t\t}\r\n\t\t// \t\t\tgetBoothColor( graphic, booth.status);\r\n\t\t// \t\t\tgraphic.displayColor = graphic.fillColor;\r\n\t\t// \t\t\tbooth.graphic = graphic;\r\n\r\n\t\t// \t\t\tgraphic.index = booth.index;\r\n\r\n\t\t// \t\t\tdata.booths.push( booth);\r\n\t\t// \t\t\t\t// 2D or 3D\r\n\t\t// \t\t\tdrawing.addBoothGraphic( graphic);\r\n\t\t// \t\t\tdata.boothGraphics.push( graphic);\r\n\t\t// \t\t}\r\n\t\t// \t}\r\n\t\t// }\r\n }\r\n \r\n \r\n function addText( xml, arr, color, fontFamily) {\r\n var i = 0;\r\n var numText = xml.length;\r\n for( i = 0; i < numText; i++) {\r\n arr.push( util.textFromXML( xml[i], color, fontFamily));\r\n }\r\n }\r\n\r\n function addJsonText( jsonObject, arr, color, fontFamily, isAddText) {\r\n var i = 0;\r\n var numText = jsonObject.length;\r\n\r\n for( i = 0; i < numText; i++) {\r\n if(isAddText){\r\n color = jsonObject[i].color;\r\n }\r\n\r\n arr.push( util.textFromJSON( jsonObject[i], color, fontFamily));\r\n }\r\n }\r\n \r\n function getBuildingImage( eventName) {\r\n if( data.notOldios) {\r\n buildingImage = doc.createElement( \"img\");\r\n\r\n if( config.isXML){\r\n buildingImage.src = (config.hasMultipleViews && config.hasFloorPlan) ?\r\n config.viewName + \".jpg\" : eventName + \".jpg\";\r\n }\r\n else{\r\n buildingImage.src = (config.hasMultipleViews && config.hasFloorPlan && config.apiView != \"\") ?\r\n config.apiView + \".png\" : eventDatabaseName + \".png\";\r\n }\r\n\r\n buildingImage.onload = function() {\r\n drawing.addBuilding( buildingImage);\r\n if( miniMap) {\r\n miniMap.addBuilding( buildingImage);\r\n }\r\n };\r\n }\r\n }\r\n\t\r\n\tfunction techLayersLoaded() {\r\n\t\tdoc.removeEventListener( \"Technical_Layers_Loaded\", techLayersLoaded);\r\n\t\tif( data.status.boothObjectsReady) {\r\n\t\t\tprocessTechLayers();\r\n\t\t}\r\n\t\telse {\r\n\t\t\ttechLayersPending = true;\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction processTechLayers() {\r\n if ( config.isXML) {\r\n var xmlGroups = data.xmlTechLayers.querySelectorAll( \"Group\");\r\n var xmlGraphics = null;\r\n var newGroup = null;\r\n var addGraphic = null;\r\n var len = xmlGroups.length;\r\n var i = 0;\r\n // technical layers\r\n for( i = 0; i < len; i++) {\r\n \r\n newGroup = {\r\n id: i,\r\n name: xmlGroups[i].getAttribute( \"n\"),\r\n visible: xmlGroups[i].getAttribute(\"o\") === \"1\" ? true : false,\r\n graphics: [],\r\n txt: []\r\n };\r\n \r\n xmlGraphics = xmlGroups[i].querySelectorAll( \"S\");\r\n \r\n xmlToObjects( xmlGraphics, newGroup);\r\n \r\n addText( xmlGroups[i].querySelectorAll( \"OT\"), newGroup.txt,\r\n config.clrBuildingText, config.FLOOR_PLAN_FONT);\r\n\r\n data.arTechLayers.push( newGroup);\r\n }\r\n // user added graphics\r\n addGraphic = data.xmlTechLayers.querySelector( \"AddGraph\");\r\n if( addGraphic && addGraphic.childElementCount > 0) {\r\n data.addedGraphics = {\r\n graphics: [],\r\n txt: []\r\n };\r\n \r\n xmlGraphics = addGraphic.querySelectorAll( \"S\");\r\n \r\n xmlToObjects( xmlGraphics, data.addedGraphics);\r\n \r\n addText( addGraphic.querySelectorAll( \"OT\"), data.addedGraphics.txt,\r\n config.clrBoothText, config.FLOOR_PLAN_FONT);\r\n }\r\n }\r\n else {\r\n var jsonGroups = data.jsonTechLayers;\r\n var jsonGraphics = null;\r\n var jsonLayerGraphics = null;\r\n var newGroup = null;\r\n var addGraphic = null;\r\n var len = jsonGroups.length;\r\n var i = 0;\r\n // technical layers\r\n for( i = 0; i < len; i++) {\r\n newGroup = {\r\n id: i,\r\n name: jsonGroups[i].n, //.name?\r\n visible: jsonGroups[i].o === \"1\" ? true: false,\r\n graphics: [],\r\n txt: []\r\n };\r\n \r\n jsonLayerGraphics = jsonGroups[i].graphics;\r\n \r\n jsonToObjects( jsonLayerGraphics, newGroup);\r\n\r\n addJsonText( jsonGroups[i].texts, newGroup.txt,\r\n config.clrBuildingText, config.FLOOR_PLAN_FONT);\r\n\r\n data.arTechLayers.push( newGroup);\r\n }\r\n // user added graphics\r\n addGraphic = data.jsonGraphics;\r\n if( addGraphic && (data.jsonGraphics.graphics.length > 0 || data.jsonGraphics.texts.length > 0)) {\r\n data.addedGraphics = {\r\n graphics: [],\r\n txt: []\r\n };\r\n \r\n jsonGraphics = addGraphic.graphics;\r\n \r\n jsonToObjects( jsonGraphics, data.addedGraphics);\r\n \r\n addJsonText( addGraphic.texts, data.addedGraphics.txt,\r\n config.clrBoothText, config.FLOOR_PLAN_FONT, true);\r\n }\r\n}\t\t\r\n\t\tdrawing.redraw();\r\n\t\tdoc.dispatchEvent( new FxEvent( \"Technical_Layer_Ready\", null));\r\n\t}\r\n\t\r\n\tfunction xmlToObjects( xmlGraphics, obj) {\r\n\t\tvar type = \"\";\r\n\t\tvar newGraphic = null;\r\n\t\tvar len = xmlGraphics.length;\r\n\t\tvar i = 0;\r\n\t\t\r\n\t\tfor( i = 0; i < len; i++) {\r\n\t\t\t// path, arc, circle \r\n\t\t\ttype = xmlGraphics[i].getAttribute(\"b\");\r\n\r\n\t\t\tif( type === \"C\") {\r\n\t\t\t\tnewGraphic = makeCircle( xmlGraphics[i], type);\r\n\t\t\t\tnewGraphic.lineWidth = config.additionalGraphicsLineWidth;\r\n\t\t\t\tobj.graphics.push( newGraphic);\r\n\t\t\t}\r\n\t\t\telse if( type === \"A\") {\r\n\t\t\t\tnewGraphic = makeCircle( xmlGraphics[i], type);\r\n\t\t\t\tnewGraphic.startAngle = parseFloat( xmlGraphics[i].getAttribute( \"s\"));\r\n\t\t\t\tnewGraphic.endAngle = parseFloat( xmlGraphics[i].getAttribute( \"e\"));\r\n\t\t\t\tnewGraphic.lineWidth = config.additionalGraphicsLineWidth;\r\n\t\t\t\tobj.graphics.push( newGraphic);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tnewGraphic = new GraphicObject( xmlGraphics[i], \"F\");\r\n\t\t\t\tnewGraphic.lineWidth = config.additionalGraphicsLineWidth;\r\n\t\t\t\tobj.graphics.push( newGraphic);\r\n\t\t\t}\r\n\t\t}\r\n }\r\n \r\n function jsonToObjects( jsonGraphics, obj) {\r\n\t\tvar type = \"\";\r\n\t\tvar newGraphic = null;\r\n\t\tvar len = jsonGraphics.length;\r\n\t\tvar i = 0;\r\n\t\t\r\n\t\tfor( i = 0; i < len; i++) {\r\n \r\n // Only include booth layout objects if in Contractor mode\r\n if( jsonGraphics[i].bl > 0 ){\r\n if( config.salesMode !== \"contra\"){\r\n continue;\r\n }\r\n }\r\n \r\n // path, arc, circle \r\n\t\t\ttype = jsonGraphics[i].b;\r\n\r\n\t\t\tif( type === \"C\") {\r\n\t\t\t\tnewGraphic = makeJsonCircle( jsonGraphics[i], type);\r\n\t\t\t\tnewGraphic.lineWidth = jsonGraphics[i].w; //config.additionalGraphicsLineWidth;\r\n\t\t\t\tobj.graphics.push( newGraphic);\r\n\t\t\t}\r\n\t\t\telse if( type === \"A\") {\r\n\t\t\t\tnewGraphic = makeJsonCircle( jsonGraphics[i], type);\r\n\t\t\t\tnewGraphic.startAngle = parseFloat( jsonGraphics[i].s);\r\n\t\t\t\tnewGraphic.endAngle = parseFloat( jsonGraphics[i].e);\r\n\t\t\t\tnewGraphic.lineWidth = jsonGraphics[i].w; //config.additionalGraphicsLineWidth;\r\n\t\t\t\tobj.graphics.push( newGraphic);\r\n\t\t\t}\r\n else if ( type === \"T\") {\r\n newGraphic = new GraphicObject( null, \"T\", jsonGraphics[i]);\r\n\t\t\t\tnewGraphic.lineWidth = jsonGraphics[i].w; //config.additionalGraphicsLineWidth;\r\n\t\t\t\tobj.graphics.push( newGraphic);\r\n }\r\n\t\t\telse {\r\n\t\t\t\tnewGraphic = new GraphicObject( null, \"F\", jsonGraphics[i]);\r\n\t\t\t\tnewGraphic.lineWidth = jsonGraphics[i].w; //config.additionalGraphicsLineWidth;\r\n\t\t\t\tobj.graphics.push( newGraphic);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n function zoomToBoothIndex( str, markBooth) {\r\n var arBooths = String(str).split( \",\");\r\n var bthGraphic = null;\r\n var i = 0;\r\n var minX = config.DRAWING_WIDTH;\r\n var minY = config.DRAWING_HEIGHT;\r\n var maxX = 0;\r\n var maxY = 0;\r\n\t\tvar newScale = 0;\r\n\t\t\r\n\t\tvar margin = 0.2 * config.DRAWING_HEIGHT;\t// maximum space around selected\r\n\t\t\r\n\t\tvar selectedWidth = 0;\r\n\t\tvar selectedHeight = 0;\r\n\t\tvar selectedX = 0;\r\n\t\tvar selectedY = 0;\r\n \r\n var canvas = document.getElementsByTagName('canvas')[3]\r\n var ctx = canvas.getContext('2d');\r\n // var radius = 70;\r\n \r\n\t\t\r\n if( arBooths.length > 0) {\r\n for( i = 0; i < arBooths.length; i++) {\r\n bthGraphic = data.boothGraphics[arBooths[i]];\r\n minX = Math.min( minX, bthGraphic.minX);\r\n minY = Math.min( minY, bthGraphic.minY);\r\n \r\n maxX = Math.max( maxX, bthGraphic.maxX);\r\n maxY = Math.max( maxY, bthGraphic.maxY);\r\n \r\n if( markBooth) {\r\n drawing.markSelected( bthGraphic);\r\n }\r\n }\r\n \r\n\t\t\tselectedWidth = Math.max( maxX - minX, config.MULTIPLIER * config.scaleFactor);\r\n\t\t\tselectedHeight = Math.max( maxY - minY, config.MULTIPLIER * config.scaleFactor);\r\n\t\t\t\r\n\t\t\tmargin = 2 * Math.min( Math.max( selectedWidth, selectedHeight), margin);\r\n\t\t\t\r\n // **** zoom less if one (great) big booth ??!!\r\n newScale = Math.min( fpcWidth / ( selectedWidth + margin), \r\n fpcHeight / ( selectedHeight + margin) );\r\n \r\n selectedX = Math.round((maxX + minX) / 2);\r\n selectedY = Math.round((maxY + minY) / 2);\r\n\r\n // ctx.beginPath();\r\n // ctx.arc(selectedX, selectedY, radius, 0, 2 * Math.PI, false);\r\n // ctx.fillStyle = 'green';\r\n // ctx.fill();\r\n // ctx.lineWidth = 500;\r\n // ctx.strokeStyle = '#003300';\r\n // ctx.stroke(); \r\n \r\n drawing.goToPoint( selectedX, selectedY, newScale);\r\n }\r\n }\r\n \r\n function zoomToIAmHere( x, y, label) { // only at open event - center is middle of floor plan!\r\n var scale = drawing.getScale();\r\n var cax = parseInt( x, 10);\r\n var cay = parseInt( y, 10);\r\n\t\t\t// initial center of drawing\r\n drawing.moveBy( (config.DRAWING_WIDTH/2 - cax), ( config.DRAWING_HEIGHT/2 - cay));\r\n \r\n drawing.setIAmHere( String.fromCharCode(0xf140), label, x, y, config.clrHighlight);\r\n drawing.zoomTo( 0.6 - scale);\r\n }\r\n \r\n function tagBooth( boothIndex) { // Favorite //\r\n if( twoD) {\r\n twoD.markFavorite( boothIndex);\r\n }\r\n if( threeD) {\r\n threeD.markFavorite( boothIndex);\r\n }\r\n }\r\n \r\n function clearBooth( type, boothIndex) {\r\n var arBoothIndex = String(boothIndex).split( \",\");\r\n var i = 0;\r\n \r\n for( i = 0; i < arBoothIndex.length; i++) {\r\n\t\t\tif( twoD) {\r\n\t\t\t\ttwoD.removeFavorite( arBoothIndex[i]);\r\n\t\t\t}\r\n\t\t\tif( threeD) {\r\n\t\t\t\tthreeD.removeFavorite( arBoothIndex[i]);\r\n\t\t\t}\r\n }\r\n }\r\n \r\n function markFavorites() {\r\n var i = 0;\r\n var index = 0;\r\n var numFavs = data.favoriteBooths.length;\r\n var numBths = data.booths.length;\r\n \r\n for( i = 0; i < numFavs; i++) {\r\n for( index = 0; index < numBths; index++) {\r\n if( data.booths[ index].number === data.favoriteBooths[i].bth) {\r\n drawing.markFavorite( index);\r\n break;\r\n }\r\n }\r\n }\r\n\t\tif( drawing) {\r\n\t\t\tdrawing.redraw( true);\r\n\t\t}\r\n }\r\n \r\n function outlineBooth( boothObj) {\r\n // keep track of booths outlined ?\r\n drawing.addToOutline( boothObj, config.clrSelected, 12);\r\n }\r\n \r\n function unOutlineBooth( boothNum) {\r\n if( boothNum === null) {\r\n drawing.removeFromOutline( null);\r\n }\r\n else {\r\n var boothObj = util.findBoothObject( boothNum, data.booths);\r\n drawing.removeFromOutline( data.boothGraphics[ boothObj.index]);\r\n }\r\n }\r\n \r\n \r\n //------------------------- EVENTS ----------------------------------------------------- \r\n function enableEvents() {\r\n if( config.bToolbar) {\r\n if( elemById(\"tb2\") !== null) {\r\n // floor plan plus button\r\n elemById(\"tb2\").addEventListener(\"click\", function(){\r\n drawing.zoom(2);\r\n });\r\n // floor plan minus button\r\n elemById(\"tb3\").addEventListener(\"click\", function(){\r\n drawing.zoom(-2);\r\n });\r\n }\r\n // clear selected booths \r\n doc.getElementById(\"tb4\").addEventListener(\"click\", function(){\r\n drawing.removeAllSelected();\r\n });\r\n\r\n doc.getElementById(\"tb5\").addEventListener(\"click\", fitDrawing);\r\n\r\n if( elemById(\"tb6\") !== null) {\r\n doc.getElementById(\"tb6\").addEventListener(\"click\", function(){\r\n \r\n if( location.protocol === 'https:'){\r\n if( config.locationEnabled){\r\n \r\n config.locationEnabled = false;\r\n elemById(\"tb6\").style.backgroundColor = \"#dcdcdc\";\r\n\r\n drawing.clearIAmHere();\r\n drawing.redraw(true);\r\n\r\n clearInterval(locationTimeoutID);\r\n }\r\n else{\r\n getLocation();\r\n }\r\n }\r\n else{\r\n if(confirm(\"Location Services requires HTTPS. Reload as secure site?\")){\r\n window.location.href =\"https://\" + location.hostname + location.pathname;\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n \r\n elemById( \"floorplan\").addEventListener( \"wheel\", wheelHandler);\r\n \r\n function wheelHandler(evt) {\r\n evt.stopImmediatePropagation();\r\n evt.preventDefault();\r\n\r\n if (evt.deltaY < 0){\r\n \r\n if( drawing != threeD){\r\n drawing.zoomToCursor( zoomStep);\r\n }\r\n else{\r\n drawing.zoom( zoomStep);\r\n }\r\n \r\n }\r\n else {\r\n if( drawing != threeD){\r\n drawing.zoomToCursor( -1 * zoomStep);\r\n }\r\n else{\r\n drawing.zoom( -1 * zoomStep);\r\n }\r\n }\r\n }\r\n \r\n doc.addEventListener( \"Highlight_Booth\", function( evt) {\r\n drawing.highlightBooth( evt.data.index);\r\n });\r\n \r\n doc.addEventListener( \"Unhighlight_Booth\", function() {\r\n drawing.highlightBooth( \"-1\");\r\n });\r\n \r\n\t\tif( !data.status.overlaysReady) {\r\n\t\t\tdoc.addEventListener( \"overlaysLoaded\", function() {\r\n\t\t\t\ttwoD.addOverlays();\r\n\t\t\t\tif( threeD) {\r\n\t\t\t\t\tthreeD.addOverlays();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n fpc.addEventListener(\"contextmenu\", function(e) { e.preventDefault(); });\r\n\r\n if ( window.PointerEvent) {\r\n fpc.addEventListener('pointerdown', function(evt) {\r\n var i = 0;\r\n evt.preventDefault();\r\n pointerEvents.push( evt);\r\n \r\n if( !dragging && !zooming && pointerEvents.length < 2) {\r\n \r\n for( i = 0; i < pointerEvents.length; i++) {\r\n if( evt.pointerId === pointerEvents[i].pointerId) {\r\n pointerEvents[i] = evt;\r\n }\r\n }\r\n \r\n if( pointerEvents.length === 1) {\r\n lastTouchX = evt.clientX;\r\n lastTouchY = evt.clientY;\r\n touchStartTime = Date.now();\r\n bPointerDown = true;\r\n drawing.pointerDownAt( evt.clientX, evt.clientY);\r\n \r\n doc.dispatchEvent( new FxEvent( \"User_Activity\", null));\r\n }\r\n else {\r\n lastDist = getDistance( pointerEvents[0], pointerEvents[1]);\r\n }\r\n }\r\n });\r\n\r\n fpc.addEventListener('pointermove', pointerMoveHandler);\r\n \r\n fpc.addEventListener('pointerup', function(evt) {\r\n evt.preventDefault();\r\n// console.log( \"pointer up button: \" + evt.button);\r\n var i;\r\n for( i = 0; i < pointerEvents.length; i++) {\r\n if( evt.pointerId === pointerEvents[i].pointerId) {\r\n pointerEvents.splice( i, 1);\r\n break;\r\n }\r\n }\r\n \r\n if( pointerEvents.length < 2) {\r\n lastDist = -1;\r\n }\r\n if( pointerEvents.length === 0) {\r\n if( !dragging && !zooming && evt.button === 0 && Date.now() - touchStartTime < 400) {\r\n tapHandler( lastTouchX, lastTouchY);\r\n }\r\n dragEndHandler();\r\n }\r\n });\r\n fpc.addEventListener('pointerout', function() {\r\n clearFlyoutAndHighlight();\r\n dragEndHandler();\r\n pointerEvents = [];\r\n });\r\n fpc.addEventListener('pointerleave', function() {\r\n clearFlyoutAndHighlight();\r\n dragEndHandler();\r\n pointerEvents = [];\r\n });\r\n fpc.addEventListener('pointercancel', function() {\r\n clearFlyoutAndHighlight();\r\n dragEndHandler();\r\n pointerEvents = [];\r\n });\r\n fpc.addEventListener('auxclick', function(evt) {\r\n if( evt.which === 2) {\r\n fitClick(evt);\r\n }\r\n });\r\n }\r\n else {\r\n fpc.addEventListener('touchstart', function(evt) {\r\n evt.preventDefault();\r\n evt.stopImmediatePropagation();\r\n if( !dragging && !zooming) {\r\n bPointerDown = true;\r\n touchStartTime = Date.now();\r\n \r\n if( flyoutDelay) {\r\n clearTimeout( flyoutDelay); // does not remove booth highlight\r\n }\r\n if( evt.touches.length === 1) {\r\n lastTouchX = evt.touches[0].clientX;\r\n lastTouchY = evt.touches[0].clientY;\r\n bPointerDown = true;\r\n drawing.pointerDownAt( lastTouchX, lastTouchY);\r\n }\r\n else if( evt.touches.length > 1) {\r\n lastDist = getDistance( evt.touches[0], evt.touches[1]);\r\n }\r\n fpc.addEventListener('touchmove', touchMoveHandler, false);\r\n }\r\n doc.dispatchEvent( new FxEvent( \"User_Activity\", null));\r\n return false;\r\n }, true);\r\n \r\n fpc.addEventListener('touchend', function(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n evt.stopImmediatePropagation();\r\n \r\n fpc.removeEventListener('touchmove', touchMoveHandler, false);\r\n \r\n if( evt.touches.length === 0) {\r\n if( !dragging && !zooming && Date.now() - touchStartTime < 400) {\r\n tapHandler( lastTouchX, lastTouchY);\r\n }\r\n dragEndHandler();\r\n lastDist = -1;\r\n }\r\n });\r\n \r\n if( data.device !== \"ios\" && data.device !== \"A\" ) {\r\n fpc.addEventListener('mousedown', function(evt) {\r\n evt.preventDefault();\r\n \r\n if( evt.button === 0) {\r\n lastTouchX = evt.clientX;\r\n lastTouchY = evt.clientY;\r\n bPointerDown = true;\r\n drawing.pointerDownAt( evt.clientX, evt.clientY);\r\n doc.dispatchEvent( new FxEvent( \"User_Activity\", null));\r\n }\r\n });\r\n fpc.addEventListener('mouseup', function() {\r\n dragEndHandler();\r\n });\r\n fpc.addEventListener('mousemove', function( evt) {\r\n evt.preventDefault();\r\n mouseMoveHandler( evt.clientX, evt.clientY);\r\n });\r\n fpc.addEventListener('mouseout', function() {\r\n clearFlyoutAndHighlight();\r\n dragEndHandler();\r\n });\r\n fpc.addEventListener('mouseleave', function() {\r\n clearFlyoutAndHighlight();\r\n dragEndHandler();\r\n });\r\n fpc.addEventListener( \"click\", function( evt) {\r\n if( evt.button === 0) {\r\n tapHandler( evt.clientX, evt.clientY);\r\n }\r\n });\r\n }\r\n\t\t} \r\n }\r\n \r\n function pointerMoveHandler( evt) {\r\n evt.preventDefault();\r\n var i;\r\n var currentDist = 0;\r\n \r\n if( pointerEvents.length === 0) {\r\n if( evt.pointerType === \"mouse\") {\r\n mouseMoveHandler( evt.clientX, evt.clientY);\r\n }\r\n }\r\n else {\r\n for( i = 0; i < pointerEvents.length; i++) {\r\n if( evt.pointerId === pointerEvents[i].pointerId) {\r\n pointerEvents[i] = evt;\r\n }\r\n }\r\n }\r\n if( pointerEvents.length > 1) {\r\n currentDist = getDistance( pointerEvents[0], pointerEvents[1]);\r\n if( lastDist > 0) {\r\n pinchHandler( currentDist);\r\n }\r\n lastDist = currentDist;\r\n }\r\n else if( pointerEvents.length === 1) {\r\n mouseMoveHandler( evt.clientX, evt.clientY);\r\n }\r\n }\r\n \r\n function touchMoveHandler( evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n evt.stopImmediatePropagation();\r\n \r\n var touch1 = evt.touches[0];\r\n var touch2;\r\n \r\n if( evt.touches.length > 1) {\r\n touch2 = evt.touches[1];\r\n var dist = getDistance( touch1, touch2);\r\n \r\n if( lastDist > 0) {\r\n pinchHandler( dist);\r\n }\r\n lastDist = dist;\r\n }\r\n else if( evt.touches.length === 1) {\r\n dragHandler( touch1.clientX, touch1.clientY, false);\r\n }\r\n return false;\r\n }\r\n \r\n function pinchHandler( dist) {\r\n var change = dist - lastDist;\r\n \r\n if( change > 2 * window.devicePixelRatio) { // and tm > 34mS\r\n lastTapTime = ( Date.now()) + 600;\r\n zooming = true;\r\n drawing.zoom( zoomStep);\r\n }\r\n else if( change < -2 * window.devicePixelRatio) {\r\n lastTapTime = ( Date.now()) + 600;\r\n zooming = true;\r\n drawing.zoom( -1 * zoomStep);\r\n }\r\n else {\r\n lastTapTime = Date.now();\r\n return;\r\n }\r\n lastDist = dist;\r\n }\r\n \r\n function dragEndHandler() {\r\n if( dragging) {\r\n dragging = false;\r\n }\r\n if( zooming) {\r\n zooming = false;\r\n drawing.redraw( true);\r\n }\r\n bPointerDown = false;\r\n }\r\n\r\n function fitClick(e){\r\n clickCount++;\r\n if (clickCount === 1) {\r\n singleClickTimer = setTimeout(function() {\r\n clickCount = 0;\r\n }, 375);\r\n } else if (clickCount === 2) {\r\n clearTimeout(singleClickTimer);\r\n clickCount = 0;\r\n drawing.fit();\r\n }\r\n }\r\n \r\n function dragHandler( eventX, eventY) {\r\n var dx = 0;\r\n var dy = 0;\r\n if( zooming) {\r\n return; // Might be an issue when zoom to cursor is finished? \r\n }\r\n if( bPointerDown) {\r\n dx = eventX - lastTouchX;\r\n dy = eventY - lastTouchY;\r\n \r\n if( dragging || Math.sqrt( dx * dx + dy * dy) > 5) {\r\n dragging = true;\r\n drawing.dragTo( eventX, eventY);\r\n lastTouchX = eventX;\r\n lastTouchY = eventY;\r\n \r\n lastTapTime = Date.now();\r\n }\r\n }\r\n }\r\n \r\n function tapHandler( eventX, eventY) {\r\n var ar = [];\r\n var tm = Date.now();\r\n var result = \"1\";\r\n var boothIndex = -1;\r\n var obj = null;\r\n\t\t\r\n var cursorX = eventX - elemById( \"floorplan\").offsetLeft;\r\n var cursorY = eventY - data.headerHeight;\r\n \r\n if( tm - lastTapTime < 340) {\r\n return;\r\n }\r\n lastTapTime = tm;\r\n if( flyoutPending) {\r\n clearTimeout( flyoutDelay);\r\n flyoutPending = false;\r\n }\r\n// console.log( \"Floor Plan Tap Handler - menuPending: \" + data.menuPending);\r\n if( data.menuPending || data.iahPending) {\r\n\t\t\tdocument.dispatchEvent( new FxEvent( \"Floor_Plan_Tap\", { pageX: cursorX, pageY: cursorY}) );\r\n\t\t\tif ( data.iahPending) {\r\n data.iahPending = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n }\r\n \r\n obj = drawing.hitTest( cursorX, cursorY);\r\n if( obj !== null) {\r\n if( obj.hasOwnProperty( \"graphic\")) { // obj is a booth\r\n if( data.salesWindowOpen || data.wayPending) {\r\n doc.dispatchEvent( new FxEvent( \"Booth_Click\", obj));\r\n }\r\n else {\r\n if( config.bUseApi) { \r\n if( obj.status === \"0\" || config.salesMode === \"contra\") {\r\n\r\n if(config.salesMode === \"exhibitor\"){\r\n\r\n doc.addEventListener( \"Result_Booth_Lock_Status\", boothLockHandler);\r\n \r\n result = 1; //stops popup when available booth is clicked\r\n }\r\n else if (config.salesMode === \"contra\"){\r\n // Send contractor user to booth layout page\r\n var boothUrl = doc.location.href.substr(0, doc.location.href.lastIndexOf(\"/\"));\r\n util.navigateTo( boothUrl + \"/boothLayout?boothNumber=\" + obj.number, \"_parent\" )\r\n\r\n result = 0;\r\n }\r\n else{\r\n result = aBoothClick( obj.number);\r\n }\r\n \r\n \r\n }\r\n else if(obj.status === \"1\" && config.salesMode === \"exhibitor\") { // Allow logged in exhibitor to select a booth on hold to them\r\n\r\n if(config.loggedInExhib === data.exhibitors[obj.exhibitorIndex].exhId) {\r\n // Need to include costs for hold booths though.. could suppress in flyout\r\n //obj.cost = [{planName: \"Regular Rate\", cost: 3000}];\r\n \r\n doc.addEventListener( \"Result_Booth_Lock_Status\", boothLockHandler);\r\n result = 1; //stops popup when available booth is clicked\r\n }\r\n else{\r\n window.parent.swal(\"\", \"Booth Not Available For Rent!\", \"warning\");\r\n result = 0; //stops popup when available booth is clicked\r\n }\r\n\r\n \r\n }\r\n else {\r\n ar = obj.exhibitorIndex.toString().split( \",\");\r\n if( ar.length > 1 && config.salesMode !== 'exhibitor') {\r\n \r\n if(config.exhibitorDirectory){\r\n doc.addEventListener( \"Multi_Exhibitor_Click\", MultiExhibitorClickHandler);\r\n }\r\n \r\n result = mBoothClick( obj.number);\r\n }\r\n else {\r\n\r\n if(config.salesMode === \"exhibitor\"){\r\n window.parent.swal(\"\", \"Booth Not Available For Rent!\", \"warning\");\r\n result = 0; //stops popup when available booth is clicked\r\n } \r\n else if(config.exhibitorDirectory){\r\n createModal();\r\n switchDirectoryDialog(data.exhibitors[obj.exhibitorIndex].exhId);\r\n result = 0; \r\n \r\n } \r\n else {\r\n result = rBoothClick( obj.number,\r\n data.exhibitors[obj.exhibitorIndex].exhId,\r\n data.exhibitors[obj.exhibitorIndex].name);\r\n if( config.redirectToDirectory && !config.isXML){\r\n result = 0;\r\n util.navigateTo( doc.location.origin + data.exhibitors[obj.exhibitorIndex].directoryUrl); \r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if( String(result) === \"1\") {\r\n if( ar.length < 2 && data.exhibitors[obj.exhibitorIndex].url != \"\" && config.salesMode === \"none\") {\r\n util.navigateTo( data.exhibitors[obj.exhibitorIndex].url);\r\n }\r\n else {\r\n doc.dispatchEvent( new FxEvent( \"Floor_Plan_Booth_Click\", obj));\r\n }\r\n }\r\n }\r\n }\r\n else { // obj is an overlay\r\n // if navTo && zoomTo, zoom first and delay navigation to see the zoom\r\n if( obj.navTo !== \"\") {\r\n if( obj.zoomTo === \"\") {\r\n util.navigateTo( obj.navTo);\r\n }\r\n else {\r\n window.setTimeout( util.navigateTo, 700, obj.navTo);\r\n }\r\n }\r\n \r\n if( obj.zoomTo !== \"\") {\r\n boothIndex = util.findBoothIndex( obj.zoomTo, data.booths);\r\n if( boothIndex !== -1) {\r\n zoomToBoothIndex( String(boothIndex), true);\r\n \r\n }\r\n }\r\n // else if( obj.navTo !== \"\") {\r\n // util.navigateTo( obj.navTo);\r\n // }\r\n\r\n\r\n }\r\n }\r\n }\r\n\r\n function MultiExhibitorClickHandler(evt){\r\n createModal();\r\n switchDirectoryDialog(data.exhibitors[evt.data.selectedIndex].exhId);\r\n }\r\n\r\n function createModal(){\r\n if(!document.getElementById(\"buyModal\")){\r\n var Parent = elemById('appContent');\r\n var Modal = doc.createElement('div');\r\n Modal.setAttribute(\"id\", \"buyModal\");\r\n Modal.classList.add('modal');\r\n Parent.appendChild(Modal);\r\n var ModalContent = doc.createElement('div');\r\n ModalContent.classList.add('modal-content');\r\n Modal.appendChild(ModalContent);\r\n if(config.noNav){\r\n var ModalH3 = doc.createElement('h3');\r\n ModalContent.appendChild(ModalH3);\r\n ModalH3.textContent = \"Rent This Booth?\"\r\n \r\n var ModalP = doc.createElement('p');\r\n ModalP.setAttribute('id', 'ModalP');\r\n ModalContent.appendChild(ModalP);\r\n\r\n var ModalFooter = doc.createElement('div');\r\n ModalFooter.setAttribute('id', 'modalFooter')\r\n ModalContent.appendChild(ModalFooter);\r\n\r\n var ModalContinue = doc.createElement('button');\r\n ModalContinue.setAttribute('id', 'modalContinue')\r\n ModalFooter.appendChild(ModalContinue);\r\n ModalContinue.textContent = \"Rent Another\";\r\n // Remove for now but eventually make dynamic based on booth selection limit\r\n ModalContinue.style.display = \"none\";\r\n\r\n var ModalCancel = doc.createElement('button');\r\n ModalCancel.setAttribute('id', 'modalCancel');\r\n ModalFooter.appendChild(ModalCancel);\r\n ModalCancel.textContent = \"Cancel\";\r\n \r\n var ModalConfirm = doc.createElement('button');\r\n ModalConfirm.setAttribute('id', 'modalConfirm')\r\n ModalFooter.appendChild(ModalConfirm);\r\n ModalConfirm.textContent = \"Check Out\";\r\n \r\n\r\n }\r\n }\r\n }\r\n\r\n function boothLockHandler(msg){\r\n obj = msg.data;\r\n\r\n if(config.salesMode === \"exhibitor\"){ \r\n var parent = document.querySelector('#floorplan')\r\n var cart = doc.createElement('div'); \r\n var legendFinish = doc.createElement('p');\r\n cart.setAttribute('id', 'cartLegend');\r\n cart.style.display = 'none';\r\n parent.insertAdjacentElement(\"afterend\", cart)\r\n cart.innerHTML = \" Cart\";\r\n legendFinish.setAttribute(\"id\", \"legendFinish\");\r\n legendFinish.textContent = \"Check Out\";\r\n cart.appendChild(legendFinish);\r\n }\r\n if(config.salesMode === \"exhibitor\"){\r\n createModal();\r\n }\r\n \r\n if(config.showUnits === \"M\"){\r\n \r\n var area = obj.areaM;\r\n var dim = obj.dimM;\r\n }\r\n else\r\n {\r\n var area = obj.areaF;\r\n var dim = obj.dimF;\r\n }\r\n\r\n\r\n var boothLock = obj.locked; // Check for booth lock [EdgeApi/{databaseName}/fx/boothlocked]\r\n\r\n if(boothLock.viewRestricted || boothLock.siSRestricted ){\r\n window.parent.swal(\"\", boothLock.message, \"warning\");\r\n\r\n return;\r\n }\r\n\r\n if (boothLock.lockStatus !== '0'){ \r\n \r\n if (boothLock.lockStatus === '10'){\r\n window.parent.swal(\"\", \"Booth is currently being purchased by another exhibitor.\", \"warning\");\r\n }\r\n else if (Number(boothLock.Code) < 0) {\r\n window.parent.swal(\"\", \"Something went wrong. Please contact show management or try selecting another booth.\", \"warning\");\r\n }\r\n else {\r\n window.parent.swal(\"\", \"Booth is currently being modified by Show Managment.\", \"warning\");\r\n }\r\n \r\n }\r\n else {\r\n ExhibitorRentBooth(obj, obj.number, dim, area)\r\n }\r\n }\r\n\r\n var otherBooths = [];\r\n var total = 0;\r\n var displayCost = 'Select Rate';\r\n var selectedPlan = '';\r\n\r\n function addRateRadio(cost, container, costSpan){\r\n var ratePlanRadio = doc.createElement('div');\r\n ratePlanRadio.classList.add('form-check');\r\n\r\n var ratePlanLabel = doc.createElement('label');\r\n var ratePlanPrice = doc.createElement('label');\r\n ratePlanLabel.classList.add('form-check-label');\r\n ratePlanPrice.classList.add('form-check-label');\r\n ratePlanPrice.classList.add('float-right');\r\n ratePlanLabel.textContent = cost.planName;\r\n ratePlanPrice.textContent = util.displayUSD(cost.cost);\r\n\r\n var ratePlanInput = doc.createElement('input');\r\n ratePlanInput.classList.add('form-check-input');\r\n ratePlanInput.setAttribute('type', 'radio');\r\n ratePlanInput.setAttribute('name', 'ratePlan');\r\n ratePlanInput.setAttribute('value', cost.planName);\r\n ratePlanInput.onclick = function(){\r\n displayCost = util.displayUSD(cost.cost);\r\n costSpan.textContent = displayCost;\r\n elemById('modalContinue').disabled = false;\r\n elemById('modalConfirm').disabled = false;\r\n selectedPlan = document.querySelector('input[name=\"ratePlan\"]:checked').value;\r\n console.log(document.querySelector('input[name=\"ratePlan\"]:checked'))\r\n }\r\n ratePlanRadio.appendChild(ratePlanInput);\r\n ratePlanRadio.appendChild(ratePlanLabel);\r\n ratePlanRadio.appendChild(ratePlanPrice);\r\n container.appendChild(ratePlanRadio);\r\n }\r\n\r\n function resetModal(){\r\n //elemById('ratePlanDiv').remove();\r\n displayCost = 'Select Rate';\r\n selectedPlan = '';\r\n elemById('modalContinue').disabled = false;\r\n elemById('modalConfirm').disabled = false;\r\n\r\n\r\n document.querySelectorAll('.ratePlanDivClass').forEach(e => e.remove())\r\n }\r\n\r\n function ExhibitorRentBooth(theObj, objNum, dim, area){\r\n var modal = document.getElementById('buyModal');\r\n var modalBody = elemById('ModalP');\r\n var confirmBut = elemById('modalConfirm');\r\n var cancelBut = elemById('modalCancel');\r\n var continueBut = elemById('modalContinue');\r\n var Next = parent.document.getElementById('theFloorplan');\r\n var NextDiv = parent.document.getElementById('CartBooths');\r\n var CartBooths = parent.document.createElement('div');\r\n var SelectedFP = parent.document.getElementsByClassName('overlay');\r\n var checkOut = elemById('legendFinish');\r\n var deleteSpan = doc.createElement('span');\r\n var cart = elemById('cartLegend');\r\n var legendite = doc.createElement('li');\r\n var legendSubTotal = doc.createElement('div');\r\n var ratePlan = doc.createElement('div');\r\n ratePlan.setAttribute('id', 'ratePlanDiv');\r\n var displayCostSpan = doc.createElement('span');\r\n legendSubTotal.setAttribute('id', 'legendSubTotalDiv');\r\n legendSubTotal.innerHTML = \"

Subtotal:

\";\r\n\r\n function calculateTotal(){\r\n total = 0;\r\n otherBooths.map(booth => {\r\n total = parseInt(booth.cost[0].cost) + parseInt(total)\r\n })\r\n if(otherBooths.length >= 2 && !elemById('cartSubTotal')){\r\n checkOut.appendChild(legendSubTotal); \r\n elemById('cartSubTotal').textContent = util.displayUSD(total);\r\n } else if(otherBooths.length <= 1 && elemById('cartSubTotal')){\r\n doc.getElementById('legendSubTotalDiv').remove();\r\n } else {\r\n if(elemById('cartSubTotal')){\r\n elemById('cartSubTotal').textContent = util.displayUSD(total);\r\n }\r\n }\r\n }\r\n deleteSpan.setAttribute(\"class\", \"deleteEvent\");\r\n deleteSpan.textContent = \"x\";\r\n theObj.show = config.eventName;\r\n\r\n if(theObj.cost.length > 1){\r\n elemById('modalFooter').insertAdjacentElement('beforebegin', ratePlan);\r\n ratePlan.classList.add('mb-4');\r\n ratePlan.classList.add('ratePlanDivClass');\r\n continueBut.disabled = true;\r\n confirmBut.disabled = true;\r\n displayCostSpan.textContent = displayCost;\r\n\r\n theObj.cost.map(c => {\r\n addRateRadio(c, ratePlan, displayCostSpan);\r\n })\r\n } else {\r\n displayCost = util.displayUSD(theObj.cost[0].cost);\r\n displayCostSpan.textContent = displayCost;\r\n }\r\n modal.style.display = \"block\"; \r\n modalBody.innerHTML = \"Booth #\" + objNum + \" - \" + dim + \" \" + area + ' for ';\r\n modalBody.appendChild(displayCostSpan);\r\n \r\n cancelBut.onclick = function() {\r\n modal.style.display = \"none\";\r\n resetModal()\r\n }\r\n confirmBut.onclick = function(){\r\n if(otherBooths.find(obj => obj.number === theObj.number)\r\n && otherBooths.find(obj => obj.show === theObj.show)\r\n || parent.Booths.find(obj => obj.number === theObj.number) \r\n && parent.Booths.find(obj => obj.show === theObj.show)){\r\n parent.swal(\"\", \"Booth already in your cart!\", \"warning\");\r\n } else {\r\n NextDiv.appendChild(CartBooths);\r\n otherBooths.push(theObj);\r\n CartBooths.setAttribute('class', 'CartBoothsInner');\r\n if(theObj.cost.length > 1){\r\n parent.AddBooth(theObj.number, theObj.show, function(ifMax){\r\n if(ifMax){\r\n checkOutClean()\r\n } else {\r\n resetModal()\r\n modal.style.display = \"none\";\r\n }\r\n }, selectedPlan);\r\n } else {\r\n parent.AddBooth(theObj.number, theObj.show, function(ifMax){\r\n if(ifMax){\r\n checkOutClean()\r\n } else {\r\n resetModal()\r\n modal.style.display = \"none\";\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n continueBut.onclick = function(){\r\n\r\n function updateLegend(ifMax){\r\n console.log(ifMax)\r\n if(ifMax){\r\n var legendFinish = elemById('legendFinish');\r\n cart.style.display = 'block';\r\n \r\n legendite.textContent = \"Booth \" + objNum + ' - ' + util.displayUSD(theObj.cost[0].cost);\r\n legendite.setAttribute('class', objNum + theObj.show);\r\n cart.insertBefore(legendite, legendFinish);\r\n legendite.insertAdjacentElement('beforeend', deleteSpan);\r\n deleteSpan.onclick = function(e){\r\n e.stopPropagation\r\n parent.swal(\"Success\", \"Booth removed from Cart\", \"success\");\r\n this.parentNode.remove();\r\n var found = otherBooths.find(obj => obj.number === objNum);\r\n otherBooths.splice(otherBooths.indexOf(found), 1);\r\n calculateTotal()\r\n parent.removeBooth(theObj.number, theObj.show);\r\n parent.document.querySelector(\"[class='\" + theObj.number + theObj.show + \"boothSubTimer']\").remove();\r\n parent.document.querySelector(\"[class='\" + theObj.number + theObj.show + \"boothSubTimer']\").remove();\r\n }\r\n otherBooths.push(theObj);\r\n calculateTotal()\r\n var timerInterval = setInterval(function(){\r\n var el = document.querySelector(\"[class='\" + theObj.number + theObj.show + \"']\");\r\n if(!document.body.contains(el)){\r\n var found = otherBooths.find(obj => obj.number === theObj.number);\r\n otherBooths.splice(otherBooths.indexOf(found), 1);\r\n calculateTotal();\r\n clearInterval(timerInterval);\r\n }\r\n }, 200);\r\n }\r\n modal.style.display = \"none\";\r\n document.getElementById('spinner').remove()\r\n }\r\n \r\n //ES6 syntax is being used. Namely .find() and arrow func\r\n if(otherBooths.find(obj => obj.number === theObj.number)\r\n && otherBooths.find(obj => obj.show === theObj.show)\r\n || parent.Booths.find(obj => obj.number === theObj.number) \r\n && parent.Booths.find(obj => obj.show === theObj.show)){\r\n parent.swal(\"\", \"Booth Already in Your Cart!\", \"warning\");\r\n } else {\r\n document.getElementById('ModalP').innerHTML = '
';\r\n if(theObj.cost.length > 1){\r\n parent.AddBooth(theObj.number, theObj.show, updateLegend, selectedPlan);\r\n } else {\r\n parent.AddBooth(theObj.number, theObj.show, updateLegend);\r\n }\r\n }\r\n resetModal();\r\n }\r\n\r\n function checkOutClean(){\r\n if (otherBooths !== undefined || otherBooths.length !== 0) {\r\n Array.prototype.push.apply(parent.Booths, otherBooths);\r\n }\r\n parent.singleShowAfterCheckout()\r\n for ( var i = 0; i < SelectedFP.length; i++ ) {\r\n SelectedFP[i].classList.remove( 'SelectedFloorplan' );\r\n }\r\n Next.style.boxShadow = \"none\";\r\n Next.setAttribute('src', '');\r\n NextDiv.style.display = \"block\";\r\n }\r\n\r\n checkOut.onclick = function(){\r\n NextDiv.appendChild(CartBooths);\r\n\r\n CartBooths.setAttribute('class', 'CartBoothsInner');\r\n \r\n if (otherBooths !== undefined || otherBooths.length !== 0) {\r\n Array.prototype.push.apply(parent.Booths, otherBooths);\r\n }\r\n for ( var i = 0; i < SelectedFP.length; i++ ) {\r\n SelectedFP[i].classList.remove( 'SelectedFloorplan' );\r\n }\r\n parent.singleShowAfterCheckout()\r\n Next.style.boxShadow = \"none\";\r\n Next.setAttribute('src', '');\r\n NextDiv.style.display = \"block\";\r\n resetModal()\r\n }\r\n window.onclick = function(event) {\r\n if (event.target == modal) {\r\n modal.style.display = \"none\";\r\n resetModal()\r\n }\r\n }\r\n }\r\n\r\n async function switchDirectoryDialog(exhib){\r\n var body = document.querySelector('.modal-content');\r\n var ModalFooter = doc.createElement('div');\r\n var ModalDesc = doc.createElement('div');\r\n var ModalName = doc.createElement('h4');;\r\n var ModalImage = doc.createElement('img');\r\n var ModalSub = doc.createElement('div');\r\n var ModalHeader = doc.createElement('div');\r\n var ModalSubHeaderLeft = doc.createElement('div');\r\n var ModalSubHeaderRight = doc.createElement('div');\r\n var ModalLogo = doc.createElement('div');\r\n ModalLogo.setAttribute('class', 'directoryLogoDetails')\r\n ModalName.setAttribute('class', 'my-3');\r\n ModalImage.setAttribute('class', 'modalImage');\r\n ModalSub.setAttribute('id', 'subModal');\r\n ModalSub.setAttribute('class', 'row');\r\n ModalHeader.setAttribute('class', 'row');\r\n ModalSubHeaderLeft.setAttribute('class', 'col-sm-4');\r\n ModalSubHeaderRight.setAttribute('class', 'col-sm-8 text-left');\r\n var parser = window.location\r\n var event = parser.pathname.split('/')[2];\r\n var modal = document.getElementById('buyModal');\r\n body.style.width = '960px';\r\n var ModalCancel = doc.createElement('button');\r\n ModalCancel.setAttribute('class', 'Xtop closeBtn directoryClose');\r\n ModalCancel.textContent = \"X\"\r\n var directoryDetailLink = `/${event}/Company/${exhib}`\r\n \r\n await fetch(`/${event}/Directory/Detail/${exhib}`).then(res => {\r\n if(!res.ok){\r\n swal('Something Went Wrong!', \"Could not retrieve this exhibitor's information\", 'error');\r\n return Promise.reject();\r\n }\r\n res.text().then(text => {\r\n var data;\r\n try {\r\n data = text && JSON.parse(text);\r\n body.innerHTML = \"\";\r\n //ModalImage.setAttribute('src',`${config.hdrLogoSource ? `${config.hdrLogoSource}` : 'https://i.imgur.com/hYOeclw.png'}`);\r\n ModalImage.style.background = `url(${data.directoryInfo.directoryBannerDefault ? `${data.directoryInfo.directoryBannerDefault}` : 'https://i.imgur.com/hYOeclw.png'})`\r\n ModalImage.style.backgroundSize = 'cover';\r\n ModalImage.style.border = `5px solid ${fxStyle.windowHeader.clrBg !== \"\" ? \r\n fxStyle.windowHeader.clrBg : fxStyle.mainHeader.clrBg}`\r\n ModalName.textContent = data.exhibitorName;\r\n ModalDesc.innerHTML = data.directoryInfo.directoryDescription;\r\n ModalLogo.style.background = `url(${data.logoUrl ? `${data.logoUrl}` : 'https://i.imgur.com/hYOeclw.png'})`\r\n ModalLogo.style.backgroundColor = 'white';\r\n body.appendChild(ModalImage);\r\n ModalSubHeaderRight.appendChild(ModalName);\r\n ModalSubHeaderRight.appendChild(ModalDesc);\r\n ModalSubHeaderLeft.appendChild(ModalLogo)\r\n ModalSub.appendChild(ModalSubHeaderLeft)\r\n ModalSub.appendChild(ModalSubHeaderRight)\r\n body.appendChild(ModalSub)\r\n\r\n generateInfo(data);\r\n\r\n if(data.boothContacts.length){\r\n generateContact(data.boothContacts, data.directoryInfo.products)\r\n }\r\n\r\n if(data.directoryInfo.products.length){\r\n generateProducts(data.directoryInfo.products)\r\n }\r\n //addSharing(res.directoryInfo.facebookLink, res.directoryInfo.twitterLink, res.directoryInfo.linkedInLink, res.directoryInfo.addtnlSocialLinks)\r\n\r\n modal.style.display = \"block\"; \r\n ModalFooter.setAttribute('id', 'modalFooter')\r\n\r\n body.appendChild(ModalFooter);\r\n addDetailLink(directoryDetailLink);\r\n ModalFooter.appendChild(ModalCancel);\r\n ModalCancel.onclick = function() {\r\n elemById('buyModal').style.display = \"none\" \r\n }\r\n\r\n } catch (e) {\r\n console.log(e)\r\n swal('Something Went Wrong!', \"Could not retrieve this exhibitor's information\", 'error');\r\n }\r\n });\r\n })\r\n \r\n // .catch(() => {\r\n // swal('Something Went Wrong!', \"Could not retrieve this exhibitor's information\", 'error');\r\n // })\r\n }\r\n\r\n function addDetailLink(link){\r\n var body = document.querySelector('.modal-content');\r\n var linkTag = document.createElement('a');\r\n linkTag.setAttribute('class', 'my-3');\r\n\r\n linkTag.setAttribute('href', link);\r\n linkTag.textContent = \"Click Here to Visit Exhibitor's Detail page\"\r\n\r\n //Open in new tab only if viewed from within our iframe\r\n if (config.noNav){\r\n linkTag.setAttribute('target', \"new\");\r\n }\r\n\r\n body.appendChild(linkTag);\r\n }\r\n\r\n function generateInfo(data){\r\n console.log(data)\r\n var body = document.querySelector('#subModal');\r\n var overallDiv = document.createElement('div');\r\n var bar = document.createElement('div')\r\n bar.setAttribute('class', 'col-sm-12 dialgLeft')\r\n overallDiv.setAttribute('class', 'row');\r\n var primaryInfo = document.createElement('div');\r\n var secondaryInfo = document.createElement('div');\r\n overallDiv.setAttribute('class', 'text-left mt-1 dialgLeft row col-sm-12');\r\n primaryInfo.setAttribute('id', 'primaryInfoDiv');\r\n primaryInfo.setAttribute('class', 'col-sm-6');\r\n secondaryInfo.setAttribute('id', 'secondaryInfoDiv');\r\n secondaryInfo.setAttribute('class', 'col-sm-6');\r\n bar.innerHTML = `

Exhibitor Information

`\r\n primaryInfo.innerHTML = \r\n `

Contact Name: ${data.salutation ? data.salutation : ''} ${data.contactName ? data.contactName : 'Not Specified'}

\r\n

Address:
${data.address1 ? data.address1 : 'Not Specified'}\r\n \r\n ${data.address2 ? `
${data.address2}` : ''}\r\n
${data.city ? data.city : 'Not Specified'},\r\n ${data.state ? data.state : 'Not Specified'}\r\n ${data.postCode ? data.postCode : 'Not Specified'}\r\n
${data.country ? data.country : 'Not Specified'}

`\r\n secondaryInfo.innerHTML = \r\n `

Title: ${data.title ? data.title : 'Not Specified'}

\r\n

${data.phone ? 'Phone: ' + data.phone : ''}\r\n ${data.fax ? ' | Fax: ' + data.fax : ''}\r\n ${data.cell ? ' | Cell: ' + data.cell : ''}

\r\n ${data.email ? '

Email: ' + data.email + ' ' : ''}

\r\n ${data.website ? '

Website: ' + data.website + '' : ''}

`\r\n\r\n body.appendChild(bar)\r\n overallDiv.appendChild(primaryInfo)\r\n overallDiv.appendChild(secondaryInfo)\r\n body.appendChild(overallDiv)\r\n }\r\n\r\n function generateProducts(products){\r\n var maxLength = 0;\r\n var body = document.querySelector('#subModal');\r\n var productOverallContainer = document.createElement('div');\r\n productOverallContainer.setAttribute('id', 'productContainer');\r\n productOverallContainer.setAttribute('class', 'col-sm-5');\r\n productOverallContainer.innerHTML = `

Products

`\r\n products.map(p => { \r\n if(maxLength < 2){ \r\n var productContainer = document.createElement('div');\r\n productContainer.setAttribute('class', 'detailProduct');\r\n console.log(p)\r\n productContainer.innerHTML = \r\n `
\r\n
\r\n
\r\n
\r\n
\r\n

${p.name}

\r\n

${p.shortDescription}

\r\n

\r\n
`\r\n productOverallContainer.appendChild(productContainer);\r\n maxLength++\r\n } \r\n });\r\n body.appendChild(productOverallContainer)\r\n }\r\n function generateContact(contacts, prodLength){\r\n var body = document.querySelector('#subModal');\r\n var contactOverallContainer = document.createElement('div');\r\n contactOverallContainer.setAttribute('id', 'contactContainer');\r\n if(prodLength.length){\r\n contactOverallContainer.setAttribute('class', 'col-sm-7');\r\n } else {\r\n contactOverallContainer.setAttribute('class', 'col-sm-12');\r\n }\r\n contactOverallContainer.innerHTML = `

Contacts

`\r\n if(contacts[0]){\r\n var c = contacts[0];\r\n var contactContainer = document.createElement('div');\r\n contactContainer.innerHTML = \r\n `
\r\n
\r\n
\r\n
\r\n

${c.contactName}${c.title ? `, ${c.title}`: ''}

\r\n ${c.phone ? `

${c.phone}

` : ''}\r\n ${c.email ? `

${c.email}

` : ''}\r\n

${c.address1 ? `${c.address1}` : ''} ${c.country ? `${c.country}`: ''} ${c.zip ? `${c.zip}` : ''}

\r\n
\r\n
\r\n
\r\n
\r\n
${c.facebookLink ? ``: ''}${c.twitterLink ? ``: ''}${c.linkedInLink ? ``: ''}
\r\n
\r\n
\r\n
`\r\n contactOverallContainer.appendChild(contactContainer); \r\n }\r\n body.appendChild(contactOverallContainer)\r\n }\r\n \r\n function mouseMoveHandler( clientX, clientY) {\r\n var obj = null;\r\n var arExhIndex;\r\n var i;\r\n var flyoutText = \"\";\r\n var cursorX = clientX - elemById( \"floorplan\").offsetLeft;\r\n var cursorY = clientY - data.headerHeight;\r\n \r\n if( bPointerDown) {\r\n dragHandler( clientX, clientY);\r\n }\r\n else {\r\n \r\n // Avoid mouse interaction with booths when in simpleDrawing mode\r\n if( simpleDrawing == true){ return;}\r\n \r\n obj = drawing.hitTest( cursorX, cursorY);\r\n if( obj !== null) {\r\n// console.log( \"Mouse move hit - obj: \" + typeof(obj));\r\n if( obj === lastBooth) {\r\n return;\r\n }\r\n if( obj.hasOwnProperty( \"graphic\")) { // obj is a booth\r\n drawing.highlightBooth( obj.index);\r\n if( lastBooth === null || obj.number !== lastBooth.number) {\r\n lastBooth = obj;\r\n flyout.style.visibility = \"hidden\";\r\n flyout.style.display = \"block\";\r\n\r\n flyoutText = txt.BOOTH + \"  \";\r\n flyoutText += obj.number + \"
\";\r\n if( config.units === \"F\") {\r\n flyoutText += obj.dimF + \"   \" + obj.areaF + \"
\";\r\n }\r\n else {\r\n flyoutText += obj.dimM + \" \" + obj.areaM + \"
\";\r\n }\r\n if( obj.status === \"0\") {\r\n flyoutText += txt.AVAILABLE;\r\n if( obj.flyout !== \"\") {\r\n flyoutText += \"

\" + obj.flyout;\r\n }\r\n if(config.salesMode === \"exhibitor\"){\r\n \r\n for( i = 0; i < obj.cost.length; i++){\r\n \r\n if(obj.cost.length === 1){\r\n flyoutText += \"
\" + \"Rate: \" + obj.cost[0].planName;\r\n flyoutText += \"
\" + \"Cost: \" + util.displayUSD(obj.cost[0].cost);\r\n }\r\n else if (obj.cost.length > 1){\r\n flyoutText += \"
\" + obj.cost[i].planName + \": \" + util.displayUSD(obj.cost[i].cost);\r\n }\r\n \r\n }\r\n \r\n }\r\n }\r\n else {\r\n arExhIndex = obj.exhibitorIndex.toString().split(\",\");\r\n //arExhIndex = obj.exhibitorIndex[0];\r\n for( i = 0; i < arExhIndex.length; i++) {\r\n if( i > 0) {\r\n flyoutText += \"
\";\r\n }\r\n \r\n flyoutText += data.exhibitors[ arExhIndex[i] ].name;\r\n //flyoutText += data.exhibitors[arExhIndex].name;\r\n\r\n if( !config.isXML){\r\n var companyLogo = data.exhibitors[ arExhIndex[i] ].companyLogo;\r\n\r\n if(companyLogo){\r\n flyoutText += '
';\r\n }\r\n }\r\n }\r\n }\r\n flyout.innerHTML = flyoutText;\r\n }\r\n }\r\n else { // obj is an overlay\r\n if( obj.toolTip !== \"\") {\r\n \r\n flyout.style.visibility = \"hidden\";\r\n flyout.style.display = \"block\";\r\n \r\n flyout.innerHTML = obj.toolTip;\r\n }\r\n }\r\n \r\n flyoutPending = true;\r\n clearTimeout( flyoutDelay);\r\n flyoutDelay = setTimeout( showFlyout, 320); // wait for tap\r\n \r\n flyout.style.left = ( clientX + flyout.offsetWidth + 20 < fpRight) ?\r\n (cursorX + 16) + \"px\" : \r\n (cursorX - flyout.offsetWidth - 16) + \"px\";\r\n\r\n flyout.style.top = ( clientY + flyout.offsetHeight + 20 < fpBottom) ?\r\n (cursorY + 16) + \"px\" : \r\n (cursorY - flyout.offsetHeight) + \"px\";\r\n\r\n }\r\n else {\r\n clearFlyoutAndHighlight();\r\n }\r\n }\r\n }\r\n \r\n function clearFlyoutAndHighlight() {\r\n if( lastBooth !== null) {\r\n drawing.highlightBooth( \"-1\");\r\n }\r\n clearTimeout( flyoutDelay);\r\n flyout.style.display = \"none\";\r\n flyout.innerHTML = \"\";\r\n lastBooth = null;\r\n }\r\n \r\n function showFlyout() {\r\n flyout.style.display = \"block\";\r\n flyout.style.visibility = \"visible\";\r\n }\r\n \r\n function init() {\r\n fpcHeight = elemById(\"floorplan\").clientHeight;\r\n fpcWidth = elemById(\"floorplan\").clientWidth;\r\n fpc = elemById( \"fpContainer\");\r\n flyout = elemById( \"flyout\"); \r\n\r\n flyout.style.backgroundColor = config.clrFlyoutBackground || config.clrHighlight;\r\n flyout.style.color = config.clrFlyoutText || \"#ffffff\";\r\n\t\tif( config.flyoutFontSize) {\r\n\t\t\tflyout.style.fontSize = config.flyoutFontSize;\r\n }\r\n if( config.bToolbar && config.salesMode === \"none\" && config.elvis === false && config.is3d === true && !data.smallLayout){\t \t\t\t\t\t\t\r\n threedflyout = document.querySelector('.flyout-3d');\r\n threedflyout.style.backgroundColor = config.clrFlyoutBackground || config.clrHighlight;\r\n threedflyout.style.color = config.clrFlyoutText || \"#ffffff\";\r\n threedflyout.style.fontSize = config.flyoutFontSize;\r\n }\r\n\t\t// always create 2d environment or Chrome 64 cpu usage spikes on change from 3d to 2d !\r\n\t\ttwoD = new Drawing();\r\n\t\t\r\n\t\tif( config.is3d && config.openIn3D) {\r\n\t\t\tthreeD = new Drawing3d();\r\n\t\t\tdrawing = threeD;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdrawing = twoD;\r\n\t\t}\r\n\t\t\r\n\t\tdrawing.showFloorPlan();\r\n\t\t\r\n if( data.miniMap) {\r\n miniMap = new MiniMap( data.miniMap.content, drawing.getOffset());\r\n miniMap.enableNavigation();\r\n }\r\n \r\n zoomStep = 1;\r\n \r\n if( config.isXML){\r\n xmlBooths = data.xmlGraphics.getElementsByTagName(\"S\");\r\n totalElements = xmlBooths.length;\r\n }\r\n \r\n createFloorPlanObjects();\r\n \r\n if( config.showCoords) {\r\n elemById( \"coords\").style.display = \"block\";\r\n }\r\n if( fpRight === 0) {\r\n fpRight = data.viewportWidth - 2;\r\n fpBottom = data.viewportHeight - elemById( \"ftr\").offsetHeight;\r\n }\r\n \r\n }\r\n\r\n if(!config.isXML && !config.noNav && config.exhibitorDirectory){\r\n function navbar() {\r\n // bootstrap script\r\n var head = document.getElementsByTagName('head')[0];\r\n var bootScript = document.createElement('script');\r\n bootScript.type = 'text/javascript';\r\n bootScript.src = '../util/bootstrap.bundle.min.js';\r\n head.appendChild(bootScript)\r\n //-------------\r\n var nav = document.getElementById('dirNavbarNav');\r\n var loc = window.location;\r\n if(config.attendeeLogin) {\r\n var login = document.getElementById('directoryLogin');\r\n }\r\n var directory = document.createElement('button');\r\n var floorplan = document.createElement('button');\r\n var category = document.createElement('button');\r\n\r\n var directoryA = document.createElement('a');\r\n var floorplanA = document.createElement('a');\r\n var categoryA = document.createElement('a');\r\n\r\n var directoryListItem = document.createElement('li');\r\n var floorplanListItem = document.createElement('li');\r\n var categoryListItem = document.createElement('li');\r\n \r\n $(directory).addClass('directoryBtn');\r\n $(floorplan).addClass('floorplanBtn');\r\n $(category).addClass('categoryBtn');\r\n\r\n directoryA.appendChild(directory);\r\n floorplanA.appendChild(floorplan);\r\n categoryA.appendChild(category);\r\n\r\n directoryListItem.appendChild(directoryA);\r\n floorplanListItem.appendChild(floorplanA);\r\n categoryListItem.appendChild(categoryA); \r\n\r\n directory.textContent = \"Directory\";\r\n floorplan.textContent = \"Floorplan\";\r\n category.textContent = \"Categories\";\r\n\r\n directory.classList.add(\"invertBtn\");\r\n floorplan.classList.add(\"invertBtn\");\r\n category.classList.add(\"invertBtn\");\r\n\r\n directoryA.href = loc.protocol + \"//\" + loc.host + \"/\" + config.eventName + \"/directory\"\r\n categoryA.href= loc.protocol + \"//\" + loc.host + \"/\" + config.eventName + \"/tags\"\r\n if (config.attendeeLogin) {\r\n login.href= loc.protocol + \"//\" + loc.host + \"/\"\r\n }\r\n floorplan.disabled = true;\r\n\r\n nav.appendChild(directoryListItem);\r\n nav.appendChild(floorplanListItem)\r\n nav.appendChild(categoryListItem) \r\n toggleFullScreen();\r\n setNavContent()\r\n function setNavContent() {\r\n $('.directoryBtn', nav).html('');\r\n $('.directoryBtn', nav).append(`Directory`)\r\n \r\n $('.floorplanBtn', nav).html('');\r\n $('.floorplanBtn', nav).append(`Floorplan`)\r\n \r\n $('.categoryBtn', nav).html('');\r\n $('.categoryBtn', nav).append(`Categories`)\r\n \r\n $('.directoryBtn', nav).prop('title', 'Directory');\r\n // $('.floorplanBtn', nav).prop('title', 'Floorplan');\r\n $('.categoryBtn', nav).prop('title', 'Categories');\r\n\r\n }\r\n \r\n }\r\n navbar();\r\n\r\n function toggleFullScreen() {\r\n if ((document.fullScreenElement && document.fullScreenElement !== null) ||\r\n (!document.mozFullScreen && !document.webkitIsFullScreen)) {\r\n if (document.documentElement.requestFullScreen) {\r\n document.documentElement.requestFullScreen();\r\n } else if (document.documentElement.mozRequestFullScreen) {\r\n document.documentElement.mozRequestFullScreen();\r\n } else if (document.documentElement.webkitRequestFullScreen) {\r\n document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);\r\n }\r\n } else {\r\n if (document.cancelFullScreen) {\r\n document.cancelFullScreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitCancelFullScreen) {\r\n document.webkitCancelFullScreen();\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n function windowResizeHandler() {\r\n var offset;\r\n fpcHeight = elemById(\"floorplan\").clientHeight;\r\n fpcWidth = elemById(\"floorplan\").clientWidth;\r\n fpRight = data.viewportWidth - 2;\r\n fpBottom = data.viewportHeight - elemById( \"ftr\").offsetHeight;\r\n \r\n if( drawing !== null) {\r\n offset = drawing.resizeHandler();\r\n drawing.redraw( true);\r\n }\r\n if( miniMap) {\r\n miniMap.resize( offset);\r\n }\r\n }\r\n \r\n function fitDrawing() {\r\n drawing.fit();\r\n }\r\n\r\n function getLocation() {\r\n if ( navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(showPosition, showLocationError);\r\n }\r\n else {\r\n alert(\"Geolocation is not supported by this browser.\");\r\n }\r\n }\r\n\r\n function showPosition(position) {\r\n \r\n drawing.clearIAmHere();\r\n\r\n var arFxCoords = gpsToFX(position.coords.latitude, position.coords.longitude)\r\n\r\n config.lastXY = arFxCoords;\r\n\r\n drawing.setIAmHere( String.fromCharCode(0xf140), \"\", arFxCoords[0],arFxCoords[1], config.clrHighlight);\r\n drawing.redraw(true);\r\n\r\n if( !config.locationEnabled){\r\n var bgColor = fxStyle.fpToolbar.clrBg !== \"\" ?\r\n fxStyle.fpToolbar.clrBg : fxStyle.floorplan.clrBg !== \"\" ?\r\n fxStyle.floorplan.clrBg : fxStyle.mainHeader.clrBg;\r\n\r\n var locationButton = elemById(\"tb6\");\r\n locationButton.style.backgroundColor = bgColor;\r\n \r\n config.locationEnabled = true;\r\n\r\n locationTimeoutID = setInterval(getLocation, config.locationUpdateCheckInterval);\r\n \r\n }\r\n \r\n }\r\n\r\n function showLocationError(error) {\r\n switch(error.code) {\r\n case error.PERMISSION_DENIED:\r\n alert( \"User denied the request for Geolocation.\");\r\n break;\r\n case error.POSITION_UNAVAILABLE:\r\n alert( \"Location information is unavailable.\");\r\n break;\r\n case error.TIMEOUT:\r\n alert( \"The request to get user location timed out.\");\r\n break;\r\n case error.UNKNOWN_ERROR:\r\n alert( \"An unknown error occurred.\");\r\n break;\r\n }\r\n }\r\n\r\n function gpsToFX(latitude, longitude) {\r\n var coords;\r\n \r\n // Old values for testing based on my house :) -ANH\r\n var lat0 = parseFloat(config.refLat0); //41.700033;\r\n var lon0 = parseFloat(config.refLon0); //-88.341464;\r\n var lat1 = parseFloat(config.refLat1); //41.701947;\r\n var lon1 = parseFloat(config.refLon1); //-88.336517;\r\n \r\n var FXX0 = parseFloat(config.refFXX0); //1570.0;\r\n var FXY0 = parseFloat(config.refFXY0); //8375.0;\r\n var FXX1 = parseFloat(config.refFXX1); //16775.0;\r\n var FXY1 = parseFloat(config.refFXY1); //505.0;\r\n \r\n var radius = 110919.0;\r\n var d1 = (lat0 + lat1) / 2.0;\r\n var circumferenceAtLat = Math.cos(d1 * 0.01745329251) * 111305;\r\n var x0 = lon0 * circumferenceAtLat;\r\n var y0 = lat0 * radius;\r\n var x1 = lon1 * circumferenceAtLat;\r\n var y1 = lat1 * radius;\r\n\r\n if (false){ // Save the old code\r\n var d2 = (FXX1 - FXX0) / (x1 - x0);\r\n var d3 = (FXY1 - FXY0) / (y1 - y0);\r\n \r\n var x2 = longitude * circumferenceAtLat;\r\n var y2 = latitude * radius;\r\n \r\n var x = FXX0 + (x2 - x0) * d2;\r\n var y = FXY0 + (y2 - y0) * d3;\r\n }\r\n else{\r\n var d1 = x1 - x0;\r\n var d2 = y1 - y0;\r\n var d3 = Math.sqrt((d1 * d1) + (d2 * d2)); Math.sq\r\n var d4 = d2 / d3;\r\n var A1 = Math.asin(d4);\t\t// Angle for GPS\r\n \r\n d1 = FXX1 - FXX0;\r\n d2 = FXY1 - FXY0;\r\n d3 = Math.sqrt((d1 * d1) + (d2 * d2));\r\n d4 = d2 / d3;\r\n var A2 = Math.asin(d4);\t\t// Angle for FX\r\n \r\n var A3 = A1 - A2;\r\n var fx0 = FXX0;\r\n var fy0 = FXY0;\r\n var fx1 = fx0 + Math.cos(A3) * d1 - Math.sin(A3) * d2;\t\t// rotate point to GPS\r\n var fy1 = fy0 + Math.sin(A3) * d1 + Math.cos(A3) * d2;\r\n \r\n d2 = (fx1 - fx0) / (x1 - x0);\r\n d3 = (fy1 - fy0) / (y1 - y0);\r\n A3 = A2 - A1;\r\n \r\n var x2 = longitude * circumferenceAtLat;\r\n var y2 = latitude * radius;\r\n \r\n x2 = x2 - x0;\r\n y2 = y2 - y0;\r\n var m1 = x2 * d2;\r\n var m2 = y2 * d3;\t\r\n \r\n var x = fx0 + Math.cos(A3) * m1 - Math.sin(A3) * m2;\t\t// rotate point to FX\r\n var y = fy0 + Math.sin(A3) * m1 + Math.cos(A3) * m2;\r\n }\r\n\r\n coords = [x, y];\r\n\r\n console.log(\"X: \" + coords[0]);\r\n console.log(\"Y: \" + coords[1]);\r\n \r\n return coords;\r\n }\r\n\r\n function show3d() {\r\n var ar;\r\n var tmp = drawing.getSelected();\r\n drawing.remove2d();\r\n if( threeD === null ) { // !threeD.getIsReady()\r\n\t\t\tthreeD = new Drawing3d();\r\n drawing = threeD;\r\n drawing.completeSetup();\r\n drawing.addBuilding( buildingImage);\r\n markFavorites();\r\n\t\t\t\t// only once ??\r\n\t\t\tif( data.queryCoord !== \"\") {\r\n\t\t\t\tar = data.queryCoord.split( \",\");\r\n\t\t\t\tzoomToIAmHere( ar[0], ar[1], txt.I_AM_HERE);\r\n\t\t\t}\r\n }\r\n else {\r\n drawing = threeD;\r\n }\r\n\t\t\r\n drawing.showFloorPlan();\r\n drawing.updateSelected( tmp);\r\n twoD.removeAllSelected();\r\n if( miniMap) {\r\n miniMap.resize( drawing.getOffset());\r\n }\r\n tmp = null;\r\n }\r\n \r\n function show2d() {\r\n var ar;\r\n var tmp = drawing.getSelected();\r\n drawing.remove3dFloorPlan();\r\n if( !twoD.getIsReady() ) {\r\n drawing = twoD;\r\n drawing.completeSetup();\r\n drawing.addBuilding( buildingImage);\r\n markFavorites();\r\n\t\t\t\t// only once ??\r\n\t\t\tif( data.queryCoord !== \"\") {\r\n\t\t\t\tar = data.queryCoord.split( \",\");\r\n\t\t\t\tzoomToIAmHere( ar[0], ar[1], txt.I_AM_HERE);\r\n\t\t\t}\r\n }\r\n else {\r\n drawing = twoD;\r\n }\r\n \r\n\t\tdrawing.showFloorPlan();\r\n drawing.updateSelected( tmp);\r\n threeD.removeAllSelected();\r\n if( miniMap) {\r\n miniMap.resize( drawing.getOffset());\r\n// miniMap.enableNavigation();\r\n }\r\n\t\tdrawing.redraw();\r\n tmp = null;\r\n }\r\n \r\n \r\n return {\r\n BOOTH_AVAILABLE : BOOTH_AVAILABLE,\r\n BOOTH_DELETED : BOOTH_DELETED,\r\n BOOTH_HOLD : BOOTH_HOLD,\r\n BOOTH_RENTED : BOOTH_RENTED,\r\n clearBooth : clearBooth,\r\n createBoothGradient: function( graphic) {\r\n return drawing.createBoothGradient( graphic);\r\n },\r\n getBoothColor : getBoothColor,\r\n getBoothMinMax : getBoothMinMax,\r\n getFloorPlanImage : function( full) {\r\n return drawing.getFloorPlanImage( full);\r\n },\r\n\t\tgetFloorPlanPdf: function( value) {\r\n\t\t\treturn drawing.drawPdf( value);\t\t// check drawing === 2D !!\r\n\t\t},\r\n init : init,\r\n\t\tis2d : function() {\r\n\t\t\treturn (drawing === twoD);\r\n\t\t},\r\n globalToFloorPlan : function( pt) {\r\n return drawing.globalToFloorPlan(pt);\r\n },\r\n markFavorites : markFavorites,\r\n newBooth : newBooth,\r\n outlineBooth: outlineBooth,\r\n redraw : function() {\r\n drawing.redraw( true);\r\n },\r\n removeBoothText : removeBoothText,\r\n sales: sales,\r\n saveNewBooth: saveNewBooth,\r\n show2d: show2d,\r\n show3d: show3d,\r\n tagBooth : tagBooth,\r\n unOutlineBooth: unOutlineBooth,\r\n updateBooth : function() {\r\n drawing.redraw( true);\r\n },\r\n getLocation : getLocation,\r\n windowResizeHandler : windowResizeHandler,\r\n zoomToBoothIndex : zoomToBoothIndex,\r\n zoomToIAmHere : zoomToIAmHere,\r\n parseGraphicsSQL : parseGraphicsSQL, \r\n createModal : createModal,\r\n switchDirectoryDialog : switchDirectoryDialog\r\n };\r\n};","/*jslint white: true, plusplus: true, vars: true, undef: true, sloppy: true */\r\n// 'use strict'\r\n/* global */\r\n(function() {\r\n\tvar config = expocadfx.config;\r\n\tvar txt = expocadfx.txt;\r\n var fxData = expocadfx.fxData;\r\n\tvar FxEvent = expocadfx.fxevent;\r\n var util = expocadfx.util;\r\n\tvar localStorage = expocadfx.localStorage;\r\n var elemById = expocadfx.element.elementById;\r\n var DataManager = expocadfx.DataManager;\r\n var FloorPlan = expocadfx.Floorplan;\r\n var PageControl = expocadfx.PageControl;\r\n var Favorites = expocadfx.Favorites;\r\n var pgSetup = expocadfx.pageSetup;\r\n\tvar loadScript = expocadfx.loadScript;\r\n\tvar setupHeaderFooter = expocadfx.setupHeaderFooter;\r\n var setupGA = expocadfx.setupGA;\r\n var Sales = expocadfx.Sales;\r\n\r\n\tvar dataMgr = null;\r\n var favs = null;\r\n var doc = document;\r\n var pgCtl = null;\r\n var fp = null;\r\n\t\r\n// fxData.startTime = Date.now();\r\n\t\r\n/////////// for external call from SalesForce ///////////////////////////////////\r\n expocadfx.salesLogout = function salesLogout() {\r\n if( pgCtl.isSalesLoggedIn() ) {\r\n pgCtl.disableSales( true);\r\n }\r\n };\r\n\t\t// for external call from SalesForce\r\n expocadfx.zoomToBooth = function( numbers) {\r\n if( numbers !== null && numbers !== undefined && numbers !== \"\") {\r\n zoomToBoothNumbers( numbers);\r\n }\r\n else {\r\n console.log( \"Zoom to booth called with no booth numbers \" + numbers);\r\n }\r\n };\r\n////////////////////////////////////////////////////////// \r\n // Set is XML flag if exfx.html is detected\r\n if(doc.baseURI.toLowerCase().includes(\"exfx.html\")){\r\n config.isXML = true;\r\n }\r\n\r\n doc.addEventListener( \"Loader_Ready\", loaderReady);\r\n doc.addEventListener( \"Sales_Floorplan_Loaded\", null);\r\n dataMgr = new DataManager();\r\n\t\r\n\tfunction loaderReady() {\r\n\t\tdoc.removeEventListener( \"Loader_Ready\", loaderReady);\r\n\t\tdataMgr.loadInitial( initialDataLoaded);\r\n\t\tutil.parseQuerySting( config, fxData);\r\n\t\tutil.parseUA( navigator.userAgent, fxData);\r\n\t}\r\n\t\r\n function initialDataLoaded() { // config and options\r\n\t\tvar fileName = \"\";\r\n\t\tvar ls = localStorage.storageAvailable( \"localStorage\");\r\n\t\tvar langPreference = \"\";\r\n\t\tvar obj = null;\r\n\t\t\t// load text file for selected or prefered language CHECK localStorage !\r\n\t\tif( config.languages.length > 0) {\r\n\t\t\tif( ls) {\r\n\t\t\t\tlangPreference = ls.getItem( \"languagePreference\");\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tobj = util.arrayFind( config.languages, \"file\", langPreference);\r\n\t\t\tif( obj) {\r\n\t\t\t\tfileName = obj.file;\r\n\t\t\t\tfxData.languagePreference = langPreference;\r\n\t\t\t}\r\n\t\t\telse if( config.defaultlanguage) {\r\n\t\t\t\tobj = util.arrayFind( config.languages, \"file\", config.defaultlanguage);\r\n\t\t\t\tif( obj) {\r\n\t\t\t\t\tfileName = obj.file;\r\n\t\t\t\t\tfxData.languagePreference = config.defaultlanguage;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tfileName = config.languages[0].file;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconsole.log( \"NO Default - Get file name from first array item: \" + config.languages[0].file);\r\n\t\t\t\tfileName = config.languages[0].file;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\t// load it\r\n\t\tdoc.addEventListener( \"Text_Loaded\", textAvailable);\r\n\t\tdataMgr.loadTextFile( fileName);\r\n\t\t\r\n if( config.is3d) {\r\n\t\t\tif( config.salesMode !== \"none\") {\r\n\t\t\t\tconfig.is3d = false;\r\n\t\t\t}\r\n else if( !util.detectWebGL()) {\r\n\t\t\t\tconsole.log( \"Turn 3d off ---- No WebGL Detected\");\r\n\t\t\t\tconfig.is3d = false;\r\n }\r\n }\r\n }\r\n\t\r\n\tfunction textAvailable() {\r\n\t\tdoc.removeEventListener( \"Text_Loaded\", textAvailable);\r\n\t\t\r\n var arVersion = config.expocadVersion.split( \".\");\t\t// needed for data change in \r\n var major = parseInt( arVersion[0], 10);\t\t\t\t// EXPOCAD version 7.11\r\n var minor = parseInt( arVersion[1], 10);\r\n var patch = (arVersion.length > 2) ? parseInt( arVersion[2], 10) : 0;\r\n\t\tvar logo = null;\r\n\t\t\r\n setupHeaderFooter();\r\n\t\t\r\n pgCtl = new PageControl( dataMgr);\r\n doResize();\r\n\t\t\r\n\t\tdoc.addEventListener( \"orientationchange\", doResize);\r\n doc.addEventListener( \"Favorite_Change\", favChangeHandler);\r\n\r\n\t\tif( config.hdrLogoSource !== \"\") {\r\n\t\t\tlogo = elemById( \"logo\");\r\n logo.onload = function() {\r\n logo.style.display = \"block\";\r\n adjustLayout();\r\n };\r\n logo.onerror = function() {\r\n console.log( \"Error loading Header Logo\");\r\n adjustLayout();\r\n };\r\n\t\t\tlogo.src = config.hdrLogoSource;\r\n }\r\n // Check Authorization Code\r\n config.authorizationKey = config.authorizationKey.replace(/\\s/g, \"\");\r\n if( config.authorizationKey !== \"\" && config.authorizationKey !== fxData.queryAuthKey) {\r\n failMsg( \"You are not authorized to use program at this time.\");\r\n return;\r\n }\r\n \r\n // Adding Multiview sales support in 4.5.x -ANH \r\n // if( config.salesMode !== \"none\" && config.hasMultipleViews) {\r\n // config.salesMode = \"none\";\r\n // alert( \"FX Sales is not currently supported in Carousel ( multi-view) events\");\r\n //swal(\"\", \"FX Sales is not currently supported in Carousel ( multi-view) events\", \"error\");\r\n // }\r\n\t\t\r\n\t\tif( config.hasFloorPlan) {\r\n\t\t\tfp = new FloorPlan();\r\n\t\t\tif( config.is3d) {\r\n\r\n var path = \"../util/three.min.js\";\r\n\r\n if( config.isXML){\r\n path = \"three.min.js\";\r\n }\r\n\r\n\t\t\t\tloadScript( path, cbThree, true);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n if( config.hasMultipleViews && config.viewName === \"\") { // Carousel/multi-view-overview\r\n\r\n if(config.password !== \"\"){\r\n doc.addEventListener( \"Last_Message_Number_Ready\", lastMessageReady);\r\n }\r\n\r\n dataMgr.loadMultiViewList();\r\n pageInit();\r\n }\r\n else {\r\n // 5.0 - Don't need to authorize since server access is required \r\n // check authorization and expiration\r\n if( !util.checkFile( config, doc.domain) && config.isXML) {\r\n failMsg( txt.FAIL_AUTH);\r\n }\r\n else if( util.checkDate( config) > 0 && config.isXML) {\r\n failMsg( txt.EXPIRED);\r\n }\r\n else {\r\n if( config.password !== \"\" || config.salesMode !== \"none\") {\r\n \r\n doc.addEventListener( \"Last_Message_Number_Ready\", lastMessageReady);\r\n if(config.isXML) {\r\n //pgCtl.loginRequired( config.salesMode);\r\n }\r\n else{\r\n pgCtl.fx5Login(config.salesMode);\r\n }\r\n }\r\n \r\n if( major > 7 || ( major === 7 && ( minor > 11 || ( minor === 11 && patch > 0)))) {\r\n //Change scale here\r\n config.MULTIPLIER = 3;\r\n config.DRAWING_WIDTH = config.MULTIPLIER * config.DRAWING_WIDTH;\r\n config.DRAWING_HEIGHT = config.MULTIPLIER * config.DRAWING_HEIGHT;\r\n }\r\n else {\r\n config.oldVersion = true;\r\n }\r\n\t\t\t\tif( !config.is3d || config.salesMode !== \"none\") {\r\n\t\t\t\t\tloadRemainingData();\r\n\t\t\t\t}\r\n }\r\n }\r\n }\r\n\r\n function lastMessageReady(){\r\n pgCtl.loginRequired( config.salesMode);\r\n }\r\n\t\r\n\tfunction cbThree( success) {\r\n\t\tif( !success) {\r\n\t\t\tconsole.log( \"THREE.js DID NO LOAD!\");\r\n\t\t\tconfig.is3d = false;\r\n\t\t}\r\n\t\tloadRemainingData();\r\n\t}\r\n \r\n function failMsg( msg) {\r\n var divMsg = doc.createElement( \"div\");\r\n var msgArea = doc.createElement( \"div\");\r\n var msgText = doc.createElement( \"p\");\r\n \r\n divMsg.setAttribute( \"class\", \"modalDialog\");\r\n msgArea.className = \"msgArea\";\r\n msgText.className = \"failed\";\r\n \r\n msgText.textContent = msg;\r\n \r\n divMsg.appendChild( msgArea);\r\n msgArea.appendChild( msgText);\r\n elemById( \"appContent\").appendChild(divMsg);\r\n }\r\n \r\n function loadRemainingData() {\r\n dataMgr.loadAllData( dataLoaded);\r\n\t\tdoc.addEventListener( \"Technical_Layer_Ready\", setupLayesMenu);\r\n pageInit();\r\n }\r\n\t\r\n\tfunction setupLayesMenu() {\r\n\t\tdoc.removeEventListener( \"Technical_Layer_Ready\", setupLayesMenu);\r\n\t\tpgSetup.addTechMenu( fp.is2d());\r\n\t}\r\n \r\n function dataLoaded() {\r\n// fp = new FloorPlan();\r\n fp.init();\r\n pgCtl.setFloorPlan( fp);\r\n \r\n doc.addEventListener( \"Floor_Plan_Ready\", floorPlanReadyHandler);\r\n }\r\n\t\r\n\tfunction floorPlanReadyHandler() {\r\n\t\tvar ar = [];\r\n\t\tvar iAmHereLabel = txt.I_AM_HERE;\r\n\t\t\r\n\t\tdoc.removeEventListener( \"Floor_Plan_Ready\", floorPlanReadyHandler);\r\n\t\t\r\n\t\tif( !config.bHideAvailableList) {\r\n\t\t\tcheckAvailableBooth();\r\n\t\t}\r\n\r\n\t\tif( fxData.queryIndex !== \"\") { // check at initialization in floorplan ??\r\n\t\t\tfp.zoomToBoothIndex( fxData.queryIndex, true);\r\n\t\t}\r\n\t\telse if( fxData.queryBooths !== \"\") {\r\n\t\t\tzoomToBoothNumbers( fxData.queryBooths);\r\n\t\t}\r\n\t\telse if( fxData.queryCoord !== \"\") {\r\n\t\t\tar = fxData.queryCoord.split( \",\");\r\n\r\n\t\t\tif( ar.length === 3 && ar[2] !== \"\") {\r\n iAmHereLabel = ar[2];\r\n }\r\n\r\n\t\t\tfp.zoomToIAmHere( ar[0], ar[1], iAmHereLabel);\r\n\t\t}\r\n\t\tpgCtl.initPeriodicFunctions();\r\n\t\t\r\n\t\tif( fxData.status.favoritesReady) { // && not already marked ??\r\n\t\t\tfp.markFavorites();\r\n\t\t}\r\n\r\n\t\tif( fxData.queryExhibitor) { //?? open exhibitor info dialog ?? \"Exhibitor_Selected\"\r\n\t\t\tvar obj = null;\r\n\t\t\tvar displayExhibitor = util.arrayFind(fxData.displayExhibitors, \"name\", fxData.queryExhibitor);\r\n\r\n\t\t\tif( displayExhibitor) {\r\n\t\t\t\tobj = {\r\n\t\t\t\t\texhibitorIndex : displayExhibitor.exhibIndex,\r\n\t\t\t\t\tboothIndex : displayExhibitor.arBoothIndexes.join( \",\")\r\n\t\t\t\t};\r\n\t\t\t\tdoc.dispatchEvent( new FxEvent( \"Exhibitor_Selected\", obj));\r\n\t\t\t}\r\n }\r\n if( config.defaultListWindowOpen) {\r\n\t\t\tutil.addClass( elemById( \"listWindow\"), \"nav-begin\");\r\n\t\t}\r\n\t\tif(config.defaultListWindowOpen){\r\n\t\t\tutil.addClass( elemById( \"listWindow\"), \"nav-open\");\r\n }\r\n if(config.defaultListWindowOpen){\r\n window.setTimeout(function(){\r\n util.removeClass( elemById( \"listWindow\"), \"nav-begin\");\r\n }, 400)\r\n }\r\n\t\tif( !config.defaultListWindowOpen) {\r\n\t\t\tutil.addClass( elemById( \"listWindow\"), \"nav-closed\");\r\n\t\t}\r\n\t\tif( fxData.gaAccount === null) {\r\n\t\t\tdataMgr.loadGoogleAccount( checkGoogle);\r\n\t\t}\r\n\t\telse if( fxData.gaAccount !== \"\") {\r\n\t\t\tsetupGA( fxData.gaAccount);\r\n\t\t}\r\n }\r\n\r\n\tfunction checkGoogle( success, result) {\r\n\t\tvar acct = \"\";\r\n\t\tif( success) {\r\n\t\t\tacct = result.getElementsByTagName( \"Account\")[0];\r\n\t\t\tif( acct && acct.textContent !== \"\") {\r\n\t\t\t\tsetupGA( acct.textContent);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n function zoomToBoothNumbers( numbers) {\r\n var arIndexes = [];\r\n var arBooths = String( numbers).split( \",\");\r\n var idx = -1;\r\n var i = 0;\r\n \r\n for( i = 0; i < arBooths.length; i++) {\r\n idx = util.findBoothIndex( arBooths[i], fxData.booths);\r\n if( idx !== -1) {\r\n arIndexes.push( idx);\r\n }\r\n }\r\n if( arIndexes.length > 0) {\r\n fp.zoomToBoothIndex( arIndexes.join( \",\"), true);\r\n }\r\n }\r\n \r\n function checkAvailableBooth() {\r\n doc.removeEventListener( \"Floor_Plan_Ready\", checkAvailableBooth);\r\n if( fxData.numAvailableBooths > 0) {\r\n pgCtl.addAvailableBoothPage();\r\n }\r\n else {\r\n pgSetup.removeAvailableBoothButton();\r\n }\r\n }\r\n \r\n function checkFavorites() {\r\n\t\tif( config.hasMultipleViews) {\r\n\t\t\tfavs.validate( fxData.eventBooths);\r\n\t\t\tif( !config.hasFloorPlan) {\r\n\t\t\t\tdataMgr.parseShowExhibitors();\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfavs.validate( fxData.exhibitors);\r\n\t\t}\r\n\t\t\r\n\t\tfxData.status.favoritesReady = true;\r\n\t\tif( fp !== null && fp !== undefined) {\r\n\t\t\tfp.markFavorites();\r\n\t\t}\r\n }\r\n \r\n function favChangeHandler( evt) {\r\n if( evt.data.fav) {\r\n favs.save( evt.data.boothNumber, evt.data.exhId);\r\n\t\t\t\r\n if( evt.data.local) {\r\n fp.tagBooth( evt.data.boothIndex);\r\n }\r\n }\r\n else {\r\n favs.remove( evt.data.boothNumber, evt.data.exhId);\r\n if( evt.data.local) {\r\n fp.clearBooth( \"favorite\", evt.data.boothIndex);\r\n }\r\n }\r\n }\r\n\r\n function pageInit() {\r\n pgSetup.initializePages();\r\n pgCtl.initialize(); \r\n \r\n doc.addEventListener( \"Size_Change\", adjustLayout);\r\n doc.addEventListener( \"Banner_Added\", function( evt) {\r\n pgCtl.handleAdBanner( evt.data);\r\n adjustLayout();\r\n });\r\n\r\n adjustLayout();\r\n\r\n favs = new Favorites();\r\n favs.init( config.eventName);\r\n \r\n doc.addEventListener( \"Ready_To_Validate_Favorites\", function() {\r\n fxData.status.exhibitorsReady = true;\r\n checkFavorites();\r\n });\r\n }\r\n\r\n // need to call this after logo, social options, ads are loaded !\r\n function adjustLayout() {\r\n if ( !config.isXML && !config.noNav && config.exhibitorDirectory){\r\n var check = elemById(\"directoryNav\");\r\n if(!check){\r\n generateNav();\r\n }\r\n \r\n var headerHeight = elemById(\"directoryNav\").offsetHeight;\r\n elemById(\"appContent\").style.top = headerHeight + \"px\";\r\n }\r\n else{\r\n //console.log(config.isXML)\r\n //console.log(config.noNav) \r\n\r\n var headerHeight = elemById( \"mainHeader\").offsetHeight;\r\n }\r\n \r\n var appHeight = fxData.viewportHeight - headerHeight - elemById( \"ftr\").offsetHeight - 1;\r\n\t\t\r\n elemById(\"appContent\").style.height = appHeight + \"px\";\r\n \r\n setContainerSize( appHeight);\r\n fxData.headerHeight = headerHeight + 1;\r\n \r\n if( fxData.headerHeight < 48) {\r\n elemById( \"control1\").style.top = 10 + \"px\";\r\n }\r\n else {\r\n elemById( \"control1\").style.top = \"10px\";\r\n }\r\n }\r\n\r\n function generateNav(){\r\n var nav = document.createElement('div');\r\n var search = document.createElement('nav');\r\n var body = document.getElementsByTagName(\"body\")[0];\r\n\r\n body.appendChild(nav); \r\n nav.appendChild(search)\r\n nav.setAttribute('id', 'directoryNav');\r\n nav.setAttribute('class', 'navbar-header fixed-top');\r\n search.setAttribute('id', 'searchBar');\r\n search.setAttribute('class', 'navbar navbar-expand-lg');\r\n \r\n // I'm sure there's a more efficient way to do this.. -AH Hows this? -JB Looks great :D -AH\r\n //if(config.attendeeLogin) {\r\n search.innerHTML = `\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n
\r\n
    \r\n
      \r\n ${config.attendeeLogin ? `` : ''}\r\n
    \r\n
      \r\n
      `\r\n elemById('barNone').addEventListener('click', toggleNavFullScreen);\r\n //}\r\n // else {\r\n // search.innerHTML = '' + \r\n // '' +\r\n // '
      ' +\r\n // '
        ' +\r\n // '
      • ' +\r\n // '
      ' +\r\n // '
        ' +\r\n // '
          ' +\r\n\r\n // '
        ' +\r\n // '
          ' +\r\n // '
        ' +\r\n // '
        '\r\n // }\r\n }\r\n\r\n function toggleNavFullScreen() {\r\n if ((document.fullScreenElement && document.fullScreenElement !== null) ||\r\n (!document.mozFullScreen && !document.webkitIsFullScreen)) {\r\n if (document.documentElement.requestFullScreen) {\r\n document.documentElement.requestFullScreen();\r\n } else if (document.documentElement.mozRequestFullScreen) {\r\n document.documentElement.mozRequestFullScreen();\r\n } else if (document.documentElement.webkitRequestFullScreen) {\r\n document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);\r\n }\r\n } else {\r\n if (document.cancelFullScreen) {\r\n document.cancelFullScreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitCancelFullScreen) {\r\n document.webkitCancelFullScreen();\r\n }\r\n }\r\n }\r\n\r\n function setContainerSize( height) {\r\n fxData.pageHeight = height - fxData.initialAccordionHeight + \"px\";\r\n //allow for seach header\r\n elemById( \"exhGrid\").style.height = (height - fxData.initialAccordionHeight - 36) + \"px\";\r\n\t\telemById( \"boothGrid\").style.height = (height - fxData.initialAccordionHeight - 36) + \"px\";\r\n \r\n if( fxData.smallLayout) {\r\n elemById( \"exhGrid\").style.width = fxData.viewportWidth - 1 + \"px\";\r\n\t\t\telemById( \"boothGrid\").style.width = fxData.viewportWidth - 1 + \"px\";\r\n }\r\n else {\r\n elemById( \"exhGrid\").style.width = \"416px\";\r\n\t\t\telemById( \"boothGrid\").style.width = \"416px\";\r\n }\r\n \r\n elemById( \"viewContent\").style.height = fxData.pageHeight; // ?????\r\n elemById( \"floorplan\").style.width = fxData.viewportWidth;\r\n \r\n if( fp) {\r\n fp.windowResizeHandler( fxData.viewportWidth, height);\r\n }\r\n \r\n if( fxData.grid !== null) {\r\n fxData.grid.resizeCanvas();\r\n }\r\n pgSetup.resize();\r\n pgCtl.resize();\r\n }\r\n\r\n function doResize() {\r\n fxData.viewportWidth = doc.documentElement.clientWidth || doc.body.clientWidth;\r\n fxData.viewportHeight = doc.documentElement.clientHeight || doc.body.clientHeight;\r\n fxData.smallLayout = ( fxData.viewportWidth < 750);\r\n adjustLayout();\r\n }\r\n window.onresize = function() {\r\n var newWidth = window.innerWidth || doc.documentElement.clientWidth || doc.body.clientWidth;\r\n var newHeigth = window.innerHeight || doc.documentElement.clientHeight || doc.body.clientHeight;\r\n \r\n var timerId;\r\n if( newWidth === fxData.viewportWidth && newHeigth === fxData.viewportHeight) {\r\n \r\n clearTimeout( timerId);\r\n timerId = setTimeout( doResize(), 100);\r\n }\r\n else {\r\n doResize();\r\n }\r\n };\r\n}());\r\n"]}