function completename(obj, evt, arrname) 
{
	if ((!obj) || (!evt) || (arrname.length == 0)) 
		return;
	if (obj.value.length == 0) 
		return; 
	var elm = (obj.setSelectionRange) ? evt.which : evt.keyCode;
	if ((elm < 32) || (elm >= 33 && elm <= 46) || (elm >= 112 && elm <= 123)) 
		return;
	var txt = obj.value.replace(/;/gi, ","); 
	elm = txt.split(","); 
	txt = elm.pop(); 
	txt = txt.replace(/^\s*/, "");
	if (txt.length == 0) return; 
	if (obj.createTextRange) 
	{ 
		var rng = document.selection.createRange(); 
		if (rng.parentElement() == obj) 
		{ 
			elm = rng.text; 
			var ini = obj.value.lastIndexOf(elm); 
		} 
	} 
	else if (obj.setSelectionRange) 
		var ini = obj.selectionStart; 
	for (var i = 0; i < arrname.length; i++) 
	{ 
		elm = arrname[i].toString(); 
		if (elm.toLowerCase().indexOf(txt.toLowerCase()) == 0) 
		{ 
			obj.value += elm.substring(txt.length, elm.length);
			break; 
		} 
	}
	if (obj.createTextRange) 
	{ 
		rng = obj.createTextRange(); 
		rng.moveStart("character", ini); 
		rng.moveEnd("character", obj.value.length); 
		rng.select(); 
	} 
	else if (obj.setSelectionRange) 
		obj.setSelectionRange(ini, obj.value.length); 
}
function elemAppend (type, attr1name, attr1value, attr2name, attr2value)
{
	var headelem=document.getElementsByTagName("head")[0];
	var fileref=document.createElement(type);
	fileref.setAttribute(attr1name,attr1value);
	fileref.setAttribute(attr2name,attr2value);
	headelem.appendChild(fileref);
}
function selectchoice (e, c)
{
	var elem=document.getElementById(e);
	for (x=0; x<elem.length; x++)
	{
		if (elem[x].value==c)
			elem.selectedIndex=x;
	}
}
function textblur (i)
{
	t=i.defaultValue;
	if (i.value=='') 
		i.value=t;
}
function textfocus (i)
{
	t=i.defaultValue;
	if (i.value==t)
		i.value='';
}

