if(typeof MOZES=="undefined"||!MOZES){var MOZES={};}MOZES.namespace=function(){var a=arguments,o=null,i,j,d;for(i=0;i<a.length;i=i+1){d=a[i].split(".");o=MOZES;for(j=(d[0]=="MOZES")?1:0;j<d.length;j=j+1){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}return o;};MOZES.namespace("widget");MOZES.namespace("controller");MOZES.namespace("util");MOZES.namespace("constants");MOZES.constants.MAX_SMS_LENGTH=160;MOZES.constants.MAX_STASH_SMS_LENGTH=100;MOZES.loader=new YAHOO.util.YUILoader({require:["event","dom","button","container","menu","element","json"],skin:{defaultSkin:"sam",overrides:{}},filter:"DEBUG",onSuccess:function(o){}});MOZES.modules=[{name:"mozes.widget.datagrid",type:"js",fullpath:"/js/src/yui/mozes/widget/datagrid.js",varName:"MOZES_WIDGET_DATAGRID",requires:["datatable","event","autocomplete","connection"]},{name:"mozes.widget.attachmedia",type:"js",fullpath:"/js/src/yui/mozes/widget/attachmedia.js",varName:"MOZES_WIDGET_ATTACHMEDIA",requires:["event","connection","mozes.util.dom","json","selector"]},{name:"mozes.widget.timepicker",type:"js",fullpath:"/js/src/yui/mozes/widget/timepicker.js",varName:"MOZES_WIDGET_TIMEPICKER",requires:["event","dom"]},{name:"mozes.util.dom",type:"js",fullpath:"/js/src/yui/mozes/util/dom.js",varName:"MOZES_UTIL_DOM",requires:["dom"]},{name:"mozes.controller.campaignkeyword",type:"js",fullpath:"/js/src/yui/mozes/controller/campaign-keyword.js",varName:"MOZES_CONTROLLER_CAMPAIGNKEYWORD",requires:["connection","selector","mozes.util.dom","mozes.widget.attachmedia","mozes.widget.charcount"]},{name:"mozes.controller.projectcreate",type:"js",fullpath:"/js/src/yui/mozes/controller/project-create.js",varName:"MOZES_CONTROLLER_PROJECTCREATE",requires:["button","dom","event","mozes.widget.attachmedia","mozes.widget.charcount"]},{name:"mozes.controller.campaignvoice",type:"js",fullpath:"/js/src/yui/mozes/controller/campaign-voice.js",varName:"MOZES_CONTROLLER_CAMPAIGNVOICE",requires:["json","button","container","dom","event","selector","mozes.widget.attachmedia"]},{name:"mozes.controller.broadcast-voice",type:"js",fullpath:"/js/src/yui/mozes/controller/broadcast-voice.js",varName:"MOZES_CONTROLLER_CAMPAIGNBROADCASTVOICE",requires:["event","dom","json","mozes.widget.attachmedia"]},{name:"mozes.controller.account",type:"js",fullpath:"/js/src/yui/mozes/controller/account.js",varName:"MOZES_CONTROLLER_ACCOUNT",requires:["event","dom","connection","json"]},{name:"mozes.controller.broadcast",type:"js",fullpath:"/js/src/yui/mozes/controller/broadcast.js",varName:"MOZES_CONTROLLER_BROADCAST",requires:["event","dom","connection","selector","container","button","json","mozes.util.dom","mozes.widget.timepicker","mozes.widget.charcount"]},{name:"mozes.controller.broadcast-text-poll-trivia",type:"js",fullpath:"/js/src/yui/mozes/controller/broadcast-text-poll-trivia.js",varName:"MOZES_CONTROLLER_BROADCASTTEXTPOLLTRIVIA",requires:["event","dom","json","button","mozes.util.dom","mozes.widget.attachmedia","mozes.widget.charcount","mozes.controller.broadcast"]},{name:"mozes.controller.broadcast-scheduled",type:"js",fullpath:"/js/src/yui/mozes/controller/broadcast-scheduled.js",varName:"MOZES_CONTROLLER_BROADCASTSCHEDULED",requires:["event","dom","selector","button","connection","json","mozes.util.dom"]},{name:"mozes.controller.activity",type:"js",fullpath:"/js/src/yui/mozes/controller/project-activity.js",varName:"MOZES_CONTROLLER_PROJECTACTIVITY",requires:["dom","connection","selector","json","utilities","slider","colorpicker","datasource","mozes.widget.datagrid","mozes.util.swf"]},{name:"mozes.controller.widget",type:"js",fullpath:"/js/src/yui/mozes/controller/campaign-widget.js",varName:"MOZES_CONTROLLER_CAMPAIGNWIDGET",requires:["dom","mozes.util.swf","container","event","json","mozes.widget.attachmedia"]},{name:"mozes.controller.card",type:"js",fullpath:"/js/src/yui/mozes/controller/card.js",varName:"MOZES_CONTROLLER_CARD",requires:["dom","container","event","json","mozes.widget.attachmedia"]},{name:"swfobject",type:"js",fullpath:"/vendor/swfobject/1.5/swfobject.js",varName:"SWFOBJECT",requires:[]},{name:"mozes.util.swf",type:"js",fullpath:"/js/src/yui/mozes/util/swf.js",varName:"MOZES_UTIL_SWF",requires:["swfobject"]},{name:"mozes.controller.reports",type:"js",fullpath:"/js/src/yui/mozes/controller/reports.js",varName:"MOZES_CONTROLLER_REPORTS",requires:["event","dom","button","mozes.widget.datagrid","mozes.widget.datepicker"]},{name:"mozes.widget.charcount",type:"js",fullpath:"/js/src/yui/mozes/widget/charcount.js",varName:"MOZES_WIDGET_CHARCOUNT",requires:["event","dom","mozes.util.dom"]},{name:"whardy.widget.icalendargroup",type:"js",fullpath:"/js/src/yui/whardy/widget/icalendargroup.js",varName:"WHARDY_WIDGET_ICALENDARGROUP",requires:["calendar"]},{name:"mozes.widget.datepicker",type:"js",fullpath:"/js/src/yui/mozes/widget/datepicker.js",varName:"MOZES_WIDGET_DATEPICKER",requires:["calendar"]}];MOZES.loader.use=function(moduleNames,onLoad){var loader=new YAHOO.util.YUILoader({require:moduleNames,onSuccess:onLoad});for(var m in MOZES.modules){loader.addModule(MOZES.modules[m]);}loader.insert({},"js");};
(function(){MOZES.util.Swf=function(url,content_id,width,height,flashvars,params){this.url=url;this.content_id=content_id;this.width=width;this.height=height;this.flashvars=flashvars;this.params=params;this.version=8;};MOZES.util.Swf.prototype.render=function(){YAHOO.util.Dom.get(this.content_id).id=this.content_id+"-container";var so=new SWFObject(this.url,this.content_id,this.width,this.height,this.version);for(var i in this.flashvars){so.addVariable(i,this.flashvars[i]);}for(var i in this.params){so.addParam(i,this.params[i]);}so.write(this.content_id+"-container");};YAHOO.register("mozes.util.swf",MOZES.util.Swf,{version:"1.0.0d",build:"1"});})();
(function(){var Dom=YAHOO.util.Dom,Lang=YAHOO.lang;MOZES.util.Dom={get:function(el){if(typeof el==="string"){return document.getElementById(el);}else{return el;}},remove:function(el){var el=this.get(el);el.parentNode.removeChild(el);},toggleClass:function(el,className){if(Dom.hasClass(el,className)){Dom.removeClass(el,className);}else{Dom.addClass(el,className);}return ;},createInputElement:function(p_sType,p_sName,p_sValue,p_bChecked){var oInput,sInput;if(Lang.isString(p_sType)&&Lang.isString(p_sName)){if(YAHOO.env.ua.ie){sInput='<input type="'+p_sType+'" name="'+p_sName+'"';if(p_bChecked){sInput+=" checked";}sInput+=">";oInput=document.createElement(sInput);}else{oInput=document.createElement("input");oInput.name=p_sName;oInput.type=p_sType;if(p_bChecked){oInput.checked=true;}}if(p_sValue){oInput.value=p_sValue;}return oInput;}},clearInnerHTML:function(obj){nObj=obj.cloneNode(false);Dom.insertBefore(nObj,obj);obj.parentNode.removeChild(obj);return nObj;},htmlentities:function(s){var div=document.createElement("div");var text=document.createTextNode(s);div.appendChild(text);return div.innerHTML;},wordwrap:function(str,int_width,str_break,cut){var m=int_width,b=str_break||"\n",c=cut;if(b=="\n"){b="<br />";}var i,j,l,s,r;if(m<1){return str;}for(i=-1,l=(r=str.split("\n")).length;++i<l;r[i]+=s){for(s=r[i],r[i]="";s.length>m;r[i]+=s.slice(0,j)+((s=s.slice(j)).length?b:"")){j=c==2||(j=s.slice(0,m+1).match(/\S*(\s)?$/))[1]?m:j.input.length-j[0].length||c==1&&m||j.input.length+(j=s.slice(m).match(/^\S*/)).input.length;}}return r.join("<br />");},setFlash:function(s){scroll(0,0);var oFlashMsg=Dom.get("flashMessage");if(oFlashMsg){oFlashMsg.className="message";oFlashMsg.innerHTML=this.htmlentities(s);}else{oFlashMsg=document.createElement("div");oFlashMsg.className="message";oFlashMsg.id="flashMessage";oFlashMsg.appendChild(document.createTextNode(s));Dom.get("flash").appendChild(oFlashMsg);}},setErrorFlash:function(s,escape){scroll(0,0);escape=YAHOO.lang.isValue(escape)?escape:true;if(escape){s=this.htmlentities(s);}var oFlashMsg=Dom.get("flashMessage");if(oFlashMsg){oFlashMsg.className="error";oFlashMsg.innerHTML=s;}else{var oFlashMsg=document.createElement("div");oFlashMsg.className="error";oFlashMsg.id="flashMessage";oFlashMsg.innerHTML=s;Dom.get("flash").appendChild(oFlashMsg);}},clearFlash:function(){var oFlashMsg=Dom.get("flashMessage");if(oFlashMsg){oFlashMsg.parentNode.removeChild(oFlashMsg);}},getChugger:function(header){var wait=new YAHOO.widget.Panel("wait",{width:"240px",fixedcenter:true,close:false,draggable:false,zindex:4,modal:true,visible:false});wait.setHeader(header);wait.setBody('<img src="/img/loading.gif" />');wait.render(document.body);return wait;}};YAHOO.register("mozes.util.dom",MOZES.util.Dom,{version:"1.0.0d",build:"1"});})();
(function(){MOZES.widget.DatePicker=function(options){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event;this.cal=new YAHOO.widget.Calendar(options.container+"-name",options.container,{iframe:true,close:false,pagedate:options.pagedate,selected:options.selected,mindate:options.mindate,maxdate:options.maxdate});var cal=this.cal;var dialog=cal;function updateCal(){var txtDate=Dom.get("datepicker-date-"+num);if(txtDate.value!=""){cal.select(txtDate.value);var selectedDates=cal.getSelectedDates();if(selectedDates.length>0){var firstDate=selectedDates[0];cal.cfg.setProperty("pagedate",(firstDate.getMonth()+1)+"/"+firstDate.getFullYear());cal.render();}else{alert("Cannot select a date before "+mindate+" or after "+maxdate+".");}}}function handleSubmit(e){updateCal();Event.preventDefault(e);}function docClickHandler(e,oCal){dialog.hide();}function txtClickHandler(e,oCal){var txtBox=Dom.getRegion("datepicker-date-"+num);updateCal();dialog.show();Dom.setXY(oCal.oDomContainer,[txtBox.left,txtBox.bottom]);Event.stopPropagation(e);}function calClickHandler(e,oCal){Event.stopPropagation(e);}function selectHandler(type,args,oCal){dialog.hide();}function attachClickHandler(type,args,oCal){Event.addListener(options.container,"click",calClickHandler);}function fitToViewport(element,x,y){var nViewportOffset=10,viewPortWidth=Dom.getViewportWidth(),viewPortHeight=Dom.getViewportHeight(),offsetHeight=element.offsetHeight,offsetWidth=element.offsetWidth,scrollX=Dom.getDocumentScrollLeft(),scrollY=Dom.getDocumentScrollTop();var xNew=x;var yNew=y;if(offsetWidth+nViewportOffset<viewPortWidth){var leftConstraint=scrollX+nViewportOffset;var rightConstraint=scrollX+viewPortWidth-offsetWidth-nViewportOffset;if(x<leftConstraint){xNew=leftConstraint;}else{if(x>rightConstraint){xNew=rightConstraint;}}}else{xNew=nViewportOffset+scrollX;}if(offsetHeight+nViewportOffset<viewPortHeight){var topConstraint=scrollY+nViewportOffset;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-nViewportOffset;if(y<topConstraint){yNew=topConstraint;}else{if(y>bottomConstraint){yNew=bottomConstraint;}}}else{yNew=nViewportOffset+scrollY;}return[xNew,yNew];}var selectedDates=cal.getSelectedDates();if(selectedDates.length>0){var firstDate=selectedDates[0];cal.cfg.setProperty("pagedate",(firstDate.getMonth()+1)+"/"+firstDate.getFullYear());}cal.selectEvent.subscribe(selectHandler,cal);cal.renderEvent.subscribe(attachClickHandler,cal);cal.render();YAHOO.util.Event.addListener(document,"click",docClickHandler,cal);this.show=function(e){var pos=Dom.getRegion(YAHOO.util.Event.getTarget(e));dialog.show();var reg=Dom.getRegion(cal.oDomContainer);pos[0]=pos[0]-((reg.right-reg.left)/2)+((pos.right-pos.left)/2);pos[1]=pos[1]-((reg.bottom-reg.top)/2)+((pos.bottom-pos.top)/2);pos=fitToViewport(cal.oDomContainer,pos[0],pos[1]);Dom.setXY(cal.oDomContainer,pos);YAHOO.util.Event.stopPropagation(e);};this.selectEvent=cal.selectEvent;};YAHOO.register("mozes.widget.datepicker",MOZES.widget.DatePicker,{version:"1.0.0d",build:"1"});})();
(function(){var Event=YAHOO.util.Event,Dom=YAHOO.util.Dom,Connect=YAHOO.util.Connect,Lang=YAHOO.lang,JSON=YAHOO.lang.JSON,Selector=YAHOO.util.Selector;MOZES.widget.AttachMedia=function(el,config){this.init(el,config);};MOZES.widget.AttachMedia.prototype={oContainer:null,oForm:null,oInput:null,oMediaInput:null,oMediaTypeInput:null,oAttachDiv:null,oRemoveLink:null,oPlaceholder:null,oMediaInputContainer:null,postUrl:null,postParams:null,fileInputName:null,mediaIdName:null,mediaTypeIdName:null,hideAttachLink:null,customUploadHandler:null,customRemoveHandler:null,attachLinkLabel:"Attach media",renderForm:function(){this.oForm=document.createElement("form");this.oForm.method="post";this.oForm.action=this.postUrl;this.oForm.enctype="multipart/form-data";this.oForm.id=Dom.generateId();this.oContainer.appendChild(this.oForm);for(var postName in this.postParams){var oPostParamsInput=MOZES.util.Dom.createInputElement("hidden",postName);oPostParamsInput.value=this.postParams[postName];this.oForm.appendChild(oPostParamsInput);}this.oRemove=document.createElement("span");this.oRemove.appendChild(document.createTextNode("remove"));Dom.addClass(this.oRemove,"link remove-attach hidden");this.oForm.appendChild(this.oRemove);if(this.hideAttachLink){Event.on(this.oRemove,"click",this.customRemoveHandler||this.removeAndShowFileInputHandler,this,true);this.renderFileInput();}else{this.oAttachDiv=document.createElement("div");Dom.addClass(this.oAttachDiv,"add-attach");var oAttach=document.createElement("span");oAttach.appendChild(document.createTextNode(this.attachLinkLabel));Dom.addClass(oAttach,"link");this.oAttachDiv.appendChild(oAttach);Dom.insertBefore(this.oAttachDiv,this.oForm);Event.on(oAttach,"click",this.attachClickHandler,this,true);Event.on(this.oRemove,"click",this.customRemoveHandler||this.removeClickHandler,this,true);}},renderFileInput:function(){this.oInput=MOZES.util.Dom.createInputElement("file",this.fileInputName);this.oInput.id=Dom.generateId();Event.on(this.oInput,"change",this.fileSelectedHandler,this,true);Dom.insertBefore(this.oInput,this.oRemove);},reset:function(){if(this.oInput&&Dom.inDocument(this.oInput)){this.oForm.removeChild(this.oInput);Event.purgeElement(this.oInput,true);}if(this.oMediaInput&&Dom.inDocument(this.oMediaInput)){this.oMediaInputContainer.removeChild(this.oMediaInput);}if(this.oMediaTypeInput&&Dom.inDocument(this.oMediaTypeInput)){this.oMediaInputContainer.removeChild(this.oMediaTypeInput);}if(this.oPlaceholder&&Dom.inDocument(this.oPlaceholder)){this.oForm.removeChild(this.oPlaceholder);}Dom.addClass(this.oRemove,"hidden");},removeAndShowFileInputHandler:function(e){this.reset();this.renderFileInput();},removeClickHandler:function(e){this.reset();Dom.removeClass(this.oAttachDiv,"hidden");},attachClickHandler:function(e){this.renderFileInput();Dom.addClass(this.oAttachDiv,"hidden");Dom.removeClass(this.oRemove,"hidden");},uploadHandler:function(o){try{var r=JSON.parse(o.responseText);if(r.success){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));this.oMediaInput=Dom.get(this.mediaIdName);if(!this.oMediaInput){this.oMediaInput=MOZES.util.Dom.createInputElement("hidden",this.mediaIdName,r.media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);}this.oMediaTypeInput=MOZES.util.Dom.createInputElement("hidden",this.mediaTypeIdName,r.media_type_id);this.oMediaInputContainer.appendChild(this.oMediaTypeInput);}else{this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.error));}}catch(e){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode("Unable to upload file: "+e.message));YAHOO.log(o.responseText);YAHOO.log(e.message);}Dom.removeClass(this.oRemove,"hidden");},failedUploadHandler:function(o){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode("Upload failed"));Dom.removeClass(this.oRemove,"hidden");},fileSelectedHandler:function(e){var connectCallback={scope:this,upload:this.customUploadHandler||this.uploadHandler,failure:this.failedUploadHandler};Connect.setForm(this.oForm,true);Connect.asyncRequest("POST",this.postUrl,connectCallback,"name="+this.fileInputName);Dom.addClass(this.oInput,"hidden");this.oPlaceholder=document.createElement("span");this.oPlaceholder.appendChild(document.createTextNode("Uploading..."));Dom.insertBefore(this.oPlaceholder,this.oRemove);},init:function(el,config){this.oContainer=Dom.get(el);if(!this.oContainer){YAHOO.log("Could not find attach media element "+el);}this.fileInputName=config.fileInputName;this.mediaIdName=config.mediaIdName;this.mediaTypeIdName=config.mediaTypeIdName;this.postUrl=config.postUrl;this.postParams=config.postParams;this.customUploadHandler=config.customUploadHandler;this.customRemoveHandler=config.customRemoveHandler;this.hideAttachLink=Lang.isBoolean(config.hideAttachLink)?config.hideAttachLink:true;this.oMediaInputContainer=Dom.get(config.mediaInputContainer);this.attachLinkLabel=Lang.isString(config.attachLinkLabel)?config.attachLinkLabel:"Attach media";this.renderForm();}};YAHOO.register("mozes.widget.attachmedia",MOZES.widget.AttachMedia,{version:"1.0.0d",build:"1"});})();
(function(){var Event=YAHOO.util.Event,Lang=YAHOO.lang,Dom=YAHOO.util.Dom;MOZES.widget.TimePicker=function(el,namePrefix){this.init(el,namePrefix);};MOZES.widget.TimePicker.REGEX=/^(0?[1-9]|1[0-2]):([0-5][0-9])\s?([AaPp][Mm])$/;MOZES.widget.TimePicker.prototype={namePrefix:null,element:null,timeOld:"",oHour:null,oMinute:null,focusHandler:function(){this.timeOld=this.element.value;},blurHandler:function(){this.updateHiddenInputs();},updateHiddenInputs:function(){var strTime=Lang.trim(this.element.value);strTime=strTime.replace(/\s+/g," ");if(MOZES.widget.TimePicker.REGEX.test(strTime)){this.element.value=strTime.replace(MOZES.widget.TimePicker.REGEX,"$1:$2 $3").toUpperCase();}else{this.element.value=this.timeOld||"";return ;}var hour=0,ampm="",minute=0;var colonPos=strTime.search(":");if(colonPos>0){hour=parseInt(strTime.slice(0,colonPos),10);minute=parseInt(strTime.substr(colonPos+1,2),10);ampm=strTime.slice(-2);}if(ampm.toLowerCase()=="pm"&&hour<12){hour+=12;}else{if(ampm.toLowerCase()=="am"&&hour==12){hour=0;}}var self=this;if(!this.oHour){this.oHour=MOZES.util.Dom.createInputElement("hidden",this.namePrefix+"hour",hour);Dom.insertAfter(this.oHour,this.element);Event.on(this.oHour,"change",function(){self.element.setTime(self.oHour.value,self.oMinute.value);});}if(!this.oMinute){this.oMinute=MOZES.util.Dom.createInputElement("hidden",this.namePrefix+"minute",minute);Dom.insertAfter(this.oMinute,this.element);Event.on(this.oMinute,"change",function(){alert("minute change");self.element.setTime(self.oHour.value,self.oMinute.value);});}this.oHour.value=hour;this.oMinute.value=minute;},setTime:function(hour,minute){var ampm="AM";if(hour>12){hour-=12;ampm="PM";}this.element.value=hour+":"+minute+" "+ampm;},init:function(el,namePrefix){this.element=document.getElementById(el);this.namePrefix=namePrefix;this.updateHiddenInputs();Event.on(this.element,"focus",this.focusHandler,this,true);Event.on(this.element,"blur",this.blurHandler,this,true);}};YAHOO.register("mozes.widget.timepicker",MOZES.widget.TimePicker,{version:"1.0.0d",build:"1"});})();
MOZES.widget.DataGrid=function(options){this.options=options;this._data=null;var self=this;var paginator=null;if(YAHOO.lang.isObject(options.pagination)){var defaultPaginatorConfig={rowsPerPage:10,containers:"pag",template:'<span class="pg-nav">'+"{PreviousPageLink}"+"{NextPageLink}"+"</span>"+"<label>show rows: {RowsPerPageDropdown}</label>",nextPageLinkLabel:"<span>next</span>",previousPageLinkLabel:"<span>prev</span>",rowsPerPageDropdownClass:"yui-pg-rpp-options",rowsPerPageOptions:[{value:10,text:"10"},{value:50,text:"50"},{value:100,text:"100"}]};if(YAHOO.lang.isString(options.pagination.container)){options.pagination.containers=options.pagination.container;}var paginatorConfig=YAHOO.lang.merge(defaultPaginatorConfig,options.pagination);if(!YAHOO.lang.isArray(options.data)||paginatorConfig.rowsPerPage<options.data.length){paginator=new YAHOO.widget.Paginator(paginatorConfig);}}var responseType=YAHOO.util.DataSource.TYPE_JSARRAY;if(YAHOO.lang.isString(options.data)){responseType=YAHOO.util.DataSource.TYPE_JSON;}this.dataSource=new YAHOO.util.DataSource(options.data);this.dataSource.responseType=responseType;this.dataSource.responseSchema={fields:options.fields,resultsList:options.resultsList,metaFields:options.metaFields};this.dataSource.doBeforeCallback=function(oRequest,oFullResponse,oParsedResponse){if(!YAHOO.lang.isValue(self._data)){YAHOO.log("Set initial data");self._data=oParsedResponse;}return oParsedResponse;};var columns=[];this.fields=options.fields;for(var f in this.fields){var field=this.fields[f];if(YAHOO.lang.isObject(field.column)){var c=field.column;c.key=field.key;if(!c.formatter){c.formatter=YAHOO.widget.DataTable.formatText;}columns.push(c);}}this.columns=columns;this.dataConfig={paginator:paginator,scrollable:false,height:"10em",initialLoad:true};if(YAHOO.lang.isObject(options.options)){this.dataConfig=YAHOO.lang.merge(this.dataConfig,options.options);}this.dataTable=new YAHOO.widget.DataTable(options.container,columns,this.dataSource,this.dataConfig);this.dataTable.subscribe("rowMouseoverEvent",this.dataTable.onEventHighlightRow);this.dataTable.subscribe("rowMouseoutEvent",this.dataTable.onEventUnhighlightRow);if(YAHOO.lang.isFunction(options.onRowClick)){this.dataTable.subscribe("rowClickEvent",options.onRowClick);}if(paginator&&YAHOO.lang.isFunction(options.onRowsPerPageChange)){paginator.subscribe("rowsPerPageChange",options.onRowsPerPageChange);}if(YAHOO.lang.isObject(options.search)){function search(query){self.searchData(query);}var oACDS=new YAHOO.widget.DS_JSFunction(search);oACDS.queryMatchContains=true;if(YAHOO.lang.isUndefined(options.search.containers.results)){options.search.containers.results=options.search.containers.input+"-results";var div=document.createElement("div");div.id=options.search.containers.results;document.body.appendChild(div);}var oAutoComp=new YAHOO.widget.AutoComplete(options.search.containers.input,options.search.containers.results,oACDS,{minQueryLength:0});}};MOZES.widget.DataGrid.prototype={searchData:function(query){if(YAHOO.lang.isValue(this._data)){var data=this.searchItems(this._data.results,query);var response=this.dataSource.parseArrayData(query,data);response.meta={};for(var i in this._data.meta){response.meta[i]=this._data.meta[i];}response.meta.totalRecords=response.results.length;response.tId=++YAHOO.util.DataSource._nTransactionId;this.dataTable.onDataReturnInitializeTable(query,response);}},sendRequest:function(params){YAHOO.log("Send request: "+params);var elTbody=this.dataTable._elTbody;while(elTbody.firstChild){elTbody.removeChild(elTbody.firstChild);}this.dataTable.showTableMessage(YAHOO.widget.DataTable.MSG_LOADING,YAHOO.widget.DataTable.CLASS_LOADING);var oCallback={success:this.dataTable.onDataReturnSetRows,failure:this.dataTable.onDataReturnSetRows,scope:this.dataTable,cache:false};this.dataSource.sendRequest(params,oCallback);},searchItems:function(data,query){YAHOO.log("Search for "+query);if(typeof query=="undefined"||!query||!YAHOO.lang.isValue(this.options.search)){return data;}query=unescape(query.toLowerCase());var items=[];var fields=this.options.search;for(var d in data){for(var f in fields){if(YAHOO.lang.isString(data[d][fields[f]])&&data[d][fields[f]].toLowerCase().indexOf(query)>-1){items.push(data[d]);break;}}}return items;}};YAHOO.register("mozes.widget.datagrid",MOZES.widget.DataGrid,{version:"1.0.0d",build:"1"});
MOZES.widget.CharCount=(function(){var Event=YAHOO.util.Event,Lang=YAHOO.lang,Dom=YAHOO.util.Dom;return{init:function(cfg){var self={};var inputs=null,maxLength=null,oCountLbl=null,oTotalLbl=null,oContainer=null,offset=null;var applyConfig=function(cfg){oContainer=Dom.get(cfg.container);inputs=new Array();addInputs(cfg.inputs,inputs);maxLength=cfg.maxLength;offset=cfg.offset?cfg.offset:0;};var attachEvent=function(obj,handler){var eventAction="";if(obj.nodeName.toUpperCase()==="SELECT"){eventAction="change";}else{if(obj.nodeName.toUpperCase()==="INPUT"||obj.nodeName.toUpperCase()==="TEXTAREA"){eventAction="keyup";}}Event.on(obj,eventAction,handler);};var addInputs=function(src,dest){if(!Lang.isArray(dest)){throw {name:"TypeError",message:"Expected array"};}if(Lang.isArray(src)){for(i in src){var o=Dom.get(src[i]);if(o){dest.push(o);attachEvent(o,self.updateCount);}}}else{var o=Dom.get(src);if(o){dest.push(o);attachEvent(o,self.updateCount);}}};var countChars=function(){var count=0;for(i in inputs){var obj=inputs[i];var len=0;if(obj.disabled){continue;}else{if(obj.nodeName.toUpperCase()==="SELECT"){len=obj.options[obj.selectedIndex].firstChild.nodeValue.replace(/\r/g,"").length;YAHOO.log("SELECT: "+len+"\n|"+obj.options[obj.selectedIndex].firstChild.nodeValue+"|");}else{if(obj.nodeName.toUpperCase()==="INPUT"||obj.nodeName.toUpperCase()==="TEXTAREA"){len=obj.value.replace(/\r/g,"").length;YAHOO.log("INPUT or TEXTAREA: "+len+"\n|"+obj.value+"|");}else{if(obj.nodeName.toUpperCase()==="SPAN"||obj.nodeName.toUpperCase()==="DIV"){len=obj.firstChild.nodeValue.replace(/\r/g,"").length;YAHOO.log("SPAN or DIV: "+len+"\n|"+obj.firstChild.nodeValue+"|");}}}}count+=len;}YAHOO.log("final count: "+count);return count;};var renderLabels=function(){oCountLbl=document.createElement("span");oCountLbl.innerHTML="0";oContainer.appendChild(oCountLbl);oContainer.appendChild(document.createTextNode("/"));oTotalLbl=document.createElement("span");oTotalLbl.innerHTML=MOZES.util.Dom.htmlentities(maxLength);oContainer.appendChild(oTotalLbl);oContainer.appendChild(document.createTextNode(" character(s)"));};self.getCurrentLength=function(){return offset+countChars();};self.addUserInputs=function(el){addInputs(el,inputs);};self.updateCount=function(e){var currentLength=self.getCurrentLength();oTotalLbl.innerHTML=MOZES.util.Dom.htmlentities(maxLength);oCountLbl.style.color=(currentLength>maxLength)?"#ff0000":"#000";oCountLbl.style.fontWeight=(currentLength>maxLength)?"bold":"normal";oCountLbl.innerHTML=MOZES.util.Dom.htmlentities(currentLength);};applyConfig(cfg);renderLabels();return self;}};})();YAHOO.register("mozes.widget.charcount",MOZES.widget.CharCount,{version:"1.0.0d",build:"1"});
MOZES.controller.ProjectCreate=(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Connect=YAHOO.util.Connect,Lang=YAHOO.lang,JSON=YAHOO.lang.JSON;var keywordValidator=null;var validateKeyword=function(){if(keywordValidator){keywordValidator.abort;keywordValidator=null;}Dom.setStyle("keyword-status","display","none");var keywordText=Dom.get("keyword-text").value;if(keywordText.match(/^.{3,20}$/)){var callback={success:successCallback};keywordValidator=Connect.asyncRequest("GET","/api/keywords/j_keyword_available/"+keywordText,callback);}};var successCallback=function(o){if(o.responseText){keywordValidator=null;var response=JSON.parse(o.responseText);if(response.result){Dom.get("keyword-status").innerHTML="This keyword is available";Dom.replaceClass("keyword-status","inline-error","inline-message");}else{Dom.get("keyword-status").innerHTML="This keyword is not available";Dom.replaceClass("keyword-status","inline-message","inline-error");}Dom.setStyle("keyword-status","display","inline");}};var buildMob=function(e){Dom.get("project-mob-word").disabled=!Dom.get("keyword-build-mob-on").checked;};return{init:function(){Event.on(["keyword-build-mob-on","keyword-build-mob-off"],"click",buildMob);Event.on("keyword-text","change",validateKeyword);Event.on("keyword-text","keyup",validateKeyword);},step3:function(){var livePreviewHandler=function(e){var oMsg=Dom.get("broadcast-message");var oPreviewMsg=Dom.get("broadcast-preview-message");var oFooter=Dom.get("footer-select");var msgBody=oMsg.value;var msgFoot="";if(oFooter){msgFoot=oFooter.options[oFooter.selectedIndex].innerHTML;}oPreviewMsg.innerHTML=MOZES.util.Dom.htmlentities(msgBody+" "+msgFoot);};Event.addListener("broadcast-message","keyup",livePreviewHandler);Event.on("footer-select","change",livePreviewHandler);var charcount=MOZES.widget.CharCount.init({container:"char-count",inputs:["broadcast-message","footer-select"],maxLength:MOZES.constants.MAX_SMS_LENGTH,offset:1});var welcomeCharcount=MOZES.widget.CharCount.init({container:"welcome-char-count",inputs:["welcome-msg-body","welcome-msg-footer"],maxLength:MOZES.constants.MAX_SMS_LENGTH,offset:1});charcount.updateCount();welcomeCharcount.updateCount();livePreviewHandler();}};})();YAHOO.register("mozes.controller.projectcreate",MOZES.controller.ProjectCreate,{version:"1.0.0d",build:"1"});
MOZES.controller.Activity=function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,JSON=YAHOO.lang.JSON;var callUser=null;var callStatus=null;var starOn="/img/icon-star_select.gif";var starOff="/img/icon-star.gif";var audio_button_types=new Array();audio_button_types["play"]="/_common/images/audio_loader-play.gif";audio_button_types["loading"]="/_common/images/audio_loader-load.gif";audio_button_types["pause"]="/_common/images/audio_loader-pause.gif";audio_button_types["error"]="/_common/images/audio_loader-error.gif";var selectedActivity=new Array();function collectSelected(){selectedActivity=Array();if(!document.getElementById("project_activity")){return ;}var inputs=document.getElementById("project_activity").getElementsByTagName("input");for(var i=0,len=inputs.length;i<len;i++){if(inputs[i].type=="checkbox"&&inputs[i].checked&&inputs[i].value){selectedActivity.push(inputs[i].value);}}}var checkedLabels=Array();function checkLabels(p_sType,p_aArgs,p_oItem){collectSelected();var menu_links=this.getMenu().getItems();var label_counts=new Array();YAHOO.util.Dom.removeClass(checkedLabels,"all-checked");YAHOO.util.Dom.removeClass(checkedLabels,"some-checked");for(var i=0,len=selectedActivity.length;i<len;i++){for(var j=0,lenj=menu_links.length;j<lenj;j++){if(document.getElementById("label_"+selectedActivity[i]+"_"+menu_links[j].value)){if(!label_counts[menu_links[j].value]){label_counts[menu_links[j].value]=0;}label_counts[menu_links[j].value]++;}if(i>=(len-1)){if(label_counts[menu_links[j].value]==len){checkedLabels.push(menu_links[j].element);YAHOO.util.Dom.addClass(menu_links[j].element,"all-checked");}else{if(label_counts[menu_links[j].value]>0){checkedLabels.push(menu_links[j].element);YAHOO.util.Dom.addClass(menu_links[j].element,"some-checked");}}}}}}function toggleSelection(check){if(!document.getElementById("project_activity")){return ;}var inputs=document.getElementById("project_activity").getElementsByTagName("input");if(!check){check=false;}else{check=true;}for(var i=0,len=inputs.length;i<len;i++){if(inputs[i].type=="checkbox"){inputs[i].checked=check;}}}function expand_message(e){override_expand=false;if(e.target){var target=e.target;}else{var target=e.srcElement;}if(target.tagName.toLowerCase()=="a"||target.tagName.toLowerCase()=="input"){override_expand=true;}else{if(YAHOO.util.Dom.hasClass(target,"PlayButton")){override_expand=true;}else{if(YAHOO.util.Dom.getAncestorByTagName(target,"a")||YAHOO.util.Dom.getAncestorByTagName(target,"input")){override_expand=true;}}}if(!override_expand){if(YAHOO.util.Dom.getStyle(this,"overflow")=="visible"){YAHOO.util.Dom.setStyle(this,"height","3.18em");YAHOO.util.Dom.setStyle(this,"line-height","4em");YAHOO.util.Dom.setStyle(this,"overflow","hidden");YAHOO.util.Dom.setStyle(this,"padding","0em 0.4em");var msg_call=YAHOO.util.Dom.getElementsByClassName("MsgCall","h6",this);if(msg_call){YAHOO.util.Dom.setStyle(msg_call,"display","none");}YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("first-child","span",this),"visibility","hidden");var label_block=YAHOO.util.Dom.getElementsByClassName("label-block","span",this);}else{YAHOO.util.Dom.setStyle(this,"height","auto");YAHOO.util.Dom.setStyle(this,"line-height","1.34em");YAHOO.util.Dom.setStyle(this,"overflow","visible");YAHOO.util.Dom.setStyle(this,"padding","0.95em 0.4em");YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("first-child","span",this),"visibility","visible");var label_block=YAHOO.util.Dom.getElementsByClassName("label-block","span",this);}}}var colourMenus=new Array(),colourButtons=new Array();function onColourButtonOption(){var label_id=this.get("container").replace(/\D/g,"");if(!label_id){label_id="new";}colourMenus[label_id].setBody(" ");colourMenus[label_id].body.id="color-picker-container-"+label_id;colourMenus[label_id].render(this.get("container"));if(label_id=="new"){var ids=YAHOO.lang.merge(YAHOO.widget.ColorPicker.prototype.ID,{HEX:"new_label_hex"});}var colourPicker=new YAHOO.widget.ColorPicker(colourMenus[label_id].body.id,{showcontrols:false,ids:ids,images:{PICKER_THUMB:"http://yui.yahooapis.com/2.5.1/build/colorpicker/assets/picker_thumb.png",HUE_THUMB:"http://yui.yahooapis.com/2.5.1/build/colorpicker/assets/hue_thumb.png"}});colourPicker.setValue(YAHOO.util.Color.hex2rgb(colourButtons[label_id].get("value")),false);colourMenus[label_id].align();colourPicker.on("rgbChange",function(p_oEvent){var backColour="#"+this.get("hex");colourButtons[label_id].set("value",backColour);YAHOO.util.Dom.setStyle("current-color-"+label_id,"backgroundColor",backColour);if(label_id!="new"&&document.getElementById("label_color_"+label_id)){YAHOO.util.Connect.asyncRequest("GET","/project/"+projectId+"/activity/label_color/"+label_id+"/"+this.get("hex"));YAHOO.util.Dom.setStyle("label_color_"+label_id,"backgroundColor",backColour);YAHOO.util.Dom.setStyle("label_color_"+label_id,"borderColor","#"+YAHOO.util.Color.rgb2hex(YAHOO.util.Color.hsv2rgb([this.get("hue"),this.get("saturation")/100,1])));}});this.unsubscribe("option",onColourButtonOption);}var mod_range=Array("mod-text","mod-images","mod-voice");function toggleModeration(){var this_head=YAHOO.util.Dom.hasClass(this,"mod-head");var this_all=YAHOO.util.Dom.hasClass(this,"mod-all");var this_class="mod-all";if(!this_all){for(var i=0,len=mod_range.length;i<len;i++){if(YAHOO.util.Dom.hasClass(this,mod_range[i])){this_class=mod_range[i];i=len;}}}var set_array=YAHOO.util.Dom.getElementsByClassName(this_class,"input",document.getElementById("campaigns-list"));if(!this_head){for(var i=0,len=set_array.length;i<len;i++){if(!YAHOO.util.Dom.hasClass(set_array[i],"mod-head")&&set_array[i].checked!=this.checked){set_array=Array(this);i=len;}}}var loop_checkbox=null;if(this_all){for(var i=0,len=set_array.length;i<len;i++){for(var j=0,lenj=mod_range.length;j<lenj;j++){loop_checkbox=document.getElementById(mod_range[j]+"-"+set_array[i].value);if(loop_checkbox&&loop_checkbox!=this){set_array.push(loop_checkbox);}}}}else{var row_same=true;for(var i=0,len=set_array.length;i<len;i++){row_same=true;for(var j=0,lenj=mod_range.length;j<lenj;j++){loop_checkbox=document.getElementById(mod_range[j]+"-"+set_array[i].value);if(YAHOO.util.Dom.hasClass(loop_checkbox,this_class)){loop_checkbox=this;}if(loop_checkbox&&loop_checkbox.checked!=true){row_same=false;j=lenj;}}loop_checkbox=document.getElementById("mod-all-"+set_array[i].value);if(loop_checkbox&&loop_checkbox!=this){loop_checkbox.checked=row_same;}}}if(set_array){for(var i=0,len=set_array.length;i<len;i++){set_array[i].checked=this.checked;}}if(!this.checked){document.getElementById("mod-all-head").checked=false;}}return{initNav:function(){YAHOO.util.Event.onContentReady("campaign_buttons",function(){var campaignbuttons=new YAHOO.widget.Button("campaign_submit",{type:"menu",menu:"side_filter_campaign"});});},initActivity:function(){YAHOO.util.Event.onDOMReady(function(){var MsgElm=YAHOO.util.Dom.getElementsByClassName("Msg","div",document.getElementById("project_activity"));YAHOO.util.Event.addListener(MsgElm,"click",expand_message);Event.on("campaign_button","click",function fnCallback(e){var campaign_buttons=document.getElementById("campaign_buttons");if(YAHOO.util.Dom.getStyle(campaign_buttons,"display")=="block"){YAHOO.util.Dom.setStyle(campaign_buttons,"display","none");YAHOO.util.Dom.removeClass(this,"active");}else{YAHOO.util.Dom.setStyle(campaign_buttons,"display","block");YAHOO.util.Dom.addClass(this,"active");}});var filter_pass="";if(filter){filter_pass="filter="+filter+"&";}var MsgPerPageElm=YAHOO.util.Dom.getElementsByClassName("messages-per-page","select",document.getElementById("yui-main"));YAHOO.util.Event.addListener(MsgPerPageElm,"change",function(){window.location="/project/"+projectId+"/activity?"+filter_pass+"activity_count="+this.value;});var PlayBtnElm=YAHOO.util.Dom.getElementsByClassName("PlayButton","img",document.getElementById("project_activity"));YAHOO.util.Event.addListener(PlayBtnElm,"click",function(){MOZES.controller.Activity.audio_loader(this.id,document.getElementById(this.id.replace("play_btn_","play_url_")).value);});});var labelbutton_text="Tags";if(filterPending){YAHOO.util.Event.onContentReady("pending_campaign_buttons",function(){filter_select=document.getElementById("pending_filter_campaign");document.getElementById("pending_campaign_submit").value=filter_select.options[filter_select.selectedIndex].innerHTML;var pendingCampaignbuttons=new YAHOO.widget.Button("pending_campaign_submit",{type:"menu",menu:"pending_filter_campaign"});});labelbutton_text="More actions";}YAHOO.util.Event.onContentReady("label-buttons1",function(){var labelbuttons1=new YAHOO.widget.Button({type:"menu",label:labelbutton_text,menu:tagsMenu,container:"label-buttons1"});labelbuttons1.on("click",checkLabels);});YAHOO.util.Event.onContentReady("label-buttons2",function(){var labelbuttons2=new YAHOO.widget.Button({type:"menu",label:labelbutton_text,menu:tagsMenu,container:"label-buttons2"});labelbuttons2.on("click",checkLabels);});YAHOO.util.Event.onContentReady("AudioLoader",function(){var AudioLoaderSwf=new MOZES.util.Swf("/flash/audio_loader.swf","AudioLoader",10,10,{},{wmode:"transparent"});AudioLoaderSwf.render();});this.initNav();},audio_loader:function(id,file){var AudioLoader;if(document.getElementById("AudioLoader")){AudioLoader=document.getElementById("AudioLoader");}if(!AudioLoader||typeof AudioLoader.loadAudio!="function"){this.audio_button(id,"error");return ;}if(document.getElementById(id).alt=="pause"){AudioLoader.pauseAudio();}else{if(document.getElementById(id).alt!="loading"){audio_button(id,"loading");AudioLoader.loadAudio(id,file);}}},audio_button:function(id,type){document.getElementById(id).alt=type;document.getElementById(id).src=audio_button_types[type];},toggleSelection:function(check){if(!document.getElementById("project_activity")){return ;}var inputs=document.getElementById("project_activity").getElementsByTagName("input");if(!check){check=false;}else{check=true;}for(var i=0,len=inputs.length;i<len;i++){if(inputs[i].type=="checkbox"){inputs[i].checked=check;}}},star_message:function(commentId){if(commentId>0){if(document.getElementById("star_"+commentId).src.indexOf(starOff)!=-1){YAHOO.util.Connect.asyncRequest("GET","/project/"+projectId+"/activity/add_star/"+commentId);document.getElementById("star_"+commentId).src=starOn;}else{YAHOO.util.Connect.asyncRequest("GET","/project/"+projectId+"/activity/remove_star/"+commentId);document.getElementById("star_"+commentId).src=starOff;}}},setLabel:function(p_oItem,thisMenu){label_id=thisMenu.value;if(label_id=="edit_labels"){window.location="/project/"+projectId+"/activity/edit_labels";}else{if(label_id){collectSelected();var add_ids=new Array(),remove_ids=new Array();var labels_block=null,existing_label=null,new_label=null;if(label_id=="remove_all"){for(var i=0,len=selectedActivity.length;i<len;i++){var labels_block=document.getElementById("labels_"+selectedActivity[i]);if(labels_block){labels_block.innerHTML="";}remove_ids.push(selectedActivity[i]);}if(remove_ids.length){YAHOO.util.Connect.asyncRequest("GET","/project/"+projectId+"/activity/remove_label/"+remove_ids.join("|"));}}else{for(var i=0,len=selectedActivity.length;i<len;i++){labels_block=document.getElementById("labels_"+selectedActivity[i]);if(labels_block){existing_label=document.getElementById("label_"+selectedActivity[i]+"_"+label_id);if(existing_label){remove_ids.push(selectedActivity[i]);}else{add_ids.push(selectedActivity[i]);}}}if(add_ids.length&&remove_ids.length){add_ids=add_ids.concat(remove_ids);remove_ids=Array();}if(add_ids.length){YAHOO.util.Connect.asyncRequest("GET","/project/"+projectId+"/activity/add_label/"+add_ids.join("|")+"/"+label_id);}if(remove_ids.length){YAHOO.util.Connect.asyncRequest("GET","/project/"+projectId+"/activity/remove_label/"+remove_ids.join("|")+"/"+label_id);}for(var i=0,len=add_ids.length;i<len;i++){labels_block=document.getElementById("labels_"+selectedActivity[i]);if(labels_block){existing_label=document.getElementById("label_"+selectedActivity[i]+"_"+label_id);if(!existing_label){new_label=document.createElement("span");new_label.id="label_"+selectedActivity[i]+"_"+label_id;new_label.setAttribute("title",p_oItem.element.firstChild.innerHTML);YAHOO.util.Dom.setStyle(new_label,"background-color",YAHOO.util.Dom.getStyle("label_color_"+label_id,"background-color"));YAHOO.util.Dom.setStyle(new_label,"border-color",YAHOO.util.Dom.getStyle("label_color_"+label_id,"border-color"));new_label.innerHTML=new_label.title;labels_block.appendChild(new_label);}}}for(var i=0,len=remove_ids.length;i<len;i++){labels_block=document.getElementById("labels_"+selectedActivity[i]);if(labels_block){var existing_label=document.getElementById("label_"+selectedActivity[i]+"_"+label_id);if(existing_label){labels_block.removeChild(existing_label);}}}}}}},sendBroadcast:function(){collectSelected();var user_ids=Array();var user_id=null;var dup_found=false;if(selectedActivity.length){for(var i=0,len=selectedActivity.length;i<len;i++){user_id=document.getElementById("user_id_"+selectedActivity[i]);if(user_id&&user_id.value>0){dup_found=false;for(var j=0,lenj=user_ids.length;j<lenj;j++){if(user_id.value==user_ids[i]){dup_found=false;j=lenj;}}if(!dup_found){user_ids.push(user_id.value);}}}if(user_ids.length){window.location="/project/"+projectId+"/broadcast/text?ids="+user_ids.join(",");}else{var broadcastError=new YAHOO.widget.SimpleDialog("broadcastError",{width:"300px",fixedcenter:true,visible:false,draggable:false,constraintoviewport:true,close:true,text:"People that are not in your mob<br />cannot receive broadcast messages.",buttons:[{text:"Okay",handler:function(){this.hide();}}]});}}else{var broadcastError=new YAHOO.widget.SimpleDialog("broadcastError",{width:"300px",fixedcenter:true,visible:false,draggable:false,constraintoviewport:true,close:true,text:"You must select the users to<br />send a Broadcast to.",buttons:[{text:"Okay",handler:function(){this.hide();}}]});}if(broadcastError){broadcastError.render(document.body);broadcastError.show();}},call_member:function(commentId,connect){if(commentId>0){if(connect&&document.getElementById("connect_"+commentId)){if((!document.getElementById("phone1_"+commentId).value.match(/^\d{3}$/))||(!document.getElementById("phone2_"+commentId).value.match(/^\d{3}$/))||(!document.getElementById("phone3_"+commentId).value.match(/^\d{4}$/))){if(document.getElementById("phone1_"+commentId).value.length+document.getElementById("phone2_"+commentId).value.length+document.getElementById("phone3_"+commentId).value.length==0){alert("Please enter your phone number");}else{alert("Please enter a valid phone number");}}else{document.getElementById("call_status_"+commentId).style.display="block";document.getElementById("call_status_"+commentId).innerHTML='Status: <span style="color:red">Attempting to connect</span>';phone=document.getElementById("phone1_"+commentId).value+document.getElementById("phone2_"+commentId).value+document.getElementById("phone3_"+commentId).value;var callUserURL="/project/"+projectId+"/activity/call_member/"+commentId+"/"+phone;}}else{var callUserURL="/project/"+projectId+"/activity/get_call_status/"+commentId;}if(callUserURL){var callback={success:function(o){if(o.responseText){var callUser=null;var response=YAHOO.lang.JSON.parse(o.responseText);document.getElementById("call_status_"+commentId).style.display="block";document.getElementById("call_status_"+commentId).innerHTML='Status: <span style="color:red">'+response.text_status+"</span>";if(callStatus==null){callStatus=window.setInterval("MOZES.controller.Activity.call_member("+commentId+")",20000);}if(response.status=="2"||response.status=="3"||response.status=="99"){window.clearInterval(callStatus);callStatus=null;}}}};YAHOO.util.Connect.asyncRequest("GET",callUserURL,callback);}}},initEditLabels:function(){YAHOO.util.Event.onContentReady("color_picker_new",function(){if(labelColours){for(var i=0,len=labelColours.length;i<len;i++){colourMenus[labelColours[i]["id"]]=new YAHOO.widget.Menu("color-picker-menu-"+labelColours[i]["id"]);colourButtons[labelColours[i]["id"]]=new YAHOO.widget.Button({type:"split",id:"color-picker-button-"+labelColours[i]["id"],label:'<em id="current-color-'+labelColours[i]["id"]+'" style="background-color: #'+labelColours[i]["colour"]+';">&nbsp;</em>',value:labelColours[i]["colour"],menu:colourMenus[labelColours[i]["id"]],container:"color_picker_"+labelColours[i]["id"]});colourButtons[labelColours[i]["id"]].on("option",onColourButtonOption);}}colourMenus["new"]=new YAHOO.widget.Menu("color-picker-menu-new");colourButtons["new"]=new YAHOO.widget.Button({type:"split",id:"color-picker-button-new",label:'<em id="current-color-new" style="background-color: #b11a00;">&nbsp;</em>',value:"b11a00",menu:colourMenus["new"],container:"color_picker_new"});YAHOO.util.Dom.setStyle("current-color-new","backgroundColor","b11a00");colourButtons["new"].on("option",onColourButtonOption);});this.initNav();},deleteLabel:function(label_id){var handleYes=function(){YAHOO.util.Connect.asyncRequest("GET","/project/"+projectId+"/activity/delete_label/"+label_id);document.getElementById("label_actions_"+label_id).parentNode.removeChild(document.getElementById("label_actions_"+label_id));document.getElementById("label_filter_"+label_id).parentNode.removeChild(document.getElementById("label_filter_"+label_id).nextSibling);document.getElementById("label_filter_"+label_id).parentNode.removeChild(document.getElementById("label_filter_"+label_id));this.hide();};var handleNo=function(){this.hide();};var deleteConfirm=new YAHOO.widget.SimpleDialog("deleteConfirm",{width:"300px",fixedcenter:true,visible:false,draggable:false,close:true,text:"Are you sure you would like to<br />delete tag "+document.getElementById("label_text_"+label_id).innerHTML+"?",constraintoviewport:true,buttons:[{text:"Yes",handler:handleYes},{text:"No",handler:handleNo}]});deleteConfirm.render(document.body);deleteConfirm.show();},changeLabel:function(label_id){var new_label_input=document.getElementById("new_label_input_"+label_id);if(YAHOO.util.Dom.getStyle("new_label_text_"+label_id,"display")=="none"){YAHOO.util.Dom.setStyle("label_text_"+label_id,"display","none");YAHOO.util.Dom.setStyle("new_label_text_"+label_id,"display","inline");}else{if(new_label_input.value!=document.getElementById("label_text_"+label_id).innerHTML){YAHOO.util.Connect.asyncRequest("GET","/project/"+projectId+"/activity/change_label/"+label_id+"/"+escape(new_label_input.value));document.getElementById("label_text_"+label_id).innerHTML=new_label_input.value;document.getElementById("label_filter_"+label_id).title=new_label_input.value;var label_block=YAHOO.util.Dom.getElementsByClassName("label-block","span",document.getElementById("label_filter_"+label_id));if(label_block[0]){var label_block_parent=label_block[0].parentNode;var new_label_block=label_block[0].cloneNode(true);label_block_parent.innerHTML="";label_block_parent.appendChild(new_label_block);label_block_parent.innerHTML+=new_label_input.value;}YAHOO.util.Dom.setStyle("label_text_"+label_id,"display","inline");YAHOO.util.Dom.setStyle("new_label_text_"+label_id,"display","none");}}},initEditModeration:function(){var campaignsData=new YAHOO.util.DataSource(campaignsRaw);campaignsData.responseType=YAHOO.util.DataSource.TYPE_JSON;campaignsData.responseSchema={fields:[{key:"campaign_id"},{key:"name"},{key:"type"},{key:"mod_all"},{key:"mod_text"},{key:"mod_images"},{key:"mod_voice"}]};campaignsTable=new YAHOO.widget.DataTable("campaigns-list",campaignsColumns,campaignsData);campaignsTable.subscribe("initEvent",function(){var dup_head_table=YAHOO.util.Dom.getElementsByClassName("yui-dt-hd","div","campaigns-list");document.getElementById("campaigns-list").removeChild(dup_head_table[0]);var checks=document.getElementById("campaigns-list").getElementsByTagName("input");for(var i=0,len=checks.length;i<len;i++){if(checks[i].type=="checkbox"){YAHOO.util.Event.addListener(checks[i],"click",toggleModeration);}}});this.initNav();}};}();YAHOO.register("mozes.controller.activity",MOZES.controller.Activity,{version:"1.0.0d",build:"1"});
(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Selector=YAHOO.util.Selector,Connect=YAHOO.util.Connect,JSON=YAHOO.lang.JSON;MOZES.controller.BroadcastScheduled=function(options){this.options=options;};MOZES.controller.BroadcastScheduled.prototype={render:function(){Event.on("edit-sched-broadcast","click",this.editBroadcast,this,true);Event.on("recast-sched-broadcast","click",this.recastBroadcast,this,true);Event.on("delete-sched-broadcast","click",this.deleteBroadcast,this,true);},editBroadcast:function(e){var form=Dom.get("scheduled-form");var radio=Selector.query('#broadcasts-list input[name="client_id"]:checked').pop();var clientId=radio.value;if(clientId){location.href=this.options.edit_url+"?client_id="+escape(clientId);}},recastBroadcast:function(e){var form=Dom.get("scheduled-form");var radio=Selector.query('#broadcasts-list input[name="client_id"]:checked').pop();var clientId=radio.value;if(clientId){location.href=this.options.recast_url+"?client_id="+escape(clientId);}},deleteBroadcast:function(e){var oProjectId=Dom.get("project-id");var projectId=oProjectId.value;var cancelUrl="/api/broadcast/project/"+projectId+"/j_cancel_scheduled";var cancelCallback={success:this.successCallback,failure:this.failureCallback};Connect.setForm(Dom.get("scheduled-form"));var transaction=Connect.asyncRequest("POST",cancelUrl,cancelCallback);},successCallback:function(o){try{var r=JSON.parse(o.responseText);if(r.success){var nodes=Selector.query('#broadcasts-list input[value="'+r.client_id+'"]');var row=Dom.getAncestorByTagName(nodes.pop(),"tr");row.parentNode.removeChild(row);MOZES.util.Dom.setFlash("Scheduled broadcast deleted");}else{throw {name:"BroadcastError",message:r.error};}}catch(e){MOZES.util.Dom.setErrorFlash("Delete broadcast error: "+e.message);}},failureCallback:function(o){MOZES.util.Dom.setErrorFlash("An error occurred while deleting your scheduled broadcast");}};})();YAHOO.register("mozes.controller.broadcast-scheduled",MOZES.controller.BroadcastScheduled,{version:"1.0.0d",build:"1"});
MOZES.controller.Widget=function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,JSON=YAHOO.lang.JSON;var selectWidget=function(e){var widgetType=Dom.get("widget_type");var widgetImg=Dom.get("WidgetImage");var ivrPhoneId=Dom.get("ivr_phone_id");if(this.rel){this.blur();Dom.get("widget_type").value=this.rel;var WidgetTypes=Dom.get("widget_types").getElementsByTagName("a");YAHOO.util.Dom.removeClass(WidgetTypes,"active");YAHOO.util.Dom.addClass(this,"active");}flashvars.keywordID=Dom.get("keyword_id").value;if(ivrPhoneId&&ivrPhoneId.value>0){flashvars.ivrPhoneID=ivrPhoneId.value;}else{flashvars.ivrPhoneID="";}if(widgetType&&widgetType.value==kTypeCompactEditable){ivrPhoneId.value="0";flashvars.configurationID=kTypeCompactEditable;Dom.setStyle("default_view_checkbox","display","none");Dom.setStyle("widget_ivr_select","display","none");swf=new MOZES.util.Swf("http://"+imageServer+"/pub_widgets/WidgetLoader.swf","ObjectPreview",360,178,flashvars,params);swf.render();Dom.setStyle("ObjectPreview-container","width",360+"px");Dom.setStyle("ObjectPreview-container","height",178+"px");widgetImg.src="http://"+imageServer+"/pub_images/compact_comments-mozes.gif?"+(new Date()).getTime();widgetImg.width=360;widgetImg.height=22;}else{if(widgetType&&widgetType.value==kTypeMediumEditable){flashvars.configurationID=kTypeMediumEditable;Dom.setStyle("default_view_checkbox","display","none");Dom.setStyle("widget_ivr_select","display","block");swf=new MOZES.util.Swf("http://"+imageServer+"/pub_widgets/WidgetLoader.swf","ObjectPreview",300,398,flashvars,params);swf.render();Dom.setStyle("ObjectPreview-container","width",300+"px");Dom.setStyle("ObjectPreview-container","height",398+"px");widgetImg.src="http://"+imageServer+"/pub_images/medium_comments-mozes.gif?"+(new Date()).getTime();widgetImg.width=300;widgetImg.height=22;}else{if(widgetType&&widgetType.value==kTypeMapEditable){flashvars.configurationID=kTypeMapEditable;if(ivrPhoneId&&ivrPhoneId.value>0){var widgetHeight=500;}else{var widgetHeight=435;}Dom.setStyle("default_view_checkbox","display","block");Dom.setStyle("widget_ivr_select","display","block");if(Dom.get("default_to_message_view").checked){flashvars.messageView="true";}else{flashvars.messageView="";}swf=new MOZES.util.Swf("http://"+imageServer+"/pub_widgets/WidgetLoader.swf","ObjectPreview",400,widgetHeight,flashvars,params);swf.render();Dom.setStyle("ObjectPreview-container","width",400+"px");Dom.setStyle("ObjectPreview-container","height",widgetHeight+"px");widgetImg.src="http://"+imageServer+"/pub_images/comments_map-join.gif?"+(new Date()).getTime();widgetImg.width=400;widgetImg.height=30;}else{if(widgetType.value==kTypeCommentsAdSizedEditable){flashvars.configurationID=kTypeCommentsAdSizedEditable;Dom.setStyle("default_view_checkbox","display","none");Dom.setStyle("widget_ivr_select","display","block");swf=new MOZES.util.Swf("http://"+imageServer+"/pub_widgets/WidgetLoader.swf","ObjectPreview",300,398,flashvars,params);swf.render();Dom.setStyle("ObjectPreview-container","width",300+"px");Dom.setStyle("ObjectPreview-container","height",398+"px");widgetImg.src="http://"+imageServer+"/pub_images/medium_comments-mozes.gif?"+(new Date()).getTime();widgetImg.width=300;widgetImg.height=22;}}}}};var flashvars={},params={},swf;return{initCreate:function(){if(serviceDomain){flashvars.serviceDomain=serviceDomain;}params.allowScriptAccess="always";params.allowFullScreen="false";params.wmode="transparent";selectWidget();YAHOO.util.Event.onDOMReady(function(){var oWidgetTypes=Dom.get("widget_types");if(oWidgetTypes){var WidgetTypes=oWidgetTypes.getElementsByTagName("a");Event.on(WidgetTypes,"click",selectWidget);Event.on(Array("default_to_message_view","keyword_id","ivr_phone_id"),"change",selectWidget);}});},initCustomize:function(){if(Dom.get("avatar-image-upload")){var amWidget=new MOZES.widget.AttachMedia("avatar-image-upload",{fileInputName:"avatar_image_file",mediaInputName:"mediaid",mediaInputContainer:"widget-image-edit-avatar-form",postUrl:"/api/media/j_upload",postParams:{resize_image:0,media_type_id:9,preview_size:500},hideAttachLink:false,customUploadHandler:function(e){try{YAHOO.log(e);var r=JSON.parse(e.responseText);if(r.success){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","avatar_image_url",r.image_url);this.oMediaInputContainer.appendChild(this.oMediaInput);this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","avatar_media_id",r.media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);}else{this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.error));}}catch(e){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode("Unable to upload file. "+e.message));}Dom.removeClass(this.oRemove,"hidden");}});}if(Dom.get("background-image-upload")){var amWidget=new MOZES.widget.AttachMedia("background-image-upload",{fileInputName:"background_image_file",mediaInputName:"media_id",mediaInputContainer:"widget-image-edit-background-form",postUrl:"/api/media/j_upload",postParams:{resize_image:0,media_type_id:10,preview_size:500},hideAttachLink:false,customUploadHandler:function(e){try{YAHOO.log(e);var r=JSON.parse(e.responseText);if(r.success){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","background_image_url",r.image_url);this.oMediaInputContainer.appendChild(this.oMediaInput);this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","background_media_id",r.media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);}else{this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.error));}}catch(e){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode("Unable to upload file"));}Dom.removeClass(this.oRemove,"hidden");}});}}};}();YAHOO.register("mozes.controller.widget",MOZES.controller.Widget,{version:"1.0.0d",build:"1"});
MOZES.controller.CampaignKeyword=function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Connect=YAHOO.util.Connect,JSON=YAHOO.lang.JSON,Selector=YAHOO.util.Selector;var uploadDialog=null;var keywordValidator=null;var enableField=function(id,enabled){var obj=Dom.get(id);if(obj){obj.disabled=!enabled;}};return{initCreate:function(keyword_text,keyword_text_status,keyword_text_errors,campaign_name){this.keyword_text_id=keyword_text||"keyword-text";this.keyword_text_status_id=keyword_text_status||"keyword-status";this.campaign_name_id=campaign_name||"campaign-name";this.keyword_text_errors_id=keyword_text_errors||"keyword-text-errors";Event.on(this.keyword_text_id,"change",this.validateKeyword,this,true);Event.on(this.keyword_text_id,"keyup",this.validateKeyword,this,true);if(Dom.get(this.campaign_name_id)){Event.on(this.keyword_text_id,"keyup",function(){var d=new Date();Dom.get(this.campaign_name_id).value=Dom.get(this.keyword_text_id).value+" "+d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();},this,true);}},init:function(){Event.on(["keyword-build-mob-on","keyword-build-mob-off"],"click",this.buildMobHandler,this,true);this.buildMobHandler();Event.on(["upload-downloadable","upload-send-immediately"],"click",this.createDownloadableHandler);Event.on(["media-downloadable","media-send-immediately"],"click",this.editDownloadableHandler);if(Dom.get("broadcast-preview-message")){Event.on("broadcast-message","keyup",this.livePreviewHandler);Event.on("footer-select","change",this.livePreviewHandler);this.livePreviewHandler();}if(Dom.get("char-count")){var charcountCfg={container:"char-count",inputs:["broadcast-message","footer-select","keyword_response_std_rates_sig"],maxLength:MOZES.constants.MAX_SMS_LENGTH};var charcount=MOZES.widget.CharCount.init(charcountCfg);Event.on(["keyword-build-mob-on","keyword-build-mob-off"],"click",charcount.updateCount,charcount,true);Event.on("broadcast-message","keyup",charcount.updateCount,charcount,true);Event.on(["footer-select","broadcast-message"],"change",charcount.updateCount,charcount,true);charcount.updateCount();}if(Dom.get("winner-char-count")){var winner_charcountCfg={container:"winner-char-count",inputs:["header_select","win_msg","mozes_sig"],maxLength:MOZES.constants.MAX_SMS_LENGTH};var winner_charcount=MOZES.widget.CharCount.init(winner_charcountCfg);Event.on("win_msg","keyup",winner_charcount.updateCount,winner_charcount,true);Event.on(["header_select","win_msg"],"change",winner_charcount.updateCount,winner_charcount,true);winner_charcount.updateCount();}if(Dom.get("non-winner-char-count")){var nonwinner_charcountCfg={container:"non-winner-char-count",inputs:["header_select","lose_msg","mozes_sig"],maxLength:MOZES.constants.MAX_SMS_LENGTH};var nonwinner_charcount=MOZES.widget.CharCount.init(nonwinner_charcountCfg);Event.on("lose_msg","keyup",nonwinner_charcount.updateCount,nonwinner_charcount,true);Event.on(["header_select","lose_msg"],"change",nonwinner_charcount.updateCount,nonwinner_charcount,true);nonwinner_charcount.updateCount();}if(Dom.get("confirmation-char-count")){var confirmation_charcountCfg={container:"confirmation-char-count",inputs:["header_select","confirmation_msg","mozes_sig"],maxLength:MOZES.constants.MAX_SMS_LENGTH};var confirmation_charcount=MOZES.widget.CharCount.init(confirmation_charcountCfg);Event.on("confirmation_msg","keyup",confirmation_charcount.updateCount,confirmation_charcount,true);Event.on(["header_select",,"confirmation_msg"],"change",confirmation_charcount.updateCount,confirmation_charcount,true);confirmation_charcount.updateCount();}if(Dom.get("welcome-char-count")){var w_charcountCfg={container:"welcome-char-count",inputs:["welcome-footer","welcome-body-select","welcome-sig","keyword_response_std_rates_sig","keyword_welcome_msg","keyword_welcome_msg_idx"],maxLength:MOZES.constants.MAX_SMS_LENGTH};var w_charcount=MOZES.widget.CharCount.init(w_charcountCfg);Event.on("welcome-body-select","change",w_charcount.updateCount,w_charcount,true);w_charcount.updateCount();}if(Dom.get("media-message-char-count")){var mm_charcountCfg={container:"media-message-char-count",inputs:["media-message"],maxLength:MOZES.constants.MAX_STASH_SMS_LENGTH};var mm_charcount=MOZES.widget.CharCount.init(mm_charcountCfg);Event.on("media-message","keyup",mm_charcount.updateCount,mm_charcount,true);mm_charcount.updateCount();}this.initDialog();Event.on("media-list","click",this.editMediaCallback,this,true);Event.on("attach-link","click",this.attachLinkHandler,this,true);},initDialog:function(){uploadDialog=new YAHOO.widget.Dialog("upload-dlg",{postmethod:"async",width:"400px",fixedcenter:true,visible:false,draggable:false,close:false,constraintoviewport:true,modal:true,buttons:[{text:"Attach Media",handler:this.submitAttachDialog,isDefault:true},{text:"Cancel",handler:this.cancelAttachDialog}]});uploadDialog.callback={success:this.uploadSuccessCallback,failure:this.failureCallback,upload:this.uploadUploadCallback,cache:false};uploadDialog.render();},initAttachMedia:function(mediaIdName,mediaTypeIdName){mediaIdName=mediaIdName||"media.id";mediaTypeIdName=mediaTypeIdName||"media.type.id";var amWidget=new MOZES.widget.AttachMedia("upload-media",{fileInputName:"attachment",mediaIdName:mediaIdName,mediaTypeIdName:mediaTypeIdName,mediaInputContainer:"keyword-edit-form",postUrl:"/api/media/j_upload",postParams:{resize_image:0},hideAttachLink:false,customUploadHandler:this.customUploadHandler,customRemoveHandler:this.customRemoveHandler});},customUploadHandler:function(o){try{var r=JSON.parse(o.responseText);if(r.success){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));this.oMediaInput=MOZES.util.Dom.createInputElement("hidden",this.mediaIdName,r.media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);this.oMediaTypeInput=MOZES.util.Dom.createInputElement("hidden",this.mediaTypeIdName,r.media_type_id);this.oMediaInputContainer.appendChild(this.oMediaTypeInput);Dom.removeClass("upload-fields","hidden");var formFields=Selector.query("input, textarea","upload-fields");for(i in formFields){formFields[i].disabled=false;}}else{YAHOO.log(r.error);this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.error));}}catch(e){YAHOO.log(o.responseText);YAHOO.log(e.message);this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode("Unable to upload file: "+e.message));}Dom.removeClass(this.oRemove,"hidden");},customRemoveHandler:function(e){this.reset();Dom.removeClass(this.oAttachDiv,"hidden");Dom.addClass("upload-fields","hidden");var formFields=Selector.query("input, textarea","upload-fields");for(i in formFields){formFields[i].disabled=true;}},buildMobHandler:function(e){var buildMob=Dom.get("keyword-build-mob-on").checked;var fields=["footer-select","welcome-body-select","non_sub_msg","keyword_welcome_msg","keyword_welcome_msg_idx"];for(var i in fields){enableField(fields[i],buildMob);}if(buildMob){Dom.removeClass("response-footers","hidden");Dom.removeClass("welcome-fields","hidden");}else{Dom.addClass("response-footers","hidden");Dom.addClass("welcome-fields","hidden");}this.livePreviewHandler();},createDownloadableHandler:function(e){Dom.get("upload-message").disabled=Dom.get("upload-downloadable").checked;},editDownloadableHandler:function(e){Dom.get("media-message").disabled=Dom.get("media-downloadable").checked;},submitAttachDialog:function(e){try{YAHOO.log("Uploading file...","debug","campaign-keyword.js");MOZES.util.Dom.setFlash("In progress...");this.hide();this.submit();}catch(e){MOZES.util.Dom.setErrorFlash("Oops, an error occurred while attaching media to your keyword");YAHOO.log("Error uploading: "+e.message,"error");}},cancelAttachDialog:function(e){this.hide();},editSuccessCallback:function(o){try{var r=JSON.parse(o.responseText);if(!r.success){throw new Error(r.message);}Dom.get("attachment-form").action="/api/media/j_update_stash";Dom.get("media-resource-id").value=r.resource_id;Dom.get("media-title").value=r.title;Dom.get("media-subscribers").checked=r.mob_only;var oMessage=Dom.get("media-message");oMessage.value=r.sms_message;oMessage.disabled=!r.send_to_phone_immediately;Dom.get("media-downloadable").checked=!r.send_to_phone_immediately;Dom.get("media-send-immediately").checked=r.send_to_phone_immediately;var oPreviewLink=Dom.get("media-file-desc");oPreviewLink.href=r.media_url;Dom.removeClass(oPreviewLink,"hidden");var oFileInput=Dom.get("media-file");if(oFileInput){oFileInput.parentNode.removeChild(oFileInput);}uploadDialog.show();}catch(e){MOZES.util.Dom.setErrorFlash(e.message);YAHOO.log(e.message,"error");}},uploadSuccessCallback:function(o){try{var r=JSON.parse(o.responseText);if(!r.success){throw {message:r.message};}var oMediaList=Dom.get("media-list");var oList=Dom.getFirstChildBy(oMediaList,function(el){return el.id==="res"+r.resource_id;});if(!oList){throw {message:"Unknown error updating your file attachment"};}var oTitle=Dom.getFirstChildBy(oList,function(el){return Dom.hasClass(el,"title");});if(oTitle&&r.title){oTitle.innerHTML=MOZES.util.Dom.htmlentities(r.title);}MOZES.util.Dom.setFlash("Attachment ("+oTitle.innerHTML+") updated");}catch(e){MOZES.util.Dom.setErrorFlash(e.message);YAHOO.log(e.message,"error");YAHOO.log(o.responseText,"debug");}},uploadUploadCallback:function(o){YAHOO.log("Upload complete: "+o.responseText,"debug");try{var r=JSON.parse(o.responseText);if(!r.success){throw {name:"CampaignKeywordError",message:r.message,response:o.responseText};}var oMediaList=Dom.get("media-list");var oList=document.createElement("li");oList.id="res"+r.resource_id;oList.innerHTML='<input type="hidden" value="'+r.resource_id+'"> <span class="title">'+r.title+'</span> [ <span class="en-dis link">disable</span> | <span class="link">edit</span> | <span class="link">delete</span> ]';oMediaList.appendChild(oList);MOZES.util.Dom.setFlash("File attachment successful");}catch(e){MOZES.util.Dom.setErrorFlash(e.message);YAHOO.log(e.message,"error");YAHOO.log(o.responseText,"debug");}},failureCallback:function(o){MOZES.util.Dom.setErrorFlash("An unexpected error occurred");YAHOO.log(o.responseText,"error");},updateSuccessCallback:function(o){try{var r=JSON.parse(o.responseText);if(!r.success){throw new Error(r.message);}var oList=Dom.get("res"+r.resource_id);if(r.is_deleted&&r.is_deleted==1){oList.parentNode.removeChild(oList);MOZES.util.Dom.setFlash("Attachment deleted");return ;}var oEnabledLink=Dom.getFirstChildBy(oList,function(el){return Dom.hasClass(el,"en-dis");});var oTitle=Dom.getFirstChildBy(oList,function(el){return Dom.hasClass(el,"title");});if(r.is_enabled&&r.is_enabled==1){Dom.removeClass(oList,"disabled");oEnabledLink.innerHTML="disable";MOZES.util.Dom.setFlash("Attachment ("+oTitle.innerHTML+") enabled");}else{Dom.addClass(oList,"disabled");oEnabledLink.innerHTML="enable";MOZES.util.Dom.setFlash("Attachment ("+oTitle.innerHTML+") disabled");}}catch(e){MOZES.util.Dom.setErrorFlash(e.message);YAHOO.log(o.responseText);}},editMediaCallback:function(e){var target=Event.getTarget(e);var action=YAHOO.lang.trim(target.innerHTML).replace(/(\n|\r)+$/,"");var resourceId=0;while(target){if(target.nodeName.toUpperCase()==="LI"){resourceId=target.id.substring(3);break;}target=target.parentNode;}if(!action){return ;}if(action==="edit"){var getUrl="/api/media/j_get_stash";var params="resource_id="+resourceId;var editCallback={success:this.editSuccessCallback,failure:this.failureCallback,cache:false};var cObj=Connect.asyncRequest("GET",getUrl+"?"+params,editCallback);return ;}var params="resource_id="+resourceId;var postCallback={success:this.updateSuccessCallback,failure:this.failureCallback,cache:false};if(action==="delete"){var postUrl="/api/media/j_delete_stash";var deleteWarning=new YAHOO.widget.SimpleDialog("cancelWarning",{width:"500px",fixedcenter:true,visible:false,draggable:false,constraintoviewport:true,close:true,modal:true,icon:YAHOO.widget.SimpleDialog.ICON_WARN,text:"Are you sure you want to delete this media?",buttons:[{text:"Yes",handler:function(){var cObj=Connect.asyncRequest("POST",postUrl,postCallback,params);this.hide();}},{text:"No",handler:function(){this.hide();}}]});deleteWarning.render(document.body);deleteWarning.show();return ;}else{if(action==="enable"||action==="disable"){var postUrl="/api/media/j_toggle_stash";if(action==="enable"){params+="&enabled=1";}else{if(action==="disable"){params+="&enabled=0";}}}}var cObj=Connect.asyncRequest("POST",postUrl,postCallback,params);return ;},livePreviewHandler:function(e){var oMsg=Dom.get("broadcast-message");var oPreviewMsg=Dom.get("broadcast-preview-message");var oFooter=Dom.get("footer-select");var oSignature=Dom.get("keyword_response_std_rates_sig");var footerText="";var sigText="";if(!oPreviewMsg){return ;}if(oFooter&&!oFooter.disabled){footerText=oFooter.options[oFooter.selectedIndex].innerHTML.replace("&nbsp;"," ");}if(oSignature&&!oSignature.disabled){sigText=oSignature.value;}if(oMsg){oPreviewMsg.innerHTML=MOZES.util.Dom.htmlentities(oMsg.value)+footerText+sigText;}},validateKeyword:function(e){if(keywordValidator){keywordValidator.abort;keywordValidator=null;}Dom.setStyle(this.keyword_text_status_id,"display","none");Dom.setStyle(this.keyword_text_errors_id,"display","none");var self=this;if(Dom.get(this.keyword_text_id).value.match(/^.{5,20}$/)){var callback={success:function(o){self.validateKeywordSuccess(o);}};}keywordValidator=Connect.asyncRequest("GET","/api/keywords/j_keyword_available/"+Dom.get(this.keyword_text_id).value,callback);},validateKeywordSuccess:function(o){if(o.responseText){keywordValidator=null;var response=JSON.parse(o.responseText);if(response.result){Dom.get(this.keyword_text_status_id).innerHTML="OK";Dom.replaceClass(this.keyword_text_status_id,"label red","label green");}else{Dom.get(this.keyword_text_status_id).innerHTML="Unavailable";Dom.replaceClass(this.keyword_text_status_id,"label green","label red");}Dom.setStyle(this.keyword_text_status_id,"display","inline");}},attachLinkHandler:function(e){var oForm=Dom.get("attachment-form");oForm.reset();Dom.addClass("media-file-desc","hidden");if(!Dom.get("media-file")){var oFileInput=MOZES.util.Dom.createInputElement("file","media.file");oFileInput.id="media-file";Dom.insertAfter(oFileInput,"media-file-label");}Dom.get("media-send-immediately").click();uploadDialog.show();}};}();YAHOO.register("mozes.controller.campaignkeyword",MOZES.controller.CampaignKeyword,{version:"1.0.0d",build:"1"});
MOZES.controller.Account=(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,JSON=YAHOO.lang.JSON,Connect=YAHOO.util.Connect;var hideFaqpop=function(e){var postUrl="/api/user/hide_faqpop";Event.preventDefault(e);var handleSuccess=function(o){try{var r=JSON.parse(o.responseText);if(!r.success){throw {message:r.error};}var elements=Dom.getElementsByClassName("faqpop","div");for(el in elements){if(elements.hasOwnProperty(el)){Dom.setStyle(elements[el],"display","none");}}YAHOO.log("FAQ popup successfully hidden");}catch(e){YAHOO.log("Error on hiding FAQ popup ("+e.message+")");YAHOO.log(o.responseText);}},handleFailure=function(o){YAHOO.log("Error hiding FAQ popup");YAHOO.log(o.responseText);},callback={success:handleSuccess,failure:handleFailure};var request=Connect.asyncRequest("POST",postUrl,callback,"key=hide_faqpop&value=1");};Event.onContentReady("hide-faqpop",function(){Event.on("hide-faqpop","click",hideFaqpop);});})();YAHOO.register("mozes.controller.account",MOZES.controller.Account,{version:"1.0.0d",build:"1"});
MOZES.controller.CampaignVoice=function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,JSON=YAHOO.lang.JSON;var projectId=null;var renderGreetingAttach=function(){if(Dom.get("voice-greeting-attachment")){var config={fileInputName:"fan_message_file",mediaIdName:"mediaid",mediaTypeIdName:"media.type.id",mediaInputContainer:"greeting-upload-fields",postUrl:"/api/voice/project/"+projectId+"/j_upload",hideAttachLink:true,customUploadHandler:customUploadHandler};var widget=new MOZES.widget.AttachMedia("voice-greeting-attachment",config);}};var customUploadHandler=function(o){try{var r=JSON.parse(o.responseText);if(!r.success){throw {name:"CampaignVoiceError",message:r.error};}this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));if(Dom.get("mp3_greeting_media_id")){Dom.get("mp3_greeting_media_id").parentNode.removeChild(Dom.get("mp3_greeting_media_id"));}this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","nonmember_mp3_media_id",r.mp3_media_id);this.oMediaInput.id="mp3_greeting_media_id";this.oMediaInputContainer.appendChild(this.oMediaInput);if(Dom.get("wav_greeting_media_id")){Dom.get("wav_greeting_media_id").parentNode.removeChild(Dom.get("wav_greeting_media_id"));}this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","nonmember_wav_media_id",r.wav_media_id);this.oMediaInput.id="wav_greeting_media_id";this.oMediaInputContainer.appendChild(this.oMediaInput);Dom.addClass("voice-greeting-preview","hidden");Dom.removeClass(this.oRemove,"hidden");}catch(e){MOZES.util.Dom.setErrorFlash("Unable to upload file: "+e.message);YAHOO.log(o.responseText);this.removeAndShowFileInputHandler();if(document.getElementById("voice-greeting-new")){Dom.addClass("voice-greeting-attachment","hidden");}}};var renderSubscribersAttach=function(){if(Dom.get("voice-broadcast-attachment")){var config={fileInputName:"member_message_file",mediaIdName:"mediaid",mediaTypeIdName:"media.type.id",mediaInputContainer:"greeting-upload-fields",postUrl:"/api/voice/project/"+projectId+"/j_upload",hideAttachLink:true,customUploadHandler:customUploadSubscribersHandler};var widget=new MOZES.widget.AttachMedia("voice-broadcast-attachment",config);}};var customUploadSubscribersHandler=function(o){try{var r=JSON.parse(o.responseText);if(!r.success){throw {name:"CampaignVoiceError",message:r.error};}this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));if(Dom.get("mp3_broadcast_media_id")){Dom.get("mp3_broadcast_media_id").parentNode.removeChild(Dom.get("mp3_broadcast_media_id"));}this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","member_mp3_media_id",r.mp3_media_id);this.oMediaInput.id="mp3_broadcast_media_id";this.oMediaInputContainer.appendChild(this.oMediaInput);if(Dom.get("wav_broadcast_media_id")){Dom.get("wav_broadcast_media_id").parentNode.removeChild(Dom.get("wav_broadcast_media_id"));}this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","member_wav_media_id",r.wav_media_id);this.oMediaInput.id="wav_broadcast_media_id";this.oMediaInputContainer.appendChild(this.oMediaInput);Dom.addClass("voice-broadcast-preview","hidden");Dom.removeClass(this.oRemove,"hidden");}catch(e){MOZES.util.Dom.setErrorFlash("Unable to upload file: "+e.message);YAHOO.log(o.responseText);this.removeAndShowFileInputHandler();if(document.getElementById("voice-broadcast-new")){Dom.addClass("voice-broadcast-attachment","hidden");}}};var getAreaCodes=function(){var state=Dom.get("campaign-state-code");var areacode=Dom.get("campaign-area-code");var phone_note=Dom.get("phone-sel-note");var phone_select=Dom.get("phone-selection");areacode.disabled="disabled";areacode.className="disabled";if(areacode.length>1){for(var opt=areacode.length-1;opt>0;opt--){areacode.remove(opt);}}phone_select.innerHTML="";if(initialCampaignName){Dom.get("campaign-name").value=initialCampaignName;}if(state.value){$.post("/api/voice/project/"+projectId+"/get_avail_area_code_by_state_code",{state_code:state.value},function(data){if(!data.success){phone_note.innerHTML=data.error;}else{phone_note.innerHTML="Please select a state and area code.";for(var opt=0,len=data.result.length;opt<len;opt++){areacode.options[areacode.length]=new Option(data.result[opt],data.result[opt]);}areacode.disabled="";areacode.className="";}},"json");}else{phone_note.innerHTML="Please select a state and area code.";}};var getVoiceNumbers=function(){var areacode=Dom.get("campaign-area-code");var phone_note=Dom.get("phone-sel-note");var phone_select=Dom.get("phone-selection");phone_select.innerHTML="";if(initialCampaignName){Dom.get("campaign-name").value=initialCampaignName;}if(areacode.value){$.post("/api/voice/project/"+projectId+"/get_avail_phone_by_area_code",{area_code:areacode.value},function(data){if(!data.success){phone_note.innerHTML=data.error;}else{phone_note.innerHTML="Please select a number from the list.";var label,input,phone;for(var opt=0,len=data.result.length;opt<len;opt++){label=document.createElement("label");input=document.createElement("input");input.setAttribute("type","radio");input.setAttribute("name","ivr_phone_inventory_id");input.setAttribute("alt",data.result[opt].vanity_phone);input.setAttribute("value",data.result[opt].id);phone=document.createTextNode(data.result[opt].vanity_phone.substring(1,4)+"."+data.result[opt].vanity_phone.substring(4,7)+"."+data.result[opt].vanity_phone.substring(7,11));label.appendChild(input);label.appendChild(phone);phone_select.appendChild(label);Event.on(input,"click",setCampaignName);Event.on(input,"change",setCampaignName);}}},"json");}else{phone_note.innerHTML="Please select a state and area code.";}};var setCampaignName=function(){this.checked="checked";if(initialCampaignName){Dom.get("campaign-name").value="Voice Line "+this.alt.substring(1,4)+"."+this.alt.substring(4,7)+"."+this.alt.substring(7,11);}};var tabAdminPin=function(e,elms,index){elms[index].value=elms[index].value.replace(/[^\d.]/g,"");if(index-1>=0&&elms[index-1]&&e.keyCode===8&&elms[index].value.length===0){elms[index-1].focus();elms[index-1].value=elms[index-1].value;}else{if(elms[index+1].type=="text"&&e.keyCode!==8&&elms[index].value.length===elms[index].maxLength){elms[index+1].select();}}var adminpin=elms[0].value+elms[1].value+elms[2].value+elms[3].value;elms[4].value=adminpin;};var addAdminNumber=function(e){Event.preventDefault(e);var whitelist=Dom.get("whitelist-display");if(whitelist&&(whitelist.getElementsByTagName("input").length/4)<10){var para=document.createElement("p");var phone1=document.createElement("input");phone1.setAttribute("type","text");phone1.setAttribute("maxlength","3");phone1.setAttribute("size","3");var phone2=document.createElement("input");phone2.setAttribute("type","text");phone2.setAttribute("maxlength","3");phone2.setAttribute("size","3");var phone3=document.createElement("input");phone3.setAttribute("type","text");phone3.setAttribute("maxlength","4");phone3.setAttribute("size","4");var del=document.createElement("a");del.setAttribute("href","#");del.innerHTML="delete";var input=document.createElement("input");input.setAttribute("type","hidden");input.setAttribute("name","admin_phone_whitelist[]");input.setAttribute("value","");para.appendChild(document.createTextNode("("));para.appendChild(phone1);para.appendChild(document.createTextNode(") "));para.appendChild(phone2);para.appendChild(document.createTextNode(" - "));para.appendChild(phone3);para.appendChild(document.createTextNode(" "));para.appendChild(del);para.appendChild(input);whitelist.appendChild(para);var tabElements=Array(phone1,phone2,phone3,input);Event.on(phone1,"keyup",function(e){tabAdminNumber(e,tabElements,0);});Event.on(phone2,"keyup",function(e){tabAdminNumber(e,tabElements,1);});Event.on(phone3,"keyup",function(e){tabAdminNumber(e,tabElements,2);});Event.on(del,"click",deleteAdminNumber);phone1.focus();}};var tabAdminNumber=function(e,elms,index){elms[index].value=elms[index].value.replace(/[^\d.]/g,"");if(elms[index-1]&&e.keyCode===8&&elms[index].value.length===0){elms[index-1].focus();elms[index-1].value=elms[index-1].value;}else{if(elms[index+1].type=="text"&&e.keyCode!==8&&elms[index].value.length===elms[index].maxLength){elms[index+1].select();}}var phone=elms[0].value+elms[1].value+elms[2].value;if(phone.length==10){elms[3].value="1"+phone;}else{elms[3].value="";}};var deleteAdminNumber=function(e){Event.preventDefault(e);this.parentNode.parentNode.removeChild(this.parentNode);};var saveVoiceHandler=function(e){if(!Dom.hasClass("number-entry-self","hidden")){var numberSelect=Dom.get("phone-selection").getElementsByTagName("input");if(numberSelect){var checked=false;var len=numberSelect.length;if(!len){len=1;}for(var radio=0;radio<len;radio++){if(numberSelect[radio]&&numberSelect[radio].checked){checked=true;break;}}if(!checked){MOZES.util.Dom.setErrorFlash("Please select a phone number to create a voice campaign.");YAHOO.util.Event.stopEvent(e);return ;}}else{MOZES.util.Dom.setErrorFlash("Please select a phone number to create a voice campaign.");YAHOO.util.Event.stopEvent(e);return ;}}else{if(!Dom.get("custom-area-code").value||!Dom.get("custom-comment").value){MOZES.util.Dom.setErrorFlash("Please enter an area code and comment to request a voice campaign.");YAHOO.util.Event.stopEvent(e);return ;}}if(!Dom.get("campaign-name").value){MOZES.util.Dom.setErrorFlash("You must enter a name for this new voice campaign.");YAHOO.util.Event.stopEvent(e);return ;}};var initialCampaignName;var voicePhoneSelection=function(){Event.on("campaign-state-code","change",getAreaCodes);Event.on("campaign-area-code","change",getVoiceNumbers);Event.on("custom-area-code","change",function(){this.value=this.value.replace(/[^\d.]/g,"");});initialCampaignName=Dom.get("campaign-name").value;Event.on("campaign-name","change",function(){initialCampaignName="";});Event.on(Array("custom-toggle-show","custom-toggle-hide"),"click",function(e){Event.preventDefault(e);if(Dom.hasClass("number-entry-self","hidden")){Dom.get("voice-campaign-form").action="/project/"+projectId+"/create/campaign/voice/do_create";Dom.get("voice-campaign-form")["upload.custom"][0].checked="checked";Dom.addClass(Array("number-entry-custom","greeting-upload-options"),"hidden");Dom.removeClass(Array("number-entry-self","greeting-upload-copy","greeting-upload-fields","phone-admin-options"),"hidden");Dom.get("voice_submit").innerHTML="Create Voice Line";}else{Dom.get("voice-campaign-form").action="/project/"+projectId+"/create/campaign/voice/do_custom_request_create";if(initialCampaignName){Dom.get("campaign-name").value=initialCampaignName;}Dom.addClass(Array("number-entry-self","greeting-upload-copy","phone-admin-options"),"hidden");Dom.removeClass(Array("number-entry-custom","greeting-upload-options"),"hidden");Dom.get("voice_submit").innerHTML="Send Request";}});if(Dom.get("voice-campaign-form")){Event.on(Dom.get("voice-campaign-form")["upload.custom"],"click",function(){if(this.value=="now"){Dom.removeClass("greeting-upload-fields","hidden");}else{Dom.addClass("greeting-upload-fields","hidden");}});}Event.on(Array("voice-broadcast-new","voice-greeting-new"),"click",function(e){Event.preventDefault(e);Dom.removeClass(this.rel,"hidden");});Event.on("phone-admin-toggle","click",function(e){Event.preventDefault(e);if(Dom.hasClass("phone-admin-display","hidden")){this.innerHTML="hide options &raquo;";Dom.removeClass("phone-admin-display","hidden");}else{this.innerHTML="show options &raquo;";Dom.addClass("phone-admin-display","hidden");}});var pinElements=Dom.get("admin-pin").getElementsByTagName("input");if(pinElements.length==5){Event.on(pinElements[0],"keyup",function(e){tabAdminPin(e,pinElements,0);});Event.on(pinElements[1],"keyup",function(e){tabAdminPin(e,pinElements,1);});Event.on(pinElements[2],"keyup",function(e){tabAdminPin(e,pinElements,2);});Event.on(pinElements[3],"keyup",function(e){tabAdminPin(e,pinElements,3);});}Event.on("whitelist-add","click",addAdminNumber);var whitelist=Dom.get("whitelist-display").getElementsByTagName("input");var tabElements=Array();for(var num=0,len=whitelist.length;num<len;num=num+4){if(whitelist[num+3]){tabElements=Array(whitelist[num],whitelist[num+1],whitelist[num+2],whitelist[num+3]);Event.on(whitelist[num],"keyup",function(e){tabAdminNumber(e,tabElements,0);});Event.on(whitelist[num+1],"keyup",function(e){tabAdminNumber(e,tabElements,1);});Event.on(whitelist[num+2],"keyup",function(e){tabAdminNumber(e,tabElements,2);});Event.on(whitelist[num].parentNode.getElementsByTagName("a")[0],"click",deleteAdminNumber);}}};return{init:function(){projectId=Dom.get("project-id").value;Event.on("voice-campaign-form","submit",saveVoiceHandler);renderGreetingAttach();renderSubscribersAttach();voicePhoneSelection();}};}();YAHOO.register("mozes.controller.campaignvoice",MOZES.controller.CampaignVoice,{version:"1.0.0d",build:"1"});
MOZES.controller.BroadcastVoice=function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,JSON=YAHOO.lang.JSON,Selector=YAHOO.util.Selector;var changesMade=false;var projectId=null;var attachWidget=null;var vmAttachWidget=null;var renderAttachment=function(){var config={fileInputName:"attachment",mediaIdName:"voice.media.id",mediaIdTypeName:"voice.media.type.id",mediaInputContainer:"broadcast-form",postUrl:"/api/voice/project/"+projectId+"/j_upload",hideAttachLink:true,customUploadHandler:customUploadHandler,customRemoveHandler:customRemoveHandler};attachWidget=new MOZES.widget.AttachMedia("broadcast-voice-attachment",config);};var customRemoveHandler=function(e){this.reset();this.renderFileInput();$(".buttonrow").hide();};var customUploadHandler=function(e){try{YAHOO.log(e);var r=JSON.parse(e.responseText);if(r.success){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","mp3_voice_media_id",r.mp3_media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","wav_voice_media_id",r.wav_media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);$(".buttonrow").show();}else{this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.error));}}catch(e){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode("Unable to upload file."));}Dom.removeClass(this.oRemove,"hidden");};var renderVmailAttachment=function(){var config={fileInputName:"attachment",mediaIdName:"voicemail.media.id",mediaIdTypeName:"voicemail.media.type.id",mediaInputContainer:"broadcast-form",postUrl:"/api/voice/project/"+projectId+"/j_upload",hideAttachLink:true,customUploadHandler:vmCustomUploadHandler};vmAttachWidget=new MOZES.widget.AttachMedia("broadcast-voicemail-attachment",config);};var vmCustomUploadHandler=function(e){try{YAHOO.log(e);var r=JSON.parse(e.responseText);if(r.success){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","mp3_voicemail_media_id",r.mp3_media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);this.oMediaInput=MOZES.util.Dom.createInputElement("hidden","wav_voicemail_media_id",r.wav_media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);}else{this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.error));}}catch(e){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode("Unable to upload file."));}Dom.removeClass(this.oRemove,"hidden");};var showVmailAttachment=function(e){Dom.removeClass("broadcast-voicemail-attachment","hidden");};var hideVmailAttachment=function(e){Dom.addClass("broadcast-voicemail-attachment","hidden");};var markChanged=function(e){changesMade=true;};var warnLoseData=function(e){if(changesMade){e.returnValue="If you leave this page you will lose any unsubmitted data.";}};var configDialog={width:"300px",fixedcenter:true,close:false,draggable:false,zindex:4,modal:true,visible:false,constraintoviewport:false,buttons:[{text:"Confirm",handler:function(){voiceScheduleSubmit();}},{text:"Cancel",handler:function(){this.hide();}}]};var voiceScheduleDialog=new YAHOO.widget.SimpleDialog("voice-schedule-dlg",configDialog);var voiceScheduleSubmit=function(){voiceScheduleDialog.hide();var wait=MOZES.util.Dom.getChugger("Requesting, please wait...");wait.show();var callback={success:function(o){try{var r=Lang.JSON.parse(o.responseText);if(o.status!=200){throw {message:o.status+" Error"+o.statusText+"."};}if(!r.success){if(r.error){throw {message:r.error};}else{throw {message:"Failed to request broadcast."};}}var successMsg="Broadcast requested successfully";MOZES.util.Dom.setFlash(successMsg);changesMade=false;}catch(e){MOZES.util.Dom.setErrorFlash(e.message);YAHOO.log(e.message);}wait.hide();},failure:function(o){MOZES.util.Dom.setErrorFlash("Unexpected error. Please contact support@mozes-inc.com to verify if your broadcast request was sent successfully.");wait.hide();},cache:false};var oForm=Dom.get("broadcast-form");Connect.setForm(oForm);var urlSend="/api/broadcast/project/"+projectId+"/j_voice_request";var transaction=Connect.asyncRequest("GET",urlSend,callback,null);};var scheduleVoicePopup=function(e){var body='<div style="text-align: left;">'+"<p>Send to: "+Dom.get("subscriber-count").value+" subscribers</p>"+"<p>Scheduled for: "+Dom.get("month").value+"/"+Dom.get("day").value+"/"+Dom.get("year").value+" "+Dom.get("broadcast-time").value+"</p>"+"<p>A Mozes team member will contact you to confirm or if there are any issues.</p>"+"</div>";voiceScheduleDialog.setBody(body);voiceScheduleDialog.show();};return{init:function(){projectId=Dom.get("project-id").value;renderAttachment();renderVmailAttachment();Event.on("radio-vmail-same","click",hideVmailAttachment);Event.on("radio-vmail-diff","click",showVmailAttachment);var formInputs=Selector.query(".bd input, .bd textarea, .bd select");Event.on(formInputs,"change",markChanged);Event.on(window,"beforeunload",warnLoseData);var voiceScheduleButton=new YAHOO.widget.Button("voice-schedule-button");Event.on("voice-schedule-button","click",scheduleVoicePopup);voiceScheduleDialog.render(document.body);}};}();YAHOO.register("mozes.controller.broadcast-voice",MOZES.controller.BroadcastVoice,{version:"1.0.0d",build:"1"});
MOZES.namespace("reports");MOZES.reports.growthRate=function(elCell,oRecord,oColumn,oData){YAHOO.util.Dom.removeClass(elCell.parentNode,"mz-up");YAHOO.util.Dom.removeClass(elCell.parentNode,"mz-no-change");YAHOO.util.Dom.removeClass(elCell.parentNode,"mz-down");if(!YAHOO.lang.isNumber(oData)){oData=0;}if(oData>0){YAHOO.util.Dom.addClass(elCell.parentNode,"mz-up");}else{if(oData===0){YAHOO.util.Dom.addClass(elCell.parentNode,"mz-no-change");}else{YAHOO.util.Dom.addClass(elCell.parentNode,"mz-down");}}elCell.innerHTML=(Math.round(oData*10)/10)+"%";};MOZES.controller.Reports=function(){};MOZES.controller.Reports.prototype.renderProjectsList=function(data,default_from_date,default_to_date){var self=this;YAHOO.util.Event.onDOMReady(function(){MOZES.reports.projectList=new MOZES.widget.DataGrid({options:{height:"270px"},container:"reports-projects-list",pagination:{container:"reports-projects-pag",alwaysVisible:false,rowsPerPage:10,rowsPerPageOptions:[{value:10,text:"10"},{value:20,text:"20"},{value:50,text:"50"}]},resultsList:"items",metaFields:{totalRecords:"totalRecords",paginationRecordOffset:"paginationRecordOffset",to_day_js:"to_day_js",from_day_js:"from_day_js"},search:{fields:["name"],containers:{input:"reports-search-input"}},data:data,fields:[{key:"project_id"},{key:"name",column:{label:"Name",sortable:true}},{key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:true}},{key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:true}},{key:"comments",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Comments",sortable:true}},{key:"broadcasts",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Broadcasts Sent",sortable:true}},{key:"subscriber_growth_rate",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriber Growth Rate",sortable:true,formatter:MOZES.reports.growthRate}},{key:"status",column:{label:"Status",sortable:true}}],onRowClick:function(oArgs){var oRecord=this.getRecord(oArgs.target);var projectId=oRecord.getData("project_id");window.location="/reporting/project/"+projectId;},onRowsPerPageChange:function(oArgs){YAHOO.util.Connect.asyncRequest("GET","/user_settings/set_project_list_count/"+this.getRowsPerPage());}});self.renderProjectListCalendars(default_from_date,default_to_date);MOZES.reports.projectList.dataTable.subscribe("dataReturnEvent",function(e){YAHOO.util.Dom.get("project-summary-from-date").innerHTML=e.response.meta.from_day_js;YAHOO.util.Dom.get("project-summary-to-date").innerHTML=e.response.meta.to_day_js;});});};MOZES.controller.Reports.prototype.renderProjectListCalendars=function(default_from_date,default_to_date){YAHOO.log("cal "+default_from_date+" - "+default_to_date);var calFrom=new MOZES.widget.DatePicker({container:"project-summary-from-cal",selected:default_from_date,maxdate:default_to_date});var calTo=new MOZES.widget.DatePicker({container:"project-summary-to-cal",selected:default_to_date,mindate:default_from_date});function selectFromDate(){var dt=calFrom.cal.getSelectedDates()[0];var date=(dt.getMonth()+1)+"/"+dt.getDate()+"/"+dt.getFullYear();YAHOO.util.Dom.get("project-summary-from-date").innerHTML=date;calTo.cal.cfg.setProperty("mindate",date);MOZES.reports.projectList.sendRequest("from="+escape(date)+"&to="+escape(YAHOO.util.Dom.get("project-summary-to-date").innerHTML));}YAHOO.util.Event.addListener("project-summary-from-date","click",calFrom.show);calFrom.selectEvent.subscribe(selectFromDate);function selectToDate(){var dt=calTo.cal.getSelectedDates()[0];var date=(dt.getMonth()+1)+"/"+dt.getDate()+"/"+dt.getFullYear();YAHOO.util.Dom.get("project-summary-to-date").innerHTML=date;calFrom.cal.cfg.setProperty("maxdate",date);MOZES.reports.projectList.sendRequest("from="+escape(YAHOO.util.Dom.get("project-summary-from-date").innerHTML)+"&to="+escape(date));}YAHOO.util.Event.addListener("project-summary-to-date","click",calTo.show);calTo.selectEvent.subscribe(selectToDate);};MOZES.controller.Reports.prototype.renderCampaignsList=function(data){YAHOO.util.Event.onDOMReady(function(){if(document.getElementById("reports-campaigns-list")){var grid=new MOZES.widget.DataGrid({options:{height:"270px"},container:"reports-campaigns-list",pagination:{container:"reports-campaigns-pag",alwaysVisible:false,rowsPerPage:10,rowsPerPageOptions:[{value:10,text:"10"},{value:20,text:"20"},{value:50,text:"50"}]},search:{fields:["name"],containers:{input:"campaigns-search-input",results:"campaigns-search-container"}},data:data,fields:[{key:"project_id"},{key:"campaign_id"},{key:"name",column:{label:"Name",sortable:true}},{key:"mobile_connections",column:{label:"Mobile Connections",sortable:true}},{key:"subscriptions",column:{label:"Subscriptions",sortable:true}}],onRowClick:function(oArgs){var oRecord=this.getRecord(oArgs.target);var projectId=oRecord.getData("project_id");var campaignId=oRecord.getData("campaign_id");window.location="/reporting/project/"+projectId+"/campaign/"+campaignId;}});}});};MOZES.controller.Reports.prototype.renderProjectSummaryStats=function(data){YAHOO.util.Event.onDOMReady(function(){MOZES.reports.projectSummaryStatsGrid=new MOZES.widget.DataGrid({options:{},container:"project-summary-stats",data:data,fields:[{key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}},{key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}},{key:"broadcasts",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Broadcasts Sent",sortable:false,formatter:null}},{key:"comments",parser:YAHOO.util.DataSource.parseNumber,column:{label:"All Comments",sortable:false,formatter:null}},{key:"subscriber_growth_rate",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriber Growth Rate",sortable:false,formatter:MOZES.reports.growthRate}},{key:"from_day_js"},{key:"to_day_js"}]});});};MOZES.controller.Reports.prototype.renderCampaignSummaryStats=function(data,display_type){YAHOO.util.Event.onDOMReady(function(){var fields=[{key:"project_id"},{key:"campaign_id"},{key:"from_day_js"},{key:"to_day_js"}];switch(display_type){case 1:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"broadcasts",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Broadcasts Sent",sortable:false,formatter:null}});fields.push({key:"comments",parser:YAHOO.util.DataSource.parseNumber,column:{label:"All Comments",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});fields.push({key:"downloads",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Offers Downloaded",sortable:false,formatter:null}});break;case 13:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"comments",parser:YAHOO.util.DataSource.parseNumber,column:{label:"All Comments",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});break;case 14:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"comments",parser:YAHOO.util.DataSource.parseNumber,column:{label:"All Comments",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});break;case 6:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"comments",parser:YAHOO.util.DataSource.parseNumber,column:{label:"All Comments",sortable:false,formatter:null}});fields.push({key:"unique_callers",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Callers",sortable:false,formatter:null}});fields.push({key:"voice_minutes",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Voice Minutes",sortable:false,formatter:null}});break;case 3:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});break;case 50:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});break;case 18:case 19:case 20:case 21:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});break;case 40:case 41:case 42:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});break;case 60:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});break;case 80:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});fields.push({key:"downloads",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Offers Downloaded",sortable:false,formatter:null}});break;default:fields.push({key:"subscriptions",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Subscriptions",sortable:false,formatter:null}});fields.push({key:"mobile_connections",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Mobile Activity",sortable:false,formatter:null}});fields.push({key:"unique_texters",parser:YAHOO.util.DataSource.parseNumber,column:{label:"Unique Texters",sortable:false,formatter:null}});break;}MOZES.reports.campaignSummaryStatsGrid=new MOZES.widget.DataGrid({options:{},container:"campaign-summary-stats",data:data,fields:fields});});};YAHOO.register("mozes.controller.reports",MOZES.controller.Reports,{version:"1.0.0d",build:"1"});
MOZES.controller.Card=function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,JSON=YAHOO.lang.JSON;var updateMobWord=function(e){var oPreviewMobWord=Dom.get("preview-mob-word");var oMobWordSelect=Dom.get("mob-word-select");if(oPreviewMobWord){oPreviewMobWord.innerHTML=oMobWordSelect.options[oMobWordSelect.selectedIndex].innerHTML;}};return{render:function(mediaInputContainer,avatarImageUrlField,avatarMediaIdField){Event.on("profile_city","keyup",this.livePreviewHandler);Event.on("profile_state","change",this.livePreviewHandler);if(Dom.get("card-avatar-upload")){var amWidget=new MOZES.widget.AttachMedia("card-avatar-upload",{fileInputName:"avatar_image_file",mediaInputName:"mediaid",mediaInputContainer:mediaInputContainer||"profile_edit_form",postUrl:"/api/media/j_upload",postParams:{media_type_id:1,preview_size:100},hideAttachLink:true,customUploadHandler:function(o){try{var r=JSON.parse(o.responseText);if(r.success){this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.file_name+" ("+r.file_type+") "+r.file_size));this.oMediaInput=MOZES.util.Dom.createInputElement("hidden",avatarImageUrlField||"avatar_image_url",r.image_url);this.oMediaInputContainer.appendChild(this.oMediaInput);this.oMediaInput=MOZES.util.Dom.createInputElement("hidden",avatarMediaIdField||"avatar_media_id",r.media_id);this.oMediaInputContainer.appendChild(this.oMediaInput);var oImage=Dom.get("preview_image");if(oImage){oImage.setAttribute("src",r.image_url);}}else{this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode(r.error));}}catch(e){YAHOO.log(o.responseText);YAHOO.log(e.message);this.oPlaceholder=MOZES.util.Dom.clearInnerHTML(this.oPlaceholder);this.oPlaceholder.appendChild(document.createTextNode("Unable to upload file. "+e.message));}Dom.removeClass(this.oRemove,"hidden");}});}Event.on("mob-word-select","change",updateMobWord);},livePreviewHandler:function(e){var oPreviewLoc=Dom.get("preview_location");var oCity=Dom.get("profile_city");var oState=Dom.get("profile_state");var locCity=oCity.value;var locState=(oState&&oState.options[oState.selectedIndex].innerHTML)?(", "+oState.options[oState.selectedIndex].innerHTML):"";oPreviewLoc.innerHTML=MOZES.util.Dom.htmlentities(locCity+locState);}};}();YAHOO.register("mozes.controller.card",MOZES.controller.Card,{version:"1.0.0d",build:"1"});
var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Lang=YAHOO.lang,Connect=YAHOO.util.Connect,Selector=YAHOO.util.Selector;var changesMade=false;MOZES.controller.Broadcast=function(){this.init();};MOZES.controller.Broadcast.prototype={init:function(){var self=this;this.form=Dom.get("broadcast-form");if(Dom.get("broadcast-time")){var timePicker=new MOZES.widget.TimePicker("broadcast-time","scheduled.");}var projectId=Dom.get("project-id").value;this.projectId=projectId;this.urlPreview="/api/broadcast/project/"+this.projectId+"/j_preview_broadcast";this.urlSend="/api/broadcast/project/"+this.projectId+"/j_send_broadcast";var oScheduledContainer=Dom.get("broadcast-scheduled-container"),oScheduled=Dom.get("broadcast-scheduled");var toggleScheduledHandler=function(e){var target=Event.getTarget(e);if(target.checked){oScheduledContainer.appendChild(oScheduled);Dom.removeClass(oScheduledContainer,"hidden");}else{oScheduled=oScheduledContainer.removeChild(oScheduled);Dom.addClass(oScheduledContainer,"hidden");}};this.previewButton=new YAHOO.widget.Button("preview-button");this.cancelButton=new YAHOO.widget.Button("cancel-button");if(!Dom.get("broadcast-scheduled-checkbox")||!Dom.get("broadcast-scheduled-checkbox").checked){oScheduled=oScheduledContainer.removeChild(oScheduled);Dom.addClass(oScheduledContainer,"hidden");}Event.on("preview-button","click",function(){self.previewDialogHandler();});Event.on("broadcast-scheduled-checkbox","click",toggleScheduledHandler);var nodes=Selector.query(".criteria .hd");var expandHandler=function(e){var target=Event.getTarget(e);var parent=Dom.getAncestorBy(target,function(el){return Dom.hasClass(el,"criteria");});if(parent){MOZES.util.Dom.toggleClass(parent,"collapsed");MOZES.util.Dom.toggleClass(parent,"expand");var body=Dom.getFirstChildBy(parent,function(el){return Dom.hasClass(el,"bd");});MOZES.util.Dom.toggleClass(body,"hidden");}};Event.addListener(nodes,"click",expandHandler);var changeRandomCriteriaHandler=function(e){var radio=Event.getTarget(e);var target=Dom.get("narrowcast-random-input");target.disabled=!radio.checked;};Event.addListener("narrowcast-checkbox-random","change",changeRandomCriteriaHandler);var messageContainer=Dom.get("broadcast-text"),sendToContainer=Dom.get("send-to-container"),oBroadcastOptions=Dom.get("broadcast-options");this.narrowcast=Dom.get("narrowcast");this.testOwnPhone=Dom.get("testownphone_container");this.individuals=Dom.get("individuals");var addChild=function(el){if(!Dom.inDocument(el)){sendToContainer.appendChild(el);}};var removeChild=function(el){if(Dom.inDocument(el)){sendToContainer.removeChild(el);}};this.selectAll=function(){removeChild(this.narrowcast);removeChild(this.individuals);removeChild(this.testOwnPhone);Dom.get("send-to-all").checked=true;Dom.get("broadcast-private").checked=false;};this.selectNarrowcast=function(){removeChild(this.individuals);removeChild(this.testOwnPhone);addChild(this.narrowcast);Dom.get("send-to-narrowcast").checked=true;};this.selectIndividuals=function(){removeChild(this.narrowcast);removeChild(this.testOwnPhone);addChild(this.individuals);Dom.get("send-to-individuals").checked=true;Dom.get("broadcast-private").checked=true;};this.selectTestOwnPhone=function(){removeChild(this.narrowcast);removeChild(this.individuals);addChild(this.testOwnPhone);this.testOwnPhone.style.display="block";Dom.get("area_codes").disabled=false;Dom.get("send-to-test-own-phone").checked=true;Dom.get("broadcast-private").checked=true;};var params={narrowcast:this.narrowcast,individuals:this.individuals,testOwnPhone:this.testOwnPhone};Event.on("send-to-all","click",this.selectAll,params,true);Event.on("send-to-narrowcast","click",this.selectNarrowcast,params,true);Event.on("send-to-individuals","click",this.selectIndividuals,params,true);Event.on("send-to-test-own-phone","click",this.selectTestOwnPhone,params,true);var selectAllHandler=function(){var nodes=Selector.query('#individuals .userbox input[type="checkbox"]');for(i in nodes){Dom.get(nodes[i]).checked=true;}};var selectNoneHandler=function(){var nodes=Selector.query('#individuals .userbox input[type="checkbox"]');for(i in nodes){Dom.get(nodes[i]).checked=false;}};Event.on("individuals-select-all","click",selectAllHandler);Event.on("individuals-select-none","click",selectNoneHandler);if(Dom.get("send-to-individuals")){Dom.get("send-to-individuals").click();}else{Dom.get("send-to-all").click();}if(this.narrowcast){Dom.removeClass(this.narrowcast,"hidden");}if(this.individuals){Dom.removeClass(this.individuals,"hidden");}if(this.testOwnPhone){Dom.removeClass(this.testOwnPhone,"hidden");}},expandOptions:function(target){var parent=Dom.getAncestorBy(target,function(el){return Dom.hasClass(el,"criteria");});if(parent){Dom.removeClass(parent,"collapsed");Dom.addClass(parent,"expand");var body=Dom.getFirstChildBy(parent,function(el){return Dom.hasClass(el,"bd");});Dom.removeClass(body,"hidden");}},previewDialogHandler:function(e){var that=this;var btn=this.previewButton;var oPreviewDialog=that.previewDialog;btn.set("disabled",true);btn.set("label","Working...");var timer=null;var stopTimer=false;var project_id=$("#project-id").val();var wait=MOZES.util.Dom.getChugger("Working...");wait.show();$("#preview_dialog").dialog({bgiframe:true,modal:true,autoOpen:false,resizable:false,position:"top",width:580,buttons:{"Cancel":function(){$(this).dialog("close");},"Send":function(){that.sendDialogHandler();$(this).dialog("close");}}});$("#preview_dialog").bind("dialogclose",function(event,ui){stopTimer=true;clearTimeout(timer);$(this).dialog("destroy");btn.set("disabled",false);btn.set("label","Preview");});var updateFiltersTable=function(data){if(data.base_list.user_count){$("#preview_dialog table.filters tbody tr."+data.base_list.filter_id+" td:first-child").html("<img src='/img/green-check.png' />");$("#preview_dialog table.filters tbody tr."+data.base_list.filter_id+" td:last-child").text(data.base_list.user_count);}var idx=null;for(idx in data.filter_results){var filter_id=data.filter_results[idx].filter_id;var filtered_user_count=data.filter_results[idx].filtered_user_count;if(filtered_user_count!==""){$("#preview_dialog table.filters tbody tr."+filter_id+" td:first-child").html("<img src='/img/green-check.png' />");}$("#preview_dialog table.filters tbody tr."+filter_id+" td:last-child").text(filtered_user_count);if(filtered_user_count>0){$("#preview_dialog table.filters tbody tr."+filter_id+" td:last-child").css("color","red").text("-"+filtered_user_count);}}if(data.remaining&&data.status_id==2){$("#preview_dialog table.filters tfoot td:last-child").text(data.remaining+" recipients");}};var checkPreviewStatus=function(preview_id){$.getJSON("/api/broadcast/project/"+project_id+"/get_preview_status",{preview_id:preview_id},function(data){switch(data.status_id){case"0":case"1":updateFiltersTable(data);if(!stopTimer){timer=setTimeout(function(){checkPreviewStatus(preview_id);},1500);}break;case"2":updateFiltersTable(data);$("#preview_dialog .please_wait").hide();if(data.remaining>0){$(".ui-dialog-buttonpane button:contains('Send')").addClass("ui-state-default").removeClass("ui-state-disabled").attr("disabled",false);}else{$("#preview_dialog .status").fadeIn().children("span").text("Your broadcast has no recipients.");$(".ui-dialog-buttonpane button:contains('Send')").hide();$(".ui-dialog-buttonpane button:contains('Cancel')").text("Close");}$(".ui-dialog-buttonpane button:contains('Schedule')").addClass("ui-state-default").removeClass("ui-state-disabled").attr("disabled",false);break;case"3":$("#preview_dialog .status").fadeIn().children("span").text("An error occurred previewing your broadcast.");$(".ui-dialog-buttonpane button:contains('Send')").hide();$(".ui-dialog-buttonpane button:contains('Cancel')").text("Close");break;}});};$("#preview_dialog .please_wait, #preview_dialog table.filters, .broadcast-preview").hide();var postParams=$("form").serialize()+"&from_keyword_id="+$("#default_keyword_id").val();$.post("/api/broadcast/project/"+project_id+"/preview",postParams,function(data){wait.hide();$("#preview_dialog").dialog("open");stopTimer=false;if(!data.success){$("#preview_dialog .status").show().children("span").text(data.error);$(".ui-dialog-buttonpane button:contains('Send'), .ui-dialog-buttonpane button:contains('Schedule')").hide();$(".ui-dialog-buttonpane button:contains('Cancel')").text("Close");clearTimeout(timer);stopTimer=true;return ;}$("#preview_dialog .status").hide();$("#preview_dialog .please_wait").show();$("#preview_dialog table.filters").show();$(".broadcast-preview").show().children("pre").html(data.message.replace(/[\r\n]+/g,"<br>"));if(data.recent_message){$("#preview_dialog .status").show().children("span").text(data.recent_message);}$("#preview_dialog table.filters tbody").empty().append("<tr class='base_list "+data.base_list.filter_id+"'><td><img src='/img/small-spinner.gif'></td><td>"+data.base_list.filter_name.replace(/_/g," ")+"</td><td class='recip'></td></tr>");$("#preview_dialog table.filters tfoot td:last-child").empty();var idx=null;for(idx in data.filters){var filter_id=data.filters[idx].filter_id;var filter_name=data.filters[idx].filter_name;$("#preview_dialog table.filters tbody").append("<tr class='"+filter_id+"'><td><img src='/img/small-spinner.gif'></td><td>"+filter_name+"</td><td class='recip'></td></tr>");}if($("#client_id").val().length||$("#broadcast-scheduled-checkbox").is(":checked")){$(".ui-dialog-buttonpane button:contains('Send')").text("Schedule");}$(".ui-dialog-buttonpane button:contains('Send'), .ui-dialog-buttonpane button:contains('Schedule')").removeClass("ui-state-default").addClass("ui-state-disabled").attr("disabled",true);timer=setTimeout(function(){checkPreviewStatus(data.preview_id);},1000);},"json");},sendDialogHandler:function(){var project_id=$("#project-id").val();var wait=MOZES.util.Dom.getChugger("Sending, please wait...");wait.show();var callback={success:function(o){try{var r=Lang.JSON.parse(o.responseText);if(o.status!=200){throw {message:o.status+" Error"+o.statusText+"."};}if(!r.success){throw {message:"Failed to send broadcast."};}changesMade=false;if(Dom.get("send-to-test-own-phone").checked){wait.hide();MOZES.util.Dom.setFlash("Your test broadcast has been sent to your phone. You can review your message and send to more subscribers.");}else{window.location.href=r.is_scheduled?"/project/"+project_id+"/broadcast/status/scheduled":"/project/"+project_id+"/broadcast/status";}}catch(e){MOZES.util.Dom.setErrorFlash(e.message+"Please contact support@mozes-inc.com to verify if your broadcast was sent successfully.");YAHOO.log(e.message);wait.hide();}},failure:function(o){MOZES.util.Dom.setErrorFlash("Unexpected error. Please contact support@mozes-inc.com to verify if your broadcast was sent successfully. ("+o.statusText+")");wait.hide();},cache:false};Connect.setForm(this.form);var transaction=Connect.asyncRequest("GET",this.urlSend,callback,null);},_fieldHandlers:{send_to:{set:function(value){if(value=="narrowcast"){this.selectNarrowcast();}else{if(value=="test-own-phone"){this.selectTestOwnPhone();}else{if(value=="individuals"){this.selectIndividuals();}else{this.selectAll();}}}}},random_users_count:{set:function(value){if(YAHOO.lang.isValue(value)){this.expandOptions(Dom.get("narrowcast-random-input"));Dom.get("narrowcast-checkbox-random").checked=true;Dom.get("narrowcast-random-input").disabled=false;Dom.get("narrowcast-random-input").value=value;}}},carriers:{set:function(value){var id="";for(var i in value){id="carrier_"+value[i];Dom.get(id).checked=true;}this.expandOptions(Dom.get(id));}},campaign_ids:{set:function(value){var id="";for(var i in value){id="campaign_"+value[i];Dom.get(id).checked=true;}this.expandOptions(Dom.get(id));}},poll_type:{set:function(value){var oRadioMC=Dom.get("radio-mc");if(value==="mc"&&oRadioMC){oRadioMC.click();}}},trivia_type:{set:function(value){var oRadioMC=Dom.get("radio-mc");if(value==="mc"&&oRadioMC){oRadioMC.click();}}}},set:function(field,value){if(YAHOO.lang.isObject(this._fieldHandlers[field])&&YAHOO.lang.isFunction(this._fieldHandlers[field].set)){this._fieldHandlers[field].set.call(this,value);}else{var key=field.replace(/_/g,".");YAHOO.log("Set "+key+" ("+this.form[key]+" - "+((this.form[key])?this.form[key].type:"Unknown")+'): "'+value+'"');if(YAHOO.lang.isObject(this.form[key])&&YAHOO.lang.isValue(this.form[key])){value=String(value);var vl=value.toLowerCase();if(this.form[key].type=="checkbox"&&(value||value=="1"||vl=="yes"||vl=="true")){this.form[key].click();}else{if(this.form[key].type=="radio"){this.form[key].checked=(this.form[key].value.toLowerCase()==value.toLowerCase());}else{if(this.form[key].length>0&&this.form[key][0].type=="radio"){for(var i=0;i<this.form[key].length;++i){this.form[key][i].checked=(this.form[key][i].value.toLowerCase()==value.toLowerCase());if(this.form[key][i].checked){this.expandOptions(this.form[key][i]);return ;}}}else{this.form[key].value=value;if(key.match("poll.choice.")||key.match("trivia.choice.")){Dom.removeClass(this.form[key].parentNode,"hidden");}if(key.match("replyback.message")){Dom.get("replyback-message").disabled=false;Dom.removeClass("broadcast-reply-container","hidden");Dom.removeClass("remove-reply-link","hidden");Dom.addClass("add-reply-link","hidden");var oFormFields=Selector.query("input, select, textarea","broadcast-reply-container");for(i in oFormFields){oFormFields[i].disabled=false;}Dom.get("replyback-footer").disabled=false;}}}}this.expandOptions(this.form[key]);}}},setScheduledBroadcast:function(client_id,data){var $=YAHOO.util.Dom.get,Dom=YAHOO.util.Dom;this.set("client_id",client_id);if(data.send_to){this.set("send_to",data.send_to);}for(var i in data){this.set(i,data[i]);}if(data["scheduled_minute"]&&data["scheduled_hour"]&&Dom.get("broadcast-time")){var hour_display=(data["scheduled_hour"]%12===0)?12:(data["scheduled_hour"]%12);var minute_display=data["scheduled_minute"]<10?"0"+data["scheduled_minute"]+"":data["scheduled_minute"];var ampm_display=data["scheduled_hour"]<12?"AM":"PM";Dom.get("broadcast-time").value=hour_display+":"+minute_display+" "+ampm_display;}return ;var form=Dom.get("broadcast-form");var j=null;for(j in data){if(j==="random_users_count"||j==="send_to"){continue;}var key=j.replace("_",".");if(YAHOO.lang.isObject(form[key])){form[key].value=data[j];expand(form[key]);}}return ;if(data.is_narrowcast){$("send-to-narrowcast").click();if(YAHOO.lang.isValue(data.to_user_count)){expand("narrowcast-random-input");$("narrowcast-checkbox-random").click();$("narrowcast-random-input").value=data.to_user_count;}}else{if(data.to_user_ids=="all"){$("send-to-all").click();}else{$("send-to-individuals").click();}}}};YAHOO.register("mozes.controller.broadcast",MOZES.controller.Broadcast,{version:"1.0.0d",build:"1"});
MOZES.controller.BroadcastTextPollTrivia=(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Lang=YAHOO.lang,Connect=YAHOO.util.Connect,Selector=YAHOO.util.Selector;var answerNodes=null;var charcount=null;var m_charcount=null;var choicesCharCount=null;var oRadioYN=null;var oRadioMc=null;var livePreviewHandler=function(e){var oMsg=Dom.get("broadcast-message");var oPreviewMsg=Dom.get("broadcast-preview-message");var oHeader=Dom.get("broadcast-header");var oReplyBackFooter=Dom.get("replyback-footer");var oFooter=Dom.get("broadcast-footer");var replyWith="";var letterList="abcde";var letterIndex=0;if(oRadioYN&&oRadioYN.checked){replyWith="<br>Reply with:<br>a(Yes)<br>b(No)";}else{if(oRadioMc&&oRadioMc.checked){replyWith="<br>Reply with:";var oAnswers=Selector.query("#choices-container ol li input.choice");for(i in oAnswers){var str=Lang.trim(oAnswers[i].value);if(str&&str.length>0){replyWith+="<br>"+letterList.charAt(letterIndex++)+"("+str+")";}}}}var msgHeader=oHeader?oHeader.options[oHeader.selectedIndex].innerHTML.replace("&nbsp;"," "):"";var msgFooter="";if(oReplyBackFooter&&!oReplyBackFooter.disabled){msgFooter+=oReplyBackFooter.value;}if(oFooter&&!oFooter.disabled){var footerSel=Dom.getElementsByClassName("footer-"+oFooter.value,"option",oFooter);var footerText=footerSel[0].innerHTML;if(footerText.indexOf("http://")>0){footerParts=footerText.split("http://");footerText=footerParts[0]+'<a href="http://'+footerParts[1]+'" target="_blank">http://'+footerParts[1]+"</a>";}msgFooter+=footerText;}var msgBody=oMsg.value;oPreviewMsg.innerHTML=msgHeader+MOZES.util.Dom.htmlentities(msgBody.replace(/[\r\n]+/g,"<br>")+replyWith).replace(/&lt;br&gt;/g,"<br>")+msgFooter;};var addReplyHandler=function(e){Dom.get("replyback-message").disabled=false;Dom.removeClass("broadcast-reply-container","hidden");Dom.removeClass("remove-reply-link","hidden");Dom.addClass("add-reply-link","hidden");var oFormFields=Selector.query("input, select, textarea","broadcast-reply-container");for(i in oFormFields){oFormFields[i].disabled=false;}Dom.get("replyback-footer").disabled=false;livePreviewHandler();charcount.updateCount();};var removeReplyHandler=function(e){Dom.get("replyback-message").disabled=true;Dom.addClass("broadcast-reply-container","hidden");Dom.removeClass("add-reply-link","hidden");Dom.addClass("remove-reply-link","hidden");var oFormFields=Selector.query("input, select, textarea","broadcast-reply-container");for(i in oFormFields){oFormFields[i].disabled=true;}Dom.get("replyback-footer").disabled=true;livePreviewHandler();charcount.updateCount();m_charcount.updateCount();};var answersExpandHandler=function(e){var target=Event.getTarget(e);while(target.nodeName.toUpperCase()!="DIV"){if(target.nodeName.toUpperCase()=="LI"&&Dom.getNextSibling(target)){Dom.removeClass(Dom.getNextSibling(target),"hidden");break;}else{target=target.parentNode;}}Event.stopPropagation(e);};var choicesCountHandler=function(e){var count="";var letterList="abcde";var letterIndex=0;var filler="";if(oRadioYN&&oRadioYN.checked){filler="\nReply with:\na(yes)\n(b)no";}else{if(oRadioMc&&oRadioMc.checked){filler="\nReply with:";var oAnswers=Selector.query("#choices-container ol li input.choice");for(i in oAnswers){var str=Lang.trim(oAnswers[i].value);if(str&&str.length>0){filler+="\n"+letterList.charAt(letterIndex++)+"("+str+")";}}}}choicesCharCount.value=filler;};var hideAnswersContainer=function(e){var answerNodes=Selector.query("#choices-container ol li input.choice");Dom.batch(answerNodes,function(el){el.setAttribute("disabled","disabled");});Dom.addClass("choices-container","hidden");charcount.updateCount();};var showAnswersContainer=function(e){var answerNodes=Selector.query("#choices-container ol li input.choice");Dom.batch(answerNodes,function(el){el.removeAttribute("disabled");});Dom.removeClass("choices-container","hidden");charcount.updateCount();};var updateTriviaAnswersNote=function(e){var note=Dom.get("trivia-answers-note");if(oRadioYN.checked){note.innerHTML=MOZES.util.Dom.htmlentities('Enter "a" for yes or "b" for no.');}else{if(oRadioMc.checked){note.innerHTML=MOZES.util.Dom.htmlentities('For example: "a" for the first answer, "b" for the second answer, "a,b" for either of the first answer.');}}};return{init:function(){var charcountConfig={container:"char-count",inputs:["broadcast-message","broadcast-header","replyback-footer","broadcast-footer"],maxLength:MOZES.constants.MAX_SMS_LENGTH};charcount=MOZES.widget.CharCount.init(charcountConfig);Event.on("broadcast-message","keyup",livePreviewHandler);Event.on("broadcast-message","change",livePreviewHandler);Event.on("broadcast-header","change",livePreviewHandler);Event.on("broadcast-footer","change",livePreviewHandler);livePreviewHandler();charcount.updateCount();Event.on(document.getElementById("bd").getElementsByTagName("input"),"change",function(){changesMade=true;});Event.on(document.getElementById("bd").getElementsByTagName("textarea"),"change",function(){changesMade=true;});Event.addListener(window,"beforeunload",function(e){if(changesMade){e.returnValue="If you leave this page you will loose any unsubmitted data.";}});},renderAttach:function(){var config={fileInputName:"attachment",mediaIdName:"media.id",mediaTypeIdName:"media.type.id",mediaInputContainer:"broadcast-form",postUrl:"/api/media/j_upload",postParams:{resize_image:0},hideAttachLink:false};amWidget=new MOZES.widget.AttachMedia("broadcast-attachment-container",config);},renderEditAttach:function(){var remove_attachment=function(e){MOZES.util.Dom.remove("media_id");MOZES.util.Dom.remove("media_type_id");MOZES.util.Dom.remove("existing_attachment_container");Dom.removeClass("broadcast-attachment-container","hidden");};Event.on("remove_attachment","click",remove_attachment);},renderReplyback:function(){var ramConfig={fileInputName:"reply-attachment",mediaIdName:"replyback.media.id",mediaTypeIdName:"replyback.media.type.id",mediaInputContainer:"broadcast-form",postUrl:"/api/media/j_upload",postParams:{resize_image:0},hideAttachLink:false};var replyAMWidget=new MOZES.widget.AttachMedia(Dom.get("reply-attachment-container"),ramConfig);Event.addListener("add-reply-link","click",addReplyHandler);Event.addListener("remove-reply-link","click",removeReplyHandler);var charcountConfig={container:"replyback-char-count",inputs:["replyback-message","broadcast-header","broadcast-footer"],maxLength:MOZES.constants.MAX_SMS_LENGTH};m_charcount=MOZES.widget.CharCount.init(charcountConfig);m_charcount.updateCount();},renderPollTriviaChoices:function(){oRadioYN=Dom.get("radio-yn");oRadioMc=Dom.get("radio-mc");answerNodes=Selector.query("#choices-container ol li input.choice");Event.on(answerNodes,"keyup",livePreviewHandler);Event.on(answerNodes,"change",livePreviewHandler);Event.on(answerNodes,"keyup",charcount.updateCount);Event.on(["radio-yn","radio-mc"],"click",livePreviewHandler);Event.on("choices-container","keyup",answersExpandHandler,this,true);choicesCharCount=document.createElement("input");choicesCharCount.setAttribute("type","hidden");charcount.addUserInputs(choicesCharCount);Dom.insertAfter(choicesCharCount,Dom.get("choices-container"));Event.on(answerNodes,"keyup",choicesCountHandler);choicesCountHandler();Event.on(["radio-mc","radio-yn"],"click",choicesCountHandler,choicesCharCount);Event.on("radio-yn","click",hideAnswersContainer);Event.on("radio-mc","click",showAnswersContainer);oRadioYN.click();},renderTriviaAnswersLabel:function(){Event.on(["radio-yn","radio-mc"],"click",updateTriviaAnswersNote);updateTriviaAnswersNote();}};})();YAHOO.register("mozes.controller.broadcast-text-poll-trivia",MOZES.controller.BroadcastTextPollTrivia,{version:"1.0.0d",build:"1"});
