
	if ( !viasto )
		{ var viasto = {}; }

	//##################################################
	
	viasto.toggleLogin = function()
		{
			var container = $('#login');
			if ( container.is(':visible') )
				{
					container.slideUp('fast');
					$('#username').blur();
					$('#password').blur();
				}
			else
				{
					container.show();
					$('#username').focus();
				}
		}
	
	//##################################################
	
	viasto.setLanguage = function(language)
		{
			var select = document.getElementById('language');
			for ( var i = 0; i < select.length; i++)
				{
					if ( select.options[i].value == language && !select.options[i].selected )
						{
							select.options[i].selected = true;
							document.getElementById('language_form').submit()
							return;
						}
				}
		}
	
	//##################################################
	
	viasto.checkLength = function(object, min, max)
		{
			if ( object.val().length < min || object.val().length > max )
				{ return false; }
			return true;
		}
	
	//##################################################
	
	viasto.checkExpression = function(object, expression)
		{
			if ( !expression.test(object.val()) )
				{ return false; }
			return true;
		}
	
	//##################################################
	
	viasto.checkSelect = function(id, name)
		{
			if ( $(id).val() == '' )
				{ return false; }
			return true;
		}

	//##################################################
	
	viasto.checkLogin = function(isLogin)
		{
			var isValid = true;
			isValid = isValid && viasto.checkLength($('#username'), 2, 100, 'user name');
			if ( isLogin )
				{ isValid = isValid && viasto.checkLength($('#password'), 2, 100, 'password'); }
			return isValid;
		}

	//##################################################
	
	viasto.showError = function(id, duration)
		{
			$(id + "_error").stop().slideDown('fast');
			if ( duration > 0 )
				{ setTimeout(function() { $(id + "_error").stop().slideUp('fast'); }, duration); }
			$(document).scrollTop(0);
			return false;
		}

