Incordia.Packages.create("CDON.ui.ProductReview");CDON.ui.ProductReview=Incordia.Class.extend({_stars:null,_errorContainer:null,_loginExpanded:false,_errorExpanded:false,_errorLoginExpanded:false,_errorReviewExpanded:false,_writeExpanded:false,_args:null,constructor:function(a){this._args=Incordia.merge(CDON.ui.ProductReview.defaults,a)},load:function(){this._errorContainer=$("review-error");if(this._errorContainer){var h=$("product-review-write");var f=h.getElementsByTagName("a");for(var d=0;d<f.length;++d){addEvent(f[d],"click",this.writeClick.rbind(this))}this.hideElement($("product-radio-rating"));this.showElement($("product-ul-rating"));var e=$("ratings");var a=this._stars=e.getElementsByTagName("a");for(var d=0;d<a.length;++d){addEvent(a[d],"click",this.starClick.rbind(this,d))}var c=$("product-review-submit");addEvent(c,"submit",this.validateReview.rbind(this));var b=document.getElementsByTagName("input");for(var d=0,g;g=b[d];++d){if(g.className=="reviewthumbs"){addEvent(g,"click",this.validateThumb.rbind(this))}else{if(g.className=="reviewreport"){addEvent(g,"click",this.validateReport.rbind(this))}}}}},validateThumb:function(a){if(!this._args.customerLoggedIn){this.hideErrors();this.hideElement($("review-error-wrapper"));this.showElement($("review-error-wrapper-single"));this.showError($("error4"));this.showElement($("review-login"));Incordia.dom.Event.halt(a,true)}},validateReport:function(a){if(!this._args.customerLoggedIn){var b=this._errorContainer.getElementsByTagName("li");this.hideErrors();this.hideElement($("review-error-wrapper"));this.showElement($("review-error-wrapper-single"));this.showError($("error5"));this.showElement($("review-login"));Incordia.dom.Event.halt(a,true)}},writeClick:function(a){if(this._args.customerHasReviewed){var b=$("review-error-wrapper").getElementsByTagName("li");this.hideErrors();this.hideElement($("review-error-wrapper"));this.showElement($("review-error-wrapper-single"));this.showError($("error6"));Incordia.dom.Event.halt(a,true)}else{if(this._args.customerLoggedIn){this.showElement($("post-review"));Incordia.dom.Event.halt(a,true)}else{var b=$("review-error-wrapper").getElementsByTagName("li");this.hideErrors();this.showElement($("review-login"));Incordia.dom.Event.halt(a,true)}}this.hideElement($("review-success-wrapper"))},starClick:function(b,c){var a=["one","two","three","four","five"];$("ratings").className="rating "+a[b]+"star";document.getElementsByName("product-review-rating")[b].checked=true;Incordia.dom.Event.halt(c,true)},validateReview:function(f){var d=$("product-review-text");var j=document.getElementsByName("product-review-rating");var c="";for(var a=0;a<5;a++){if(j[a].checked){c=j[a].value}}var h=this._errorContainer.getElementsByTagName("li");var g=false;this.hideErrors();var b=parseInt(c);if(c==""||b<1||b>5){this.showError(h[0]);g=true}if(d.value.length<this._args.minimumTextLimit){this.showError(h[1]);g=true}if(d.value.length>this._args.maximumTextLimit){this.showError(h[2]);g=true}if(g){Incordia.dom.Event.halt(f,true)}},showElement:function(a){if(a){a.style.display=""}},hideElement:function(a){if(a){a.style.display="none"}},hideErrors:function(){var b=this._errorContainer.getElementsByTagName("li");this.hideElement(this._errorContainer);for(var a=0;a<b.length;a++){this.hideElement(b[a])}b=this._errorContainer.getElementsByTagName("span");for(var a=0;a<b.length;a++){this.hideElement(b[a])}},showError:function(a){this.showElement(a);this.showElement(this._errorContainer)},expandDiv:function(d,a,b){var c=(parseInt(d.style.height));if(c<a){c=c+b;d.style.height=c+"px";setTimeout(this.expandDiv.rbind(this,d,a,b),1)}},setSize:function(b,a){b.style.height=a+"px"},global:{defaults:{minimumTextLimit:3,maximumTextLimit:3000,customerLoggedIn:false,customerHasReviewed:false}}});