var ajax_text = new Array();
var local = 'javascript/pages/' + thisPage + '/load';
var common_local = 'javascript/pages/common/load';
var selectedLanguage;
var view_screenshot = false;
var view_video = false;

Array.prototype.in_array = function ( obj ) {
	var len = this.length;
	for ( var x = 0 ; x <= len ; x++ ) {
		if ( this[x] == obj ) return true;
	}
	return false;
}

//if (thisPage == 'about') {
	var availableLanguages = new Array('us', 'uk', 'br', 'cz', 'dk', 'nl', 'fr', 
		'de', 'hu', 'it', 'pl', 'pt', 'ru', 'es');
/*}
else {
	var availableLanguages = new Array('us');
}*/

var languageNames = new Array();
languageNames['select'] = 'Choose Your Country';
languageNames['us'] = 'US English';
languageNames['uk'] = 'UK English';
languageNames['br'] = 'Brazilian Portugese';
languageNames['cz'] = 'Czech';
languageNames['dk'] = 'Danish';
languageNames['nl'] = 'Dutch';
languageNames['fi'] = 'Finnish';
languageNames['fr'] = 'French';
languageNames['de'] = 'German';
languageNames['hu'] = 'Hungarian';
languageNames['it'] = 'Italian';
languageNames['kr'] = 'Korean';
languageNames['no'] = 'Norwegian';
languageNames['pl'] = 'Polish';
languageNames['pt'] = 'Portuguese';
languageNames['ru'] = 'Russian';
languageNames['es'] = 'Spanish';
languageNames['se'] = 'Swedish';

setLanguage();
function selectLanguage() {
	var sel = '<select onchange="if (this.value == \'\') {return;} changeLanguage(this.value);" name="lang" id="LanguageSelectorDDL">';
	sel += '<option value="">' + languageNames['select'] + '</option>';
	
	for (i = 0; i < availableLanguages.length; i++) {
		var lang = availableLanguages[i];
		var langName = languageNames[lang]
		sel += '<option value="' + lang + '"' + ((lang == selectedLanguage) ? ' selected' : '') + '>' + langName + '</option>';
	}
	sel += '</select>';
	
	$('#language_select').html(sel);
}

function setCookie(name, value, expires, path, domain, secure) {
	var today = new Date();
	today.setTime( today.getTime() );

	/*
		if the expires variable is set, make the correct 
		expires time. the current script below will set 
		it for x number of days. to make it for hours, 
		delete * 24, for minutes, delete * 60 * 24
	*/
	if (expires) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date(today.getTime() + (expires));

	document.cookie = name + "=" + escape(value) +
		((expires) ? ";expires=" + expires_date.toGMTString() : "") + 
		((path) ? ";path=" + path : "") + 
		((domain) ? ";domain=" + domain : "") +
		((secure) ? ";secure" : "");
}

function getCookie(name) {
	if (document.cookie.length>0) {
		start = document.cookie.indexOf(name + "=");
		if (start != -1) { 
			start = start + name.length + 1;
			end = document.cookie.indexOf(";", start);
			
			if (end == -1) {
				end = document.cookie.length;
			}
			
			return unescape(document.cookie.substring(start, end));
		} 
	}
	return false;
}
// File dynamically sets height of bkg1 and bkg2 divs 
// Added specifically for MySims Party - called at end of updatePage()
function equalColumns(){
			document.getElementById("bkg1").style.height = "";
			document.getElementById("bkg2").style.height = "";		
              var l = document.getElementById('bkg1');
              var r = document.getElementById('bkg2');              
              r.offsetHeight >= l.offsetHeight ? l.style.height = r.offsetHeight + "px" : r.style.height = l.offsetHeight - 20 + "px";                      
}
            
function changeLanguage(sLanguage) {

    // Added this block 2009-05 to divert some locales to the new site
    var locale = null;
    switch(sLanguage){
        case 'us':
            locale = 'en_US';
            break;
        
        case 'uk':
            locale = 'en_GB';
            break;
        
        case 'fr':
            locale = 'fr_FR';
            break;
        
        case 'de':
            locale = 'de_DE';
            break;
            
        case 'es':
            locale = 'es_ES';
            break;
        
        case 'it':
            locale = 'it_IT';
            break;
    }
    if(locale)
        location.href = "/home.action?lang=" + locale;

	selectedLanguage = _verifyLanguage(sLanguage);
	updatePage(selectedLanguage);
	
}

function setLanguage() {
	selectedLanguage = getCookie('selectedLanguage');	
	if (location.search.indexOf('lang') != -1) {
		selectedLanguage = location.search.split('=')[1];
	}
	
	selectedLanguage = _verifyLanguage(selectedLanguage);
}

function _verifyLanguage(sLanguage) {    
	sLanguage = (availableLanguages.in_array(sLanguage)) ? sLanguage : availableLanguages[0];
	setCookie('selectedLanguage', sLanguage, 3, '/');
	return sLanguage;
}

function updatePage(sLanguage) {
	$.localise([local], {loadBase: true, language: 'us'});	//	load default
	$.localise([local], {loadBase: true, language: sLanguage});	//	overwrite with selected country
	
	switch(thisPage) {
		case 'home':
			try {
				$('#kingdom_wii_text').html(ajax_text['kingdom_wii_text']);
				$('#sims_pc_sub_title').html(ajax_text['sims_pc_sub_title']);
				$('#sims_pc_text').html(ajax_text['sims_pc_text']);
				$('#sims_pc_more_link').html(ajax_text['sims_pc_more_link']);
				$('#sims_pc_order').html(ajax_text['sims_pc_order']);
				$('#kingdom_ds_text').html(ajax_text['kingdom_ds_text']);
				$('#recent_news_list').html(ajax_text['recent_news_list']);
				$('#recent_news_more_link').html(ajax_text['recent_news_more_link']);
				$('#game_select_title').html(ajax_text['game_select_title']);
				$('#late_to_party_link').html(ajax_text['late_to_party_link']);	
				$('#sims_nintendo_screens').html(ajax_text['sims_nintendo_screens']);	
				$('#sims_wii_screens').html(ajax_text['sims_wii_screens']);	
				$('#headerarea_textURL').html(ajax_text['headerarea_textURL']);	
				$('#noflashtext').html(ajax_text['noflashtext']);	
							
			} catch (e) {}
			break;
		case 'about':
			try {
				$('#about_sub_title').html(ajax_text['about_sub_title']);
				$('#about_text').html(ajax_text['about_text']);
				$('#epic_sub_title').html(ajax_text['epic_sub_title']);
				$('#epic_text').html(ajax_text['epic_text']);
				$('#new_face_sub_title').html(ajax_text['new_face_sub_title']);
				$('#new_face_text').html(ajax_text['new_face_text']);
				$('#travel_sub_title').html(ajax_text['travel_sub_title']);
				$('#travel_text').html(ajax_text['travel_text']);
				$('#build_sub_title').html(ajax_text['build_sub_title']);
				$('#build_text').html(ajax_text['build_text']);
				$('#ds_only_sub_title').html(ajax_text['ds_only_sub_title']);
				$('#ds_only_text').html(ajax_text['ds_only_text']);
				$('#more_wii_screens').html(ajax_text['more_wii_screens']);
				$('#more_ds_screens').html(ajax_text['more_ds_screens']);
				$('#watch_mysims_pc_video').html(ajax_text['watch_mysims_pc_video']);
				$('#kingdom_text').html(ajax_text['kingdom_text']);
			} catch (e) {}
			break;
		case 'news':
			try {
				$('#kingdom_text').html(ajax_text['kingdom_text']);
				$('#recent_news_list').html(ajax_text['recent_news_list']);
			} catch (e) {}
			break;
		case 'meet':
			try {
				$('#meet_text').html(ajax_text['meet_text']);
				$('#kingdom_ds_text').html(ajax_text['kingdom_ds_text']);
				$('#meet_newsletter_text').html(ajax_text['meet_newsletter_text']);
			} catch (e) {}
			break;
		case 'cool_stuff':
			try {
				$('#screenshots_text').html(ajax_text['screenshots_text']);
				$('#screenshots_ds_link').html(ajax_text['screenshots_ds_link']);
				$('#screenshots_download_all_link').html(ajax_text['screenshots_download_all_link']);
				$('#benjamin_video_link').html(ajax_text['benjamin_video_link']);
				$('#boat_video_link').html(ajax_text['boat_video_link']);
				$('#kingdom_text').html(ajax_text['kingdom_text']);
			} catch (e) {}
	}
	
	    $.localise([common_local], {loadBase: true, language: 'us'});	//	load default
	$.localise([common_local], {loadBase: true, language: sLanguage});	//	overwrite with selected country
	selectLanguage();
	
	try {
		$('#copyright').html(ajax_text['copyright']);
		$('#rights_reserved').html(ajax_text['rights_reserved']);
		$('#trademarks').html(ajax_text['trademarks']);
		$('#legal').html(ajax_text['legal']);
		$('#tos').html(ajax_text['tos']);
		$('#privacy').html(ajax_text['privacy']);		
		$('#piracy').html(ajax_text['piracy']);				
	} catch (e) {}
	
	try { $('#order_wii').html(ajax_text['order_wii']); } catch (e) {}
	try { $('#order_ds').html(ajax_text['order_ds']); } catch (e) {}
	try { $('#newsletter_text').html(ajax_text['newsletter_text']); } catch (e) {}
	try { $('#newsletter_link').html(ajax_text['newsletter_link']); } catch (e) {}
	
	$('body').find('.hide_on_load').removeClass('hide_on_load');
	try {
		//process_on_load();
	} catch(e) {}
	
	$('#container').attr('className', sLanguage);
	$('#facebox').attr('className', sLanguage);
	if (sLanguage == 'us') {
		$('#newsletter_nav_link').show();
	}
	else {
		$('#newsletter_nav_link').hide();
	}
	
}

function openNewsletter() {
	window.open('http://preferences.fun.ea.com/ea/mf_mysims.asp', 'mySims_news', 'status=0, height=520, width=465, resizable=0');
}

function consentToOpen(dest) {
//	var conf = confirm(ajax_text['consent_form']);

//	if (!conf) {
//		return;
//	}
	
	window.open(dest);
}

$(function() {
	updatePage(selectedLanguage);
	$('a[rel*=facebox]').facebox({
    opacity : 0.7,
    loadingImage : 'images/loading.gif'
	}); 
});

function buy_now(lang) {
  switch(lang) {
    case 'us':
      window.open('http://eastore.ea.com/DRHM/servlet/ControllerServlet?Action=DisplayProductDetailsPage&SiteID=ea&Locale=en_US&ThemeID=718200&Env=BASE&productID=106479500', 'buy', 'status=1, height=520, width=1000, resizable=1, scrollbars=1, toolbar=yes, location=yes');
      break;
    case 'de':
      window.open('http://www.amazon.de/gp/product/B001BNFQHW?ie=UTF8&tag=elecartswebsn21&linkCode=as2&camp=1638&creative=6742&creativeASIN=B001BNFQHW', 'buy', 'status=1, height=520, width=1000, resizable=1, scrollbars=1, toolbar=yes, location=yes');
      break;
  }
}
function Disable() {				
        document.getElementById("LanguageSelectorDDL").disabled=true;
    
		}
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;


function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
		{
			versionStr = GetSwfVer();
			if (versionStr == -1 ) {
				return false;
			} else if (versionStr != 0) {
				if(isIE && isWin && !isOpera) {
					// Given "WIN 2,0,0,11"
					tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
					tempString        = tempArray[1];			// "2,0,0,11"
					versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
				} else {
					versionArray      = versionStr.split(".");
				}
				var versionMajor      = parseFloat(versionArray[0]);
				var versionMinor      = parseFloat(versionArray[1]);
				var versionRevision   = parseFloat(versionArray[2]);
		
					// is the major.revision >= requested major.revision AND the minor version >= requested minor
				if (versionMajor > parseFloat(reqMajorVer)) {
					return true;
				} else if (versionMajor == parseFloat(reqMajorVer)) {
					if (versionMinor > parseFloat(reqMinorVer))
						return true;
					else if (versionMinor == parseFloat(reqMinorVer)) {
						if (versionRevision >= parseFloat(reqRevision))
							return true;
					}
				}
				return false;
			}
		}
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
			//alert("flashVer="+flashVer);
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}


function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}
 function popupScrolls(url,windowWidth,windowHeight){
myleft=(screen.width)?(screen.width-windowWidth)/2:100;
mytop=(screen.height)?(screen.height-windowHeight)/2:100;
properties = "width="+windowWidth+",height="+windowHeight+",scrollbars=no, resizable=no, top="+mytop+",left="+myleft;
window.open(url,name,properties)
}



	function load_text(text) {
		var w = 256;
		var h = 384;

		$('#screenCaption').html(ajax_text[text]);
	}



	function load_picture(pic) {
		var w = 256;
		var h = 384;
		

		$('#viewed_image').addClass('hidden');
		document.images.viewed_image.src = '';
		document.images.viewed_image.src = pic;
		$('#viewed_image').width(w);
		$('#viewed_image').height(h);
		$('#viewed_image').removeClass('hidden');
	}
