// stores the reference to the XMLHttpRequest object 
var xmlHttp = createXmlHttpRequestObject();  

// retrieves the XMLHttpRequest object 
function createXmlHttpRequestObject()  
{  
  // will store the reference to the XMLHttpRequest object 
  var xmlHttp; 
  // if running Internet Explorer 
  if(window.ActiveXObject) 
  { 
    try 
    { 
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch (e)  
    { 
      xmlHttp = false; 
    } 
  } 
  // if running Mozilla or other browsers 
  else 
  { 
    try  
    { 
      xmlHttp = new XMLHttpRequest(); 
    } 
    catch (e)  
    { 
      xmlHttp = false; 
    } 
  } 
  // return the created object or display an error message 
  if (!xmlHttp) 
    alert("Error creating the XMLHttpRequest object."); 
  else  
    return xmlHttp; 
} 



function httpRequest(reqType,url,asynch)
{
	if(window.XMLHttpRequest)
	{
		request = new XMLHttpRequest( );
	} 
	else if (window.ActiveXObject)
	{
		request=new ActiveXObject("Msxml2.XMLHTTP");
		if (!request)
		{
			request=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if(request)
	{
		initReq(reqType,url,asynch);
	} 
	else 
	{
		return false;
	}
}


function initReq(reqType,url,bool)
{
	request.onreadystatechange = handleResponse;
	request.open(reqType,url,bool);
	request.send(null);
}

function simpleRedirect()
{
	//keywords=document.getElementById('keywords').value 
	keywords=document.forms["Form1"].elements["keywords"].value;
	keywords=keywords.replace(/\W/gi,'-');
	keywords=keywords.replace(/\_/gi,'-');
	keywords=keywords.replace(/-{2,}/gi,'-');
	keywords=keywords.replace(/-*$/gi,'');
	keywords=keywords.replace(/^-*/gi,'');
	keywords=keywords.toLowerCase();
	if (keywords!='')
	{
			document.location='/'+keywords+'.html';
	}
}

function hidePage()
{
	var objBody = document.getElementsByTagName("body").item(0);
	
	objBody.innerHTML = "<center><i>Searching...</i><br><IMG SRC='http://www.softinstitute.com/images/loading.gif'></center>";
}
	
function search()
{
	//keywords=document.getElementById('keywords').value 
	keywords=document.forms["Form1"].elements["keywords"].value;
	if (keywords!='')
	{
		// execute the quickstart.php page from the server 
		xmlHttp.open("GET", "qsearch.htm?q=" + keywords, true);   
		// define the method to handle server responses 
		xmlHttp.onreadystatechange = handleServerResponse; 
		// make the server request 
		xmlHttp.send(null); 
		hidePage();
	}
	else
	{
		document.location='index.html';
	}
}

// executed automatically when a message is received from the server 
function handleServerResponse()  
{ 
  // move forward only if the transaction has completed 
  if (xmlHttp.readyState == 4)  
  { 
    // status of 200 indicates the transaction completed successfully 
    if (xmlHttp.status == 200)  
    { 
	  // extract the XML retrieved from the server 
      txtResponse = xmlHttp.responseText; 

      // update the client display using the data received from the server 
      window.location = txtResponse; 
    }  
    // a HTTP status different than 200 signals an error 
    else  
    { 
      simpleRedirect();
    } 
  } 
} 