

function LoadLearningProject(strResourceDirectory)
{

	//Keep track of the resource directory
	g_strResourceDirectory = strResourceDirectory;

	//Load a project xml
	var xmlDoc;
	var spnTitle;
	try
	{
		xmlDoc = SimLoadDocument(strResourceDirectory + "project.xml");
	}
	catch (e)
	{
		alert(GetString("LABEL_PROJECT_ERROR") + " " + strResourceDirectory + "project.xml" + " \r\n" + e);
		
		spnTitle = document.getElementById("projecttitle");
		m_strProjectTitle = "";
		spnTitle.innerText = GetString("TEXT_PROJECT_ERROR");
		return;
	}
	
	//Project title
	m_strProjectTitle = xmlDoc.selectSingleNode("//PROJECT/GENERAL/@displayname").value;
	spnTitle = document.getElementById("projecttitle");
	spnTitle.innerText = m_strProjectTitle;
	document.title = m_strProjectTitle + " - Grade";
	
	//Get the table of content
	var elmContent = xmlDoc.selectSingleNode("//PROJECT/CONTENT");

	var i;
	var intCnt = 0;
	var bHasCourse = false;

	for (i = 0; i < elmContent.childNodes.length; i++)
	{
		var elmLearnObj = elmContent.childNodes(i);
		if (elmLearnObj.tagName == "COURSE")
		{
			LoadCourse(elmLearnObj.getAttribute("filename"));
			bHasCourse = true;
		}
		else
		{
			LoadTest(elmLearnObj.getAttribute("filename"), elmLearnObj.getAttribute("name"));
			intCnt++;
		}
	}
	LoadProjectContentInfo(xmlDoc);

	//When all is loaded, update the course status
	if (bHasCourse)
		UpdateCourseStatus();

	CreateSettingPanel();
	if (bHasCourse)
		CreateSearchPanel();

}


var m_intSearchDelay = 0;
function DelaySearchInCourse()
{
	if (m_intSearchDelay != 0)
		clearTimeout(m_intSearchDelay);

	m_intSearchDelay = setTimeout(SearchInCourse, 750);
}

function SearchInCourse()
{
	m_intSearchDelay = 0;
	var _txtSearch = GetPageObject("txtSearch");
	var _elmSearchResults = GetPageObject("elmSearchResults");
	var strResults = "";

	strResults = GetSearchResults(_txtSearch.value);
	_elmSearchResults.innerHTML = strResults;

}

function CreateSearchPanel()
{
	AddNavPanel("search", GetString("TEXT_SEARCH"), "");

	var elmPanel = GetPageObject("NavContent_search");
	elmPanel.style.padding = "10";
	elmPanel.style.display = "none";
	var strHTML = "";

	strHTML += GetString("LABEL_SEARCH");
	strHTML += "<BR>";

	strHTML += "<SPAN style='border:1px solid silver; padding-right:2px;'>";
	strHTML += "<input id='txtSearch' onkeydown='DelaySearchInCourse()' style='border: 0px'></input>";
	strHTML += "<img style='position:relative;top:2px' src='design/search.png'>";
	strHTML += "</SPAN>";

	strHTML += "<BR>";
	strHTML += "<BR>";
	strHTML += GetString("LABEL_SEARCHRESULTS");
	strHTML += "<BR>";
	strHTML += "<span id='elmSearchResults' />";
	
	/*
	strHTML += "<span class='arrowlink' onclick='LoadInstructionContentInfo();'>" + GetString("TEXT_SHOW_INSTR") + "</span>";
	strHTML += "<BR>";
	strHTML += "<BR>";
	strHTML += GetString("LABEL_LANG");
	strHTML += "<BR>";
	strHTML += "<SELECT id='optLang' style='width:100px' onchange='ChangeLanguageAndSound();'>";
	strHTML += " <OPTION value='en-GB' " + (g_strLang == "en-GB" ? "SELECTED" : "") + ">" + GetString("TEXT_ENGLISH") + "</OPTION>";
	strHTML += " <OPTION value='sv-SE' " + (g_strLang == "sv-SE" ? "SELECTED" : "") + ">" + GetString("TEXT_SWEDISH") + "</OPTION>";
	strHTML += "</SELECT>";
	strHTML += "<BR>";
	strHTML += "<BR>";
	strHTML += GetString("LABEL_SOUND");
	strHTML += "<BR>";
	strHTML += "<SELECT id='optSound' style='width:100px' onchange='ChangeLanguageAndSound();'>";
	strHTML += " <OPTION value='true' " + (g_bSound == true ? "SELECTED" : "") + ">" + GetString("TEXT_ON") + "</OPTION>";
	strHTML += " <OPTION value='false' " + (g_bSound == false ? "SELECTED" : "") + ">" + GetString("TEXT_OFF") + "</OPTION>";
	strHTML += "</SELECT>";
	*/
	elmPanel.innerHTML = strHTML;
}

function CreateSettingPanel()
{

	AddNavPanel("settings", GetString("TEXT_SETTINGS"), "");

	var elmPanel = GetPageObject("NavContent_settings");
	elmPanel.style.padding = "10";
	elmPanel.style.display = "none";
	var strHTML = "";

	strHTML += "<span class='arrowlink' onclick='LoadInstructionContentInfo();'>" + GetString("TEXT_SHOW_INSTR") + "</span>";
	strHTML += "<BR>";
	strHTML += "<BR>";
	strHTML += GetString("LABEL_LANG");
	strHTML += "<BR>";
	strHTML += "<SELECT id='optLang' style='width:100px' onchange='ChangeLanguageAndSound();'>";
	strHTML += " <OPTION value='en-GB' " + (g_strLang == "en-GB" ? "SELECTED" : "") + ">" + GetString("TEXT_ENGLISH") + "</OPTION>";
	strHTML += " <OPTION value='sv-SE' " + (g_strLang == "sv-SE" ? "SELECTED" : "") + ">" + GetString("TEXT_SWEDISH") + "</OPTION>";
	strHTML += "</SELECT>";
	strHTML += "<BR>";
	strHTML += "<BR>";
	strHTML += GetString("LABEL_SOUND");
	strHTML += "<BR>";
	strHTML += "<SELECT id='optSound' style='width:100px' onchange='ChangeLanguageAndSound();'>";
	strHTML += " <OPTION value='true' " + (g_bSound == true ? "SELECTED" : "") + ">" + GetString("TEXT_ON") + "</OPTION>";
	strHTML += " <OPTION value='false' " + (g_bSound == false ? "SELECTED" : "") + ">" + GetString("TEXT_OFF") + "</OPTION>";
	strHTML += "</SELECT>";

	elmPanel.innerHTML = strHTML;
}

function GetHelpHTML()
{
	var strReturn = "";
}

function LoadProjectContentInfo(xmlDoc)
{
	//Hide eventual content info
	RemoveContentInfo();

	//New one
	_elmContentInfo = document.createElement("<DIV id='elmContentInfo'>");

	var strDesc = xmlDoc.selectSingleNode("//PROJECT/GENERAL/@description").value;

	var _ContentWin = GetPageObject("ContentWin");

	if (strDesc != "")
	{
		var elmInfo = document.createElement("<span class='header1'/>");
		elmInfo.innerText = GetString("LABEL_INFO");

		var elmInfoText = document.createElement("<p class='cntpnlparag'/>");
		elmInfoText.innerText = strDesc;

		_elmContentInfo.appendChild(elmInfo);
		_elmContentInfo.appendChild(elmInfoText);

	}
	_ContentWin.appendChild(_elmContentInfo);

}

function LoadInstructionContentInfo(strGuid)
{
	//Get the panel
	_ContentWin = GetPageObject("ContentWin");

	//Hide eventual content info
	RemoveContentInfo();

	//Find the player and hide it
	HidePlayer();

	var strHTML = GetString("TEXT_INSTRUCTIONS");

	var divDest = document.createElement("<DIV id='elmContentInfo'>");
	divDest.innerHTML = strHTML;
	_ContentWin.appendChild(divDest);
}

