$(document).ready(function($) {
	var hvrOffset = $('#menu .hvr').offset();
	
	$(window).resize(function(){
		hvrOffset = $('#menu .hvr').offset();
	});
	
	$('#menu').bind('mouseleave', function() {
		var menuOffset = $(this).offset();
		var hvrLeft = hvrOffset.left - menuOffset.left;
		
		$('#menu .hvr').animate({
			'left': hvrLeft
		}, { queue: false });
	});
	
	$('#menu li a').bind('mouseenter', function() {
		var menuOffset = $('#menu').offset();
		var offset = $(this).offset();
		var hvrLeft = offset.left - menuOffset.left - ($('#menu .hvr').width()/2 - parseInt($(this).css('padding-left'))) + Math.floor($(this).width()/2);
		
		$('#menu .hvr').animate({
			'left': hvrLeft
		}, { queue: false });
	});

	$.fn.clearForm = function() {
		return this.each(function() {
			var type = this.type, tag = this.tagName.toLowerCase();
			if (tag == 'form')
				return $(':input',this).clearForm();
			if (type == 'text' || type == 'password' || tag == 'textarea')
				this.value = '';
			else if (type == 'checkbox' || type == 'radio')
				this.checked = false;
			else if (tag == 'select')
				this.selectedIndex = -1;
		});
	};
});

function feedbackSend(form){
	var formdata = form.serialize();
	
	var r = $('div.fbresult');
	var t = form;
	
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	
	r.html('');
	r.hide();
	var err = false;
	if ($('#fbname').val() == '') {
		r.append('<p class="error">Nezadané meno.</p>');
		err = true;
	}
	if (reg.test($('#fbemail').val()) == false) {
		r.append('<p class="error">Nesprávne zadaná e-mailová adresa.</p>');
		err = true;
	}
	if ($('#fbtext').val() == '') {
		r.append('<p class="error">Nezadaný text správy.</p>');
		err = true;
	}
	if (err) {
		r.slideDown('normal');
		return false;
	}
	
	t.slideUp('normal', function(){
		r.html('Posielam&hellip;').slideDown('normal', function(){
		
			$.ajax({
				type: 'POST',
				url: '/feedback/send',
				data: formdata,
				success: function(msg){
					if (msg == 'OK') {
						r.html('<p class="success">Správa bola úspešne odoslaná.</p>').animate({
							opacity: 1.0
						}, 2000, function(){
							r.hide();
							form.clearForm();
							t.slideDown('normal');
						});
					}
					else {
						r.html('<p class="error">Správa nebola odoslaná. Skúste znova.</p>');
						t.slideDown('normal');
					}
				},
				error: function(msg){
					r.html('<p class="error">Správa nebola odoslaná. Skúste znova.</p>');
					t.slideDown('normal');
				}
			});
			
		});
	});
}

function feedbackSendEn(form){
	var formdata = form.serialize();
	
	var r = $('div.fbresult');
	var t = form;

	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	
	r.html('');
	r.hide();

	var err = false;
	if($('#fbname').val() == '') {
		r.append('<p class="error">Please enter name.</p>');
		err = true;
	}
	if(reg.test($('#fbemail').val()) == false) {
		r.append('<p class="error">Incorrect e-mail address.</p>');
		err = true;
	}
	if($('#fbtext').val() == '') {
		r.append('<p class="error">Please enter message body.</p>');
		err = true;
	}
	if (err) {
		r.slideDown('normal');
		return false;
	}

	
	t.slideUp('normal', function(){
		r.html('Sending&hellip;').slideDown('normal', function(){

			$.ajax({
				type: 'POST',
				url: '/feedback/send',
				data: formdata,
				success: function(msg) {
					if (msg == 'OK') {
						r.html('<p class="success">Message was sent successfully.</p>')
							.animate({opacity: 1.0}, 2000, function(){
								r.hide();
								form.clearForm();
								t.slideDown('normal');
							});						
					} else {
						r.html("<p class=\"error\">Message wasn't sent. Please try again, or use &#109;&#97;&#105;&#108;&#116;&#111;&#58;&#105;&#110;&#102;&#111;&#64;&#105;&#110;&#102;&#105;&#110;&#105;&#116;&#46;&#115;&#107;</p>");
						t.slideDown('normal');
					}
				},
				error: function(msg) {
					r.html("<p class=\"error\">Message wasn't sent. Please try again, or use &#109;&#97;&#105;&#108;&#116;&#111;&#58;&#105;&#110;&#102;&#111;&#64;&#105;&#110;&#102;&#105;&#110;&#105;&#116;&#46;&#115;&#107;</p>");
					t.slideDown('normal');
				}
			});

		});
	});

}
