function xmlhttpPost( url, state )
{
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
     	// set type accordingly to anticipated content type
        //http_request.overrideMimeType('text/xml');
        http_request.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }
  
  var obj = document.getElementById( "state_" + state );
  if( obj )
  {
    obj.innerHTML = '<img src="images/loading.gif" border="0">';
  }
  http_request.onreadystatechange = function() {
    if (http_request.readyState == 4) {
      updatepage( http_request.responseText, state );
    }
  }
  http_request.open('GET', url + getquerystring( state ), true);
  http_request.send(null);
}

function get_form_elements( id )
{
	var f = document.getElementById( id );
	if( !f ) return '';

  var s = '';
	for(i=0; i< f.elements.length; i++)
	{
		var e = f.elements[i];
		if( e.type == undefined || e.type == 'submit' || e.name == '__VIEWSTATE' || e.name == '__EVENTVALIDATION' || e.name == '__EVENTTARGET' || e.name == '__EVENTARGUMENT' ) continue; 
		if( e.type == 'checkbox' || e.type == 'radio' )
		{
			if( e.checked ) s = s + '&' + e.name + "=" + encodeURI( e.value );
		}
		else if( e.type == 'select-one' )
		{
			s = s + '&' + e.name + "=" + encodeURI( e.options[ e.selectedIndex ].value );
		}
		else
		{
			s = s + '&' + e.name + "=" + encodeURI( e.value );
		}
	}
	return s;
}

function getquerystring( state )
{
  var qstr = "";
  if( state == 1 )
  {
    qstr = '?command=save_session&name=flights' + get_form_elements( 'form1' )
  }
  else if( state == 2 )
  {
    qstr = '?command=save_session&name=hotels' + get_form_elements( 'hotels_form' )
  }
  else if( state == 3 )
  {
    qstr = '?command=save_session&name=deals' + get_form_elements( 'deals_form' )
  }
  else if( state == 4 )
  {
    qstr = '?command=save_session&name=cars' + get_form_elements( 'CarSearchForm' )
  }
  else if( state == 7 )
  {
    qstr = '?command=save_session&name=contact_popup';
  }
  return qstr;
}

function updatepage( data, state )
{
  var obj = document.getElementById( "state_" + state );
  if( obj )
  {
    obj.innerHTML = data;
  }
}

