3 //-- Ensure that we have a usable console object so that we don't crash finicky browsers.
7 "log", "debug", "info", "warn", "error",
8 "assert", "dir", "dirxml", "group", "groupEnd", "time",
9 "timeEnd", "count", "trace", "profile", "profileEnd"
13 noOp = function () {};
15 for (i = 0; i < l; i = i + 1)
17 window.console[names[i]] = noOp;
28 checkBoxChanged : false,
31 onSwitchTemplatePublished : function()
33 $('.navbar li').hide();
34 $('#su_container').hide();
35 $('#btnPortal').click(function() {
37 if (App.companyData.group == '' || App.companyData.group == null)
39 window.location.hash = '/valuations';
41 window.location.hash = '/' + App.companyData.group.landingPage;
43 $('#btnAdmin').click(function() {
45 window.location.hash = '/admin';
49 onAdminTemplatePublished : function()
51 // nothing to do here yet, empty landing page for now.
54 initBrochure : function()
58 /*$('#MobiPublicMenu').hide();
59 $('#MobiBrochureMenu').show();
60 $('#MobiPortalMenu').remove();*/
63 'onLoginPageTemplatePublished', 'Controller.Published:login',
64 $.proxy( _w.onLoginPageTemplatePublished, this ), 'Recurring'
67 'onForgotPageTemplatePublished', 'Controller.Published:forgot',
68 $.proxy( _w.onForgotPageTemplatePublished, this ), 'Recurring'
71 'onTemplateReady', 'Template.Ready:register',
72 $.proxy( _w.register.onTemplateReady, this, 'register' ), 'Recurring'
75 'onTemplatePublished', 'Controller.Published:register',
76 $.proxy( _w.register.onTemplatePublished, this, 'register' ), 'Recurring'
80 'onTemplateReady', 'Template.Ready:dealerhome',
81 $.proxy( _w.home.onTemplateReady, this, 'dealerhome' ), 'Recurring'
84 'onTemplatePublished', 'Controller.Published:dealerhome',
85 $.proxy( _w.home.onTemplatePublished, this, 'dealerhome' ), 'Recurring'
90 'onValuationViewTemplateReadyMain', 'Template.Ready:publicvaluation',
91 $.proxy( _w.publicvaluation.onValuationViewTemplateReady, this, 'publicvaluation' ), 'Recurring'
94 'onValuationViewPublishedMain', 'Controller.Published:publicvaluation',
95 $.proxy( _w.publicvaluation.onValuationViewPublished, this, 'publicvaluation' ), 'Recurring'
99 'onCustomerValuationViewTemplateReadyMain', 'Template.Ready:customervaluation',
100 $.proxy( _w.customervaluation.onCustomerValuationViewTemplateReady, this, 'customervaluation' ), 'Recurring'
103 'onCustomerValuationViewPublishedMain', 'Controller.Published:customervaluation',
104 $.proxy( _w.customervaluation.onCustomerValuationViewPublished, this, 'customervaluation' ), 'Recurring'
108 'onCustomerCompleteValuationViewTemplateReadyMain', 'Template.Ready:customercompletevaluation',
109 $.proxy( _w.customercompletevaluation.onCustomerCompleteValuationViewTemplateReady, this, 'customercompletevaluation' ), 'Recurring'
112 'onCustomerCompleteValuationViewPublishedMain', 'Controller.Published:customercompletevaluation',
113 $.proxy( _w.customercompletevaluation.onCustomerCompleteValuationViewPublished, this, 'customercompletevaluation' ), 'Recurring'
118 initAdmin : function()
121 $('#PublicMenu').remove();
122 $('#MobiPublicMenu').remove();
123 $('#BrochureMenu').remove();
124 $('#MobiBrochureMenu').remove();
125 $('#PortalMenu').show();
130 App.allowedPages = {};
131 true == App.permissions.adminPage
132 ? $('.b_permissions').show() && (App.allowedPages.permissions = true)
133 : $('.b_permissions').hide() && (App.allowedPages.permissions = false);
135 true == App.permissions.adminRegistration
136 ? $('.b_registration').show() && (App.allowedPages.registration = true)
137 : $('.b_registration').hide() && (App.allowedPages.registration = false);
139 true == App.permissions.adminReport
140 ? $('.b_reports').show() && (App.allowedPages.reports = true)
141 : $('.b_reports').hide() && (App.allowedPages.reports = false);
143 true == App.permissions.adminDealer
144 ? $('.b_dealers').show() && (App.allowedPages.dealers = true)
145 : $('.b_dealers').hide() && (App.allowedPages.dealers = false);
146 true == App.permissions.adminDealer
147 ? $('.b_groups').show() && (App.allowedPages.dealers = true)
148 : $('.b_groups').hide() && (App.allowedPages.dealers = false);
149 true == App.permissions.adminDealer
150 ? $('.b_divisions').show() && (App.allowedPages.dealers = true)
151 : $('.b_divisions').hide() && (App.allowedPages.dealers = false);
153 true == App.permissions.adminCommunication
154 ? $('.b_communication').show() && (App.allowedPages.communication = true)
155 : $('.b_communication').hide() && (App.allowedPages.communication = false);
157 true == App.permissions.adminSettings
158 ? $('.b_systemsettings').show() && (App.allowedPages.systemsettings = true)
159 : $('.b_systemsettings').hide() && (App.allowedPages.systemsettings = false);
161 true == App.permissions.adminUser
162 ? $('.b_systemusers').show() && (App.allowedPages.systemusers = true)
163 : $('.b_systemusers').hide() && (App.allowedPages.systemusers = false);
165 true == App.permissions.adminAuction
166 ? $('.b_auctions').show() && (App.allowedPages.systemauctions = true)
167 : $('.b_auctions').hide() && (App.allowedPages.systemauctions = false);
169 true == App.permissions.adminPage
170 ? $('.b_newsletters').show() && (App.allowedPages.newsletters = true)
171 : $('.b_newsletters').hide() && (App.allowedPages.newsletters = false);
175 * Setup page listeners.
178 'onAdminTemplatePublished', 'Controller.Published:admin',
179 $.proxy( _w.onAdminTemplatePublished, this, 'admin' ), 'Recurring'
181 if (true == App.permissions.adminPage)
185 'onTemplateReady', 'Template.Ready:userpermissions',
186 $.proxy( _w.userpermissions.onTemplateReady, this, 'userpermissions' ), 'Recurring'
189 'onTemplatePublished', 'Controller.Published:userpermissions',
190 $.proxy( _w.userpermissions.onTemplatePublished, this, 'userpermissions' ), 'Recurring'
195 'onTemplateReady', 'Template.Ready:viewuserpermissions',
196 $.proxy( _w.viewuserpermissions.onTemplateReady, this, 'viewuserpermissions' ), 'Recurring'
199 'onTemplatePublished', 'Controller.Published:viewuserpermissions',
200 $.proxy( _w.viewuserpermissions.onTemplatePublished, this, 'viewuserpermissions' ), 'Recurring'
205 'onTemplateReady', 'Template.Ready:newsletters',
206 $.proxy( _w.newsletters.onTemplateReady, this, 'newsletters' ), 'Recurring'
209 'onTemplatePublished', 'Controller.Published:newsletters',
210 $.proxy( _w.newsletters.onTemplatePublished, this, 'newsletters' ), 'Recurring'
215 'onTemplateReady', 'Template.Ready:newsletterview',
216 $.proxy( _w.newsletterview.onTemplateReady, this, 'newsletterview' ), 'Recurring'
219 'onTemplatePublished', 'Controller.Published:newsletterview',
220 $.proxy( _w.newsletterview.onTemplatePublished, this, 'newsletterview' ), 'Recurring'
223 'onTemplateDestruct', 'Controller.RemovingPage:newsletterview',
224 $.proxy( _w.newsletterview.onTemplateDestruct, this, 'newsletterview' ), 'Recurring'
227 if (true == App.permissions.adminDealer)
231 'onTemplateReady', 'Template.Ready:dealers',
232 $.proxy( _w.dealers.onTemplateReady, this, 'dealers' ), 'Recurring'
235 'onTemplatePublished', 'Controller.Published:dealers',
236 $.proxy( _w.dealers.onTemplatePublished, this, 'dealers' ), 'Recurring'
241 'onTemplateReady', 'Template.Ready:systemdealerview',
242 $.proxy( _w.systemdealerview.onTemplateReady, this, 'systemdealerview' ), 'Recurring'
245 'onTemplatePublished', 'Controller.Published:systemdealerview',
246 $.proxy( _w.systemdealerview.onTemplatePublished, this, 'systemdealerview' ), 'Recurring'
249 if (true == App.permissions.adminSettings)
251 // XmlRpc Request Grid
253 'onTemplateReady', 'Template.Ready:xmlrpcrequestlog',
254 $.proxy( _w.xmlrpcrequestlog.onTemplateReady, this, 'xmlrpcrequestlog' ), 'Recurring'
257 'onTemplatePublished', 'Controller.Published:xmlrpcrequestlog',
258 $.proxy( _w.xmlrpcrequestlog.onTemplatePublished, this, 'xmlrpcrequestlog' ), 'Recurring'
260 // XmlRpc Callback Grid
262 'onTemplateReady', 'Template.Ready:xmlrpccallbacklog',
263 $.proxy( _w.xmlrpccallbacklog.onTemplateReady, this, 'xmlrpccallbacklog' ), 'Recurring'
266 'onTemplatePublished', 'Controller.Published:xmlrpccallbacklog',
267 $.proxy( _w.xmlrpccallbacklog.onTemplatePublished, this, 'xmlrpccallbacklog' ), 'Recurring'
269 // XmlRpc Client Grid
271 'onTemplateReady', 'Template.Ready:xmlrpcclients',
272 $.proxy( _w.xmlrpcclients.onTemplateReady, this, 'xmlrpcclients' ), 'Recurring'
275 'onTemplatePublished', 'Controller.Published:xmlrpcclients',
276 $.proxy( _w.xmlrpcclients.onTemplatePublished, this, 'xmlrpcclients' ), 'Recurring'
278 // XmlRpc Client Edit
280 'onTemplateReady', 'Template.Ready:xmlrpcclientview',
281 $.proxy( _w.systemxmlrpcclientview.onTemplateReady, this, 'xmlrpcclientview' ), 'Recurring'
284 'onTemplatePublished', 'Controller.Published:xmlrpcclientview',
285 $.proxy( _w.systemxmlrpcclientview.onTemplatePublished, this, 'xmlrpcclientview' ), 'Recurring'
290 'onTemplateReady', 'Template.Ready:configview',
291 $.proxy( _w.configview.onTemplateReady, this, 'configview' ), 'Recurring'
294 'onTemplatePublished', 'Controller.Published:configview',
295 $.proxy( _w.configview.onTemplatePublished, this, 'configview' ), 'Recurring'
300 'onTemplateReady', 'Template.Ready:accessories',
301 $.proxy( _w.accessories.onTemplateReady, this, 'accessories' ), 'Recurring'
304 'onTemplatePublished', 'Controller.Published:accessories',
305 $.proxy( _w.accessories.onTemplatePublished, this, 'accessories' ), 'Recurring'
310 'onTemplateReady', 'Template.Ready:damages',
311 $.proxy( _w.damages.onTemplateReady, this, 'damages' ), 'Recurring'
314 'onTemplatePublished', 'Controller.Published:damages',
315 $.proxy( _w.damages.onTemplatePublished, this, 'damages' ), 'Recurring'
320 'onTemplateReady', 'Template.Ready:increments',
321 $.proxy( _w.increments.onTemplateReady, this, 'increments' ), 'Recurring'
324 'onTemplatePublished', 'Controller.Published:increments',
325 $.proxy( _w.increments.onTemplatePublished, this, 'increments' ), 'Recurring'
330 'onTemplateReady', 'Template.Ready:groups',
331 $.proxy( _w.groups.onTemplateReady, this, 'groups' ), 'Recurring'
334 'onTemplatePublished', 'Controller.Published:groups',
335 $.proxy( _w.groups.onTemplatePublished, this, 'groups' ), 'Recurring'
340 'onTemplateReady', 'Template.Ready:divisions',
341 $.proxy( _w.divisions.onTemplateReady, this, 'divisions' ), 'Recurring'
344 'onTemplatePublished', 'Controller.Published:divisions',
345 $.proxy( _w.divisions.onTemplatePublished, this, 'divisions' ), 'Recurring'
350 'onTemplateReady', 'Template.Ready:holidays',
351 $.proxy( _w.holidays.onTemplateReady, this, 'holidays' ), 'Recurring'
354 'onTemplatePublished', 'Controller.Published:holidays',
355 $.proxy( _w.holidays.onTemplatePublished, this, 'holidays' ), 'Recurring'
360 'onTemplateReady', 'Template.Ready:regionalmanager',
361 $.proxy( _w.regionalmanager.onTemplateReady, this, 'regionalmanager' ), 'Recurring'
364 'onTemplatePublished', 'Controller.Published:regionalmanager',
365 $.proxy( _w.regionalmanager.onTemplatePublished, this, 'regionalmanager' ), 'Recurring'
370 'onTemplateReady', 'Template.Ready:opendays',
371 $.proxy( _w.opendays.onTemplateReady, this, 'opendays' ), 'Recurring'
374 'onTemplatePublished', 'Controller.Published:opendays',
375 $.proxy( _w.opendays.onTemplatePublished, this, 'opendays' ), 'Recurring'
378 if (true == App.permissions.adminUser)
382 'onTemplateReady', 'Template.Ready:systemusers',
383 $.proxy( _w.systemusers.onTemplateReady, this, 'systemusers' ), 'Recurring'
386 'onTemplatePublished', 'Controller.Published:systemusers',
387 $.proxy( _w.systemusers.onTemplatePublished, this, 'systemusers' ), 'Recurring'
392 'onTemplateReady', 'Template.Ready:systemuserview',
393 $.proxy( _w.systemuserview.onTemplateReady, this, 'systemuserview' ), 'Recurring'
396 'onTemplatePublished', 'Controller.Published:systemuserview',
397 $.proxy( _w.systemuserview.onTemplatePublished, this, 'systemuserview' ), 'Recurring'
400 'onTemplatePublished', 'Controller.Published:changepinview',
401 $.proxy( _w.systemuserview.onTemplatePublished, this, 'changepinview' ), 'Recurring'
406 'onTemplateReady', 'Template.Ready:override',
407 $.proxy( _w.override.onTemplateReady, this, 'override' ), 'Recurring'
410 'onTemplatePublished', 'Controller.Published:override',
411 $.proxy( _w.override.onTemplatePublished, this, 'override' ), 'Recurring'
414 if (true == App.permissions.adminAuction)
418 'onTemplateReady', 'Template.Ready:systemauctions',
419 $.proxy( _w.systemauctions.onTemplateReady, this, 'systemauctions' ), 'Recurring'
422 'onTemplatePublished', 'Controller.Published:systemauctions',
423 $.proxy( _w.systemauctions.onTemplatePublished, this, 'systemauctions' ), 'Recurring'
428 'onTemplateReady', 'Template.Ready:systembidview',
429 $.proxy( _w.systembidview.onTemplateReady, this, 'systembidview' ), 'Recurring'
432 'onTemplatePublished', 'Controller.Published:systembidview',
433 $.proxy( _w.systembidview.onTemplatePublished, this, 'systembidview' ), 'Recurring'
438 'onTemplateReady', 'Template.Ready:systemdisputes',
439 $.proxy( _w.systemdisputes.onTemplateReady, this, 'systemdisputes' ), 'Recurring'
442 'onTemplatePublished', 'Controller.Published:systemdisputes',
443 $.proxy( _w.systemdisputes.onTemplatePublished, this, 'systemdisputes' ), 'Recurring'
448 'onTemplateReady', 'Template.Ready:systemdisputeview',
449 $.proxy( _w.systemdisputeview.onTemplateReady, this, 'systemdisputeview' ), 'Recurring'
452 'onTemplatePublished', 'Controller.Published:systemdisputeview',
453 $.proxy( _w.systemdisputeview.onTemplatePublished, this, 'systemdisputeview' ), 'Recurring'
458 initPortal : function()
460 App.Template.retrieve( 'page', 'valuationview');
464 App.allowedPages = {};
465 App.allowedPages.contact = true;
466 true == App.permissions.auctionPage
467 ? $('.b_auction').show() && (App.allowedPages.auction = true)
468 : $('.b_auction').hide() && (App.allowedPages.auction = false);
470 true == App.permissions.stockPage
471 ? $('.b_stock').show() && (App.allowedPages.stock = true)
472 : $('.b_stock').hide() && (App.allowedPages.stock = false);
474 App.companyData.dealerType == 'Trade Center'
475 ? $('.b_tcstock').show() && (App.allowedPages.tcstock = true)
476 : $('.b_tcstock').hide() && (App.allowedPages.tcstock = false);
478 true == App.permissions.valuationPage
479 ? $('.b_valuations').show() && (App.allowedPages.valuations = true)
480 : $('.b_valuations').hide() && (App.allowedPages.valuations = false);
482 true == App.permissions.historicalPage
483 ? $('.b_historicaldata').show() && (App.allowedPages.historicaldata = true)
484 : $('.b_historicaldata').hide() && (App.allowedPages.historicaldata = false);
486 true == App.permissions.settingsPage
487 ? $('.b_settings').show() && (App.allowedPages.settings = true)
488 : $('.b_settings').hide() && (App.allowedPages.settings = false);
490 true == App.permissions.pgPage
491 ? $('.b_priceGuide').show() && (App.allowedPages.priceguide = true)
492 : $('.b_priceGuide').hide() && (App.allowedPages.priceguide = false);
494 //if(true == App.companyData.publicCentre && true == App.permissions.valuationPage && true == App.permissions.valuationCalendar)
495 if(true == App.permissions.valuationCalendar)
497 console.log('show b_valuationcalandar');
499 $('.b_valuationCalendar').show();
501 $('.b_valuationCalendar').removeClass('hide');
504 'onValuationCalendarTemplateReady', 'Template.Ready:valuationcalendar',
505 $.proxy( _w.valuationcalendar.onValuationCalendarTemplateReady, this, 'valuationcalendar' ), 'Recurring'
508 'onValuationCalendarPublished', 'Controller.Published:valuationcalendar',
509 $.proxy( _w.valuationcalendar.onValuationCalendarPublished, this, 'valuationcalendar' ), 'Recurring'
513 'onValuationAppointmentEditTemplateReady', 'Template.Ready:appointmentedit',
514 $.proxy( _w.appointmentedit.onValuationAppointmentEditTemplateReady, this, 'appointmentedit' ), 'Recurring'
517 'onValuationAppointmentEditPublished', 'Controller.Published:appointmentedit',
518 $.proxy( _w.appointmentedit.onValuationAppointmentEditPublished, this, 'appointmentedit' ), 'Recurring'
523 $('#PublicMenu').remove();
524 $('#MobiPublicMenu').remove();
525 $('#BrochureMenu').remove();
526 $('#MobiBrochureMenu').remove();
527 $('#PortalMenu').show();
528 $('#MobiPortalMenu').show();
531 * Setup page listeners.
533 if (true == App.permissions.historicalPage)
536 'onHistoricaldataPageTemplateReady', 'Template.Ready:historicaldata',
537 $.proxy( _w.historicaldata.onHistoricaldataPageTemplateReady, this, 'historicaldata' ), 'Recurring'
540 'onHistoricGridPublished', 'Controller.Published:historicaldata',
541 $.proxy( _w.historicaldata.onHistoricGridPublished, this, 'historicaldata' ), 'Recurring'
543 // Auction History View
545 'onHistoryViewTemplateReady', 'Template.Ready:historyview',
546 $.proxy( _w.historyview.onHistoryViewTemplateReady, this, 'historyview' ), 'Recurring'
549 'onHistoryViewPublished', 'Controller.Published:historyview',
550 $.proxy( _w.historyview.onHistoryViewPublished, this, 'historyview' ), 'Recurring'
555 if (true == App.permissions.auctionPage)
559 'onAuctionPageTemplateReady', 'Template.Ready:auction',
560 $.proxy( _w.auction.onAuctionPageTemplateReady, this, 'auction' ), 'Recurring'
563 'onAuctionGridPublished', 'Controller.Published:auction',
564 $.proxy( _w.auction.onAuctionGridPublished, this, 'auction' ), 'Recurring'
567 'onAuctionDestruct', 'Controller.RemovingPage:auction',
568 $.proxy( _w.auction.onPageDestruct, this, 'auction' ), 'Recurring'
573 'onBidViewTemplateReady', 'Template.Ready:bidview',
574 $.proxy( _w.bidview.onBidViewTemplateReady, this, 'bidview' ), 'Recurring'
577 'onBidViewPublished', 'Controller.Published:bidview',
578 $.proxy( _w.bidview.onBidViewPublished, this, 'bidview' ), 'Recurring'
581 // Auction Question View
583 'onViewTemplateReady', 'Template.Ready:questionview',
584 $.proxy( _w.questionview.onViewTemplateReady, this, 'questionview' ), 'Recurring'
587 'onViewPublished', 'Controller.Published:questionview',
588 $.proxy( _w.questionview.onViewPublished, this, 'questionview' ), 'Recurring'
591 // Auction Reply View
593 'onViewTemplateReady', 'Template.Ready:replyview',
594 $.proxy( _w.replyview.onViewTemplateReady, this, 'replyview' ), 'Recurring'
597 'onViewPublished', 'Controller.Published:replyview',
598 $.proxy( _w.replyview.onViewPublished, this, 'replyview' ), 'Recurring'
601 // Auction Retail View
603 'onViewTemplateReady', 'Template.Ready:retailview',
604 $.proxy( _w.retailview.onViewTemplateReady, this, 'retailview' ), 'Recurring'
607 'onViewPublished', 'Controller.Published:retailview',
608 $.proxy( _w.retailview.onViewPublished, this, 'retailview' ), 'Recurring'
611 // they dont have rights on auctionPage so buzz off to settings page
616 'onAuctionPageTemplateReady', 'Template.Ready:auction',
617 function(){ window.location.hash = '/settings'; }, 'Recurring'
620 'onAuctionGridPublished', 'Controller.Published:auction',
621 function(){ window.location.hash = '/settings'; }, 'Recurring'
624 'onAuctionDestruct', 'Controller.RemovingPage:auction',
625 function(){ window.location.hash = '/settings'; }, 'Recurring'
630 'onBidViewTemplateReady', 'Template.Ready:bidview',
631 function(){ window.location.hash = '/settings'; }, 'Recurring'
634 'onBidViewPublished', 'Controller.Published:bidview',
635 function(){ window.location.hash = '/settings'; }, 'Recurring'
639 // Auction Question View
641 'onViewTemplateReady', 'Template.Ready:questionview',
642 function(){ window.location.hash = '/settings'; }, 'Recurring'
645 'onViewPublished', 'Controller.Published:questionview',
646 function(){ window.location.hash = '/settings'; }, 'Recurring'
649 // Auction Reply View
651 'onViewTemplateReady', 'Template.Ready:replyview',
652 function(){ window.location.hash = '/settings'; }, 'Recurring'
655 'onViewPublished', 'Controller.Published:replyview',
656 function(){ window.location.hash = '/settings'; }, 'Recurring'
659 // Auction Retail View
661 'onViewTemplateReady', 'Template.Ready:retailview',
662 function(){ window.location.hash = '/settings'; }, 'Recurring'
665 'onViewPublished', 'Controller.Published:retailview',
666 function(){ window.location.hash = '/settings'; }, 'Recurring'
672 if (App.companyData.dealerType == 'Trade Center')
676 'onStockPageTemplateReady', 'Template.Ready:tcstock',
677 $.proxy( _w.tcstock.onStockPageTemplateReady, this, 'tcstock' ), 'Recurring'
680 'onStockPublished', 'Controller.Published:tcstock',
681 $.proxy( _w.tcstock.onStockPublished, this, 'tcstock' ), 'Recurring'
684 'onStockDestruct', 'Controller.RemovingPage:tcstock',
685 $.proxy( _w.tcstock.onPageDestruct, this, 'tcstock' ), 'Recurring'
690 'onStockViewTemplateReady', 'Template.Ready:tcstockview',
691 $.proxy( _w.tcstockview.onStockViewTemplateReady, this, 'tcstockview' ), 'Recurring'
694 'onStockViewPublished', 'Controller.Published:tcstockview',
695 $.proxy( _w.tcstockview.onStockViewPublished, this, 'tcstockview' ), 'Recurring'
698 // Limited TC Stock View
700 'onStockViewTemplateReady', 'Template.Ready:limitedtcstockview',
701 $.proxy( _w.tcstockview.onStockViewTemplateReady, this, 'limitedtcstockview' ), 'Recurring'
704 'onStockViewPublished', 'Controller.Published:limitedtcstockview',
705 $.proxy( _w.tcstockview.onStockViewPublished, this, 'limitedtcstockview' ), 'Recurring'
708 if (true == App.permissions.stockPage)
712 'onStockPageTemplateReady', 'Template.Ready:stock',
713 $.proxy( _w.stock.onStockPageTemplateReady, this, 'stock' ), 'Recurring'
716 'onStockPublished', 'Controller.Published:stock',
717 $.proxy( _w.stock.onStockPublished, this, 'stock' ), 'Recurring'
720 'onStockDestruct', 'Controller.RemovingPage:stock',
721 $.proxy( _w.stock.onPageDestruct, this, 'stock' ), 'Recurring'
726 'onStockViewTemplateReady', 'Template.Ready:stockview',
727 $.proxy( _w.stockview.onStockViewTemplateReady, this, 'stockview' ), 'Recurring'
730 'onStockViewPublished', 'Controller.Published:stockview',
731 $.proxy( _w.stockview.onStockViewPublished, this, 'stockview' ), 'Recurring'
734 // Limited Stock View
736 'onStockViewTemplateReady', 'Template.Ready:limitedstockview',
737 $.proxy( _w.stockview.onStockViewTemplateReady, this, 'limitedstockview' ), 'Recurring'
740 'onStockViewPublished', 'Controller.Published:limitedstockview',
741 $.proxy( _w.stockview.onStockViewPublished, this, 'limitedstockview' ), 'Recurring'
745 if (true == App.permissions.valuationPage)
749 'onValuationPageTemplateReady', 'Template.Ready:valuations',
750 $.proxy( _w.valuation.onValuationPageTemplateReady, this, 'valuations' ), 'Recurring'
753 'onValuationsPublished', 'Controller.Published:valuations',
754 $.proxy( _w.valuation.onValuationsPublished, this, 'valuations' ), 'Recurring'
757 'onValuationsDestruct', 'Controller.RemovingPage:valuations',
758 $.proxy( _w.valuation.onPageDestruct, this, 'valuations' ), 'Recurring'
763 'onValuationViewTemplateReadyMain', 'Template.Ready:valuationview',
764 $.proxy( _w.valuationview.onValuationViewTemplateReady, this, 'valuationview' ), 'Recurring'
767 'onValuationViewPublishedMain', 'Controller.Published:valuationview',
768 $.proxy( _w.valuationview.onValuationViewPublished, this, 'valuationview' ), 'Recurring'
771 // Limited Valuation View
773 'onValuationViewTemplateReadyLimited', 'Template.Ready:limitedvaluationview',
774 $.proxy( _w.valuationview.onValuationViewTemplateReady, this, 'limitedvaluationview' ), 'Recurring'
777 'onValuationViewPublishedLimited', 'Controller.Published:limitedvaluationview',
778 $.proxy( _w.valuationview.onValuationViewPublished, this, 'limitedvaluationview' ), 'Recurring'
782 if (true == App.permissions.pgPage)
786 'onPriceGuidePageTemplateReady', 'Template.Ready:priceguide',
787 $.proxy( _w.priceguide.onPriceGuidePageTemplateReady, this, 'priceguide' ), 'Recurring'
790 'onPriceGuideGridPublished', 'Controller.Published:priceguide',
791 $.proxy( _w.priceguide.onPriceGuideGridPublished, this, 'priceguide' ), 'Recurring'
794 'onPriceGuideDestruct', 'Controller.RemovingPage:priceguide',
795 $.proxy( _w.priceguide.onPageDestruct, this, 'priceguide' ), 'Recurring'
798 // Price Guide Offer View
800 'onOfferViewTemplateReady', 'Template.Ready:offerview',
801 $.proxy( _w.offerview.onOfferViewTemplateReady, this, 'offerview' ), 'Recurring'
804 'onOfferViewPublished', 'Controller.Published:offerview',
805 $.proxy( _w.offerview.onOfferViewPublished, this, 'offerview' ), 'Recurring'
809 if (true == App.permissions.settingsPage)
813 'onViewTemplateReady', 'Template.Ready:settings',
814 $.proxy( _w.settings.onViewTemplateReady, this, 'settings' ), 'Recurring'
817 'onViewPublished', 'Controller.Published:settings',
818 $.proxy( _w.settings.onViewPublished, this, 'settings' ), 'Recurring'
821 'onSettingsDestruct', 'Controller.RemovingPage:settings',
822 $.proxy( _w.settings.onPageDestruct, this, 'settings' ), 'Recurring'
827 'onViewTemplateReady', 'Template.Ready:userview',
828 $.proxy( _w.userview.onViewTemplateReady, this, 'userview' ), 'Recurring'
831 'onViewPublished', 'Controller.Published:userview',
832 $.proxy( _w.userview.onViewPublished, this, 'userview' ), 'Recurring'
837 'onViewTemplateReady', 'Template.Ready:changepinview',
838 $.proxy( _w.changepinview.onViewTemplateReady, this, 'changepinview' ), 'Recurring'
841 'onViewPublished', 'Controller.Published:changepinview',
842 $.proxy( _w.changepinview.onViewPublished, this, 'changepinview' ), 'Recurring'
847 'onViewTemplateReady', 'Template.Ready:dealerview',
848 $.proxy( _w.dealerview.onViewTemplateReady, this, 'dealerview' ), 'Recurring'
851 'onViewPublished', 'Controller.Published:dealerview',
852 $.proxy( _w.dealerview.onViewPublished, this, 'dealerview' ), 'Recurring'
857 'onViewTemplateReady', 'Template.Ready:membershipview',
858 $.proxy( _w.membershipview.onViewTemplateReady, this, 'membershipview' ), 'Recurring'
861 'onViewPublished', 'Controller.Published:membershipview',
862 $.proxy( _w.membershipview.onViewPublished, this, 'membershipview' ), 'Recurring'
867 'onViewTemplateReady', 'Template.Ready:clubview',
868 $.proxy( _w.clubview.onViewTemplateReady, this, 'clubview' ), 'Recurring'
871 'onViewPublished', 'Controller.Published:clubview',
872 $.proxy( _w.clubview.onViewPublished, this, 'clubview' ), 'Recurring'
877 'onViewTemplateReady', 'Template.Ready:memberview',
878 $.proxy( _w.memberview.onViewTemplateReady, this, 'memberview' ), 'Recurring'
881 'onViewPublished', 'Controller.Published:memberview',
882 $.proxy( _w.memberview.onViewPublished, this, 'memberview' ), 'Recurring'
887 'onViewTemplateReady', 'Template.Ready:disputeview',
888 $.proxy( _w.disputeview.onViewTemplateReady, this, 'disputeview' ), 'Recurring'
896 if(true == App.permissions.suAccess)
898 App.DataStore.loadSelectListData('sugroups', true, 'Company', 'Group.SelectList');
899 App.DataStore.setData('sudivisions', []);
900 App.DataStore.setData('sucompanies', []);
905 dataStoreId : 'sugroups',
906 value : false == App.permissions.suGroupFull
907 ? App.companyData.group.id
908 : (App.Sudo && App.Sudo.GroupId ? App.Sudo.GroupId : ''),
909 onChange : function () {
910 if (!App.DataStore.getItem('BuildSelect:sugroup', false))
912 if (true == App.permissions.suGroupFull)
914 var leVal = $(this).val();
918 App.DataStore.setData('sudivisions', []);
919 App.DataStore.setData('sucompanies', []);
920 $('#x_sudivision').hide();
921 $('#x_sucompany').hide();
925 App.DataStore.loadSelectListData(
926 'sudivisions', false, 'Company', 'GroupDivision.SelectList',
927 null, {Filter:{group:$(this).val()}}
929 App.DataStore.setData('sucompanies', []);
930 $('#sudivision').selectpicker('val', "");
931 $('#sucompany').selectpicker('val', "");
932 $('#x_sudivision').show();
933 $('#x_sucompany').hide();
936 var leVal = '' == $(this).val() ? 0 : $(this).val();
938 'setSu', {Sudo:{Group:leVal}}, {},
940 App.Event.trigger('SuChange', {});
941 App.DataStore.loadSelectListGroup([
942 {dataId: 'sales', isStatic: false, workspace: 'User', task: 'Profile.SalesList'},
943 {dataId: 'managers', isStatic: false, workspace: 'User', task: 'Profile.ManagerList'},
953 if ("" != $(this).val())
955 App.DataStore.loadSelectListData(
956 'sudivisions', false, 'Company', 'GroupDivision.SelectList',
957 null, {Filter:{group:$(this).val()}}
959 $('#x_sudivision').show();
965 var sudivisionMeta = {
969 dataStoreId : 'sudivisions',
970 value : false == App.permissions.suGroupFull && false == App.permissions.suDivisionFull
971 ? (null != App.companyData.groupDivision ? App.companyData.groupDivision.id : null)
972 : (App.Sudo && App.Sudo.DivisionId ? App.Sudo.DivisionId : ''),
973 onChange : function () {
974 if (!App.DataStore.getItem('BuildSelect:sudivision', false))
977 if (true == App.permissions.suGroupFull
978 || true == App.permissions.suDivisionFull)
980 var leVal = $(this).val();
984 App.DataStore.setData('sucompanies', []);
985 $('#x_sucompany').hide();
989 App.DataStore.loadSelectListData(
990 'sucompanies', false, 'Company', 'Company.SelectList',
991 null, {Filter:{groupDivision:$(this).val()}}
993 $('#x_sucompany').show();
994 $('#sucompany').selectpicker('val', "");
997 var leVal = '' == $(this).val() ? 0 : $(this).val();
999 'setSu', {Sudo:{Division:leVal}}, {},
1001 App.Event.trigger('SuChange', {});
1002 App.DataStore.loadSelectListGroup([
1003 {dataId: 'sales', isStatic: false, workspace: 'User', task: 'Profile.SalesList'},
1004 {dataId: 'managers', isStatic: false, workspace: 'User', task: 'Profile.ManagerList'},
1014 if("" != $(this).val())
1016 App.DataStore.loadSelectListData(
1017 'sucompanies', false, 'Company', 'Company.SelectList',
1018 null, {Filter:{groupDivision:$(this).val()}}
1020 $('#x_sucompany').show();
1026 var sucompanyMeta = {
1029 selectEmpty : 'All',
1030 dataStoreId : 'sucompanies',
1031 value : false == App.permissions.suGroupFull
1032 && false == App.permissions.suDivisionFull
1033 && false == App.permissions.suCompanyFull
1034 ? App.companyData.id
1035 : (App.Sudo && App.Sudo.CompanyId ? App.Sudo.CompanyId : ''),
1036 onChange : function () {
1037 if (!App.DataStore.getItem('BuildSelect:sucompany', false))
1039 if (true == App.permissions.suGroupFull
1040 || true == App.permissions.suDivisionFull
1041 || true == App.permissions.suCompanyFull)
1043 var leVal = '' == $(this).val() ? 0 : $(this).val();
1045 'setSu', {Sudo:{Company:leVal}}, {},
1047 App.Event.trigger('SuChange', {});
1048 App.DataStore.loadSelectListGroup([
1049 {dataId: 'sales', isStatic: false, workspace: 'User', task: 'Profile.SalesList'},
1050 {dataId: 'managers', isStatic: false, workspace: 'User', task: 'Profile.ManagerList'},
1059 $('#x_sugroup').html(App.ElementLibrary.Field.html(sugroupMeta, null));
1060 App.ElementLibrary.Field.bind( 'x', sugroupMeta );
1061 if (false == App.permissions.suGroupFull)
1063 $('#sugroup').attr('disabled', true);
1066 $('#x_sudivision').html(App.ElementLibrary.Field.html(sudivisionMeta, null));
1067 App.ElementLibrary.Field.bind( 'x', sudivisionMeta );
1068 if (false == App.permissions.suGroupFull
1069 && false == App.permissions.suDivisionFull)
1071 $('#sudivision').attr('disabled', true);
1074 $('#x_sucompany').html(App.ElementLibrary.Field.html(sucompanyMeta, null));
1075 App.ElementLibrary.Field.bind( 'x', sucompanyMeta );
1076 if (false == App.permissions.suGroupFull
1077 && false == App.permissions.suDivisionFull
1078 && false == App.permissions.suCompanyFull)
1080 $('#sucompany').attr('disabled', true);
1083 $('#x_sudivision').hide();
1084 $('#x_sucompany').hide();
1085 $('#su_container').show();
1089 filterIfnotEmpty : function( filter, element, field, op, append, defaultValue )
1094 if ('' != $('#' + element).val() && null != $('#' + element).val())
1096 op = op ? op + ' ' : '';
1097 var val = $('#' + element).val();
1099 if ($('#' + element).hasClass('selectpicker'))
1105 //val = ('' == val || !isNaN(val) || '' != op)
1107 // : '%' + val + '%';
1109 val = ('' == val || '' != op)
1113 if (filter.filters[field])
1116 nested[field] = op + val + append;
1117 filter.filters[field + '-to'] = nested;
1121 filter.filters[field] = op + val + append;
1128 populateFilters : function( filters, map )
1130 for (var field in map)
1132 var nested = field.split(':');
1135 if (filters[nested[0]] && filters[nested[0]][nested[1]])
1137 filters[field] = isNaN(filters[nested[0]][nested[1]]) && '%' == filters[nested[0]][nested[1]].substring(0,1)
1138 ? filters[nested[0]][nested[1]].substring(1, filters[nested[0]][nested[1]].length - 1)
1139 : filters[nested[0]][nested[1]];
1140 $('#' + map[field]).val(filters[field]);
1141 $('#' + map[field] + '.selectpicker').selectpicker('refresh');
1144 else if (filters[field])
1146 filters[field] = isNaN(filters[field]) && '%' == filters[field].substring(0,1)
1147 ? filters[field].substring(1, filters[field].length - 1)
1149 $('#' + map[field]).val(filters[field]);
1150 $('#' + map[field] + '.selectpicker').selectpicker('refresh');
1155 taskContractError : function( response )
1158 'getActiveAccount', 'User', 'Profile.ActiveAccount', null,
1160 if ('namibia.nirph.com' != window.location.hostname
1161 && 'namibia.local' != window.location.hostname
1162 && 'www.bid4cars.com.na' != window.location.hostname)
1164 alert('Please click ok to refresh this page.');
1167 console.log('------------ Task Contract Error ------------');
1168 console.log(response);
1169 console.log('--------------------------------------');
1170 },_w.onActiveAccountFailure
1175 taskExecError : function( response )
1178 'getActiveAccount', 'User', 'Profile.ActiveAccount', null,
1180 if ('namibia.nirph.com' != window.location.hostname
1181 && 'namibia.local' != window.location.hostname
1182 && 'www.bid4cars.com.na' != window.location.hostname)
1184 alert('Please click ok to refresh this page.');
1187 console.log('------------ Task Exec Error ------------');
1188 console.log(response);
1189 console.log('--------------------------------------');
1190 }, _w.onActiveAccountFailure
1194 onForgotPageTemplatePublished : function( event, eventData )
1196 $('#email').val(App.Util.getCookie('UserEmail', ''));
1197 $('#frmReset').validate({
1206 submitHandler: function( form ) {
1207 if ('' == $('#email').val() && '' == $('#mobile').val())
1209 alert('Please provide email or mobile number.');
1213 'reset', 'User', 'Profile.ForgotPassword', null,
1215 var mobile = $('#mobile').val();
1216 mobile = ('' == mobile)
1221 "email" : $('#email').val(),
1226 function(response) {
1227 $('#reset-fail').popover('hide');
1228 alert('Please check your email for your new pin.');
1229 window.location = '/#/login';
1230 }, function (data) {
1231 $('#reset-fail').attr('data-content', data.Message);
1232 $('#reset-fail').popover('show');
1235 }, _w.taskContractError
1241 onLoginPageTemplatePublished : function( event, eventData )
1243 App.Util.updateCheckboxStyles($('#frmLogin'));
1244 $('#email').val(App.Util.getCookie('UserEmail', ''));
1245 $('#frmLogin').validate({
1260 submitHandler: function( form ) {
1262 'login', 'User', 'Profile.Login', null,
1266 "email" : $('#email').val(),
1267 "pin" : $('#pin').val()
1271 function(response) {
1272 $('#login-fail').popover('hide');
1273 var rem = $('#rememberMe').is(':checked')
1276 App.Util.setCookie('UserEmail', rem, 30);
1277 _w.onActiveAccount(response);
1278 }, function (data) {
1279 $('#login-fail').attr('data-content', data.StatusReason);
1280 $('#login-fail').popover('show');
1283 }, _w.taskContractError
1289 synchServerTime : function()
1291 var dt = new Date();
1292 App.timeDiffStart = Math.round(dt.getTime() / 1000) + 1;
1296 url : window.location.protocol
1297 + '//' + window.location.hostname
1298 + '//servertime.php?v=' + dt.getTime()
1300 .done( function(data) {
1301 var dt = new Date();
1302 var now = Math.round(dt.getTime() / 1000);
1303 if ((now - App.timeDiffStart) < 4)
1305 App.timeDiff = now - data.time;
1306 setTimeout(_w.synchServerTime, 600000);
1310 setTimeout(_w.synchServerTime, 5000);
1315 onActiveAccount : function( response )
1318 * Request list of public holidays.
1320 $('#login_mobi').hide();
1322 'listPublicHoliday', 'Auction', 'PublicHoliday.List', null,
1325 'listPublicHoliday', {}, {},
1326 function(response) {
1327 App.DataStore.setData('publicHolidays', response.Data);
1330 }, _w.taskContractError
1334 * User is authenticated.
1336 App.Authenticated = true;
1337 App.serverConfig = response.Data.config;
1338 delete response.Data.config;
1339 App.permissions = response.Data.permissions;
1340 delete response.Data.permissions;
1341 App.companyData = response.Data.company;
1342 App.companyData.tC = App.companyData.tradeCenter && App.companyData.tradeCenter.id
1343 ? App.companyData.tradeCenter.id
1345 delete response.Data.company;
1346 App.Sudo = response.Data.Sudo;
1347 delete response.Data.Sudo;
1348 App.userData = response.Data;
1350 //console.log("serverConfig", App.serverConfig);
1351 //console.log("permissions", App.permissions);
1352 //console.log("companyData", App.companyData);
1353 //console.log("Sudo", App.Sudo);
1354 //console.log("userData", App.userData);
1357 App.openDays = response.Data.auctionOpenDays;
1358 delete response.Data.auctionOpenDays;
1359 if ('Auction Buyer' == App.permissions.name
1360 || 'Auction Buyer & Seller' == App.permissions.name)
1362 if (App.companyData.group != null){
1363 App.companyData.group.landingPage = 'auction';
1367 if ('Auction Buyer' == App.permissions.name
1368 || 'Auction Buyer & Seller' == App.permissions.name)
1370 App.isNewAuctionUser = true;
1375 * Show and hook up logout button
1377 $('.b_logout').show();
1378 $('.b_logout').click(function()
1381 $('#PortalMenu').remove();
1383 App.Authenticated = false;
1384 App.permissions = {};
1385 App.companyDat = {};
1389 'logout:', 'User', 'Profile.Logout', null,
1390 {}, function() { window.location='/'; }, function() {}
1397 $('#user-details').removeClass('invisible');
1398 $('.auth-username').html(
1399 App.userData.firstName + ' ' + App.userData.familyName
1401 $('.auth-name').html(
1402 App.userData.firstName
1406 * Init permissions and page listeners.
1408 var isMobile = 'none' == $('#mobiCheck').css('display');
1409 if (true == App.permissions.accessPortalModule
1410 && false == App.permissions.accessAdminModule)
1414 if (null == App.userData.lastLogin || '' == App.userData.lastLogin)
1416 window.location.hash = '/changepinview?id=' + App.userData.id;
1418 else if (App.redirect && '' != App.redirect && '#/' != App.redirect)
1420 window.location = '/' + App.redirect;
1421 delete App.redirect;
1426 // check for mobi redirect here
1431 // if permissions are ok show the buttons
1432 if (false == App.permissions.valuationPage)
1434 $("#mobiValuationsBtn").remove();
1436 if (false == App.permissions.pgPage)
1438 $("#mobiPriceGuideBtn").remove();
1440 if (false == App.permissions.auctionPage)
1442 $("#mobiAuctionBtn").remove();
1445 // do a redirect to valid pages
1446 if (App.permissions.valuationPage)
1448 window.location.hash = '/valuations';
1450 else if (App.permissions.pgPage )
1452 window.location.hash = '/priceguide';
1454 else if (App.permissions.auctionPage)
1456 window.location.hash = '/auction';
1461 alert("Sorry you dont have any mobi permissions");
1462 App.Authenticated = false;
1463 App.permissions = {};
1464 App.companyDat = {};
1468 'logout:', 'User', 'Profile.Logout', null,
1469 {}, function() { window.location='/'; }, function() {}
1477 if (App.companyData.group == null)
1480 window.location.hash = '/settings';
1486 else if (false == App.permissions.valuationPage && 'valuations' == App.companyData.group.landingPage)
1488 window.location.hash = '/settings';
1490 else if (false == App.permissions.pgPage && 'priceguide' == App.companyData.group.landingPage)
1492 window.location.hash = '/settings';
1494 else if (false == App.permissions.auctionPage && 'auction' == App.companyData.group.landingPage)
1496 window.location.hash = '/settings';
1498 else if ('' != App.companyData.group.landingPage && null != App.companyData.group.landingPage)
1500 window.location.hash = '/' + App.companyData.group.landingPage;
1502 else if (null == App.companyData.group.landingPage)
1504 window.location.hash = '/settings';
1508 window.location.hash = '/settings';
1514 else if (false == App.permissions.accessPortalModule
1515 && true == App.permissions.accessAdminModule)
1518 if ('namibia.local' != window.location.hostname)
1520 window.location.hash = '/admin';
1526 window.location = '/' + App.redirect;
1527 delete App.redirect;
1531 window.location.hash = '/admin';
1535 else if (true == App.permissions.accessPortalModule
1536 && true == App.permissions.accessAdminModule)
1539 'onSwitchTemplatePublished', 'Controller.Published:switch',
1540 $.proxy( _w.onSwitchTemplatePublished, this ), 'Recurring'
1542 window.location.hash = '/switch';
1546 // No permissions at all
1547 window.location.hash = '/home';
1549 _w.synchServerTime();
1553 onActiveAccountFailure : function()
1556 * User is not authenticated.
1558 App.Authenticated = false;
1559 $('#login_mobi').show();
1564 $('#b_logout').hide();
1565 $('#b_stock').hide();
1566 $('#b_tcstock').hide();
1567 $('#b_valuations').hide();
1568 $('#b_historicaldata').hide();
1569 $('#b_settings').hide();
1570 $('#b_priceGuide').hide();
1575 $('#user-details').addClass("invisible");
1578 * Initiate brochure.
1582 _w.synchServerTime();