
function Like(img,varname,loggedIn,type,model_id,status,el)
{var self=this;this.width='';this.height='';this.html='';this.loggedIn=true;if(typeof img=='object')
{var i;for(i in img)
{this[i]=img[i];}}
else
{this.img=img;this.varname=varname;this.loggedIn=loggedIn;this.type=type;this.modelId=model_id;this.status=status;}
if(typeof el=='function')
{this.setHTML=el;}
else if(!this.el)
{this.setHTML=function(){}}
else
{this.el=document.getElementById(el);}
this.users='';if(!this.loggedIn&&typeof Login=='function')
{this.login=new Login(function(e){self.loginCallback();},this.login,this.loggedIn);}}
Like.prototype.loginCallback=function()
{if(this.loginLike)
{this.like(this.loginLike.id,this.loginLike.like,this.loginLike.element);}
this.loginLike=null;}
Like.prototype.setHTML=function()
{var self=this;jQuery.get('/users/get_users_likes/'+this.type+'/'+this.modelId,function(data){self.users=eval("("+data+")");if(loggedIn&&self.status==1)
{result='<div style="text-align:left;font-weight:bold;">You like this '+self.getModel()+'</div>';}else{result='<div style="padding-bottom:5px;text-align:left;width:'+self.width+';height:'+self.height+';border:solid 0px black">'
+'<a href="#" onclick="'+self.varname+'.confirm();return false;"><img style="margin-right:3px;margin-bottom:-5px" src='+self.img+'></img>Like this '+self.getModel()+'</a>'
+'</div>';}
var personCase='people</a> like';if(self.users.length==1)
{personCase='person</a> likes';}
if(self.users.length>0)
{result+='<div style="margin-top:5px">(<a href="#" onclick="'+self.varname+'.showLikes();return false">'+self.users.length+' '+personCase+' this '+self.getModel()+')</div>'}
result+='<div id="likePopup" style="position:absolute;z-index:1000;display:none;width:550px;padding-top:30px;height:620px;padding-left:20px">'
+'<table style="border:none;width:510px;margin-left:10px;margin-bottom:0px">'
+'<tr>'
+'<td style="font-size:14px;font-weight:bold;text-align:left">'
+'People who like this '+self.getModel()
+'</td>'
+'<td id="close_likes" style="text-align:right;">'
+'<a href="#" style="outline:none" onclick="'+self.varname+'.closeLikes();return false"><img src="/img/icons/closex.png"></img></a>'
+'</td>'
+'</tr>'
+'</table>'
+'<div id="likeContent"></div>'
+'</div>';self.html=result;self.el.innerHTML=result;});}
Like.prototype.getModel=function()
{if(this.type==1)
{return'item';}
if(this.type==2)
{return'storefront';}}
Like.prototype.closeLikes=function()
{var lp=jQuery('#likePopup');lp.css('display','none');}
Like.prototype.showLikes=function()
{var lp=jQuery('#likePopup');var self=this;if(lp.css('display')=='block')
{lp.css('display','none');}else{var users=self['users'];var num_users=users.length;var i=Math.floor((num_users-1)/5)+1;lp.css('background-image','url(\'/img/popup_box/n_row'+i+'.png\')');lp.css('height',(i*200)+'px');lp.css('top',300+'px');lp.css('left',jQuery('#main_content').css('left')+325);var res='<table style="margin-left:10px;border:none;width:500px;margin:none">';for(var i=0;i<num_users;i++)
{if(i%5==0)
{res+='<tr>';}
var u_string=users[i]['username'];if(u_string.length>15)
{u_string=u_string.substring(0,12)+'...';}
res+='<td style=";vertical-align:bottom;width:100px;height:105px"><a href="/users/homes/'+users[i]['id']+'"><img src="/images/geticon/'+users[i]['image_id']+'"></img></a><br /><a href="/users/homes/'+users[i]['id']+'">'+u_string+'</a></td>';if((i+1)%5==0)
{res+='</tr>';}}
res+='</table>';var gp=jQuery('#likeContent');gp.html(res);lp.css('display','block');}}
Like.prototype.setWidth=function(width)
{this.width=width+'px';}
Like.prototype.setHeight=function(height)
{this.height=height+'px';}
Like.prototype.confirm=function()
{var self=this;if(!this.loggedIn)
{return;}
jQuery.get("/users/like_"+this.getModel()+"/"+this.loggedIn+"/"+this.modelId,function(data)
{self.status=true;self.setHTML();});}
Like.prototype.like=function(id,like,element)
{if(typeof like=='undefined')
{like=true;}
var self=this;var type=this.type;var dislike=this.dislike=like?0:1;if(this.login?this.login.loggedIn:true)
{jQuery.getJSON('/users/like/'+type+'/'+id+'/'+dislike,function(data)
{if(typeof element=='object')
{return self.shopping(data,element);}
else if(typeof element=='function')
{self.___=element;return self.___(data);}});}
else if(this.login&&typeof element=='object')
{this.loginLike={id:id,like:like,element:element};this.login.open(element.find(like?'#promote img':'#demote img'));}}
Like.prototype.shopping=function(data,element)
{var element=jQuery(element);var $promotions=element.find('#promotions');var $demotions=element.find('#demotions');var $numpromotions=$promotions.find('#num-promotions');var $numdemotions=$demotions.find('#num-demotions');var $tpromotions=$promotions.find('#promotions-text');var $tdemotions=$demotions.find('#demotions-text');var $promoteDemote=element.find('#demote-promote');if(this.disabledClass)
{if(data>=0)
{$promotions.removeClass(this.disabledClass);$demotions.addClass(this.disabledClass);$tpromotions.html('promotion'+(data==1?'':'s'));$numpromotions.html((data>0?'+':'')+data);}
else if(data<0)
{$demotions.removeClass(this.disabledClass);$promotions.addClass(this.disabledClass);$tdemotions.html('demotion'+(data==-1?'':'s'))
$numdemotions.html(-data);}}
else
{}
$promoteDemote.html(this.dislike?'You have demoted this item.':'You have promoted this item.')}
Like.prototype.comment=function(id,comment,callback)
{jQuery.post('/users/promo_comment/'+this.type+'/'+id,{comment:comment},callback);}