if(typeof(Meetup.Money)=="undefined"){Meetup.Money={}}Meetup.DomDeco.EventInline=function(){bindMethods(this)};Meetup.DomDeco.EventInline.prototype={decorate:function(el){if(!el){LOG.error("no element passed in to Meetup.DomDeco.EventInline.decorate()");return}this._el=el;this._cfp=Meetup.Money.Procedures;this._cfd=Meetup.Money.DialogBuilder;var adders=$tagClass("a","addPayment",el);var self=this;forEach(adders,function(adder){adder.href=adder.title;adder.title="";connect(adder,"onclick",self._setup)})},_setup:function(e,stop){if(!stop){e.stop()}var elm=e.src();var qs=elm.href.split("?");var pair={};forEach(qs[1].split("&"),function(s){var kp=s.split("=");if(kp[1]){pair[kp[0]]=kp[1]}});var total=(pair.amount?Meetup.i18N.convertCurrency(parseFloat(pair.amount)):null);var date=new Date();var payerMemberId=(pair.memberid&&pair.memberid>0?pair.memberid:0);var quantity=(pair.quantity&&pair.quantity>0?pair.quantity:1);var eventId=(pair.eventid&&pair.eventid!=0?pair.eventid:0);var rootEventId=(pair.rootEventId&&pair.rootEventId!=0?pair.rootEventId:0);var btnCopy=Meetup.Copy.recordEventPayment;var title=Meetup.Copy.eventPayment;this._cfd.buildDialog("event",{action:"edit",method:partial(this._addTransaction,eventId,rootEventId,quantity,pair,elm),btnCopy:btnCopy,title:title,total:total,date:date,payerMemberId:payerMemberId,quantity:quantity,rootEventId:rootEventId,eventId:eventId});$("image").innerHTML=$("image_"+pair.memberid).innerHTML;$("info").innerHTML=unescape(pair.name).replace(/\+/g," ");signal($("moneyDialog"),"appear")},_addTransaction:function(eventid,rooteventid,origQty,pair,elm,e){var hasError=this._validate();if(!hasError){$("btn_submit").disabled=true;var date=$("transDate.year").options[$("transDate.year").selectedIndex].value+"-"+$("transDate.month").options[$("transDate.month").selectedIndex].value+"-"+$("transDate.day").options[$("transDate.day").selectedIndex].value+" 00:00:00";var senderMemberId=($("payerMemberId")?parseInt($("payerMemberId").value):0);var quantity=($("qty")?parseInt($("qty").value):1);var total=Meetup.i18N.parseFloat($("total").value);var d=this._cfp.ledgerAdd(senderMemberId,eventid,rooteventid,total,quantity,date,"","event",true);d.addCallbacks(partial(this._updateRSVP,senderMemberId,quantity,origQty,pair,elm),this._requestFailed)}},_validate:function(){var hasError=false;if((isNaN(parseFloat($("total").value))&&(Meetup.i18N.parseFloat($("total").value)==0||isNaN(Meetup.i18N.parseFloat($("total").value))))||Meetup.i18N.parseFloat($("total").value)<0||Meetup.i18N.parseFloat($("total").value)>999999){addElementClass($("amtElm"),"error");hasError=true}else{removeElementClass($("amtElm"),"error")}if($("payerMemberId")){if($("payerMemberId").value<=0){addElementClass($("nameElm"),"error");hasError=true}else{removeElementClass($("nameElm"),"error")}}if($("qty")){if(isNaN(parseInt($("qty").value))||parseInt($("qty").value)<=0){addElementClass($("eventQtyElm"),"error");hasError=true}else{removeElementClass($("eventQtyElm"),"error")}}return hasError},_updateRSVP:function(memberid,qty,origQty,pair,elm,e){signal($("moneyDialog"),"dismiss");var li=$("rsvp_"+memberid);if(li&&qty>=origQty){var span=SPAN({"class":"D_yes"},Meetup.Copy.paid);replaceChildNodes(li,span)}else{pair.name=escape(pair.name);pair.quantity=parseInt(origQty)-parseInt(qty);pair.amount=parseFloat(pair.quantity)*parseFloat(pair.fee);elm.href="?"+queryString(pair)}MochiKit.Visual.Highlight(li)},_requestFailed:function(message){LOG.error("REQUEST FAILED!")},_cfp:null,_cfd:null};Meetup.Money.Procedures={__repr__:function(){return"Meetup.MoneyProcedures"},ledgerDelete:function(ledgerId,ledgerType,context){var d=loadJSONDoc("/api/",{method:"ledgerDelete",arg_ledgerId:ledgerId,arg_orgMemberId:chapter.memberId,arg_chapterId:chapter.chapterId,arg_type:ledgerType,arg_moneyContext:context});return d},ledgerAdd:function(senderMemberId,eventId,rootEventId,total,quantity,date,description,ledgerType,context){var d=loadJSONDoc("/api/",{method:"ledgerCreate",arg_orgMemberId:chapter.memberId,arg_senderMemberId:senderMemberId,arg_chapterId:chapter.chapterId,arg_eventId:eventId,arg_rootEventId:rootEventId,arg_amount:total,arg_quantity:quantity,arg_date:date,arg_description:description,arg_type:ledgerType,arg_moneyContext:context});return d},ledgerUpdate:function(ledgerId,total,quantity,date,description,ledgerType,context){var d=loadJSONDoc("/api/",{method:"ledgerUpdate",arg_ledgerId:ledgerId,arg_orgMemberId:chapter.memberId,arg_chapterId:chapter.chapterId,arg_amount:total,arg_quantity:quantity,arg_date:date,arg_description:description,arg_type:ledgerType,arg_moneyContext:context});return d}};Meetup.Money.DialogBuilder=(function(){var getDescField=function(type,description){var desc=(description?description:"");var label=(type=="sponsor"?Meetup.Copy.sponsor:type=="expense"?Meetup.Copy.expense:Meetup.Copy.other);var error=(type=="sponsor"?Meetup.Copy.sponsorRequired:type=="expense"?Meetup.Copy.expenseDescReq:Meetup.Copy.otherRequired);var descField=DIV({"class":"element",id:"descElm"},DIV({"class":"label"},LABEL({id:"desc_label","for":"descriptionElm"},label+":")),DIV({"class":"input"},INPUT({type:"text",name:"description",id:"descriptionElm",size:"45","class":"hasMaxLenDialog maxChars120",value:desc}),P({"class":"error"},error)));return descField};var getDateField=function(date){var d=(date?date:new Date());var nextId=counter();var monthsOpts=function(item){var monthNum=nextId();var attrs={value:monthNum};if(monthNum==d.getMonth()+1){attrs.selected="selected"}var opt=OPTION(attrs,item);return opt};var daysOpts=function(item){var attrs={value:item};if(item==d.getDate()){attrs.selected="selected"}var opt=OPTION(attrs,item);return opt};var yearsOpts=function(item){var attrs={value:item};if(item==d.getFullYear()){attrs.selected="selected"}var opt=OPTION(attrs,item);return opt};var months=[];months=Meetup.i18N.getMonthNames("short");var dateField=DIV({"class":"element"},DIV({"class":"label"},LABEL(null,Meetup.Copy.date+":")),(Meetup.Language=="en_US"?DIV({"class":"input"},SELECT({name:"transDate.month",id:"transDate.month"},map(monthsOpts,months))," ",SELECT({name:"transDate.day",id:"transDate.day"},map(daysOpts,days))," ",SELECT({name:"transDate.year",id:"transDate.year"},map(yearsOpts,years))):DIV({"class":"input"},SELECT({name:"transDate.day",id:"transDate.day"},map(daysOpts,days))," ",SELECT({name:"transDate.month",id:"transDate.month"},map(monthsOpts,months))," ",SELECT({name:"transDate.year",id:"transDate.year"},map(yearsOpts,years)))));return dateField};var getAmtField=function(value){var amt=(value?value:"");var amtField=DIV({"class":"element",id:"amtElm"},DIV({"class":"label"},LABEL(null,Meetup.Copy.totalAmount+":")),DIV({"class":"input"},SPAN({id:"total_currency"},rawCurrencySymbol),INPUT({type:"text",name:"total",id:"total",size:"10",value:amt}),P({"class":"error"},Meetup.Copy.invalidAmount)),DIV({id:"each",style:"font-size: -1em;"},""));return amtField};var getMemField=function(payerMemberId){var memId=(payerMemberId?payerMemberId:"0");var memField=DIV({"class":"element",id:"nameElm"},DIV({"class":"label"},LABEL(null,Meetup.Copy.member+":")),DIV({"class":"input"},DIV({"class":"D_paysearchBar add"},FORM({id:"memberSearch",action:"javascript:void(0);"},INPUT({type:"text",name:"username",id:"dialogMS",size:"25",autocomplete:"off","class":"text D_memberLiveSearch textInputTip",title:Meetup.Copy.findAMember})),P({"class":"error"},Meetup.Copy.selectMember)),DIV({"class":"memberEdit payee edit"},DIV({"class":"image",id:"image"},null),DIV({"class":"info",id:"info"},null),INPUT({type:"hidden",name:"payerMemberId",value:"",id:"payerMemberId","class":"payerMemberId",value:memId}))));return memField};var getEventField=function(eventId){var evtId=(eventId?eventId:"");var eventOpts=function(item){var attrs={value:item.eventId};if(item.eventId==evtId){attrs.selected="selected"}var opt=OPTION(attrs,unescape(item.eventName).replace(/\+/g," "));return opt};var eventField=DIV({"class":"element"},DIV({"class":"label"},LABEL(null,Meetup.Copy.eventName+":")),DIV({"class":"input"},SELECT({name:"event",id:"event"},map(eventOpts,paidEvents))));return eventField};var getQtyField=function(quantity){var qty=(quantity?quantity:"1");var qtyField=DIV({"class":"element",id:"eventQtyElm"},DIV({"class":"label"},LABEL(null,Meetup.Copy.quantity+":")),DIV({"class":"input"},INPUT({type:"text",name:"qty",id:"qty",size:"4",value:qty}),P({"class":"error"},Meetup.Copy.invalidAmount)));return qtyField};var dialogShell=function(opts){var dFormClass=(opts.action=="edit"?"editor":"addable");var shell=DIV({"class":"dialog",id:"moneyDialog"},DIV({"class":"D_box"},DIV({"class":"D_boxbody"},DIV({"class":"D_boxhead"},H2(null,opts.title)),DIV({"class":"D_boxsection"},DIV({"class":"D_form "+dFormClass},DIV({"class":"footElement"},INPUT({type:"button",value:opts.btnCopy,"class":"D_submit",id:"btn_submit"})))))));return shell};var updateEventFee=function(fee){var i=($("event").selectedIndex?$("event").selectedIndex:0);var eventFee=(!fee||isNaN(fee)?paidEvents[i].feeAmt:fee);$("total").value=Meetup.i18N.convertCurrency(eventFee);$("total_currency").innerHTML=(Meetup.Language=="en_US"&&paidEvents[i].currency=="USD"?"$":paidEvents[i].currency?paidEvents[i].currency:rawCurrencySymbol)};var updatePerPersonPrice=function(qtyEventInput,totalEventInput,eachDiv){var currency=($("total_currency")?$("total_currency").innerHTML:rawCurrencySymbol);if(qtyEventInput.value&&qtyEventInput.value.match(/^[-]?\d*\.?\d*$/)&&totalEventInput.value.match(/^[-]?\d*[,\.]?\d*$/)){var qty=0+qtyEventInput.value;var total=0+totalEventInput.value.replace(/,/g,"");if(qty>0&&total>0){var perPerson=total/qty;perPerson=Math.round(perPerson*100)/100;perPersonFmt=""+perPerson;if(perPersonFmt.match(/.*\.\d$/)){perPersonFmt=perPersonFmt+0}eachDiv.innerHTML=Meetup.Copy.perPerson+" "+currency+perPersonFmt}}};return{buildDialog:function(type,opts){var shell=dialogShell(opts);var callback=opts.method;var footer=getFirstElementByTagAndClassName("div","footElement",shell);insertSiblingNodesBefore(footer,getMemField(opts.payerMemberId));insertSiblingNodesBefore(footer,getDateField(opts.date));insertSiblingNodesBefore(footer,getQtyField(opts.quantity));insertSiblingNodesBefore(footer,getAmtField(opts.total));document.getElementsByTagName("body")[0].appendChild(shell);Meetup.DomDeco.applyById(shell.id,Meetup.DomDeco.Dialog);Meetup.DomDeco.applyByTagAndClass(null,"hasMaxLenDialog",Meetup.DomDeco.CharCounter);var updatePerPersonQty=connect($("qty"),"onkeyup",partial(updatePerPersonPrice,$("qty"),$("total"),$("each")));var updatePerPersonAmt=connect($("total"),"onkeyup",partial(updatePerPersonPrice,$("qty"),$("total"),$("each")));var btnConnect=connect($("btn_submit"),"onclick",callback);connect(shell,"dismiss",function(e){disconnect(updatePerPersonQty);disconnect(updatePerPersonAmt);disconnect(btnConnect);removeElement(shell)})}}})();