String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, '');
}

String.prototype.ltrim = function() {
	return this.replace(/^\s+/, '');
}

String.prototype.rtrim = function() {
	return this.replace(/\s+$/, '');
}

var $cont = document.getElementById('content-wrapper');

var info = function()
{
	var hide_timeout = 0;

	function hl_photo(num)
	{
		for (var i = 1; i <= 5; i++)
		{
			var el = document.getElementById('info_p' + i);
			var cls = el.className.replace(/hidden/g, '').trim();

			if (i != num) cls += ' hidden';

			el.className = cls;
		}
	}

	function do_hide()
	{
		document.getElementById('info').style.display = 'none';
	}

	return {
		show: function(num)
		{
		    if (hide_timeout)
		    {
			clearTimeout(hide_timeout);
			hide_timeout = 0;
		    }

		    document.getElementById('info').style.display = '';
		    hl_photo(num);
		    document.getElementById('info_text_txt').innerHTML = info_texts[num];
		},

		hide: function()
		{
			if (!hide_timeout) {
				hide_timeout = setTimeout(function() { do_hide(); }, 150);
			}
		}
	};
}();

function $add_handler(element, event_name, event_handler)
{
	if (element.addEventListener) element.addEventListener(event_name, event_handler, false);
	else
	if (element.attachEvent) element.attachEvent('on' + event_name, event_handler);
}

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';
	}
}

function FixOverlay()
{
	var el_overlay = document.getElementById('jquery-overlay');
	var el_box = document.getElementById('jquery-lightbox');

	if (!el_overlay || !el_box || el_overlay.style.display=='none' || el_box.style.display=='none') return;

	var hgt = el_box.offsetTop + el_box.offsetHeight + 32;
	if (document.body.offsetHeight > hgt) hgt = document.body.offsetHeight;

	if (el_overlay.offsetHeight < hgt) el_overlay.style.height = Math.round(hgt) + 'px';
}

setInterval(FixOverlay, 500);
