/**
 * product_review.js
 * minification version
 *
 * @version:0.7
 * $Date:2009-9-28
 */
 
 var XreviewContorller={options:{reviewElementID:"X_USER_REVIEW",reviewApiPath:"http://www.scroll-shop.com/plaza/review/comment",guidePath:"http://www.scroll-shop.com/guide/review/",hinCD:null,reviewData:{},displayOffset:1,displayNumber:5},getOption:function(a){return this.options[a]},setOption:function(a,b){this.options[a]=b},isDisplay:false,isError:false,loadingID:null,noCache:true,scriptElement:{},scriptCount:0,timeout:10000,setup:function(a){if(!a){return false}if(!document.getElementById(this.getOption("reviewElementID"))){return false}this.setOption("hinCD",a);this.update()},update:function(e){if(this.loadingID!=null){return false}if(e){this.setOption("displayOffset",parseInt(e))}var a=this;var b=this.getOption("reviewApiPath");var c={hnmkCode:this.getOption("hinCD"),hnmkSubCode:null,start:this.getOption("displayOffset"),count:this.getOption("displayNumber"),serviceType:"JSONP",jsonpCallback:"XreviewJSONPLoadComplate"};var d=this.convertQuery(c);if(this.isDisplay){this.makeLoadingUI()}this.loadingID=setTimeout(function(){a.getJSONPOnError()},this.timeout);this.getJSONP(b,d)},convertQuery:function(c){var a=[];for(var b in c){a.push(encodeURIComponent(b)+"="+encodeURIComponent(c[b]))}return a.join("&")},getJSONP:function(d,c){var a=(this.noCache)?"&nocache="+(new Date()).getTime():"";var b=this.scriptElement=document.createElement("script");b.setAttribute("type","text/javascript");b.setAttribute("charset","utf-8");b.setAttribute("src",d+"?"+c+a);b.setAttribute("id","jsonpID"+(++this.scriptCount));document.body.appendChild(b)},getJSONPOnError:function(){this.setError("review data Load time out");this.deleteScript(this.scriptElement);this.scriptElement=null;this.loadingID=null;return false},deleteScript:function(a){if(a!=null){document.body.removeChild(a)}},checkReviewData:function(c){this.deleteScript(this.scriptElement);this.scriptElement=null;if(this.isError){return false}clearTimeout(this.loadingID);this.loadingID=null;if(this.isDisplay){this.deleteMaskUI()}if(!c){this.setError("No Data");return false}else{if(c.status["statusCode"]!="000"){this.setError(c.status["statusCode"]+" "+c.status["statusMessage"]);return false}else{if(c.comments.length<=0){this.setError("No Comment");return false}else{this.setOption("reviewData",c);var a=this.getOption("displayOffset");var j=this.getOption("displayNumber");var l=parseInt(c.totalPoint);var m=parseInt(c.totalCount);var g=parseInt(c.count);if(!this.isDisplay){var i=document.getElementById(this.getOption("reviewElementID"));var f=this.getAverageHTML(l,m);var b=this.getGuideBtnHTML(this.getOption("guidePath"));this.makeReviewArea(i,f,b)}var d='<div id="X_USER_REVIEW_MASK"></div>';var k=this.getPageInfoHTML(a,g,m);var h=this.getPagenationHTML(a,g,m,j);var e=this.getContentsHTML(c.comments);this.makeReviewBody(d+k+e+h);if(!this.isDisplay){i.style.display="block";this.isDisplay=true}this.setCssHeightIE("X_USER_REVIEW_BODY")}}}},makeReviewArea:function(c,b,a){c.innerHTML=['<div id="X_USER_REVIEW_HEADER"><h3>ユーザーレビュー</h3>',((b)?b:""),((a)?a:""),'</div><div id="X_USER_REVIEW_BODY"></div>'].join("")},makeReviewBody:function(a){var b=document.getElementById("X_USER_REVIEW_BODY");b.innerHTML="";b.innerHTML=a},getAverageHTML:function(c,a){var e=(c/(a*5));var b=Math.ceil(50*e)/10;var d=Math.ceil(e*100);return['<div id="X_USER_REVIEW_AVERAGE"><div class="X_STAR_RATING"><span class="X_CURRENT_RATING" style="width:',d,'%"></span></div>',"<p>平均:<span>",b,"</span>点</p></div>"].join("")},getGuideBtnHTML:function(a){return(a)?['<div id="X_USER_REVIEW_GUIDE_BTN">','<a href="',a,'" target="guide">','<img src="/images/product/pd_review_guide.gif" alt="ユーザーレビューの書き方について" />',"</a></div>"].join(""):""},getPageInfoHTML:function(d,c,b){var a=d+c-1;return['<div id="X_USER_REVIEW_PAGE"><p>最新',d,"件〜",a,"件表示 （全",b,"件中）</p></div>"].join("")},getPagenationHTML:function(b,f,i,g){var h=i;var f=f;var c=b-g;var e=b+f;var d=(c>0)?['<span onclick="XreviewContorller.update(',c,')" title="前の',g,'件">&lt;</span>'].join(""):null;var a=(h>=e)?['<span onclick="XreviewContorller.update(',e,')" title="次の',((h>=(e-1+f))?f:h-e+1),'件">&gt;</span>'].join(""):null;return(!d&&!a)?"":['<div id="X_USER_REVIEW_PAGENATION"><ul id="X_REVIEW_PAGENATION"><li id="X_REVIEW_PAGENATION_PREV">',d,'</li><li id="X_REVIEW_PAGENATION_NEXT">',a,"</li></ul></div>"].join("")},getContentsHTML:function(f){var a=f.length;var d=['<div id="X_USER_REVIEW_COMMENTS"><dl>'];for(var c=0;c<a;c++){var b=f[c]["postDate"];var e=parseInt(f[c]["point"]);var g=Math.ceil((e/5)*100);d.push("<dt>",'<div class="X_STAR_RATING" title="',e,'点"><span class="X_CURRENT_RATING" style="width:',g,'%"></span></div>','<p class="X_USER_NICKNAME">',f[c]["nickname"],"</p>",'<p class="X_USER_POSTDATE">投稿日時：',b,"</p>","</dt><dd>",f[c]["commentText"],"</dd>")}d.push("</dl></div>");return d.join("")},makeLoadingUI:function(){this.setCSSClass("X_USER_REVIEW_BODY","X_NOW_LOADING")},setError:function(a){this.isError=true;if(this.isDisplay){this.setCSSClass("X_USER_REVIEW_BODY","X_IS_ERROR")}},deleteMaskUI:function(){this.setCSSClass("X_USER_REVIEW_BODY","")},setCSSClass:function(b,c){var a=(Xua.msie&&Xua.version<8)?"className":"class";var d=document.getElementById(b);d.setAttribute(a,c)},setCssHeightIE:function(a,b){if(Xua.msie&&Xua.version<7){var c=document.getElementById(a);c.style.height="auto";var b=b||parseInt(c.offsetHeight)+"px";c.style.height=b}}};var setUserReview=function(a){XreviewContorller.setup(a)};var XreviewJSONPLoadComplate=function(a){XreviewContorller.checkReviewData(a)};