function RatingScorer(canvasId,scoreFieldId,submitBtnId,origValue,parentDiv,buildClass,caption,limited,borderless){this.submitBtn=submitBtnId;this.incBy=5;this.canvas=canvasId;this.scoreField=scoreFieldId;this.paint=null;this.counter=0;this.latestRating=0;this.absLeft=-1;this.x=0;this.y=0;this.height=0;this.width=0;this.winWidth=0;this.defaultValue=(origValue)?origValue:0;this.locked=false;this.lastScore=(origValue)?origValue:0;this.readOnly=false;this.buildClass=buildClass;this.caption=caption;this.limited=limited;this.parentDiv=parentDiv;this.borderColor="#292C2E";this.noBorder=borderless;this.scoreCallback=null;this.toString=function(){return''+this.lastScore;};this.paintIt=function(positionWidth){var normWidth=Math.min(positionWidth,this.width);normWidth=Math.max(normWidth,0);this.paint.clear();this.paint.setColor("#FF5809");this.paint.fillRect(this.x,this.y,normWidth,this.height);this.paint.setColor(this.borderColor);this.paint.drawRect(this.x,this.y,this.width,this.height);this.paint.paint();};this.refreshScore=function(positionWidth){var normWidth=Math.min(positionWidth,this.width);normWidth=Math.max(normWidth,0);var perPt=100/this.width;var score=perPt*normWidth;this.lastScore=Math.floor(score);var scoreStr=""+Math.floor(score);if(scoreStr.length==2)scoreStr+="&nbsp;";if(this.scoreField.nodeType)this.scoreField.innerHTML=this.lastScore;else document.getElementById(this.scoreField).innerHTML=this.lastScore;};this.getAbsLeft=function(){var curWidth=et_clientWidth();if(this.absLeft==-1||curWidth!=this.winWidth){this.winWidth=curWidth;var divCanvas=document.getElementById(this.canvas);this.absLeft=et_findXLoc(divCanvas)+this.x;}return this.absLeft;};this.validate=function(){var failed=(!this.lastScore||this.lastScore==0)&&!this.limited;if(failed){var inner="<span class='warning'>!</span>";if(this.scoreField.nodeType)this.scoreField.innerHTML=inner;else document.getElementById(this.scoreField).innerHTML=inner;}return!failed;};this.startMonitoring=function(x,y,h,w){var divCanvas=document.getElementById(this.canvas);divCanvas.onmousemove=this.movehandler;divCanvas.creator=this;divCanvas.cleaned=false;this.x=x;this.y=y;this.height=h;this.width=w;this.paint.setColor("#292C2E");this.paint.drawRect(this.x,this.y,this.width,this.height);this.paint.paint();if(this.defaultValue>0){this.cleanupDrawDiv();this.paintIt((this.defaultValue/100.0)*this.width);this.refreshScore((this.defaultValue/100.0)*this.width);}};function findParentNode(start){var curNode=start;while(curNode){var parent=curNode.parentNode;if(parent.creator)return parent.creator;curNode=parent;}return null;}this.removeTextSpan=function(div){for(var i=div.childNodes.length-1;i>=0;i--){var cur=div.childNodes[i];if(cur.nodeType==1){if(cur.tagName&&cur.tagName=='SPAN'){div.removeChild(cur);}}}};this.cleanupDrawDiv=function(){var div=document.getElementById(this.canvas);if(!div.cleaned){this.removeTextSpan(div);div.cleaned=true;}};this.canvasclickhandler=function(evt){var source=et_findEventSource(evt,true);var thisObj=source.controller;thisObj.readOnly=!thisObj.readOnly;};this.movehandler=function(evt){var event=(evt)?evt:window.event;var source=(event.target)?event.target:event.srcElement;var thisObj=source.creator;if(!thisObj){thisObj=findParentNode(source);}if(thisObj&&thisObj.absLeft){if(thisObj.locked||thisObj.readOnly)return;var div=document.getElementById(thisObj.canvas);thisObj.cleanupDrawDiv();var mouseWidth=(event.offsetX)?event.offsetX:(event.clientX-thisObj.getAbsLeft());thisObj.paintIt(mouseWidth);thisObj.refreshScore(mouseWidth);if(thisObj.scoreCallback){thisObj.scoreCallback.call(thisObj);}}};this.restoreDefault=function(){this.paintIt((this.defaultValue/100.0)*this.width);this.refreshScore((this.defaultValue/100.0)*this.width);};this.clickhandler=function(evt){var event=(evt)?evt:window.event;var source=(event.target)?event.target:event.srcElement;var thisObj=source.creator;};this.constructCanvas=function(){var root=document.createElement('DIV');root.className=this.buildClass;if(this.noBorder){root.style.borderStyle='none';}var cat=document.createElement('DIV');cat.className='category';cat.appendChild(document.createTextNode(this.caption));root.appendChild(cat);var bar=document.createElement('DIV');bar.className='bar';var canvas=document.createElement('DIV');canvas.className='canvas';canvas.id=this.canvas;var text=document.createElement('SPAN');if(!this.limited)text.appendChild(document.createTextNode('Hover (Click to Lock)'));else text.appendChild(document.createTextNode('N/A For This Album Type'));canvas.appendChild(text);bar.appendChild(canvas);root.appendChild(bar);var score=document.createElement('DIV');score.className='score';root.appendChild(score);this.scoreField=score;return root;};this.initialize=function(){if(!this.parentDiv||!this.buildClass){this.paint=new jsGraphics(this.canvas);return;}if(!document.getElementById(this.parentDiv)){var thisObj=this;window.setTimeout(function(){thisObj.initialize()},200);}else{document.getElementById(this.parentDiv).appendChild(this.constructCanvas());var canv=document.getElementById(this.canvas);canv.controller=this;canv.onclick=this.canvasclickhandler;this.paint=new jsGraphics(this.canvas);if(this.submitBtn){var btn=document.getElementById(this.submitBtn);if(btn){btn.creator=this;btn.onclick=this.clickhandler;}}}};this.setReadOnly=function(readOnly){this.readOnly=readOnly;return this;};this.keepZero=function(zero){if(zero){this.defaultValue=0;this.lastScore=0;}return this;};this.lock=function(){this.locked=true;};this.unlock=function(){this.locked=false;};this.initialize();}