var comments_cache=new Array();var comments_cache_pages=1;var comments_cache_total=0;var comments_cache_current=1;var comments_cache_logged=0;var comments_cache_rate=null;function comments(token,page)
{$('.comments_info').css('display','none').text('');var height=$('#comments_'+token).height();var width=$('#comments_'+token).width();var loader=document.createElement('img');$(loader).attr('src',static_path+'images/ajax-loader.gif');$(loader).css('margin-top',(height/4)-16+'px');$(loader).css('margin-bottom',(height/4)*3+'px');$(loader).css('margin-left',(width/2)+'px');$('#comments_'+token).empty();$('#comments_'+token).append(loader);comments_cache_current=page;if((page!=1)&&comments_cache[page])
{comments_redraw(token,comments_cache[page],comments_cache_logged);comments_pager_redraw(token,parseInt(page),parseInt(comments_cache_pages),2);return;}
$.ajax({url:global_path+'flash,'+token+",comments.json",type:"POST",data:{'page':page},dataType:"json",timeout:10000,error:function()
{$('#comments_info_'+token).text('An error occurred while fetching comments...').css('display','block');},success:function(json)
{if(typeof json=='number')
{$('#comments_info_'+token).text('An error occurred while fetching comments...').css('display','block');return;}
comments_cache[page]=json.comments;comments_cache_pages=parseInt(json.pages);comments_cache_logged=parseInt(json.logged);comments_redraw(json.token,json.comments,comments_cache_logged);comments_pager_redraw(json.token,parseInt(page),comments_cache_pages,2);if(comments_cache_total!=parseInt(json.total))
{$('#comments_count_'+token).text('Comments ('+json.total+')');comments_cache.length=0;}
comments_cache_total=parseInt(json.total);}});}
function comments_redraw(token,comments,logged)
{var container=$('#comments_'+token).clone();container.empty();var threshold=getCookie('COMMENTS_RATE');threshold=threshold?threshold:parseInt($('#comments_select_'+token)[0].value);for(var i=0;i<comments.length;i++)
{var comment_div=document.createElement('div');if(parseInt(comments[i]['depth'])>0)
$(comment_div).addClass('subcomment');else
$(comment_div).addClass('comment');$(comment_div).attr('id','comment_'+comments[i]['comment_id']);var comment_header=document.createElement('div');var html='<span class="comauth"><a href="http://www.filestube.com/user/'+
comments[i]['username']+'">'+comments[i]['username']+'</a> ('+
comments[i]['added']+')';var rate=parseInt(comments[i]['rate']);if(rate<threshold)
html+=' <a id="flip_'+comments[i]['comment_id']
+'" href="#" style="font-weight: normal" onclick="comments_show(\''+token+'\', '
+comments[i]['comment_id']+'); return false">Show</a>';html+='</span><span class="comopt"><span ';if(rate>0)
{html+='class="comments_ratep" ';rate='+'+rate;}
else if(rate<0)
html+='class="comments_ratem" ';else
html+='class="comments_ratez" ';html+='id="comments_rate_'+token+'_'+comments[i]['comment_id']+'">'+rate+'</span>';html+='<span id="arr_'+token+'_'+comments[i]['comment_id']+'">';rate=parseInt(comments[i]['rate']);if((logged==1)&&(getCookie('R'+token+comments[i]['comment_id'])==null)&&(rate>=threshold))
{html+=' <a href="#" class="comments_arrd" onclick="comments_rate_down(\''+token+'\', '+comments[i]['comment_id']+'); return false">'+'<img src="'+static_path+'images/arrow-down.gif" /></a>';html+=' <a href="#" class="comments_arru" onclick="comments_rate_up(\''+token+'\', '+comments[i]['comment_id']+'); return false">'+'<img src="'+static_path+'images/arrow-up.gif" /></a>';}
else
{html+=' <img class="comments_arr" src="'+static_path+'images/arrow-gdown.gif" />';html+=' <img class="comments_arr" src="'+static_path+'images/arrow-gup.gif" />';}
html+='</span>';if(logged==1)
{html+=' <a href="#" onclick="comments_form(\''+token+'\','+
comments[i]['comment_id']+','+comments[i]['parent_id']+'); return false">Reply</a>';}
html+='</span>';$(comment_header).html(html);if(rate<threshold)
$(comment_header).addClass('comment_hi');else
$(comment_header).addClass('comment_h');var comment_text=document.createElement('span');$(comment_text).html(comments[i]['comment']);if(rate<threshold)
$(comment_text).css('display','none');$(comment_div).append($(comment_header));$(comment_div).append(comment_text);$(container).append(comment_div);}
$('#comments_'+token).html($(container).html());$('#comments_'+token).height('auto');$('#comments_select_'+token).parent('span').css('display','inline');}
function comments_pager_redraw(token,page,pages,range)
{var pager=Array();var left=page-range;var right=page+range
left=(left<1)?1:left;right=(right>pages)?pages:right;for(var i=1;i<=pages;i++)
{if((i>=left)&&(i<=right))
pager.push(i)}
if(pager.length!=pages)
{var rest=(range*2+1)-pager.length;rest=(rest>(pages-pager.length))?(pages-pager.length):rest;while(rest!=0)
{if((left>1)&&rest!=0)
{pager.push(left-1);rest--;left--;}
else
{pager.push(right+1);rest--;right++;}}
pager.sort();}
if((pages>1)&&($('#comments_pager_'+token).css('display')=='none'))
{$('#comments_pager_'+token).css('display','block');}
$('#comments_pager_'+token).empty();if(pages>1)
{var link=document.createElement('a');$(link).attr('href','#');var space=document.createTextNode(' ');if(page>1)
{$('#comments_pager_'+token).append($(link).clone().text('First').bind("click",function(e){comments(token,1);return false}));$('#comments_pager_'+token).append($(space));$('#comments_pager_'+token).append($(link).clone().text('Previous').bind("click",(page-1),function(e){comments(token,e.data);return false}));$('#comments_pager_'+token).append($(space).clone());}
for(var i=0;i<pager.length;i++)
{if(page==pager[i])
{var current=document.createElement('span');$('#comments_pager_'+token).append($(current).text(page).addClass('comments_pager current'));$('#comments_pager_'+token).append($(space).clone());}
else
{$('#comments_pager_'+token).append($(link).clone().text(pager[i]).bind("click",pager[i],function(e){comments(token,e.data);return false}));$('#comments_pager_'+token).append($(space).clone());}}
if(page!=pages)
{$('#comments_pager_'+token).append($(link).clone().text('Next').bind("click",(page+1),function(e){comments(token,e.data);return false}));$('#comments_pager_'+token).append($(space).clone());$('#comments_pager_'+token).append($(link).clone().text('Last').bind("click",pages,function(e){comments(token,e.data);return false}));}}}
function comments_submit(token,id,pid)
{$('.comments_info').css('display','none').text('');if(pid)
{var text=jQuery.trim($('#comments_form_'+token+'_'+id+' > textarea')[0].value);var info_div=$('#comments_info_'+token+'_'+id);var textarea=$('#comments_form_'+token+'_'+id+' > textarea')[0]}
else
{var text=jQuery.trim($('#comments_form_'+token+' > textarea')[0].value);var info_div=$('#comments_info_'+token);var textarea=$('#comments_form_'+token+' > textarea')[0];}
if(text=='')
{$(info_div).text("You cannot post an empty comment...").css('display','block');return;}
$(info_div).text("Submitting...").css('display','block');$.ajax({url:global_path+'flash,'+token+",comment.json",type:"POST",data:{'comment':text,'id':pid?pid:0},dataType:"json",timeout:10000,error:function()
{$(info_div).text('An error occurred while submitting the comment..').css('display','block');},success:function(json)
{switch(json)
{case 0:textarea.value='';if(pid)
{var pos=-1;var next=true;var comment_divs=$('div[id^=\'comment_\']');for(var i=0;i<comment_divs.length;i++)
{if((pos>=0)&&$(comment_divs[i]).hasClass("comment"))
next=false;if($(comment_divs[i]).attr('id')==('comment_'+id))
pos=i;}
comments_cache.length=0;if((next==true)&&(comment_divs.length==10))
comments(token,comments_cache_current+1);else
comments(token,comments_cache_current);}
else
{comments(token,1);}
break;case 3:$(info_div).text('You cannot post an empty comment...');break;default:$(info_div).text('An error occurred while submitting the comment...');}}});}
function comments_form(token,id,pid)
{$('#comments_div_'+token+'_'+id).remove();var comment_text=$('#comment_'+id+' > span')[0];if($(comment_text).css('display')=='none')
comments_show(token,id);var comment_div=$('#comments_'+token+' > div[id=\'comment_'+id+'\']')[0];var form_div=document.createElement('div');$(form_div).attr('id','comments_div_'+token+'_'+id);$(form_div).addClass('comments_form');var form=$('#comments_form_'+token).clone(false);$(form).attr('id','comments_form_'+token+'_'+id);var submit=$(form).children()[1];var discard=document.createElement('input');$(discard).attr('type','button');$(discard).attr('value','Cancel');$(discard).bind("click",function(e){$('#comments_div_'+token+'_'+id).remove();return false});$(submit).removeAttr("onclick");$(submit).unbind("click");$(submit).bind("click",function(e){comments_submit(token,id,pid);return false});var info_div=document.createElement('div');$(info_div).addClass('comments_info');$(info_div).attr('id','comments_info_'+token+'_'+id);$(form).append(discard);$(form_div).append(info_div);$(form_div).append(form);$(comment_div).after(form_div);}
function comments_rate_up(token,id)
{var rate=parseInt($('#comments_rate_'+token+'_'+id).text());rate++;comments_rate_redraw(token,id,rate);var html=' <img class="comments_arr" src="'+static_path+'images/arrow-gdown.gif" />';html+=' <img class="comments_arr" src="'+static_path+'images/arrow-gup.gif" />';$('#arr_'+token+'_'+id).html(html);$.ajax({url:global_path+'flash,'+token+",comment,up.json",type:"POST",data:{'id':id},dataType:"json",timeout:10000,error:function()
{comments_rate_redraw(token,id,--rate);},success:function(json)
{switch(json)
{case 0:comments_cache.length=0;break;default:comments_rate_redraw(token,id,--rate);}}});}
function comments_rate_down(token,id)
{var rate=parseInt($('#comments_rate_'+token+'_'+id).text());rate--;comments_rate_redraw(token,id,rate);var html=' <img class="comments_arr" src="'+static_path+'images/arrow-gdown.gif" />';html+=' <img class="comments_arr" src="'+static_path+'images/arrow-gup.gif" />';$('#arr_'+token+'_'+id).html(html);$.ajax({url:global_path+'flash,'+token+",comment,down.json",type:"POST",data:{'id':id},dataType:"json",timeout:10000,error:function()
{comments_rate_redraw(token,id,++rate);},success:function(json)
{switch(json)
{case 0:comments_cache.length=0;break;default:comments_rate_redraw(token,id,++rate);}}});}
function comments_rate_redraw(token,id,rate)
{var rate_div=$('#comments_rate_'+token+'_'+id);$(rate_div).removeClass();if(rate>0)
{$(rate_div).addClass('comments_ratep');rate='+'+rate;}
else if(rate<0)
$(rate_div).addClass('comments_ratem');else
$(rate_div).addClass('comments_ratez');$(rate_div).text(rate);}
function comments_select(token)
{var rate=parseInt($('#comments_select_'+token)[0].value);if(rate!=comments_cache_rate)
comments_cache_rate=rate;SetCookie('COMMENTS_RATE',rate,365,'/');comments(token,comments_cache_current);}
function comments_show(token,id)
{var comment_text=$('#comment_'+id+' > span')[0];if($(comment_text).css('display')=='inline')
{var comment_header=$('#comment_'+id+' > .comment_h')[0];$(comment_header).removeClass();$(comment_header).addClass('comment_hi');$(comment_text).css('display','none');$('#flip_'+id).text("Show");var html=' <img class="comments_arr" src="'+static_path+'images/arrow-gdown.gif" />';html+=' <img class="comments_arr" src="'+static_path+'images/arrow-gup.gif" />';}
else
{var comment_header=$('#comment_'+id+' > .comment_hi')[0];$(comment_header).removeClass();$(comment_header).addClass('comment_h');$(comment_text).css('display','inline');$('#flip_'+id).text("Hide");var html=' <a href="#" class="comments_arrd" onclick="comments_rate_down(\''+token+'\', '+id+'); return false">'+'<img src="'+static_path+'images/arrow-down.gif" /></a>';html+=' <a href="#" class="comments_arru" onclick="comments_rate_up(\''+token+'\', '+id+'); return false">'+'<img src="'+static_path+'images/arrow-up.gif" /></a>';}
if(comments_cache_logged&&(getCookie('R'+token+id)==null))
$('#arr_'+token+'_'+id).html(html)}