var notEmptyStringPattern = /[a-zA-Z0-9\)\(\-:;\.\u00C0-\u0513]+/;
var errorMessage = 'Klaida/Error';

function antiSpam()
{
	var cVal = $('#stopSpamId').val();
	cVal = parseInt(cVal) + 666;
	$('#stopSpamId').val(cVal.toString());
}

function update_shoutbox()
{
	$.ajax({
		type: 'GET',
		url: '/shoutbox/update/',
		beforeSend: function(){waiting(true, 'shoutbox');},
		success: function(data){insert_shoutbox_contents(data)},
		error: function(){insert_shoutbox_contents(errorMessage)},
		complete: function(){waiting(false, 'shoutbox');}
	});
	
	return false;
}

function new_shoutbox_message(e_name, e_message)
{
	var name_obj = $('#shoutboxName');
	var message_obj = $('#shoutboxMessage');
	
	var name = name_obj.val();
	var message = message_obj.val();
	
	if(!is_not_empty_string(name) || name == e_name) {
		name_obj.val(e_name);
		name_obj.addClass('emptyField');
	}
	else if(!is_not_empty_string(message) || message == e_message) {
		message_obj.val(e_message);
		message_obj.addClass('emptyField');
	}
	else {
		$.ajax({
			type: 'POST',
			url: '/shoutbox/insert/',
			data: {'name': name, 'message': message},
			beforeSend: function(){waiting(true, 'shoutbox');},
			success: function(data){insert_shoutbox_contents(data); shoutbox_clear_field(name_obj, true); shoutbox_clear_field(message_obj, true); name_obj.focus();},
			error: function(){insert_shoutbox_contents(errorMessage)},
			complete: function(){waiting(false, 'shoutbox');}
		});
	}

	return false;
}

function shoutbox_clear_field(field, force)
{
	if(force || field.hasClass('emptyField')) {
		field.val('');
		field.removeClass('emptyField');
	}
}

function insert_shoutbox_contents(contents)
{
	var contents_obj = $('#shoutboxContents');
	contents_obj.html(contents);
}

function validate_keywords(message)
{
	var element = $('#searchComplaints');
	var keywords = element.val();

	if(is_not_empty_string(keywords) && keywords != message) {
		return true;
	}
	
	element.val(message);
	element.addClass('emptyField');
	return false;
}

function clear_keywords()
{
	var element = $('#searchComplaints');
	element.val('');
	element.removeClass('emptyField');
}


function is_not_empty_string(string)
{
	return notEmptyStringPattern.test(string);
}


function waiting(show, element_id)
{
	var element_obj = $('#' + element_id);
	var waiting_obj = $('#' + element_id + 'Waiting');
	
	if(show) {
		element_width = element_obj.outerWidth();
		element_height = element_obj.outerHeight();
		
		waiting_obj.show();
		
		waiting_obj.width(element_width);
		waiting_obj.height(element_height);
		waiting_obj.css('background-position', Math.round(element_width/2 - 16).toString() + 'px ' + Math.round(element_height/2 - 16).toString() + 'px')
	}
	else {
		waiting_obj.hide();
	}
}