var $isMatchSpec=function(ele,match,matchValue,eleAttr){var value=eleAttr?$(ele).get("value").trim().length:$(ele).get("value").trim();return eval('"'+value+'"'+match+'"'+matchValue+'"')};$isMatchSpec.extend({IS:"==",NOT_IS:"!=",MORE:">",MORE_IS:">=",LESS:"<",LESS_IS:"<="});var $Review_Form=function(C,B){var A=this;this.shopID=C;this.data=B||{};this.draft=null;this.onAdd=null;this.fv_s1=null;this.fv_s2=null;this.fv_s3=null;this.fv_setag=null;this.fv_ap=null;this.fv_body=null;this.fv_collection=null;this.beAutoSave=true;this.autoSaveLength=0;this.deltaLength=0;this.leaveConfirm=false;this.leave=function(){if(A.leaveConfirm){return"你的修改尚未提交......"}};this.starRateControl=$empty;this.getID=function(D){return"$review_form_"+D};this.get=function(D){return $(A.getID(D))};this.getFvID=function(D){return"$fv_review_form_"+D};this.getFv=function(D){return $(A.getFvID(D))};this.emptyEvent=function(D){};this.init=function(){if(A.get("s1")){A.fv_s1=new Fvalid.Base({vid:A.getID("s1"),criterias:['$isMatch("'+A.getID("s1")+'",$isMatch.MORE_IS, 0) && $isMatch("'+A.getID("s1")+'",$isMatch.LESS_IS, 4)'],errMsg:["请选择"+(A.data.s1||"分数")],msgHolder:A.getFvID("s1")});A.fv_s2=new Fvalid.Base({vid:A.getID("s2"),criterias:['$isMatch("'+A.getID("s2")+'",$isMatch.MORE_IS, 0) && $isMatch("'+A.getID("s2")+'",$isMatch.LESS_IS, 4)'],errMsg:["请选择"+(A.data.s2||"分数")],msgHolder:A.getFvID("s2")});A.fv_s3=new Fvalid.Base({vid:A.getID("s3"),criterias:['$isMatch("'+A.getID("s3")+'",$isMatch.MORE_IS, 0) && $isMatch("'+A.getID("s3")+'",$isMatch.LESS_IS, 4)'],errMsg:["请选择"+(A.data.s3||"分数")],msgHolder:A.getFvID("s3")})}A.fv_ap=A.get("ap").tagName.toLowerCase()=="input"?new Fvalid.Base({vid:A.getID("ap"),criterias:['$isMatch("'+A.getID("ap")+'",$isMatch.IS, 0, 1) || ($("'+A.getID("ap")+'").value >= 0 && $("'+A.getID("ap")+'").value <= '+A.data.avglimit+")"],errMsg:["金额应为0-"+A.data.avglimit],msgHolder:A.getFvID("ap")}):new Fvalid.Base({vid:A.getID("ap"),criterias:['$isMatch("'+A.getID("ap")+'",$isMatch.MORE_IS, 0) && $isMatch("'+A.getID("ap")+'",$isMatch.LESS_IS, 4)'],errMsg:["请选择"+(A.data.ap||"分数")],msgHolder:A.getFvID("ap")});if(A.get("setag")){A.fv_setag=new Fvalid.Base({vid:A.getID("setag"),criterias:['$isMatchSpec("'+A.getID("setag")+'",$isMatchSpec.NOT_IS, -1)'],errMsg:["请选择住过没住过"],msgHolder:A.getFvID("setag")})}A.fv_body=new Fvalid.TextLengthLimit({vid:A.getID("body"),msgHolder:A.getFvID("body")});if(A.get("s1")){A.fv_collection=new Fvalidator().add({s1:A.fv_s1,s2:A.fv_s2,s3:A.fv_s3,ap:A.fv_ap,body:A.fv_body})}else{A.fv_collection=new Fvalidator().add({ap:A.fv_ap,body:A.fv_body})}if(A.get("setag")){A.fv_collection.add({setag:A.fv_setag})}A.autoSaveLength=A.get("body").value.length;A.get("submit").removeEvents().addEvent("click",function(){if(A.onAdd){A.onAdd(A.addReview)}else{A.addReview()}});if(A.get("dtag")&&A.data.dtag){new TagSelector(A.getID("dtag"),A.getID("dtag_s"),{data:[{name:A.data.ctt,tags:A.data.dtag}]})}if(A.get("stag")&&A.data.stag){new TagSelector(A.getID("stag"),A.getID("stag_s"),{data:[{name:"常用标签",tags:A.data.stag}]})}if(A.get("del")){A.get("del").removeEvents().addEvent("click",function(){var D=confirm("确定要删除此点评？\n\n");if(D){A.disableForm(true);new AjaxReq({url:"/review.v",data:{run:"ad",s:A.shopID},method:"post",onSuccess:A.onSubmitReturn,onError:A.onSubmitReturn}).send()}return false})}if(A.data.lc){A.leaveConfirm=true;window.onbeforeunload=A.leave}if(A.data.iu){new AjaxReq({url:"/review.v",data:{run:"d",s:A.shopID},method:"post",onSuccess:A.onSubmitReturn,onError:A.onSubmitReturn}).send();setInterval(function(){A.autoSave()},10000)}};this.hideStarTip=function(){if(A.starRateControl!=$empty&&A.get("startip").getStyle("visibility")=="visible"){A.get("startip").fade("out")}};this.getReview=function(){var D={run:"",s:A.shopID,s1:A.get("s1")?A.get("s1").value:0,s2:A.get("s2")?A.get("s2").value:0,s3:A.get("s3")?A.get("s3").value:0,ap:A.get("ap").value,tap:A.get("ap").type.toLowerCase()=="text",body:A.get("body").value,s4:A.get("f1")?(A.get("f1").checked?A.get("f1").value:(A.get("f2").chedked?A.get("f2").value:(A.get("f3").checked?A.get("f3").value:(A.get("f4").checked?A.get("f4").value:1)))):1,dtag:A.get("dtag")?A.get("dtag").value:"",stag:A.get("stag")?A.get("stag").value:"",park:A.get("park").value,cat:A.get("category")?A.get("category").checked:false,sa:A.data.sa,setag:A.get("setag")?A.get("setag").value:false,category:A.data.category,cityid:A.data.cityid,star:A.get("star")&&A.starRateControl!=$empty?A.starRateControl.getData():0,ctitle:A.get("ctitle")?A.get("ctitle").value:""};if(!A.get("stag")){if($$("tr.shopspectag")){var E=$$("tr.shopspectag input:checked");if(E.length>0){E.each(function(G,F){D.stag+=" "+G.getNext("label").get("text")})}}if($("otherSpecTag")){D.stag+=" "+$("otherSpecTag").get("value").replace("可以输入餐厅其它特色","")}}return D};this.alertDraft=function(D){if(!D){return }new Prompt().confirm(["点评草稿箱",'你的点评尚未完成，要继续吗？<p class="Color7">(如果取消，该点评草稿将被删除)</p>'],{onReturn:function(E){if(E){A.setDraft(D)}else{A.deleteDraft()}}})};this.deleteDraft=function(){new AjaxReq({url:"/review.v",data:{run:"dd",s:A.shopID},method:"post",onSuccess:A.emptyEvent,onError:A.emptyEvent}).send()};this.setDraft=function(D){if(D){A.autoSaveLength=D.body.length;if(A.get("s1")){A.get("s1").value=D.s1}if(A.get("s2")){A.get("s2").value=D.s2}if(A.get("s3")){A.get("s3").value=D.s3}if(D.ap!=0||A.get("ap").type.toLowerCase()!="text"){A.get("ap").value=D.ap}A.get("body").value=D.body.cnDecode();A.get("body").focus();if(A.starRateControl!=$empty&&D.star>0){A.starRateControl.setStar(D.star/10)}A.deleteDraft()}};this.autoSave=function(){if(!A.beAutoSave){return }var D=A.getReview();if(D&&D.body&&(D.body.length-A.autoSaveLength>0)){A.deltaLength+=D.body.length-A.autoSaveLength;if(A.deltaLength>30){D.run="s";new AjaxReq({url:"/review.v",data:D,method:"post",onSuccess:A.onSubmitReturn,onError:A.onSubmitReturn}).send();A.deltaLength=0}}A.autoSaveLength=D.body.length};this.autoSaveReturn=function(D){A.getFv("asbody").set("html",(!D.r?"点评已经自动保存失败":"点评已经自动保存于 "+D.d))};this.addReview=function(){var E=true;if(A.starRateControl!=$empty){E=A.starRateControl&&A.starRateControl.check()}if(A.starRateControl!=$empty&&!E){A.get("startip").fade("in")}if(A.fv_collection.checkAll()&&E){var D=A.getReview();D.run="a";A.beAutoSave=false;A.disableForm(true);if(D.ap==""){D.ap=-1}new AjaxReq({url:"/review.v",data:D,method:"post",onSuccess:A.onSubmitReturn,onError:A.onSubmitReturn}).send();if(pageTracker){pageTracker._trackPageview("dp_shop_submitreview")}}return false};this.onSubmitReturn=function(D){if(D&&D.code&&D.msg){switch(D.code){case 200:A.onSuccess(D.msg);break;case 201:A.alertDraft(D.msg);break;case 202:A.autoSaveReturn(D.msg);break;case 300:A.onError(D.msg);break;case 302:A.autoSaveReturn(D.msg);break;case 401:case 402:case 403:case 404:case 500:A.onHardError(D.msg);break}}};this.disableForm=function(F){var D=F?"disabled":"";if(A.get("s1")){A.get("s1").setProperty("disabled",D)}if(A.get("s2")){A.get("s2").setProperty("disabled",D)}if(A.get("s3")){A.get("s3").setProperty("disabled",D)}if(A.get("f1")){A.get("f1").setProperty("disabled",D);A.get("f2").setProperty("disabled",D);A.get("f3").setProperty("disabled",D);A.get("f4").setProperty("disabled",D)}A.get("ap").setProperty("disabled",D);A.get("body").setProperty("disabled",D);if(A.get("dtag")){A.get("dtag").setProperty("disabled",D)}if(A.get("stag")){A.get("stag").setProperty("disabled",D)}if(A.get("setag")){A.get("setag").setProperty("disabled",D)}if($$("tr.shopspectag")){var E=$$("tr.shopspectag input");if(E.length>0){E.each(function(H,G){H.setProperty("disabled",D)})}}A.get("park").setProperty("disabled",D);A.get("submit").setProperty("disabled",D);A.get("submit").value=F?"正在提交...":"提交点评";if(A.get("del")){A.get("del").setProperty("disabled",D)}if(A.get("ctitle")){A.get("ctitle").setProperty("disabled",D)}};this.onHardError=function(D){A.disableForm(false);new Prompt().alert(D||"发生未知错误，请稍候再试")};this.onError=function(D){A.disableForm(false);if(D.s1){A.fv_s1.setError("请选择"+(A.data.s1||"分数"))}if(D.s2){A.fv_s2.setError("请选择"+(A.data.s2||"分数"))}if(D.s3){A.fv_s3.setError("请选择"+(A.data.s3||"分数"))}if(D.ap){A.fv_ap.setError(A.get("ap").tagName.toLowerCase()=="input"?"金额应为0-"+A.data.avglimit+"！":"请选择"+(A.data.ap||"分数"))}if(D.body){A.fv_body.setError(D.body)}};this.onSuccess=function(F){A.beAutoSave=false;A.leaveConfirm=false;var E="/shop/"+A.shopID;var G="";if(F.add){if(pageTracker){pageTracker._trackPageview("NewReview")}E+=A.data.full?"":"/review/a";G+=A.data.full?"#mr":""}else{E+=A.data.full?"":"/review/d";G+=A.data.full?"":""}if(F.add&&$("renrenCheck")){if($("renrenCheck").checked){var D={};D["do"]="rr";D.p="<%=PicIDs %>";new AjaxReq({url:"/renren.v",data:D,method:"post",async:false,onSuccess:function(H){if(H.msg.r==0&&F.access==undefined&&F.access!=true){A.disableForm(false);var I="/rr_login";F.access=true;Mbox.open({onClose:function(){A.onSuccess(F)},type:"iframe",url:I,size:{x:300,y:140}});e.stop()}else{var J=(F.isupdate)?1:0;new AjaxReq({url:"/renren.v",data:{"do":"f",r:F.reviewid,i:J},method:"post",onSuccess:function(K){RenRen.sendXiaoneiFeed(K.msg.id,K.msg.data,K.msg.content,"",K.msg.title);setTimeout(function(){if(window.location.pathname==E){window.location.replace(E+"?"+Math.floor(Math.random()*100)+G)}else{window.location.replace(E+G)}},500)}}).send()}}}).send()}else{if(window.location.pathname==E){window.location.replace(E+"?"+Math.floor(Math.random()*100)+G)}else{window.location.replace(E+G)}}}else{if(window.location.pathname==E){window.location.replace(E+"?"+Math.floor(Math.random()*100)+G)}else{window.location.replace(E+G)}}};A.init()};var StarRating=new Class({initialize:function(B,A){this.elem=B;this.wp=this.elem.getElements(".wp");this.stars=this.elem.getElements("li");this.data=this.stars.pop().getElement("input");this.info=$(this.stars.pop());this.defaultInfo=this.info.innerHTML;this.selectState=0;this.onSelect=A||$empty;this.bind()},getData:function(){return this.data.value},setData:function(A){this.data.value=A},getSelectState:function(){if(this.selectState>10){this.selectState=this.selectState/10}return this.selectState},setSelectState:function(A){this.selectState=A},getInfo:function(){return this.info.innerHTML},setInfo:function(A){this.info.innerHTML=A},onStar:function(A){this.stars.each(function(B){if(/on/.test($(B).className)){$(B).className=$(B).className.slice(0,-3)}});A.className=A.className+"-on"},hoverStar:function(A){if(Browser.Engine.trident){this.onStar(A)}this.changeInfo(A)},activeStar:function(A){this.onStar(A);this.setSelectState(A.className.slice(1,2));this.setData(A.value);this.changeInfo(A);this.onSelect()},cancelStar:function(A){if(/on/.test(A.className)){A.className=A.className.slice(0,-3)}},undoStar:function(B){if(this.getSelectState()>0){var A=this.stars[this.getSelectState()-1];this.activeStar(A);this.setSelectState(A.className.slice(1,2));this.setData(A.value);this.changeInfo(A)}else{this.changeInfo()}},setStar:function(A){this.activeStar(this.stars[A-1])},changeInfo:function(A){if(A){(this.setInfo(A.get("alt")),this.infoStyle("hover"))}else{(this.setInfo(this.defaultInfo),this.infoStyle())}this.info.removeClass("Hide")},infoStyle:function(A){A?(this.info.removeClass("hover"),this.info.removeClass("error"),this.info.addClass(A)):(this.info.removeClass("hover"),this.info.removeClass("error"))},check:function(){return this.getSelectState()>0?true:(function(){this.infoStyle("error");return false}.bind(this))()},bind:function(){var A=this;this.stars.each(function(B){$(B).addEvents({click:function(){A.activeStar(this)},mouseenter:function(){A.hoverStar(this)},mouseleave:function(){A.cancelStar(this)}})});this.elem.addEvent("mouseleave",function(){A.undoStar()})}});