﻿
var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) {
    for (var i = 0; i < data.length; i++) {
        var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) {
            if (dataString.indexOf(data[i].subString) != -1)
                return data[i].identity;
        }
        else if (dataProp)
            return data[i].identity;
    } 
}, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index + this.versionSearchString.length + 1)); }, dataBrowser: [{ string: navigator.userAgent, subString: "Chrome", identity: "Chrome" }, { string: navigator.userAgent, subString: "OmniWeb", versionSearch: "OmniWeb/", identity: "OmniWeb" }, { string: navigator.vendor, subString: "Apple", identity: "Safari", versionSearch: "Version" }, { prop: window.opera, identity: "Opera" }, { string: navigator.vendor, subString: "iCab", identity: "iCab" }, { string: navigator.vendor, subString: "KDE", identity: "Konqueror" }, { string: navigator.userAgent, subString: "Firefox", identity: "Firefox" }, { string: navigator.vendor, subString: "Camino", identity: "Camino" }, { string: navigator.userAgent, subString: "Netscape", identity: "Netscape" }, { string: navigator.userAgent, subString: "MSIE", identity: "Explorer", versionSearch: "MSIE" }, { string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" }, { string: navigator.userAgent, subString: "Mozilla", identity: "Netscape", versionSearch: "Mozilla"}], dataOS: [{ string: navigator.platform, subString: "Win", identity: "Windows" }, { string: navigator.platform, subString: "Mac", identity: "Mac" }, { string: navigator.userAgent, subString: "iPhone", identity: "iPhone/iPod" }, { string: navigator.platform, subString: "Linux", identity: "Linux"}]
}; BrowserDetect.init(); var MgsLiveChatControl = function () {
    var Base64 = { _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = Base64._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); } return output; }, decode: function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++)); enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = Base64._utf8_decode(output); return output; }, _utf8_encode: function (string) { string = string.replace(/\r\n/g, "\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if ((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, _utf8_decode: function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while (i < utftext.length) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if ((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i + 1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i + 1); c3 = utftext.charCodeAt(i + 2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } }
    var mgsCasinoId; var mgsBrowserLanguage; var mgsSessionLanguage; var mgsTrackingGuid = ""; var mgsPlayerLoginName; var mgsSystemType; var mgsResource; var mgsSessionId; var mgsSessionType; var mgsNotificationURL; var mgsPSLLoginName; var mgsAutoLogin; var mgsSerializedConnection; var mgsChatControlDomain = location.protocol + '//pcmchatproxy3.valueactive.eu'; var mgsChatWindowDomain = location.protocol + '//pcmchat3.valueactive.eu'; var mgsChatProxyURL = mgsChatControlDomain + '/MgsChatProxy.aspx'; var mgsChatWindowURL = mgsChatWindowDomain + '/MgsChatWindow.aspx'; var mgsTrackingAPIURL = location.protocol + '//pcm3.valueactive.eu/API/PlayerStep.aspx?'; var mgsTrackingAPIURLBase; var mgsTopPosition; var mgsLeftPosition; var mgsChatWindowHeight = BrowserDetect.OS == 'Mac' ? '380' : '330'; var mgsChatWindowWidth = '360'; var mgsCookieExpireTime = 3600; var mgsIframeRequestTimeOut = 14500; var mgsDivAroundIFrameName = 'MgsLiveChatWindow'; var mgsChatIFrameName = 'MgsLiveChatIFrame'; var mgsChatWindowName = 'MgsLiveChatOpenWindow'; var mgsSubmitProxyForm = 'mgsSubmitProxyForm'; var mgsSubmitChatWindowForm = 'mgsSubmitChatWindowForm'; var mgsInitialMessageFromCSR = null; var mgsChatSessionId = null; var mgsChatRouterJID = null; var mgsRegisteredCasinoId = null; var mgsAutoChatPayload = null; var mgsAutoChatResponseTimeout = null; var mgsSessionInactivityTimeout = null; var mgsDisableProxyPopUp; var mgsPopupBlocker = false; var DEBUG_RUN = true; var mgsInterval = null; function _InitializeMgsLiveChatControl(_CasinoId, _BrowserLanguage, _SessionLanguage, _TrackingGuid, _PlayerLoginName, _SystemType, _SessionId, _SessionType, _AutoLogin, _TopPosition, _LeftPosition, _Resource, _DisableProxyPopUp, _NotificationURL, _PSLLoginName, _RegisteredCasinoId) {
        try {
            var Error = false; var ErrorMessage = ""; mgsCasinoId = _CasinoId; mgsRegisteredCasinoId = _RegisteredCasinoId; mgsBrowserLanguage = _BrowserLanguage; mgsSessionLanguage = _SessionLanguage; if (_TrackingGuid != "")
            { mgsTrackingGuid = _TrackingGuid; }
            mgsPlayerLoginName = _PlayerLoginName; mgsPSLLoginName = _PSLLoginName; mgsSystemType = _SystemType; mgsResource = _Resource; mgsAutoLogin = _AutoLogin; mgsSessionId = _SessionId; mgsSessionType = _SessionType; mgsNotificationURL = _NotificationURL; mgsTopPosition = _TopPosition; mgsLeftPosition = _LeftPosition; if (mgsCasinoId == "" || mgsCasinoId == null)
            { Error = true; ErrorMessage = "Casino Id is a mandatory value. \n"; }
            if (mgsAutoLogin == "" || mgsAutoLogin == null)
            { mgsAutoLogin = false; }
            if (mgsResource == "" || mgsResource == null)
            { Error = true; ErrorMessage = ErrorMessage + "mgsResource is a mandatory value. \n"; }
            if (((mgsPlayerLoginName != "") && (mgsSessionType == "")) || ((mgsPlayerLoginName == "") && (mgsSessionType != ""))) {
                if (mgsResource.toLowerCase().indexOf("viper") == -1)
                { Error = true; ErrorMessage = ErrorMessage + "Session Type and Player Login Name are collectively exhaustive. \n"; } 
            }
            if (mgsNotificationURL == "" || mgsNotificationURL == null) {
                if (mgsResource.toLowerCase().indexOf("viper") == -1)
                { Error = true; ErrorMessage = ErrorMessage + "Notification URL is a mandatory value. \n"; } 
            }
            if ((mgsTrackingGuid == "" || mgsTrackingGuid == null) && (mgsPlayerLoginName == "" || mgsPlayerLoginName == null)) {
                if (_MgsAreCookiesAllowed) {
                    var mgsAnonymousPlayerTrackingGUID = _MgsGetCookie('AnonymousPlayerTrackingGUID_' + mgsCasinoId); if (mgsAnonymousPlayerTrackingGUID == "")
                    { mgsTrackingGuid = _MgsCreateAnonymousPlayerTrackingGUID(); }
                    else
                    { mgsTrackingGuid = mgsAnonymousPlayerTrackingGUID; mgsSystemType = 3; _MgsSetCookie('AnonymousPlayerTrackingGUID_' + mgsCasinoId, mgsAnonymousPlayerTrackingGUID, mgsCookieExpireTime); } 
                }
                else {
                    if (mgsTrackingGuid != "")
                    { mgsTrackingGuid = _MgsCreateAnonymousPlayerTrackingGUID(); } 
                } 
            }
            mgsTrackingAPIURLBase = mgsTrackingAPIURL + 'CasinoId=' + mgsCasinoId; if (mgsTrackingGuid != "" && mgsTrackingGuid != null && mgsTrackingGuid != 'null' && mgsTrackingGuid != 'Null')
            { mgsTrackingAPIURLBase = mgsTrackingAPIURLBase + '&PCMGUID=' + mgsTrackingGuid; }
            if (mgsPlayerLoginName != "" && mgsPlayerLoginName != null && mgsPlayerLoginName != 'null' && mgsPlayerLoginName != 'Null')
            { mgsTrackingAPIURLBase = mgsTrackingAPIURLBase + '&PlayerLoginName=' + mgsPlayerLoginName; }
            try {
                var btnLiveChatButton = document.getElementById("MgsLiveChatButton"); if (btnLiveChatButton != null) {
                    if (btnLiveChatButton.addEventListener)
                    { btnLiveChatButton.addEventListener("click", MgsOpenLiveChatWindow, true); }
                    else if (btnLiveChatButton.attachEvent)
                    { btnLiveChatButton.attachEvent('onclick', MgsOpenLiveChatWindow); } 
                } 
            }
            catch (TryError)
{ }
            document.getElementById(mgsChatIFrameName).setAttribute('frameBorder', 'no'); document.getElementById(mgsChatIFrameName).setAttribute('border', '0'); document.getElementById(mgsChatIFrameName).setAttribute('scrolling', 'no'); document.getElementById(mgsChatIFrameName).style.overflow = "hidden"; document.getElementById(mgsDivAroundIFrameName).setAttribute("overflow", "hidden"); if (Error == false) {
                if (mgsAutoLogin == true)
                { _MgsEngageChat(mgsChatIFrameName); } 
            }
            else {
                if (mgsResource.toLowerCase().indexOf("viper") == -1)
                { alert(ErrorMessage); } 
            } 
        }
        catch (TryError)
{ _MgsFatalError(TryError.Message); } 
    }; function _MgsEngageChatGET(GetTo) {
        var mgsChatWindowURLGet = mgsChatWindowURL; mgsChatWindowURLGet = mgsChatWindowURLGet + '?cId=' + mgsCasinoId; if (mgsRegisteredCasinoId != "" && mgsRegisteredCasinoId != null && mgsRegisteredCasinoId != 'null' && mgsRegisteredCasinoId != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&rcId=' + mgsRegisteredCasinoId; }
        if (mgsBrowserLanguage != "" && mgsBrowserLanguage != null && mgsBrowserLanguage != 'null' && mgsBrowserLanguage != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&browLang=' + mgsBrowserLanguage; }
        if (mgsSessionLanguage != "" && mgsSessionLanguage != null && mgsSessionLanguage != 'null' && mgsSessionLanguage != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&sessLang=' + mgsSessionLanguage; }
        if (mgsSerializedConnection != "" && mgsSerializedConnection != null && mgsSerializedConnection != 'null' && mgsSerializedConnection != 'Null') {
            mgsSerializedConnection = urlencode(mgsSerializedConnection); mgsChatWindowURLGet = mgsChatWindowURLGet + '&serialConn=' + mgsSerializedConnection; mgsSerializedConnection = null; if (mgsChatSessionId != "" && mgsChatSessionId != null && mgsChatSessionId != 'null' && mgsChatSessionId != 'Null')
            { mgsChatWindowURLGet = mgsChatWindowURLGet + '&chatSessId=' + mgsChatSessionId; mgsChatSessionId = null; } 
        }
        else {
            mgsChatWindowURLGet = mgsChatWindowURLGet + '&NoCache=' + (new Date()).getTime() + '_' + Math.random(); if (mgsSystemType != "" && mgsSystemType != null && mgsSystemType != 'null' && mgsSystemType != 'Null')
            { mgsChatWindowURLGet = mgsChatWindowURLGet + '&sysType=' + mgsSystemType; }
            if (mgsSessionId != "" && mgsSessionId != null && mgsSessionId != 'null' && mgsSessionId != 'Null')
            { mgsChatWindowURLGet = mgsChatWindowURLGet + '&sessId=' + mgsSessionId; }
            if (mgsSessionType != "" && mgsSessionType != null && mgsSessionType != 'null' && mgsSessionType != 'Null')
            { mgsChatWindowURLGet = mgsChatWindowURLGet + '&sessType=' + mgsSessionType; }
            if (GetTo == mgsChatIFrameName) {
                if (mgsNotificationURL != "" && mgsNotificationURL != null && mgsNotificationURL != 'null' && mgsNotificationURL != 'Null')
                { mgsChatWindowURLGet = mgsChatWindowURLGet + '&notificationPageUrl=' + mgsNotificationURL; } 
            } 
        }
        if (mgsChatRouterJID != "" && mgsChatRouterJID != null && mgsChatRouterJID != 'null' && mgsChatRouterJID != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&routerJID=' + mgsChatRouterJID; }
        if (mgsTrackingGuid != "" && mgsTrackingGuid != null && mgsTrackingGuid != 'null' && mgsTrackingGuid != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&pcmGUID=' + mgsTrackingGuid; }
        if (mgsResource != "" && mgsResource != null && mgsResource != 'null' && mgsResource != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&resource=' + urlencode(mgsResource + '_' + _MgsCreateGUID()); }
        if (mgsPlayerLoginName != "" && mgsPlayerLoginName != null && mgsPlayerLoginName != 'null' && mgsPlayerLoginName != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&playerName=' + mgsPlayerLoginName; }
        if (mgsPSLLoginName != "" && mgsPSLLoginName != null && mgsPSLLoginName != 'null' && mgsPSLLoginName != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&pslName=' + mgsPSLLoginName; }
        if (mgsInitialMessageFromCSR != "" && mgsInitialMessageFromCSR != null && mgsInitialMessageFromCSR != 'null' && mgsInitialMessageFromCSR != 'Null') {
            if (urlencode(mgsInitialMessageFromCSR).length <= 400)
            { mgsChatWindowURLGet = mgsChatWindowURLGet + '&firstMessage=' + urlencode(mgsInitialMessageFromCSR); }
            mgsInitialMessageFromCSR = null;
        }
        if (mgsAutoChatPayload != "" && mgsAutoChatPayload != null && mgsAutoChatPayload != 'null' && mgsAutoChatPayload != 'Null')
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&autoChatPayload=' + encodeURIComponent(mgsAutoChatPayload); mgsAutoChatPayload = null; }
        if (mgsAutoChatResponseTimeout != null)
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&AutoChatResponseTimeout=' + urlencode(mgsAutoChatResponseTimeout); }
        if (mgsSessionInactivityTimeout != null)
        { mgsChatWindowURLGet = mgsChatWindowURLGet + '&InactivityTimeout=' + urlencode(mgsSessionInactivityTimeout); }
        if (GetTo == "viper") {
            var createNewConnection; try
{ var test = window.external.LaunchPCMChatWindow(mgsChatWindowURLGet); createNewConnection = true; } catch (e)
{ createNewConnection = false; }
            if (window.frames[mgsChatIFrameName].MgsChatProxy.ReInitializeConnectionForThickClients)
                window.frames[mgsChatIFrameName].MgsChatProxy.ReInitializeConnectionForThickClients(createNewConnection);
        }
        else
        { var mgsChatWindow = window.open(mgsChatWindowURLGet, GetTo, 'width=' + mgsChatWindowWidth + ',height=' + mgsChatWindowHeight + ',top=' + mgsTopPosition + ',left=' + mgsLeftPosition + ' '); } 
    }; function _MgsEngageChat(PostTo) {
        try {
            mgsDivAroundIFrame = document.getElementById(mgsDivAroundIFrameName); var mgsForm; if (PostTo == mgsChatIFrameName) {
                resetForm(mgsSubmitProxyForm); mgsForm = document.getElementById(mgsSubmitProxyForm); if (mgsForm == null)
                { mgsForm = document.createElement("form"); mgsForm.id = mgsSubmitProxyForm; mgsForm.name = mgsSubmitProxyForm; mgsForm.method = "POST"; mgsForm.target = mgsChatIFrameName; }
                mgsForm.action = mgsChatProxyURL + '?NoCache=' + (new Date()).getTime() + '_' + Math.random();
            }
            else if (PostTo == mgsChatWindowName) {
                resetForm(mgsSubmitChatWindowForm); mgsForm = document.getElementById(mgsSubmitChatWindowForm); if (mgsForm == null)
                { mgsForm = document.createElement("form"); mgsForm.id = mgsSubmitChatWindowForm; mgsForm.name = mgsSubmitChatWindowForm; mgsForm.method = "POST"; mgsForm.target = mgsChatWindowName; }
                mgsForm.action = mgsChatWindowURL + '?NoCache=' + (new Date()).getTime() + '_' + Math.random();
            }
            var hiddenCasinoId; hiddenCasinoId = document.createElement('input'); hiddenCasinoId.setAttribute('type', 'hidden'); hiddenCasinoId.setAttribute('id', 'cId'); hiddenCasinoId.setAttribute('name', 'cId'); hiddenCasinoId.setAttribute('value', mgsCasinoId); mgsForm.appendChild(hiddenCasinoId); if (mgsRegisteredCasinoId != null)
            { var hiddenRegisteredCasinoId; hiddenRegisteredCasinoId = document.createElement('input'); hiddenRegisteredCasinoId.setAttribute('type', 'hidden'); hiddenRegisteredCasinoId.setAttribute('id', 'rcId'); hiddenRegisteredCasinoId.setAttribute('name', 'rcId'); hiddenRegisteredCasinoId.setAttribute('value', mgsRegisteredCasinoId); mgsForm.appendChild(hiddenRegisteredCasinoId); }
            if (mgsTrackingGuid != null)
            { var hiddenTrackingGUID; hiddenTrackingGUID = document.createElement('input'); hiddenTrackingGUID.setAttribute('type', 'hidden'); hiddenTrackingGUID.setAttribute('id', 'pcmGUID'); hiddenTrackingGUID.setAttribute('name', 'pcmGUID'); hiddenTrackingGUID.setAttribute('value', mgsTrackingGuid); mgsForm.appendChild(hiddenTrackingGUID); }
            if (mgsPlayerLoginName != null)
            { var hiddenPlayerLoginName; hiddenPlayerLoginName = document.createElement('input'); hiddenPlayerLoginName.setAttribute('type', 'hidden'); hiddenPlayerLoginName.setAttribute('id', 'playerName'); hiddenPlayerLoginName.setAttribute('name', 'playerName'); hiddenPlayerLoginName.setAttribute('value', mgsPlayerLoginName); mgsForm.appendChild(hiddenPlayerLoginName); }
            if (mgsPSLLoginName != null)
            { var hiddenPSLLoginName; hiddenPSLLoginName = document.createElement('input'); hiddenPSLLoginName.setAttribute('type', 'hidden'); hiddenPSLLoginName.setAttribute('id', 'pslName'); hiddenPSLLoginName.setAttribute('name', 'pslName'); hiddenPSLLoginName.setAttribute('value', mgsPSLLoginName); mgsForm.appendChild(hiddenPSLLoginName); }
            if (mgsSystemType != null)
            { var hiddenPlayerType; hiddenPlayerType = document.createElement('input'); hiddenPlayerType.setAttribute('type', 'hidden'); hiddenPlayerType.setAttribute('id', 'sysType'); hiddenPlayerType.setAttribute('name', 'sysType'); hiddenPlayerType.setAttribute('value', mgsSystemType); mgsForm.appendChild(hiddenPlayerType); }
            if (mgsSessionId != null)
            { var hiddenSessionId; hiddenSessionId = document.createElement('input'); hiddenSessionId.setAttribute('type', 'hidden'); hiddenSessionId.setAttribute('id', 'sessId'); hiddenSessionId.setAttribute('name', 'sessId'); hiddenSessionId.setAttribute('value', mgsSessionId); mgsForm.appendChild(hiddenSessionId); }
            if (mgsSessionType != null)
            { var hiddenSessionType; hiddenSessionType = document.createElement('input'); hiddenSessionType.setAttribute('type', 'hidden'); hiddenSessionType.setAttribute('id', 'sessType'); hiddenSessionType.setAttribute('name', 'sessType'); hiddenSessionType.setAttribute('value', mgsSessionType); mgsForm.appendChild(hiddenSessionType); }
            var hiddenBrowserLanguage; hiddenBrowserLanguage = document.createElement('input'); hiddenBrowserLanguage.setAttribute('type', 'hidden'); hiddenBrowserLanguage.setAttribute('id', 'browLang'); hiddenBrowserLanguage.setAttribute('name', 'browLang'); hiddenBrowserLanguage.setAttribute('value', mgsBrowserLanguage); mgsForm.appendChild(hiddenBrowserLanguage); var hiddenSessionLanguage; hiddenSessionLanguage = document.createElement('input'); hiddenSessionLanguage.setAttribute('type', 'hidden'); hiddenSessionLanguage.setAttribute('id', 'sessLang'); hiddenSessionLanguage.setAttribute('name', 'sessLang'); hiddenSessionLanguage.setAttribute('value', mgsSessionLanguage); mgsForm.appendChild(hiddenSessionLanguage); var hiddenResource; hiddenResource = document.createElement('input'); hiddenResource.setAttribute('type', 'hidden'); hiddenResource.setAttribute('id', 'resource'); hiddenResource.setAttribute('name', 'resource'); hiddenResource.setAttribute('value', mgsResource + '_' + _MgsCreateGUID()); mgsForm.appendChild(hiddenResource); if (PostTo == mgsChatIFrameName)
            { var hiddenNotificationPageURL; hiddenNotificationPageURL = document.createElement('input'); hiddenNotificationPageURL.setAttribute('type', 'hidden'); hiddenNotificationPageURL.setAttribute('id', 'notificationPageUrl'); hiddenNotificationPageURL.setAttribute('name', 'notificationPageUrl'); hiddenNotificationPageURL.setAttribute('value', mgsNotificationURL); mgsForm.appendChild(hiddenNotificationPageURL); }
            if (PostTo == mgsChatIFrameName)
            { var hiddenTopPosition; hiddenTopPosition = document.createElement('input'); hiddenTopPosition.setAttribute('type', 'hidden'); hiddenTopPosition.setAttribute('id', 'topPosition'); hiddenTopPosition.setAttribute('name', 'topPosition'); hiddenTopPosition.setAttribute('value', mgsTopPosition); mgsForm.appendChild(hiddenTopPosition); }
            if (PostTo == mgsChatIFrameName)
            { var hiddenLeftPosition; hiddenLeftPosition = document.createElement('input'); hiddenLeftPosition.setAttribute('type', 'hidden'); hiddenLeftPosition.setAttribute('id', 'leftPosition'); hiddenLeftPosition.setAttribute('name', 'leftPosition'); hiddenLeftPosition.setAttribute('value', mgsLeftPosition); mgsForm.appendChild(hiddenLeftPosition); }
            if (mgsSerializedConnection != null)
            { var hiddenSerializedConnection = document.getElementById('serialConn'); hiddenSerializedConnection = document.createElement('input'); hiddenSerializedConnection.setAttribute('type', 'hidden'); hiddenSerializedConnection.setAttribute('id', 'serialConn'); hiddenSerializedConnection.setAttribute('name', 'serialConn'); hiddenSerializedConnection.setAttribute('value', mgsSerializedConnection); mgsForm.appendChild(hiddenSerializedConnection); mgsSerializedConnection = null; }
            if (mgsChatSessionId != null)
            { var hiddenChatSessionId = document.getElementById('chatSessId'); hiddenChatSessionId = document.createElement('input'); hiddenChatSessionId.setAttribute('type', 'hidden'); hiddenChatSessionId.setAttribute('id', 'chatSessId'); hiddenChatSessionId.setAttribute('name', 'chatSessId'); hiddenChatSessionId.setAttribute('value', mgsChatSessionId); mgsForm.appendChild(hiddenChatSessionId); mgsChatSessionId = null; }
            if (mgsInitialMessageFromCSR != null)
            { var hiddenInitialMessageFromCSR; hiddenInitialMessageFromCSR = document.createElement('input'); hiddenInitialMessageFromCSR.setAttribute('type', 'hidden'); hiddenInitialMessageFromCSR.setAttribute('id', 'firstMessage'); hiddenInitialMessageFromCSR.setAttribute('name', 'firstMessage'); hiddenInitialMessageFromCSR.setAttribute('value', mgsInitialMessageFromCSR); mgsForm.appendChild(hiddenInitialMessageFromCSR); mgsInitialMessageFromCSR = null; }
            if (mgsChatRouterJID != null)
            { var hiddenChatRouterJID; hiddenChatRouterJID = document.createElement('input'); hiddenChatRouterJID.setAttribute('type', 'hidden'); hiddenChatRouterJID.setAttribute('id', 'routerJID'); hiddenChatRouterJID.setAttribute('name', 'routerJID'); hiddenChatRouterJID.setAttribute('value', mgsChatRouterJID); mgsForm.appendChild(hiddenChatRouterJID); }
            if (mgsAutoChatPayload != null)
            { var hiddenAutoChatPayload; hiddenAutoChatPayload = document.createElement('input'); hiddenAutoChatPayload.setAttribute('type', 'hidden'); hiddenAutoChatPayload.setAttribute('id', 'autoChatPayload'); hiddenAutoChatPayload.setAttribute('name', 'autoChatPayload'); hiddenAutoChatPayload.setAttribute('value', mgsAutoChatPayload); mgsForm.appendChild(hiddenAutoChatPayload); }
            if (mgsAutoChatPayload != null && mgsAutoChatResponseTimeout != null)
            { var hiddenAutoChatTimeout; hiddenAutoChatTimeout = document.createElement('input'); hiddenAutoChatTimeout.setAttribute('type', 'hidden'); hiddenAutoChatTimeout.setAttribute('id', 'AutoChatResponseTimeout'); hiddenAutoChatTimeout.setAttribute('name', 'AutoChatResponseTimeout'); hiddenAutoChatTimeout.setAttribute('value', mgsAutoChatResponseTimeout); mgsForm.appendChild(hiddenAutoChatTimeout); }
            if (mgsAutoChatPayload != null && mgsSessionInactivityTimeout != null)
            { var hiddenInactivityTimeout; hiddenInactivityTimeout = document.createElement('input'); hiddenInactivityTimeout.setAttribute('type', 'hidden'); hiddenInactivityTimeout.setAttribute('id', 'InactivityTimeout'); hiddenInactivityTimeout.setAttribute('name', 'InactivityTimeout'); hiddenInactivityTimeout.setAttribute('value', mgsSessionInactivityTimeout); mgsForm.appendChild(hiddenInactivityTimeout); }
            if (mgsForm != null)
            { mgsDivAroundIFrame.appendChild(mgsForm); }
            if (PostTo == mgsChatIFrameName)
            { document.forms[mgsSubmitProxyForm].submit(); }
            else if (PostTo == mgsChatWindowName)
            { document.forms[mgsSubmitChatWindowForm].submit(); } 
        }
        catch (TryError)
{ _MgsFatalError(TryError.Message); } 
    }; function _MgsOpenLiveChatWindow() {
        mgsWindowOpenned = false; try { window.external.CommandExec('sdm', '1') } catch (e) { }; if (navigator.userAgent.toLowerCase().indexOf("windows nt 6") > -1)
        { _MgsFatalError('Client is using vista. User Agent : ' + navigator.userAgent.toLowerCase()); _MgsEngageChatGET(mgsChatWindowName); mgsWindowOpenned = true; }
        else {
            var mgsChatWindow = window.open(mgsChatWindowURL + '?NoCache=' + (new Date()).getTime() + '_' + Math.random() + '&Processing=True', mgsChatWindowName, 'width=' + mgsChatWindowWidth + ',height=' + mgsChatWindowHeight + ',top=' + mgsTopPosition + ',left=' + mgsLeftPosition + ' '); if (!mgsChatWindow)
            { _MgsFatalError('Popup blocker has blocked chat window being opened. User Agent : ' + navigator.userAgent.toLowerCase()); alert('You must allow popups for this page to be able to chat.'); }
            else
            { _MgsEngageChat(mgsChatWindowName); mgsWindowOpenned = true; } 
        }
        if (document.getElementById(mgsDivAroundIFrameName).style.display == 'block')
            _MgsAnimateNotificationWindowUp(); return mgsWindowOpenned;
    }; function _MgsCreateAnonymousPlayerTrackingGUID() {
        var mgsAnonymousPlayerTrackingGUID = _MgsCreateGUID(); if (_MgsAreCookiesAllowed)
        { _MgsSetCookie('AnonymousPlayerTrackingGUID_' + mgsCasinoId, mgsAnonymousPlayerTrackingGUID, mgsCookieExpireTime); }
        return mgsAnonymousPlayerTrackingGUID;
    }; function _MgsCreateGUID() {
        return mgsAnonymousPlayerTrackingGUID = (_MgsCreateRandom4CharacterString() +
_MgsCreateRandom4CharacterString() + "-" + _MgsCreateRandom4CharacterString() + "-" + _MgsCreateRandom4CharacterString() + "-" + _MgsCreateRandom4CharacterString() + "-" + _MgsCreateRandom4CharacterString() +
_MgsCreateRandom4CharacterString() +
_MgsCreateRandom4CharacterString()).toUpperCase();
    }
    function _MgsCreateRandom4CharacterString()
    { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); }; function _MgsSetCookie(cookieName, value, expireSeconds) {
        try {
            var exdate = new Date(); exdate.setTime(exdate.getTime() + (expireSeconds * 1000)); document.cookie = cookieName + "=" + escape(value) +
((expireSeconds == null) ? "" : ";expires=" + exdate.toGMTString());
        }
        catch (Error) {
            if (DEBUG_RUN)
            { alert(Error.message); } 
        } 
    }; function _MgsGetCookie(cookieName) {
        try {
            if (document.cookie.length > 0) {
                c_start = document.cookie.indexOf(cookieName + "="); if (c_start != -1)
                { c_start = c_start + cookieName.length + 1; c_end = document.cookie.indexOf(";", c_start); if (c_end == -1) c_end = document.cookie.length; return unescape(document.cookie.substring(c_start, c_end)); } 
            }
            return '';
        }
        catch (Error) {
            if (DEBUG_RUN)
            { alert(Error.message); } 
        } 
    }
    function _MgsAreCookiesAllowed() {
        var cookiesAllowed = false; var TestCookieName = 'MgsTestCookie'; try {
            MgsCookieFactory.setCookie(TestCookieName, 'True', 1); if (document.cookie.indexOf(TestCookieName) == -1) {
                if (DEBUG_RUN)
                { alert('Cookies are NOT allowed'); } 
            } else {
                cookiesAllowed = true; if (DEBUG_RUN)
                { alert('Cookies are allowed'); } 
            }
            MgsCookieFactory.deleteCookie(TestCookieName);
        }
        catch (Error) {
            if (DEBUG_RUN)
            { alert(Error.message); } 
        }
        return cookiesAllowed;
    }; var mgsTimerLen = 5; var mgsSlideAniLen = 250; var mgsTimerID = new Array(); var mgsStartTime = new Array(); var mgsObj = new Array(); var mgsEndHeight = new Array(); var mgsMoving = new Array(); var mgsDir = new Array(); function _MgsAnimateNotificationWindowDown() {
        if (mgsMoving[mgsDivAroundIFrameName])
            return; if (document.getElementById(mgsDivAroundIFrameName).style.display != "none")
            return; mgsMoving[mgsDivAroundIFrameName] = true; mgsDir[mgsDivAroundIFrameName] = "down"; _MgsStartSlide(mgsDivAroundIFrameName);
    }; function _MgsAnimateNotificationWindowUp() {
        if (mgsMoving[mgsDivAroundIFrameName])
            return; if (document.getElementById(mgsDivAroundIFrameName).style.display == "none")
            return; mgsMoving[mgsDivAroundIFrameName] = true; mgsDir[mgsDivAroundIFrameName] = "up"; _MgsStartSlide(mgsDivAroundIFrameName);
    }; function _MgsStartSlide(mgsDivAroundIFrameName) {
        mgsObj[mgsDivAroundIFrameName] = document.getElementById(mgsDivAroundIFrameName); mgsEndHeight[mgsDivAroundIFrameName] = parseInt(mgsObj[mgsDivAroundIFrameName].style.height); mgsStartTime[mgsDivAroundIFrameName] = (new Date()).getTime(); if (mgsDir[mgsDivAroundIFrameName] == "down") { mgsObj[mgsDivAroundIFrameName].style.height = "1px"; }
        mgsObj[mgsDivAroundIFrameName].style.display = "block"; mgsTimerID[mgsDivAroundIFrameName] = setInterval('MgsLiveChatControl.MgsSlideTick(\'' + mgsDivAroundIFrameName + '\');', mgsTimerLen);
    }; function _MgsSlideTick(mgsDivAroundIFrameName) {
        var elapsed = (new Date()).getTime() - mgsStartTime[mgsDivAroundIFrameName]; if (elapsed > mgsSlideAniLen)
            _MgsEndSlide(mgsDivAroundIFrameName)
        else {
            var d = Math.round(elapsed / mgsSlideAniLen * mgsEndHeight[mgsDivAroundIFrameName]); if (mgsDir[mgsDivAroundIFrameName] == "up")
                d = mgsEndHeight[mgsDivAroundIFrameName] - d; mgsObj[mgsDivAroundIFrameName].style.height = d + "px";
        }
        return;
    }; function _MgsEndSlide(mgsDivAroundIFrameName) {
        clearInterval(mgsTimerID[mgsDivAroundIFrameName]); if (mgsDir[mgsDivAroundIFrameName] == "up")
            mgsObj[mgsDivAroundIFrameName].style.display = "none"; mgsObj[mgsDivAroundIFrameName].style.height = mgsEndHeight[mgsDivAroundIFrameName] + "px"; delete (mgsMoving[mgsDivAroundIFrameName]); delete (mgsTimerID[mgsDivAroundIFrameName]); delete (mgsStartTime[mgsDivAroundIFrameName]); delete (mgsEndHeight[mgsDivAroundIFrameName]); delete (mgsObj[mgsDivAroundIFrameName]); delete (mgsDir[mgsDivAroundIFrameName]); return;
    }; function _MgsFatalError(Error) {
        var mgsTrackingAPIURLError = mgsTrackingAPIURLBase + '&StepId=255&NoCache=' + (new Date()).getTime() + '_' + Math.random(); if (Error != null)
        { mgsTrackingAPIURLError = mgsTrackingAPIURLError + '&Alert=' + escape(Error); }
        var trackingAPI = new Image(); trackingAPI.src = mgsTrackingAPIURLError;
    }; function _NotifyClientToReInitialize()
    { try { window.external.InvokeChatProxyOnError(); } catch (e) { }; }; function urlencode(str)
    { return escape(str).replace(/\+/g, '%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40'); }; function resetForm(formId) {
        try {
            var formElement = document.getElementById(formId); var formField = formElement.elements[0]; while (formField)
            { formElement.removeChild(formField); formField = formElement.elements[0]; } 
        }
        catch (error)
{ } 
    }; return { InitializeMgsLiveChatControl: function (_CasinoId, _BrowserLanguage, _SessionLanguage, _TrackingGuid, _PlayerLoginName, _SystemType, _SessionId, _SessionType, _AutoLogin, _TopPosition, _LeftPosition, _Resource, _DisableProxyPopUp, _NotificationURL, _PSLLoginName, _RegisteredCasinoId)
    { _InitializeMgsLiveChatControl(_CasinoId, _BrowserLanguage, _SessionLanguage, _TrackingGuid, _PlayerLoginName, _SystemType, _SessionId, _SessionType, _AutoLogin, _TopPosition, _LeftPosition, _Resource, _DisableProxyPopUp, _NotificationURL, _PSLLoginName, _RegisteredCasinoId); }, MgsOpenLiveChatWindow: function (_Action)
    { return _MgsOpenLiveChatWindow(); }, MgsAnimateNotificationWindowDown: function ()
    { _MgsAnimateNotificationWindowDown(); }, MgsAnimateNotificationWindowUp: function ()
    { _MgsAnimateNotificationWindowUp(); }, MgsSlideTick: function (mgsDivAroundIFrameName)
    { _MgsSlideTick(mgsDivAroundIFrameName); }, MgsSerializedConnection: function (jabberConnection, replaceDomain) {
        if (replaceDomain) {
            jabberConnection = Base64.decode(jabberConnection); jabberConnection = jabberConnection.replace(mgsChatControlDomain, mgsChatWindowDomain)
            jabberConnection = Base64.encode(jabberConnection);
        }
        mgsSerializedConnection = jabberConnection;
    }, MgsConnectToProxy: function ()
    { _MgsEngageChat(mgsChatIFrameName); }, MgsSetChatSessionInfo: function (initialMessageFromCSR, chatSessionId, routerJID)
    { mgsInitialMessageFromCSR = initialMessageFromCSR; mgsChatSessionId = chatSessionId; mgsChatRouterJID = routerJID; }, MgsSetAutoChatPayload: function (autoChatPayload)
    { mgsAutoChatPayload = autoChatPayload; }, MgsSetAutoChatSettings: function (routerJID, autochatReponseTimeout, inactivityTimeout)
    { mgsChatRouterJID = routerJID; mgsAutoChatResponseTimeout = autochatReponseTimeout; mgsSessionInactivityTimeout = inactivityTimeout; }, MgsFatalError: function (Error)
    { _MgsFatalError(Error); }, NotifyClientForNewSession: function (ClientType)
    { _MgsEngageChatGET(ClientType); }, NotifyClientToReInitialize: function ()
    { _NotifyClientToReInitialize(); } 
    }
} (); function InitializeMgsLiveChatControl(_CasinoId, _BrowserLanguage, _SessionLanguage, _TrackingGuid, _PlayerLoginName, _SystemType, _SessionId, _SessionType, _AutoLogin, _TopPosition, _LeftPosition, _Resource, _DisableProxyPopUp, _NotificationURL, _PSLLoginName, _RegisteredCasinoId)
{ MgsLiveChatControl.InitializeMgsLiveChatControl(_CasinoId, _BrowserLanguage, _SessionLanguage, _TrackingGuid, _PlayerLoginName, _SystemType, _SessionId, _SessionType, _AutoLogin, _TopPosition, _LeftPosition, _Resource, _DisableProxyPopUp, _NotificationURL, _PSLLoginName, _RegisteredCasinoId); }
function MgsOpenLiveChatWindow()
{ MgsLiveChatControl.MgsOpenLiveChatWindow('Requested'); }
