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(E,C,D){function A(P,O,H,R,L){var S,F,J=0,K=H.length,M,G,I,Q,N;for(;J<K;J++){M=H[J];G=M.getNext("label");if(G&&(I=G.get("text"))){if(!F&&I===P){F=M;continue}if(!S&&I===O){S=M;continue}}if(S&&F){break}}if(S&&F){if(L){Q=S;S=F;F=Q}N=R?function(){var T=this==false?(F.checked||S.checked):this.checked;S.checked=T;F.checked=T}:function(){F.checked=S.checked};S.addEvent("click",N);R&&F.addEvent("click",N);N.call(false)}}var B=this;this.shopID=E;this.data=C||{};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.wrap=$(D);this.leave=function(){if(B.leaveConfirm){return"你的修改尚未提交......"}};this.starRateControl=$empty;this.getID=function(F){return"$review_form_"+F};this.get=function(F){return $(B.getID(F))};this.getFvID=function(F){return"$fv_review_form_"+F};this.getFv=function(F){return $(B.getFvID(F))};this.getKeys=function(I,H){var F=[],G;I=I||{};for(G in I){F.push(G)}return F.join(H||"|")},this.emptyEvent=function(F){};this.init=function(){var G=DP.Form;if(B.get("s1")){B.fv_s1=new Fvalid.Base({vid:B.getID("s1"),criterias:['$isMatch("'+B.getID("s1")+'",$isMatch.MORE_IS, 0) && $isMatch("'+B.getID("s1")+'",$isMatch.LESS_IS, 4)'],errMsg:["请选择"+(B.data.s1||"分数")],msgHolder:B.getFvID("s1")});B.fv_s2=new Fvalid.Base({vid:B.getID("s2"),criterias:['$isMatch("'+B.getID("s2")+'",$isMatch.MORE_IS, 0) && $isMatch("'+B.getID("s2")+'",$isMatch.LESS_IS, 4)'],errMsg:["请选择"+(B.data.s2||"分数")],msgHolder:B.getFvID("s2")});B.fv_s3=new Fvalid.Base({vid:B.getID("s3"),criterias:['$isMatch("'+B.getID("s3")+'",$isMatch.MORE_IS, 0) && $isMatch("'+B.getID("s3")+'",$isMatch.LESS_IS, 4)'],errMsg:["请选择"+(B.data.s3||"分数")],msgHolder:B.getFvID("s3")})}if(B.get("ap").tagName.toLowerCase()=="input"){B.fv_ap=new Fvalid.Base({vid:B.getID("ap"),criterias:['$isMatch("'+B.getID("ap")+'",$isMatch.IS, 0, 1) || ($("'+B.getID("ap")+'").value >= 0 && $("'+B.getID("ap")+'").value <= '+B.data.avglimit+")"],errMsg:[""],msgHolder:B.getFvID("ap")});new G.InputFilter(B.get("ap"),/^\d{0,8}$/,{type:"limit"})}else{B.fv_ap=new Fvalid.Base({vid:B.getID("ap"),criterias:['$isMatch("'+B.getID("ap")+'",$isMatch.MORE_IS, 0) && $isMatch("'+B.getID("ap")+'",$isMatch.LESS_IS, 4)'],errMsg:["请选择"+(B.data.ap||"分数")],msgHolder:B.getFvID("ap")})}if(B.get("setag")){B.fv_setag=new Fvalid.Base({vid:B.getID("setag"),criterias:['$isMatchSpec("'+B.getID("setag")+'",$isMatchSpec.NOT_IS, -1)'],errMsg:["请选择住过没住过"],msgHolder:B.getFvID("setag")})}B.fv_body=new Fvalid.TextLengthLimit({vid:B.getID("body"),msgHolder:B.getFvID("body")});if(B.get("s1")){B.fv_collection=new Fvalidator().add({s1:B.fv_s1,s2:B.fv_s2,s3:B.fv_s3,ap:B.fv_ap,body:B.fv_body})}else{B.fv_collection=new Fvalidator().add({ap:B.fv_ap,body:B.fv_body})}if(B.get("setag")){B.fv_collection.add({setag:B.fv_setag})}B.autoSaveLength=B.get("body").value.length;B.get("submit").removeEvents().addEvent("click",function(){if(B.onAdd){B.onAdd(B.addReview)}else{B.addReview()}});if(B.get("dtag")&&B.data.dtag){new TagSelector(B.getID("dtag"),B.getID("dtag_s"),{data:[{name:B.data.ctt,tags:B.data.dtag}]})}if(B.get("stag")&&B.data.stag){new TagSelector(B.getID("stag"),B.getID("stag_s"),{data:[{name:"常用标签",tags:B.data.stag}]})}if(B.get("del")){B.get("del").removeEvents().addEvent("click",function(){var J=confirm("确定要删除此点评？\n\n");if(J){B.disableForm(true);new AjaxReq({url:"/review.v",data:{run:"ad",s:B.shopID},method:"post",onSuccess:B.onSubmitReturn,onError:B.onSubmitReturn}).send()}return false})}if(B.data.lc){B.leaveConfirm=true;window.onbeforeunload=B.leave}if(B.data.iu){new AjaxReq({url:"/review.v",data:{run:"d",s:B.shopID},method:"post",onSuccess:B.onSubmitReturn,onError:B.onSubmitReturn}).send();setInterval(function(){B.autoSave()},10000)}var H=DP.data("extraReview"),I=$(DP.data("reviewWrap")),F;if(H){B.extraCtrl=new DP.Form.Complex(I,H,{showAllErr:true,CSPrefix:"#J_review-"})}if(I&&(F=I.getElements("[type=checkbox]"))&&F.length){A("免费停车","免费停车",F,true);A("可以刷卡","刷卡消费",F)}};this.hideStarTip=function(){if(B.starRateControl!=$empty&&B.get("startip").getStyle("visibility")=="visible"){B.get("startip").fade("out")}};this.getReview=function(){var G={run:"",s:B.shopID,s1:B.get("s1")?B.get("s1").value:0,s2:B.get("s2")?B.get("s2").value:0,s3:B.get("s3")?B.get("s3").value:0,ap:B.get("ap").value,tap:B.get("ap").type.toLowerCase()=="text",body:B.get("body").value,s4:B.get("f1")?(B.get("f1").checked?B.get("f1").value:(B.get("f2").chedked?B.get("f2").value:(B.get("f3").checked?B.get("f3").value:(B.get("f4").checked?B.get("f4").value:1)))):1,dtag:B.get("dtag")?B.get("dtag").value:"",stag:B.get("stag")?B.get("stag").value:"",park:B.get("park").value,cat:B.get("category")?B.get("category").checked:false,tuangou:B.get("tuangou")?B.get("tuangou").checked:false,sa:B.data.sa,setag:B.get("setag")?B.get("setag").value:false,category:B.data.category,cityid:B.data.cityid,star:B.get("star")&&B.starRateControl!=$empty?B.starRateControl.getData():0,ctitle:B.get("ctitle")?B.get("ctitle").value:""},F;if(B.extraCtrl){F=B.extraCtrl.val();F.keyList=B.getKeys(F);DP.mix(G,F)}if(!B.get("stag")){if($$("tr.shopspectag")){var H=$$("tr.shopspectag input:checked");if(H.length>0){H.each(function(J,I){G.stag+=" "+J.getNext("label").get("text")})}}if($("otherSpecTag")){G.stag+=" "+$("otherSpecTag").get("value").replace("可以输入餐厅其它特色","")}}return G};this.alertDraft=function(F){if(!F){return }new Prompt().confirm(["点评草稿箱",'你的点评尚未完成，要继续吗？<p class="Color7">(如果取消，该点评草稿将被删除)</p>'],{onReturn:function(G){if(G){B.setDraft(F)}else{B.deleteDraft()}}})};this.deleteDraft=function(){new AjaxReq({url:"/review.v",data:{run:"dd",s:B.shopID},method:"post",onSuccess:B.emptyEvent,onError:B.emptyEvent}).send()};this.setDraft=function(F){if(F){B.autoSaveLength=F.body.length;if(B.get("s1")){B.get("s1").value=F.s1}if(B.get("s2")){B.get("s2").value=F.s2}if(B.get("s3")){B.get("s3").value=F.s3}if(F.ap!=0||B.get("ap").type.toLowerCase()!="text"){B.get("ap").value=F.ap}B.get("body").value=F.body.cnDecode();B.get("body").focus();if(B.starRateControl!=$empty&&F.star>0){B.starRateControl.setStar(F.star/10)}B.deleteDraft()}};this.autoSave=function(){if(!B.beAutoSave){return }var F=B.getReview();if(F&&F.body&&(F.body.length-B.autoSaveLength>0)){B.deltaLength+=F.body.length-B.autoSaveLength;if(B.deltaLength>30){F.run="s";new AjaxReq({url:"/review.v",data:F,method:"post",onSuccess:B.onSubmitReturn,onError:B.onSubmitReturn}).send();B.deltaLength=0}}B.autoSaveLength=F.body.length};this.autoSaveReturn=function(F){B.getFv("asbody").set("html",(!F.r?"点评已经自动保存失败":"点评已经自动保存于 "+F.d))};this.addReview=function(){var G=true;if(B.starRateControl!=$empty){G=B.starRateControl&&B.starRateControl.check()}if(B.starRateControl!=$empty&&!G){B.get("startip").fade("in")}if(B.fv_collection.checkAll()&&G&&(!B.extraCtrl||B.extraCtrl.check())){var F=B.getReview();F.run="a";B.beAutoSave=false;B.disableForm(true);if(F.ap==""){F.ap=-1}new AjaxReq({url:"/review.v",data:F,method:"post",onSuccess:B.onSubmitReturn,onError:B.onSubmitReturn}).send();if(pageTracker){pageTracker._trackPageview("dp_shop_submitreview")}}return false};this.onSubmitReturn=function(F){if(F&&F.code&&F.msg){switch(F.code){case 200:B.onSuccess(F.msg);break;case 201:B.alertDraft(F.msg);break;case 202:B.autoSaveReturn(F.msg);break;case 300:B.onError(F.msg);break;case 302:B.autoSaveReturn(F.msg);break;case 401:case 402:case 403:case 404:case 500:B.onHardError(F.msg);break}}};this.disableForm=function(H){var F=H?"disabled":"";if(B.get("s1")){B.get("s1").setProperty("disabled",F)}if(B.get("s2")){B.get("s2").setProperty("disabled",F)}if(B.get("s3")){B.get("s3").setProperty("disabled",F)}if(B.get("f1")){B.get("f1").setProperty("disabled",F);B.get("f2").setProperty("disabled",F);B.get("f3").setProperty("disabled",F);B.get("f4").setProperty("disabled",F)}B.get("ap").setProperty("disabled",F);B.get("body").setProperty("disabled",F);if(B.get("dtag")){B.get("dtag").setProperty("disabled",F)}if(B.get("stag")){B.get("stag").setProperty("disabled",F)}if(B.get("setag")){B.get("setag").setProperty("disabled",F)}if($$("tr.shopspectag")){var G=$$("tr.shopspectag input");if(G.length>0){G.each(function(J,I){J.setProperty("disabled",F)})}}B.get("park").setProperty("disabled",F);B.get("submit").setProperty("disabled",F);B.get("submit").value=H?"正在提交...":"提交点评";if(B.get("del")){B.get("del").setProperty("disabled",F)}if(B.get("ctitle")){B.get("ctitle").setProperty("disabled",F)}};this.onHardError=function(F){B.disableForm(false);new Prompt().alert(F||"发生未知错误，请稍候再试")};this.onError=function(F){B.disableForm(false);if(F.s1){B.fv_s1.setError("请选择"+(B.data.s1||"分数"))}if(F.s2){B.fv_s2.setError("请选择"+(B.data.s2||"分数"))}if(F.s3){B.fv_s3.setError("请选择"+(B.data.s3||"分数"))}if(F.ap){B.fv_ap.setError(B.get("ap").tagName.toLowerCase()=="input"?"金额应为0-"+B.data.avglimit+"！":"请选择"+(B.data.ap||"分数"))}if(F.body){B.fv_body.setError(F.body)}};this.onSuccess=function(J){B.beAutoSave=false;B.leaveConfirm=false;var I="/shop/"+B.shopID;var L="";if(J.add){try{var H=document.hippo;H&&H.mv(J.isupdate?"set_rw":"add_rw",J.reviewid)}catch(K){}if(pageTracker){pageTracker._trackPageview("NewReview")}I+=B.data.full?"":"/review/a";L+=B.data.full?"#mr":""}else{I="/member/"+B.data.userid+"/reviews";L+=B.data.full?"":""}if(J.add&&$("renrenCheck")){if($("renrenCheck").checked){var F={};F["do"]="rr";F.p="<%=PicIDs %>";new AjaxReq({url:"/renren.v",data:F,method:"post",async:false,onSuccess:function(M){if(M.msg.r==0&&J.access==undefined&&J.access!=true){B.disableForm(false);var N="/rr_login";J.access=true;Mbox.open({onClose:function(){B.onSuccess(J)},type:"iframe",url:N,size:{x:300,y:140}});K.stop()}else{var O=(J.isupdate)?1:0;new AjaxReq({url:"/renren.v",data:{"do":"f",r:J.reviewid,i:O},method:"post",onSuccess:function(P){RenRen.sendXiaoneiFeed(P.msg.id,P.msg.data,P.msg.content,"",P.msg.title);setTimeout(function(){if(window.location.pathname==I){window.location.replace(I+"?"+Math.floor(Math.random()*100)+L)}else{window.location.replace(I+L)}},500)}}).send()}}}).send()}else{if(window.location.pathname==I){window.location.replace(I+"?"+Math.floor(Math.random()*100)+L)}else{window.location.replace(I+L)}}}else{if(J.add&&$("sinaCheck")){if($("sinaCheck").checked||$("sinaCheck").value=="checked"){var G=J.reviewid;new AjaxReq({url:"/thirdpart.v",data:{"do":"se",tpt:2,ei:G,ft:4},method:"post",async:false,onSuccess:function(M){if(window.location.pathname==I){window.location.replace(I+"?"+Math.floor(Math.random()*100)+L)}else{window.location.replace(I+L)}}}).send()}else{if(window.location.pathname==I){window.location.replace(I+"?"+Math.floor(Math.random()*100)+L)}else{window.location.replace(I+L)}}}else{if(window.location.pathname==I){window.location.replace(I+"?"+Math.floor(Math.random()*100)+L)}else{window.location.replace(I+L)}}}};B.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()})}});
