var dfRetLength = 0;
var dfInner = '';
var selectedItem = null;

function findDrugs(input){

	dfRetLength=0;

	if(input==null || input=='') return;

	if(input.length==1 && navigator.userAgent.match('^.*Safari.*$')) {
		var home = '';
		try { home=dfHomePage; } catch(err) { };

		if(home!='true') return;
	}

	var regInput = input.toLowerCase().replace(/\./g, '\\.');
	var ch = regInput.charAt(0);

	if(ch>'z' || ch<'a') return;

	var tab = dict[ch.charCodeAt(0)-'a'.charCodeAt(0)];

	dfInner = '<table id="df_searchTable"   width="250"  border="1" cellspacing="0" cellpadding="0" >';

	for(var i=0;i<tab.length;i++) {
		var counter = 0;
		var name = tab[i];
		var lName = name.toLowerCase();
		var found = 0;
		if(lName.match('^'+regInput+'.*$')) found=1;
		if(found==0 && lName.replace(/-/g, '').match('^'+regInput+'.*$')) found=2;	
		if(found>0){				
			var endInd = 0;
			var skipped = 0;
			for(var a=0;a<input.length;a++) {
				counter= counter + 1;
				if(found==2 && lName.charAt(a+skipped)=='-') {
					skipped++;
					a--;
				}
				endInd++;
			}

			dfInner += '<tr><td width="250" onmouseover="selectItem(this);" onmouseout="releaseItem();" onclick="clickItem(this);" class="df_whitebar"><b>' + name.substring(0,endInd)+'</b>'+name.substring(endInd)+'</td></tr>';
			dfRetLength++;
			if(dfRetLength == 10) {
	          break;
	        }		
		}
	}

	dfInner += '</table>';
}

function timedMsgDrugs() { 
	var t=setTimeout("hideDev()",400) ;
} 

function hideDev(){
	var divHD1 =  document.getElementById('df_searchDiv1');
	var divHD2 =  document.getElementById('df_searchDiv2');
	divHD1.style.display = 'none';
	divHD2.style.display = 'none';
}

function searchOnKeyUp(e) {

	var div1 =  document.getElementById('df_searchDiv1');
	var div2 =  document.getElementById('df_searchDiv2');
	var agt=navigator.userAgent.toLowerCase();
	var text =  document.getElementById("drugQueryStr");
	var table = document.getElementById('df_searchTable');
	var keynum;

	if(window.event) {
		keynum = e.keyCode;
	} else if(e.which) {
		keynum = e.which;
	}

	if(keynum==38 || keynum==40) {
		if((div1.style.display=='block' || div2.style.display=='block') && table!=null) {
			if(selectedItem==null) {
				if(keynum==40) {
					selectItem(table.rows[0].cells[0]);
				}
			} else {
				var rows = table.rows;
				var selTr = selectedItem.parentNode;
				var ind = 0;
				for(var tr=0;tr<rows.length;tr++) {
					if(selTr==rows[tr]) {
						ind = tr;
						break;
					}
				}

				if(keynum==40 && tr<table.rows.length-1) {
					selectItem(table.rows[tr+1].cells[0]);
				} else if(keynum==38 && tr>0) {
					selectItem(table.rows[tr-1].cells[0]);
				}
			}
		}

		return true;
	} else if(keynum==13 && text.value.length > 0) {}

	if(selectedItem!=null) releaseItem();

	findDrugs(text.value);

	if(dfRetLength==0) {
		div1.innerHTML = '';
		div2.innerHTML = '';
		div1.style.height = '2px';
		div1.style.width = '20px';
		div2.style.width = '250px';
		div1.style.display = 'block';
		div2.style.display = 'block';
		timedMsgDrugs() ;
		return true;
	}

	var table = document.getElementById('df_searchTable');

	if (dfRetLength<=6)	{
		div2.innerHTML = '';
		div1.style.height = '2px';
		div1.innerHTML = dfInner;
		div1.style.display = 'block';
		div2.style.display = 'none';
	} else {
		div1.innerHTML = '';
		div2.innerHTML = dfInner;
		div2.scrollTop = 0;
		div2.style.display = 'block';
		div1.style.display = 'none';
	}
	return true;
}


function selectItem(obj) {
	if(selectedItem!=null) {
		releaseItem();
	}

	selectedItem = obj;
	obj.className = 'df_bluebar';

	var div1 = document.getElementById('df_searchDiv1');
	var div2 = document.getElementById('df_searchDiv2');
	var table = document.getElementById('df_searchTable');

	if(table.parentNode == div2) {
		if(div2.scrollTop + div2.offsetHeight < obj.offsetTop + obj.offsetHeight) {
			div2.scrollTop = obj.offsetTop + obj.offsetHeight - div2.offsetHeight + 2;
		} else if(obj.offsetTop<div2.scrollTop) {
			div2.scrollTop = obj.offsetTop;
		}
	}
}

function releaseItem() {
	if(selectedItem!=null) {
		selectedItem.className = 'df_whitebar';
		selectedItem = null;
	}
}

function clickItem(obj) {
	var div1 = document.getElementById('df_searchDiv1');
	var div2 = document.getElementById('df_searchDiv2');

	if(div1.style.display=='block' || div2.style.display=='block') {
		document.getElementById('df_frame').className = 'df_frame_hidden';
		if(obj!=null && obj!=selectedItem) {
			selectItem(obj);
		}

		if(selectedItem!=null) {
			var name = selectedItem.innerHTML;
			name = name.substring(3);

			var ind = name.indexOf('<');
			name = name.substring(0,ind) + name.substring(ind+4);
			
			document.getElementById("drugQueryStr").value = name;
			dfInit();
			document.forms[0].submit();
		}
	} else {
		var table = document.getElementById('df_searchTable');
		if(table!=null && table.rows.length>=1) {
			var name = table.rows[0].cells[0].innerHTML;
			name = name.substring(3);
			var ind = name.indexOf('<');
			name = name.substring(0,ind) + name.substring(ind+4);
			document.getElementById('df_frame').className = 'df_frame';			
		}
	}

	return true;
}

function hideSearchDiv() {
	document.getElementById('df_searchDiv1').style.display='none';
	document.getElementById('df_searchDiv2').style.display='none';
}

function dfInit() {

	var dfBody = window.top.document.body?window.top.document.body:window.top.body;
	var dfHide = function() { hideSearchDiv(); };
	if (dfBody.attachEvent ) dfBody.attachEvent('click',dfHide);
	dfBody.onclick = dfHide;
}