
// Not : below the code that execute first in the login of the portal
//=====================================================================
// 1. Load I18N dictionary. Read locale, font name and load dictionary  
//======================================================================

//jqImportI18NDictionary("prerequisite", gbl_sLocale);

String.prototype.replaceAll = function (sFrom, sTo) {
    return this.replace(new RegExp(sFrom, "gi"), sTo);
}

window.onload = function () {
    setI18N();
}
function setI18N() {
    try {
        window.document.title = Dictionary.sUnsupportedBrowserWindowTitle;
        document.body.style.fontFamily = gbl_sFontName;
        if (Dictionary == undefined || Dictionary == null)
            return;
    }
    catch (e) {

    }
}

// For "click here" link from unsupported browser page
function getUnsupportedBrowserUrl() {
    var strHref = window.location.search;
    var strQueryString = strHref;
    if (strQueryString.indexOf("?") > -1) {
        strQueryString = strHref.substr(strHref.indexOf("?") + 1);
        // remove ReturnUrl param
        var qString = strQueryString.split("&");
        for (var i = 0; i < qString.length; i++) {
            if (qString[i].indexOf("ReturnUrl") == 0) {
                qString.splice(i, 1);
                strQueryString = qString.join("&");
                break;
            }
        }
    }
    var redirectURL = "?force_all_browsers=true"; 
    if (strQueryString) {
        redirectURL += "&" + strQueryString;
    }
    return redirectURL;
}

// 2. Init Chrome Frame
//======================================================================


var UnsupportedBrowser = {

    sUnsupportedBrowserBrowserUrl_1: "https://www.google.com/intl/iw/chrome/browser/desktop/",
    sUnsupportedBrowserBrowserUrl_2: "http://www.mozilla.com",
    sUnsupportedBrowserBrowserUrl_3: "http://www.microsoft.com/windows/internet-explorer",
    sUnsupportedBrowserBrowserUrl_4: "http://www.apple.com/safari",
    sUnsupportedBrowserIpadUpgradeUrl: "http://www.apple.com/ios",
    sChromeBrowserForAndroidUrl: "https://play.google.com/store/apps/details?id=com.android.chrome",

    /* -------------------- External API --------------------------------------- */

    init: function () {
        // Create jQuery object
        var _$html = $(this.sComponentTemplate
			.replaceAll("<_title_>", Dictionary.sUnsupportedBrowserCaption)
			.replaceAll("<_text1_>", Dictionary.sUnsupportedBrowserTextAboveButton)
            .replaceAll("<_recommended_>", Dictionary.sChromeFrameRecommended)
			.replaceAll("<_browser1_>", Dictionary.sUnsupportedBrowserBrowser1)
			.replaceAll("<_browser2_>", Dictionary.sUnsupportedBrowserBrowser2)
            .replaceAll("<_browser3_>", Dictionary.sUnsupportedBrowserBrowser3)
            .replaceAll("<_browser3_2_>", "" /*Dictionary.sUnsupportedBrowserBrowser3_2*/)
			.replaceAll("<_browser4_>", Dictionary.sUnsupportedBrowserBrowser4)
            .replaceAll("<_browser4_2_>", Dictionary.sUnsupportedBrowserBrowser4_2)
			.replaceAll("<_browserUrl1_>", this.sUnsupportedBrowserBrowserUrl_1)
			.replaceAll("<_browserUrl2_>", this.sUnsupportedBrowserBrowserUrl_2)
            .replaceAll("<_browserUrl3_>", this.sUnsupportedBrowserBrowserUrl_3)
			.replaceAll("<_browserUrl4_>", this.sUnsupportedBrowserBrowserUrl_4)
            .replaceAll("<_ipad_users_text_>", Dictionary.sUnsupportedBrowserIpadUsers)
            .replaceAll("<_ipad_upgrade_text_>", Dictionary.sUnsupportedBrowserIpadUpgrade)
            .replaceAll("<_ipad_upgrade_link_>", this.sUnsupportedBrowserIpadUpgradeUrl)
            .replaceAll("<_continue_anyway_text_>", Dictionary.sUnsupportedBrowserContinueAnyway)
            .replaceAll("<_continue_anyway_click_here_>", Dictionary.sUnsupportedBrowserContinueClickHere)
            .replaceAll("<_continue_anyway_link_>", getUnsupportedBrowserUrl())

		);

        // Append to DOM
        $("body").append(_$html);
    },


    /* -------------------- HTML Templates and related ------------------------- */

    sComponentTemplate: [
		'<div class="cfiWorkplaceWrapper">\n',
		'	<div class="cfiWorkplace">\n',
		'		<div class="cfiMainContent">\n',
		'		<!-- Centered Module  - Start -->\n',
		'			<!-- Header with title - Start -->\n',
		'				<div class="cfiModuleHeader">\n',
		'					<div class="cfiModuleHeaderLeft"></div>\n',
		'					<div class="cfiModuleHeaderCenter"><span><_title_></span></div>\n',
		'					<div class="cfiModuleHeaderRight"></div>\n',
		'				</div>\n',
		'			<!-- Header with title - End -->\n',
		'			<!-- Module content - Start -->\n',
		'				<div class="cfiModuleBody">\n',
		'					<div class="cfiModuleBodyLeft"></div>\n',
		'					<div class="cfiModuleBodyCenter">\n',
		'						<div class="cfiModuleContent">\n',
		'							<div class="cfiModuleText1"><_text1_></div>\n',
//		'							<div class="cfiModuleBtnPlace">\n',
//		'								<table cellpadding="0" cellspacing="0" border="0">\n',
//		'								<tr>\n',
//		'									<td><a href="<_buttonUrl_>" class="cfiMpBtn1" onclick="this.blur()"><span class="cfiMpBtnIn1"><span class="cfiMpBtnIn2"><span class="cfiMpBtnIn3"><_button_></span></span></span></a></td>\n',
//		'								</tr>\n',
//		'								</table>\n',
//		'							</div>\n',
//		'							<div class="cfiModuleText1"><_text2_></div>\n',
		'							<div class="UnSupportedcfiModuleBrowsersPlace">\n',
		'								<table cellpadding="0" cellspacing="0" border="0">\n',
        '                               <tr>\n',
        '									<td class="unsupportedRecommendedCell"><_recommended_></td>\n',
    	'									<td><div class="cfiModuleBrowsersDistanceUnSupported">&nbsp;</div></td>\n',
		'									<td></td>\n',
        '								</tr>\n',
		'								<tr>\n',
		'									<td><table cellpadding="0" cellspacing="0" border="0" class="cfiModuleBrowserLinkPlaceUnSupported"><tr><td><a href="<_browserUrl1_>" class="cfiModuleBrowserLink5" onclick="this.blur()"><_browser1_></a></td></tr></table></td>\n',
		'									<td><div class="cfiModuleBrowsersDistanceUnSupported">&nbsp;</div></td>\n',
		'									<td><table cellpadding="0" cellspacing="0" border="0" class="cfiModuleBrowserLinkPlaceUnSupported"><tr><td><a href="<_browserUrl2_>" class="cfiModuleBrowserLink6" onclick="this.blur()"><_browser2_></a></td></tr></table></td>\n',
        '								</tr>\n',
        '								</table>\n',
		'							</div>\n',
        '							<div class="UnSupportedcfiModuleBrowsersPlace">\n',
		'								<table cellpadding="0" cellspacing="0" border="0">\n',
        '								<tr>\n',
		'									<td><table cellpadding="0" cellspacing="0" border="0" class="cfiModuleBrowserLinkPlaceUnSupported"><tr><td><a href="<_browserUrl3_>" class="cfiModuleBrowserLink3" onclick="this.blur()"><_browser3_></a></td></tr></table></td>\n',
        '									<td><div class="cfiModuleBrowsersDistanceUnSupported">&nbsp;</div></td>',
		'									<td><table cellpadding="0" cellspacing="0" border="0" class="cfiModuleBrowserLinkPlaceUnSupported"><tr><td><a href="<_browserUrl4_>" class="cfiModuleBrowserLink4" onclick="this.blur()"><_browser4_></a></td></tr></table></td>\n',
		'								</tr>\n',
        '                               <tr>\n',
		'									<td><table cellpadding="0" cellspacing="0" border="0" class="cfiModuleBrowserLinkPlaceUnSupported"><tr><td><a href="<_browserUrl3_>" class="cfiModuleBrowserLink3_2" onclick="this.blur()"><_browser3_2_></a></td></tr></table></td>\n',
        '									<td><div class="cfiModuleBrowsersDistanceUnSupported">&nbsp;</div></td>',
		'									<td><table cellpadding="0" cellspacing="0" border="0" class="cfiModuleBrowserLinkPlaceUnSupported"><tr><td><a href="<_browserUrl4_>" class="cfiModuleBrowserLink4_2" onclick="this.blur()"><_browser4_2_></a></td></tr></table></td>\n',
		'								</tr>\n',
        '								</table>\n',
		'							</div>\n',
        '                           <div class="ipadDiv">\n',
        '                             <a title="<_ipad_users_text_><_ipad_upgrade_text_>" href="<_ipad_upgrade_link_>" ><_ipad_users_text_><_ipad_upgrade_text_></a>',
        '                           </div>\n', 
        '                           <div class="continueAnywayCell showContinueLink">\n',
        '                             <_continue_anyway_text_><a title="<_continue_anyway_text_><_continue_anyway_click_here_>" href="<_continue_anyway_link_>" ><_continue_anyway_click_here_></a>',                            
        '                           </div>\n', 
		'						</div>\n',
		'					</div>\n',
		'					<div class="cfiModuleBodyRight"></div>\n',
		'				</div>\n',
		'			<!-- Module content - End -->\n',
		'			<!-- Footer with rounded corners - Start -->\n',
		'				<div class="cfiModuleFooter">\n',
		'					<div class="cfiModuleFooterLeft"></div>\n',
		'					<div class="cfiModuleFooterCenter"></div>\n',
		'					<div class="cfiModuleFooterRight"></div>\n',
		'				</div>\n',
		'			<!-- Footer with rounded corners - End -->\n',
		'		<!-- Centered Module - Start -->\n',
		'		</div>\n',
		'	</div>\n',
		'<!-- Footer with logo -->\n',
		'	<div class="cfiFooter"></div>\n',
		'</div>\n'
	].join("")

}

var AndroidUnsupportedBrowser = {

    sNetTestGPUUrl: "LVClient/NetTest/NetTestGPU.htm?minGPU=30",

    /* -------------------- External API --------------------------------------- */

    init: function () {
        // Create jQuery object
        var _$html = $(this.sComponentTemplate
			.replaceAll("<_title_>", Dictionary.sUnsupportedBrowserCaption)
            .replaceAll("<_os_upgrade_text_>", Dictionary.sUnsupportedBrowserAndroidUpgrade)
            .replaceAll("<_os_upgrade_link_>", this.sUnsupportedBrowserIpadUpgradeUrl)
			.replaceAll("<_text1_>", Dictionary.sUnsupportedBrowserTextOneBrowserRecommend)
            .replaceAll("<_to_use_Clinical_Platform_>", Dictionary.sToUseClinicalCollaborationPlatform)
            .replaceAll("<_ShortBrowserRecommend_>", Dictionary.sUnsupportedBrowserUseOneBrowser)
            .replaceAll("<_browser1_>", Dictionary.sUnsupportedBrowserBrowser1)
			.replaceAll("<_browserUrl1_>", this.sChromeBrowserForAndroidUrl)
			.replaceAll("<_continue_anyway_text_>", Dictionary.sUnsupportedBrowserContinueAnyway)
            .replaceAll("<_continue_anyway_click_here_>", Dictionary.sUnsupportedBrowserContinueClickHere)
            .replaceAll("<_continue_anyway_link_>", getUnsupportedBrowserUrl())
            .replaceAll("<_test_gpu_text>", Dictionary.sTestGPU)
            .replaceAll("<_test_gpu_link_>", this.sNetTestGPUUrl)
            .replaceAll("<_gpuinstruction_>", Dictionary.sTestGPUInstruction)
            
		);

        // Append to DOM
        $("body").append(_$html);
    },

    GetAndroidOS: function () {
        var MajorVersion = 0;
        var MinorVersion = 0;
        var userAgent = navigator.userAgent.toLowerCase();
        var iOSIndex = navigator.userAgent.indexOf('Android');
        if (iOSIndex > 0) {
            var eOSIdx = userAgent.indexOf(';', iOSIndex + 8);
            var osVersion ;
            if (eOSIdx < 0){
                eOSIdx = userAgent.length - 1;
            }
            osVersion = userAgent.substring(iOSIndex + 8, eOSIdx);
            var osParts = osVersion.split('.', 2);
            if ((osParts != null) ) {
                MajorVersion = osParts[0];
                MinorVersion = "0";
                if (osParts.length > 1) {
                    MinorVersion = osParts[1];
                }
            }
            
        }
        return { majorVersion: MajorVersion, minorVersion: MinorVersion };

    },
    /* -------------------- HTML Templates and related ------------------------- */

    sComponentTemplate: [
		'<div class="cfiWorkplaceWrapper">\n',
		'	<div class="cfiWorkplace">\n',
		'		<div class="cfiMainContent">\n',
		'		<!-- Centered Module  - Start -->\n',
		'			<!-- Header with title - Start -->\n',
		'				<div class="cfiModuleHeader">\n',
		'					<div class="cfiModuleHeaderLeft"></div>\n',
		'					<div class="cfiModuleHeaderCenter"><span id="iTitleID"><_title_></span></div>\n',
		'					<div class="cfiModuleHeaderRight"></div>\n',
		'				</div>\n',
		'			<!-- Header with title - End -->\n',
		'			<!-- Module content - Start -->\n',
		'				<div class="cfiModuleBody">\n',
		'					<div class="cfiModuleBodyLeft"></div>\n',
		'					<div class="cfiModuleBodyCenter">\n',
		'						<div class="cfiModuleContent">\n',
        '							<div class="cfiModuleTextLeft"><_to_use_Clinical_Platform_></div>\n',
        '							<div class="cfiModuleTextLeftWithOffset" id="UpgradeOSID"><_os_upgrade_text_></div>\n',
        '							<div class="cfiModuleTextLeftWithOffset" id="shortBrowserRecommend"><_ShortBrowserRecommend_></div>\n',
        '							<div class="cfiModuleText1" id="longBrowserRecommend"><_text1_></div>\n',
        '							<div class="UnSupportedcfiModuleBrowsersPlace">\n',
		'								<table cellpadding="0" cellspacing="0" border="0">\n',
        '                               <tr>\n',
    	'									<td><div class="cfiModuleBrowsersDistanceUnSupported">&nbsp;</div></td>\n',
		'									<td></td>\n',
        '								</tr>\n',
		'								<tr>\n',
		'									<td><table cellpadding="0" cellspacing="0" border="0" class="cfiModuleBrowserLinkPlaceUnSupported"><tr><td><a href="<_browserUrl1_>" class="cfiModuleBrowserLink5" onclick="this.blur()"><_browser1_></a></td></tr></table></td>\n',
		'									<td><div class="cfiModuleBrowsersDistanceUnSupported">&nbsp;</div></td>\n',
		'								</tr>\n',
        '								</table>\n',
		'							</div>\n',
        '							<div class="UnSupportedcfiModuleBrowsersPlace">\n',
		'								<table cellpadding="0" cellspacing="0" border="0">\n',
        '								<tr>\n',
		'									<td><div class="cfiModuleBrowsersDistanceUnSupported">&nbsp;</div></td>',
		'								</tr>\n',
        '                               <tr>\n',
		'									<td><div class="cfiModuleBrowsersDistanceUnSupported">&nbsp;</div></td>',
		'								</tr>\n',
        '								</table>\n',
		'							</div>\n',
        '                           <div class="continueAnywayCell showContinueLink">\n',
        '                             <_continue_anyway_text_><a title="<_continue_anyway_text_><_continue_anyway_click_here_>" href="<_continue_anyway_link_>" ><_continue_anyway_click_here_></a>',
        '                           </div>\n',
        '							<div class="cfiModuleText1"><_gpuinstruction_></div>\n',
        '                           <div class="TestGPU">\n',
        '                             <a title="<_test_gpu_text>" href="<_test_gpu_link_>" ><_test_gpu_text></a>',
        '                           </div>\n',
        '						</div>\n',
		'					</div>\n',
		'					<div class="cfiModuleBodyRight"></div>\n',
		'				</div>\n',
		'			<!-- Module content - End -->\n',
		'			<!-- Footer with rounded corners - Start -->\n',
		'				<div class="cfiModuleFooter">\n',
		'					<div class="cfiModuleFooterLeft"></div>\n',
		'					<div class="cfiModuleFooterCenter"></div>\n',
		'					<div class="cfiModuleFooterRight"></div>\n',
		'				</div>\n',
		'			<!-- Footer with rounded corners - End -->\n',
		'		<!-- Centered Module - Start -->\n',
		'		</div>\n',
		'	</div>\n',
		'<!-- Footer with logo -->\n',
		'	<div class="cfiFooter"></div>\n',
		'</div>\n'
	].join("")

}

// Chrome Frame page initialization
$(function () {
    if ($("body.cfiBody")) {
        if (window.platform.Android) {
            AndroidUnsupportedBrowser.init();
            var os = AndroidUnsupportedBrowser.GetAndroidOS();
            if (os.majorVersion >= 4) { //Remove the android version warning 
                $("#UpgradeOSID").hide();
                $("#shortBrowserRecommend").hide();
            }
            else {
                $("#longBrowserRecommend").hide();
                if (navigator.userAgent.indexOf('Chrome') != -1) //If the browser is chrome we put warning on the android version in the title.
                    $("#iTitleID").html(Dictionary.sUnsupportedAndroidVersionCaption);
            }
        }
        else {
            UnsupportedBrowser.init();
        }
    }
});



