File size: 1.76Kb
var rateControls = {rating:'<span class="rating"> </span>',
rated_up:'<span class="rated_up"> </span>',
rated_down:'<span class="rated_down"> </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]);
}
}