var offset;
var xmlhttp = false;
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) {
	try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
	catch (E) { xmlhttp = false; }
	}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); }

// document.onclick = findMouse;

function findMouse(e) { 
  if ( e.pageX || e.pageY ) {
    mousex = e.pageX;
    mousey = e.pageY;
  } else if ( e.clientX || e.clientY ) {
    mousex = e.clientX + document.body.scrollLeft;
    mousey = e.clientY + document.body.scrollTop;
  }  
	window.status = ( mousex + "." + mousey ) + " " + findPosX(document.getElementById("autocompletediv")) + "." + findPosY(document.getElementById("autocompletediv")) + " " + ( parseInt(findPosX(document.getElementById("autocompletediv"))) + parseInt(document.getElementById("autocompletediv").style.width) ) + "." + ( findPosY(document.getElementById("autocompletediv")) + document.getElementById("autocompletediv").Height ) + " stuff";
}

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	} else if (obj.x){
		curleft += obj.x;
	}
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y){
		curtop += obj.y;
	}
	return curtop;
}

function autocompleter (thevalue, e, offset) {
	ac = document.getElementById("autocompletediv");
	ac.style.visibility = "visible";
	ac.style.width = "150px";
	var posx = 0;
	var posy = 0;
	posx = ( findPosX (document.getElementById("clientsearch")) + 0 );
	posy = ( findPosY (document.getElementById("clientsearch")) + 18 );
	ac.style.left = posx + "px";
	ac.style.top = posy + "px";
	if ( e ) {
		var newchar = e.which;
		if ( newchar == undefined ){
			newchar = e.keyCode;
		}
		if ( newchar == 8 ) {
			if ( thevalue.length == 1 ){ var serverPage = "/quicksearch.php"; }
			else { var serverPage = "/quicksearch.php" + "?branchname=1&branchaddress=1&branchpostcode=1&branchtelephone=1&branchfacsimile=1&individualname=1&individualtelephone=1&individualmobile=1&individualemail=1&search=" + thevalue.substr (0, (thevalue.length - 1)) + "&offset=" + offset; }
		} else {
			var serverPage = "/quicksearch.php" + "?branchname=1&branchaddress=1&branchpostcode=1&branchtelephone=1&branchfacsimile=1&individualname=1&individualtelephone=1&individualmobile=1&individualemail=1&search=" + thevalue + String.fromCharCode(newchar) + "&offset=" + offset;
		}
	} else {
		var serverPage = "/quicksearch.php" + "?branchname=1&branchaddress=1&branchpostcode=1&branchtelephone=1&branchfacsimile=1&individualname=1&individualtelephone=1&individualmobile=1&individualemail=1&search=" + thevalue + "&offset=" + offset;
	}
	var objID = "autocompletediv";
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
}

function setvalue (thevalue,thename) {
	acObject = document.getElementById("autocompletediv");
	acObject.style.visibility = "hidden";
	acObject.style.height = "0px";
	acObject.style.width = "0px";
//	document.getElementById("addclientid").value = thevalue;
	document.getElementById("clientsearch").value = thevalue;
}

function ajaxPostcode(theobj,thefield,thevalue) {
	var serverPage = "pa.php";
	if ( thefield && thevalue ) { serverPage += "?" + thefield + "=" + thevalue; }
	var obj = document.getElementById(theobj);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
}

function setDeadline ( newdeadlineyear,newdeadlinemonth,newdeadlinedate,newdeadlinehour,newdeadlineminute,newdeadlinesecond ) {
	document.getElementById('deadlineyear').selectedIndex = newdeadlineyear;
	document.getElementById('deadlinemonth').selectedIndex = newdeadlinemonth;
	document.getElementById('deadlinedate').selectedIndex = newdeadlinedate;
	document.getElementById('deadlinehour').selectedIndex = newdeadlinehour;
	document.getElementById('deadlineminute').selectedIndex = newdeadlineminute;
	document.getElementById('deadlinesecond').selectedIndex = newdeadlinesecond;
}