function kwSuggestBoxHide() {
	if (getElementById('kwSuggestBox') != null) {
		getElementById('kwSuggestBox').style.visibility = 'hidden';
		getElementById('ajax_keywords').className = 'kwSuggestBoxHidden';
	}
}

function locSuggestBoxHide() {
	if (getElementById('locSuggestBox') != null) {
		getElementById('locSuggestBox').style.visibility = 'hidden';
		getElementById('job_locations').className = 'locSuggestBoxHidden';
	}
}

function nttSuggestBoxHide() {
	if (getElementById('nttSuggestBox') != null) {
		getElementById('nttSuggestBox').style.visibility = 'hidden';
		getElementById('Ntt').className = 'nttSuggestBoxHidden';
	}
}

function ntt2SuggestBoxHide() {
	if (getElementById('ntt2SuggestBox') != null) {
		getElementById('ntt2SuggestBox').style.visibility = 'hidden';
		getElementById('job_title').className = 'nttSuggestBoxHidden';
	}
}

// Get the HTTP Object
function getHTTPObject(){
	if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) return new XMLHttpRequest();
	else {
		//alert("Your browser does not support AJAX.");
		return null;
	}
}

// Change the value of the outputText field
function kwSetOutput(){
	if(kwHTTPObject.readyState == 4){
		//document.getElementById('outputText').value = kwHTTPObject.responseText;
		getElementById('kwSuggestBox').innerHTML = "";
		var myArray = eval(kwHTTPObject.responseText);
		var arrayLen = myArray.length;
		var divHeights = 0;
		var kwSuggestBoxHeightLimit = 150;
		var kwSuggestBoxHeightMax = 0;
		var txt = "";
		for (var temp = 0; temp < arrayLen; temp++) {
			var newText = myArray[temp];
			var originalText = newText;
			var keyword = ltrim(document.getElementById('ajax_keywords').value);
			newText = newText.replace(eval("/("+keyword+")/gi"), "<span class=\"kwSuggestHilite\">$1</span>");
			getElementById('kwSuggestBox').innerHTML += "<div id=\"kwSuggestBoxLine"+temp+"\" class=\"kwSuggestBoxLine\" onmouseover=\"this.className='kwSuggestBoxLineOver'\" onmouseout=\"this.className='kwSuggestBoxLine'\" onclick=\"kwSuggestLineSelect('"+originalText+"')\">"+newText+"</div>";
			divHeights += parseInt(eval("getElementById('kwSuggestBoxLine"+temp+"').offsetHeight"));
			if (divHeights < kwSuggestBoxHeightLimit) {
				//alert(divHeights);
				kwSuggestBoxHeightMax = divHeights;
			}
		}
		if (arrayLen == 0) {
			kwSuggestBoxHide();
		} else {
			getElementById('ajax_keywords').className = 'kwSuggestBoxVisible';
			getElementById('kwSuggestBox').style.height = (kwSuggestBoxHeightMax+2)+"px";
			getElementById('kwSuggestBox').style.visibility = 'visible';
		}
	}
}

function locSetOutput(){
	if(locHTTPObject.readyState == 4){
		//document.getElementById('outputText').value = kwHTTPObject.responseText;
		getElementById('locSuggestBox').innerHTML = "";
		var myArray = eval(locHTTPObject.responseText);
		var arrayLen = myArray.length;
		var divHeights = 0;
		var locSuggestBoxHeightLimit = 150;
		var locSuggestBoxHeightMax = 0;
		var txt = "";
		for (var temp = 0; temp < arrayLen; temp++) {
			var newText = myArray[temp];
			var originalText = newText;
			var keyword = ltrim(document.getElementById('job_locations').value);
			newText = newText.replace(eval("/("+keyword+")/gi"), "<span class=\"locSuggestHilite\">$1</span>");
			getElementById('locSuggestBox').innerHTML += "<div id=\"locSuggestBoxLine"+temp+"\" class=\"locSuggestBoxLine\" onmouseover=\"this.className='locSuggestBoxLineOver'\" onmouseout=\"this.className='locSuggestBoxLine'\" onclick=\"locSuggestLineSelect('"+originalText+"')\">"+newText+"</div>";
			divHeights += parseInt(eval("getElementById('locSuggestBoxLine"+temp+"').offsetHeight"));
			if (divHeights < locSuggestBoxHeightLimit) {
				//alert(divHeights);
				locSuggestBoxHeightMax = divHeights;
			}
		}
		if (arrayLen == 0) {
			locSuggestBoxHide();
		} else {
			getElementById('job_locations').className = 'locSuggestBoxVisible';
			getElementById('locSuggestBox').style.height = (locSuggestBoxHeightMax+2)+"px";
			getElementById('locSuggestBox').style.visibility = 'visible';
		}
	}
}

// Change the value of the outputText field
function nttSetOutput(){
	if(nttHTTPObject.readyState == 4){
		//document.getElementById('outputText').value = kwHTTPObject.responseText;
		getElementById('nttSuggestBox').innerHTML = "";
		var myArray = eval(nttHTTPObject.responseText);
		var arrayLen = myArray.length;
		var divHeights = 0;
		var nttSuggestBoxHeightLimit = 150;
		var nttSuggestBoxHeightMax = 0;
		var txt = "";
		for (var temp = 0; temp < arrayLen; temp++) {
			var newText = myArray[temp];
			var originalText = newText;
			var keyword = ltrim(document.getElementById('Ntt').value);
			newText = newText.replace(eval("/("+keyword+")/gi"), "<span class=\"nttSuggestHilite\">$1</span>");
			getElementById('nttSuggestBox').innerHTML += "<div id=\"nttSuggestBoxLine"+temp+"\" class=\"nttSuggestBoxLine\" onmouseover=\"this.className='nttSuggestBoxLineOver'\" onmouseout=\"this.className='nttSuggestBoxLine'\" onclick=\"nttSuggestLineSelect('"+originalText+"')\">"+newText+"</div>";
			divHeights += parseInt(eval("getElementById('nttSuggestBoxLine"+temp+"').offsetHeight"));
			if (divHeights < nttSuggestBoxHeightLimit) {
				//alert(divHeights);
				nttSuggestBoxHeightMax = divHeights;
			}
		}
		if (arrayLen == 0) {
			nttSuggestBoxHide();
		} else {
			getElementById('Ntt').className = 'nttSuggestBoxVisible';
			getElementById('nttSuggestBox').style.height = (nttSuggestBoxHeightMax+2)+"px";
			getElementById('nttSuggestBox').style.visibility = 'visible';
		}
	}
}

// Change the value of the outputText field
function ntt2SetOutput(){
	if(ntt2HTTPObject.readyState == 4){
		//document.getElementById('outputText').value = kwHTTPObject.responseText;
		getElementById('ntt2SuggestBox').innerHTML = "";
		var myArray = eval(ntt2HTTPObject.responseText);
		var arrayLen = myArray.length;
		var divHeights = 0;
		var ntt2SuggestBoxHeightLimit = 150;
		var ntt2SuggestBoxHeightMax = 0;
		var txt = "";
		for (var temp = 0; temp < arrayLen; temp++) {
			var newText = myArray[temp];
			var originalText = newText;
			var keyword = ltrim(document.getElementById('job_title').value);
			newText = newText.replace(eval("/("+keyword+")/gi"), "<span class=\"nttSuggestHilite\">$1</span>");
			getElementById('ntt2SuggestBox').innerHTML += "<div id=\"nttSuggestBoxLine"+temp+"\" class=\"nttSuggestBoxLine\" onmouseover=\"this.className='nttSuggestBoxLineOver'; ntt2SuggestLineSelect('"+originalText+"')\" onmouseout=\"this.className='nttSuggestBoxLine'\" onclick=\"ntt2SuggestLineSelect('"+originalText+"')\">"+newText+"</div>";
			divHeights += parseInt(eval("getElementById('nttSuggestBoxLine"+temp+"').offsetHeight"));
			
			if (divHeights < ntt2SuggestBoxHeightLimit) {
				//alert(divHeights);
				ntt2SuggestBoxHeightMax = divHeights;
			}
		}
		if (arrayLen == 0) {
			ntt2SuggestBoxHide();
		} else {
			getElementById('job_title').className = 'nttSuggestBoxVisible';
			getElementById('ntt2SuggestBox').style.height = (ntt2SuggestBoxHeightMax+2)+"px";
			getElementById('ntt2SuggestBox').style.visibility = 'visible';
		}
	}
}

// Implement business logic
function doWork(elm){
	if (elm == 'kw') {
		kwHTTPObject = getHTTPObject();
		if (kwHTTPObject != null) {
			var keyword = ltrim(document.getElementById('ajax_keywords').value);
			if (keyword.length > 1) {
				kwHTTPObject.open("GET", "/ajax/ajax_server.php?keyword="
				+keyword, true);
				kwHTTPObject.send(null);
				kwHTTPObject.onreadystatechange = kwSetOutput;
			} else {
				kwSuggestBoxHide();
			}
		}
	} else if (elm == 'loc') {
		locHTTPObject = getHTTPObject();
		if (locHTTPObject != null) {
			var keyword = ltrim(document.getElementById('job_locations').value);
			if (keyword.length > 1) {
				locHTTPObject.open("GET", "/ajax/ajax_server.php?keyword="
				+keyword, true);
				locHTTPObject.send(null);
				locHTTPObject.onreadystatechange = locSetOutput;
			} else {
				locSuggestBoxHide();
			}
		}
	}  else if (elm == 'ntt') {
		nttHTTPObject = getHTTPObject();
		if (nttHTTPObject != null) {
			var keyword = ltrim(document.getElementById('Ntt').value);
			if (keyword.length > 1) {
				nttHTTPObject.open("GET", "/ajax/ajax_server.php?ntt_keyword="
				+keyword, true);
				nttHTTPObject.send(null);
				nttHTTPObject.onreadystatechange = nttSetOutput;
			} else {
				nttSuggestBoxHide();
			}
		}
	}  else if (elm == 'ntt2') {
		ntt2HTTPObject = getHTTPObject();
		if (ntt2HTTPObject != null) {
			var keyword = ltrim(document.getElementById('job_title').value);
			if (keyword.length > 1) {
				ntt2HTTPObject.open("GET", "/ajax/ajax_server.php?ntt_keyword="
				+keyword, true);
				ntt2HTTPObject.send(null);
				ntt2HTTPObject.onreadystatechange = ntt2SetOutput;
			} else {
				ntt2SuggestBoxHide();
			}
		}
	}  
}

function kwSuggestLineSelect(selected) {
	getElementById('ajax_keywords').value = selected;
}

function nttSuggestLineSelect(selected) {
	getElementById('Ntt').value = selected;
}

function ntt2SuggestLineSelect(selected) {
	getElementById('job_title').value = selected;
}

function locSuggestLineSelect(selected) {
	getElementById('job_locations').value = selected;
	locSuggestBoxHide();
}


function kwSuggestionMove() {
	if (getElementById('kwSuggestBox') != null) {
		var inputTop = getElementById('ajax_keywords').offsetTop;
		var inputLeft = getElementById('ajax_keywords').offsetLeft;
		var inputHeight = getElementById('ajax_keywords').offsetHeight;
		var kwSuggestBoxTop = inputTop + inputHeight;
		getElementById('kwSuggestBox').style.top = (kwSuggestBoxTop-1)+"px";
		getElementById('kwSuggestBox').style.left = inputLeft+"px";
	}
}

function locSuggestionMove() {
	if (getElementById('locSuggestBox') != null) {
		var inputTop = getElementById('job_locations').offsetTop;
		var inputLeft = getElementById('job_locations').offsetLeft;
		var inputHeight = getElementById('job_locations').offsetHeight;
		var locSuggestBoxTop = inputTop + inputHeight;
		getElementById('locSuggestBox').style.top = (locSuggestBoxTop-1)+"px";
		getElementById('locSuggestBox').style.left = inputLeft+"px";
	}
}

function nttSuggestionMove() {
	if (getElementById('nttSuggestBox') != null) {
		var inputTop = getElementById('Ntt').offsetTop;
		var inputLeft = getElementById('Ntt').offsetLeft;
		var inputHeight = getElementById('Ntt').offsetHeight;
		var nttSuggestBoxTop = inputTop + inputHeight;
		getElementById('nttSuggestBox').style.top = (nttSuggestBoxTop-1)+"px";
		getElementById('nttSuggestBox').style.left = inputLeft+"px";
	}
}

function ntt2SuggestionMove() {
	if (getElementById('ntt2SuggestBox') != null) {
		var inputTop = getElementById('job_title').offsetTop;
		var inputLeft = getElementById('job_title').offsetLeft;
		var inputHeight = getElementById('job_title').offsetHeight;
		var ntt2SuggestBoxTop = inputTop + inputHeight;
		getElementById('ntt2SuggestBox').style.top = (ntt2SuggestBoxTop-1)+"px";
		getElementById('ntt2SuggestBox').style.left = inputLeft+"px";
	}
}

function hideSuggestionBoxes() {
	setTimeout("kwSuggestBoxHide()", 500);
	setTimeout("nttSuggestBoxHide()", 500);
	setTimeout("ntt2SuggestBoxHide()", 500);
	setTimeout("locSuggestBoxHide()", 500);
}

function onloadhandler() {
	document.getElementsByTagName("BODY")[0].onclick = hideSuggestionBoxes;
	ntt2SuggestionMove();
	kwSuggestionMove();
	nttSuggestionMove();
	locSuggestionMove();
}

function getStyle(oElm, strCssRule){
  var strValue = "";
  if(document.defaultView && document.defaultView.getComputedStyle){
    strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
  }
  else if(oElm.currentStyle){
    strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
      return p1.toUpperCase();
    });
    strValue = oElm.currentStyle[strCssRule];
  }
  return strValue;
}

function clearRefine() {
	getElementById('ajax_refine').value = "";
}
var kwHTTPObject = null;
var locHTTPObject = null;
var nttHTTPObject = null;
var ntt2HTTPObject = null;

