//! Copyright (c) Microsoft Corporation. All rights reserved.

window.contentSuffix = '_content';
window.beginTabId = 'tabBegin';
window.learnTabId = 'tabLearn';

window.progLangDefault = 'tabBegin_csharp';
window.mwtMarketDefault = 'en';

function initSdk() {
    window.mwtMarket = window.mwtMarketDefault;
    window.mwtTab = window.beginTabId;
    
    var params = parseQueryStringParams();

    if (params['mkt']) {
        window.mwtMarket = params['mkt'];
        window.mwtTab = window.learnTabId;
    }
}

function initSdkGui() {
    showTab(document.getElementById(window.beginTabId));
    showTab(document.getElementById(window.mwtTab));
    tabBeginProgLangSelected(document.getElementById(window.progLangDefault));
    
    var optLanguage = document.getElementById('optLanguage');
    optLanguage.value = window.mwtMarket;
    optLanguage.onchange = tabLearnMarketSelected;
}

function showTab(element) {
    if (window.tabActive) {
        window.tabActive.className = '';
        window.tabActiveContent.className = 'hidden';
    }
    
    window.tabActive = element;
    window.tabActiveContent = document.getElementById(window.tabActive.id + window.contentSuffix);
    window.tabActive.className = 'active';
    window.tabActiveContent.className = '';
}

function tabBeginProgLangSelected(element) {
    if (window.tabBeginProgLangActive && window.tabBeginProgLangActive.id == element.id) {
        return;
    }
    
    if (window.tabBeginProgLangActive) {
        window.tabBeginProgLangActive.className = '';
        window.tabBeginProgLangActiveContent.className = 'hidden';
    }

    window.tabBeginProgLangActive = element;
    window.tabBeginProgLangActiveContent = document.getElementById(window.tabBeginProgLangActive.id + window.contentSuffix);
    window.tabBeginProgLangActive.className = 'active';
    window.tabBeginProgLangActiveContent.className = '';
}

function tabLearnMarketSelected(e) {
    e = e ? e : window.event;
    window.location.search = '?mkt=' + e.srcElement.value;
}

function sdkAddEvent(obj, evType, fn){
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, false);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent('on' + evType, fn);
        return r;
    } else {
        return false;
    }
}

function parseQueryStringParams() {
    var assoc = {};
    var queryString = unescape(location.search.substring(1));
    var keyValues = queryString.split('&');
    for (var i in keyValues) {
        var key = keyValues[i].split('=');
        assoc[key[0].toLowerCase()] = key[1];
    }
    return assoc;
}

initSdk();
sdkAddEvent(window, 'load', initSdkGui);

