jQuery( function () {

	var balloon = new PSBalloon('#commu_rate');
	var stars = jQuery('#commu_rate img');
	var stars_on_count = jQuery('#commu_rate img[src$=star-on.png]').length;	
	var target_c_commu_id = jQuery('#target_c_commu_id').val();
	var sessid = jQuery('#sessid').val();
	var c_commu_rate_count = jQuery('#c_commu_rate_count').text();
	var c_commu_rate_avg = jQuery('#c_commu_rate_avg').text();
	var c_commu_rate_user = jQuery('#c_commu_rate_user').text();
	var rate = 0;	
	var mouse_is_over_commu_rate_li = false;
	var hack = jQuery('#gmap').length == 0;

	jQuery('#commu_rate img').mouseover(
		function (event)
		{		
			mouse_is_over_commu_rate_li = true;
			if ( hack )
				jQuery('#bars').css('overflow','visible');
			if ( parseInt(jQuery('#c_commu_rate_user_available').text())>0 )
			{
				rate = jQuery(this).attr('id').match(/\d+/);			
				stars_on( rate );
				balloon.showUp({top:-150,left:38},'Liczba ocen: '+c_commu_rate_count+'<br/>Średnia ocena: '+c_commu_rate_avg+'<br/>Twoja ocena: '+(c_commu_rate_user?c_commu_rate_user:'niewystawiona'));
			}
			else if ( jQuery('#pc_page_o_c_home').length == 0 )
				balloon.showUp({top:-200,left:38},'Liczba ocen: '+c_commu_rate_count+'<br/>Średnia ocena: '+c_commu_rate_avg+'<br/>Twoja ocena: '+(c_commu_rate_user?c_commu_rate_user:'niewystawiona')+'<br/><br/>Aby ocenić społeczność należy najpierw wystawić przynajmniej jeden komentarz.');
			else
				balloon.showUp({top:-135,left:38},'Liczba ocen: '+c_commu_rate_count+'<br/>Średnia ocena: '+c_commu_rate_avg);
		}
	);
	
	jQuery('#commu_rate img').mouseout(
		function (event)
		{
			mouse_is_over_commu_rate_li = false;		
		}
	);
	
	jQuery('#commu_rate img').click(
		function (event)
		{			
			event.stopPropagation();
			if ( parseInt(jQuery('#c_commu_rate_user_available').text())>0 )
			{
				balloon.hide();
				c_commu_rate_user = 'zapisywana';
				jQuery.ajax({
					url: URL_TO_AJAX,
					type: "POST",
					data: { m:'pc', a:'do_ajax_c_commu_rate_insert', sessid:sessid, target_c_commu_id:target_c_commu_id, rate:rate },
					dataType: "text",
					success: function (data) {								
								var data = data.PSevalJSON();
								c_commu_rate_count = data.count;
								c_commu_rate_avg = data.avg;
								c_commu_rate_user = data.user;
								stars_on_count = Math.round(c_commu_rate_avg);
								stars_on( stars_on_count );
								stars_on_small( stars_on_count );
							 },
					error: function (request, status, error) {
								alert('Wystąpił błąd podczas próby dodania oceny do społeczności.');
						   }
				});
			}			
		}
	);
	
	jQuery('#commu_rate').mouseout(
		function (event)
		{
			window.setTimeout( stars_reset, 1000 );
		}
	);

	function stars_on ( rate )
	{	
		for ( var i = 0; i < rate; i++ )
			jQuery(stars[i]).attr('src',STATIC_URL+'/gfx/img/icons/star-on.png');
		for ( var i = rate; i < stars.length; i++ )
			jQuery(stars[i]).attr('src',STATIC_URL+'/gfx/img/icons/star-off.png');	
	}	
	
	function stars_on_small ( rate )
	{	
		var html = '';
		for ( var i = 0; i < rate; i++ )
			html += '<img src="'+STATIC_URL+'/gfx/img/icons/star-on-small.png" /> ';
		jQuery('#commu_rate_small').html(html);
	}
	
	function stars_reset ()
	{
		if ( !mouse_is_over_commu_rate_li )
		{		
			balloon.hide();	
			if ( hack )
				jQuery('#bars').css('overflow','hidden');
			stars_on( stars_on_count ); 
		}
	}	
});
