//<![CDATA[
	var DETECT = navigator.userAgent.toLowerCase();
	var SPINWAIT = 250;
	var STARTDELAY = 1000;
	
	//NORMAL SETTING WHICH ARE OVERRIDDEN
	var LOCALE_PAGEFIRST	= 'First';
	var LOCALE_PAGELAST		= 'Last';
	var LOCALE_PAGENEXT		= 'Next';
	var LOCALE_PAGEBACK		= 'Back';
	var LOCALE_STATUS1		= 'Rendering Data...';
	var LOCALE_STATUS2		= 'Fetching Data...';
	var LOCALE_STATUS3		= 'Data Failure.';
	var LOCALE_STATUS4		= 'AJAX: Asynchronous XML with Javascript is not supported by your browser.';
	var LOCALE_STATUS5		= 'There was a problem retrieving the XML data:\n';

	function lxBrowserType(string)
	{
		return DETECT.indexOf(string) + 1;
	}
	function lxInitiate(TM,page,skip)
	{
		if (lxBrowserType('msie') && !document.getElementById('__VIEWSTATE'))
		{ 
			if (!skip)
				skip = 'false';
			else
				skip = 'true';
			if (page)
			{
				window.setTimeout('lxInitiate(' + TM + ',' + page + ',' + skip + ');', SPINWAIT) 
			}
			else
			{
				window.setTimeout('lxInitiate(' + TM + ',0,' + skip + ');', SPINWAIT) 
			}
		}
		else
		{ 
			lxonLoad(TM);
			if (!page)
				page=0;
			if (!skip)
				lxFetch(TM,page,'');
		}
	}
	function lxonLoad(TM)
	{
			eval('TBL' + TM + '	= document.getElementById("lxT' + TM + '");');
	}
	function lxStatus(TM,value)
	{
		var thisStatus = false;
		eval('thisStatus = STATUS' + TM + ';');
		if (!thisStatus)
		{
			eval('STATUS' + TM + '	= document.getElementById(STATUSN' + TM + ');');	
		}
			
		eval('thisStatus = STATUS' + TM + ';');
		if (thisStatus)
		{
			thisStatus.innerHTML = value;
		}
	}

	function lxLoad(TM)
	{
		var TBL;
		var DATA;
		var STATUS;

		eval('TBL = TBL' + TM + ';');
		eval('DATA = DATA' + TM + ';');

		if (TBL && DATA)
		{
			lxStatus(TM,LOCALE_STATUS1);
			HASSTARTED = false;
			lxRender(TM);
		}
		lxStatus(TM,'');
		lxPage(TM);
		lxCompleteLoad(TM);
	}

	function lxCompleteLoad(TM)
	{
		var LXO;
		
		try {
			eval('LXO = LXONLOAD' + TM + ';');
		}
		catch (errObj) {}
		if (LXO != null) {
			LXO();
		}
	}
	
	//-----------------
	//MANAGER FUNCTIONS
	//-----------------
	//DATA BUILDING FUNCTIONALITY
	//GET THE DATA POINTS FROM THE DOM OBJECT
	function lxContent(TM,src) {

		if (src && src.length >= 20)
		{
			var strRecordCount;
			strRecordCount = src.substring(0,20);
			if (isNaN(strRecordCount))
			{
				eval('DATALENGTH' + TM + '= 0;');
				return src;
			}
			else
			{
				eval('DATALENGTH' + TM + '= ' + strRecordCount + ';');
				return src.substring(20);
			}
			
		}
	}

	function lxGetForm(fobj) 

	{ 
		   var str = ""; 
		   for(var i = 0;i < fobj.elements.length;i++) 
		   { 
			   if (str != "")   {
				   str += "&";
			   }
			   switch(fobj.elements[i].type) 
			   { 
					case 'text':
					case 'password':
					case 'textarea':
						str += lxGetElementName(fobj.elements[i].name) + "=" + encodeURI(fobj.elements[i].value);
						break;
					case 'select-one':
						if (fobj.elements[i].options.length > 0) {
							str += lxGetElementName(fobj.elements[i].name) + "=" + encodeURI(fobj.elements[i].options[fobj.elements[i].selectedIndex].value);
						}
						break;
					case 'select-multiple':
						if (fobj.elements[i].options.length > 0) {
							var sSelValues = '';
							for (var iSel=0; i<fobj.elements[i].options.length; iSel++ )
							{
								if (fobj.elements[i].options[iSel].selected == true)
								{
									if (sSelValues != '')
										sSelValues += '%20';
									sSelValues += encodeURI(fobj.elements[i].options[iSel].value);
								}
							}
							str += lxGetElementName(fobj.elements[i].name) + "=" + sSelValues;
						}
						break;
					case 'hidden':
						if (fobj.elements[i].name != '__VIEWSTATE')
						{
							str += lxGetElementName(fobj.elements[i].name) + "=" + encodeURI(fobj.elements[i].value); 
						}
						break;
					case 'radio':
						if (fobj.elements[i].checked)
						{
							str += lxGetElementName(fobj.elements[i].name) + "=" + encodeURI(fobj.elements[i].value); 
						}
						break;
					case 'checkbox':
						if (fobj.elements[i].checked)
						{
							str += lxGetElementName(fobj.elements[i].name) + "=" + encodeURI(fobj.elements[i].value); 
						}
						break;
					default:
						//alert(fobj.elements[i].type);
			   } 
		   } 
		   return str; 
	}
	function lxGetElementName(name)
	{
		if (name.length > 1 && name.substr(0,1) == '_')
			return '"' + name + '"';
		else
			return name;
	}


	//DATA AJAX FUNCTIONALITY
	function lxFetch(TM,page,appendQuery)
	{
		var CURRENTPAGE;
		var DATALENGTH;
		var RPP;
		
		eval('CURRENTPAGE = CURRENTPAGE' + TM + ';');
		eval('DATALENGTH = DATALENGTH' + TM + ';');
		eval('RPP = RPP' + TM + ';');
		
		lxStatus(TM,LOCALE_STATUS2);
		if (!page)
		{
			page = 0;
		}
		if (!CURRENTPAGE)
		{
			eval('CURRENTPAGE' + TM + '=0;');
		}
		if (page >= 0 && ((DATALENGTH == 0 && page == 0) || ((page) <= Math.round((DATALENGTH/RPP) + 0.5))))
		{
				eval('CURRENTPAGE' + TM + '=' + page + ';');		
				eval('DATA' + TM + '=false;');
		}
		
		var DATA;
		eval('DATA = DATA' + TM + ';');
		
		if (!DATA)
		{
			lxFetchStart(TM,appendQuery);	
		}
		else
		{
			lxLoad(TM);
		}
	}
	function lxFetchStart(TM,appendQuery)
	{				
		var TBL;
		var DATA;
		var CURRENTPAGE;
		var RPP;
		var S;
		var WURL;

		eval('TBL = TBL' + TM + ';');
		eval('DATA = DATA' + TM + ';');
		eval('CURRENTPAGE = CURRENTPAGE' + TM + ';');
		eval('RPP = RPP' + TM + ';');
		eval('S = S' + TM + ';');
		eval('WURL = WURL' + TM + ';');
		
		url = WURL + "xListing.IM.aspx?C=" + RPP + "&p=" + CURRENTPAGE + "&S=" + S;
		
		if (appendQuery.length > 0)
		{
		  url = url + '&' + appendQuery;
		}
		
		if (document.location.search.length > 0)
		{
		  url = url + '&' + document.location.search.substr(1);
		}
		
		if (window.XMLHttpRequest)
		{
			try {
					eval('XML' + TM + ' = new XMLHttpRequest();');
				}
			catch(e)
			{
				eval('XML' + TM + ' = false;');
			}
		}
		else if (window.ActiveXObject) {
			try {
				eval('XML' + TM + ' = new ActiveXObject("Msxml2.XMLHTTP");');
				}
			catch(e) 
				{
					try {
						eval('XML' + TM + ' = new ActiveXObject("Microsoft.XMLHTTP");');
					} 
					catch(e) 
					{
						eval('XML' + TM + ' = false;');
					}
				}
		}


		if (eval('XML' + TM))
		{
			lxStatus(TM,LOCALE_STATUS2);
			try {
				var fstr = lxGetForm(document.forms[0]);
				var random_num = (Math.round((Math.random()*100000000)+1))
				eval('XML' + TM + '.onreadystatechange = function() {lxFetchEnd(' + TM + ');}');
				eval('XML' + TM + '.open("POST", url + \'&RA=\' + random_num, true);');
				eval('XML' + TM + '.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");'); 
				PX = url + '&RA=' + random_num;
				eval('XML' + TM + '.send(fstr);');
				}
			catch(e)
			{
				lxStatus(TM,LOCALE_STATUS3 + e.message);
			}
		}
		else
		{
			lxStatus(TM,LOCALE_STATUS4);
		}
	}
	var PX;
	function lxFetchEnd(TM)
	{
		var TBL;
		var DATA;
		eval('TBL = TBL' + TM + ';');
		eval('DATA = DATA' + TM + ';');
		if (eval('XML' + TM))
		{
			if (eval('XML' + TM + '.readyState == 4')) 
			{
				// only if "OK"
				if (eval('XML' + TM + '.status == 200')) 
				{
					    if (eval('XML' + TM + '.responseText'))
						{
							DATA = lxContent(TM,eval('XML' + TM + '.responseText'));
							lxStatus(TM,'');
							if (DATA)
							{
								eval('DATA' + TM + ' = DATA;');
								lxLoad(TM);
							}
						}
				} else {
					lxStatus(TM,LOCALE_STATUS5 + eval('XML' + TM + '.statusText'));
				}
				
				//CLEAN UP -- AVOID MEMORY LEAKS (IN IE)
				eval('XML' + TM + '.onreadystatechange = new function() {};');
			}
		}
	}
		
	//RENDER THE RESULTING TABLE
	function lxRender(TM)
	{
		var strvalue = '';
		var TBL;
		var DATA;
		eval('TBL = TBL' + TM + ';');
		eval('DATA = DATA' + TM + ';');
		if (TBL && DATA) {
		TBL.innerHTML = DATA;
		}
	}
	
	//BUILD PAGING CONTROL FOR THE RENDERED TABLE
	function lxPage(TM)//
	{
		eval('PGS' + TM + '	= document.getElementById(PGSN' + TM + ');');	
		var CURRENTPAGE = 0;
		var DATALENGTH = 0;
		var RPP = 0;
		var PGS = false;
		
		eval('CURRENTPAGE = CURRENTPAGE' + TM + ';');
		eval('DATALENGTH = DATALENGTH' + TM + ';');
		eval('RPP = RPP' + TM + ';');
		eval('PGS = PGS' + TM + ';');
		if (PGS)
		{
			PGS.innerHTML = '';

			if (DATALENGTH > 2)
			{
				minPage = (CURRENTPAGE + 1) - 4;
				if (RPP > 0)
				{
					lastPage = Math.round((DATALENGTH/RPP) + 0.5) - 1;
				}
				else
				{
					lastPage = minPage;
				}
				

				if (minPage < 0)
				{
					minPage = 0;
				}
				maxPage = minPage + 6;
				if (maxPage > lastPage)
				{
					maxPage = lastPage;
				}

				if (DATALENGTH==RPP)
				{
					maxPage = minPage;
					lastPage = minPage;
				}


				if (lastPage > 0)
				{
					if (CURRENTPAGE > 0)
					{
						PGS.innerHTML += '<a href="javascript:lxFetch(' + TM + ',' + (CURRENTPAGE - 1) + ',\'\');">' + LOCALE_PAGEBACK + '</a>&nbsp;...&nbsp;';
						PGS.innerHTML += '<a href="javascript:lxFetch(' + TM + ',' + 0 + ',\'\');">' + LOCALE_PAGEFIRST + '</a>&nbsp;|&nbsp;';
					}
					else
					{
						PGS.innerHTML += '' + LOCALE_PAGEBACK + '&nbsp;...&nbsp;';
						PGS.innerHTML += '' + LOCALE_PAGEFIRST + '&nbsp;|&nbsp;';
					}
					for (x=minPage;x<=maxPage;x++)
					{	
						if (x==CURRENTPAGE)
							PGS.innerHTML +=  (x+1);
						else
							PGS.innerHTML += '<a href="javascript:lxFetch(' + TM + ',' + x + ',\'\');">' + (x+1) + '</a>';
						
						PGS.innerHTML += '&nbsp;';
					}
					if (CURRENTPAGE < lastPage)
					{
						PGS.innerHTML += '|&nbsp;<a href="javascript:lxFetch(' + TM + ',' + lastPage + ',\'\');">' + LOCALE_PAGELAST + '</a>&nbsp;...&nbsp;';
						PGS.innerHTML += '<a href="javascript:lxFetch(' + TM + ',' + (CURRENTPAGE + 1) + ',\'\');">' + LOCALE_PAGENEXT + '</a>';
					}
					else
					{
						PGS.innerHTML += '| ' + LOCALE_PAGELAST + ' ... ';
						PGS.innerHTML += '' + LOCALE_PAGENEXT + '';
					}
				}
			}
		}
	}
//]]>