$(document).ready(function() {
    $('form.powiedzCos').submit(function(e) {
        var form = $(this);
        $.post($(this).attr('action'), $(this).serialize(), function(json) {
            if (json.status=='ok') {
				var p = form.next('.brakNowosci');
				if(p.size() > 0) p.remove();
                form.after(json.html);
				form.find('textarea').val('').focusout();
				clearing();
            }
			else {
				infoNew(json.error);
			}
        },'json');
        e.preventDefault();
    });
	
    //dodawanie komentarzy
	$('form.addInfoComment input[type=submit]').live('click', function(e) {
		var form = $(this).parents('form');
		e.preventDefault();
        $.post(form.attr('action'), form.serialize(), function(json) {
            if(json.status == 'ok') {
                form.parents('div.komentarze').find('form').before(json.html);
                form.find('textarea').val('').focusout();
				clearing();
            }
			else {
				infoNew(json.error);
			}
        },'json');
    });
	
	var showCommentField = function(o) {
		var link = o;
		$(link.parents('.nowosc').next('.komentarze').css('display', 'block')).find('.addInfoComment').css('display', 'block');
		link.next('span').remove();
		link.remove();
	}
   
    //obsługa pokazywania wszystkich komentarzy
    $('a.komentarzeKomunikatu').live('click', function(e) {
		var link = $(this);
        var id = link.attr('id').replace('pokazKomentarze-','');
        var placeholder = link.parents('div.nowosc').next('div.komentarze').children('div.k');
		var comments = placeholder.find('.malyKomentarz');
		var commentsSize = comments.length;
		if(commentsSize <= 2)
			$.get('/komunikaty/komentarze/'+id, function(data) {
				placeholder.replaceWith(data);
				link.html('Schowaj komentarze');
				showCommentField($(link.siblings('.dodajKomentarzKomunikatu').get(0)));
			}, 'html');
		else {
			if($(comments.get(2)).css('display') == 'none') {
				comments.css('display', 'block');
				link.html('Schowaj komentarze');
				showCommentField($(link.siblings('.dodajKomentarzKomunikatu').get(0)));
			}
			else {
				comments.slice(2).css('display', 'none');
				link.html('Pokaż komentarze ('+commentsSize+')');
			}
		}
        e.preventDefault();
    });
	
    $('.addInfoComment:not(.dontHide)').css('display', 'none');
	$('.dodajKomentarzKomunikatu').live('click', function(e) {
		showCommentField($(this));
		e.preventDefault();
	});
	
	$('.sonda form').find(':radio').change(function() {
		$(this).parents('form').find('input[type=submit]').attr('disabled', false);
	});
	$('.sonda form').submit(function(e) {
        var form = $(this);
		if(form.css('opacity') == 0.4) return false;
		form.css('opacity', 0.4);
        $.post(form.attr('action'), form.serialize(), function(json) {
            if(json.status == 'ok') {
				form.next('.naduzycieLink').remove();
                form.replaceWith($(json.html));
            }
        },'json');
        e.preventDefault();
    });
	
	var lastDateInput = $('#lastInfoDate');
	var parent = $('.starsze');
	parent.find('a').click(function(e) {
		var this0 = $(this);
		$.get(this0.attr('href')+'/'+lastDateInput.val(), function(data) {
            if(data.status == 'ok') {
				lastDateInput.val(data.lastDate);
				parent.before($(data.html));
				clearing();
			}
			else
				if(data.status == 'notok')
					infoNew(data.error);
			if(data.showOlder == false) 
				parent.remove();
        }, 'json');
		e.preventDefault();
	});
	
	$('.nowosc .usun').live('click', function(e) {
		var this0 = $(this);
		var options = this0.parent('.nowosc').find('.opcje');
		if(options.size() > 0)
			if(options.css('display') == 'block') options.fadeOut(200);
			else options.fadeIn(200);
		e.preventDefault();
	});
	$('.nowosc .opcje').live('click', function(e) {
		if(!$(e.target).is('a')) 
			$(this).fadeOut(200);
	});
	$('a.komunikatUsun, a.komunikatUkryj, a.komunikatZablokuj').addClass('ajax').live('confirm', function(e) {
		var this0 = $(this);
		var parent = this0.parents('.nowosc');
		$.get(this0.attr('href'), function(data) {
            if(data.status == 'ok') {
				parent.add(parent.next('.komentarze')).slideUp(200, function() { $(this).remove(); });
				infoNew(data.msg);
			}
			else {
				infoNew(data.error);
			}	
        }, 'json');
		e.preventDefault();
	});
});

