function facebook_disconnect(e) {
	if (!confirm('Rozłączenie kont w przypadku, gdy nie ustawiono hasła spowoduje brak możliwości zalogowania się.\n\nCzy na pewno chcesz usunąć powiązanie z kontem Facebook?')) {
		e.preventDefault();
	}
}

function showDefaultAvatarUrl() {
	$("#delete-avatar-url").show();
}

function reportComment(e) {
	e.preventDefault();	
	var element_id = $(this).parent().parent().parent().attr('id');
	var comment_id = element_id.replace("comment-", "");
	if (isNaN(comment_id)) {
		alert("Błędny identyfikator komentarza");
	}
	if (!confirm("Na pewno chcesz zgłosić ten komentarz do usunięcia?")) {
		return;
	}
	var url = $(this).attr("href");
	var params = { type: 'comment', id: comment_id };
	$.ajax({
		type: "POST",
		url: url,
		data: params,
		dataType: "json",
		cache: false,
		success: function(data){
			showModalInfo(element_id, data.message, data.error);
		}
	});
}

function commentReply(e) {
	e.preventDefault();	
	var comment_field = $('#article_comment_comment');
	var ident = $(this).attr("id");
	var href = "/komentarz/pobierz/" + ident.replace("answer-comm-", "");
	
	$.get(href, function(data) {
		comment_field.val(data);
		comment_field.attr('scrollTop', comment_field.attr('scrollHeight'));
		var targetOffset = $('#add-comment').offset().top;
		$('html,body').animate({scrollTop: targetOffset}, 1000, function() {
			comment_field.focus();
		});
	});
	return false;
}

function submitLogin(e) {
	var href = $("#login-link").attr('href');
	var username = $("#inner-box input#signin_username").val();
	var password = $("#inner-box input#signin_password").val();
	var csrf_token = $("#inner-box input#signin__csrf_token").val();
	var remember = 0;
	if ($("#inner-box input#signin_remember").is(":checked")) {
		remember = 1;
	}
	var data_string = 'signin[username]='+ username + 
					 '&signin[password]=' + password + 
					 '&signin[remember]=' + remember +
					 '&signin[_csrf_token]=' + csrf_token;
	var box = $("#inner-box");
	if ($("#inner-box input#signin_remember").is(":checked")) {
		remember = 1;
	}
	e.preventDefault();
	$.ajax({
		type: "POST",
		url: href,
		data: data_string,
		dataType: "html",
		cache: false,
		success: function(html){
			if (html == "OK") {
				window.location.reload();
			} else if (html != '') {
				box.html(html);
				$('#inner-box #login-submit').click(submitLogin);
				$('#inner-box .recover-password-link').click(showModal);
				$(".modal-box").addClass("login-error")
			} else {
				box.html("<p>Wystąpił błąd</p>");
			}
		}
	});
}

function submitNewPassword(e) {
	var href = $("#new-password-form").attr('action');
	var user = $("#inner-box input#password_user").val();
	var csrf_token = $("#inner-box input#password__csrf_token").val();
	var remember = 0;
	var data_string = 'password[user]='+ user + 
					 '&password[_csrf_token]=' + csrf_token;
	var box = $("#inner-box");
	e.preventDefault();
	$.ajax({
		type: "POST",
		url: href,
		data: data_string,
		dataType: "html",
		cache: false,
		success: function(html){
			box.html(html);
			$('#inner-box #new-password-submit').click(submitNewPassword);
		}
	});
}

function showPrompt(e) {
	e.preventDefault();
	var id = $(this).attr("id");
	var href = $(this).attr("href");
	if (href == undefined) {
		alert("error");
		return false;
	}
	if ($('.modal').length > 0) {
		$('.modal').fadeOut(200, function() {
			$('.modal').remove();
			addPrompt(id, href);
		});
	} else {
		addPrompt(id, href);
	}
}

function addPrompt(id, href) {
	var box = $("<div />").attr("id", "inner-box");
	var inner = $("<div />").addClass("inner")
							.append(
									$("<a />").addClass("modal-close")
											  .attr("href", "#")
							)
	inner.append(box)
	var modal = $("<div />").addClass("modal")
						.attr("id", "modal-"+id)
						.append($("<div />").addClass("overlay"))
						.append($("<div />")
								.append(inner)
								.addClass("modal-box"));
	modal.fadeIn(200);
	$("body").append(modal);
	$.ajax({
		type: "GET",
		url: href,
		dataType: "html",
		cache: false,
		success: function(html){
			box.html(html);
			$('.modal-close').click(function() { $('.modal').remove(); });
		}
	});
}

function showModalInfo(id, info, is_error) {
	if ($('.modal').length > 0) {
		$('.modal').fadeOut(200, function() {
			$('.modal').remove();
			addModalDialog(id, "", info, is_error);
		});
	} else {
		addModalDialog(id, "", info, is_error);
	}
}

function showModal(e) {
	e.preventDefault();
	var id = $(this).attr("id");
	var href = $(this).attr("href");
	if (href == undefined) {
		alert("error");
		return false;
	}
	if ($('.modal').length > 0) {
		$('.modal').fadeOut(200, function() {
			$('.modal').remove();
			addModalDialog(id, href, "", 0);
		});
	} else {
		addModalDialog(id, href, "", 0);
	}
}

function addModalDialog(id, href, info, is_error_message) {
	var box = $("<div />").attr("id", "inner-box");
	var targetOffset = $(window).scrollTop() + 30;
	var inner = $("<div />").addClass("inner")
							.append(
									$("<a />").addClass("modal-close")
											  .attr("href", "#")
							)
	inner.append(box)
	var modal = $("<div />").addClass("modal")
						.attr("id", "modal-"+id)
						.append($("<div />").addClass("overlay"))
						.append($("<div />")
								.append(inner)
								.addClass("modal-box"));
	modal.fadeIn(200);
	$("body").append(modal);
	if (id == "recover-password-link") {
		$(".modal-box").addClass("recover-password");
	}
	$(".modal-box").css({top: targetOffset});
	$(".modal-close").focus();
	if (href != "") {
		$.ajax({
			type: "GET",
			url: href,
			dataType: "html",
			cache: false,
			success: function(html){
				box.html(html);
				$('#inner-box #login-submit').click(submitLogin);
				$('#inner-box #new-password-submit').click(submitNewPassword);
				$('#inner-box .recover-password-link').click(showModal);
			}
		});
	} else {
		if (is_error_message != 1) {
			$('.modal-box').addClass("message-ok");
			box.html('<h2>Sukces</h2><div class="message">' + info + '<a class="b1 modal-close" href="#">Zamknij</a></div>');
		} else {
			$('.modal-box').addClass("message-error");
			box.html('<h2>Wystąpił błąd</h2><div class="message">' + info + '<a class="b1 modal-close" href="#">Zamknij</a></div>');
		}
	}
	$('.modal-close').click(function() { 
		$('.modal').remove();
		return false; 
	});
}

function utf8_encode(string) {
	string = string.replace(/\r\n/g,"\n");
	var utftext = "";

	for (var n = 0; n < string.length; n++) {
		var c = string.charCodeAt(n);

		if (c < 128) {
			utftext += String.fromCharCode(c);
		} else if((c > 127) && (c < 2048)) {
			utftext += String.fromCharCode((c >> 6) | 192);
			utftext += String.fromCharCode((c & 63) | 128);
		}
		else {
			utftext += String.fromCharCode((c >> 12) | 224);
			utftext += String.fromCharCode(((c >> 6) & 63) | 128);
			utftext += String.fromCharCode((c & 63) | 128);
		}
	}
	utftext = myurlencode(utftext);
	return utftext;
}

function myurlencode(str) {
	str = escape(str);
	str = str.replace(/%20/g, '+');
	str = str.replace(/\//g, '+');
	str = str.replace(/@/g, '');
	return str;
}

