Type.createNamespace('LoRoPageTitleComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoPageTitleComponent.LoRoPageTitleComponent

LoRoPageTitleComponent.LoRoPageTitleComponent = function LoRoPageTitleComponent_LoRoPageTitleComponent() {
    this._defaultsForArea$2 = {};
    LoRoPageTitleComponent.LoRoPageTitleComponent.constructBase(this);
}
LoRoPageTitleComponent.LoRoPageTitleComponent.prototype = {
    _curarea$2: '',
    _curaction$2: '',
    _navigationService$2: null,
    
    setNavigationService: function LoRoPageTitleComponent_LoRoPageTitleComponent$setNavigationService(navigationService) {
        this._navigationService$2 = navigationService;
        this._navigationService$2.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
    },
    
    onPageFilterChanged: function LoRoPageTitleComponent_LoRoPageTitleComponent$onPageFilterChanged(eventSource) {
        this._showBrowserMessage$2();
        this.update();
    },
    
    init: function LoRoPageTitleComponent_LoRoPageTitleComponent$init(environment, componentInstanceName, domElementId, parameters) {
        LoRoPageTitleComponent.LoRoPageTitleComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        this._defaultsForArea$2['title'] = '';
        this._defaultsForArea$2['description'] = '';
    },
    
    preTransformation: function LoRoPageTitleComponent_LoRoPageTitleComponent$preTransformation(eventArgs) {
        LoRoPageTitleComponent.LoRoPageTitleComponent.callBase(this, 'preTransformation', [ eventArgs ]);
        this._curarea$2 = this._navigationService$2.getPageArea().toLowerCase();
        var pageFilter = this._navigationService$2.getPageFilter();
        this._curaction$2 = '';
        if (Object.keyExists(pageFilter, 'action')) {
            this._curaction$2 = (pageFilter['action']).toLowerCase();
        }
        if (Object.keyExists(pageFilter, 'gameid') && Object.keyExists(pageFilter, 'id')) {
            this._redirectToNotificationRequestedAddress$2((pageFilter['gameid']).toLowerCase(), pageFilter['id']);
        }
    },
    
    renderComplete: function LoRoPageTitleComponent_LoRoPageTitleComponent$renderComplete(eventArgs) {
        LoRoPageTitleComponent.LoRoPageTitleComponent.callBase(this, 'renderComplete', [ eventArgs ]);
        this._defaultsForArea$2['title'] = this._translateString$2(this._curarea$2 + '/', 'title');
        this._defaultsForArea$2['description'] = this._translateString$2(this._curarea$2 + '/', 'description');
        if (this._defaultsForArea$2['title'] === '') {
            this._defaultsForArea$2['title'] = 'LORO.CH';
        }
        document.title = this._translateString$2(this._curarea$2 + '/' + this._curaction$2, 'title');
        var metaTags = document.getElementsByTagName('meta');
        for (var i = 0; i < metaTags.length; i++) {
            if (metaTags[i].getAttribute('name') && metaTags[i].getAttribute('name').toString().toLowerCase() === 'description') {
                if (metaTags[i].getAttribute('content')) {
                    metaTags[i].setAttribute('content', this._translateString$2(this._curarea$2 + '/' + this._curaction$2, 'description'));
                }
            }
        }
    },
    
    get_isComponentVisible: function LoRoPageTitleComponent_LoRoPageTitleComponent$get_isComponentVisible() {
        return this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction());
    },
    
    getXsltParameters: function LoRoPageTitleComponent_LoRoPageTitleComponent$getXsltParameters(contextObject) {
        var xsltParams = LoRoPageTitleComponent.LoRoPageTitleComponent.callBase(this, 'getXsltParameters', [ contextObject ]);
        xsltParams['show-browser-message'] = this._showBrowserMessage$2();
        return xsltParams;
    },
    
    _translateString$2: function LoRoPageTitleComponent_LoRoPageTitleComponent$_translateString$2(inEnglish, domain) {
        var domElement = this.getPrivateDomElement(domain);
        if (!domElement) {
            return this._defaultsForArea$2[domain];
        }
        var xml = String.format('<xml>{0}</xml>', domElement.innerHTML);
        var xmlDocument = XMLDocumentParser.parse(xml);
        var xPath = '//string[@english=\'' + inEnglish + '\']';
        var node = xmlDocument.selectSingleNode(xPath);
        return (node && node.text) ? node.text : this._defaultsForArea$2[domain];
    },
    
    _redirectToNotificationRequestedAddress$2: function LoRoPageTitleComponent_LoRoPageTitleComponent$_redirectToNotificationRequestedAddress$2(gameid, id) {
        var area = 'Accounting';
        var oDictionary = {};
        oDictionary['action'] = 'home';
        switch (gameid) {
            case 'st':
                oDictionary['action'] = 't-info';
                oDictionary['id'] = id;
                break;
            case 'ss':
                oDictionary['action'] = 's-info';
                oDictionary['id'] = id;
                break;
            case 'so':
                oDictionary['action'] = 'o-info';
                oDictionary['id'] = id;
                break;
            case 'lonu':
                oDictionary['action'] = 'wager-info';
                oDictionary['id'] = id;
                break;
            case 'elot':
                oDictionary['action'] = 'wager-info';
                oDictionary['id'] = id;
                break;
        }
        this._navigationService$2.goTo(area, oDictionary);
    },
    
    _showBrowserMessage$2: function LoRoPageTitleComponent_LoRoPageTitleComponent$_showBrowserMessage$2() {
        var showMessage = 'false';
        if (Framework.BrowserUtil.isIE6()) {
            showMessage = 'true';
        }
        else {
            var oElement = document.getElementById(this._domElementId);
            oElement.className = 'pagetitle-hidden';
        }
        return showMessage;
    }
}


LoRoPageTitleComponent.LoRoPageTitleComponent.createClass('LoRoPageTitleComponent.LoRoPageTitleComponent', Framework.Component.AbstractXsltBasedComponent, NavigationService.IPageFilterChangedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('BodyClassOverrideComponent');

////////////////////////////////////////////////////////////////////////////////
// BodyClassOverrideComponent.BodyClassOverrideComponent

BodyClassOverrideComponent.BodyClassOverrideComponent = function BodyClassOverrideComponent_BodyClassOverrideComponent() {
    this._bodycssclass = String.Empty;
    BodyClassOverrideComponent.BodyClassOverrideComponent.constructBase(this);
}
BodyClassOverrideComponent.BodyClassOverrideComponent.prototype = {
    _parameters$1: null,
    _repaintOnPageFilterChanged$1: false,
    _navigationService$1: null,
    
    setNavigationService: function BodyClassOverrideComponent_BodyClassOverrideComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$1 = navigationService;
        this._navigationService$1.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
        this._navigationService$1.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.page);
    },
    
    onPageFilterChanged: function BodyClassOverrideComponent_BodyClassOverrideComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        if (this._repaintOnPageFilterChanged$1) {
            if (this._bodycssclass !== String.Empty) {
                this._updateBodyClass$1();
            }
        }
    },
    
    init: function BodyClassOverrideComponent_BodyClassOverrideComponent$init(environment, componentInstanceName, domElementId, parameters) {
        BodyClassOverrideComponent.BodyClassOverrideComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        this._parameters$1 = new Framework.CommonComponentParameters(parameters);
        this._repaintOnPageFilterChanged$1 = Boolean.parse(parameters['repaint-onpagefilterchanged']);
        this._bodycssclass = parameters['body-css-class'];
        if (this._bodycssclass !== String.Empty) {
            document.body.className += ' ' + this._bodycssclass;
        }
    },
    
    start: function BodyClassOverrideComponent_BodyClassOverrideComponent$start() {
        if (this._bodycssclass !== String.Empty) {
            this._updateBodyClass$1();
        }
    },
    
    _updateBodyClass$1: function BodyClassOverrideComponent_BodyClassOverrideComponent$_updateBodyClass$1() {
        var tempClass = document.body.className;
        tempClass = tempClass.replace(' ' + this._bodycssclass, '');
        if (this.isVisible(this._parameters$1.get_visibleOn(), this._parameters$1.get_notVisibleOn(), this._navigationService$1.getAction())) {
            tempClass += ' ' + this._bodycssclass;
        }
        if (document.body.className !== tempClass) {
            document.body.className = tempClass;
        }
    }
}


BodyClassOverrideComponent.BodyClassOverrideComponent.createClass('BodyClassOverrideComponent.BodyClassOverrideComponent', Framework.Component.AbstractComponent, NavigationService.IPageFilterChangedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('NavigationComponent');

////////////////////////////////////////////////////////////////////////////////
// NavigationComponent.NavigationComponent

NavigationComponent.NavigationComponent = function NavigationComponent_NavigationComponent() {
    NavigationComponent.NavigationComponent.constructBase(this);
}


NavigationComponent.NavigationComponent.createClass('NavigationComponent.NavigationComponent', AbstractWarpComponents.AbstractNavigationComponent);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LanguageSelectorComponent');

////////////////////////////////////////////////////////////////////////////////
// LanguageSelectorComponent.LanguageSelectorComponent

LanguageSelectorComponent.LanguageSelectorComponent = function LanguageSelectorComponent_LanguageSelectorComponent() {
    LanguageSelectorComponent.LanguageSelectorComponent.constructBase(this);
}
LanguageSelectorComponent.LanguageSelectorComponent.prototype = {
    
    changeLanguageEventHandler: function LanguageSelectorComponent_LanguageSelectorComponent$changeLanguageEventHandler(sender, eventArgs) {
        this.changeLanguage((eventArgs.domElement).value);
    },
    
    setLanguageEventHandler: function LanguageSelectorComponent_LanguageSelectorComponent$setLanguageEventHandler(sender, eventArgs) {
        var language = eventArgs.parameters.getAsString('iddclanguage');
        this.changeLanguage(language);
    },
    
    _navigationService$2: null,
    
    setNavigationService: function LanguageSelectorComponent_LanguageSelectorComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
    },
    
    getXsltParameters: function LanguageSelectorComponent_LanguageSelectorComponent$getXsltParameters(contextObject) {
        var xsltParameters = {};
        xsltParameters['component-instance-name'] = this._componentInstanceName;
        xsltParameters['current-language'] = this._environment.getLanguage();
        return xsltParameters;
    },
    
    get_isComponentVisible: function LanguageSelectorComponent_LanguageSelectorComponent$get_isComponentVisible() {
        return true;
    },
    
    changeLanguage: function LanguageSelectorComponent_LanguageSelectorComponent$changeLanguage(language) {
        this._log.debug('ChangeLanguage language = ' + language);
        this._environment.changeLanguage(language, this._navigationService$2.getPageArea(), this._navigationService$2.getPageFilter());
    }
}


LanguageSelectorComponent.LanguageSelectorComponent.createClass('LanguageSelectorComponent.LanguageSelectorComponent', Framework.Component.AbstractXsltBasedComponent);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LoRoLoginComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoLoginComponent.LoRoLoginComponent

LoRoLoginComponent.LoRoLoginComponent = function LoRoLoginComponent_LoRoLoginComponent() {
    LoRoLoginComponent.LoRoLoginComponent.constructBase(this);
}
LoRoLoginComponent.LoRoLoginComponent.prototype = {
    _reCaptchaActivated$3: false,
    _loRoUserService$3: null,
    
    setLoRoUserService: function LoRoLoginComponent_LoRoLoginComponent$setLoRoUserService(loRoUserService) {
        this._log.debug('SetLoRoUserService');
        this._loRoUserService$3 = loRoUserService;
    },
    
    _reCaptchaService$3: null,
    
    setReCaptchaService: function LoRoLoginComponent_LoRoLoginComponent$setReCaptchaService(reCaptchaService) {
        this._log.debug('SetReCaptchaService');
        this._reCaptchaService$3 = reCaptchaService;
    },
    
    _loRoSiteIntelligenceService$3: null,
    
    setLoRoSiteIntelligenceService: function LoRoLoginComponent_LoRoLoginComponent$setLoRoSiteIntelligenceService(loRoSiteIntelligenceService) {
        this._log.debug('SetLoRoSiteIntelligenceService');
        this._loRoSiteIntelligenceService$3 = loRoSiteIntelligenceService;
    },
    
    onUserChanged: function LoRoLoginComponent_LoRoLoginComponent$onUserChanged(eventSource) {
        this._log.debug('OnUserChanged');
        this.update();
    },
    
    onUsernameDivClickEventHandler: function LoRoLoginComponent_LoRoLoginComponent$onUsernameDivClickEventHandler(sender, eventArgs) {
        this.onUsernameDivClick(eventArgs.domElement);
    },
    
    onPasswordDivClickEventHandler: function LoRoLoginComponent_LoRoLoginComponent$onPasswordDivClickEventHandler(sender, eventArgs) {
        this.onPasswordDivClick(eventArgs.domElement);
    },
    
    modalCloseEventHandler: function LoRoLoginComponent_LoRoLoginComponent$modalCloseEventHandler(sender, eventArgs) {
        this._resetLoginForm$3();
        window.event.returnValue = false;
    },
    
    onUsernameDivClick: function LoRoLoginComponent_LoRoLoginComponent$onUsernameDivClick(element) {
        if (!this.get_usernameTextbox() || this._reCaptchaActivated$3) {
            return;
        }
        this._environment.safelySetCssClassOnElement(element, 'invisible');
        this.get_usernameTextbox().focus();
    },
    
    onPasswordDivClick: function LoRoLoginComponent_LoRoLoginComponent$onPasswordDivClick(element) {
        if (!this.get_passwordTextbox() || this._reCaptchaActivated$3) {
            return;
        }
        this._environment.safelySetCssClassOnElement(element, 'invisible');
        this.get_passwordTextbox().focus();
    },
    
    onUsernameBlur: function LoRoLoginComponent_LoRoLoginComponent$onUsernameBlur(element) {
        if (!this.get_usernameTextbox() || this._reCaptchaActivated$3) {
            return;
        }
        if (this.get_usernameTextbox().value === '') {
            this._environment.safelyRemoveCssClassOnElement(document.getElementById('userlayer'), 'invisible');
        }
    },
    
    onPasswordBlur: function LoRoLoginComponent_LoRoLoginComponent$onPasswordBlur(element) {
        if (!this.get_passwordTextbox() || this._reCaptchaActivated$3) {
            return;
        }
        if (this.get_passwordTextbox().value === '') {
            this._environment.safelyRemoveCssClassOnElement(document.getElementById('passlayer'), 'invisible');
        }
    },
    
    onUsernameFocus: function LoRoLoginComponent_LoRoLoginComponent$onUsernameFocus(element) {
        if (this._reCaptchaActivated$3) {
            return;
        }
        this._environment.safelySetCssClassOnElement(document.getElementById('userlayer'), 'invisible');
    },
    
    onPasswordFocus: function LoRoLoginComponent_LoRoLoginComponent$onPasswordFocus(element) {
        if (this._reCaptchaActivated$3) {
            return;
        }
        this._environment.safelySetCssClassOnElement(document.getElementById('passlayer'), 'invisible');
    },
    
    onLoginClicked: function LoRoLoginComponent_LoRoLoginComponent$onLoginClicked() {
        this._loRoSiteIntelligenceService$3.sendAdditionalTracerWrapped('/LoRoLoginComponent/OnLoginClicked/EventFired');
        if (this._reCaptchaActivated$3) {
            window.event.returnValue = false;
            this.disable();
            this._reCaptchaService$3.validateReCaptchaChallenge(Delegate.create(this, function(result) {
                var errorMmsg = document.getElementById(this._domElementId + '.recaptcha.msg');
                var resultIn = result;
                this.enable();
                if (!resultIn) {
                    var oReCaptchaInput = document.getElementById(this._domElementId + '-ReCaptchaInput');
                    oReCaptchaInput.value = '';
                    this._reCaptchaService$3.refreshImage(this._domElementId);
                    this._loRoSiteIntelligenceService$3.sendAdditionalTracerWrapped('/LoRoLoginComponent/OnLoginClicked/ValidateReCaptchaChallenge/Failure');
                }
                else {
                    this._loRoSiteIntelligenceService$3.sendAdditionalTracerWrapped('/LoRoLoginComponent/OnLoginClicked/ValidateReCaptchaChallenge/Success');
                    this._loginClicked$3();
                }
            }), Delegate.create(this, function(exception) {
                this.enable();
                this._loRoSiteIntelligenceService$3.sendAdditionalTracerWrapped('/LoRoLoginComponent/OnLoginClicked/ValidateReCaptchaChallenge/Failure');
            }), this._domElementId);
        }
        else {
            this._loginClicked$3();
        }
    },
    
    _loginClicked$3: function LoRoLoginComponent_LoRoLoginComponent$_loginClicked$3() {
        if (!this.get_usernameTextbox()) {
            this._loRoSiteIntelligenceService$3.sendAdditionalTracerWithQueryWrapped('/LoRoLoginComponent/LoginClicked/Failure', 'errorMessage=UsernameTextboxIsNull');
            return;
        }
        if (!this.get_passwordTextbox()) {
            if (!this.get_passwordTextbox()) {
                this._loRoSiteIntelligenceService$3.sendAdditionalTracerWithQueryWrapped('/LoRoLoginComponent/LoginClicked/Failure', 'errorMessage=PasswordTextboxIsNull');
            }
            return;
        }
        var CheckUsernameBlank = this.get_usernameTextbox().value.trim();
        var CheckPassswordBlank = this.get_passwordTextbox().value.trim();
        if (!CheckUsernameBlank.length || !CheckPassswordBlank.length) {
            this._loRoSiteIntelligenceService$3.sendAdditionalTracerWithQueryWrapped('/LoRoLoginComponent/LoginClicked/Failure', 'errorMessage=UsernameOrPassswordHasZeroLength');
            window.event.returnValue = false;
            return;
        }
        this._reCaptchaActivated$3 = false;
        this.disable();
        if (this.get_rememberMeCheckbox()) {
            if (this.get_rememberMeCheckbox().checked) {
                Framework.CookieUtil.setCookie('username', this.get_usernameTextbox().value);
            }
            else {
                Framework.CookieUtil.clearCookie('username');
            }
        }
        this._loRoUserService$3.login(Delegate.create(this, function(result) {
            this.enable();
            this._resetLoginForm$3();
            this._userService.reconfirmTermsAndConditions(Delegate.create(this, function(tacResult) {
                this._loRoSiteIntelligenceService$3.sendAdditionalTracerWrapped('/LoRoLoginComponent/LoginClicked/Success');
                if (tacResult) {
                    var tac = {};
                    tac['action'] = 'termsconfirmation';
                    this._environment.changeLanguage(this._userService.get_personalDetails().IDDCLanguage, 'Terms', tac);
                }
                else {
                    this._environment.changeLanguage(this._userService.get_personalDetails().IDDCLanguage, this._navigationService.getPageArea(), this._navigationService.getPageFilter());
                }
            }), Delegate.create(this, function(tacException) {
                this._loRoSiteIntelligenceService$3.sendAdditionalTracerWithQueryWrapped('/LoRoLoginComponent/LoginClicked/Failure', 'errorMessage=ReconfirmTermsAndConditionsFailed ' + tacException.message);
                this._log.debug('Login - ReconfirmTermsAndConditions failed: ' + tacException.message);
            }));
        }), Delegate.create(this, function(exception) {
            this._loRoSiteIntelligenceService$3.sendAdditionalTracerWrapped('/LoRoLoginComponent/LoginClicked/Failure');
            this.enable();
            if (Framework.ExceptionUtil.getExceptionDetails(exception).get_message().toLowerCase() === 'passwordexpired') {
                this._setUserNameForExpiredPassword$3(this.get_usernameTextbox().value);
                return;
            }
            var msgP = this.getPrivateDomElement('errmsg');
            var errMsg = Framework.ExceptionUtil.getExceptionDetails(exception).get_message();
            if (errMsg.indexOf('The server was unable to process') > -1) {
                errMsg = this.translateString('Login Failed');
            }
            msgP.innerHTML = errMsg;
            this._activateReCaptcha$3();
        }), this.get_usernameTextbox().value, this.get_passwordTextbox().value);
        window.event.returnValue = false;
    },
    
    _setUserNameForExpiredPassword$3: function LoRoLoginComponent_LoRoLoginComponent$_setUserNameForExpiredPassword$3(username) {
        this.disable();
        this._loRoUserService$3.setUserNameForExpiredPassword(Delegate.create(this, function(result) {
            this.enable();
            this._navigationService.goTo('Registration', { action: 'reset-expired-password' });
        }), Delegate.create(this, function(exception) {
            this.enable();
        }), username);
    },
    
    _activateReCaptcha$3: function LoRoLoginComponent_LoRoLoginComponent$_activateReCaptcha$3() {
        this._reCaptchaService$3.getReCaptchaChallengeForm(Delegate.create(this, function(result) {
            this._reCaptchaActivated$3 = true;
            var componentHolder = document.getElementById(this._domElementId);
            this._environment.safelySetAndUnsetCssClassOnElement(componentHolder, 'modal modallogin', 'reglogin');
        }), Delegate.create(this, function(e) {
        }), this._domElementId, this._domElementId + '.recaptcha', this.getPrivateDomElement('refresh-image').innerHTML);
    },
    
    _resetLoginForm$3: function LoRoLoginComponent_LoRoLoginComponent$_resetLoginForm$3() {
        this._reCaptchaActivated$3 = false;
        var componentHolder = document.getElementById(this._domElementId);
        this._environment.safelySetAndUnsetCssClassOnElement(componentHolder, 'reglogin', 'modal modallogin');
        this.get_usernameTextbox().value = '';
        this.get_passwordTextbox().value = '';
        this.onUsernameBlur(null);
        this.onPasswordBlur(null);
    }
}


LoRoLoginComponent.LoRoLoginComponent.createClass('LoRoLoginComponent.LoRoLoginComponent', AbstractMMCoreComponents.AbstractLoginComponent);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LoRoAccountsDetailsComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoAccountsDetailsComponent.LoRoAccountsDetailsComponent

LoRoAccountsDetailsComponent.LoRoAccountsDetailsComponent = function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent() {
    LoRoAccountsDetailsComponent.LoRoAccountsDetailsComponent.constructBase(this);
}
LoRoAccountsDetailsComponent.LoRoAccountsDetailsComponent.prototype = {
    _changeActionOnLogout$2: null,
    _webSection$2: 'SPORTSBOOK',
    _accountArea$2: 'Accounting',
    _logoffPageArea$2: '',
    
    refreshBalanceOnClickEventHandler: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$refreshBalanceOnClickEventHandler(sender, eventArgs) {
        var fs = {};
        fs['action'] = 'account-summary';
        this._navigationService$2.forwardTo('Accounting', fs);
        this.refreshBalance();
        window.event.returnValue = false;
    },
    
    goToEventHandler: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$goToEventHandler(sender, eventArgs) {
        new NavigationService.GoToBehavior(eventArgs.domElement, null, this._navigationService$2);
    },
    
    goToMessagesEventHandler: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$goToMessagesEventHandler(sender, eventArgs) {
        this.goToMessages(eventArgs.parameters.getAsString('pagearea'), eventArgs.parameters.getAsDictionary('pagefilter'));
    },
    
    logoutEventHandler: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$logoutEventHandler(sender, eventArgs) {
        this.logout();
    },
    
    _accountService$2: null,
    
    setAccountService: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$setAccountService(accountService) {
        this._log.debug('SetAccountService');
        this._accountService$2 = accountService;
    },
    
    onBalanceChanged: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$onBalanceChanged(eventSource) {
        this._log.debug('OnBalanceChanged');
        this.update();
    },
    
    onAccountPreferencesChanged: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$onAccountPreferencesChanged(eventSource) {
        this._log.debug('OnAccountPreferencesChanged');
        this.update();
    },
    
    _navigationService$2: null,
    
    setNavigationService: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
        this._navigationService$2.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
    },
    
    onPageFilterChanged: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        this.update();
    },
    
    _userService$2: null,
    
    setUserService: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$setUserService(userService) {
        this._log.debug('SetUserService');
        this._userService$2 = userService;
        this._userService$2.registerUserChangedListener(this);
    },
    
    onUserChanged: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$onUserChanged(eventSource) {
        this._log.debug('OnUserChanged');
        if (!this._userService$2.isLoggedIn()) {
            if (this._navigationService$2.getPageArea() === this._accountArea$2) {
                this._navigationService$2.goTo(this._logoffPageArea$2, {});
            }
        }
    },
    
    _loRoBettingService$2: null,
    
    setLoRoBettingService: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$setLoRoBettingService(loRoBettingService) {
        this._log.debug('SetLoRoBettingService');
        this._loRoBettingService$2 = loRoBettingService;
        this._loRoBettingService$2.registerSportsBetPlacedListener(this);
    },
    
    onLoRoSportsBetPlaced: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$onLoRoSportsBetPlaced(eventSource) {
        this._log.debug('OnSportsBetPlaced');
        this.refreshBalance();
    },
    
    _betSlipService$2: null,
    
    setBetSlipService: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$setBetSlipService(betSlipService) {
        this._log.debug('SetBetSlipService');
        this._betSlipService$2 = betSlipService;
    },
    
    _notificationService$2: null,
    
    setNotificationService: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$setNotificationService(notificationService) {
        this._log.debug('SetNotificationService');
        this._notificationService$2 = notificationService;
        this._notificationService$2.registerUndeliveredPopupNotificationsChangedListener(this);
    },
    
    onUndeliveredPopupNotificationsChanged: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$onUndeliveredPopupNotificationsChanged(eventSource) {
        this._log.debug('OnCustomerNotificationPreferencesChanged');
        this.update();
    },
    
    init: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$init(environment, componentInstanceName, domElementId, parameters) {
        this._changeActionOnLogout$2 = parameters['change-action-on-logout'];
        this._webSection$2 = parameters['web-section'];
        this._accountArea$2 = parameters['accounting-pagearea'];
        this._logoffPageArea$2 = parameters['logoff-pagearea'];
    },
    
    preTransformation: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$preTransformation(eventArgs) {
        if (this.get_isComponentVisible() && this._userService$2.isLoggedIn()) {
            if (!this._accountService$2.get_accountsDetails()) {
                eventArgs.set_cancelUpdate(true);
                this._accountService$2.fetchAccountsDetails();
            }
        }
    },
    
    get_isComponentVisible: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$get_isComponentVisible() {
        return (this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction()) && this._userService$2.isLoggedIn());
    },
    
    getXsltParameters: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$getXsltParameters(contextObject) {
        var xsltParameters = {};
        xsltParameters['component-instance-name'] = this._componentInstanceName;
        xsltParameters['web-section'] = this._webSection$2;
        if (this._userService$2.get_personalDetails()) {
            xsltParameters['name'] = this._userService$2.get_personalDetails().FullName;
        }
        if (this._accountService$2.get_accountsDetails()) {
            xsltParameters['trading-cache-balance'] = this._accountService$2.get_creditAccountDetails().TradingBalance.format('N', true);
            xsltParameters['account-number'] = this._accountService$2.get_creditAccountDetails().AccountNumber;
            xsltParameters['currency-symbol'] = this._accountService$2.getCurrencySimbol();
            xsltParameters['cash-balance'] = this._accountService$2.get_creditAccountDetails().WithdrawalBalance.format('N', true);
            xsltParameters['credit-limit'] = ((this._accountService$2.get_creditAccountDetails().TradingBalance - this._accountService$2.get_creditAccountDetails().WithdrawalBalance)).format('N', true);
            xsltParameters['free-balance'] = this._accountService$2.get_freeAccountDetails().WithdrawalBalance.format('N', true);
            xsltParameters['available-funds'] = ((this._accountService$2.get_creditAccountDetails().TradingBalance + this._accountService$2.get_freeAccountDetails().TradingBalance)).format('N', true);
        }
        xsltParameters['undelivered-popups'] = this._notificationService$2.get_undeliveredPopupMessages();
        return xsltParameters;
    },
    
    refreshBalance: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$refreshBalance() {
        this._log.debug('RefreshBalance');
        this._accountService$2.fetchAccountsDetails();
    },
    
    logout: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$logout() {
        this._log.debug('Logout');
        this.changeActionOnLogout();
        this.disable();
        this._userService$2.logout(Delegate.create(this, function(result) {
            this.enable();
            this.goToPageArea(this._logoffPageArea$2);
        }), Delegate.create(this, function(exception) {
            this.enable();
        }));
    },
    
    changeActionOnLogout: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$changeActionOnLogout() {
        if (!String.isNullOrEmpty(this._changeActionOnLogout$2)) {
            var pageFilter = this._navigationService$2.getPageFilter();
            pageFilter['action'] = this._changeActionOnLogout$2;
            this._navigationService$2.setPageFilter(pageFilter);
        }
    },
    
    goTo: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$goTo(pageArea, pageFilter) {
        this._navigationService$2.goTo(pageArea, pageFilter);
        return false;
    },
    
    goToPageArea: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$goToPageArea(pageArea) {
        var pageFilter = this._navigationService$2.getPageFilter();
        return this.goTo(pageArea, pageFilter);
    },
    
    goToMessages: function LoRoAccountsDetailsComponent_LoRoAccountsDetailsComponent$goToMessages(pageArea, pageFilter) {
        this._log.debug('GoToMessages');
        this._navigationService$2.goTo(pageArea, pageFilter);
    }
}


LoRoAccountsDetailsComponent.LoRoAccountsDetailsComponent.createClass('LoRoAccountsDetailsComponent.LoRoAccountsDetailsComponent', Framework.Component.AbstractXsltBasedComponent, NavigationService.IPageFilterChangedListener, UserService.IUserChangedListener, AccountService.IBalanceChangedListener, AccountService.IAccountPreferencesChangedListener, NotificationService.IUndeliveredPopupNotificationsChangedListener, LoRoBettingService.ILoRoSportsBetPlacedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LoRoIncludeComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoIncludeComponent.LoRoIncludeComponent

LoRoIncludeComponent.LoRoIncludeComponent = function LoRoIncludeComponent_LoRoIncludeComponent() {
    this._autoToggleCollection$2 = [];
    this._oXMLHttpRequestDecorator$2 = new Framework.XMLHttpRequestDecorator();
    LoRoIncludeComponent.LoRoIncludeComponent.constructBase(this);
}
LoRoIncludeComponent.LoRoIncludeComponent.prototype = {
    _contentUrl: '',
    _sendAddonToHost: '',
    _addonHostName: '',
    _resetActionTo: '',
    _repaintOnFilterChanged: true,
    _forceContentDownload: false,
    _navigationService$2: null,
    
    setNavigationService: function LoRoIncludeComponent_LoRoIncludeComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
        this._navigationService$2.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
    },
    
    onPageFilterChanged: function LoRoIncludeComponent_LoRoIncludeComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        if (this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction())) {
            if (this._resetActionTo !== this._navigationService$2.getAction()) {
                this._loadContent$2();
            }
        }
        else {
            this.hide();
        }
    },
    
    _loRoIncludeService$2: null,
    
    setLoRoIncludeService: function LoRoIncludeComponent_LoRoIncludeComponent$setLoRoIncludeService(loRoIncludeService) {
        this._log.debug('SetLoRoIncludeService');
        this._loRoIncludeService$2 = loRoIncludeService;
    },
    
    onIncludeChanged: function LoRoIncludeComponent_LoRoIncludeComponent$onIncludeChanged(eventSource) {
        this._log.debug('OnIncludeChanged');
        if (String.isNullOrEmpty(this._addonHostName)) {
            return;
        }
        var oAddonDetails = this._loRoIncludeService$2.get_addonDetails();
        if (!oAddonDetails) {
            return;
        }
        this.hide();
        if (oAddonDetails.AddonHostName === this._addonHostName) {
            this._contentUrl = oAddonDetails.AddonLocation;
            var currentCss = document.getElementById(this._domElementId).className;
            if (!String.isNullOrEmpty(oAddonDetails.AddonIncludeType)) {
                currentCss = currentCss.replace('small', oAddonDetails.AddonIncludeType);
                currentCss = currentCss.replace('medium', oAddonDetails.AddonIncludeType);
                document.getElementById(this._domElementId).className = currentCss;
            }
            this._loadContent$2();
            this._contentUrl = '';
        }
    },
    
    _loRoSiteIntelligenceService$2: null,
    
    setLoRoSiteIntelligenceService: function LoRoIncludeComponent_LoRoIncludeComponent$setLoRoSiteIntelligenceService(loRoSiteIntelligenceService) {
        this._log.debug('SetLoRoSiteIntelligenceService');
        this._loRoSiteIntelligenceService$2 = loRoSiteIntelligenceService;
    },
    
    init: function LoRoIncludeComponent_LoRoIncludeComponent$init(environment, componentInstanceName, domElementId, parameters) {
        LoRoIncludeComponent.LoRoIncludeComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        this._parameters = new Framework.CommonComponentParameters(parameters);
        this._repaintOnFilterChanged = Boolean.parse(parameters['repaint-on-filter-changed']);
        this._contentUrl = parameters['content-url'];
        this._forceContentDownload = Boolean.parse(parameters['content-url']);
        this._sendAddonToHost = parameters['send-addon-to-host'];
        this._addonHostName = parameters['addon-host-name'];
        this._forceContentDownload = Boolean.parse(parameters['force-content-download']);
        this._resetActionTo = parameters['reset-action-to'];
    },
    
    preTransformation: function LoRoIncludeComponent_LoRoIncludeComponent$preTransformation(eventArgs) {
        if (this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction())) {
            eventArgs.set_cancelUpdate(true);
            if (Object.keyExists(this._navigationService$2.getPageFilter(), 'contenturl')) {
                this._contentUrl = this._navigationService$2.getPageFilter()['contenturl'].toString();
            }
            if (this._addonHostName !== '' && this._loRoIncludeService$2 && this._loRoIncludeService$2.get_addonDetails() && this._loRoIncludeService$2.get_addonDetails().AddonHostName === this._addonHostName) {
                this.onIncludeChanged(null);
            }
            else {
                this._loadContent$2();
            }
        }
        else {
            this.hide();
        }
    },
    
    get_isComponentVisible: function LoRoIncludeComponent_LoRoIncludeComponent$get_isComponentVisible() {
        return this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction());
    },
    
    showAddonEventHandler: function LoRoIncludeComponent_LoRoIncludeComponent$showAddonEventHandler(sender, eventArgs) {
        if (String.isNullOrEmpty(this._sendAddonToHost)) {
            return;
        }
        var oSender = eventArgs.domElement;
        var oAddonDOMAttribute = oSender.getAttributeNode('addon');
        var oIncludeTypeDOMAttribute = oSender.getAttributeNode('includetype');
        var oAddonDetails = new LoRoIncludeService.AddonDetails();
        oAddonDetails.AddonHostName = this._sendAddonToHost;
        oAddonDetails.AddonLocation = oAddonDOMAttribute.value;
        oAddonDetails.AddonIncludeType = '';
        if (oIncludeTypeDOMAttribute) {
            oAddonDetails.AddonIncludeType = oIncludeTypeDOMAttribute.value;
        }
        if (!String.isNullOrEmpty(this._resetActionTo)) {
            this._navigationService$2.setAction(this._resetActionTo);
        }
        this._loRoIncludeService$2.setAddOn(oAddonDetails);
    },
    
    toggleEventHandler: function LoRoIncludeComponent_LoRoIncludeComponent$toggleEventHandler(sender, eventArgs) {
        var oSender = eventArgs.domElement;
        var oParrent = oSender.parentNode;
        var currentStyle = '';
        if (oParrent.className.indexOf('listitem-hide') === -1 && oParrent.className.indexOf('listitem-show') === -1) {
            currentStyle = oParrent.className;
            currentStyle = currentStyle + ' listitem-show';
            oParrent.className = currentStyle;
            oSender.className = 'close';
        }
        else {
            currentStyle = oParrent.className;
            if (oParrent.className.indexOf('listitem-hide') > -1) {
                currentStyle = currentStyle.replace('listitem-hide', 'listitem-show');
                oSender.className = 'close';
            }
            else {
                currentStyle = currentStyle.replace('listitem-show', 'listitem-hide');
                oSender.className = 'open';
            }
            oParrent.className = currentStyle;
        }
    },
    
    autoToggleEventHandler: function LoRoIncludeComponent_LoRoIncludeComponent$autoToggleEventHandler(sender, eventArgs) {
        for (var i = 0; i < this._autoToggleCollection$2.length; i++) {
            var oAutoToggleElement = this._autoToggleCollection$2[i];
            var toAutoToggle = oAutoToggleElement.parentNode;
            toAutoToggle.className = 'hidesub';
        }
        var oSender = eventArgs.domElement;
        var toToggle = oSender.parentNode;
        toToggle.className = 'showsub';
    },
    
    slideEventHandler: function LoRoIncludeComponent_LoRoIncludeComponent$slideEventHandler(sender, eventArgs) {
        var oSender = eventArgs.domElement;
        var oHideDOMAttribute = oSender.getAttributeNode('hide');
        var oShowDOMAttribute = oSender.getAttributeNode('show');
        var oHide = document.getElementById(oHideDOMAttribute.value);
        var oShow = document.getElementById(oShowDOMAttribute.value);
        oHide.style.display = 'none';
        oShow.style.display = 'block';
    },
    
    goToEventHandler: function LoRoIncludeComponent_LoRoIncludeComponent$goToEventHandler(sender, eventArgs) {
        var oAnchorElement = eventArgs.domElement;
        var oDOMAttribute = oAnchorElement.getAttributeNode('goto');
        this._navigationService$2.setAction(oDOMAttribute.value);
        window.event.returnValue = false;
    },
    
    doNothingEventHandler: function LoRoIncludeComponent_LoRoIncludeComponent$doNothingEventHandler(sender, eventArgs) {
        window.event.returnValue = false;
    },
    
    nextPageEventHandler: function LoRoIncludeComponent_LoRoIncludeComponent$nextPageEventHandler(sender, eventArgs) {
        var oSender = eventArgs.domElement;
        var oDOMAttribute = oSender.getAttributeNode('currentpage');
        var oDOMAttribute1 = oSender.getAttributeNode('nextpage');
        if (oDOMAttribute && oDOMAttribute1) {
            var oContainer = document.getElementById(oDOMAttribute.value);
            var oContainer1 = document.getElementById(oDOMAttribute1.value);
            oContainer.style.display = 'none';
            oContainer1.style.display = 'block';
        }
    },
    
    prevPageEventHandler: function LoRoIncludeComponent_LoRoIncludeComponent$prevPageEventHandler(sender, eventArgs) {
        var oSender = eventArgs.domElement;
        var oDOMAttribute = oSender.getAttributeNode('currentpage');
        var oDOMAttribute1 = oSender.getAttributeNode('prevpage');
        if (oDOMAttribute && oDOMAttribute1) {
            var oContainer = document.getElementById(oDOMAttribute.value);
            var oContainer1 = document.getElementById(oDOMAttribute1.value);
            oContainer.style.display = 'none';
            oContainer1.style.display = 'block';
        }
    },
    
    _boundEventHandler$2: function LoRoIncludeComponent_LoRoIncludeComponent$_boundEventHandler$2() {
        var _savedAddon = '';
        if (this._loRoIncludeService$2 && this._loRoIncludeService$2.get_addonDetails()) {
            _savedAddon = this._loRoIncludeService$2.get_addonDetails().AddonLocation;
        }
        var oDOMElementCollection = document.getElementById(this._domElementId).getElementsByTagName('a');
        this._autoToggleCollection$2.clear();
        for (var i = 0; i < oDOMElementCollection.length; i++) {
            var oAnchorElement = oDOMElementCollection[i];
            var oDOMAttribute = oAnchorElement.getAttributeNode('wiringname');
            if (oDOMAttribute) {
                if (oDOMAttribute.value === 'Toggle') {
                    var behavior = new Framework.Behavior.ElementBehavior(oAnchorElement);
                    behavior.add_onClick(Delegate.create(this, function(sender, eventArgs) {
                        this.toggleEventHandler(sender, eventArgs);
                        window.event.returnValue = false;
                    }));
                    oAnchorElement.setAttribute('behint0', 'ToggleEvent');
                }
                if (oDOMAttribute.value === 'AutoToggle') {
                    this._autoToggleCollection$2.add(oAnchorElement);
                    var behavior = new Framework.Behavior.ElementBehavior(oAnchorElement);
                    behavior.add_onClick(Delegate.create(this, function(sender, eventArgs) {
                        this.autoToggleEventHandler(sender, eventArgs);
                        window.event.returnValue = false;
                    }));
                    oAnchorElement.setAttribute('behint1', 'AutoToggle');
                }
                if (oDOMAttribute.value === 'ShowAddon') {
                    var behavior = new Framework.Behavior.ElementBehavior(oAnchorElement);
                    behavior.add_onClick(Delegate.create(this, function(sender, eventArgs) {
                        this.showAddonEventHandler(sender, eventArgs);
                        window.event.returnValue = false;
                    }));
                    oAnchorElement.setAttribute('behint2', 'ShowAddon');
                    var oAddonAttribute = oAnchorElement.getAttributeNode('addon');
                    if (_savedAddon !== '' && oAddonAttribute && oAddonAttribute.value === _savedAddon) {
                        var parentNode = oAnchorElement.parentNode;
                        while (true) {
                            if (parentNode.nodeName.toLowerCase() === 'li' && parentNode.className === 'hidesub') {
                                parentNode.className = 'showsub';
                            }
                            parentNode = parentNode.parentNode;
                            if (!parentNode || parentNode.className.toLowerCase().indexOf('csubnavigation') > -1 || parentNode.className.toLowerCase().indexOf('placeholder') > -1) {
                                break;
                            }
                        }
                    }
                }
                if (oDOMAttribute.value === 'Slide') {
                    var behavior = new Framework.Behavior.ElementBehavior(oAnchorElement);
                    behavior.add_onClick(Delegate.create(this, function(sender, eventArgs) {
                        this.slideEventHandler(sender, eventArgs);
                        window.event.returnValue = false;
                    }));
                }
                if (oDOMAttribute.value === 'DoNothing') {
                    var behavior = new Framework.Behavior.ElementBehavior(oAnchorElement);
                    behavior.add_onClick(Delegate.create(this, function(sender, eventArgs) {
                        this.doNothingEventHandler(sender, eventArgs);
                        window.event.returnValue = false;
                    }));
                }
                if (oDOMAttribute.value === 'GoTo') {
                    var behavior = new Framework.Behavior.ElementBehavior(oAnchorElement);
                    behavior.add_onClick(Delegate.create(this, function(sender, eventArgs) {
                        this.goToEventHandler(sender, eventArgs);
                        window.event.returnValue = false;
                    }));
                }
                if (oDOMAttribute.value === 'nextPage') {
                    var behavior = new Framework.Behavior.ElementBehavior(oAnchorElement);
                    behavior.add_onClick(Delegate.create(this, function(sender, eventArgs) {
                        this.nextPageEventHandler(sender, eventArgs);
                        window.event.returnValue = false;
                    }));
                }
                if (oDOMAttribute.value === 'prevPage') {
                    var behavior = new Framework.Behavior.ElementBehavior(oAnchorElement);
                    behavior.add_onClick(Delegate.create(this, function(sender, eventArgs) {
                        this.prevPageEventHandler(sender, eventArgs);
                        window.event.returnValue = false;
                    }));
                }
            }
        }
        var oDivElementCollection = document.getElementById(this._domElementId).getElementsByTagName('div');
        for (var y = 0; y < oDivElementCollection.length; y++) {
            var oDivElement = oDivElementCollection[y];
            var oDOMAttribute = oDivElement.getAttributeNode('wiringname');
            if (oDOMAttribute) {
                if (oDOMAttribute.value === 'checkMyState') {
                    if (oDivElement.className !== this._navigationService$2.getAction()) {
                        oDivElement.style.display = 'none';
                    }
                }
            }
        }
    },
    
    _loadContent$2: function LoRoIncludeComponent_LoRoIncludeComponent$_loadContent$2() {
        if (String.isNullOrEmpty(this._contentUrl)) {
            if (String.isNullOrEmpty(this._addonHostName)) {
                this.hide();
            }
            return;
        }
        this._loRoSiteIntelligenceService$2.sendAdditionalTracerWithQueryWrapped('/StaticContent/LoRoIncludeComponent/loadContent', 'contentUrl=' + this._contentUrl);
        if (this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction())) {
            this._oXMLHttpRequestDecorator$2.onreadystatechange = Delegate.create(this, function() {
                if (this._oXMLHttpRequestDecorator$2.readyState === 4) {
                    if (this._oXMLHttpRequestDecorator$2.status === 200 || this._oXMLHttpRequestDecorator$2.status === 304) {
                        var loadedContent = this._oXMLHttpRequestDecorator$2.responseText;
                        var oContentHolderElement = document.getElementById(this._domElementId);
                        oContentHolderElement.innerHTML = loadedContent;
                        this.show();
                        this._boundEventHandler$2();
                    }
                }
                this._afterUpdateCallback$2();
            });
            var contentURL = this._contentUrl.replace('${language}', this._environment.getLanguage());
            if (this._forceContentDownload) {
                var unique = Date.get_now().getDate().toString() + Date.get_now().getMonth().toString() + Date.get_now().getFullYear().toString() + Date.get_now().getHours().toString() + Date.get_now().getMinutes().toString() + Date.get_now().getSeconds().toString() + Date.get_now().getMilliseconds().toString();
                contentURL = contentURL + '?unique=' + unique;
            }
            this._oXMLHttpRequestDecorator$2.open('GET', contentURL, true);
            this._oXMLHttpRequestDecorator$2.send(null);
        }
        else {
            this.hide();
        }
    },
    
    _afterUpdateCallback$2: function LoRoIncludeComponent_LoRoIncludeComponent$_afterUpdateCallback$2() {
        this._traceDom$2(this._environment.getDomElement(this._domElementId), 0);
    },
    
    _traceDom$2: function LoRoIncludeComponent_LoRoIncludeComponent$_traceDom$2(delm, depth) {
        if (depth > 10) {
            return;
        }
        for (var e = 0; e < delm.childNodes.length; e++) {
            var elm = delm.childNodes[e];
            if (Framework.StringHelper.equals(elm.tagName, 'a', true)) {
                elm.setAttribute('behavior', '');
                var behavior = new Framework.Behavior.ElementBehavior(elm);
                behavior.add_onClick(Delegate.create(this, function(sender, clickEventArgs) {
                    var elID = '';
                    if (null !== clickEventArgs.domElement.id) {
                        elID = clickEventArgs.domElement.id;
                    }
                    var title = '';
                    if (null !== clickEventArgs.domElement.title) {
                        title = clickEventArgs.domElement.title;
                    }
                    var nodeName = '';
                    if (null !== clickEventArgs.domElement.nodeName) {
                        nodeName = clickEventArgs.domElement.nodeName;
                    }
                    var nodeValue = '';
                    if (null !== clickEventArgs.domElement.nodeValue) {
                        nodeValue = clickEventArgs.domElement.nodeValue;
                    }
                    var innerText = '';
                    if (null !== clickEventArgs.domElement.innerText) {
                        innerText = clickEventArgs.domElement.innerText;
                    }
                    var innerHtml = '';
                    if (null !== clickEventArgs.domElement.innerHTML) {
                        innerHtml = clickEventArgs.domElement.innerHTML;
                    }
                    this._loRoSiteIntelligenceService$2.sendAdditionalTracerWithQueryWrapped('/StaticContent/LoRoIncludeComponent/traceDom/HtmlTag/a', 'ID=' + elID + '&title=' + title + '&nodeName=' + nodeName + '&nodeValue=' + nodeValue + '&innerText=' + innerText + '&innerHtml=' + innerHtml + '&contentUrl=' + this._contentUrl);
                }));
            }
            else if (Framework.StringHelper.equals(elm.tagName, 'input', true)) {
                elm.setAttribute('behavior', '');
                var behavior = new Framework.Behavior.ElementBehavior(elm);
                behavior.add_onClick(Delegate.create(this, function(sender, clickEventArgs) {
                    var elID = '';
                    if (null !== clickEventArgs.domElement.id) {
                        elID = clickEventArgs.domElement.id;
                    }
                    var title = '';
                    if (null !== clickEventArgs.domElement.title) {
                        title = clickEventArgs.domElement.title;
                    }
                    var nodeName = '';
                    if (null !== clickEventArgs.domElement.nodeName) {
                        nodeName = clickEventArgs.domElement.nodeName;
                    }
                    var nodeValue = '';
                    if (null !== clickEventArgs.domElement.nodeValue) {
                        nodeValue = clickEventArgs.domElement.nodeValue;
                    }
                    var innerText = '';
                    if (null !== clickEventArgs.domElement.innerText) {
                        innerText = clickEventArgs.domElement.innerText;
                    }
                    var value = clickEventArgs.domElement.getAttribute('value').toString();
                    this._loRoSiteIntelligenceService$2.sendAdditionalTracerWithQueryWrapped('/StaticContent/LoRoIncludeComponent/traceDom/HtmlTag/input', 'ID=' + elID + '&title=' + title + '&nodeName=' + nodeName + '&nodeValue=' + nodeValue + '&innerText=' + innerText + '&contentUrl=' + this._contentUrl + '&value=' + value);
                }));
            }
            else if (elm.hasChildNodes()) {
                this._traceDom$2(elm, depth);
            }
        }
    }
}


LoRoIncludeComponent.LoRoIncludeComponent.createClass('LoRoIncludeComponent.LoRoIncludeComponent', Framework.Component.AbstractXsltBasedComponent, NavigationService.IPageFilterChangedListener, LoRoIncludeService.IIncludeChangedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LoRoPrincipalTeaserComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoPrincipalTeaserComponent.LoRoPrincipalTeaserComponent

LoRoPrincipalTeaserComponent.LoRoPrincipalTeaserComponent = function LoRoPrincipalTeaserComponent_LoRoPrincipalTeaserComponent() {
    LoRoPrincipalTeaserComponent.LoRoPrincipalTeaserComponent.constructBase(this);
}
LoRoPrincipalTeaserComponent.LoRoPrincipalTeaserComponent.prototype = {
    _activeFlashID$2: 1,
    _navigationService$2: null,
    
    setNavigationService: function LoRoPrincipalTeaserComponent_LoRoPrincipalTeaserComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
        this._navigationService$2.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
    },
    
    onPageFilterChanged: function LoRoPrincipalTeaserComponent_LoRoPrincipalTeaserComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        this._activeFlashID$2 = 1;
        this.update();
    },
    
    init: function LoRoPrincipalTeaserComponent_LoRoPrincipalTeaserComponent$init(environment, componentInstanceName, domElementId, parameters) {
        LoRoPrincipalTeaserComponent.LoRoPrincipalTeaserComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        parameters['content-url'] = String.format(parameters['content-url'], this._environment.getLanguage());
        this._parameters = new Framework.CommonComponentParameters(parameters);
    },
    
    get_isComponentVisible: function LoRoPrincipalTeaserComponent_LoRoPrincipalTeaserComponent$get_isComponentVisible() {
        return this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction());
    },
    
    getXsltParameters: function LoRoPrincipalTeaserComponent_LoRoPrincipalTeaserComponent$getXsltParameters(contextObject) {
        var xsltParameters = LoRoPrincipalTeaserComponent.LoRoPrincipalTeaserComponent.callBase(this, 'getXsltParameters', [ contextObject ]);
        xsltParameters = {};
        xsltParameters['component-instance-name'] = this._componentInstanceName;
        xsltParameters['component-dom-element-id'] = this._domElementId;
        xsltParameters['active-flash-id'] = this._activeFlashID$2;
        return xsltParameters;
    },
    
    backEventHandler: function LoRoPrincipalTeaserComponent_LoRoPrincipalTeaserComponent$backEventHandler(sender, eventArgs) {
        this._activeFlashID$2--;
        this.update();
    },
    
    nextEventHandler: function LoRoPrincipalTeaserComponent_LoRoPrincipalTeaserComponent$nextEventHandler(sender, eventArgs) {
        this._activeFlashID$2++;
        this.update();
    }
}


LoRoPrincipalTeaserComponent.LoRoPrincipalTeaserComponent.createClass('LoRoPrincipalTeaserComponent.LoRoPrincipalTeaserComponent', Framework.Component.AbstractXsltBasedComponent, NavigationService.IPageFilterChangedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LoRoPrizeTeaserComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoPrizeTeaserComponent.LoRoPrizeTeaserComponent

LoRoPrizeTeaserComponent.LoRoPrizeTeaserComponent = function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent() {
    LoRoPrizeTeaserComponent.LoRoPrizeTeaserComponent.constructBase(this);
}
LoRoPrizeTeaserComponent.LoRoPrizeTeaserComponent.prototype = {
    _urlPlayArea: 'Homepage',
    _urlPlayAction: '',
    _buttonText: '',
    _gameExternalid: '',
    _cssclass: '',
    _navigationService$2: null,
    
    setNavigationService: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
        this._navigationService$2.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
    },
    
    onPageFilterChanged: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        this.update();
    },
    
    init: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$init(environment, componentInstanceName, domElementId, parameters) {
        LoRoPrizeTeaserComponent.LoRoPrizeTeaserComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        parameters['content-url'] = String.format(parameters['content-url'], this._environment.getLanguage(), parameters['game-externalid']);
        if (String.isNullOrEmpty(parameters['game-externalid']) || parameters['game-externalid'] === 's' && parameters['game-externalid'] === 't') {
            parameters['content-url'] = '';
        }
        this._parameters = new Framework.CommonComponentParameters(parameters);
        this._urlPlayArea = parameters['url-play-area'];
        this._urlPlayAction = parameters['url-play-action'];
        this._buttonText = parameters['button-text'];
        this._gameExternalid = parameters['game-externalid'];
        this._cssclass = parameters['css-class'];
    },
    
    renderComplete: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$renderComplete(eventArgs) {
        var oAnchorElement = document.getElementById(this._domElementId + '-action-link');
        oAnchorElement.innerText = this._translateString$2(this._buttonText);
        this._formatPrice$2();
    },
    
    get_isComponentVisible: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$get_isComponentVisible() {
        return this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction());
    },
    
    getXsltParameters: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$getXsltParameters(contextObject) {
        var xsltParameters = LoRoPrizeTeaserComponent.LoRoPrizeTeaserComponent.callBase(this, 'getXsltParameters', [ contextObject ]);
        xsltParameters = {};
        xsltParameters['component-instance-name'] = this._componentInstanceName;
        xsltParameters['component-dom-element-id'] = this._domElementId;
        xsltParameters['game-externalid'] = this._gameExternalid;
        return xsltParameters;
    },
    
    goToEventHandler: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$goToEventHandler(sender, eventArgs) {
        this._navigationService$2.goTo(this._urlPlayArea, { action: this._urlPlayAction });
    },
    
    rollOverEventHandler: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$rollOverEventHandler(sender, eventArgs) {
        var oElement = document.getElementById(this._domElementId);
        oElement.className = this._cssclass + '-rollover';
    },
    
    rollOutEventHandler: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$rollOutEventHandler(sender, eventArgs) {
        var oElement = document.getElementById(this._domElementId);
        oElement.className = this._cssclass;
    },
    
    _formatPrice$2: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$_formatPrice$2() {
        var oElement = document.getElementById(this._domElementId + '-price');
        var oElementToShowPrice = document.getElementById(this._domElementId + '-price-formated');
        var formatedPrice = '';
        if (this._gameExternalid === 'Lonu') {
            var oNormal = 0;
            var oPlus = 0;
            var oLonuDivs = oElement.getElementsByTagName('div');
            var oLonuDiv = oLonuDivs[0];
            var oNormalDOMAttribute = oLonuDiv.getAttributeNode('normal');
            var oPlusDOMAttribute = oLonuDiv.getAttributeNode('plus');
            oNormal = (String.isNullOrEmpty(oNormalDOMAttribute.value)) ? 0 : Number.parse(oNormalDOMAttribute.value);
            oPlus = (String.isNullOrEmpty(oPlusDOMAttribute.value)) ? 0 : Number.parse(oPlusDOMAttribute.value);
            var oTotal = oNormal + oPlus;
            if (oTotal > 0) {
                formatedPrice = '<span class=\'currency\'>CHF </span>' + Number.parse(oTotal.toString()).format('N', true).replace('.00', '.-');
            }
        }
        if (this._gameExternalid === 'Elot' && !String.isNullOrEmpty(oElement.innerText)) {
            var Milions = Number.parse(oElement.innerText) / 1000000;
            formatedPrice = Milions.toString() + ' ' + this._translateString$2('Millions');
        }
        oElementToShowPrice.innerHTML = formatedPrice;
    },
    
    _translateString$2: function LoRoPrizeTeaserComponent_LoRoPrizeTeaserComponent$_translateString$2(inEnglish) {
        var domElement = this._environment.getDomElement(this._domElementId + '-strings');
        if (!domElement) {
            return inEnglish;
        }
        var xml = String.format('<xml>{0}</xml>', domElement.innerHTML);
        var xmlDocument = XMLDocumentParser.parse(xml);
        var xPath = '//string[@english=\'' + inEnglish + '\']';
        var node = xmlDocument.selectSingleNode(xPath);
        return (node && node.text) ? node.text : inEnglish;
    }
}


LoRoPrizeTeaserComponent.LoRoPrizeTeaserComponent.createClass('LoRoPrizeTeaserComponent.LoRoPrizeTeaserComponent', Framework.Component.AbstractXsltBasedComponent, NavigationService.IPageFilterChangedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('IncludeAndTransformComponent');

////////////////////////////////////////////////////////////////////////////////
// IncludeAndTransformComponent.IncludeAndTransformComponent

IncludeAndTransformComponent.IncludeAndTransformComponent = function IncludeAndTransformComponent_IncludeAndTransformComponent() {
    IncludeAndTransformComponent.IncludeAndTransformComponent.constructBase(this);
}
IncludeAndTransformComponent.IncludeAndTransformComponent.prototype = {
    _repaintOnUserChanged$2: false,
    _repaintOnPageFilterChanged$2: false,
    _protocol$2: null,
    _navigationService$2: null,
    
    setNavigationService: function IncludeAndTransformComponent_IncludeAndTransformComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
    },
    
    onPageFilterChanged: function IncludeAndTransformComponent_IncludeAndTransformComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        if (this._repaintOnPageFilterChanged$2) {
            this.update();
        }
    },
    
    _userService$2: null,
    
    setUserService: function IncludeAndTransformComponent_IncludeAndTransformComponent$setUserService(userService) {
        this._log.debug('SetUserService');
        this._userService$2 = userService;
    },
    
    onUserChanged: function IncludeAndTransformComponent_IncludeAndTransformComponent$onUserChanged(eventSource) {
        this._log.debug('OnUserChanged');
        if (this._repaintOnUserChanged$2) {
            this.update();
        }
    },
    
    init: function IncludeAndTransformComponent_IncludeAndTransformComponent$init(environment, componentInstanceName, domElementId, parameters) {
        this._parameters = new Framework.CommonComponentParameters(parameters);
        this._repaintOnUserChanged$2 = Boolean.parse(parameters['repaint-onuserchanged']);
        this._repaintOnPageFilterChanged$2 = Boolean.parse(parameters['repaint-onpagefilterchanged']);
        this._protocol$2 = parameters['protocol'];
    },
    
    preTransformation: function IncludeAndTransformComponent_IncludeAndTransformComponent$preTransformation(eventArgs) {
        var page = this._navigationService$2.getPageFilter()[NavigationService.NavigationService.page];
        if (!String.isNullOrEmpty(page)) {
            eventArgs.get_contextObject().contentUrl = eventArgs.get_contextObject().contentUrl.replace('${page}', page);
        }
    },
    
    get_isComponentVisible: function IncludeAndTransformComponent_IncludeAndTransformComponent$get_isComponentVisible() {
        return this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction());
    },
    
    getXsltParameters: function IncludeAndTransformComponent_IncludeAndTransformComponent$getXsltParameters(contextObject) {
        var xsltParameters = {};
        xsltParameters['component-instance-name'] = this._componentInstanceName;
        xsltParameters['component-dom-element-id'] = this._domElementId;
        xsltParameters['language'] = this._environment.getLanguage();
        xsltParameters['area'] = this._navigationService$2.getPageArea();
        xsltParameters['action'] = this._navigationService$2.getAction();
        xsltParameters['pagefilter'] = this._navigationService$2.getPageFilter().toString();
        xsltParameters['page'] = this._navigationService$2.getPageFilter()[NavigationService.NavigationService.page];
        return xsltParameters;
    }
}


IncludeAndTransformComponent.IncludeAndTransformComponent.createClass('IncludeAndTransformComponent.IncludeAndTransformComponent', Framework.Component.AbstractXsltBasedComponent, UserService.IUserChangedListener, NavigationService.IPageFilterChangedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LoRoLastResultsComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoLastResultsComponent.LoRoLastResultsComponent

LoRoLastResultsComponent.LoRoLastResultsComponent = function LoRoLastResultsComponent_LoRoLastResultsComponent() {
    this._nextGameRequest$2 = new Framework.XMLHttpRequestDecorator();
    this._mediatype$2 = String.Empty;
    LoRoLastResultsComponent.LoRoLastResultsComponent.constructBase(this);
}
LoRoLastResultsComponent.LoRoLastResultsComponent._parseWeirdFormattedDate$2 = function LoRoLastResultsComponent_LoRoLastResultsComponent$_parseWeirdFormattedDate$2(weirdDate) {
    var year = Number.parse(weirdDate.substr(0, 4));
    var month = Number.parse(weirdDate.substr(5, 2));
    var day = Number.parse(weirdDate.substr(8, 2));
    var hour = Number.parse(weirdDate.substr(11, 2));
    var minute = Number.parse(weirdDate.substr(14, 2));
    var second = Number.parse(weirdDate.substr(17, 2));
    return new Date(year, month - 1, day, hour, minute, second);
}
LoRoLastResultsComponent.LoRoLastResultsComponent.parseBool = function LoRoLastResultsComponent_LoRoLastResultsComponent$parseBool(s) {
    return (isNullOrUndefined(s)) ? false : ((LoRoLastResultsComponent.LoRoLastResultsComponent.isBoolTrue(s) || (s) === 'true') ? true : false);
}
LoRoLastResultsComponent.LoRoLastResultsComponent.boolToXSLTString = function LoRoLastResultsComponent_LoRoLastResultsComponent$boolToXSLTString(b) {
    return (b) ? '-true-' : '';
}
LoRoLastResultsComponent.LoRoLastResultsComponent.isBoolTrue = function LoRoLastResultsComponent_LoRoLastResultsComponent$isBoolTrue(o) {
    return o === LoRoLastResultsComponent.LoRoLastResultsComponent._TRUE$2;
}
LoRoLastResultsComponent.LoRoLastResultsComponent.prototype = {
    _customheader$2: '',
    _initiallyOpened$2: true,
    _urlResultsArea$2: null,
    _urlResultsAction$2: null,
    _urlPlayArea$2: null,
    _urlPlayAction$2: null,
    _urlGame$2: null,
    _showWhenGameInactive$2: true,
    _headerSelectedCssClass$2: 'toggled',
    _ldrGroup$2: '',
    _currency$2: 'CHF',
    _initData$2: null,
    _dateFormat$2: 'dddd, dd MMMM yyyy',
    _translateTokens$2: null,
    _navigationService$2: null,
    
    setNavigationService: function LoRoLastResultsComponent_LoRoLastResultsComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
        this._navigationService$2.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
    },
    
    _accountService$2: null,
    
    setAccountService: function LoRoLastResultsComponent_LoRoLastResultsComponent$setAccountService(accountService) {
        this._log.debug('SetAccountService');
        this._accountService$2 = accountService;
    },
    
    _businessUnitService$2: null,
    
    setBusinessUnitService: function LoRoLastResultsComponent_LoRoLastResultsComponent$setBusinessUnitService(businessUnitService) {
        this._log.debug('SetBusinessUnitService');
        this._businessUnitService$2 = businessUnitService;
    },
    
    onPageFilterChanged: function LoRoLastResultsComponent_LoRoLastResultsComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        this.update();
    },
    
    init: function LoRoLastResultsComponent_LoRoLastResultsComponent$init(environment, componentInstanceName, domElementId, parameters) {
        parameters['content-url'] = (parameters['content-url']).replace('${language}', environment.getLanguage());
        if (Object.keyExists(parameters, 'custom-header')) {
            this._customheader$2 = parameters['custom-header'];
        }
        if (Object.keyExists(parameters, 'initially-opened')) {
            this._initiallyOpened$2 = Boolean.parse(parameters['initially-opened']);
        }
        if (Object.keyExists(parameters, 'url-results-area') && (parameters['url-results-area']).length > 0) {
            this._urlResultsArea$2 = parameters['url-results-area'];
        }
        if (Object.keyExists(parameters, 'url-results-action') && (parameters['url-results-action']).length > 0) {
            this._urlResultsAction$2 = parameters['url-results-action'];
        }
        if (Object.keyExists(parameters, 'url-play-area') && (parameters['url-play-area']).length > 0) {
            this._urlPlayArea$2 = parameters['url-play-area'];
        }
        if (Object.keyExists(parameters, 'url-play-action') && (parameters['url-play-action']).length > 0) {
            this._urlPlayAction$2 = parameters['url-play-action'];
        }
        if (Object.keyExists(parameters, 'game-url') && (parameters['game-url']).length > 0) {
            this._urlGame$2 = (parameters['game-url']).replace('${language}', environment.getLanguage());
        }
        if (Object.keyExists(parameters, 'media-type') && (parameters['media-type']).length > 0) {
            this._mediatype$2 = parameters['media-type'];
        }
        this._showWhenGameInactive$2 = LoRoLastResultsComponent.LoRoLastResultsComponent.parseBool(parameters['show-when-game-inactive']);
        if (Object.keyExists(parameters, 'ldrgroup') && (parameters['ldrgroup']).length > 0) {
            this._ldrGroup$2 = parameters['ldrgroup'];
        }
        if (Object.keyExists(parameters, 'date-format') && !String.isNullOrEmpty(parameters['date-format'])) {
            this._dateFormat$2 = parameters['date-format'];
        }
        LoRoLastResultsComponent.LoRoLastResultsComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        this._parameters = new Framework.CommonComponentParameters(parameters);
    },
    
    get_isComponentVisible: function LoRoLastResultsComponent_LoRoLastResultsComponent$get_isComponentVisible() {
        return this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction());
    },
    
    getXsltParameters: function LoRoLastResultsComponent_LoRoLastResultsComponent$getXsltParameters(contextObject) {
        var xsltParameters = {};
        xsltParameters['component-instance-name'] = this._componentInstanceName;
        xsltParameters['component-dom-element-id'] = this._domElementId;
        xsltParameters['custom-header'] = this._customheader$2;
        xsltParameters['initially-opened'] = this._initiallyOpened$2;
        xsltParameters['culture-name'] = CultureInfo.Current.name;
        if (!isNullOrUndefined(this._urlResultsArea$2) && !isNullOrUndefined(this._urlResultsAction$2)) {
            xsltParameters['url-results-link'] = this._urlResultsArea$2;
            xsltParameters['url-results-action'] = this._urlResultsAction$2;
        }
        if (!isNullOrUndefined(this._urlPlayArea$2) && !isNullOrUndefined(this._urlPlayAction$2)) {
            xsltParameters['url-play-area'] = this._urlPlayArea$2;
            xsltParameters['url-play-action'] = this._urlPlayAction$2;
        }
        xsltParameters['ldrgroup'] = this._ldrGroup$2;
        xsltParameters['header-selected-cssclass'] = this._headerSelectedCssClass$2;
        if (this._accountService$2 && this._accountService$2.get_accountsDetails()) {
            this._currency$2 = this._accountService$2.getCurrencySimbol();
        }
        xsltParameters['currency'] = this._currency$2;
        return xsltParameters;
    },
    
    renderComplete: function LoRoLastResultsComponent_LoRoLastResultsComponent$renderComplete(eventArgs) {
        LoRoLastResultsComponent.LoRoLastResultsComponent.callBase(this, 'renderComplete', [ eventArgs ]);
        if (this._mediatype$2 === String.Empty) {
            var self = document.getElementById(this._domElementId);
            if (!self.getAttribute('ldrgroup')) {
                self.setAttribute('ldrgroup', this._ldrGroup$2);
            }
            this._deserializeInitData$2();
            if (!isNullOrUndefined(this._initData$2)) {
                this._updateResultDate$2();
            }
            this._fetchNextDraw$2();
        }
    },
    
    _updateNextEventDate$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_updateNextEventDate$2(datefromxml) {
        var year = Number.parse(datefromxml.substr(0, 4));
        var month = Number.parse(datefromxml.substr(5, 2));
        var day = Number.parse(datefromxml.substr(8, 2));
        var nformatdate = day.toString() + '.' + month.toString() + '.' + year.toString();
        var nextDrawDateElement = this.getPrivateDomElement('nexteventdate');
        if (!isNullOrUndefined(nextDrawDateElement)) {
            nextDrawDateElement.innerHTML = nformatdate;
        }
    },
    
    _fetchNextDraw$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_fetchNextDraw$2() {
        this._nextGameRequest$2.onreadystatechange = Delegate.create(this, function() {
            if (this._nextGameRequest$2.readyState === 4) {
                if (this._nextGameRequest$2.status === 200 || this._nextGameRequest$2.status === 304) {
                    this._processNextGameXML$2(this._nextGameRequest$2.responseXML);
                }
            }
        });
        this._nextGameRequest$2.open('GET', this._urlGame$2, true);
        this._nextGameRequest$2.send(null);
    },
    
    _processNextGameXML$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_processNextGameXML$2(gameXML) {
        var gamelist = gameXML.selectNodes('/gameslist/game');
        var contentUrl = this._parameters.get_contentUrl();
        var strexternalid = String.Empty;
        if (isNullOrUndefined(contentUrl)) {
            return;
        }
        var firstindex = contentUrl.lastIndexOf('/');
        var lastindex = contentUrl.lastIndexOf('.');
        if ((firstindex > 0) && (lastindex > 0) && (firstindex < lastindex)) {
            strexternalid = contentUrl.substring(firstindex + 1, lastindex);
        }
        if (gamelist.length > 0) {
            for (var i = 0; i < gamelist.length; i++) {
                var testexternalid = gamelist[i].selectSingleNode('externalid');
                if ((testexternalid) && (testexternalid.text === strexternalid)) {
                    var hasActiveEvents = gamelist[i].selectSingleNode('hasActiveEvents');
                    var testnextEventDate = gamelist[i].selectSingleNode('nextEventDate');
                    if (hasActiveEvents) {
                        if (hasActiveEvents.text === '-1') {
                            var nextEventDate = gamelist[i].selectSingleNode('nextEventDate');
                            if (nextEventDate) {
                                var strNextDrawDate = nextEventDate.text;
                                this._updateNextEventDate$2(strNextDrawDate);
                            }
                        }
                    }
                }
            }
        }
    },
    
    _updateResultDate$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_updateResultDate$2() {
        var formatted = this._componentFormatDateFormat$2(LoRoLastResultsComponent.LoRoLastResultsComponent._parseWeirdFormattedDate$2(this._initData$2['drawDate'].toString()));
        var nextDrawDateElement = this.getPrivateDomElement('drawdate');
        if (!isNullOrUndefined(nextDrawDateElement)) {
            nextDrawDateElement.innerHTML = formatted;
        }
    },
    
    _deserializeInitData$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_deserializeInitData$2() {
        var initDataElement = this.getPrivateDomElement('initdata');
        if (isNullOrUndefined(initDataElement)) {
            return;
        }
        var json = initDataElement.innerHTML;
        if (String.isNullOrEmpty(json)) {
            return;
        }
        var initData = null;
        try {
            initData = Framework.JsonUtil.deserialize(initDataElement.innerHTML);
        }
        catch (e) {
            throw new Error('Error deserializing JSON data: ' + e.message);
        }
        this._initData$2 = initData;
    },
    
    toggleContentEventHandler: function LoRoLastResultsComponent_LoRoLastResultsComponent$toggleContentEventHandler(sender, eventArgs) {
        var headerSuffix = eventArgs.parameters.getAsString('headersuffix');
        var contentSuffix = eventArgs.parameters.getAsString('suffix');
        var content = this.getPrivateDomElement(contentSuffix);
        if (Framework.StringHelper.equals(content.style.display, 'none', true)) {
            content.style.display = 'block';
            this._environment.safelySetCssClass(this._domElementId + '-' + headerSuffix, this._headerSelectedCssClass$2);
        }
        else {
            content.style.display = 'none';
            this._environment.safelyRemoveCssClass(this._domElementId + '-' + headerSuffix, this._headerSelectedCssClass$2);
        }
        var placeHolder = document.getElementById(this._domElementId).parentNode;
        for (var e = 0; e < placeHolder.childNodes.length; e++) {
            var elm = placeHolder.childNodes[e];
            if (elm.id.indexOf('LoRoLastResultsComponent') > -1 && !Framework.StringHelper.equals(elm.id, this._domElementId, true) && elm.getAttribute('ldrgroup') && Framework.StringHelper.equals(elm.getAttribute('ldrgroup').toString(), this._ldrGroup$2, true)) {
                var eldrHeader = document.getElementById(elm.id + '-' + headerSuffix);
                var eldrContent = document.getElementById(elm.id + '-' + contentSuffix);
                if (eldrHeader) {
                    this._environment.safelyRemoveCssClass(eldrHeader.id, this._headerSelectedCssClass$2);
                }
                if (eldrContent) {
                    eldrContent.style.display = 'none';
                }
            }
        }
    },
    
    goToResultsEventHandler: function LoRoLastResultsComponent_LoRoLastResultsComponent$goToResultsEventHandler(sender, eventArgs) {
        if (isNullOrUndefined(this._urlResultsArea$2)) {
            return;
        }
        this._navigationService$2.goTo(this._urlResultsArea$2, { action: this._urlResultsAction$2 });
        window.event.returnValue = false;
    },
    
    goToPlayEventHandler: function LoRoLastResultsComponent_LoRoLastResultsComponent$goToPlayEventHandler(sender, eventArgs) {
        if (isNullOrUndefined(this._urlPlayArea$2) || isNullOrUndefined(this._urlPlayAction$2)) {
            return;
        }
        this._navigationService$2.goTo(this._urlPlayArea$2, { action: this._urlPlayAction$2 });
        window.event.returnValue = false;
    },
    
    printFormEventHandler: function LoRoLastResultsComponent_LoRoLastResultsComponent$printFormEventHandler(sender, eventArgs) {
        if (window.event) {
            window.event.returnValue = false;
        }
        window.print();
    },
    
    goToPrintEventHandler: function LoRoLastResultsComponent_LoRoLastResultsComponent$goToPrintEventHandler(sender, eventArgs) {
        var state = {};
        state['_windowNameCurrentDomain'] = window.location.hostname;
        state['_window.top.name'] = eventArgs.parameters.getAsString('targetname');
        var windowName = Framework.JsonUtil.serialize(state);
        var url = eventArgs.parameters.getAsString('url').replace('${reg}', this._environment.getRegion()).replace('${lang}', this._environment.getLanguage());
        url = url.replace('${area}', this._urlResultsArea$2).replace('${action}', 'print' + this._urlResultsAction$2 + 'main');
        var features = eventArgs.parameters.getAsString('features');
        if (ScriptFX.Application.current.get_host().get_name() === ScriptFX.HostName.IE) {
            windowName = null;
        }
        var currentPort = ((window.location.port === 80) || String.isNullOrEmpty(window.location.port.toString())) ? '' : ':' + window.location.port.toString();
        var URL = this._environment.getProtocol() + '://' + window.location.hostname + currentPort + url;
        var wi = window.open(URL, windowName, features);
        window.event.returnValue = false;
    },
    
    goToJokerPrintEventHandler: function LoRoLastResultsComponent_LoRoLastResultsComponent$goToJokerPrintEventHandler(sender, eventArgs) {
        var state = {};
        state['_windowNameCurrentDomain'] = window.location.hostname;
        state['_window.top.name'] = eventArgs.parameters.getAsString('targetname');
        var windowName = Framework.JsonUtil.serialize(state);
        var url = eventArgs.parameters.getAsString('url').replace('${reg}', this._environment.getRegion()).replace('${lang}', this._environment.getLanguage());
        url = url.replace('${area}', this._urlResultsArea$2).replace('${action}', 'print' + this._urlResultsAction$2 + 'joker');
        var features = eventArgs.parameters.getAsString('features');
        if (ScriptFX.Application.current.get_host().get_name() === ScriptFX.HostName.IE) {
            windowName = null;
        }
        var currentPort = ((window.location.port === 80) || String.isNullOrEmpty(window.location.port.toString())) ? '' : ':' + window.location.port.toString();
        var URL = this._environment.getProtocol() + '://' + window.location.hostname + currentPort + url;
        var wi = window.open(URL, windowName, features);
        window.event.returnValue = false;
        window.event.returnValue = false;
    },
    
    _componentFormatDateFormat$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_componentFormatDateFormat$2(dateTime) {
        var day = this._getDayName$2(dateTime.getDay());
        var month = this._getMonthName$2(dateTime.getMonth());
        if (Framework.StringHelper.equals(month, String.Empty, true)) {
            month = String.format('{0}', (dateTime.getMonth() + 1));
        }
        return String.format('{0} {1} {2} {3}', day, dateTime.getDate(), month, dateTime.getFullYear());
    },
    
    _getDayName$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_getDayName$2(day) {
        switch (day) {
            case 0:
                return this._translateString$2('Sunday');
            case 1:
                return this._translateString$2('Monday');
            case 2:
                return this._translateString$2('Tuesday');
            case 3:
                return this._translateString$2('Wednesday');
            case 4:
                return this._translateString$2('Thursday');
            case 5:
                return this._translateString$2('Friday');
            case 6:
                return this._translateString$2('Saturday');
            default:
                return '';
        }
    },
    
    _getMonthName$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_getMonthName$2(month) {
        switch (month) {
            case 0:
                return this._translateString$2('January');
            case 1:
                return this._translateString$2('February');
            case 2:
                return this._translateString$2('March');
            case 3:
                return this._translateString$2('April');
            case 4:
                return this._translateString$2('May');
            case 5:
                return this._translateString$2('June');
            case 6:
                return this._translateString$2('July');
            case 7:
                return this._translateString$2('August');
            case 8:
                return this._translateString$2('September');
            case 9:
                return this._translateString$2('October');
            case 10:
                return this._translateString$2('November');
            case 11:
                return this._translateString$2('December');
            default:
                return '';
        }
    },
    
    _translateString$2: function LoRoLastResultsComponent_LoRoLastResultsComponent$_translateString$2(inEnglish) {
        var domElement = this._environment.getDomElement(this._domElementId + '-strings');
        if (!domElement) {
            return inEnglish;
        }
        var xml = String.format('<xml>{0}</xml>', domElement.innerHTML);
        var xmlDocument = XMLDocumentParser.parse(xml);
        var xPath = '//string[@english=\'' + inEnglish + '\']';
        var node = xmlDocument.selectSingleNode(xPath);
        return (node) ? node.text : inEnglish;
    }
}


LoRoLastResultsComponent.LoRoLastResultsComponent.createClass('LoRoLastResultsComponent.LoRoLastResultsComponent', Framework.Component.AbstractXsltBasedComponent, NavigationService.IPageFilterChangedListener);
LoRoLastResultsComponent.LoRoLastResultsComponent._TRUE$2 = true;

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('SimpleHTMLComponent');

////////////////////////////////////////////////////////////////////////////////
// SimpleHTMLComponent.SimpleHTMLComponent

SimpleHTMLComponent.SimpleHTMLComponent = function SimpleHTMLComponent_SimpleHTMLComponent() {
    SimpleHTMLComponent.SimpleHTMLComponent.constructBase(this);
}
SimpleHTMLComponent.SimpleHTMLComponent.prototype = {
    _parameters$1: null,
    _repaintOnUserChanged$1: false,
    _repaintOnPageFilterChanged$1: false,
    _content$1: null,
    _navigationService$1: null,
    
    setNavigationService: function SimpleHTMLComponent_SimpleHTMLComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$1 = navigationService;
        this._navigationService$1.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
        this._navigationService$1.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.page);
    },
    
    onPageFilterChanged: function SimpleHTMLComponent_SimpleHTMLComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        if (this._repaintOnPageFilterChanged$1) {
            this.repaint();
        }
    },
    
    _userService$1: null,
    
    setUserService: function SimpleHTMLComponent_SimpleHTMLComponent$setUserService(userService) {
        this._log.debug('SetUserService');
        this._userService$1 = userService;
    },
    
    onUserChanged: function SimpleHTMLComponent_SimpleHTMLComponent$onUserChanged(eventSource) {
        this._log.debug('OnUserChanged');
        if (this._repaintOnUserChanged$1) {
            this.repaint();
        }
    },
    
    init: function SimpleHTMLComponent_SimpleHTMLComponent$init(environment, componentInstanceName, domElementId, parameters) {
        SimpleHTMLComponent.SimpleHTMLComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        this._parameters$1 = new Framework.CommonComponentParameters(parameters);
        this._repaintOnUserChanged$1 = Boolean.parse(parameters['repaint-onuserchanged']);
        this._repaintOnPageFilterChanged$1 = Boolean.parse(parameters['repaint-onpagefilterchanged']);
        this._content$1 = parameters['content'];
    },
    
    start: function SimpleHTMLComponent_SimpleHTMLComponent$start() {
        this.repaint();
    },
    
    repaint: function SimpleHTMLComponent_SimpleHTMLComponent$repaint() {
        this._log.debug('Repaint');
        var _componentDOMElement = this._environment.getDomElement(this._domElementId);
        _componentDOMElement.className = _componentDOMElement.className + ' escapedHtml';
        if (this.isVisible(this._parameters$1.get_visibleOn(), this._parameters$1.get_notVisibleOn(), this._navigationService$1.getAction())) {
            this.show();
            this._environment.updateDomElementDirect(_componentDOMElement, this._content$1);
        }
        else {
            this.hide();
        }
    }
}


SimpleHTMLComponent.SimpleHTMLComponent.createClass('SimpleHTMLComponent.SimpleHTMLComponent', Framework.Component.AbstractComponent, UserService.IUserChangedListener, NavigationService.IPageFilterChangedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LoRoBannerIncludeComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoBannerIncludeComponent.LoRoBannerIncludeComponent

LoRoBannerIncludeComponent.LoRoBannerIncludeComponent = function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent() {
    LoRoBannerIncludeComponent.LoRoBannerIncludeComponent.constructBase(this);
}
LoRoBannerIncludeComponent.LoRoBannerIncludeComponent.prototype = {
    _useFilterAddOn: false,
    _navigationService$2: null,
    
    setNavigationService: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
        this._navigationService$2.registerTopicalizedPageFilterChangedListener(this, NavigationService.NavigationService.action);
    },
    
    onPageFilterChanged: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        this.update();
    },
    
    _userService$2: null,
    
    setUserService: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$setUserService(userService) {
        this._log.debug('SetUserService');
        this._userService$2 = userService;
    },
    
    onUserChanged: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$onUserChanged(eventSource) {
        this._log.debug('OnUserChanged');
        this.update();
    },
    
    init: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$init(environment, componentInstanceName, domElementId, parameters) {
        LoRoBannerIncludeComponent.LoRoBannerIncludeComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        parameters['content-url'] = String.format(parameters['content-url'].toString(), this._environment.getLanguage(), parameters['position'].toString());
        this._parameters = new Framework.CommonComponentParameters(parameters);
        this._useFilterAddOn = Boolean.parse(parameters['use-filter-addon']);
    },
    
    get_isComponentVisible: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$get_isComponentVisible() {
        return this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction());
    },
    
    getXsltParameters: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$getXsltParameters(contextObject) {
        var xsltParameters = LoRoBannerIncludeComponent.LoRoBannerIncludeComponent.callBase(this, 'getXsltParameters', [ contextObject ]);
        xsltParameters = {};
        xsltParameters['component-instance-name'] = this._componentInstanceName;
        xsltParameters['component-dom-element-id'] = this._domElementId;
        var AreaFilter = this._environment.getPageArea().toLowerCase();
        AreaFilter = (this._useFilterAddOn) ? AreaFilter + '|' + this._navigationService$2.getAction() : AreaFilter;
        xsltParameters['area'] = AreaFilter;
        xsltParameters['islogged'] = this._userService$2.isLoggedIn().toString();
        return xsltParameters;
    },
    
    mouseOverEventHandler: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$mouseOverEventHandler(sender, eventArgs) {
        var oElement = eventArgs.domElement;
        var imageSrc = eventArgs.parameters.getAsString('src');
        var oDOMElementCollection = oElement.getElementsByTagName('img');
        var oImageElement = oDOMElementCollection[0];
        oImageElement.src = imageSrc;
    },
    
    mouseOutEventHandler: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$mouseOutEventHandler(sender, eventArgs) {
        var oElement = eventArgs.domElement;
        var imageSrc = eventArgs.parameters.getAsString('src');
        var oDOMElementCollection = oElement.getElementsByTagName('img');
        var oImageElement = oDOMElementCollection[0];
        oImageElement.src = imageSrc;
    },
    
    mouseOverImageEventHandler: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$mouseOverImageEventHandler(sender, eventArgs) {
        var oElement = eventArgs.domElement;
        var imageSrc = eventArgs.parameters.getAsString('src');
        oElement.src = imageSrc;
    },
    
    mouseOutImageEventHandler: function LoRoBannerIncludeComponent_LoRoBannerIncludeComponent$mouseOutImageEventHandler(sender, eventArgs) {
        var oElement = eventArgs.domElement;
        var imageSrc = eventArgs.parameters.getAsString('src');
        oElement.src = imageSrc;
    }
}


LoRoBannerIncludeComponent.LoRoBannerIncludeComponent.createClass('LoRoBannerIncludeComponent.LoRoBannerIncludeComponent', Framework.Component.AbstractXsltBasedComponent, NavigationService.IPageFilterChangedListener, UserService.IUserChangedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('LoRoSiteIntelligenceComponent');

////////////////////////////////////////////////////////////////////////////////
// LoRoSiteIntelligenceComponent.LoRoSiteIntelligenceComponent

LoRoSiteIntelligenceComponent.LoRoSiteIntelligenceComponent = function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent() {
    LoRoSiteIntelligenceComponent.LoRoSiteIntelligenceComponent.constructBase(this);
}
LoRoSiteIntelligenceComponent.LoRoSiteIntelligenceComponent.prototype = {
    _parameters$1: null,
    _loRoSiteIntelligenceService$1: null,
    
    setLoRoSiteIntelligenceService: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$setLoRoSiteIntelligenceService(loRoSiteIntelligenceService) {
        this._log.debug('SiteIntelligenceService');
        this._loRoSiteIntelligenceService$1 = loRoSiteIntelligenceService;
    },
    
    _accountService$1: null,
    
    setAccountService: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$setAccountService(accountService) {
        this._log.debug('SetAccountService');
        this._accountService$1 = accountService;
    },
    
    onAccountPreferencesChanged: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onAccountPreferencesChanged(eventSource) {
        var accountPreferences = eventSource.get_preferences();
        var creditAccountDetails = eventSource.get_creditAccountDetails();
        var freeAccountDetails = eventSource.get_freeAccountDetails();
        this._log.debug('OnAccountPreferencesChanged');
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnAccountPreferencesChanged', 'siFreeAccountNumber=' + creditAccountDetails.AccountNumber + '&siCreditAccountNumber=' + freeAccountDetails.AccountNumber);
    },
    
    onBalanceChanged: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onBalanceChanged(eventSource) {
        var accountDetails = eventSource.get_accountsDetails();
        var creditAccountDetails = eventSource.get_creditAccountDetails();
        var freeAccountDetails = eventSource.get_freeAccountDetails();
        if (isNullOrUndefined(creditAccountDetails) || isNullOrUndefined(freeAccountDetails)) {
            return;
        }
        this._log.debug('OnBalanceChanged');
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnBalanceChanged', 'FreeAccountNumber=' + creditAccountDetails.AccountNumber + '&FreeWithdrawalBalance=' + freeAccountDetails.WithdrawalBalance.toString() + '&FreeCurrentBalance=' + freeAccountDetails.CurrentBalance.toString() + '&CreditAccountNumber=' + freeAccountDetails.AccountNumber + '&CreditWithdrawalBalance=' + creditAccountDetails.WithdrawalBalance.toString() + '&CreditCurrentBalance=' + creditAccountDetails.CurrentBalance.toString());
    },
    
    onDepositExecuted: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onDepositExecuted(eventSource) {
        var accountDetails = eventSource.get_accountsDetails();
        var creditAccountDetails = eventSource.get_creditAccountDetails();
        var freeAccountDetails = eventSource.get_freeAccountDetails();
        if (isNullOrUndefined(creditAccountDetails) || isNullOrUndefined(freeAccountDetails)) {
            return;
        }
        this._log.debug('OnDepositExecuted');
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnBalanceChanged', 'FreeAccountNumber=' + creditAccountDetails.AccountNumber + '&FreeWithdrawalBalance=' + freeAccountDetails.WithdrawalBalance.toString() + '&FreeCurrentBalance=' + freeAccountDetails.CurrentBalance.toString() + '&CreditAccountNumber=' + freeAccountDetails.AccountNumber + '&CreditWithdrawalBalance=' + creditAccountDetails.WithdrawalBalance.toString() + '&CreditCurrentBalance=' + creditAccountDetails.CurrentBalance.toString());
    },
    
    _navigationService$1: null,
    
    setNavigationService: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$1 = navigationService;
    },
    
    onPageFilterChanged: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.createSiteIntelligenceObject(false);
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.trackPage('/LoRoSiteIntelligenceComponent/OnPageFilterChanged/' + eventSource.getPageArea() + '/' + eventSource.getAction());
        this.repaint();
    },
    
    _userService$1: null,
    
    setUserService: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$setUserService(userService) {
        this._log.debug('SetUserService');
        this._userService$1 = userService;
    },
    
    onPreRegisterCustomer: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onPreRegisterCustomer() {
        this._log.debug('OnPreRegisterCustomer');
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnPreRegisterCustomer');
    },
    
    onUserChanged: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onUserChanged(eventSource) {
        this._log.debug('OnUserChanged');
        if (eventSource.isLoggedIn()) {
            LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnUserChanged/user_is_logged_in', 'Username=' + eventSource.get_username());
            LoRoSiteIntelligenceService.SiteIntelligenceUtil.recordLogin(eventSource.get_username());
        }
        else {
            LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnUserChanged/user_is_logged_out', 'Username=' + eventSource.get_username());
        }
    },
    
    onUserRegistered: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onUserRegistered() {
        this._log.debug('OnUserRegistered');
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnUserRegistered');
    },
    
    onUserPreferencesChanged: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onUserPreferencesChanged(eventSource) {
        this._log.debug('OnUserPreferencesChanged');
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnUserPreferencesChanged', 'Username=' + eventSource.get_username());
    },
    
    _drawGamesActivityService$1: null,
    
    setDrawGamesActivityService: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$setDrawGamesActivityService(drawGamesActivityService) {
        this._log.debug('SetDrawGamesActivityService');
        this._drawGamesActivityService$1 = drawGamesActivityService;
    },
    
    onUserInteractionStarted: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onUserInteractionStarted(eventSource) {
        this._log.debug('OnUserInteractionStarted');
        var gameID = eventSource._gameID;
        var gameSegment = eventSource._gameSegment;
        if (isNullOrUndefined(gameID) || isNullOrUndefined(gameSegment)) {
            return;
        }
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnUserInteractionStarted', 'gameID=' + gameID + '&gameSegment=' + gameSegment);
    },
    
    onWagerPlacementAttempted: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onWagerPlacementAttempted(eventSource) {
        this._log.debug('OnWagerPlacementAttempted');
        var gameID = eventSource._gameID;
        var gameSegment = eventSource._gameSegment;
        var wagerPrice = eventSource._wagerPrice;
        if (isNullOrUndefined(gameID) || isNullOrUndefined(gameSegment) || isNullOrUndefined(wagerPrice)) {
            return;
        }
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnWagerPlacementAttempted', 'gameID=' + gameID + '&gameSegment=' + gameSegment + '&wagerPrice=' + wagerPrice);
    },
    
    onWagerPlacedSuccessfully: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onWagerPlacedSuccessfully(eventSource) {
        this._log.debug('OnWagerPlacedSuccessfully');
        var gameID = eventSource._gameID;
        var gameSegment = eventSource._gameSegment;
        var wagerPrice = eventSource._wagerPrice;
        if (isNullOrUndefined(gameID) || isNullOrUndefined(gameSegment) || isNullOrUndefined(wagerPrice)) {
            return;
        }
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnWagerPlacedSuccessfully', 'gameID=' + gameID + '&gameSegment=' + gameSegment + '&wagerPrice=' + wagerPrice);
    },
    
    onWagerPlacementFailed: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onWagerPlacementFailed(eventSource) {
        this._log.debug('OnWagerPlacementFailed');
        var gameID = eventSource._gameID;
        var gameSegment = eventSource._gameSegment;
        var wagerPrice = eventSource._wagerPrice;
        var errorCode = eventSource._errorCode;
        if (isNullOrUndefined(gameID) || isNullOrUndefined(gameSegment) || isNullOrUndefined(wagerPrice) || isNullOrUndefined(errorCode)) {
            return;
        }
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnWagerPlacementFailed', 'gameID=' + gameID + '&gameSegment=' + gameSegment + '&wagerPrice=' + wagerPrice + '&errorCode=' + errorCode);
    },
    
    onSubscriptionCreationAttempted: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onSubscriptionCreationAttempted(eventSource) {
        this._log.debug('OnSubscriptionCreationAttempted');
        var gameID = eventSource._gameID;
        var subscriptionDesc = eventSource._subscriptionDesc;
        if (isNullOrUndefined(gameID) || isNullOrUndefined(subscriptionDesc)) {
            return;
        }
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnSubscriptionCreationAttempted', 'gameID=' + gameID + '&subscriptionDesc=' + subscriptionDesc);
    },
    
    onSubscriptionCreatedSuccessfully: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onSubscriptionCreatedSuccessfully(eventSource) {
        this._log.debug('OnSubscriptionCreatedSuccessfully');
        var gameID = eventSource._gameID;
        var subscriptionDesc = eventSource._subscriptionDesc;
        var totalStake = eventSource._totalStake;
        if (isNullOrUndefined(gameID) || isNullOrUndefined(subscriptionDesc) || isNullOrUndefined(totalStake)) {
            return;
        }
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnSubscriptionCreatedSuccessfully', 'gameID=' + gameID + '&subscriptionDesc=' + subscriptionDesc + '&totalStake=' + totalStake);
    },
    
    onSubscriptionrCreationFailed: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$onSubscriptionrCreationFailed(eventSource) {
        this._log.debug('OnSubscriptionrCreationFailed');
        var gameID = eventSource._gameID;
        var subscriptionDesc = eventSource._subscriptionDesc;
        var totalStake = eventSource._totalStake;
        var errorCode = eventSource._errorCode;
        if (isNullOrUndefined(gameID) || isNullOrUndefined(subscriptionDesc) || isNullOrUndefined(totalStake) || isNullOrUndefined(errorCode)) {
            return;
        }
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.sendAdditionalTracer('/LoRoSiteIntelligenceComponent/OnSubscriptionrCreationFailed', 'gameID=' + gameID + '&subscriptionDesc=' + subscriptionDesc + '&totalStake=' + totalStake + '&errorCode=' + errorCode);
    },
    
    init: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$init(environment, componentInstanceName, domElementId, parameters) {
        LoRoSiteIntelligenceComponent.LoRoSiteIntelligenceComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        this._parameters$1 = new Framework.CommonComponentParameters(parameters);
        var _protocol = environment.getProtocol();
        var _pageArea = environment.getPageArea();
        var _language = environment.getLanguage();
        var _initialPageFilter = environment.getInitialPageFilter();
        var _action = 'NoAction';
        if (Object.keyExists(_initialPageFilter, 'action')) {
            _action = _initialPageFilter['action'].toString();
        }
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.createSiteIntelligenceObject(false);
        LoRoSiteIntelligenceService.SiteIntelligenceUtil.trackPage('/LoRoSiteIntelligenceComponent/Init/Areas/' + _pageArea + '/Template_' + environment.getRegion() + '_' + _language + '/' + _action);
    },
    
    start: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$start() {
        this.repaint();
    },
    
    repaint: function LoRoSiteIntelligenceComponent_LoRoSiteIntelligenceComponent$repaint() {
        this._log.debug('Repaint');
    }
}


LoRoSiteIntelligenceComponent.LoRoSiteIntelligenceComponent.createClass('LoRoSiteIntelligenceComponent.LoRoSiteIntelligenceComponent', Framework.Component.AbstractComponent, AccountService.IAccountPreferencesChangedListener, NavigationService.IPageFilterChangedListener, AccountService.IDepositExecutedListener, UserService.IUserChangedListener, AccountService.IBalanceChangedListener, UserService.IUserIsRegisteredListener, DrawGamesActivityService.IUserInteractionStartedListener, DrawGamesActivityService.IWagerPlacedSuccessfullyListener, DrawGamesActivityService.IWagerPlacementAttemptedListener, DrawGamesActivityService.IWagerPlacementFailedListener, DrawGamesActivityService.ISubscriptionCreationAttemptedListener, DrawGamesActivityService.ISubscriptionCreatedSuccessfullyListener, DrawGamesActivityService.ISubscriptionrCreationFailedListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
Type.createNamespace('DGENotifierComponent');

////////////////////////////////////////////////////////////////////////////////
// DGENotifierComponent.SimpleNotificationActivator

DGENotifierComponent.SimpleNotificationActivator = function DGENotifierComponent_SimpleNotificationActivator(node, owner) {
    this._owner = owner;
    this._eventName = (node.attributes.getNamedItem('event')).value;
    this._notificationType = null;
    var nodeList = node.childNodes;
    for (var i = 0; i < nodeList.length; i++) {
        var notificationChildNode = nodeList[i];
        if (notificationChildNode.nodeName === 'message') {
            this._message = notificationChildNode.text;
            var attribs = notificationChildNode.attributes;
            for (var j = 0; j < attribs.length; j++) {
                var attr = attribs.item(j);
                if (attr.name === 'type') {
                    this._notificationType = attr.value;
                }
            }
        }
        else if (notificationChildNode.nodeName === 'forward-to-area') {
            this._forwardToArea = notificationChildNode.text;
        }
        else if (notificationChildNode.nodeName === 'forward-to-action') {
            this._forwardToAction = notificationChildNode.text;
        }
        else if (notificationChildNode.nodeName === 'skip-forward-on-areas') {
            this._skipForwardOnAreas = notificationChildNode.text.split(',');
        }
    }
}
DGENotifierComponent.SimpleNotificationActivator.prototype = {
    _eventName: null,
    _message: null,
    _forwardToArea: null,
    _forwardToAction: null,
    _owner: null,
    _notification: null,
    _notificationType: null,
    _skipForwardOnAreas: null,
    
    executeForNotification: function DGENotifierComponent_SimpleNotificationActivator$executeForNotification(notification) {
        this._notification = notification;
        if (notification.getNotificationEventName() === this._eventName) {
            this._execute();
        }
    },
    
    _populateParameters: function DGENotifierComponent_SimpleNotificationActivator$_populateParameters(message) {
        if (!this._notification.get_parameters() || !Object.getKeyCount(this._notification.get_parameters())) {
            return message;
        }
        var $dict1 = this._notification.get_parameters();
        for (var $key2 in $dict1) {
            var parameter = { key: $key2, value: $dict1[$key2] };
            message = message.replace('$' + parameter.key, parameter.value);
        }
        return message;
    },
    
    _execute: function DGENotifierComponent_SimpleNotificationActivator$_execute() {
        if (!isNullOrUndefined(this._message)) {
            if (this._notificationType === 'xslt') {
                this._owner.activateActivator(this, this._populateParameters(this._message));
            }
            else {
                alert(this._populateParameters(this._message));
                this.forwardAndConfirm();
            }
        }
        else {
            this.forwardAndConfirm();
        }
    },
    
    _shouldSkip: function DGENotifierComponent_SimpleNotificationActivator$_shouldSkip() {
        if (!this._skipForwardOnAreas) {
            return false;
        }
        var $enum1 = this._skipForwardOnAreas.getEnumerator();
        while ($enum1.moveNext()) {
            var area = $enum1.get_current();
            if (!this._owner.getCurrentArea()) {
                return false;
            }
            if (this._owner.getCurrentArea().toUpperCase() === area.toUpperCase()) {
                return true;
            }
        }
        return false;
    },
    
    forwardAndConfirm: function DGENotifierComponent_SimpleNotificationActivator$forwardAndConfirm() {
        this._owner.confirmNotification();
        if (!isNullOrUndefined(this._forwardToArea) && !isNullOrUndefined(this._forwardToAction) && !this._shouldSkip()) {
            this._owner.getNavigationService().forwardTo(this._forwardToArea, { action: this._forwardToAction });
        }
        if (this._notification.get_parameters() && 'true' === this._notification.get_parameters()['confirm']) {
            if (this._notification.get_confirmMethod()) {
                this._notification.get_confirmMethod().invoke(this._notification);
            }
            else {
                this._owner.callConfirmMethod(this._notification);
            }
        }
    }
}


////////////////////////////////////////////////////////////////////////////////
// DGENotifierComponent.DGENotifierComponent

DGENotifierComponent.DGENotifierComponent = function DGENotifierComponent_DGENotifierComponent() {
    this._xhrDecorator$2 = new Framework.XMLHttpRequestDecorator();
    this._activators$2 = [];
    DGENotifierComponent.DGENotifierComponent.constructBase(this);
}
DGENotifierComponent.DGENotifierComponent.prototype = {
    _activeActivator$2: null,
    _notConfirmedDGENotification$2: null,
    
    activateActivator: function DGENotifierComponent_DGENotifierComponent$activateActivator(activator, message) {
        this._activeActivator$2 = activator;
        var messageDom = this.getPrivateDomElement('message');
        if (messageDom) {
            messageDom.innerText = message;
        }
        var notifierDom = this.getPrivateDomElement('notifier');
        if (notifierDom) {
            var indexOfHidden = notifierDom.className.indexOf('hidden');
            if (indexOfHidden !== -1) {
                notifierDom.className = notifierDom.className.substr(0, indexOfHidden);
            }
        }
    },
    
    _navigationService$2: null,
    
    confirmNotification: function DGENotifierComponent_DGENotifierComponent$confirmNotification() {
        this._environment.storeState('DGENotifier', null);
        this._notConfirmedDGENotification$2 = null;
    },
    
    setNavigationService: function DGENotifierComponent_DGENotifierComponent$setNavigationService(navigationService) {
        this._log.debug('SetNavigationService');
        this._navigationService$2 = navigationService;
    },
    
    getNavigationService: function DGENotifierComponent_DGENotifierComponent$getNavigationService() {
        return this._navigationService$2;
    },
    
    onPageFilterChanged: function DGENotifierComponent_DGENotifierComponent$onPageFilterChanged(eventSource) {
        this._log.debug('OnPageFilterChanged');
        this.update();
    },
    
    start: function DGENotifierComponent_DGENotifierComponent$start() {
        this.update();
    },
    
    onPageWillChange: function DGENotifierComponent_DGENotifierComponent$onPageWillChange() {
        if (this._notConfirmedDGENotification$2) {
            this._environment.storeState('DGENotifier', { NotConfirmedNotification: this._notConfirmedDGENotification$2 });
        }
    },
    
    _userService$2: null,
    
    setUserService: function DGENotifierComponent_DGENotifierComponent$setUserService(userService) {
        this._log.debug('SetUserService');
        this._userService$2 = userService;
    },
    
    onUserChanged: function DGENotifierComponent_DGENotifierComponent$onUserChanged(eventSource) {
        this._log.debug('OnUserChanged');
        this.update();
    },
    
    _dgeService$2: null,
    
    setDGEService: function DGENotifierComponent_DGENotifierComponent$setDGEService(dgeService) {
        this._log.debug('SetDGEService');
        this._dgeService$2 = dgeService;
    },
    
    onDGENotification: function DGENotifierComponent_DGENotifierComponent$onDGENotification(notification) {
        if (!notification) {
            return;
        }
        this._dgeService$2.notificationReceivedConfirmation(notification);
        this._notConfirmedDGENotification$2 = notification;
        var $enum1 = this._activators$2.getEnumerator();
        while ($enum1.moveNext()) {
            var activator = $enum1.get_current();
            activator.executeForNotification(notification);
        }
    },
    
    init: function DGENotifierComponent_DGENotifierComponent$init(environment, componentInstanceName, domElementId, parameters) {
        DGENotifierComponent.DGENotifierComponent.callBase(this, 'init', [ environment, componentInstanceName, domElementId, parameters ]);
        this._parameters = new Framework.CommonComponentParameters(parameters);
        this._loadNotifierParameters$2();
        environment.registerPageWillChangeListener(this);
    },
    
    renderComplete: function DGENotifierComponent_DGENotifierComponent$renderComplete(eventArgs) {
        DGENotifierComponent.DGENotifierComponent.callBase(this, 'renderComplete', [ eventArgs ]);
        var state = this._environment.getStoredState('DGENotifier');
        if (state && Object.keyExists(state, 'NotConfirmedNotification')) {
            var storedDGENotification = state['NotConfirmedNotification'];
            if (storedDGENotification && Object.getKeyCount(storedDGENotification) > 0) {
                var notif = new DGEService.DGENotification(storedDGENotification['_notificationEvent']);
                notif.set_parameters(storedDGENotification['_parameters']);
                notif.set_confirmMethodName(storedDGENotification['_confirmMethodName']);
                if (this._userService$2.isLoggedIn()) {
                    this.onDGENotification(notif);
                }
            }
        }
    },
    
    confirmMessageEventHandler: function DGENotifierComponent_DGENotifierComponent$confirmMessageEventHandler(sender, eventArgs) {
        var messageDom = this.getPrivateDomElement('message');
        messageDom.innerText = '';
        var notifierDom = this.getPrivateDomElement('notifier');
        if (notifierDom) {
            var indexOfHidden = notifierDom.className.indexOf('hidden');
            if (indexOfHidden === -1) {
                notifierDom.className = notifierDom.className + 'hidden';
            }
        }
        if (this._activeActivator$2) {
            this._activeActivator$2.forwardAndConfirm();
            this._activeActivator$2 = null;
        }
    },
    
    get_isComponentVisible: function DGENotifierComponent_DGENotifierComponent$get_isComponentVisible() {
        return this.isVisible(this._parameters.get_visibleOn(), this._parameters.get_notVisibleOn(), this._navigationService$2.getAction());
    },
    
    getXsltParameters: function DGENotifierComponent_DGENotifierComponent$getXsltParameters(contextObject) {
        var xsltParameters = {};
        xsltParameters['component-instance-name'] = this._componentInstanceName;
        xsltParameters['component-dom-element-id'] = this._domElementId;
        return xsltParameters;
    },
    
    _checkState$2: function DGENotifierComponent_DGENotifierComponent$_checkState$2() {
        if (this._xhrDecorator$2.readyState === 4) {
            if (this._xhrDecorator$2.status === 200 || this._xhrDecorator$2.status === 304) {
                var _document = this._xhrDecorator$2.responseXML;
                this._createListeners$2(_document);
            }
        }
    },
    
    _loadNotifierParameters$2: function DGENotifierComponent_DGENotifierComponent$_loadNotifierParameters$2() {
        this._xhrDecorator$2.onreadystatechange = Delegate.create(this, this._checkState$2);
        var xmlPath = this._parameters.get_contentUrl();
        this._xhrDecorator$2.open('GET', xmlPath, true);
        this._xhrDecorator$2.send(null);
    },
    
    _createListeners$2: function DGENotifierComponent_DGENotifierComponent$_createListeners$2(doc) {
        var nodeList = doc.getElementsByTagName('notification');
        for (var i = 0; i < nodeList.length; i++) {
            var node = nodeList[i];
            this._activators$2.add(new DGENotifierComponent.SimpleNotificationActivator(node, this));
        }
    },
    
    getCurrentArea: function DGENotifierComponent_DGENotifierComponent$getCurrentArea() {
        if (this._navigationService$2) {
            return this._navigationService$2.getPageArea();
        }
        return null;
    },
    
    callConfirmMethod: function DGENotifierComponent_DGENotifierComponent$callConfirmMethod(notification) {
        if (notification.get_confirmMethodName()) {
            if (notification.get_confirmMethodName() === 'DoPlaceFreeTickets') {
                if (this._userService$2.isLoggedIn()) {
                    this._dgeService$2.doPlaceFreeTickets(notification);
                }
                else {
                    this.confirmNotification();
                }
            }
        }
    }
}


DGENotifierComponent.SimpleNotificationActivator.createClass('DGENotifierComponent.SimpleNotificationActivator');
DGENotifierComponent.DGENotifierComponent.createClass('DGENotifierComponent.DGENotifierComponent', Framework.Component.AbstractXsltBasedComponent, NavigationService.IPageFilterChangedListener, UserService.IUserChangedListener, DGEService.IDGENotificationListener, Framework.IPageWillChangeListener);

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
