var loading_now = false;
var comments_client;

function setCookie(value) {
	var name = 'comments_order';
	var path = '/';
	var expires = new Date();
	expires.setYear(expires.getFullYear()+1);
	var a = name + '=' + escape(value) +
		'; expires=' + expires.toGMTString() +
    '; path=' + path;
	document.cookie = a;
}

function showLastUp() {
	setCookie('desc');
	loadComments();
}

function showFirstUp() {
	setCookie('asc');
	loadComments();
}

function vote(id, vote) {

	if (!comments_client) {
		comments_client = jQuery.Zend.jsonrpc({url: "/api/v1/jsonrpc"});
	}
	span = $('span#votescnt'+id);
	span.fadeTo('fast', 0.1);

	div_up = $('div#btn'+id+'up');
	div_down = $('div#btn'+id+'down');	

	result = comments_client.voteComment(id, vote);
	if (result) {
		new_value = result[0]['votesUp'] - result[0]['votesDown'];
		if (new_value > 0) {
			new_value = '+' + new_value;
			new_color = '#769605';
		} else {
			if (new_value < 0) {
				new_color = '#fd0002';
			} else {
				new_color = 'gray';
			}
		}
		if (vote == 'up') {
			div_up.addClass('comment_up_voted');
			div_down.addClass('comment_down_not_allowed');
		} else {
			if (vote == 'down') {
				div_up.addClass('comment_up_not_allowed');
				div_down.addClass('comment_down_voted');
			}
		}
	} else {
		div_up.addClass('comment_up_not_allowed');
		div_down.addClass('comment_down_not_allowed');
		new_value = span.html();
		new_color = span.css('color');
	}

	div_up.removeAttr('onclick').removeAttr('title').removeClass('comment_up');
	div_down.removeAttr('onclick').removeAttr('title').removeClass('comment_down');
	span.css('color', new_color);
	span.html(new_value);
	span.fadeTo('slow', 1);
}

function loadComments() {
	if (!loading_now) {
		loading_now = true;
		$("div#comment-messages").fadeTo("fast", 0.33);
		setTimeout(function() {
			loading_now = false;
			$("div#comment-messages").fadeTo("fast", 1);
		}, 5000);
		$.post('/comment/loadcomments',
		{
			page_type: page_type,
			page_id: page_id
		},
		function(ret) {
			if (ret['messages']) {
				$("div#comment-messages").fadeTo("fast", 1);
				loading_now = false;
				$("div#comment-messages").html(ret['messages']);
				$('div#comment-counts').html(ret['counts']);
				if ('undefined' != typeof(prepOnlineDelClicks)) {prepOnlineDelClicks();}
			}
		},
		'json');
	}
}

function publishMessage() {

	if (!loading_now) {
		loading_now = true;
		$('div #comment-form').fadeTo('fast', 0.33);
		setTimeout(function() {
			loading_now = false;
			$('div #comment-form').fadeTo('fast', 1);
		}, 5000);
		$.post('/comment/addcoment2',
		{
			page_type: page_type,
			page_id: page_id,
			txt: $('#txt').val(),
			subs: $('#subs').val(),
			captcha_id: $('#captcha-id').val(),
			captcha_input: $('#captcha-input').val()
		},
			function(ret) {

				if ($('#captcha-id').val()) {
					$('#captcha-input').val('');
					reloadCaptcha();
				}

				$('div #comment-form').fadeTo('fast', 1);
				loading_now = false;
				if(ret['error']){
					$('div#comment-error').html(ret['error']);
				}
				if (ret['messages']) {
					$('div#comment-error').html('');
					$('#txt').val('');
					$('div#comment-messages').html(ret['messages']);
					$('div#comment-counts').html(ret['counts']);
					if ('undefined' != typeof(prepOnlineDelClicks)) {prepOnlineDelClicks();}
				}				
			},
			'json');
		}
}

function reloadCaptcha(){

	if (!comments_client) {
		comments_client = jQuery.Zend.jsonrpc({url: "/api/v1/jsonrpc"});
	}

	result = comments_client.getCaptcha();
	$("#captcha-id").next().next().attr('src', '/tmp/captcha/' + result['id'] + '.png');
	$("#captcha-id").val(result['id']);
}

function authEvent() {

	$.post('/comment/loadform', {
		txt: $('#txt').val()
	},
		function(ret) {
			$('div#comment-form').html(ret['formHtml']);
			loadComments();
		},
		'json');
	$("div#comment-form").html('<div style="padding-top:100px;text-align:center;height:110px;"><img src="/design/img/autocomplete_indicator.gif" /></div>');
}
