wow = new WOW({ animateClass: "animated", offset: 50, }); wow.init(); $(window).scroll(function () { }); $(window).resize(function () { }); $(document).ready(function () { remCompute(750, true); let uid = getQueryVariable("aid"); if (uid) { window._uid = uid; } else if (getCookie('_uid')) { window._uid = getCookie('_uid'); } if (window._uid) { showCopyLinkBtn(); referLink = 'https://go.markets.com/visit/?bta=37386&nci=7371&afp='+window._uid; setReferLink(referLink); } }); let circleArr = [1, 2, 3, 4, 5]; circleClass = [ "circle-front", "circle-left", "circle-leftback", "circle-rightback", "circle-right", ]; function removeAllClass(element) { element.classList.forEach((item) => { if (item.startsWith("circle-")) { element.classList.remove(item); } }); } function getQueryVariable(variable){ var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i el.setAttribute('style', 'visibility: visible')); } function stepCircleArr() { circleArr.unshift(circleArr.pop()); for (let i = 0; i < circleArr.length; i++) { removeAllClass(document.getElementById("circle" + circleArr[i])); document .getElementById("circle" + circleArr[i]) .classList.add(circleClass[i]); } } setInterval(stepCircleArr, 3500); window._uid = null; function modalOpen(id) { let login_type = getQueryVariable("login_type"); let afp = getQueryVariable("afp"); if(login_type){ if(login_type == "G"){ window.location.href = "cosmos://signup"; }else{ referLink = 'https://go.markets.com/visit/?bta=37386&nci=7371&afp='+afp; setReferLink(referLink); document.querySelector(".modal[data-modal-referral]").classList.add("modal-show"); document.body.style.overflow = "hidden"; } }else{ if (!id) { // check for cookie id = 'data-modal-login'; if (getCookie('_uid') || window._uid) { id = 'data-modal-referral'; if (getCookie('_uid')) { window._uid = getCookie('_uid'); } } } if( id === 'data-modal-referral') { referLink = 'https://go.markets.com/visit/?bta=37386&nci=7371&afp='+window._uid; setReferLink(referLink); } document.querySelector(".modal[" + id + "]").classList.add("modal-show"); document.body.style.overflow = "hidden"; } } function modalClose() { document.querySelector(".modal.modal-show").classList.remove("modal-show"); document.body.style.overflow = "auto"; } function copyLink(event) { // Get the text field var copyText = document.getElementById("refer-link"); if(isWebview()) { let referLink = "https://go.markets.com/visit/" + window.location.search; setReferLink(referLink); window.open("copy://"+ referLink , "_blank"); } if (window.JsHook && JsHook.appCopy) { JsHook.appCopy(copyText); } else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.appCopy) { window.webkit.messageHandlers.appCopy.postMessage({url: copyText}) } else { // Select the text field copyText.select(); copyText.setSelectionRange(0, 99999); // For mobile devices // // Copy the text inside the text field // navigator.clipboard.writeText(copyText.value); copyToClipboard(copyText.value); event.target.querySelector(".tooltiptext").classList.add("tooltiptext-show"); } setTimeout(() => { event.target .querySelector(".tooltiptext") .classList.remove("tooltiptext-show"); }, 3000); } function unsecuredCopyToClipboard(text) { const textArea = document.createElement("textarea"); textArea.value = text; document.body.appendChild(textArea); textArea.focus(); textArea.select(); try { document.execCommand("copy"); } catch (err) { console.error("Unable to copy to clipboard", err); } document.body.removeChild(textArea); } const copyToClipboard = (content) => { if (window.isSecureContext && navigator.clipboard) { navigator.clipboard.writeText(content); } else { unsecuredCopyToClipboard(content); } }; function setReferLink(link) { document.getElementById("refer-link").value = link; } const url = new URL(window.location.href); /* Headless version */ const headless = url.searchParams.get("headfoot"); const appClone = url.searchParams.get("app"); if (headless) { $("header, footer").css("display", "none"); $(".banner-left p.delay-2s").css("display", "none"); $(".banner-line2 a").css("top", "1.5rem"); $(".banner-right").css("padding-top", "1.8rem"); $(".banner").css({"background-image":"url(images/bg_mobile_whole_headless.jpg)", "background-position":"center top", "height":"18rem"}); } if (appClone) { $(".banner-chat-bubble1-container p").text("Join us now"); } // PDFjs start $(".banner-line2 a").click(function (e) { const login_type = url.searchParams.get("login_type"); if(login_type){ $(".pdf-wrapper").css("visibility","visible"); $("body").addClass("noscroll"); var pdf_viewer_iframe = document.querySelector('.pdf-frame iframe'); if (pdf_viewer_iframe) { if (appClone){ pdf_viewer_iframe.src = '../../pdfjs/web/viewer.html?file='+ encodeURIComponent("https://www.trade-learning.com/pdf/promo/en/fsc-referral.pdf"); }else{ pdf_viewer_iframe.src = '../../pdfjs/web/viewer.html?file='+ encodeURIComponent("https://www.markets.com/promo/referral-fsc/en/t&c.pdf"); } } e.preventDefault(); } }); $(".icon-close").click(function (e) { $(".pdf-wrapper").css("visibility","hidden"); $("body").removeClass("noscroll"); var pdf_viewer_iframe = document.querySelector('.pdf-frame iframe'); if (pdf_viewer_iframe) { pdf_viewer_iframe.src = ''; } }); // PDFjs end const referID = url.searchParams.get("afp"); let referLink = "https://go.markets.com/visit/" + window.location.search; setReferLink(referLink); function more_share() { const shareData = { title: "Send the invite link to your friend", url: referLink }; console.log("userAgent : " + navigator.userAgent); console.log("TEST : "+ isWebview() ); if(isWebview()) { window.open("share://"+referLink, "_blank"); console.log("share://"+referLink); } else { navigator.share(shareData); } /* if (navigator.share) { navigator.share(shareData); } */ // var isAndroidWebView = /(android)/i.test(navigator.userAgent); // if (isAndroidWebView) { // } } function isWebview() { var useragent = navigator.userAgent; // var regex = '/Mozilla/gi'; // return Boolean(useragent.match(regex)); return Boolean(useragent.match(/markets/gi)); } function shareOnFacebook() { const shareUrl = "https://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(referLink); window.open(shareUrl, "_blank"); } function shareOnTwitter() { const shareUrl = "https://twitter.com/intent/tweet?url=" + encodeURIComponent(referLink); window.open(shareUrl, "_blank"); } function shareOnTelegram() { // const shareUrl = "https://telegram.me/share/url?url=" + encodeURIComponent(referLink); const shareUrl = "https://t.me/share/url?url=" + encodeURIComponent(referLink); window.open(shareUrl, "_blank"); // try { // navigator.share({url: shareUrl}); // } catch (err) { // console.error('Telegram error: ', err); // } } function shareOnWhatsApp() { const shareUrl = "https://wa.me/?text=" + encodeURIComponent(referLink); window.open(shareUrl, "_blank"); } const getCookie = (name) => ( document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)')?.pop() || '' ) const togglePassword = (e) => { const parent = e.target.parentElement; const input_field = parent.querySelector('input'); if (input_field) { const type = input_field.type; if (type === 'password') { input_field.type = 'text'; } else { input_field.type = 'password'; } input_field.focus(); } }; const awaitAjaxPost = (path, data, type = 'json', abort = true) => { return new Promise(resolve => { var xhr = new XMLHttpRequest(); xhr.addEventListener("load", function () { if (this.readyState === 4) { let response = this.response; if (type === 'json') { if (response === null) { response = {}; } response.code = this.status; } resolve(response); } }); xhr.responseType = type; xhr.open('POST', '/account-creation/a/' + path); xhr.setRequestHeader('desktop', '1'); xhr.setRequestHeader('inapp', '0'); xhr.setRequestHeader('x-funnel-customer-session-id', ''); xhr.setRequestHeader('x-br-extras', JSON.stringify({})); data.config_id = 'conf_default'; xhr.send(JSON.stringify(data)); }); }; const submitLogin = (e) => { e.preventDefault(); document.querySelector('form[data-action="submitLogin"]').setAttribute('data-state','disabled'); document.querySelector('[data-action="submitLogin"] .company-message').style.display = 'none'; awaitAjaxPost('account/login', { email: this.email.value, password: this.password.value, remember: false, appSource: 8, isDemoMode: false }).then(function (result) { if(result.code === 400 ) { // error document.querySelector('form[data-action="submitLogin"]').setAttribute('data-state',''); document.querySelector('[data-action="submitLogin"] .company-message').style.display = 'block'; } if( result.code === 200 ) { window._uid = result.data.aid; modalClose(); modalOpen('data-modal-referral'); showCopyLinkBtn(); } }) }; document.querySelector('[data-action="togglePassword"]').addEventListener('click', togglePassword); document.querySelector('[data-action="submitLogin"]').addEventListener('submit', submitLogin); //test_sfdg@dfg.com / Danny1! window.SOCIAL_GOOGLE_CLIENT_ID = '21155591901-3isu8mp2fid95i2o6sl3pp24t3vforrd.apps.googleusercontent.com'; window.SOCIAL_FACEBOOK_APP_ID = '714426151973006'; window.SOCIAL_APPLE_JSON = {apiKey:"AIzaSyCqRl_-q57A6LRNibxLeg-mH6mZWbtY4oA",authDomain:"api-project-21155591901.firebaseapp.com",databaseURL:"https://api-project-21155591901.firebaseio.com",projectId:"api-project-21155591901",storageBucket:"api-project-21155591901.appspot.com",messagingSenderId:"21155591901",appId:"1:21155591901:web:6df0d915f039b20914cd34",measurementId:"G-2NMBXHHZG9"}; window.appleAuth = null; window.__externalLibraries = []; window.__externalLibrariesCallbacks = []; loadExternalLibrary = function( ref, callback ) { if( typeof window.__externalLibraries[ref] === 'undefined' ) { window.__externalLibraries[ref] = 0; window.__externalLibrariesCallbacks[ref] = []; window.__externalLibrariesCallbacks[ref].push(callback); let script = document.createElement('script'); script.src = ref; script.onload = function(){ window.__externalLibraries[ref] = 1; for( var i = 0; i < window.__externalLibrariesCallbacks[ref].length; i++ ) { window.__externalLibrariesCallbacks[ref][i](); } }; document.getElementsByTagName('head')[0].appendChild(script); } else { if (window.__externalLibraries[ref] === 0) { window.__externalLibrariesCallbacks[ref].push(callback); } else { callback(); } } }; const socialLogin = (e) => { e.preventDefault(); const social = e.target.getAttribute('data-social'); switch (social) { case 'google': loginWithGoogle(); break; case 'facebook': loginWithFacebook(); break; case 'apple': loginWithApple(); break; } }; const loginWithGoogle = () => { loadExternalLibrary('https://apis.google.com/js/api:client.js', function () { gapi.load("auth2", function () { gapi.auth2.init({ client_id: window.SOCIAL_GOOGLE_CLIENT_ID, }); gapi.auth2.getAuthInstance().signIn().then(function (response) { // console.log(response); const id_token = response.getAuthResponse().id_token; // console.log(id_token); socialLoginSubmission({ method: 'google', token: id_token }); }, function (error) { // console.log(error); }); }); }); }; const loginWithApple = () => { loadExternalLibrary('https://www.gstatic.com/firebasejs/8.6.3/firebase-app.js', function () { loadExternalLibrary('https://www.gstatic.com/firebasejs/8.6.3/firebase-auth.js', function () { if( !window.appleAuth ){ firebase.initializeApp(window.SOCIAL_APPLE_JSON); var provider = new firebase.auth.OAuthProvider('apple.com'); provider.addScope('email'); provider.addScope('name'); provider.setCustomParameters({ locale: 'en' }); window.appleAuth = provider; } firebase .auth() .signInWithPopup(window.appleAuth) .then((result) => { return firebase.auth().currentUser.getIdToken(true).then(function (id_token) { socialLoginSubmission({ method: 'apple', token: id_token }); }).catch((error) => { console.error("Failed to verify token while Apple sign in via firebase", error); }); }) .catch((error) => { console.error("Failed to open modal while Apple sign in via firebase", error); }); }); }); }; const loginWithFacebook = () => { loadExternalLibrary('https://connect.facebook.net/en_US/sdk.js',function(){ FB.init({ appId: window.SOCIAL_FACEBOOK_APP_ID, autoLogAppEvents: true, xfbml: true, version: 'v2.10' }); FB.AppEvents.logPageView(); FB.login( function (response) { if (!response || !response.authResponse) { // console.log("no response"); return; } const id_token = response.authResponse.accessToken; socialLoginSubmission({ method: 'facebook', token: id_token }); }, { scope: "email" } ); }); }; const social_logins = document.querySelectorAll('[data-action="socialLogin"]'); if(social_logins.length) { for( var i = 0; i < social_logins.length; i++ ) { social_logins[i].addEventListener('click', socialLogin);; } } const getInstrumentType = (name) => { return name === 'Tradetech Alpha' ? 'SPREAD_BETTING' : 'CFD'; }; const socialLoginSubmission = (data) => { // console.log("[window.siteui.socialLoginSubmission()]") // document.querySelector('.loading-indicator').classList.remove('hide'); document.querySelector('form[data-action="submitLogin"]').setAttribute('data-state','disabled'); data.currency = window.__userGEO.currencyCode; data.tradingAccountInstrumentType = getInstrumentType(window.__userGEO.company); data.country = window.__userGEO.countryCode; awaitAjaxPost('account/socialLogin', data).then(function (result) { if(result.code === 400 ) { // error document.querySelector('[data-action="submitLogin"] .company-message').style.display = 'block'; } if( result.code === 200 ) { window._uid = result.data.aid; modalClose(); modalOpen('data-modal-referral'); showCopyLinkBtn(); } }) };