var violationlink = '';
var violationelement = '';
var actualCategories = new Array();
var commentToShow = 0;

var commentsBind = function() {
	
	list1 = $('.cmnts-filters-col .cmnts-box:first').find('input');
	
	actualCategories = new Array();
	list1.each(function(i) {
		if ($(this).is(':checked'))	{
			if($(this).val() != '') {
				actualCategories.push($(this).val());
			}
		}
	});

	$('#show-comments').click(function() {
		$('#add-comment-pane').addClass('hidden');
		$('#comments-list').removeClass('hidden');
		return false;
	});
	
	$('.report-violation-btn').unbind().click(function() {
		violationelement = $(this);
		$('#overlay').removeClass('hidden');
		$('#report-violation').removeClass('hidden');
			if (violationlink == '') {
				//alert($(this).attr('rel'));
				violationlink = $('#report-violation form').attr('action');
			}
			$('#report-violation form').attr('action',violationlink.replace('XXX',$(this).attr('rel')));
			return false;
	});

	//$('#report-misuse-form').validate(misuse_options);
	//$('#comment-add-form').validate(add_comment_options);
	
	$('#report-violation a.close').unbind().click(function() {
		$('#overlay').addClass('hidden');
		$('#report-violation').addClass('hidden');
		return false;
	});
	
	// klikniecie w checkboxa z grupy comment-category wylacza checboxa 'wszystkie'
	$("input[name=comment-category]").click(function(i) {
		if($(this).attr('id') !=  'comment-category-all')	{
			$('#comment-category-all').attr('checked', false);
		}
	});
	
	// klikniecie w checboxa 'wszystkie' uncheckuje wszystkie checboxy z grupy comment-category
	$('#comment-category-all').click(function() {
		$("input[name=comment-category]:checked").each(function(i) {
			if ($(this).attr('id') !=  'comment-category-all')	{
				$(this).attr('checked', false);
			}
		});
	});
	
	$('a.category-panel').unbind().click(function() {
		$link = $(this);
		$list = $link.parent().find('ul');
		if ($list.is(':visible')) {
			$list.slideToggle("slow");
			$link.find('em').html('+');
		}
		else {
			$list.slideToggle("slow");
			$link.find('em').html('&#8211;');
		}
		
		return false;
	});

	$('#report-misuse-form').unbind().submit(function(){
		if ($('#misuse-reason').val().length > 0) {
			$('div#misuse-error-messages').remove();
				$form = $(this);
				$.ajax({
					url: $form.attr('action'),
					data: $form.serialize(),
					type: 'POST',
					success: function(){
						$('#overlay').addClass('hidden');
						$('#report-violation').addClass('hidden');
						$('#misuse-reason').val('');
						var violationtext = violationelement.text();  
						violationelement.parent().text(violationtext);
					},
					error: function(){
						$('#overlay').addClass('hidden');
						$('#report-violation').addClass('hidden');
						$('#misuse-reason').val('');
						var violationtext = violationelement.text();  
						violationelement.parent().text(violationtext);
					}
				});
		} else {
			$('div#misuse-error-messages').remove();
			$html = $('<div id="misuse-error-messages"><div><ul><li>Prosimy o uzasadnienie nadużycia.</li></ul></div></div>');
			$('#report-misuse-form textarea').after($html);
		}
		return false;
	});
	
	$('.cmnts-add-comment').click(function() {
		
		$('#comments-list').addClass('hidden');
		$('#add-comment-pane').removeClass('hidden');
		
		$('.tabs-content').addClass('hidden');
		
		$('#airlines-nav li a').removeClass('active');
		$('#airlines-nav li#ar-nav-opinions a').addClass('active');
		
		//alert('#' + $(this).parent().attr('id') + '-content');
		
		$('#ar-nav-opinions-content').removeClass('hidden');
		$('#arp-nav-opinions-content').removeClass('hidden');
		
		return false;
	});
		
	$('a.cmnts-filter-btn').click(function() {

		$list1 = $('.cmnts-filters-col .cmnts-box:first').find('input');
		
		$list2 = $('.cmnts-filters-col .cmnts-box:last').find('input');

		var categories = new Array();
		var profiles = new Array();

		$list1.each(function(i) {
			if ($(this).is(':checked'))	{
				categories.push($(this).val());
			}
		});

		//$list2.each(function(i) {
		//	if ($(this).is(':checked'))	{
		//		profiles.push($(this).attr('value'));
		//	}
		//});
		
		if ((categories.length > 0) && (categories[0] == ''))
			categories.length = new Array();
			
		//if ((profiles.length > 0) && (profiles[0] == ''))
		//	profiles.length = new Array();
		
		ObjectComments.load({'category[]':categories, 'actualCategories[]': actualCategories});
	
		return false;
	});
};

var ObjectComments = {
		_container: null,
		
		_params: {
			page: 0,
			perPage: 2,
			direction: 'DESC'
		},
		url: null,
		form: null,

		init: function(objId, container, formEl) {
			this._container = $(container);
			this._params.objectCode = objId;
			this.form = $(formEl);
			
			this._params.objectType = $("input[name='objectType']").val();
			
			this.url = this.form.attr('action');
				
			//this.form.submit(ObjectComments.addComment);
		},

		load: function(params) {
			//$('#ajax-loading').removeClass('hidden');
			//$('#overlay').removeClass('hidden');

			if (typeof params != 'undefined' && params.changeDirection == true) {
				params.direction = (this._params.direction == 'ASC' ? 'DESC' : 'ASC');
			}

			this._params = jQuery.extend(this._params, params);
			this._params.mode = 'get';

			try {
				this._container.load(this.url, this._params, this.getSuccessHandler);
				
			} catch (ex){

			}
	
			return false;
			
		},

		getSuccessHandler: function() {
			if(commentToShow) {
				location.href = commentToShow;
			}
			commentsBind();
		},

		getErrorHandler: function() {

		},

		addComment: function() {
			
			
			try {
				jQuery.ajax({
					type: "POST",
					url: ObjectComments.url + '?mode=add',
					dataType: 'json',
					data: ObjectComments.form.serialize(),
					error: ObjectComments.addErrorHandler,
					success: ObjectComments.addSuccessHandler
				});
			} catch (ex){
			}
			
			return false;
		},

		addErrorHandler: function() {
			
		},

		addSuccessHandler: function() {
			//ObjectComments.form.remove();
			
			$('#comment-add-thankyou').show();
			$('#comments-list').removeClass('hidden');
			$('#add-comment-pane').addClass('hidden');
			
			return ObjectComments.load();
		},

		getContainer: function() {
			return ObjectComments._container;
		},

		getPage: function(p) {
			return ObjectComments.load({'actualCategories[]': actualCategories, page: p});
		}
	};

$(document).ready(function(){
	

	
	$('#comments-list').each(function() {
		ObjectComments.init($("input[name='ObjectId']").val(), '#comments-list', '#comment-add-form');
	
		//ObjectComments.load();
		commentsBind();
		
	});
	
	list1 = $('.cmnts-filters-col .cmnts-box:first').find('input');
	
	actualCategories = new Array();
	list1.each(function(i) {
		if ($(this).is(':checked'))	{
			if($(this).val() != '') {
				actualCategories.push($(this).val());
			}
		}
	});

	$('.comments-pop-calendar').click(function(){
		var o = $(this);
		o.esky_calendar({thisInput:o.attr('rel'),linkedInput:false,loop:1, allowSameDay:true, outBlock: new Date().zeroTime(), inBlock: new Date().zeroTime().addDays(-1456), blockedDays: -1456, pastDates: true});
		return false;
	});
		
		$('#report-misuse-form').unbind().submit(function(){
			if ($('#misuse-reason').val().length > 0) {
				$('div#misuse-error-messages').remove();
					$form = $(this);
					$.ajax({
						url: $form.attr('action'),
						data: $form.serialize(),
						type: 'POST',
						success: function(){
							$('#overlay').addClass('hidden');
							$('#report-violation').addClass('hidden');
							$('#misuse-reason').val('');
							var violationtext = violationelement.text();  
							violationelement.parent().text(violationtext);
						},
						error: function(){
							$('#overlay').addClass('hidden');
							$('#report-violation').addClass('hidden');
							$('#misuse-reason').val('');
							var violationtext = violationelement.text();  
							violationelement.parent().text(violationtext);
						}
					});
			} else {
				$('div#misuse-error-messages').remove();
				$html = $('<div id="misuse-error-messages"><div><ul><li>Prosimy o uzasadnienie nadużycia.</li></ul></div></div>');
				$('#report-misuse-form textarea').after($html);
			}
			return false;
		});
		
		


});
