var ajax_text = new Array();
var local = 'javascript/pages/load';
var selectedLanguage;

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;
}

var availableLanguages = new Array('us', 'uk', 'br', 'cz', 'dk', 'nl', 'fi', 'fr', 
	'de', 'hu', 'it', 'kr', 'no', 'pl', 'pt', 'ru', 'es', 'se');

var languageNames = new Array();
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() {
	document.write('<select onchange="if (this.value == \'\') {return;} changeLanguage(this.value);" name="lang">');
	document.write('<option value="">Choose your country</option>');
	for (i = 0; i < availableLanguages.length; i++) {
		var lang = availableLanguages[i];
		var langName = languageNames[lang]
		document.write('<option value="' + lang + '"' + ((lang == selectedLanguage) ? ' selected' : '') + '>' + langName + '</option>');
	}
	document.write('</select>');
}

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;
}

function changeLanguage(sLanguage) {
	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) {
	$('#container').attr('className', sLanguage);
	$.localise([local], {loadBase: true, language: 'us'});
	$.localise([local], {loadBase: true, language: sLanguage});
	
	try {
		$('#about_sub_title').html(ajax_text['about_sub_title']);
		$('#about_text').html(ajax_text['about_text']);
		$('#custom_sub_title').html(ajax_text['custom_sub_title']);
		$('#custom_text').html(ajax_text['custom_text']);
		$('#create_sub_title').html(ajax_text['create_sub_title']);
		$('#create_text').html(ajax_text['create_text']);
		$('#design_sub_title').html(ajax_text['design_sub_title']);
		$('#design_text').html(ajax_text['design_text']);
		$('#with_friends_sub_title').html(ajax_text['with_friends_sub_title']);
		$('#with_friends_text').html(ajax_text['with_friends_text']);
		$('#share_sub_title').html(ajax_text['share_sub_title']);
		$('#share_text').html(ajax_text['share_text']);
		$('#more_chars_sub_title').html(ajax_text['more_chars_sub_title']);
		$('#more_chars_text').html(ajax_text['more_chars_text']);
		$('#see_more_link').html(ajax_text['see_more_link']);
		$('#watch_video_link').html(ajax_text['watch_video_link']);
		$('#on_wii_link').html(ajax_text['on_wii_link']);
		$('#on_ds_link').html(ajax_text['on_ds_link']);
		$('#mysims_text').html(ajax_text['mysims_text']);
		$('#copyright').html(ajax_text['copyright']);
		$('#rights_reserved').html(ajax_text['rights_reserved']);
		$('#legal').html(ajax_text['legal']);
		$('#tos').html(ajax_text['tos']);
		$('#privacy').html(ajax_text['privacy']);
		$('#piracy').html(ajax_text['piracy']);
	} catch (e) {}
	
	$('#container').find('.hidden').removeClass('hidden');
}

function openNewsletter() {
	window.open('http://preferences.fun.ea.com/ea/mf_mysims.asp', 'mySims_news', 'status=0, height=520, width=465, resizable=0');
}

$(function() {
	updatePage(selectedLanguage);
	$('a[rel*=facebox]').facebox({
    	opacity : 0.7,
	    loadingImage : 'images/loading.gif'
	});
});