Meetup.DomDeco.ModulePrefPanel=function(){bindMethods(this)};Meetup.DomDeco.ModulePrefPanel.prototype.element=null;Meetup.DomDeco.ModulePrefPanel.prototype.pointer=null;Meetup.DomDeco.ModulePrefPanel.prototype.initialState=null;Meetup.DomDeco.ModulePrefPanel.prototype.required=null;Meetup.DomDeco.ModulePrefPanel.prototype.cleanups=null;Meetup.DomDeco.ModulePrefPanel.prototype.moduleId=null;Meetup.DomDeco.ModulePrefPanel.prototype.token=null;Meetup.DomDeco.ModulePrefPanel.prototype.isShowingCogMenu=false;Meetup.DomDeco.ModulePrefPanel.prototype.isCogMenuIntialized=false;Meetup.DomDeco.ModulePrefPanel.prototype.isAccessing=false;Meetup.DomDeco.ModulePrefPanel.prototype.__repr__=function(){return"Meetup.DomDeco.ModulePrefPanel"};Meetup.DomDeco.ModulePrefPanel.prototype.decorate=function(elm){if(!elm){LOG.error("No element has passed");return false}if(Meetup.ModuleAdmin===undefined){return false}this.element={root:elm};this.pointer={};this.initialState={};this.required={};this.cleanups=[];this.moduleId=Meetup.DomDeco.ModulePrefPanel.getModuleIdFromPrefPaneId(elm.id);Meetup.DomDeco.applyTo(this.element.root,Meetup.DomDeco.Dialog);this.initElement();this.initPreferences();this.initEvents();this.initCogMenu();this.initAllSelects();if(window.prefs===undefined){window.prefs={}}window.prefs[this.moduleId]=this};Meetup.DomDeco.ModulePrefPanel.prototype.initAllSelects=function(){if(this.element.allSelects===null){return}var allchecked=this.checkAllSelects();if(allchecked){this.element.allSelects.checked=true}this.pointer.onAllSelectsClick=MochiKit.Signal.connect(this.element.allSelects,"onclick",this.onAllSelectsClick)};Meetup.DomDeco.ModulePrefPanel.prototype.initBoolean=function(dd){var input=MochiKit.DOM.getFirstElementByTagAndClassName("input",undefined,dd);this.pointer["elmBool"+input.name]=MochiKit.Signal.connect(input,"onchange",this.onCheckboxChange)};Meetup.DomDeco.ModulePrefPanel.prototype.initCogMenu=function(){var PNT=this.pointer,CON=MochiKit.Signal.connect,ELM=this.element,ul=ELM.modulePrefCogList;if(ul){ELM.cogMenu=ul;var anc,title,i,len,elms=MochiKit.DOM.getElementsByTagAndClassName("a",undefined,ELM.cogMenu);PNT.onCogClick=CON(ELM.modulePrefCog,"onclick",this.onCogClick);PNT.onCogMenuBGClick=CON(ELM.cogMenu,"onclick",this.onCogMenuBGClick);for(i=0,len=elms.length;i<len;++i){anc=elms[i];title=MochiKit.DOM.getNodeAttribute(anc,"title");switch(title){case"edit":PNT.onPrefEditClick=CON(anc.parentNode,"onclick",this.onPrefEditClick);break;case"remove":PNT.onPrefRemoveClick=CON(anc.parentNode,"onclick",this.onPrefRemoveClick);break;default:LOG.error("implement this: "+title);break}anc.removeAttribute("title")}if(Meetup.UserAgent.isIE()){PNT.onWindowMouseUp=CON(document.body,"onmouseup",this.onWindowMouseUp)}else{PNT.onWindowMouseUp=CON(window,"onmouseup",this.onWindowMouseUp)}}};Meetup.DomDeco.ModulePrefPanel.prototype.initElement=function(){var ELM=this.element,G1=MochiKit.DOM.getFirstElementByTagAndClassName;ELM.errorReport=G1("div","errorReport",ELM.root);ELM.closeBox=G1("div","D_dialog_close",ELM.root);ELM.footer=G1("div","footElement",ELM.root);ELM.footerCancel=G1("a",null,G1("div","D_altAction",ELM.footer));ELM.footerSubmit=G1("a","D_submit",ELM.footer);ELM.spinner=G1("img","spinner",ELM.footer);ELM.module=document.getElementById(Meetup.DomDeco.ModulePrefPanel.buildIdForModule(this.moduleId));ELM.modulePrefCog=G1("button","cog",ELM.module);ELM.modulePrefCogList=G1("ul","cog-menu",ELM.module);ELM.allSelects=G1("input","__allSelect__",ELM.root);this.token=Meetup.ModuleAdmin.buildTokenByClassName(ELM.module)};Meetup.DomDeco.ModulePrefPanel.prototype.initEvents=function(){var ELM=this.element,PNT=this.pointer,CON=MochiKit.Signal.connect;PNT.onCancelClick=CON(ELM.footerCancel,"onclick",this.onCancelClick);PNT.onSubmitClick=CON(ELM.footerSubmit,"onclick",this.onSubmitClick);var i,len,elms=MochiKit.DOM.getElementsByTagAndClassName("dd","list",ELM.root);for(i=0,len=elms.length;i<len;++i){this.initList(elms[i])}elms=MochiKit.DOM.getElementsByTagAndClassName("dd","boolean",ELM.root);for(i=0,len=elms.length;i<len;++i){this.initBoolean(elms[i])}MochiKit.Signal.disconnectAll(this.element.closeBox,"onclick");PNT.onCloseBoxClick=CON(ELM.closeBox,"onclick",this.onCloseBoxClick);PNT.onDestructor=CON(ELM.module,"destruct",this.onDestruct)};Meetup.DomDeco.ModulePrefPanel.prototype.initList=function(dd){var i,len,elms,li,anc,G1=MochiKit.DOM.getFirstElementByTagAndClassName,CON=MochiKit.Signal.connect,div_add=G1("div","inputForList",dd),a_add=G1("a",undefined,div_add),ul_rep=G1("ul","representation",dd),input=G1("input",undefined,dd),classname=MochiKit.DOM.getNodeAttribute(dd,"class"),name=Meetup.DomDeco.ModulePrefPanel.getNameFromClass(classname,"list");this.pointer["elmList"+input.name]=CON(input,"onkeydown",this.onListInputKeyDown);this.pointer.onListAddClick=CON(a_add,"onclick",this.onListAddClick);elms=MochiKit.DOM.getElementsByTagAndClassName("li",undefined,ul_rep);for(i=0,len=elms.length;i<len;++i){li=elms[i];anc=G1("a",undefined,li);li.pointer=CON(anc,"onclick",Meetup.DomDeco.ModulePrefPanel.buildLiClearFunc(ul_rep,li))}};Meetup.DomDeco.ModulePrefPanel.prototype.initPreferences=function(){var i,len,pref,value,pref_name,G1=MochiKit.DOM.getFirstElementByTagAndClassName,prefs=Meetup.Data.grouphome.modulePreference[this.moduleId],buildValue=Meetup.DomDeco.ModulePrefPanel.buildValueByType;for(i=0,len=prefs.prefs.length;i<len;++i){pref=prefs.prefs[i];if(!pref){LOG.error("initial data wrongly formed?");continue}pref_name=pref.name;this.initialState[pref_name]=pref;this.initialState[pref_name]["default"]=buildValue(pref.type,pref["default"]);this.initialState[pref_name].value=buildValue(pref.type,pref.value);this.initialState[pref_name].dd=G1("dd",pref_name,this.element.root)}};Meetup.DomDeco.ModulePrefPanel.prototype.onAllSelectsClick=function(ev){ev.stop();var len,input,src=ev.src(),checked=src.checked,i=0,allchecked=true,inputs=MochiKit.DOM.getElementsByTagAndClassName("input",undefined,this.element.root);for(len=inputs.length;i<len;++i){input=inputs[i];if(input==src){continue}if((checked==true&&input.checked==false)||(checked==false&&input.checked==true)){input.checked=checked;this.onCheckboxChange(null,input)}}window.setTimeout(function(){src.checked=checked},10);return false};Meetup.DomDeco.ModulePrefPanel.prototype.onAccessFail=function(){this.finishAccess();for(var i=0,len=arguments.length;i<len;++i){LOG.error(arguments[i])}};Meetup.DomDeco.ModulePrefPanel.prototype.onCancelClick=function(ev){ev.stop();this.checkToCloseDialog();return false};Meetup.DomDeco.ModulePrefPanel.prototype.onCheckboxChange=function(ev,checkbox){if(ev!==null){checkbox=ev.src();if(this.element.allSelects){this.element.allSelects.checked=this.checkAllSelects()}}};Meetup.DomDeco.ModulePrefPanel.prototype.onCloseBoxClick=function(ev){ev.stop();this.checkToCloseDialog();return false};Meetup.DomDeco.ModulePrefPanel.prototype.onCogClick=function(ev){ev.stop();if(!this.isShowingCogMenu){this.showCogMenu()}else{this.hideCogMenu()}return false};Meetup.DomDeco.ModulePrefPanel.prototype.onCogMenuBGClick=function(ev){ev.stop();return false};Meetup.DomDeco.ModulePrefPanel.prototype.onDestruct=function(ev){var i,DISCON=MochiKit.Signal.disconnect,ELM=this.element,PNT=this.pointer;for(i in PNT){DISCON(PNT[i])}if(ELM.modulePrefCogList.parentNode){ELM.modulePrefCogList.parentNode.removeChild(ELM.modulePrefCogList)}if(ELM.root.parentNode){ELM.root.parentNode.removeChild(ELM.root)}this.element={};this.pointer={}};Meetup.DomDeco.ModulePrefPanel.prototype.onListAddClick=function(ev){ev.stop();var src=ev.src();var div=src.parentNode;var input=MochiKit.DOM.getFirstElementByTagAndClassName("input",undefined,div);this.addList(input);return false};Meetup.DomDeco.ModulePrefPanel.prototype.onListInputKeyDown=function(ev){var input=ev.src(),key=ev.key();switch(key.code){case 13:ev.stop();this.addList(input);break}return false};Meetup.DomDeco.ModulePrefPanel.prototype.onPrefEditClick=function(ev){ev.stop();this.hideCogMenu();MochiKit.Signal.signal(this.element.root,"appear");return false};Meetup.DomDeco.ModulePrefPanel.prototype.onPrefRemoveClick=function(ev){ev.stop();var dialog=document.getElementById("moduleRemoveConfirm");var h2=MochiKit.Selector.findChildElements(this.element.module,["div.D_boxhead > h2"])[0];var text=Meetup.DomDeco.ModulePrefPanel.trim(MochiKit.DOM.scrapeText(h2));MochiKit.Signal.disconnectAll(dialog);Meetup.DomDeco.applyTo(dialog,Meetup.DomDeco.Dialog);var close=MochiKit.DOM.getFirstElementByTagAndClassName("div","D_dialog_close",dialog);MochiKit.Signal.disconnectAll(close);close.parentNode.removeChild(close);var G1=MochiKit.DOM.getFirstElementByTagAndClassName;var submit=G1("a","D_submit",dialog);var cancel=G1("a",null,G1("div","D_altAction",dialog));var message=G1("p","message",dialog);var pointer={};var module_id=this.moduleId;var token=this.token;var cleanupfunc=function(){for(var handler in pointer){MochiKit.Signal.disconnect(pointer[handler])}};if(message.template===undefined){message.template=message.innerHTML}message.innerHTML=message.template.replace(/__MN__/,text);pointer.onRemoveConfirmClick=MochiKit.Signal.connect(submit,"onclick",function(ev){ev.stop();Meetup.ModuleAdmin.removeModule(token,module_id);cleanupfunc();MochiKit.Signal.signal(dialog,"dismiss");return false});pointer.onRemoveConfirmCancel=MochiKit.Signal.connect(cancel,"onclick",function(ev){ev.stop();cleanupfunc();MochiKit.Signal.signal(dialog,"dismiss");return false});MochiKit.Signal.signal(dialog,"appear");this.hideCogMenu();return false};Meetup.DomDeco.ModulePrefPanel.prototype.onSubmitClick=function(ev){ev.stop();this.cleanupErrorDisplays();var values=this.makeSubmittingObject();var def=Meetup.ModuleUtil.setPreference(this.moduleId,Chapter.id,Member.id,values);this.beginAccess();def.addCallbacks(MochiKit.Base.partial(this.onSubmitSuccess,values),this.onAccessFail);return false};Meetup.DomDeco.ModulePrefPanel.prototype.onSubmitSuccess=function(values,result){if(result.length!==0){this.finishAccess();var i,len,obj,initial;for(var i=0,len=result.length;i<len;++i){obj=result[i];initial=this.initialState[obj.name];initial.errorElement=Meetup.DomDeco.ModulePrefPanel.buildErrorElement(obj.error_messages);initial.dd.insertBefore(initial.errorElement,initial.dd.firstChild);if(initial.highlight===undefined){initial.highlight=new Meetup.Highlighter(initial.dd,"#F99");initial.highlight.times=3;initial.highlight.secondPerBlink=0.6}initial.highlight.start()}return}for(var name in values){this.initialState[name].value=values[name]}this.finishAccess();this.dismissDialog();Meetup.ModuleAdmin.rerenderModule(this.moduleId)};Meetup.DomDeco.ModulePrefPanel.prototype.onWindowMouseUp=function(ev){if(this.isShowingCogMenu){this.hideCogMenu();return false}};Meetup.DomDeco.ModulePrefPanel.prototype.addList=function(input){var value=Meetup.DomDeco.ModulePrefPanel.trim(input.value);var initialObject=this.initialState[input.name];var ul_rep=MochiKit.DOM.getFirstElementByTagAndClassName("ul","representation",initialObject.dd);this.makeLiForList(ul_rep,value);input.value=""};Meetup.DomDeco.ModulePrefPanel.prototype.beginAccess=function(){this.isAccessing=true;this.element.spinner.style.display="inline"};Meetup.DomDeco.ModulePrefPanel.prototype.checkAllSelects=function(){var len,i=0,allchecked=true,inputs=MochiKit.DOM.getElementsByTagAndClassName("input",undefined,this.element.root);loop:for(len=inputs.length;i<len;++i){if(inputs[i]==this.element.allSelects){continue}if(inputs[i].checked==false){allchecked=false;break loop}}return allchecked};Meetup.DomDeco.ModulePrefPanel.prototype.checkToCloseDialog=function(){var c=true;if(this.taintCheck()){c=confirm(Meetup.Copy.confirmModulePrefChanges)}if(c===false){return false}else{this.dismissDialog()}};Meetup.DomDeco.ModulePrefPanel.prototype.cleanupErrorDisplays=function(){var name,obj;for(name in this.initialState){initial=this.initialState[name];if(initial.errorElement){initial.dd.removeChild(initial.errorElement);delete initial.errorElement}}};Meetup.DomDeco.ModulePrefPanel.prototype.dismissDialog=function(){var i,len,name,obj,target,index_opt,ul_rep,G1=MochiKit.DOM.getFirstElementByTagAndClassName;if(this.cleanups.length){for(i=0,len=this.cleanups.length;i<len;++i){this.cleanups[i]()}}this.cleanups=[];MochiKit.Signal.signal(this.element.root,"dismiss");this.cleanupErrorDisplays();for(name in this.initialState){obj=this.initialState[name];switch(obj.type){case"boolean":target=G1("input",undefined,obj.dd);target.checked=obj.value;break;case"set":case"enum":target=G1("select",undefined,obj.dd);index_opt=Meetup.DomDeco.ModulePrefPanel.findOptionIndex(target.options,obj.value);target.selectedIndex=index_opt;break;case"integer":case"string":target=G1("input",undefined,obj.dd);target.value=obj.value;break;case"text":target=G1("textarea",undefined,obj.dd);target.value=obj.value;break;case"list":ul_rep=G1("ul","representation",obj.dd);Meetup.DomDeco.ModulePrefPanel.cleanUpUserList(ul_rep);if(obj.value instanceof Array){for(i=0,len=obj.value.length;i<len;++i){this.makeLiForList(ul_rep,obj.value[i])}}break;default:LOG.error("implement this...? "+obj.type);break}}};Meetup.DomDeco.ModulePrefPanel.prototype.finishAccess=function(){this.isAccessing=false;this.element.spinner.style.display="none"};Meetup.DomDeco.ModulePrefPanel.prototype.hideCogMenu=function(ev){this.isShowingCogMenu=false;this.element.cogMenu.style.display="none"};Meetup.DomDeco.ModulePrefPanel.prototype.showCogMenu=function(){this.isShowingCogMenu=true;var ELM=this.element,MKSTY=MochiKit.Style;if(this.isCogMenuIntialized===false){document.body.appendChild(ELM.cogMenu);this.isCogMenuIntialized=true}ELM.cogMenu.style.visibility="hidden";ELM.cogMenu.style.display="block";var dim_cog=MKSTY.getElementDimensions(ELM.modulePrefCog),pos_cog=MKSTY.getElementPosition(ELM.modulePrefCog),dim_menu=MKSTY.getElementDimensions(ELM.cogMenu),pos_menu=MKSTY.getElementPosition(ELM.cogMenu);ELM.cogMenu.style.left=(pos_cog.x+dim_cog.w-dim_menu.w)+"px";ELM.cogMenu.style.top=(pos_cog.y+dim_cog.h)+"px";ELM.cogMenu.style.visibility="visible"};Meetup.DomDeco.ModulePrefPanel.prototype.taintCheck=function(){var name,obj,input,slct,values,lis,i,len,result=false,G1=MochiKit.DOM.getFirstElementByTagAndClassName;loop:for(name in this.initialState){obj=this.initialState[name];switch(obj.type){case"boolean":input=G1("input",null,obj.dd);if(Meetup.DomDeco.ModulePrefPanel.equiv(obj.value,input.checked)===false){result=true;break loop}break;case"integer":input=G1("input",null,obj.dd);if(Meetup.DomDeco.ModulePrefPanel.equiv(obj.value,parseInt(input.value,10))===false){result=true;break loop}break;case"string":input=G1("input",null,obj.dd);if(Meetup.DomDeco.ModulePrefPanel.equiv(obj.value,""+input.value)===false){result=true;break loop}break;case"text":input=G1("textarea",null,obj.dd);if(Meetup.DomDeco.ModulePrefPanel.equiv(obj.value,""+input.value)===false){result=true;break loop}break;case"set":case"enum":slct=G1("select",null,obj.dd);if(Meetup.DomDeco.ModulePrefPanel.equiv(obj.value,slct.options[slct.selectedIndex].value)===false){result=true;break loop}break;case"list":values=[];lis=MochiKit.DOM.getElementsByTagAndClassName("li",null,obj.dd);for(i=0,len=lis.length;i<len;++i){values[values.length]=""+lis[i].getAttribute("value")}if(Meetup.DomDeco.ModulePrefPanel.equiv(obj.value,values)===false){result=true;break loop}break}}return result};Meetup.DomDeco.ModulePrefPanel.prototype.makeLiForList=function(container,text){var li=document.createElement("li");li.innerHTML="&nbsp;"+text;li.setAttribute("value",text);var anc=document.createElement("a");anc.href="#";anc.appendChild(document.createTextNode("x"));li.insertBefore(anc,li.firstChild);li.pointer=MochiKit.Signal.connect(anc,"onclick",Meetup.DomDeco.ModulePrefPanel.buildLiClearFunc(container,li));container.appendChild(li)};Meetup.DomDeco.ModulePrefPanel.prototype.makeSubmittingObject=function(){var name,obj,input,slct,values,lis,i,len,result={},G1=MochiKit.DOM.getFirstElementByTagAndClassName,buildvalue=Meetup.DomDeco.ModulePrefPanel.buildValueByType;for(name in this.initialState){obj=this.initialState[name];switch(obj.type){case"boolean":input=G1("input",null,obj.dd);result[name]=buildvalue(obj.type,input.checked);break;case"integer":case"string":input=G1("input",null,obj.dd);result[name]=buildvalue(obj.type,input.value);break;case"text":input=G1("textarea",null,obj.dd);result[name]=buildvalue(obj.type,input.value);break;case"set":case"enum":slct=G1("select",null,obj.dd);result[name]=buildvalue(obj.type,slct.options[slct.selectedIndex].value);break;case"list":values=[];lis=MochiKit.DOM.getElementsByTagAndClassName("li",null,obj.dd);for(i=0,len=lis.length;i<len;++i){values[values.length]=""+lis[i].getAttribute("value")}result[name]=buildvalue(obj.type,values);break}}return result};Meetup.DomDeco.ModulePrefPanel.buildErrorElement=function(str){var P=document.createElement("p");P.className="errorMessage";P.innerHTML=str;return P};Meetup.DomDeco.ModulePrefPanel.buildErrorString=function(arr){return""};Meetup.DomDeco.ModulePrefPanel.buildIdForModule=function(moduleId){return["module_",moduleId].join("")};Meetup.DomDeco.ModulePrefPanel.buildLiClearFunc=function(container,li){return function(ev){ev.stop();MochiKit.Signal.disconnect(li.pointer);li.pointer=undefined;container.removeChild(li);return false}};Meetup.DomDeco.ModulePrefPanel.buildValueByType=function(type,value){var result;switch(type){case"boolean":if(typeof(value)==="boolean"){result=value}else{if(value==="true"){result=true}else{if(value==="false"){result=false}else{result=(new Boolean(value)).valueOf()}}}break;case"integer":result=parseFloat(value);break;case"string":case"text":case"set":case"enum":result=Meetup.DomDeco.ModulePrefPanel.trim(""+value);break;case"list":if(value instanceof Array){result=value}else{result=[value]}break}return result};Meetup.DomDeco.ModulePrefPanel.chooseErrorCopy=function(str){var arr=str.split("_");arr.unshift("error");return Meetup.Copy[MochiKit.Base.camelize(arr.join("-"))]};Meetup.DomDeco.ModulePrefPanel.cleanUpUserList=function(ul){for(var i=(ul.childNodes.length-1),last=-1;i>last;--i){ul.removeChild(ul.childNodes[i])}};Meetup.DomDeco.ModulePrefPanel.findIndex=function(arr,content){if(!(arr instanceof Array)){throw new Error("arr is not an array.")}var i=0,len=arr.length,result;loop:for(;i<len;++i){if(arr[i]===content){result=i;break loop}}return result};Meetup.DomDeco.ModulePrefPanel.findLiIndex=function(ul,li){var elm,result,ULCHILDS=ul.childNodes,i=0,len=ULCHILDS.length,lengthOfLi=0;loop:for(;i<len;++i){if(ULCHILDS[i].nodeName.toLowerCase()!=="li"){continue}elm=ULCHILDS[i];if(elm===li){result=lengthOfLi;break loop}++lengthOfLi}if(result===undefined){throw new Error(li.innerHTML+" is not found.")}return result};Meetup.DomDeco.ModulePrefPanel.findOptionIndex=function(arr,value){var result,i=0,len=arr.length;loop:for(;i<len;++i){if(arr[i].value==value){result=i;break loop}}if(result===undefined){throw new Error(value+" is not found")}return result};Meetup.DomDeco.ModulePrefPanel.getModuleIdFromPrefPaneId=function(str){var arr=str.split("_");return arr[arr.length-1]};Meetup.DomDeco.ModulePrefPanel.getNameFromClass=function(classname,type){var arr=classname.split(" ");if(arr.length>2){LOG.error("you might have changed jsp code.")}loop:for(var i=0,len=arr.length;i<len;++i){if(arr[i]==type){arr.splice(i,1);break loop}}return arr.join("")};Meetup.DomDeco.ModulePrefPanel.trim=function(str){return str.replace(/^\s+|\s+$/g,"")};var equiv=function(){var innerEquiv;var callers=[];function hoozit(o){if(o.constructor===String){return"string"}else{if(o.constructor===Boolean){return"boolean"}else{if(o.constructor===Number){if(isNaN(o)){return"nan"}else{return"number"}}else{if(typeof o==="undefined"){return"undefined"}else{if(o===null){return"null"}else{if(o instanceof Array){return"array"}else{if(o instanceof Date){return"date"}else{if(o instanceof RegExp){return"regexp"}else{if(typeof o==="object"){return"object"}else{if(o instanceof Function){return"function"}else{return undefined}}}}}}}}}}}function bindCallbacks(o,callbacks,args){var prop=hoozit(o);if(prop){if(hoozit(callbacks[prop])==="function"){return callbacks[prop].apply(callbacks,args)}else{return callbacks[prop]}}}var callbacks=function(){function useStrictEquality(b,a){if(b instanceof a.constructor||a instanceof b.constructor){return a==b}else{return a===b}}return{string:useStrictEquality,"boolean":useStrictEquality,number:useStrictEquality,"null":useStrictEquality,"undefined":useStrictEquality,nan:function(b){return isNaN(b)},date:function(b,a){return hoozit(b)==="date"&&a.valueOf()===b.valueOf()},regexp:function(b,a){return hoozit(b)==="regexp"&&a.source===b.source&&a.global===b.global&&a.ignoreCase===b.ignoreCase&&a.multiline===b.multiline},"function":function(){var caller=callers[callers.length-1];return caller!==Object&&typeof caller!=="undefined"},array:function(b,a){var i;var len;if(!(hoozit(b)==="array")){return false}len=a.length;if(len!==b.length){return false}for(i=0;i<len;i++){if(!innerEquiv(a[i],b[i])){return false}}return true},object:function(b,a){var i;var eq=true;var aProperties=[],bProperties=[];if(a.constructor!==b.constructor){return false}callers.push(a.constructor);for(i in a){aProperties.push(i);if(!innerEquiv(a[i],b[i])){eq=false}}callers.pop();for(i in b){bProperties.push(i)}return eq&&innerEquiv(aProperties.sort(),bProperties.sort())}}}();innerEquiv=function(){var args=Array.prototype.slice.apply(arguments);if(args.length<2){return true}return(function(a,b){if(a===b){return true}else{if(a===null||b===null||typeof a==="undefined"||typeof b==="undefined"||hoozit(a)!==hoozit(b)){return false}else{return bindCallbacks(a,callbacks,[b,a])}}})(args[0],args[1])&&arguments.callee.apply(this,args.splice(1,args.length-1))};return innerEquiv}();Meetup.DomDeco.ModulePrefPanel.equiv=equiv;window.equiv=undefined;