(function () { "use strict"; var cortanaResources = {}; var bridge = new CloudExperienceHost.Bridge(); var market = ""; var isProgressWaiting = false; function showLearnMoreFlyout() { if (isProgressWaiting) { return; } bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "Learn more link clicked").done(function (result) { }, function (e) { }); var flyoutButton = document.getElementById("learnMoreLink"); var flyout = document.getElementById("learnMoreFlyout"); flyout.style.width = "456px"; flyout.style.marginTop = getPageTop(document.getElementById("_pageContent")) + "px"; flyout.winControl.show(flyoutButton, "top", "left"); } function getPageTop(el) { var rect = el.getBoundingClientRect(); var docEl = document.documentElement; return rect.top + (window.pageYOffset || docEl.scrollTop || 0); } function isPsuedoLocale() { return (market === "qps-ploc" || market === "qps-ploca" || market === "qps-plocm" || market === "qps-Latn-x-sh" ); } function isMarketSupported() { return (isPsuedoLocale() || market === "en-us" || market === "zh-cn" || market === "zh-hans-cn" || market === "en-gb" || market === "fr-fr" || market === "it-it" || market === "de-de" || market === "es-es" || market === "ja" || market === "pt-br" || market === "es-mx" || market === "fr-ca"); } WinJS.UI.Pages.define("/views/cortana.html", { init: function (element, options) { var languagePromise = bridge.invoke("CloudExperienceHost.Globalization.Language.getPreferredLang").then(function (preferredLang) { market = preferredLang.toLowerCase(); _htmlRoot.setAttribute("lang", preferredLang); }, function () { }); var dirPromise = bridge.invoke("CloudExperienceHost.Globalization.Language.getReadingDirection").then(function (dirVal) { _htmlRoot.setAttribute("dir", dirVal); }, function () { }); var stringPromise = bridge.invoke("CloudExperienceHost.Cortana.localizedStrings").then(function (result) { cortanaResources = JSON.parse(result); }); var cssPromise = uiHelpers.LoadCssPromise(document.head, "..", bridge); return WinJS.Promise.join({ languagePromise: languagePromise, dirPromise: dirPromise, stringPromise: stringPromise, cssPromise: cssPromise }); }, ready: function (element, options) { var setContentFor = [cortanaIntro, cortanaPersonaText, cortanaContent, setCortanaOptOut, learnMoreLink, cortanaNextButton, learnMoreHeadline, learnMoreBody, learnMoreBody2]; for (var i = 0; i < setContentFor.length; i++) { setContentFor[i].innerHTML = cortanaResources[setContentFor[i].id]; } setCortanaOptOut.onclick = function () { if (isProgressWaiting) { return; } _setProgressState(true); bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "Cortana user clicked opt out").done(function (result) { }, function (e) { }); bridge.invoke("CloudExperienceHost.Cortana.setCortanaOptin", 0).done(function () { bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.success); }, function (e) { bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.fail); }); }; cortanaNextButton.onclick = function () { _setProgressState(true); bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "Cortana user clicked opt in").done(function (result) { }, function (e) { }); bridge.invoke("CloudExperienceHost.Cortana.setCortanaOptin", 1).done(function () { bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.success); }, function (e) { bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.fail); }); }; uiHelpers.RegisterEaseOfAccess(easeOfAccess, bridge); uiHelpers.RegisterInputSwitcher(inputSwitcher, bridge); learnMoreLink.addEventListener("click", showLearnMoreFlyout, false); var animation = document.getElementById("cortanaAnimation"); if (market === "ja") { animation.src = "../media/CortanaAnimationJa.gif"; } else { animation.src = "../media/CortanaAnimation.gif"; } var text = [ cortanaResources['cortanaPersonaText2'], cortanaResources['cortanaPersonaText3'], ]; var textIndex = 0; var interval = setInterval(function () { if (textIndex >= text.length - 1) { clearInterval(interval); } cortanaPersonaText.innerHTML = text[textIndex]; textIndex++; }, 8000); if (isMarketSupported()) { bridge.invoke("CloudExperienceHost.Cortana.isCortanaAllowedByPolicy").done(function (result) { if (result) { bridge.fireEvent(CloudExperienceHost.Events.visible, true); } else { bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.abort); } }, function (e) { bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.abort); }); } else { bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.abort); } function _setProgressState(waiting) { isProgressWaiting = waiting; cortanaNextButton.disabled = waiting; } }, error: function (e) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "CortanaError", JSON.stringify({ number: e && e.number, stack: e && e.asyncOpSource && e.asyncOpSource.stack })); bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.fail); } }); })();