var url = "search_field_results.php?id="; // The server-side script 

function handleHttpResponse() {    
	if (http.readyState == 4) { 
	if(http.status==200) { 
		var results=http.responseText; 
		document.getElementById('divSearchInfo').innerHTML = results; 
	} 
	} 
} 

function requestSearchInfo() {      
    var sId = document.getElementById("txtSearchId").value; 
    http.open("GET", url + escape(sId), true); 
    http.onreadystatechange = handleHttpResponse; 
    http.send(null); 
} 

function getHTTPObject() { 
  var xmlhttp; 

  if(window.XMLHttpRequest){ 
    xmlhttp = new XMLHttpRequest(); 
  } 
  else if (window.ActiveXObject){ 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    if (!xmlhttp){ 
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    
} 
  return xmlhttp; 

  
} 
var http = getHTTPObject(); // We create the HTTP Object 

function getPopupLayer(layername,popurl) {
    var sId = document.getElementById(layername).value;
    var oXmlHttp = zXmlHttp.createRequest();
    oXmlHttp.open("get", popurl, true);
    oXmlHttp.onreadystatechange = function () {
        if (oXmlHttp.readyState == 4) {
            if (oXmlHttp.status == 200) {
                displayPopupContent(oXmlHttp.responseText,layername);
				showLayer(layername);
            } else {
                displayPopupContent("An error occurred: " + oXmlHttp.statusText); 
				//statusText is not always accurate
            }
        }
    }
    oXmlHttp.send(null);
}

function displayPopupContent(sText,layername) {
    var divInfo = document.getElementById(layername);
    divInfo.innerHTML = sText;
}
 
var http_request = false;

function makePostRequest(url, parameters, layer) {
	//http_request = false;
	if (window.XMLHttpRequest) {	// handle Mozilla, Safari, etc
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
		}
		//alert('I am Mozilla');
	} else if (window.ActiveXObject) {	// IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			//alert('I am IE - Msxml2: ' + typeof http_request);
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
				//alert('I am IE - Microsoft: ' + typeof http_request);
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('cannot create instance');
		return false;
	} 
	
	//http_request.onreadystatechange = alertContents(layer, http_request);
	alert('in makePostRequest after alertContents');

	//alert('in alertContents, readystate is: ' + http_request.readyState);
	//alert('http status is: ' + http_request.status);
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			alert('hi, we got a resonse');
			result = http_request.responseText;
			document.getElementById(layer).innerHTML = result;            
		} else {
			alert('There was a problem with the request.');
		}
	} else {
		alert('cannot reach readystate');
	}
	alert('end alertContents');
	//http_request.open("GET", url, false);
	//alert('after get' + url);
	//http_request.send(null);
	//alert('after send');
	
	http_request.open('POST', url, true);
	alert('in alertContents, readystate is: ' + http_request.readyState);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
	
	//document.getElementById(layer).innerHTML = "oh well..."; // proves the layer does get rewritten
}

function alertContents(layer, therequest) {
	alert('in alertContents');
	var http_request = therequest;
	alert(http_request.readyState);
	//if (http_request.readyState == 4) {
		alert('readystate?');
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			alert('hi, we got a resonse');
			result = http_request.responseText;
			document.getElementById(layer).innerHTML = result;            
		} else {
			alert('There was a problem with the request.');
		}
	//} else {
	//	alert('cannot reach readystate');
	//}
	alert('end alertContents');
}

function postForm(obj, url, layer) {
	// poststr needs to become dynamic if at all possible.
	var poststr = "userfeedback=" + encodeURI(document.getElementById("userfeedback").value);
	alert('poststr: ' + poststr);
	makePostRequest(url, poststr, layer);
	alert('end of postForm');
}


function hideLayer(lname) {
	document.getElementById(lname).style.visibility = 'hidden';
	//document.getElementById(lname).style.z-layer = '10';	
}
function showLayer(lname) {
	//hideAllDiv();
	document.getElementById(lname).style.visibility = 'visible';
	//document.getElementById(lname).style.z-layer = '1';	
}

function hideAllDiv() { 
	var divs = document.getElementsByTagName('div'); 
	for(i=0; i<divs.length; i++){ 
		if(divs[i].id.match('feature')) { //if they are 'see' divs 
			if (document.getElementById) { // DOM3 = IE5, NS6 
				divs[i].style.visibility="hidden";// show/hide 
			} else {
				if (document.layers) { // Netscape 4 
					document.layers[divs[i]].display = 'hidden'; 
				} else { // IE 4 
					document.all.hideShow.divs[i].visibility = 'hidden'; 
				} 
			}
		}
	} 
} 

function centerLayerVertically(layer){ 
	var h=0, sh=0; 
	if (document.compatMode == "CSS1Compat") { 
		//IE Standard mode 
		h = document.body.parentNode.clientHeight; 
		sh = document.body.scrollTop;
	} else if (document.compatMode == "BackCompat") { 
		//IE Backwards Compatible Mode 
		h = document.documentElement.scrollHeight; 
		sh = document.body.scrollTop;
	} else { 
		//IE Quirks Mode 
		h = document.body.clientHeight; 
		sh = document.body.scrollTop;
	} 
	if(h==0){ 
		//Netscape OK
		h = window.innerHeight; 
		sh = document.body.scrollTop;
	} 

	var thelayer=document.getElementById(layer);
	var thelayerh = parseInt(thelayer.style.height); //current Height
	if (thelayerh > 0) {
		// layer height is OK
	} else {
		// approximate the size of the popup
		thelayerh = 264;
	}
	//var newtop = parseInt(((h/2) + sh  - (thelayerh/2 )));
	var newtop = ((h/2) + sh - (thelayerh/2 )); 
	if (window.innerHeight) {
		// handle some funky math for Mozilla
		newtop = (sh + (thelayerh/4));
	}
	
	//Check if value is less then 0 
	if(newtop < 0){ 
		newtop=0; 
	} 
	thelayer.style.top = newtop+"px"; 
}
