var lsVote;var lsVoteClass=new Class({Implements:Options,options:{classes_action:{voted:'voted',plus:'plus',minus:'minus',positive:'positive',negative:'negative',quest:'quest'},classes_element:{voting:'voting',count:'count',total:'total',plus:'plus',minus:'minus'}},typeVote:{topic_comment:{url:DIR_WEB_ROOT+'/include/ajax/voteComment.php',targetName:'idComment'},topic:{url:DIR_WEB_ROOT+'/include/ajax/voteTopic.php',targetName:'idTopic'},blog:{url:DIR_WEB_ROOT+'/include/ajax/voteBlog.php',targetName:'idBlog'},user:{url:DIR_WEB_ROOT+'/include/ajax/voteUser.php',targetName:'idUser'}},initialize:function(options){this.setOptions(options);},vote:function(idTarget,objVote,value,type){if(!this.typeVote[type]){return false;}
this.idTarget=idTarget;this.objVote=$(objVote);this.value=value;this.type=type;thisObj=this;var params=new Hash();params['value']=value;params[this.typeVote[type].targetName]=idTarget;JsHttpRequest.query(this.typeVote[type].url,params,function(result,errors){thisObj.onVote(result,errors,thisObj);},true);},onVote:function(result,errors,thisObj){if(!result){msgErrorBox.alert('Error','Please try again later');}
if(result.bStateError){msgErrorBox.alert(result.sMsgTitle,result.sMsg);}else{msgNoticeBox.alert(result.sMsgTitle,result.sMsg);var divVoting=thisObj.objVote.getParent('.'+thisObj.options.classes_element.voting);divVoting.addClass(thisObj.options.classes_action.voted);if(this.value>0){divVoting.addClass(thisObj.options.classes_action.plus);}
if(this.value<0){divVoting.addClass(thisObj.options.classes_action.minus);}
var divCount=divVoting.getChildren('.'+thisObj.options.classes_element.count);if(divCount&&divCount[0]){divCount.set('text',result.iCountVote);}
var divTotal=divVoting.getChildren('.'+thisObj.options.classes_element.total);result.iRating=parseFloat(result.iRating);divVoting.removeClass(thisObj.options.classes_action.negative);divVoting.removeClass(thisObj.options.classes_action.positive);if(result.iRating>0){divVoting.addClass(thisObj.options.classes_action.positive);divTotal.set('text','+'+result.iRating);}
if(result.iRating<0){divVoting.addClass(thisObj.options.classes_action.negative);divTotal.set('text',result.iRating);}
if(result.iRating==0){divTotal.set('text','0');}
if(thisObj.type=='user'&&$('user_skill_'+thisObj.idTarget)){$('user_skill_'+thisObj.idTarget).set('text',result.iSkill);}}}});window.addEvent('domready',function(){lsVote=new lsVoteClass();});
