/*************************************************************
 * Copyright Gary McCaffrey
 * SalesBotGenerator.com
 * 2008-03-29 created
 *************************************************************/
// the time before the first message is posted
// also this is the time after user posts the message
// and before the "Agent ti sta scrivendo" appears
var TimeInit = 1000;

// this is the time before agent begin typing the next
// post in automatic welcome mode.
var TimeBeforeNewPost = 1000;

// time which agent is "typing" the message
var TimeDelay = 5000;

// Name of agent used
var AgentName = 'Massimo';

// array of welcome messages
var MessagesWelcome = new Array(
				"Ciao Amico, stavi lasciando il Sito? Spero che tu abbia scaricato i miei Omaggi!",
				"No? Tranquillo Sei ancora in tempo! Chiudi la finestra e compila il Form, non ti costa niente é tutto GRATIS!"
				);

// array of messages used to answer users' posts
var MessagesDiscussion = new Array(
				"Ciao e vieni a trovarmi sul <a href='http://www.massimoprete.com' target='_blank'>Mio Blog</a>"
				);

var oDiscusson = document.getElementById("commentdiv");
var oUserMessages = document.getElementById("typediv");
var oAgentTyping = document.getElementById("divAgentIsTyping");
var tAgent = null;
var tPost = null;
var bConversationStarted = false;
var iPrevMessageId = -1;
var iCurrentWelcomeMessage = -1;

function GetRandomString(source)
{
	var iNewMessageId = Math.floor(Math.random()*source.length);
	if ((iPrevMessageId == iNewMessageId) && (source.length>1))
		return GetRandomString(source);
	iPrevMessageId = iNewMessageId;
	return source[iNewMessageId];
}

function onUserMessage()
{

	if (oUserMessages.value!='')
	{

		setAgentTypingOff();

		clearTimeout(tAgent);
		clearTimeout(tPost);

		tAgent = setTimeout ( "setAgentTypingOn()", TimeInit );
		tPost = setTimeout ( "postMessage('discussion')", TimeInit + TimeDelay);

		if (oDiscusson.innerHTML!='')
			oDiscusson.innerHTML = oDiscusson.innerHTML + '<br><br>';

		oDiscusson.innerHTML = oDiscusson.innerHTML + '<span class="messageUser"><b>Tu:</b> ' + oUserMessages.value + '</span>';
		oUserMessages.value = '';
		oDiscusson.scrollTop = oDiscusson.scrollHeight;
	}
}

function GetNextWelcomeMessage()
{
	if (iCurrentWelcomeMessage < MessagesWelcome.length-1)
	{
		iCurrentWelcomeMessage++;
		return MessagesWelcome[iCurrentWelcomeMessage];
	}
	return '';
}


function postMessage(sMessageType)
{

	if (sMessageType == 'discussion')
	{
		var sMessage = GetRandomString(MessagesDiscussion);
	}else{
		var sMessage = GetRandomString(MessagesWelcome);
		var sMessage = GetNextWelcomeMessage();
		if (!bConversationStarted && sMessage!='')
		{
			tAgent = setTimeout ( "setAgentTypingOn()", TimeBeforeNewPost);
			tPost = setTimeout ( "postMessage('" + sMessageType + "')", TimeBeforeNewPost + TimeDelay);
		}
	}

	if (sMessage!='')
	{
		if (oDiscusson.innerHTML!='')
			oDiscusson.innerHTML = oDiscusson.innerHTML + '<br><br>';
		oDiscusson.innerHTML = oDiscusson.innerHTML + '<span class="messageAgent"><b>' + AgentName + ':</b> ' + sMessage + '</span>';
	}

	setAgentTypingOff();

	oDiscusson.scrollTop = oDiscusson.scrollHeight;
}

function setAgentTypingOn()
{
	oAgentTyping.innerHTML = AgentName + ' ti sta scrivendo...';
}

function setAgentTypingOff()
{
	oAgentTyping.innerHTML = '&nbsp;';
}


window.onload = function()
{
	setAgentTypingOff();
	tAgent = setTimeout ( "setAgentTypingOn()", 0);
	tPost = setTimeout ( "postMessage('welcome')", TimeInit);
}
