// JavaScript Document
// Master AJAX Script
function callAJAX(pageElement, param, callMessage, errorMessage, url) {
		
     try {
     req = new XMLHttpRequest(); 
     /* e.g. Firefox */
     
		
     } catch(e) {
       try {
       req = new ActiveXObject("Msxml2.XMLHTTP");  
       /* some versions IE */
       } catch (e) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP");  
         /* some versions IE */
         } catch (E) {
          req = false;
         } 
       } 
     }
	req.onreadystatechange = function() 
						{
							responseAJAX(pageElement, callMessage, errorMessage) ;
						};
	req.open('POST', url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", param.length);
	document.getElementById(pageElement).innerHTML = callMessage;
	req.send(param);
}

function responseAJAX(pageElement, callMessage, errorMessage) 
{
   if(req.readyState == 4)
   	{	
		if(req.status == 200) {
        		 var output = req.responseText;
        		 document.getElementById(pageElement).innerHTML = output;			 
        		 } 
		 else {
        		 document.getElementById(pageElement).innerHTML = errorMessage;
         		}
      }
  }

function sendThought() 
	{	
		var pageElement = "thoughtresult";
		var param = "thought_name=" + encodeURI(document.getElementById("thought_name").value) + 
					"&thought_town=" + encodeURI(document.getElementById("thought_town").value) + 
					"&thought_for=" + encodeURI(document.getElementById("thought_for").value) + 
					"&thought_message=" + encodeURI(document.getElementById("thought_message").value);
		var callMessage = "<p><img src=\"images/ajax-loader.gif\" />&nbsp;Sending thought, please wait...</p>";
		var errorMessage = "<div class=\"ajaxfailure\"><p>Failed to send thought.</p></div>";
		var url = "process_thought.asp";
			
		document.getElementById('thought').innerHTML = "<div id=\"thoughtresult\"></div>";
		
		callAJAX(pageElement, param, callMessage, errorMessage, url);
	}
	
function removeChildren(element)
	{
		//Remove fields
		var box = document.getElementById(element);
		//Cycle all The Children
		document.getElementById(element).removeChild(document.getElementByTag('fieldset'));
		var kids = box.childNodes;
		for(i=0; i < kids.length; i++) 
			{
				 //Quick test
				 var jr = kids[i];
				 //This should remove everything from the box
				 box.removeChild(jr);
			}
	}