function LOGetEl(doc,frm,name){
	var ret = null;
	if(frm){
		for(j=0;j<frm.elements.length && frm.elements[j].name!=name;j++);
		if(j<frm.elements.length){
			ret = frm.elements[j];
		}else{
			var doc=doc?document:((isIE)?dialogArguments.document:top.opener.document);
			ret = doc.getElementById(name);
		}
	}else{
		ret = LOGetDocEl(doc,name);
	}
	return(ret);
}

function LOGetDocEl(doc,name){
	var ret = null;
	var doc=doc?document:((isIE)?dialogArguments.document:top.opener.document);
	var all=doc.getElementsByTagName('*');
	for(j=0;j<all.length && all[j].name!=name;j++);
	if(j<all.length) ret = all[j];
	return(ret);
}

function ListOne_OpenWindow(btn,type,server,sql,width,height){
	if(!width) width=800;
	if(!height) height=600;
	var value='';
	var frm=btn.form;
	var search='';
	var types=type.split(",");
	var i,name,rel='';
	for(i=0;i<types.length;i++){
		name = types[i].split(".")[1];
		value+='|'+LOGetEl(1,frm,name).value;
		if(!i){
			search=escape(LOGetEl(1,frm,'Text_'+name).value.substr(0,1));
		}else{
			rel+=','+name;
		}
	}
	rel=rel.substr(1);
	var url='?MODULE='+server+'/list_select_one&type='+types[0]+'&relatives='+rel+'&form='+frm.name+'&value='+value.substr(1)+'&search='+search;
	if(sql){
		url+='&sql='+sql;
	}
	if(isIE){
		showModalDialog(url,window,'dialogHeight:'+height+'px;dialogWidth:'+width+'px;center:yes;resizable:yes;scroll:yes;help:no;status:no');
	}else{
		window.open(url,'','top='+((screen.height-height)/2)+',left='+((screen.width-width)/2)+'dependent=yes,height='+height+',width='+width+',resizable=yes,scroll=yes,modal=yes');
	}
	return false;
}

function ListOne_Click(sel,form,name){
	if(sel.selectedIndex==-1) return;
	var op=sel.options[sel.selectedIndex];
	var doc=(isIE)?dialogArguments.document:top.opener.document;
	var frm=doc.forms[form];
	var el=LOGetEl(0,frm,name);
	if(el)el.value=op.value;
	el=LOGetEl(0,frm,'Text_'+name);
	if(el)el.value=op.text;
}

function ListOne_DoSearch(el){
	CursorWait();
	var frm=document.forms[0];
	frm.elements['search'].value=el.innerHTML;
	frm.submit();
	return false;
}

function ListOne_RemoveValue(btn,type){
	var frm=btn.form;
	LOGetEl(1,frm,type).value='';
	LOGetEl(1,frm,'Text_'+type).value='';
	return false;
}

function ListOne_ClearValue(inp,type){
	LOGetEl(1,inp.form,type).value='';
}

function ListOne_Insert(field,value,text){
	var frm=null;
	var ff=field.split('.');
	try{frm=document.forms[ff[0]];}catch(e){}
	if(!frm) try{frm=opener.document.forms[ff[0]];}catch(e){}
	if(!frm) return;
	LOGetEl(1,frm,ff[1]).value=value;
	LOGetEl(1,frm,'Text_'+ff[1]).value=text;
}
