function DefValue(id, def)
{
	var el = document.getElementById(id);

	var empty = false;
	var first = true;

	var className = 'form-def';

	function CleanClassName()
	{
		var str = el.className;

		for (;;)
		{
			ind = str.indexOf(className);
			if (ind < 0) break;
			str = str.substr(0, ind) + str.substr(ind + className.length);
		}

		return str;
	}

	if (el.value == '')
	{
		el.value = def;
		el.className = CleanClassName() + ' ' + className;
		empty = true;
	}

	el.setAttribute('autocomplete', 'off');
	el.focus();

	el.onblur = function()
	{
		if (el.value == '')
		{
			empty = true;
			el.value = def;
			el.className = CleanClassName() + ' ' + className;
		}
	}

	el.onfocus = function()
	{
		if (empty && !first)
		{
			el.value = '';
			empty = false;
			el.className = CleanClassName();
		}

		first = false;
	}

	var act_func = function()
	{
		if (empty)
		{
			empty = false;
			el.value = '';
			el.className = CleanClassName();
		}

		return true;
	}

	el.onclick = act_func;
	el.onkeydown = act_func;

	$add_handler(el.form, 'submit', act_func);
}

function SetError(id, text, cls)
{
	var el = document.getElementById(id);
	var container = document.createElement('DIV');
	var err = document.createElement('DIV');
	var parent = el.parentNode;

	parent.insertBefore(container, el);
	parent.removeChild(el);
	container.appendChild(el);
	container.appendChild(err);

	container.style.position = 'relative';
	el.className += ' form-error';
	err.className = 'form-error-text' + (typeof(cls)=='undefined' ? '' : ' '+cls);
	err.innerHTML = text;
	err.style.display = 'none';

	el.onmouseover = function()
	{
		err.style.display = '';
	}

	el.onmouseout = function()
	{
		err.style.display = 'none';
	}
}
