function Attiva_AV()
{
	/*
	var parlato = readCookie("parlato");
	if (parlato == "" || parlato == null)
		MostraAV ("saluto_argos");
	else
		MostraAV ("");
	createCookie("parlato", "true", 30);
	*/

	/*jQuery(
		function()
		{
			setTimeout('attiva_layer_mobile()', 2000);
		}
	);*/

	document.getElementById("boxB").style.display = "inline";

	GetNLIAnswer(0);
}

function attiva_layer_mobile()
{
	jQuery.ui.dialog.defaults.bgiframe = true;
	dialogy = 150;
	var dialogx = 1000;
	if (screen.width == 800)
		dialogx = 500;
	else if (screen.width == 1024)
		dialogx = 750;
  var dialogposition=[dialogx, dialogy];
	jQuery("#dialog").dialog(
	{
		autoOpen:true,
		width:234,
		Height:400,
		position: dialogposition,
		zIndex: 10000,
		dragStop: function(event, ui)
		{
			var position = ui.position;
		},
		close: function(event, ui)
		{
			MostraAV("");
		}
	});
}

function chiudi_layer_mobile()
{
	MostraAV("");
	document.getElementById("boxB").style.display = "none";
}

function createCookie(nome,valore,days) {
	if (days) {
		var date = new Date();
		//date.setTime(date.getTime()+(days*24*60*60*1000));
		date.setTime(date.getTime()+(days*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = nome+"="+valore+expires+"; path=/";
}

function readCookie(nome) {
	var nameEQ = nome + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(nome) {
	createCookie(nome,"",-1);
}

function MostraAV(file_audio)
{
	if (swfobject.hasFlashPlayerVersion("10.0.14"))
	{
		document.getElementById("box_avatar").innerHTML = "<div id=\"box_avatar_inner\"></div>";

		var flashvars = { }
		if (file_audio != "")
		{
			flashvars = {
				response:	"av_scripts/audio/"+file_audio
			};
		}
		else
		{
			flashvars = {
				response:	"av_scripts/audio/silenzio"
			};
		}
		var params = {
			wmode:	"transparent",
			menu:	"false",
			scale:	"noscale"
		};
		var attributes = {
			id: "avatar_flash",
			name: "avatar_flash"
		};

		swfobject.embedSWF("av_graphics/avatar.swf", "box_avatar_inner", "200", "200", "10.0.12","http://93.95.218.43/avclick/avatar/expressInstall_22.swf", flashvars, params, attributes);
	}
	else
	{
		var stringa = "<table width=\"200\" height=\"200\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" style=\"background-color: #ffffff; filter:alpha(opacity=80); -moz-opacity:0.8; opacity: 0.8;\">\n";
		stringa += "<tr align=\"center\" valign=\"middle\">\n<td>\n";
		stringa += "<b style=\"color:#e24e30;\">Si prega di aggiornare il flash player con una versione pi&ugrave; recente!<br /><br />";
		stringa += "<p><a href=\"http://www.adobe.com/go/getflashplayer\"><img src=\"http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif\" alt=\"Get Adobe Flash player\" border=\"0\" /></a></p>";
		stringa += "<a href=\"http://www.adobe.com/go/getflashplayer\" style=\"color:#e24e30;\">Clicca qui per aggiornare.</a></b>";
		stringa += "</td>\n</tr>\n</table>\n";
		document.getElementById("box_avatar").innerHTML = stringa;
	}
}

var ajax, obj, useAjax, timerID, inputTimerId;
//var BotDialogUrl = "http://www.argosenergia.it/getanswer.php";
var BotDialogUrl = "http://"+location.host.toString()+"/getanswer.php";

// Funzione di dialogo con il bot (tramite ajax)
function GetNLIAnswer(resetdialog)
{
	// Parametri di input :
	// sessionname, sessionval, nochacheval => variabili per il dialogo con il BOT
	// resetdialog =>
	//		0 = nessun reset
	//		1 = inizializzazione del bot
	//		2 = reset periodico
	// Parametri di output :
	// false => chiamata eseguita con Ajax
	// true => chiamata da eseguire tramite submit classico della form

	var BotQuestion = escape(document.QuestionForm.BOTQuestion.value);

	var sessionname = "PHPSESSID";
	var sessionval = GetObjectFromID("PHPSESSID").value;

	// Blocco la form, in modo da non avere altri dati in input mentre vengono elaborati questi
	document.QuestionForm.BOTQuestion.disabled = true;
	document.QuestionForm.btnsend.disabled = true;

	// assegnazione oggetto XMLHttpRequest
	if (! ajax)
		ajax = GetXMLHttpRequest();

	obj = GetObjectFromID("BOTAnswerDiv");
	useAjax = true;

	// Setto un timeout per riabilitare la casella di input, nel caso la risposta si bloccasse
	if(inputTimerId)
		clearTimeout(inputTimerId);
	inputTimerId = setTimeout('userinput_setfocus()', 30000);

	// se l'oggetto XMLHttpRequest non č nullo
	if(ajax)
	{
		// setto a false per non eseguire il submit della form
		useAjax = false;

		// impostazione richiesta asincrona in GET
		// del file specificato
		ajax.open("post", BotDialogUrl, true);

		// imposto il giusto header
		ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");

		// rimozione dell'header "connection" come "keep alive"
		ajax.setRequestHeader("connection", "close");

		if (resetdialog == 0)
			// effettuo la richiesta inviando la variabile leggi con contenuto Dante
			ajax.send(sessionname + "=" + sessionval + "&BOTQuestion=" + BotQuestion);
		else
			// effettuo una richiesta di inizializzazione la connessione con il bot
			ajax.send(sessionname + "=" + sessionval + "&BOTQuestion=" + BotQuestion +"&resetdialog=1");

		// impostazione controllo e stato della richiesta
		ajax.onreadystatechange = function()
		{
			// verifica dello stato
			if(ajax.readyState === readyState.COMPLETED)
			{
				// verifica della risposta da parte del server
				if (resetdialog < 2)
				{
					if(statusText[ajax.status] === "OK")
					{
						// operazione avvenuta con successo
						risposta = ajax.responseText.split("####");

						//alert ("done:\n"+ajax.responseText);

						obj.innerHTML = risposta[0]+risposta[1];
						document.getElementById('PHPSESSID').value = risposta[2];
					}
					else
					{
						// errore di caricamento
						obj.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
						obj.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
					}
				}

				// Elimino il timer per riabilitare la casella di input se la risposta č stata processata correttamente
				if(inputTimerId)
					clearTimeout(inputTimerId);

				document.QuestionForm.BOTQuestion.disabled = false;
				document.QuestionForm.btnsend.disabled = false;
				document.QuestionForm.BOTQuestion.value = "";

				document.QuestionForm.BOTQuestion.focus();
			}
		}
	}

	if(timerID)
		clearTimeout(timerID);
	timerID = setTimeout('sessionTimeout()', 180000);

  return useAjax;
};

// funzione per prendere un elemento con id univoco
function GetObjectFromID(id_object)
{
	var obj;
	if(document.getElementById)
		obj = document.getElementById(id_object);
	else
		obj = document.all[id_object];
	return obj;
};


// funzione per assegnare un oggetto XMLHttpRequest
function GetXMLHttpRequest()
{
	var
		XHR = null,
		UserBrowser = navigator.userAgent.toUpperCase();

	if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
		XHR = new XMLHttpRequest();
	else
		if(window.ActiveXObject && UserBrowser.indexOf("MSIE 4") < 0)
		{
			if(UserBrowser.indexOf("MSIE 5") < 0)
				XHR = new ActiveXObject("Msxml2.XMLHTTP");
			else
				XHR = new ActiveXObject("Microsoft.XMLHTTP");
		}
	return XHR;
};


function userinput_setfocus()
{
	document.QuestionForm.btnsend.disabled = false;
	document.QuestionForm.BOTQuestion.focus();
};


/*function PopUp(newUrl)
{
	parent.mainFrame.location.href="../" + newUrl;
};*/


function sessionTimeout()
{
	var text = new Array();
	var voice = new Array();
	var random = Math.round(2*Math.random());
	var output;
	text[0] = "&gt; Non stai pi&ugrave; parlando con me. Fra un p&ograve; me ne vado.";
	text[1] = "&gt; A quanto pare non vuoi pi&ugrave; chiedermi niente. Penso che fra poco me ne andr&ograve;.";
	text[2] = "&gt; Non mi chiedi pi&ugrave; niente?";
	voice[0] = "av/exc001";
	voice[1] = "av/exc002";
	voice[2] = "av/exc003";

	output = "<div id=\"avatar_flash\">";
	output = output + "<OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"";
 	output = output + "codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"";
 	output = output + "width=\"176\" height=\"173\" id=\"avatar\">";
 	output = output + "<PARAM NAME=\"movie\" value=\"avatar.swf\"> <PARAM name=FlashVars value=\"response="+voice[random]+"\"> <PARAM name=\"quality\" value=\"best\"> <PARAM name=\"scale\" value=\"noscale\"> <PARAM name=\"wmode\" value=\"transparent\"> <EMBED src=\"avatar.swf\" scale=\"noscale\" FlashVars=\"response="+voice[random]+"\" wmode=\"transparent\" quality=\"best\" width=\"176\" height=\"173\" name=\"avatar\"";
 	output = output + "type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"></EMBED>";
	output = output + "</OBJECT>\n</div>\n<br />";
	output = output + text[random];

	//document.getElementById('BOTAnswerDiv').innerHTML = output;
	if(timerID)
		clearTimeout(timerID);
	//timerID = setTimeout('GetNLIAnswer (2);', 60000);
	GetNLIAnswer (2);
};


function verifyBotQuestion(InputQuestion)
{
	if (InputQuestion.length == 0)
		return false;
	else
		return true;
};


// Funzioni richiamate da js_execute all'interno di NLI:
function Open_Win(theURL,target,W,H,scroll)
{
	var par;
	par = 'width=' + W + ',height=' + H + ',left=0,top=0,resizable=yes,toolbar=yes,directories=yes,menubar=yes,scrollbars=' + scroll;
	newWin = window.open(theURL,target,par);
	if (window.focus)
		newWin.focus();
};


function Open_Popup(theURL,target,W,H,scroll)
{
	var xPos;
	if (W != '')
		xPos = screen.width - W;
	else
		xPos = W;
	var par;
	//par = 'width=' + W + ',height=' + H + ',left=0,top=0,toolbar=no,directories=no,menubar=no,scrollbars=' + scroll;
	par = 'width=' + W + ',height=' + H + ',left='+xPos+',top=0,toolbar=no,directories=no,menubar=no,scrollbars=' + scroll;
	newWin = window.open(theURL,target,par);
	if (window.focus)
		newWin.focus();
};


function Shut_bot(str)
{
	setTimeout('self.location.href=(\''+str+'\')', 6000);
};


function Close_bot()
{
	setTimeout('self.close()', 10000);
};


function Close_bot(str)
{
	document.getElementById('answer').innerHTML = str;
	setTimeout('self.close()', 5000);
};


// Funzioni per la gestione delle webaction quando il bot si trova in una popup
function Open_Win_From_Popup(theURL,target,W,H,scroll)
{
	window.open (theURL, '_new', 'width=800,height=600,toolbar=no,directories=no,menubar=no,scrollbars=yes,resizable=yes');
	//window.opener.location.href=theURL;
	//passa il focus sulla nuova pagina e dopo un tot sul bot nuovamente
	//if (window.focus)
	//	window.opener.focus();
	//window.setTimeout("window.focus()",5000);
};


function Open_Win_From_Popup_And_Close(theURL,target,W,H,scroll)
{
	window.opener.location.href=theURL;
	window.setTimeout("self.close()",10000);
}


// Funzioni per i link cliccabili negli output del Bot:
function sendInput(str)
{
	//top.vaframes.document.QuestionForm.BOTQuestion.value=str;
	document.QuestionForm.BOTQuestion.value=str;
	/*try
	{
		top.vaframes.document.QuestionForm.BOTQuestion.value=str;
		//parent.set_recv_output();*/
		//top.vaframes.document.QuestionForm.submit();/*
		document.QuestionForm.submit();/*
	}
	catch(e)
	{
		document.write('Funzionalitą di memoria utente temporaneamente disabilitata per motivi tecnici.');
	}*/
};


// Funzione per la parte audio del bot
function PlaySound(what)
{
	document.write ("<EMBED src='"+what+"' autostart='true' loop='false' volume='100' hidden='true'>");
	document.write ("<NOEMBED><BGSOUND src='"+what+"'></NOEMBED>");
};


/** OGGETTI / ARRAY */

// oggetto di verifica stato
var readyState = {
		INACTIVE:	0,
		INITIALIZED:	1,
		REQUESTED:	2,
		RESPONSED:	3,
		COMPLETED:	4
};


// array descrittivo dei codici restituiti dal server
// [la scelta dell' array č per evitare problemi con vecchi browsers]
var statusText = new Array();
statusText[100] = "Continue";
statusText[101] = "Switching Protocols";
statusText[200] = "OK";
statusText[201] = "Created";
statusText[202] = "Accepted";
statusText[203] = "Non-Authoritative Information";
statusText[204] = "No Content";
statusText[205] = "Reset Content";
statusText[206] = "Partial Content";
statusText[300] = "Multiple Choices";
statusText[301] = "Moved Permanently";
statusText[302] = "Found";
statusText[303] = "See Other";
statusText[304] = "Not Modified";
statusText[305] = "Use Proxy";
statusText[306] = "(unused, but reserved)";
statusText[307] = "Temporary Redirect";
statusText[400] = "Bad Request";
statusText[401] = "Unauthorized";
statusText[402] = "Payment Required";
statusText[403] = "Forbidden";
statusText[404] = "Not Found";
statusText[405] = "Method Not Allowed";
statusText[406] = "Not Acceptable";
statusText[407] = "Proxy Authentication Required";
statusText[408] = "Request Timeout";
statusText[409] = "Conflict";
statusText[410] = "Gone";
statusText[411] = "Length Required";
statusText[412] = "Precondition Failed";
statusText[413] = "Request Entity Too Large";
statusText[414] = "Request-URI Too Long";
statusText[415] = "Unsupported Media Type";
statusText[416] = "Requested Range Not Satisfiable";
statusText[417] = "Expectation Failed";
statusText[500] = "Internal Server Error";
statusText[501] = "Not Implemented";
statusText[502] = "Bad Gateway";
statusText[503] = "Service Unavailable";
statusText[504] = "Gateway Timeout";
statusText[505] = "HTTP Version Not Supported";
statusText[509] = "Bandwidth Limit Exceeded";