function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
			try {
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
		catch (e){}
		}
	} else {
		return false;
	} 
}

var searchReq = getXmlHttpRequestObject();

function closeSearchBox() {
	//document.getElementById('search_suggest').stlye.display = 'none';
	document.getElementById('search_suggest').style.display = 'none';
	//alert('x') ;
}

function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearch').value);		
		searchReq.open("GET", '/suggest.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}		
}

function stripHTML(str){
	var tmp = str.replace(/(<.*['"])([^'"]*)(['"]>)/g, function(x, p1, p2, p3) { return  p1 + p3;});
	return tmp.replace(/<\/?[^>]+>/gi, '');
};

function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';		
		var str = searchReq.responseText.split("\n");
		if (str.length>1) {
			ss.style.display = 'block';
		} else {
			ss.style.display = 'none';
		}
		for(i=0; i < str.length - 1; i++) {
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(\'' + stripHTML(str[i]) + '\');" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}


function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}

function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}

function setSearch(value) {
	document.getElementById('txtSearch').value = value;
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.display = 'none';
	document.getElementById('txtSearch').focus();
}

function showHide(elementID) {
   if (document.getElementById(elementID)) {
      if (document.getElementById(elementID+'-show').style.display != 'none') {
         document.getElementById(elementID+'-show').style.display = 'none';
         document.getElementById(elementID).style.display = 'block';
      }
      else {
         document.getElementById(elementID+'-show').style.display = 'inline';
         document.getElementById(elementID).style.display = 'none';
      }
   }
}
