var ajax_init_error_msg = "Your browser not support this feature";
var request = false;
var _tid = 0;

function createRequest()
{
  try
  {
    request = new XMLHttpRequest();
  }
  catch ( e ) // test for new MS-objects....
  {
    try
    {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch ( e ) // test for old MS-objects....
    {
      try
      {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch ( e ) // ajax failed :-(
      {
        request = false;
      }
    }
  }

  if ( !request )
  {
    alert(ajax_init_error_msg);
    return false;
  }

  return true;
}

function sendRequest( method, url, pars )
{
  if ( !request )
    return false;

//alert(url);

  request.open(method, url, true);
  if ( method == "post" )
  {
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("Content-length", pars.length);
  }
  request.send(pars);
  
  return true;
}

function checkTicketAvailability(shid, tid)
{
	if ( !createRequest() )
		return;	

	request.onreadystatechange = checkTicketAvailabilityResult;
	var o = document.getElementById("evtdate_" + tid), dte = "", amount = "";
	if ( o )
	{
		dte = trim(String(o.value));
		if ( dte == "" || dte == "undefined" )
		{
			alert("Select show date first");
			return;
		}
	}
	else
	{
		alert("Failed (error #001)...");
		return;
	}
	o = document.getElementById("Price_" + tid);
	if ( o )
	{
		amount = trim(String(o.value));
		if ( amount == "" || amount == "undefined" )
		{
			alert("Select tickets amount first");
			return;
		}
	}
	else
	{
		alert("Failed (error #002)...");
		return;
	}
	_tid = tid;

	sendRequest( "get", "/check_ticket_a.aspx?dte=" + dte + "&amount=" + amount + "&shid=" + shid + "&tid=" + tid + "&r=" + Math.random(), null );
}
function checkTicketAvailabilityResult()
{
	if (request.readyState != 4)
		return false;

	if (request.status == 200)
	{
		var response = trim(request.responseText), o = document.getElementById("td_availability_" + _tid);

//alert(response);

		if ( !o )
		{
			alert("Failed (error #004)...");
			return;
		}
		if ( String(response) > 0 )
			o.innerHTML = "Yes";
		else
			o.innerHTML = "No";
	}
	else
		alert("Failed (error #003)... Request status: " + request.status);
}

function trim(stringToTrim) {
  return stringToTrim.replace(/^\s+|\s+$/g,"");
}
