var isLandingPage = false;
try {
	if (landingPage) isLandingPage = true;
} catch (e) {
}

var useFriendlyURL = false;
if (location.href.indexOf("content") != -1) {
	useFriendlyURL = true;
}

var pattern = location.href;
pattern = pattern.substring(7);
pattern = pattern.substring(pattern.indexOf('/'));
if (pattern.indexOf('?') != -1) {
	pattern = pattern.substring(0, pattern.indexOf('?'));	
}
var friendlyURLReplacementPattern = pattern;

countryCookieName = "CountrySelect";
languageCookieName = "LanguageSelect";

expireDate = new Date();
expireDate.setTime(new Date().getTime() + (5000 * 24 * 60 * 60 * 1000));
cookiePath = "/dstvmobile";

countries = new Object();

	countries.ghana = new Object();
	countries.ghana.name = "Ghana";
	countries.ghana.languages = "en";
	countries.ghana.landingPage = "page1460";
	countries.ghana.friendlyURL = "/dstvmobile/content/en/ghana/ghana-home";

	countries.kenya = new Object();
	countries.kenya.name = "Kenya";
	countries.kenya.languages = "en";
	countries.kenya.landingPage = "page398";
	countries.kenya.friendlyURL = "/dstvmobile/content/en/kenya/kenya-home";

	countries.namibia = new Object();
	countries.namibia.name = "Namibia";
	countries.namibia.languages = "en";
	countries.namibia.landingPage = "page1409";
	countries.namibia.friendlyURL = "/dstvmobile/content/en/namibia/namibia-home";

	countries.nigeria = new Object();
	countries.nigeria.name = "Nigeria";
	countries.nigeria.languages = "en";
	countries.nigeria.landingPage = "page1466";
	countries.nigeria.friendlyURL = "/dstvmobile/content/en/nigeria/nigeria-home";

	countries.neight = new Object();
	countries.neight.name = "Nokia N8 - Selected Territories";
	countries.neight.languages = "en";
	countries.neight.landingPage = "page7240";
	countries.neight.friendlyURL = "/dstvmobile/content/en/neight/nokia-neight-landing";

	countries.southafrica = new Object();
	countries.southafrica.name = "South Africa";
	countries.southafrica.languages = "en";
	countries.southafrica.landingPage = "page3969";
	countries.southafrica.friendlyURL = "/dstvmobile/content/en/south-africa-plus/south-africa-plus-home";
	
	countries.tanzania = new Object();
	countries.tanzania.name = "Tanzania";
	countries.tanzania.languages = "en";
	countries.tanzania.landingPage = "page9582";
	countries.tanzania.friendlyURL = "/dstvmobile/content/en/tanzania/tanzania-landing";



function changeLocation(href) {
   currentPage = "page-1";
   if (location.href != href) { //we don't want to redirect to the same page that we are on... avoid recursive redirects
      location.href = href;
   }
}

//sets cookie according to country selection and redirects to landing page of this country
function countrySelected(country, stayOnPage) {
	
   var url;
   var new_url;
   if (country == null || country == "") {
      deleteCookie(countryCookieName);
      deleteCookie(languageCookieName);
      url = location.href;
      //new_url = url.replace(/(\/en\/|\/fr\/|\/pt\/)page[0-9]+/, "/en/Page [Map Landing Page] v1");
      if(useFriendlyURL) {     	
      	new_url = url.replace(friendlyURLReplacementPattern, "/dstvmobile/content/en/dstv-mobile/landing-map");
      	new_url = new_url.replace(/\/en\/|\/fr\/|\/pt\//, "/en/");
      } else {
      	new_url = url.replace(/(\/en\/|\/fr\/|\/pt\/)page[0-9]+/, "/en/Page [Map Landing Page] v1");
      }
   } else {
      setCookie(countryCookieName, country, expireDate, cookiePath);
      setCookie(languageCookieName, "en", expireDate, cookiePath);
      url = location.href;
      //new_url = url.replace(/(\/en\/|\/fr\/|\/pt\/)page[0-9]+/, "/en/" + countries[country].landingPage);
      if(useFriendlyURL) {
      	new_url = url.replace(friendlyURLReplacementPattern, countries[country].friendlyURL);
      	new_url = new_url.replace(/\/en\/|\/fr\/|\/pt\//, "/en/")
      } else {
      	new_url = url.replace(/(\/en\/|\/fr\/|\/pt\/)page[0-9]+/, "/en/" + countries[country].landingPage);
      }
   }
   if (!stayOnPage) changeLocation(new_url);
}

//sets cookie according to language selection and redirects to that language
function languageSelected(lang) {
   if (lang == "") {
      deleteCookie(languageCookieName);
   } else {
      setCookie(languageCookieName, lang, expireDate, cookiePath);
      var url = location.href;
      var new_url = url.replace(/\/en\/|\/fr\/|\/pt\//, "/" + lang + "/");
      changeLocation(new_url);
   }
}

//populates the langauage select fields according to country configuration
function setLanguages(country) {
   var langSelect = document.getElementById("langSelect");
   var index;
   if (langSelect.options != null) {
      for (i = 0; i < langSelect.options.length; i++) {
         if (langSelect.options[i].value != "") {
            index = countries[country].languages.indexOf(langSelect.options[i].value);
            if (index < 0) {
               langSelect.options[i] = null;
               i--;
            }
         }
      }
   }
}

//preselect the country and language according to the cookie values - is called by checkSettings();
function setDropdowns(country, lang) {
   if (document.getElementById("countrySelect")) {
      selectOptionByValue(document.getElementById("countrySelect"), country);
   }

   if (document.getElementById("langSelect")) {
      selectOptionByValue(document.getElementById("langSelect"), lang);
   }
}

function selectOptionByValue(obj, val) {
   if (obj.options && obj.options.length > 0) {
      for (var i = 0; i < obj.options.length; i++) {
         if (obj.options[i].value == val) {
            obj.options[i].selected = true;
         }
      }
   }
}

function detectCountry() {
	var currentUrl = '/dstvafrica/content/en/botswana/botswana_home'; //'/dstvmobile/applications/dstvmobile/custom/countries/javascript.jsp';
	var country = "";
	for (var countryName in countries) {
		var friendly = countries[countryName].friendlyURL;
		if (friendly.indexOf(currentUrl) != -1) {
			country = countryName;			
			break;				
		}
	}

	if (country != null) {
		countrySelected(country, true);	
	}
	
}

function checkSettings() {
   var url;
   var new_url;
   var countryCookie = getCookie(countryCookieName);
   var languageCookie = getCookie(languageCookieName);

	if (!isLandingPage && countryCookie==null) {
		//Set country cookie from the URL
		detectCountry();
	   var countryCookie = getCookie(countryCookieName);
	   var languageCookie = getCookie(languageCookieName);
	}

   //set cookie in list
   if (countryCookie!=null) setDropdowns(countryCookie, languageCookie);

   if (isLandingPage) {
      if (countryCookie != null && countryCookie != "") {
         var lang;
         if (languageCookie != null && languageCookie != "") {
            //use cookie language
            lang = languageCookie;
         } else {
            //user default language
            lang = "en";
         }
         url = location.href;
        
		  if(useFriendlyURL) { 
			new_url = url.replace(friendlyURLReplacementPattern, countries[countryCookie].friendlyURL);
			new_url = new_url.replace(/\/en\/|\/fr\/|\/pt\//, "/en/")
		  } else {
			new_url = url.replace(/(\/en\/|\/fr\/|\/pt\/)page[0-9]+/, "/en/" + countries[countryCookie].landingPage);
		  }

	     if (new_url.indexOf("dvb-h-landing")==-1) {
         	//changeLocation(new_url);
     	 } else {
	     	$('countrySelect').selectedIndex = 0;
     	 }
      }
   } else {
		var url = location.href;
		url = url.split("/");
		var sectionDir = url[url.length-2];
		var sectionLang = "";
		var urlLang = url[url.length-3];

		for (var countryName in countries) {
			var friendly = countries[countryName].friendlyURL;
			if (friendly.indexOf(sectionDir) != -1) {
				sectionLang = countries[countryName].languages;	
				countryCookie = countryName;
				break;				
			}
		}
		if (sectionLang.indexOf(urlLang) == -1) {
			languageCookie = "en";
		} else {
			languageCookie = urlLang;
		}
        languageSelected(languageCookie);
		countrySelected(countryCookie, true);

		//setLanguages(countryCookie);
		//set cookie in list

		 if (countryCookie!=null) setDropdowns(countryCookie, languageCookie);
	}
}

window.setTimeout("checkSettings()", 1000);


