if (window.XMLHttpRequest) { var sReq = new XMLHttpRequest(); var sReqActive = 1; }
else if (window.ActiveXObject) { var sReq = new ActiveXObject("Microsoft.XMLHttp"); var sReqActive = 1; }
else {  var sReqActive = 0; }

var qFocus = false;
var sw = document.getElementById('AjaxResults');
var ajaxQS = document.getElementById('q');
var bname = navigator.appName;

function AjaxSearch() {
  if (sReq.readyState == 4 || sReq.readyState == 0) {
    if (window.ajaxQS.value.length > 1) {
  		 sReq.open("GET",'http://www.amazingsocks.com/includes/js/ajaxsearch/ajaxsearch.asp?search=' + window.ajaxQS.value, true);
  		 sReq.onreadystatechange = ProcessAjaxResults;
  		 sReq.send(null);
  	} else {
		   sw.style.visibility='hidden';
		}
	}
}

function ProcessAjaxResults() {
	var strSuggest = '';
	if (sReq.readyState == 4) {
	  sw.innerHTML=sReq.responseText;
	}
  if (sw.innerHTML.length > 1) {
		sw.style.visibility='visible';
		positionElement(ajaxQS,sw,16,0);
    ajaxQS.focus();
    if (document.attachEvent) {
      window.document.body.attachEvent('onclick',hideAjaxResultsDiv);
    } else {
      window.document.body.addEventListener('click',hideAjaxResultsDiv,false);
    }
	}
}

function showAjaxResultsDiv() {
  if (sw.innerHTML.length > 1) { sw.style.visibility='visible'; }
}

function hideAjaxResultsDiv() {
  if (qFocus) {
	  return false;
	}
  sw.style.visibility='hidden';
}

function searchMOver(tElement) {
  tElement.style.backgroundColor='black';
	tElement.style.color='white';
}

function searchMOut(tElement) {
  tElement.style.backgroundColor='white';
	tElement.style.color='black';
}

function focusIn() {
  qFocus = true;
	AjaxSearch();
}

function focusOut() {
  qFocus = false;
}

function positionElement(fixedObj,targetObj,downX,leftY) {
	var curleft = curtop = 0;
	if (fixedObj.offsetParent) {
		curleft = fixedObj.offsetLeft;
		curtop = fixedObj.offsetTop;
		while (fixedObj = fixedObj.offsetParent) {
			curleft += fixedObj.offsetLeft;
			curtop += fixedObj.offsetTop;
		}
	}
	if (bname.search(/opera/i) == 0) {
		 curleft += 0;
		 curtop += 2;
	} else if (bname.search(/netscape/i) == 0) {
		 //safari returns netscape, but like firefox, it ignores the positioning
		 curleft += 0;
		 curtop += 2;
	} else if (bname.search(/microsoft/i) != 0) {
		 curleft += 0;
		 curtop += 2;
		 //window.alert(bname);
	}
	leftY += curleft;
	downX += curtop;
	targetObj.style.left=leftY;
	targetObj.style.top=downX;
}