/*--------------------------------------------\\
||  SRD23 Hosted Forum Recent Topics          ||
||  Written By:  Sacred                       ||
||  Based on D23 Recent Topics(dscripting.com)||
||  Website:  http://www.ibmafia.com/forums   ||
||  Copyright (c) 2008 - All Rights Reserved  ||
\\--------------------------------------------*/

function srd23_hfrt()
{
	this.obj    = null;
	this.ajax   = null;
	this.enable = false;
	this.update = 0;
	this.langs  = new Array();
}

srd23_hfrt.prototype.set_ajax = function(x)
{
	this.enable = (x == true) ? true : false;
}

srd23_hfrt.prototype.set_update = function(x)
{
	this.update = parseInt(x);
	if (isNaN(this.update))
	{
		this.update = 0;
	}
}

srd23_hfrt.prototype.add_lang = function(a, b)
{
	if (a != '' && b != '')
	{
		this.langs[a] = b;
	}
}

srd23_hfrt.prototype.initiate = function()
{
	this.obj = my_getbyid('srd23_hfrt_data');
	if (!this.obj)
	{
		this.enable = false;
	}

	this.refresh();
}

srd23_hfrt.prototype.refresh = function()
{
	if (this.enable !== true || this.update < 0)
	{
		return false;
	}

	func = function()
	{
		if (!srd23_hfrt.ajax.readystate_ready_and_ok())
		{
			return;
		}

		srd23_hfrt.set_status('');

		var x = srd23_hfrt.ajax.xmlhandler.responseXML;
		var t = srd23_hfrt.parse_xml(x, 'status', 'data');

		switch (t['status'].toLowerCase())
		{
			case 'error':
				srd23_hfrt.set_status(srd23_hfrt.langs['error']);
				setTimeout("srd23_hfrt.set_status('')", 10000);

				break;
			case 'noupdate':
				break;
			case 'good':
				srd23_hfrt.obj.innerHTML = t['data'];
				break;
			default:
				break;
		}
	}

	this.set_status(this.langs['updating']);

	srd23_hfrt.ajax = new ajax_request();
	srd23_hfrt.ajax.onreadystatechange(func);
	srd23_hfrt.ajax.process(ipb_var_base_url+'act=xmlout&do=srd23_hfrt');

	setTimeout('srd23_hfrt.refresh()', this.update);
}

srd23_hfrt.prototype.set_status = function(m)
{
	my_getbyid('srd23_hfrt_status_c').innerHTML = m;
	my_getbyid('srd23_hfrt_status_o').innerHTML = m;
}

srd23_hfrt.prototype.parse_xml = function()
{
	var a = new Array();
	var o = arguments[0];

	for (var i=1; i<arguments.length; i++)
	{
		a[arguments[i]] = srd23_hfrt.get_xml_data(arguments[i], o, 0);
	}

	return a;
}

srd23_hfrt.prototype.get_xml_data = function(a, b, c)
{
	var r = '';
	r = b.getElementsByTagName(a)[c];

	try
	{
		if (r)
		{
			if (r.childNodes.length > 1)
			{
				return r.childNodes[1].nodeValue;
			}
			else
			{
				if (r.firstChild && r.firstChild.nodeValue)
				{
					return r.firstChild.nodeValue;
				}
				else
				{
					return '';
				}
			}
		}
		else
		{
			return '';
		}
	}

	catch(me)
	{
		return '';
	}
}

srd23_hfrt = new srd23_hfrt();
