function RatingBlock(albumId,parentDiv,buildClass,servUrl,sessionId,limited,x,y,h,w,avgRating,addRating,ratingToggle,avgScoreSpace){this.id=albumId;this.uri=servUrl;this.sessId=sessionId;this.ajax=null;this.parentDiv=parentDiv;this.buildClass=buildClass;this.limited=limited;this.pr=null;this.ex=null;this.sw=null;this.or=null;this.x=x;this.y=y;this.h=h;this.w=w;this.dispRating=avgRating;this.addRating=addRating;this.toggle=ratingToggle;this.toggleLink=null;this.avgScoreSpace=avgScoreSpace;this.ajaxresponse=function(){if(this.responseStatus[0]==200||this.responseStatus[1]=="OK"){var responseArray=this.response.split("|");if(responseArray.length==3){thisObj=this.controller;if(responseArray[0]=="true"){var tog=document.getElementById(thisObj.toggle);thisObj.sw.setReadOnly(true);thisObj.or.setReadOnly(true);thisObj.ex.setReadOnly(true);thisObj.pr.setReadOnly(true);tog.style.display='none';}if(responseArray[1]=="alert"){alert(responseArray[2]);}else if(responseArray[1]=="print"){printMsg(responseArray[2],document.getElementById(thisObj.parentDiv));}else if(responseArray[1]=="duplicate"){printMsg(responseArray[2],document.getElementById(thisObj.parentDiv));document.getElementById(thisObj.dispRating).style.display='block';document.getElementById(thisObj.toggle).style.display='none';document.getElementById(thisObj.addRating).style.display='none';}else if(responseArray[1]=="login"){var logon=showLogon(thisObj.uri,thisObj.sessId,responseArray[2]);logon.logonCallback=function(){thisObj.sendScores();}}}}};this.setupAvgScoreSpace=function(){this.sw.scoreCallback=this.scoreCallback;this.sw.rt_controller=this;this.or.scoreCallback=this.scoreCallback;this.or.rt_controller=this;this.ex.scoreCallback=this.scoreCallback;this.ex.rt_controller=this;this.pr.scoreCallback=this.scoreCallback;this.pr.rt_controller=this;};this.scoreCallback=function(){var thisObj=this.rt_controller;if(thisObj.avgScoreSpace){var prWeight=(thisObj.sw.limited)?0.30:0.20;var exWeight=(thisObj.sw.limited)?0.70:0.20;var orWeight=(thisObj.sw.limited)?0:0.20;var swWeight=(thisObj.sw.limited)?0:0.40;var score=thisObj.sw.lastScore*swWeight+thisObj.or.lastScore*orWeight+thisObj.ex.lastScore*exWeight+thisObj.pr.lastScore*prWeight;var text="("+Math.floor(score)+"/100)";document.getElementById(thisObj.avgScoreSpace).innerHTML=text;}};this.setupBlock=function(){var disp=document.getElementById(this.dispRating);var add=document.getElementById(this.addRating);var tog=document.getElementById(this.toggle);var togSub2=et_findChild(et_findChild(tog,'DIV'),'SPAN');tog.style.display='block';var link=document.createElement('A');link.href='javascript:void(0)';link.controller=this;this.toggleLink=link;togSub2.appendChild(link);if(disp){link.appendChild(document.createTextNode('Rate It'));link.onclick=this.toggleRater;}else{link.appendChild(document.createTextNode('Submit Score'));add.style.display='block';link.onclick=this.submitScore;}};this.initialize=function(){if(!document.getElementById(this.parentDiv)||!document.getElementById(this.toggle)){var thisObj=this;window.setTimeout(function(){thisObj.initialize()},200);}else{this.pr=new RatingScorer("prRating",null,null,null,this.parentDiv,this.buildClass,'Production',false);this.ex=new RatingScorer("exRating",null,null,null,this.parentDiv,this.buildClass,'Execution',false);this.sw=new RatingScorer("swRating",null,null,null,this.parentDiv,this.buildClass,'Songwriting',this.limited);this.or=new RatingScorer("orRating",null,null,null,this.parentDiv,this.buildClass,'Originality',this.limited,true);this.sw.startMonitoring(this.x,this.y,this.h,this.w);this.pr.startMonitoring(this.x,this.y,this.h,this.w);this.ex.startMonitoring(this.x,this.y,this.h,this.w);this.or.startMonitoring(this.x,this.y,this.h,this.w);this.sw.setReadOnly(this.limited);this.or.setReadOnly(this.limited);this.setupBlock();if(this.avgScoreSpace)this.setupAvgScoreSpace();}};this.toggleRater=function(evt){var source=et_findEventSource(evt,true);thisObj=source.controller;var disp=document.getElementById(thisObj.dispRating);var add=document.getElementById(thisObj.addRating);var tog=document.getElementById(thisObj.toggle);if(disp)disp.style.display='none';add.style.display='block';source.innerHTML='Submit Score';source.onclick=thisObj.submitScore;if(thisObj.avgScoreSpace)document.getElementById(thisObj.avgScoreSpace).innerHTML="";};this.sendScores=function(){var reqFile=this.uri+"/ajaxservlet;jsessionid="+this.sessId;this.ajax=new sack(reqFile);this.ajax.setVar("albumId",this.id);this.ajax.setVar("originality",this.or);this.ajax.setVar("songwriting",this.sw);this.ajax.setVar("musicmanship",this.ex);this.ajax.setVar("production",this.pr);this.ajax.setVar("proc_class","nfm.core.entity.ajax.AJAXAddUserRating");this.ajax.method="POST";this.ajax.onCompletion=this.ajaxresponse;this.ajax.controller=this;this.ajax.runAJAX();};this.submitScore=function(evt){var source=et_findEventSource(evt,true);thisObj=source.controller;var valid=thisObj.pr.validate()&thisObj.ex.validate()&thisObj.sw.validate()&thisObj.or.validate();if(valid){thisObj.sendScores();}else{var msg='Cannot submit score, please resolve the indicated errors';printMsg(msg,document.getElementById(thisObj.parentDiv));}};this.initialize();}