var ajax_running = false;
var vote_accepted = false;
var ajax_msg_showing = 0;

function vote(numer)
{	
	if (ajax_running || ajax_msg_showing > 3) return void(0);
	if (vote_accepted) {
		addAjaxMsg('vote', vote_lang["err_already_rated"], 'red');
	
	/*	return void(0); */
	};
	
	vote_base_lnk = vote_base_lnk.replace("&amp;","&");

	$.ajax({
	    url: vote_base_lnk+'&rating=' + numer,
	    type: 'GET',
	    timeout: 6000,
	    beforeSend: function() {
			ajax_running = true;
			addAjaxMsg('vote', vote_lang["waiting"],'');
	    },
	    error: function(e) {
			addAjaxMsg('vote', vote_lang["err_undefined"], 'red');
	    },
	    success: function(html){
			if (html == 'ok')
			{
			
				vote_accepted = true;
				addAjaxMsg('vote', vote_lang["ok"]);
				$('ul.rating.user-enabled').addClass('stars_'+numer);
			}
			else if (vote_lang[html] != undefined)
			{
				if (html == 'err_already_rated') vote_accepted = true;
				addAjaxMsg('vote', vote_lang[html], 'red');
			}
			else addAjaxMsg('vote', vote_lang["err_undefined"], 'red'); 
	    },
	    complete: function() {
	    	ajax_running = false;
	    }
	});			
	return void(0);
}


function addAjaxMsg( jQ_ident, msg, classtype)
{	
	ajax_msg_showing++;
	
	var msgBox = $('div.ajax_msg.'+jQ_ident);
	var msg = $('<div>'+msg+'</div>').addClass(classtype).appendTo(msgBox);

	setTimeout(function(){
		msg.fadeOut('slow', function () {
			$(this).remove();
		});
		ajax_msg_showing--;
	}, 4000);
}
