//Sapi functions

var oIFrame = null;
var Timeout = null;
var bTimeoutExit = true;
var szSAPILogout = '<xml version="1.0"><SAPI>' + szSpGoodBye + '</SAPI></xml>';

function TimeOutExit()
{
	bTimeoutExit = true;
}

function PlayText (szText)
{
	oIFrame = document.getElementById ("hiddenTextToSpeech");
	if (!oIFrame) {
		oIFrame = document.createElement('<iframe id="hiddenTextToSpeech" name="hiddenTextToSpeech" />');
		oIFrame.style.display = "none";
		document.appendChild (oIFrame);
	}
	//Non funziona con firefox: bisogna usare .src anziche' .location.href e la getElementById per cui bisogna assegnare l'id agli iframe
	//window.frames.hiddenTextToSpeech.location.href = objContextData.Get(CONTEXT_TOKEN) + "/psix/TextToSpeech.asp?text=" + szText;

	oIFrame.src = objContextData.Get(CONTEXT_TOKEN) + "/psix/TextToSpeech.asp?text=" + szText;
}

function HelloUser (nUserDocs)
{
	if (GetApplicationData ().length) 
		return;
	SetApplicationData ("UserLogged");
	var szString = '<xml version="1.0"><SAPI>';
	var nRilevantTime = parseInt(objContextData.Get(CONTEXT_SERVER_TIME));
	if (nRilevantTime < 12)
		szString += szSpGoodMorning;
	else if (nRilevantTime < 18)
		szString += szSpGoodAfternoon;
	else
		szString += szSpGoodEvening;
	szString += " <EMPH>" + objContextData.Get(CONTEXT_USER_FIRSTNAME) + " " + objContextData.Get(CONTEXT_USER_LASTNAME) + '</EMPH><SILENCE MSEC="500"/>';
	
	if (nUserDocs > 0)
	{
		szString += szSpYouHave + '<SILENCE MSEC="200"/>';
		if (nUserDocs < 11)
			eval ("szString += szSp" + nUserDocs + " + ' '");
		else
			szString += szSpMore + " ";
		szString += '<SILENCE MSEC="200"/>' + szSpAssets + " ";
	}
	else
		szString += szSpNoAssets + " ";
	szString += "</SAPI></xml>";
	PlayText (szString);
}

function GetContentText (szContent)
{
	var bInTag = false;
	var bInEntity = false;
	var szResultText = "";
	var nStartIndex = szContent.indexOf ("<body");
	if (nStartIndex == -1) {
		nStartIndex = szContent.indexOf ("<BODY");
		if (nStartIndex == -1)
			nStartIndex = 0;
	}
	var j = 0;
	for (var i = nStartIndex; i < szContent.length; i++) {
		if (szContent.charAt(i) == '<') {
			if (szContent.substr(i, 8).toLowerCase() == "<script>") {
				var nIdxNext = szContent.indexOf (szContent.substr (i + 1, 7), i + 8);
				if (nIdxNext == -1)
					bInTag = true;
				else
					i = nIdxNext + 6;
			}
			else if (szContent.substr (i, 7).toLowerCase() == "<style>") {
				var nIdxNext = szContent.indexOf (szContent.substr (i + 1, 6), i + 7);
				if (nIdxNext == -1)
					bInTag = true;
				else
					i = nIdxNext + 5;
			}
			else {
				bInTag = true;
			}
		}
		else if (szContent.charAt(i) == '>')
			bInTag = false;
		else if (szContent.charAt(i) == '&')
			bInEntity = true;
		else if (bInEntity && szContent.charAt(i) == ';')
			bInEntity = false;
		else if (!bInTag && !bInEntity) {
			szResultText += szContent.charAt(i);
			j++;
		}
	}
	return (szResultText);
}

