
var reloadImg = {
// variable ////////////////////////////////////////////////////////////////////
	server: 'http://vco-edusa.net/',
	url: 'request.php',
	xmlHttpGetMessages: null,
	cache: Array(),
	updateInterval: 5000,
	debugMode: true,
	showErrors: true,
	faq_symbimg: null,
	faq_ci: null,
// init function ///////////////////////////////////////////////////////////////
	init: function(faq_ci,faq_symbimg)
	{
		this.faq_ci = faq_ci;
		this.faq_symbimg = faq_symbimg;
		var request = 'id=getimg';
		this.cache.push(request);
		this.xmlHttpGetMessages = this.createXmlHttpRequestObject();
		this.requestNewMessages();
	},
// create AJAX ////////////////////////////////////////////////////////////////
	createXmlHttpRequestObject: function()
	{
		var xmlHttp;
		try
		{
			xmlHttp = new XMLHttpRequest();
		}
		catch(e)
		{
			var xmlHttpVersion = new Array("MSXML2.XMLHTTP.6.0",
																		"MSXML2.XMLHTTP.5.0",
																		"MSXML2.XMLHTTP.4.0",
																		"MSXML2.XMLHTTP.3.0",
																		"MSXML2.XMLHTTP",
																		"Microsoft.XMLHTTP");
			for(var i=0;i<xmlHttpVersion.lenght && !xmlHttp;i++)
			{
				try
				{
					xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
				}
				catch (e) {}
			}
		}
		if(!xmlHttp)
			alert("Error XMLHttpRequest");
		else
			return xmlHttp;
	},
// Request new messages ////////////////////////////////////////////////////////
	requestNewMessages: function()
	{
		if(this.xmlHttpGetMessages)
		{
			try
			{
				if(this.xmlHttpGetMessages.readyState == 4 ||
					this.xmlHttpGetMessages.readyState == 0)
				{
					var params = "";
					if(this.cache.length > 0) params = this.cache.shift();
					this.xmlHttpGetMessages.open("POST", this.server+this.url, true);
       		this.xmlHttpGetMessages.setRequestHeader("Content-Type", 
                                  "application/x-www-form-urlencoded");
          var loader = this;
        	this.xmlHttpGetMessages.onreadystatechange = function(){
        	loader.handleReceivingMessages(loader);
        	}
       		this.xmlHttpGetMessages.send(params);
				}
				else
				{
					setTimeout("this.requestNewMessages()", this.updateInterval);
				}
			}
			catch(e)
			{
				this.displayError(e.toString());
			}
		}
	},
// Handle Receiving Messages ///////////////////////////////////////////////////
	handleReceivingMessages: function()
	{
		if(this.xmlHttpGetMessages.readyState == 4)
		{
			if(this.xmlHttpGetMessages.status == 200)
			{
				try
				{
					this.readMessages();
				}
				catch(e)
				{
					this.displayError(e.toString());
				}
			}
			else
			{
				this.displayError(this.xmlHttpGetMessages.statusText);
			}
		}
	},
// read messages ///////////////////////////////////////////////////////////////
	readMessages: function()
	{
		var response = this.xmlHttpGetMessages.responseText;
		if(response.indexOf("ERRNO") >= 0 || response.indexOf("error:") >=0
				|| response.length == 0)
		throw(response.length == 0 ? "Void server response." : response);
		response = this.xmlHttpGetMessages.responseXML.documentElement;
		var st = response.getElementsByTagName("status")[0].firstChild.data;
		var img = response.getElementsByTagName("image")[0].firstChild.data;
		if(st == 'getimg')
		{
			var IDci =  document.getElementById(this.faq_ci);
			var IDimg =  document.getElementById(this.faq_symbimg);
			IDci.value = img;
			IDimg.src = this.server+'image.php?code='+img;
		}
// 		setTimeout('reloadImg.requestNewMessages(null);', this.updateInterval);
	},
// show error //////////////////////////////////////////////////////////////////
	displayError: function(message)
	{
		alert("Error: \n" + message);
	}
}