// Local and server environment setting
var envSetting;
var serverSetting;
var geoIPSetting;
$(function() {
	var stringArray = $("#environmentsetting").attr("value").split("framework");
	var stringArray2 = $("#environmentsetting").attr("value").split("://");
	envSetting = stringArray[0];
	httpSetting = stringArray2[0];
	serverSetting = $("#serversetting").attr("value");
	geoIPSetting = $("#geoipsetting").attr("value");
});

/* ----------------------------------------------------------------------------	
Get session cookie value
*/
function getCookieValue (cookieName) {
  var exp = new RegExp (escape(cookieName) + "=([^;]+)");
  if (exp.test (document.cookie + ";")) {
    exp.exec (document.cookie + ";");
    return unescape(RegExp.$1);
  }
  else return false;
}


/* ----------------------------------------------------------------------------	
Set warning popups
*/
var WarningPopup = "MicrosoftStoreWarningPopup";
var GeoPopup = "MicrosoftStoreGeoIPPopup";

function warningPopup() {
	// private variables
	var m_cookieName;
	var m_cookieValue;
	var m_pagePath;
	var m_webtrends;
	var m_httpSetting;
	var m_jqueryTarget;
	var m_dynamicSubTitle;
	
	// private methods
	var getCookie = function() {
		return getCookieValue(m_cookieName);
	};
	var setCookie = function(value) {
		document.cookie = (m_cookieName + "=" + value);
	};
	var showPopup = function() {
		if(!m_cookieValue || (m_cookieValue == 1 && m_httpSetting == "https") || (m_cookieValue == 2 && m_httpSetting == "http")) {
			return true;
		} else {
			return false;
		}
	};
	var setupPopup = function() {
		if(showPopup()) {
			$("#popupwarnings").html("<div id=\"outer\"></div>");
			$("#popupwarnings div").load(m_pagePath + " " + m_jqueryTarget, replaceText);
			$("div#outer").css("display", "block");
			m_jqueryTarget == ".geoIPPopup" ? popupWarningObj.iniGeoIPPopup() : "";				
		}
	}
	var replaceText = function() {
		if(m_dynamicSubTitle != "") {
			$("div#outer p.subTitle").html(m_dynamicSubTitle);
		}
	}
	// public methods
	return {
		init: function(initArray) {
			if(initArray.length >= 4) {
				m_cookieName = initArray[0];
				m_pagePath = initArray[1];
				m_webtrends = initArray[2];
				m_jqueryTarget = initArray[3];
				m_dynamicSubTitle = (initArray.length == 5) ? initArray[4] : "";
				m_httpSetting = httpSetting;
				m_cookieValue = getCookie();
				setupPopup();
			}
		},
		closePopup: function() {
			$("#outer").css("display", "none");
			if(m_httpSetting == "http" && !m_cookieValue) {
				setCookie(1);
			} else if(m_httpSetting == "https" && !m_cookieValue) {
				setCookie(2);
			} else {
				setCookie(3);
			}
			if(popupWarningArray.length > 0) {
				popupWarningObj.init(popupWarningArray.shift());
			}
		},
		iniGeoIPPopup: function() {
			if($(".geoIPPopup dl.list").length){
				iniGeoIP();	
			}
			else{
				setTimeout('popupWarningObj.iniGeoIPPopup()', 500);
			}
		}		
	};	
}

function warningPopupLinks(countryCode) {
	var returnVar = (location.href.indexOf("account") != -1) ? "http://" + location.host : location.protocol + "//" + location.host + location.pathname + location.search;
	returnVar += (returnVar.indexOf("?") != -1) ? "&" : "?";
	returnVar += "store=" + countryCode + "&WT.mc_id=GeoIPPopup_" + countryCode + location.hash;
	return returnVar;
}

var popupWarningArray = new Array();
var popupWarningObj = new warningPopup();

$(function(){
	if(geoIPSetting != "" && geoIPSetting != "--" && geoIPSetting != "JP") {
		var countryObj = new Object();
		countryObj.url = {
			AU: "http://www.microsoftstore.com.au?WT.mc_id=StoreLocationToggle=AU",
			BE: "http://emea.microsoftstore.com/fr/fr-FR/?WT.mc_id=StoreLocationToggle_BE",
			BR: "http://microsoftstore.com.br",
			CA: "http://www.microsoftstore.ca/shop/en-CA/",
			DK: "http://emea.microsoftstore.com/europe/da-DK/",
			DE: "http://emea.microsoftstore.com/DE/de-DE/?WT.mc_id=StoreLocationToggle_DE",
			ES: "http://emea.microsoftstore.com/es/es-ES/?WT.mc_id=StoreCountryToggle_ES",
			FI: "http://emea.microsoftstore.com/europe/fi-FI/?WT.mc_id=StoreLocationToggle_FI",
			FR: "http://emea.microsoftstore.com/fr/fr-FR/?WT.mc_id=StoreLocationToggle_FR",
			HK: "http://apoc.microsoftstore.com/hk/en-HK/?WT.mc_id=StoreLocationToggle_HK",
			IN: "http://www.microsoftstore.co.in/?WT.mc_id=StoreLocationToggle_IN",
			IT: "http://www.microsoftstore.it/?WT.mc_id=StoreLocationToggle_IT",
			JP: "http://www.microsoftstore.jp/?WT.mc_id=StoreLocationToggle_JP",
			MY: "http://www.microsoftstore.com.my/?WT.mc_id=StoreLocationToggle_MY",
			NL: "http://emea.microsoftstore.com/nl/nl-NL/?WT.mc_id=StoreCountryToggle_NL",
			NZ: "http://www.microsoftstore.co.nz/?WT.mc_id=StoreLocationToggle_NZ",
			NO: "http://emea.microsoftstore.com/europe/nb-NO",
			AT: "http://emea.microsoftstore.com/DE/de-DE?WT.mc_id=StoreLocationToggle_AT",
			PH: "http://www.microsoftstore.com.ph/?WT.mc_id=StoreLocationToggle_PH",
			SG: "http://www.microsoftstore.com.sg/?WT.mc_id=StoreLocationToggle_SG",
			SE: "http://emea.microsoftstore.com/europe/sv-SE",
			UK: "http://emea.microsoftstore.com/UK/en-GB?WT.mc_id=StoreLocationToggle_UK",
			US: "http://microsoftstore.com/store/msstore/home?WT.mc_id=StoreLocationToggle_US",
			KR: "http://www.microsoftstore.co.kr/?WT.mc_id=206",
			RU: "http://www.microsoftstore.ru/shop/ru-RU?WT.mc_id=StoreCountryToggle_RU"
		};
		countryObj.name = {
			AU: "Australia",
			AT: "Austria",
			BE: "Belgium",
			BR: "Brazil",
			CA: "Canada",
			DE: "Germany",
			DK: "Denmark",
			ES: "Spain",
			FI: "Suomi",
			FR: "France",
			HK: "Hong Kong",
			IN: "India",
			IT: "Italy",
			JP: "Japan",
			KR: "Korea",
			MY: "Malaysia",
			NL: "Netherlands",
			NO: "Norway",
			NZ: "New Zealand",
			PH: "Philippines",
			RU: "Russia",
			SG: "Singapole",
			SE: "Sweden",
			UK: "United Kingdom",
			US: "United States"
		};
		countryObj.message = (!countryObj.name[geoIPSetting]) ? "You appear to be in a country where we do not have an online Microsoft Store." : "You appear to be in " + countryObj.name[geoIPSetting] + ". <a target=\"_parent\" href=\"" + countryObj.url[geoIPSetting] + "\">Click here to go to the Microsoft Store for " + countryObj.name[geoIPSetting] + ".</a>";
		popupWarningArray.push(["MicrosoftStoreGeoIPPopup", "/Form/GeoIP/load4.htm", "GeoIPWarningPopup", ".geoIPPopup", countryObj.message]);
	}
	if(popupWarningArray.length > 0) {
		popupWarningObj.init(popupWarningArray.shift());
	}
});
