var currentView = "home";
var currentLanguage = 1;
var MainContent;
var dsLanguages;

// Spry loadListener that fires off when the page is loaded.
Spry.Utils.addLoadListener(function init()
{
	menu_init();
	search_init();
	home_init();
	glossary_init();
		
	dsLanguages = new Spry.Data.JSONDataSet("libs/amfphp/json.php/CDataService.ListLanguages/1");
	Spry.Data.Region.addObserver("cbLanguage", {onPostUpdate: function(){document.getElementById("inputLanguage").selectedIndex = dsLanguages.data.length-1;}});
	
	MainContent = new Spry.Widget.HTMLPanel('content', {evalScripts:true});
	var postObserver = {onPostUpdate: main_onContentLoaded};
	var preObserver = {onPreLoad: main_onPreLoad};
	MainContent.addObserver(postObserver);
	MainContent.addObserver(preObserver);
});

function main_onLanguageChange()
{
	var langSelect = document.getElementById("inputLanguage");
	currentLanguage = langSelect.value;
	
	switch(currentView)
	{
		case "search":
			search_onChangeLanguage(currentLanguage);
		break;
		case "glossary":
			glossary_onChangeLanguage(currentLanguage);
		break;
		case "home":
		case "gpowm":
		case "help":
		case "contact":
		case "partner":
		case "impress":
			home_onChangeLanguage(currentLanguage);
		break;
		default:
	}
	
	menu_onChangeLanguage(currentLanguage);
	footer_onChangeLanguage(currentLanguage);
	
	//Header 
	//Change text in header
	if(currentLanguage == 1) //german
	{
		document.getElementById('header_sponsored_by').className = 'header_sponsored_by_de';
		document.getElementById('header_subtitle').className = 'header_subtitle_de';
	}
	else //english
	{
		document.getElementById('header_sponsored_by').className = 'header_sponsored_by_en';
		document.getElementById('header_subtitle').className = 'header_subtitle_en';
	}
}

function main_onContentChange(view, opt)
{
	if(currentView == view)
		return;
	
	if(view == "search_from_glossary")
		currentView = "search";
	else
		currentView = view;
	
	switch(view)
	{
		case "search":
			if(opt)
				search_onShowMethod(opt, currentLanguage);
			else
				search_onChangeLanguage(currentLanguage);
		break;
		case "search_from_glossary":
			search_onShowGlossaryMethods(opt, currentLanguage);
			view = "search";
		break;
		case "glossary":
			glossary_onChangeLanguage(currentLanguage);
		break;
		case "gpowm_sale":
			view = "gpowm";
		break;
		default:
	}
	
	var file = "view/user/view.user." + view + ".php?language="+currentLanguage;
	MainContent.loadContent(file);
}

function main_onContentLoaded()
{
	Spry.Data.initRegions();
	switch(currentView)
	{
		case "search":
			search_onPostUpdate();
		break;
		case "home":
			home_onPostUpdate();
		break;
		case "gpowm_sale":
			gpowm_onPostUpdate();
		break;
		default:		
	}
}

function main_onPreLoad()
{
	switch(currentView)
	{
		case "search":
			search_onPreLoad();
			break;
		default:
	}
}
