function llxMakeHints(container, css) {
	if (container == undefined) return;
	var focusedControl = null;
	var inputs = container.getElementsByTagName('*'); 
	var Hints = new Array();

	for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].title != "") {
			var li = new HintInfo();
			li.init(inputs[i]);
			Hints.push(li);
		}
	}



	function HintInfo() {
		var _HintInfo = this;
		this.element;
		this.Hint;

		this.init = function (s) {
			_HintInfo.element = s;
			//ff bug:use parentnode instead offsetparent
			if (getStyle(_HintInfo.element.parentNode, "position").toString() == "static") _HintInfo.element.parentNode.style.position = "relative";
			_HintInfo.Hint = document.createElement("div");
			_HintInfo.Hint.className = css;
			_HintInfo.Hint.innerHTML = _HintInfo.element.title;
			_HintInfo.Hint.style.position = "absolute";
			_HintInfo.Hint.style.cursor = "text";
			_HintInfo.Hint.style.left = _HintInfo.element.offsetLeft + 'px';
			_HintInfo.Hint.style.top = _HintInfo.element.offsetTop + 'px';
			_HintInfo.element.parentNode.appendChild(_HintInfo.Hint);
			_HintInfo.element.title = "";
			AddEvent(_HintInfo.element, "click", hide)
			AddEvent(_HintInfo.element, "focus", hide);
			AddEvent(_HintInfo.element, "keypress", hide);
			AddEvent(_HintInfo.element, "blur", show);
			AddEvent(_HintInfo.Hint, "click", focus);
			hide();
			show();
		}

		function show() {
			if (_HintInfo.element.value == "") { _HintInfo.Hint.style.display = "block"; }
		}
		function hide() {
			_HintInfo.Hint.style.display = "none";
		}
		function focus() { _HintInfo.element.focus(); }
	}

	function setHints() {
		for (var i = 0; i < Hints.length; i++) {
			if (Hints[i].element == focusedControl) {
				Hints[i].Hint.style.dislplay = 'none';
			} else {
				Hints[i].Hint.style.dislplay = 'block';
			}
		}

	}
	function AddEvent(obj, name, handler) {
		if (obj.attachEvent) {
			obj.attachEvent('on' + name, handler);
		} else {
			obj.addEventListener(name, handler, true);
		}
	}
	function getStyle(el, styleProp) {
		if (el.currentStyle)
			var st = el.currentStyle[styleProp];
		else if (window.getComputedStyle)
			var st = document.defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
		return st;
	}

}

