var xmlHttp;
[red]var text=drop=null[/red]
textfocus = false;
function getvalue()
{
value = document.getElementById([red]text[/red]).value;
return value;
}
function dataget()
{
value = getvalue();
if (value.length > 0) {
xmlHttp = GetXmlHttpObject();
if (xmlHttp==null) {
alert ("Your browser does not support AJAX!");
return;
}
var url="ajax.asp?ajax=dropdown&value="+[red]escape([/red]value[red])[/red]+"";
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
var output = xmlHttp.responseText;
if (output != "") {
dropshow();
document.getElementById([red]drop[/red]).innerHTML=output;
} else {
drophide();
}
}
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} else {
drophide();
}
}
function drophide()
{
if (document.getElementById([red]drop[/red])) {
document.getElementById([red]drop[/red]).style.display="none";
}
}
function dropshow()
{
if (document.getElementById([red]drop[/red])) {
document.getElementById([red]drop[/red]).style.display="block";
}
}
function insert(place)
{
drophide();
document.getElementById([red]text[/red]).value=place;
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try {
xmlHttp=new XMLHttpRequest();
} catch (e) {
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function findselected()
{
for (i=0;i<findnumber();i++) {
if (document.getElementById([red]drop[/red]).childNodes[i].className == "dropitemselected") {
return i;
break;
}
}
}
function findnumber()
{
y = 0;
while(true) {
if (document.getElementById([red]drop[/red]).childNodes[y]) {
y++;
} else {
return y;
break;
}
}
}
function Key_Up(e)
{
[red]// getting the target borrowed from quirksmode.org
var targ;
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
if (targ.nodeType == 3) targ = targ.parentNode;[/red]
[red]text=targ.id
drop=text.replace(/text/,'drop')[/red]
if (e.keyCode) {
code = e.keyCode;
} else if (e.which) {
code = e.which;
}
var keyChar = String.fromCharCode(code);
if (keyChar == "&" || keyChar == "(") {
document.getElementById(drop).childNodes[0].focus();
if (keyChar == "(") {
itemup();
} else if (keyChar == "&") {
itemdown();
}
} else if (keyChar == "'") {
selected = findselected();
document.getElementById([red]drop[/red]).style.display="none";
place = document.getElementById([red]drop[/red]).childNodes[selected].innerHTML;
document.getElementById([red]text[/red]).value=place;
} else {
if (textfocus==true) {
dataget();
}
}
}
function On_Click(e)
{
drophide()
}
function itemup()
{
selected = findselected();
newselected = selected + 1;
if (newselected < findnumber()) {
document.getElementById([red]drop[/red]).childNodes[newselected].style.backgroundColor="#C4EFA7";
document.getElementById([red]drop[/red]).childNodes[selected].style.backgroundColor="#FFFFFF";
document.getElementById([red]drop[/red]).childNodes[newselected].className = "dropitemselected";
document.getElementById([red]drop[/red]).childNodes[selected].className = "dropitem";
}
}
function itemdown()
{
selected = findselected();
newselected = selected - 1;
if (newselected >= 0) {
document.getElementById([red]drop[/red]).childNodes[newselected].style.backgroundColor="#C4EFA7";
document.getElementById([red]drop[/red]).childNodes[selected].style.backgroundColor="#FFFFFF";
document.getElementById([red]drop[/red]).childNodes[newselected].className = "dropitemselected";
document.getElementById([red]drop[/red]).childNodes[selected].className = "dropitem";
}
}
if (document.addEventListener) {
document.addEventListener('keyup', Key_Up, false);
} else if (document.attachEvent) {
document.attachEvent('onkeyup', Key_Up);
}
if (document.addEventListener) {
document.addEventListener('click', On_Click, false);
} else if (document.attachEvent) {
document.attachEvent('onclick', On_Click);
}