var dfRetLength = 0;
var dfInner = '';

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="freeItem();" 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 findConditions(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 = conditions[ch.charCodeAt(0)-'a'.charCodeAt(0)];
	dfInner = '<table id="df_searchTable" width="250" border="0" cellspacing="0" cellpadding="0">';
	for(var i=0;i<tab.length;i++){
		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++){
				if(found==2 && lName.charAt(a+skipped)=='-'){
					skipped++;
					a--;
				}
				endInd++;
			}

			dfInner += '<tr><td width="200" onmouseover="selectCondition(this);" onmouseout="freeItem();" onclick="clickCondition(this);" class="df_whitebar"><b>'+name.substring(0,endInd)+'</b>'+name.substring(endInd)+'</td></tr>';
			dfRetLength++;

			if(dfRetLength == 10){
          			break;
        		}	
		}
	}
	dfInner += '</table>';
}


function hideTextBox(){
	var div1 =  document.getElementById('textbox');
	div1.style.display = 'none';
}

function showTextBox(){
	var div1 =  document.getElementById('textbox');
	div1.style.display = 'block';
}

function swapClass(){
	var div11 =  document.getElementById('df_searchDiv3');
	var div22 =  document.getElementById('df_searchDiv4');
	
	div11.style.display = 'none';
	div22.style.display = 'none';
}

function hideDev(which){
	if( which == "drugs" ){
		var div12 =  document.getElementById('df_searchDiv1');
		var div22 =  document.getElementById('df_searchDiv2');
	}else{
		var div12 =  document.getElementById('df_searchDiv3');
		var div22 =  document.getElementById('df_searchDiv4');
	}
	div12.style.display = 'none';
	div22.style.display = 'none';
}

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

function timedMsgConditions(){ 
	var t=setTimeout("hideDev('conditions')",400) ;
} 

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;
	var srchContains = document.getElementById("srchContainsValue");
	
	if(srchContains != null && srchContains.value == "0"){
	
		if(window.event) //ie
		{
			keynum = e.keyCode;
		}
		else if(e.which) //netscape/ff/opera
		{
			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) freeItem();
		
		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 searchOnKeyUpConditions(e){
	
	var div10 =  document.getElementById('df_searchDiv3');
	var div20 =  document.getElementById('df_searchDiv4');
	var agt=navigator.userAgent.toLowerCase();
	var text =  document.getElementById("conditionName");
	var table = document.getElementById('df_searchTable');
	var keynum;
	if(window.event) //ie
	{
		keynum = e.keyCode;
	}
	else if(e.which) //netscape/ff/opera
	{
		keynum = e.which;
	}

	if(keynum==38 || keynum==40){
		if((div10.style.display=='block' || div20.style.display=='block') && table!=null){
			if(selectedItem==null){
				if(keynum==40){
					selectCondition(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){
					selectCondition(table.rows[tr+1].cells[0]);
				}else if(keynum==38 && tr>0){
					selectCondition(table.rows[tr-1].cells[0]);
				}
			}
		}
		return true;
	}else if(keynum==13 && text.value.length > 0){
		if(!clickItem(null)) return false;
	}
	
	
	if(selectedItem!=null) freeItem();
		
		findConditions(text.value);
	
	if(dfRetLength==0){
	
		div10.innerHTML = '';
		div20.innerHTML = '';
		div10.style.height = '2px';
		div10.style.width = '20px';
		div20.style.width = '250px';
		div10.style.display = 'block';
		div20.style.display = 'block';
		timedMsgConditions() ;
		
		return true;
	}
	
	var table = document.getElementById('df_searchTable');
	if (dfRetLength<=6){
		div20.innerHTML = '';
		div10.style.height = '2px';
		div10.innerHTML = dfInner;
		div10.style.display = 'block';
		div20.style.display = 'none';
	}else{
		div10.innerHTML = '';
		div20.innerHTML = dfInner;
		div20.scrollTop = 0;
		div20.style.display = 'block';
		div10.style.display = 'none';
	}
	return true;
}


var selectedItem = null;

function selectItem(obj){

	if(selectedItem!=null){
		freeItem();
	}
	
	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) //scroll
	{
		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 selectCondition(obj){

	if(selectedItem!=null){
		freeItem();
	}
	
	selectedItem = obj;
	obj.className = 'df_bluebar';
	var div1 = document.getElementById('df_searchDiv3');
	var div2 = document.getElementById('df_searchDiv4');
	var table = document.getElementById('df_searchTable');
	
	if(table.parentNode == div2) //scroll
	{
		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 freeItem(){
	if(selectedItem!=null){
		selectedItem.className = 'df_whitebar';
		selectedItem = null;
	}
}

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

	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) //click first item
		{
			var table = document.getElementById('df_searchTable');
			if(table!=null && table.rows.length>=1){
				selectItem(table.rows[0].cells[0]);
			}
			
		}
		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;
			
			return false;
		}
	}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 get_radio_value(){

	var x=document.getElementsByTagName("form");
	var j=0;

	for (var i=0; i < x.length; i++){

        	var formname= x[i].name;
                if(formname!=null && (formname.indexOf("DrugInfoForm")!=-1)){
                        j=i;
                        break;
                }

        }

        var searchTypeCnt=document.forms[j].searchType;

        for (var k=0; k < searchTypeCnt.length; k++){
            if (document.forms[j].searchType[k].checked){

                  var rad_val = document.forms[j].searchType[k].value;

            	  if( rad_val == "drug"){
	                  clickItem(null);

                  }else{
	                  clickCondition(null)

	          }
	    }
    	}
}

function clickCondition(obj)
{
	
	
	var div1 = document.getElementById('df_searchDiv3');
	var div2 = document.getElementById('df_searchDiv4');
	var key; 

		
	if(div1.style.display=='block' || div2.style.display=='block'){
		document.getElementById('df_frame').className = 'df_frame_hidden';
		if(obj!=null && obj!=selectedItem){
			selectCondition(obj);
		}
		
		if(selectedItem==null){
			
			var table = document.getElementById('df_searchTable');
			if(table!=null && table.rows.length>=1){
				selectCondition(table.rows[0].cells[0]);
			}
		}
		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("conditionName").value = name;
			swapClass();

			return false;
		}
	}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 toggleText(action){
	var selects = document.getElementsByTagName('select');
	if(action == 'hide') {
		for(i=0; i < selects.length; i++) {
			selects[i].style.display='none';
		}
	} else if(action == 'show') {
		for(i=0; i < selects.length; i++) {
			selects[i].style.display='';
		}
	}
}


function toggleSelects(action){
	var selects = document.getElementsByTagName('select');
	if(action == 'hide') {
		for(i=0; i < selects.length; i++) {
			selects[i].style.display='none';
		}
	} else if(action == 'show') {
		for(i=0; i < selects.length; i++) {
			selects[i].style.display='';
		}
	}
}


function drugName2link(name){
	var ret = name.toLowerCase().replace(/&.*?;/g, '-');
	var ret2 = '';
	for(var i=0; i<ret.length; i++){
		var ch = ret.charAt(i);
		if(ch>='a'&&ch<='z' || ch>='A'&&ch<='Z' || ch>='0'&&ch<='9') ret2 += ch;
		else ret2 += '-';
	}	
	ret = ret2.replace(/[^a-zA-Z0-9]+/g, '-');
	if(ret.substring(ret.length-1)=='-') ret = ret.substring(0, ret.length-1);
	return ret;
}

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;

}
var dfOldEvt = window.onload;
window.onload = function() { if(dfOldEvt) dfOldEvt(); dfInit(); } ;