View file veppa_wallpaper/public/js/general.js

File size: 1.76Kb
var rateControls = {rating:'<span class="rating">&nbsp;</span>',
					rated_up:'<span class="rated_up">&nbsp;</span>',
					rated_down:'<span class="rated_down">&nbsp;</span>'};


$(function(){
	// init rating controls after
	initRateControls();
	
	// check rating
	checkRated();
});


function initRateControls(){
	$('div.rating span.controls a').click(rateWallpaper)
}

function rateWallpaper(){
	var $me = $(this);
	var id = $me.attr('rel');
	var rate = $me.attr('rate');
	var $val = $('div.rating[rel="'+id+'"] span.rank');
	var val = $val.html();
	
	$('div.rating[rel="'+id+'"] span.controls').html(rateControls.rating);
	
	$.post(BASE_URL+'index/rate/',{id:id,rate:rate},function(data){
													 
		updatWallpaperRatingImg(id,data);
		
		// increase or decrease value
		if(data == 'up')
		{
			val = parseInt(val)  + 1;
			
		}
		else
		{
			val = parseInt(val)  - 1;
		}
		
		if(val>0)
		{
			val = "+" + val;
		}
		else if(val==0)
		{
			val = "0";
		}
		
		$val.html(val);
	});
	return false;
}


function checkRated()
{
	// check every rating spot if rated by this person 
	var w_ids = '';
	$('div.rating').each(function(i){
		w_ids += $(this).attr('rel')+',';
	});
	
	// send w_ids and check if rated by this person
	$.post(BASE_URL+'index/checkRating/',{w_ids:w_ids},updateRated);
}

function updateRated(data)
{
	//alert(data);
	
	arr_data = data.split(",");
	for(x in arr_data)
	{
		arr_r = arr_data[x].split(":");
		updatWallpaperRatingImg(arr_r[0],arr_r[1]);
	}	
	
	// init rating conrols 
	initRateControls();
	
}

function updatWallpaperRatingImg(w_id,state)
{
	if(state=='up' || state=='down')
	{
		$('div.rating[rel="'+w_id+'"] span.controls').html(rateControls['rated_'+state]);
	}
}