/**************************************************
	Forms
***************************************************/

function post_cm()
{
	var parent = $('cm_parent');
	if (parent != null)
		$('cm_parent').name = 'cm_param_parent';
	$('cm_author').name = 'cm_param_author';
	$('cm_email').name = 'cm_param_email';
	$('cm_text').name = 'cm_param_text';
	$('cm_form').submit();
}

function post_lk()
{
	$('lk_url').name = 'lk_param_url';
	$('lk_title').name = 'lk_param_title';
	$('lk_blurb').name = 'lk_param_blurb';
	$('lk_author').name = 'lk_param_author';
	$('lk_phone').name = 'lk_param_phone';
	$('lk_email').name = 'lk_param_email';
	$('lk_form').submit();
}

function post_r1()
{
	$('r1_username').name = 'r1_param_username';
	$('r1_email').name = 'r1_param_email';
	$('r1_password').name = 'r1_param_password';
	$('r1_password_confirm').name = 'r1_param_password_confirm';
	$('r1_code').name = 'r1_param_code';
	$('r1_form').submit();
}

function post_r2()
{
	$('r2_username').name = 'r2_param_username';
	$('r2_email').name = 'r2_param_email';
	$('r2_password').name = 'r2_param_password';
	$('r2_password_confirm').name = 'r2_param_password_confirm';
	$('r2_code').name = 'r2_param_code';
	$('r2_screen_name').name = 'r2_param_screen_name';
	$('r2_name').name = 'r2_param_name';
	$('r2_surname').name = 'r2_param_surname';
	$('r2_day').name = 'r2_param_day';
	$('r2_month').name = 'r2_param_month';
	$('r2_year').name = 'r2_param_year';
	$('r2_country').name = 'r2_param_country';
	$('r2_city').name = 'r2_param_city';
	$('r2_timezone').name = 'r2_param_timezone';
	$('r2_form').submit();
}

function post_ac()
{
	$('ac_username').name = 'ac_param_username';
	$('ac_code').name = 'ac_param_code';
	$('ac_form').submit();
}

function post_pc()
{
	$('pc_username').name = 'pc_param_username';
	$('pc_code').name = 'pc_param_code';
	$('pc_new_password').name = 'pc_param_new_password';
	$('pc_repeat_password').name = 'pc_param_repeat_password';
	$('pc_form').submit();
}

function post_li()
{
	$('li_username').name = 'li_param_username';
	$('li_password').name = 'li_param_password';
	var remember = $('li_remember');
	remember.name = 'li_param_remember';
	if ($('li_remember_check').checked)
		remember.value = 1;
	else
		remember.value = 0;
	$('li_form').submit();
}

function post_l2()
{
	$('l2_username').name = 'l2_param_username';
	$('l2_password').name = 'l2_param_password';
	var remember = $('l2_remember');
	remember.name = 'l2_param_remember';
	if ($('l2_remember_check').checked)
		remember.value = 1;
	else
		remember.value = 0;
	$('l2_form').submit();
}

function post_rc()
{
	$('rc_username').name = 'rc_param_username';
	$('rc_email').name = 'rc_param_email';
	$('rc_form').submit();
}

/**************************************************
	Global UI
***************************************************/

function set_hint(element_id, text)
{
	var element = $(element_id);
	if (element != null)
		if ((element.value == '') && (element.name == 'off'))
		{
			element.name = 'on'
			element.value = text;
			element.style.color = '#cccccc';
		}
}

function remove_hint(element_id)
{
	var element = $(element_id);
	if (element != null)
		if (element.name == 'on')
		{
			element.name = 'off';
			element.value = '';
			element.style.color = '#000000';
		}
}

function hint_field_submit(form_id, element_id)
{
	remove_hint(element_id);
	$(element_id).name = 'tag';
	return true;
}

function hint_fields_submit(form_id, element1_id, element2_id)
{
	remove_hint(element1_id);
	remove_hint(element2_id);
	$(element1_id).name = 'tag';
	$(element2_id).name = 'username';
	return true;
}

function elements_name_from_id(names)
{
	$H(names).each(function(pair) {
		var el = $(pair.key);
		if (el)
			el.name = pair.value;
	});
	return true;
}

function setLength(element, maxLength)
{
	if (element.value.length > maxLength)
		element.value = element.value.substr(0, maxLength);
}

function disableEnterKey(e)
{
	var key;
	if (window.event)
		key = window.event.keyCode;
	else
		key = e.which;
	return (key != 13);
}

function eventKey(e)
{
	var key;
	if (window.event)
		key = window.event.keyCode;
	else
		key = e.which;
	return key;
}

function redirect(url)
{
	window.location.replace(url);
}

function openPlaylist(id)
{
	window.open(
		'http://galleries.frut.lv/request/jukebox.php?pls=1&id=' + id,
		'jukebox',
		'width=480,height=390,scrollbars=no,location=no,menubar=no,toolbar=no'
	);
}

function openChat(id)
{
	window.open(
		'http://my.frut.lv/request/chat.php?id=' + id,
		'chat' + id,
		'width=640,height=400,scrollbars=yes,location=no,menubar=no,toolbar=no'
	);
}

var soundPlayer = null;

function playSound(url, loop, loaded)
{
	if (soundPlayer == null)
	{
		$('embeds').insert({ bottom: new Element('div', { id: 'sound_place' }) });
		options = { s: escape(url) };
		if (loop)
			options['r'] = 1;
		if (loaded)
			options['l'] = 1;
		swfobject.embedSWF(
			'/request/sound.swf', 'sound_place', '1', '1', '8.0.0', '',
			options, { menu: 'false' }, { id: 'sound_player' }
		);
		soundPlayer = $('sound_player');
	}
}

function stopSound()
{
	if (soundPlayer != null)
	{
		soundPlayer.remove();
		soundPlayer = null;
	}
}

function moveNode(id, up)
{
	el1 = $(id);
	if (el1 != null)
	{
		if (up)
		{
			el2 = el1.previous();
			if (el2 != null)
				el2.insert({ before: el1.remove() });
		}
		else
		{
			el2 = el1.next();
			if (el2 != null)
				el2.insert({ after: el1.remove() });
		}
	}
}

/**************************************************
	Online
***************************************************/

var notify = true;
function online()
{
	new Ajax.Updater('online', '/request/online.php', {
		evalScripts: notify,
		onSuccess: function(){
			setTimeout('online()', 60000);
		}
	});
}

var servicePages = new Array();
var servicePagesLast = 0;
var servicePage = 0;
function switchMenu()
{
	if (servicePage < servicePagesLast)
		servicePage++;
	else
		servicePage = 0;
	$('services_menu').update(servicePages[servicePage]);
}

function assignLogin(prefix)
{
	var li_button = null;
	li_button = $(prefix + '_button');
	if (li_button)
	{
		Event.observe(li_button, 'click', function(){
			var li_form_div = $(prefix + '_form').up();
			var username = $(prefix + '_username').value;
			var password = $(prefix + '_password').value;
			var remember = $(prefix + '_remember').checked - 0;
			var li_form = $(prefix + '_form').remove();
			li_form_div.update('<br /><br /><div class="' + prefix + '_loading_bar"></div>');
			new Ajax.Request('/request/login.php', {
				method: 'post',
				parameters: {
					login: 1,
					username: username,
					password: password,
					remember: remember
				},
				onSuccess: function(transport){
					if (transport.responseText == 1)
						location.replace('http://my.frut.lv/');
					else
					{
						li_form_div.update(li_form);
						$(prefix + '_password').value = '';
						li_form_div.insert({ top: '<div class="info">' + getText('login_failure') + '</div><br />' });
					}
				},
				onFailure: function(){
					li_form_div.update(li_form);
					$(prefix + '_password').value = '';
					li_form_div.insert({ top: '<div class="info">' + getText('login_failure') + '</div><br />' });
				}
			});
		});
		li_button.disabled = false;
	}
}

/**************************************************
	Misc
***************************************************/

function roundTo(n, prec)
{
	n = n.toString();
	var pos = n.indexOf('.');
	if (pos != -1)
		n = n.substr(0, pos + prec + 1);
	if (isNaN(n))
		return 0;
	else
		return parseFloat(n);
}