/******************************************************************************/
function validate_booking_form(form){
   var contact_name_input = document.getElementById("contact_name");
   var email_addr_input = document.getElementById("email_address");
   var phone_input = document.getElementById("phone_num");
   var band_name_input = document.getElementById("band_name");
   var band_url_input = document.getElementById("band_url");
   var genre_input = document.getElementById("band_genre");
   
   // must have contact name
   // must have email or phone
   
   var valid_input = true;
   
   if(!contact_name_input.value){
      show_form_input_invalid(contact_name_input.parentNode, false, "");
      valid_input = false;
   }
   
   if(!email_addr_input.value && !phone_input.value){
      show_form_input_invalid(email_addr_input.parentNode, false, "");
      show_form_input_invalid(phone_input.parentNode, false, "");
      valid_input = false;
   }
   
   
   if(!valid_input){
      return false;
   }
   
   
   var myAJAXParams = {
      method: "POST",
      url: form.action,
      onrequest: function myRequest(ajax){
         show_form_output("booking_reqeust_form", "LOAD", "Loading:");

      },
      onload: function myLoad(ajax){
         alert(ajax.response.Text);
         
         if(ajax.response.JSON){
            var json = ajax.response.JSON;
            
            if(json.status){
               hide_form("booking_reqeust_form");
               show_form_output("booking_reqeust_form", "NOTICE", "Congradulation, your data has been send to our Booking person");
            }else{
               show_form_output("booking_reqeust_form", "ERROR", "Failed to process your request - please try again later");
            }
         }else if(ajax.response.XML){
            var xml = ajax.response.XML;
            var ok = false;
            
            if(xml){
               var root = xml.childNodes[0];
               //alert(root.hasAttributes());
               ok = (root.attributes.getNamedItem("status").value == "true")?true:false;
            }
            
            if(ok){
               hide_form("booking_reqeust_form");
               show_form_output("booking_reqeust_form", "NOTICE", "Congradulation, your data has been send to our Booking person");
            }else{
               show_form_output("booking_reqeust_form", "ERROR", "Failed to process your request - please try again later");
            }
         }else{
            show_form_output("booking_reqeust_form", "ERROR", "Server response is invalid");
         }
         
         
      },
      ontimeout: function myTimout(ajax){
         show_form_output("booking_reqeust_form", "ERROR", "Request Timed Out, please try again");
      },
      onerror: function myError(ajax, infostr){
         if(ajax.response.StatusCode == 404){
            // file not found?
            show_form_output("booking_reqeust_form", "ERROR", "File \"" + myAJAXParams.url + "\" was not found on hte server<br />\n(" + infostr + ")");
         }else{
            show_form_output("booking_reqeust_form", "ERROR", "Error: " + infostr + "(" + ajax.response.StatusCode + ")");
         }
      },
      timeout_secs: 2,
      body: "contact_name" + "=" + escape(encodeURI(contact_name_input.value)) +
        "&" + "email_address" + "=" + escape(encodeURI(email_addr_input.value)) +
        "&" + "phone_num" + "=" + escape(encodeURI(phone_input.value)) +
        "&" + "band_name" + "=" + escape(encodeURI(band_name_input.value)) +
        "&" + "band_url" + "=" + escape(encodeURI(band_url_input.value)) +
        "&" + "band_genre" + "=" + escape(encodeURI(genre_input.value)),
      headers: [
         "X-Foo", "Bar",
         "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8",
         //"Content-Type", "application/x-www-form-urlencoded",
         //"Content-Length", "10", // unsafe set 
         //"Connection", "close", // unsafe set  
         
      ]
   };
   
   
   (new AJAXRequest()).request(myAJAXParams);

   
   
   return false;
}


