// for testing only
$(document).ready(function() {
    //qbShowWindow();
});

// show layer with qb
function qbShowWindow() {
	var screenWidth = $("#flashcontent").width();
	var screenHeight = $("#flashcontent").height();
	var newL = Math.round((screenWidth - 600)/2);
	var newT = Math.round((screenHeight - 350)/2);
	$('#questbook').css('top',newT+'px');
	$('#questbook').css('left',newL+'px');
	$('#questbook').show('slow');
}

// close or close form with reload
function qbCloseForm(mode) {
	if (!mode) {
    	$('#questbook').hide('slow');
 	} else {
        $('#questbook').hide('slow');
        // get default form
        qbDefaultForm();
 	}
}

// clear qb input inside form
function qbClearForm() {
	var isConfirmed = confirm('Czy napewno wyczyścić formularz?');
	if (isConfirmed) {
		$('#nick').val('');
		$('#email').val('');
		$('#entry').val('');
	}
}

// load default qb form
function qbDefaultForm() {
    $.ajax({
				method: "get", url: "includes/questbook.php", data: "action=default",
				beforeSend:	function() {
				},
				complete: function() {
				},
				success: function(html) {
					$("#questbook").html(html);
				}
	});
}

// check entries and add data if valid by ajax
function qbAddEntry(sender) {

	var nick = qbStripTags($('#nick').val());
	var email = qbStripTags($('#email').val());
	var entry = qbStripTags($('#entry').val());
 	var msg = '';
	
	if (nick.length >= 3 && nick.length < 25) {
		if (entry.length >= 15 && entry.length < 2000) {
			if (qbCheckEmail(email)) {
                $(sender).addClass('loading');
				$.post("includes/questbook.php", {	"action": "add",
    						"nick": nick,
    						"email": email,
    						"entry": entry
						},
			  			function(data){
			    			$("#questbook #form").html(data);
			    			$(sender).removeClass('loading');
			  	});
				return true;
			} else {
				msg += "Wpisz poprawny adres e-mail\nTagi html nie są dozwolone.";
			}
		} else {
			msg += "Pole Wiadomość musi zawierać od 15 do maksymalnie 2000 znaków.\nTagi html nie są dozwolone.";
		}
	} else {
		msg += "Pole Nick musi zawierać od 3 do maksymalnie 25 znaków.\nTagi html nie są dozwolone.";
	}
	alert(msg);
	return false;
}

// regular expression to check e-mail address
function qbCheckEmail(email) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email)) {
		return false;
	} else {
		return true;
	}
}

// regular expression to cut html tags from data
// (equivalent strip_tags php function)
function qbStripTags(string) {
  var matchTag = /<(?:.|\s)*?>/g;
  return string.replace(matchTag, "");
}

