$(document).ready(function()
{
	$('a[@rel=external]').bind('click', function()
	{
		$(this).attr('target', '_blank');
	});

	$('#ad_list td').mouseover(function() {
		$(this).parent('tr').addClass('over');
	}).mouseout(function() {
		$(this).parent('tr').removeClass('over');
	});

	$('#cid').change(function() {
		var id = $(this).val();
		if (id != '')
		{
			$.get('/ads/categories/' + id + '/', function(data) {
				$('#subcategory').html(data).show();
			});
		}
		else
		{
			$('#subcategory').hide();
		}
	});

	$('.ad_del').click(function() {
		if (!confirm('Ar tikrai norite ištrinti skelbimą?'))
			return false;
		return true;
	});

	$('#vip1, #vip2').change(function() {
		var cr = new Number(0);
		cr += new Number($('#vip1').val() * 2);
		cr += new Number($('#vip2').val());
		$('#additional_credits_num').html(cr + ' kreditai');
		if ($('#user_credits').val() < cr)
			$('#additional_credits_error').show();
		else
			$('#additional_credits_error').hide();
	});
	$('#additional_credits_error a').click(function() {
		$('#more_credits').val('1');
		$('form#new_ad').submit();
	});
});

var valid = new validator();

function validator()
{
	error = 'error';
	field = 'Užpildykite visus privalomus laukus.';
	phone = 'Neteisingas telefono numeris.';
	email = 'Neteisingas el. pašto adresas.';
	rules =  'Būtina sutikti su taisyklėmis.';
	password = 'Jūsų įvesti slaptažodžiai nesutampa.';
	too_long = 'Jūsų prisijungimo vardas per ilgas.';
	wrong = 'Neleistinas vartotojo vardas.';
	msg = '';

	this.check = function(form)
	{
		var id = form.id;
		var failed = false;

		$('form#'+id+' .required').each(function()
		{
			var id = $(this).attr('id');
			var label = $('label[@for=' + id + ']');

			label.removeClass('error');
			if ($(this).val() == '')
			{
				label.addClass('error');
				failed = true;
				msg = field;
			}
			else if (id == 'username')
			{
				if ($(this).val().length > 25)
				{
					label.addClass('error');
					failed = true;
					msg = too_long;
				}
				else if (username($(this).val()))
				{
					label.addClass('error');
					failed = true;
					msg = wrong;
				}
			}
		});

		if (!failed && $('form#'+id+' .email').val() && !checkEmail($('form#'+id+' .email').val()))
		{
			$('label[@for*=email]').addClass('error');
			failed = true;
			msg = email;
		}

		if (!failed && id != 'new_ad' && $('form#'+id+' #phone').val() && ($('form#'+id+' #phone').val().length != 8 || $('form#'+id+' #phone').val() != parseInt($('form#'+id+' #phone').val())))
		{
			$('label[@for*=phone]').addClass('error');
			failed = true;
			msg = phone;
		}

		if (!failed && $('form#' + id + ' #agree').val() == '1' && $('form#' + id + ' #agree').attr('checked') != true)
		{
			$('label[@for*=agree]').addClass('error');
			failed = true;
			msg = rules;
		}

		if (failed)
		{
			$('fieldset.'+error).html(msg);
			$('fieldset.'+error).fadeIn(400);
			$('div.'+error).html(msg);
			$('div.message').hide();
			$('div.'+error).fadeIn(400);
		}

		return !failed;
	}
}

function checkEmail(str)
{
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,4}(?:\.[a-z]{2})?)$/i;
	return filter.test(str);
}

function username(str)
{
	var filter = /\s/;
	return filter.test(str);
}

function wishlist()
{
	var wish = $('#wish').val();
	if (wish != '')
	{
		$.post('/pages/wishes/', { message: wish }, function(data)
		{
			if (data == '1')
			{
				$('#wishlist fieldset').hide();
				$('#wishlist span').show();
				$('#wish').val('');
			}
		});
	}
}

function showForm()
{
	$('#wishlist fieldset').show();
	$('#wishlist span').hide();
}
