		var g_c1Inc = 0;
		var g_c2Inc = 0;
		var g_c3Inc = 0;
		var g_c4Inc = 0;
		var g_c5Inc = 0;
		
		var g_c1Data = 0;
		var g_c2Data = 0;
		var g_c3Data = 0;
		var g_c4Data = 0;
		var g_c5Data = 0;
		
		var g_current_datetime = 0;
		var g_counter_end_on = 0;
		var g_timeout = 0;
		
		function getNewHttp()
		{
			var xmlHttp;
			try
			{
				xmlHttp=new XMLHttpRequest();
			}
			catch (e)
			{
				try
				{
					xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch (e)
				{
					try
					{
						xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch (e)
					{
						alert(NO_AJAX_SUPPORT);
						return false;
					}
				}
			}
			return xmlHttp;
		}
		
		function RetrieveCounterData()
		{
			var xmlHttpObj = getNewHttp();
		   
			var url = "counter_process.php";

			var params = "do=GET_DATA";

			xmlHttpObj.open("POST", url, true);
			
			//Send the proper header information along with the request
			xmlHttpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlHttpObj.setRequestHeader("Content-length", params.length);
			xmlHttpObj.setRequestHeader("Connection", "close");
			
			xmlHttpObj.onreadystatechange = function()
			{//Call a function when the state changes.
			
				if(xmlHttpObj.readyState == 4 && xmlHttpObj.status == 200)
				{      
					var sArrResponse = xmlHttpObj.responseText;
					
					//alert(sArrResponse);
					
					//if (sArrResponse.indexOf("|||") < 0)
					//{
					//	//RetrieveCounterData();
					//	alert('could not start counters!!!');
					//}
					//else
					//{
						var _data_arr = sArrResponse.split("|||");
						
						var _counter1 = _data_arr[0].split(",");
						var _counter2 = _data_arr[1].split(",");
						var _counter3 = _data_arr[2].split(",");
						var _counter4 = _data_arr[3].split(",");
						var _counter5 = _data_arr[4].split(",");
						
						g_c1Inc = _counter1[1];
						g_c1Data = _counter1[0];
						
						g_c2Inc = _counter2[1];
						g_c2Data = _counter2[0];
						
						g_c3Inc = _counter3[1];
						g_c3Data = _counter3[0];
						
						g_c4Inc = _counter4[1];
						g_c4Data = _counter4[0];
						
						g_c5Inc = _counter5[1];
						g_c5Data = _counter5[0];
						
						g_counter_end_on = _data_arr[5];
						g_current_datetime = _data_arr[6];
						
						DisplayCounters();
					//}
				}  
			}
			
			xmlHttpObj.send(params);
		}
		
		function SaveCounterData()
		{
			if (g_timeout != 0)
			{
				clearTimeout(g_timeout);
				g_timeout = 0;
			}
				
			var xmlHttpObj = getNewHttp();
		   
			var url = "counter_process.php";

			var params = "do=SET_DATA";
			params += "&c1data="+g_c1Data;
			params += "&c2data="+g_c2Data;
			params += "&c3data="+g_c3Data;
			params += "&c4data="+g_c4Data;
			params += "&c5data="+g_c5Data;

			xmlHttpObj.open("POST", url, true);
			
			//Send the proper header information along with the request
			xmlHttpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlHttpObj.setRequestHeader("Content-length", params.length);
			xmlHttpObj.setRequestHeader("Connection", "close");
			
			xmlHttpObj.onreadystatechange = function()
			{//Call a function when the state changes.
			
				if(xmlHttpObj.readyState == 4 && xmlHttpObj.status == 200)
				{      
					//
				}  
			}
			
			xmlHttpObj.send(params);
		}
		
		function IncrementCounters()
		{
			g_c1Data = parseFloat(g_c1Data) + parseInt(g_c1Inc);
			g_c2Data = parseFloat(g_c2Data) + parseInt(g_c2Inc);
			g_c3Data = parseFloat(g_c3Data) + parseInt(g_c3Inc);
			g_c4Data = parseFloat(g_c4Data) + parseInt(g_c4Inc);
			g_c5Data = parseFloat(g_c5Data) + parseInt(g_c5Inc);
			SaveCounterData();
			DisplayCounters();
		}
		
		function DisplayCounters()
		{
			var oC1 = document.getElementById('counter1');
			if (oC1)
			{
				oC1.innerHTML = '$' + addCommas(g_c1Data);
			}
			var oC2 = document.getElementById('counter2');
			if (oC2)
			{
				oC2.innerHTML = '$' + addCommas(g_c2Data);
			}
			var oC3 = document.getElementById('counter3');
			if (oC3)
			{
				oC3.innerHTML = '$' + addCommas(g_c3Data);
			}
			var oC4 = document.getElementById('counter4');
			if (oC4)
			{
				oC4.innerHTML = '$' + addCommas(g_c4Data);
			}
			var oC5 = document.getElementById('counter5');
			if (oC5)
			{
				oC5.innerHTML = '$' + addCommas(g_c5Data);
			}
			
			if (g_current_datetime < g_counter_end_on)
			{
				if (g_timeout != 0)
				{
					clearTimeout(g_timeout);
					g_timeout = 0;
				}
				
				g_timeout = setTimeout("IncrementCounters()", 1000); // one sec interval
			}
		}
		
		function addCommas(nStr)
		{
			nStr += '';
			x = nStr.split('.');
			x1 = x[0];
			x2 = x.length > 1 ? '.' + x[1] : '';
			var rgx = /(\d+)(\d{3})/;
			while (rgx.test(x1)) {
				x1 = x1.replace(rgx, '$1' + ', ' + '$2');
			}
			return x1 + x2;
		}
		
