var state = 'none';

function showhide(layer_ref) {

  if (state == 'block') { 
    state = 'none'; 
  } 
  else { 
    state = 'block'; 
  } 
  if (document.all) { //IS IE 4 or 5 (or 6 beta) 
    eval( "document.all." + layer_ref + ".style.display = state"); 
  } 
  if (document.layers) { //IS NETSCAPE 4 or below 
    document.layers[layer_ref].display = state; 
  } 
  if (document.getElementById &&!document.all) { 
    hza = document.getElementById(layer_ref); 
    hza.style.display = state; 
  } 
} 

function justhide(layer_ref) {

  state = 'none'; 
  if (document.all) { //IS IE 4 or 5 (or 6 beta) 
    eval( "document.all." + layer_ref + ".style.display = state"); 
  } 
  if (document.layers) { //IS NETSCAPE 4 or below 
    document.layers[layer_ref].display = state; 
  } 
  if (document.getElementById &&!document.all) { 
    hza = document.getElementById(layer_ref); 
    hza.style.display = state; 
  } 
} 

function justshow(layer_ref) {

  state = 'block'; 
  if (document.all) { //IS IE 4 or 5 (or 6 beta) 
    eval( "document.all." + layer_ref + ".style.display = state"); 
  } 
  if (document.layers) { //IS NETSCAPE 4 or below 
    document.layers[layer_ref].display = state; 
  } 
  if (document.getElementById &&!document.all) { 
    hza = document.getElementById(layer_ref); 
    hza.style.display = state; 
  } 
} 
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
  if (window.XMLHttpRequest) {
    return new XMLHttpRequest(); //Not IE
  } else if(window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP"); //IE
  } else {
    //Display your error message here. 
    //and inform the user they might want to upgrade
    //their browser.
    alert("Your browser doesn't support the XmlHttpRequest object.  Better upgrade to Firefox.");
  }
}			
//Get our browser specific XmlHttpRequest object.
var receiveReq = getXmlHttpRequestObject();		
//Initiate the asyncronous request.
function sayHello() {
  //If our XmlHttpRequest object is not in the middle of a request, start the new asyncronous call.
  if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
    //True explicity sets the request to asyncronous (default).
    var arrivalDate_Month = document.getElementById("arrivalDate_Month_ID").value;
    var arrivalDate_Day = document.getElementById("arrivalDate_Day_ID").value;
    var arrivalDate_Year = document.getElementById("arrivalDate_Year_ID").value;
    var departureDate_Month = document.getElementById("departureDate_Month_ID").value ;
    var departureDate_Day = document.getElementById("departureDate_Day_ID").value;
    var departureDate_Year = document.getElementById("departureDate_Year_ID").value;
    var roomType = document.getElementById("roomType").value;
    var extraBed = document.getElementById("extraBed").checked;
    var firstName = document.getElementById("firstName").value;
    var lastName = document.getElementById("lastName").value;
    var email = document.getElementById("email").value;
    var telephone = document.getElementById("telephone").value;
    receiveReq.open("GET", '/booking.php?arrivalDate_Month=' + arrivalDate_Month + '&arrivalDate_Day=' + arrivalDate_Day + '&arrivalDate_Year=' + arrivalDate_Year + '&departureDate_Month=' + departureDate_Month +'&departureDate_Day=' + departureDate_Day + '&departureDate_Year=' + departureDate_Year + '&roomType=' + roomType + '&extraBed=' + extraBed + '&firstName=' + firstName + '&lastName=' + lastName + '&telephone=' + telephone + '&email=' + email, true);
    //receiveReq.open("GET", '/booking?arrivalDate_Month=' + arrivalDate_Month + '&arrivalDate_Day=' + arrivalDate_Day + '&arrivalDate_Year=' + arrivalDate_Year + '&departureDate_Month=' + departureDate_Month +'&departureDate_Day=' + departureDate_Day + '&departureDate_Year=' + departureDate_Year + '&roomType=' + roomType + '&extraBed=' + extraBed + '&firstName=' + firstName + '&lastName=' + lastName + '&telephone=' + telephone + '&email=' + email, true);
    //Set the function that will be called when the XmlHttpRequest objects state changes.
    receiveReq.onreadystatechange = handleSayHello; 
    //Make the actual request.
    receiveReq.send(null);
  }			
}
//Called every time our XmlHttpRequest objects state changes.
function handleSayHello() {
  //Check to see if the XmlHttpRequests state is finished.
  if (receiveReq.readyState == 4) {
    //Set the contents of our span element to the result of the asyncronous call.
    setTimeout("new Effect.BlindUp('feedbackform',{duration:0.2})",200);
    setTimeout("document.getElementById('span_result').innerHTML = receiveReq.responseText",500);
    setTimeout("new Effect.Highlight('feedback',{duration:0.5})",600);
    setTimeout("new Effect.PopOut('feedback',{duration:0.4})",3000);
  }
}
