/*======================================================================*\
|| #################################################################### ||
|| #        GAME Product 1.0.0 for vBulletin 3.6.7 PL1                # ||
|| # ---------------------------------------------------------------- # ||
|| #      by gangnet @ www.phpforuce.cn  email : gangnet@gmail.com    # ||
|| #################################################################### ||
\*======================================================================*/

// #############################################################################
// vbb-game ajax
// #############################################################################

function vbb_Game_AJAX()
{
	if(AJAX_Compatible)
	{
		
		this.xml_sender = null;
		this.ajaxtag = null;
		this.onajax = null;
		this.ajaxstatus = null;
		
		this.gamestatus = 0;

		var me = this;

		
		this.callajax = function (tag,url)
		{
			if (!this.xml_sender)
			{
				this.xml_sender = new vB_AJAX_Handler(true);
			}
			if(typeof(this.xml_sender.handler)!="undefined" && this.xml_sender.not_ready())
			{
				this.xml_sender.handler.abort();
			}
			
			this.ajaxtag = tag;
			
			this.onajax=tag.onajax;
					
			this.xml_sender.onreadystatechange(this.oncallajax);
			
			this.ajaxstatus = tag.ajaxstatus;
			this.showajaxstatus(true);
			if(url)
				this.xml_sender.send(url);
			else
				this.xml_sender.send(tag.href);
			return false;
		}
		
		this.oncallajax = function()
		{
			if ( me.xml_sender.handler.readyState == 4 && me.xml_sender.handler.status == 200 &&  me.xml_sender.handler.responseText )
			{
				//me.ajaxtag.outerText = me.xml_sender.handler.responseText;
				me.showajaxstatus(false);
				//me.ajaxtag.outerText = gamedata[0].firstChild.nodeValue;
				eval(me.onajax+"( me.ajaxtag,me.xml_sender.handler.responseText);");
				me.ajaxtag = null;
				me.xml_sender.handler.abort();
			}
		}

		this.stopajax = function (tag)
		{
			if (this.ajaxtag != tag)
			{
				return false;
			}
			this.xml_sender.handler.abort();
			this.showajaxstatus(false);
			this.ajaxtag = null;
			return false;
		}
		
		this.showajaxstatus = function (ajaxstatus)
		{
			if(this.ajaxstatus)
			{
				this.ajaxstatus(this.ajaxtag,ajaxstatus);
			}
		}
	}
}

/*======================================================================*\
|| ####################################################################
|| #  $
|| ####################################################################
\*======================================================================*/