
	function initSearch() {
		document.getElementById("searchTerm").focus();
		var data = "getLastSearch=true";
		var url = "/search";
		var xmlhttp = getRequest();
		var func = function() {
			if (xmlhttp.readyState == 4) {
				document.getElementById("content").innerHTML=xmlhttp.responseText;
			}
		}
		xmlhttp.onreadystatechange = func;
		makePostRequest(url,data,xmlhttp);
	}
	
	var searchCache = new Array();


	
	var oldType = null;
	function setPropertyTypeEdit(type) {
		if (oldType) {
			var oldEdit = document.getElementById("propertyTypeEdit").innerHTML;
			document.getElementById("propertyTypeEdit."+oldType).innerHTML = oldEdit;
		}
		var newEdit = document.getElementById("propertyTypeEdit."+type).innerHTML;
		document.getElementById("propertyTypeEdit").innerHTML = newEdit;
		oldType = type;
	}
  	
	var typeCache = new Array();
	function setTypeEdit(element,type) {
		oldType = typeCache[element];
		if (oldType) {
			var oldEdit = document.getElementById(element).innerHTML;
			document.getElementById(element+"."+oldType).innerHTML = oldEdit;
		}
		var newEdit = document.getElementById(element+"."+type).innerHTML;
		document.getElementById(element).innerHTML = newEdit;
		typeCache[element] = type;
	}		

	function getRequest() {
		var page_request = false;
		if (window.XMLHttpRequest) // if Mozilla, Safari etc
			page_request = new XMLHttpRequest();
		else if (window.ActiveXObject){ // if IE
			try {
				page_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e){
				try{
					page_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		} else {
			return false;
		}
		return page_request;
	}
	



	function loadpage(page_request, containerid) {
		if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {
			document.getElementById(containerid).innerHTML=page_request.responseText;
			if (document.getElementById('actionInfo')) {
				document.getElementById('actionInfo').innerHTML="&nbsp;";
			}
		} 		
	}

	    
	function makePostRequest(url,parameters,http_request) {
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8")
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);	
	}
	
	//New function that saves resources
	function postSearch(index) {
		var searchTerm = document.getElementById('searchTerm').value;

		currentSearch = searchTerm;
		if (searchCache[currentSearch]) {
			document.getElementById("content").innerHTML=searchCache[currentSearch];	
			return;
		} else {
			setTimeout("realPostSearch2('"+searchTerm+"');",250);
		}
	}
	

	function realPostSearch2(lastValue) {
		var searchTerm = document.getElementById("searchTerm").value;

		//Only send request if value has remained stable
		if (searchTerm==lastValue) {		
			var data = "searchTerm="+encodeURI(searchTerm);
			var url = "/search";
			var xmlhttp = getRequest();
			var func = function() {
		        if (xmlhttp.readyState == 4) {
					updateSearch(currentSearch,xmlhttp);
		        }
			}
			xmlhttp.onreadystatechange = func;
			makePostRequest(url,data,xmlhttp);
		}
    }

	
	function updateSearch(searchTerm,page_request) {
		searchCache[searchTerm] = page_request.responseText;

		if (currentSearch.indexOf(searchTerm)==0) {
			document.getElementById("content").innerHTML=page_request.responseText;
		}
	}
	
