/**
 * @author gerd.reifenauer
 */
Ext.ns('SmsSenden');SMSAT.Error.msg['too_many_recipients']='Maximum an erlaubten Empfängern erreicht.';SmsSenden.ContactType=2;SmsSenden.TelbookStoreRecord=Ext.data.Record.create(['Id','Value','Name','ContactType','TelgroupIds','GroupId','GroupTypeId','Zones','EntryId','SmsId','ContactCount',{name:'classField',convert:function(v,rec){var group_type_cls=(rec[6]>0)?' x-item-group-type-'+rec[6]:'';return'x-item-contact-type-'+rec[3]+group_type_cls}},{name:'SelectionIds',defaultValue:[]}]);SmsSenden.TelbookStore=new Ext.data.ArrayStore({fields:SmsSenden.TelbookStoreRecord,data:SMSAT.Browser.param.ds_telbook,idIndex:0});SmsSenden.NetworkListArray=SMSAT.Browser.param.ds_network_list;SmsSenden.fnFormatContactName=function(telbook_store_record,option){var Name=telbook_store_record.Name;if(Ext.getCmp('supercombo')&&Ext.getCmp('supercombo').bEmailMode==true){if(telbook_store_record.ContactType==1){if(telbook_store_record.EntryId==0){Name=''}}}else{if(telbook_store_record.ContactType==1){if(telbook_store_record.EntryId==0){Name=SmsSenden.fnGetNetworkName(telbook_store_record.Value)||''}}}return Ext.util.Format.htmlEncode(Name)};SmsSenden.fnGetNetworkName=function(msisdn){var network_name;Ext.each(SmsSenden.NetworkListArray,function(item,index,all){if(item[0]=='')return;var networkRx=new RegExp('^'+item[0]);if(networkRx.test(msisdn)){network_name=item[1];return true}});return network_name};SmsSenden.fnAddUserInput=function(bs,val){if(bs.lastUserInputValue==val){bs.setRawValue(val);bs.autoSize();return true}var multiple_inputs=val.split(/[,;]/);var invalid_inputs=[];var invalid_input_msg=[];bs.clearInvalid();Ext.each(multiple_inputs,function(v){if(v=='')return;var is_msisdn=false;var is_email=false;if(!bs.bEmailMode&&/^[\+\d\/\-\.\s]+$/.test(v)){is_msisdn=true;var vv=v;v=v.replace(/\s/g,'');v=v.replace(/\D/g,'');v=v.replace(/^00/,'');v=v.replace(/^0/,'43');if(!/^\d{9,15}$/.test(v)){invalid_inputs.push(vv);invalid_input_msg.push(' ist keine gültige Telefonnummer');return}}else if(bs.bEmailMode&&/\@/.test(v)){is_email=true;var vv=v;v=v.replace(/^.*\</,'');v=v.replace(/[\>\<]/,'');v=v.replace(/^\s+/,'');v=v.replace(/\s+$/,'');if(!/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(v)){invalid_inputs.push(vv);invalid_input_msg.push(' ist keine gültige Email.');return}}bs.store.clearFilter();var searchValue=v;var anyMatch=true;var caseSensitive=false;var searchField='Name';if(is_msisdn||is_email){searchField='Value';anyMatch=false;searchValue=new RegExp('^'+Ext.escapeRe(String(searchValue))+'$')}var found_index=bs.store.find(searchField,searchValue,0,anyMatch,caseSensitive);if(found_index>=0){var firstfoundRecord=bs.store.getAt(found_index);var found_second=bs.store.find(searchField,v,found_index+1,anyMatch,caseSensitive);var identical=false;if(found_second>0){var secondFoundRecord=bs.store.getAt(found_second);if(secondFoundRecord.data['Value']==firstfoundRecord.data['Value']){identical=true}}if(is_msisdn||is_email||found_second<0&&!is_msisdn&&!is_email||identical){if(bs.bMultiRecipients!==true){bs.clearValue()}var hasItem=bs.hasItem(firstfoundRecord);if(Ext.isDefined(hasItem)){hasItem.el.highlight()}bs.addItem(firstfoundRecord.data);return}else{invalid_inputs.push(v);invalid_input_msg.push('trifft auf mehrere Kontakte zu.');return}}if(is_msisdn||is_email){bs.store.clearFilter();var newId=bs.store.getCount()+1;var userInputRecordData={id:newId,Id:newId,ContactType:SmsSenden.ContactType,TelgroupIds:[],EntryId:0,classField:'x-item-contact-type-'+SmsSenden.ContactType};var network_name='';if(is_msisdn){network_name=SmsSenden.fnGetNetworkName(v);if(!Ext.isDefined(network_name)){network_name='?'}Ext.apply(userInputRecordData,{Name:network_name,Value:v})}else if(is_email){Ext.apply(userInputRecordData,{Name:network_name,Value:v})}if(bs.bMultiRecipients!==true){bs.clearValue()}bs.addItem(userInputRecordData)}else{invalid_inputs.push(v);invalid_input_msg.push('ist keine gültige Adresse.');return}return true});if(invalid_inputs.length>0){var errorTxt='';for(var n=invalid_inputs.length-1;n>=0;n--){errorTxt+='"'+Ext.util.Format.htmlEncode(invalid_inputs[n])+'" '+invalid_input_msg[n]+'<br/>'}bs.markInvalid(errorTxt);bs.setRawValue(invalid_inputs.join(','));bs.autoSize()}else{bs.setRawValue('')}bs.lastUserInputValue=val;return};SmsSenden.fnAddExactInput=function(bs,values,force_bMultiRecipients){var multiple_inputs=values.split(/\;/);bs.store.clearFilter();Ext.each(multiple_inputs,function(input_val,index,allinputs){Ext.log('recipients_input_val: '+input_val);var contact_values=input_val.split(/\,/);var contact_type=contact_values[0];var contact_id=contact_values[1];var contact_param=(Ext.isDefined(contact_values[2]))?contact_values[2]:null;var search_fn;if(contact_id==0){SmsSenden.fnAddUserInput(bs,contact_param);return}else if(contact_type<3){search_fn=function(frec,id){return(frec.data.ContactType==contact_type&&frec.data.EntryId==contact_id)}}else if(contact_type==3){search_fn=function(frec,id){return(frec.data.ContactType==3&&frec.data.TelgroupIds[0]==contact_id)}}else if(contact_type==4){search_fn=function(frec,id){return(frec.data.ContactType==4&&frec.data.GroupId==contact_id)}}var found_idx=bs.store.findBy(search_fn);if(found_idx>=0){var found_rec=bs.store.getAt(found_idx);if(contact_type==3&&!Ext.isEmpty(contact_param)){Ext.log(contact_id+' Selection ids: '+contact_param);var selection_ids=contact_param.split(/\-/);Ext.log(contact_id+' Selection ids array length: '+selection_ids.length);if(selection_ids.length>0){found_rec.data.SelectionIds=[];Ext.each(selection_ids,function(selection_id){found_rec.data.SelectionIds.push(parseInt(selection_id,10))});found_rec.commit()}}if(force_bMultiRecipients!==true&&bs.bMultiRecipients!==true){bs.clearValue()}var hasItem=bs.hasItem(found_rec);if(Ext.isDefined(hasItem)){hasItem.el.highlight();if(contact_type==3){hasItem.caption=bs.getCaption(found_rec);hasItem.updateSnippet('span.x-superboxselect-update',hasItem.caption)}}bs.addItem(found_rec.data)}})};SmsSenden.fnGenerateRecipientFormValues=function(supercombo){Ext.log('fnGenerateRecipientFormValues selected records: '+supercombo.getValue());var msisdns=[];var group_ids=[];var recipients_input=[];var records=supercombo.getValueRecords();Ext.each(records,function(record,index,allrecords){if(record.data.ContactType<3){msisdns.push(record.data.Value);if(parseInt(record.data.EntryId,10)==0){recipients_input.push(record.data.ContactType+',0,'+record.data.Value)}else{var contact_values_string=record.data.ContactType+','+record.data.EntryId;if(allrecords.length==1){contact_values_string+=','+record.data.Name.replace(/[\;\,\%\\\/]/,' ')}recipients_input.push(contact_values_string)}}else if(record.data.ContactType==3){supercombo.store.clearFilter();supercombo.store.filterBy(function(frec,id){return((frec.data.ContactType==1||frec.data.ContactType==2)&&frec.data.TelgroupIds.indexOf(record.data.TelgroupIds[0])>-1&&record.data.SelectionIds.indexOf(frec.data.EntryId)<0)});msisdns=msisdns.concat(supercombo.store.collect('Value',false,false));recipients_input.push(record.data.ContactType+','+record.data.TelgroupIds[0]+','+record.data.SelectionIds.join('-'))}else if(record.data.ContactType==4){group_ids.push(record.data.GroupId);recipients_input.push(record.data.ContactType+','+record.data.GroupId)}return true});supercombo.store.clearFilter();var recipient_list_array=Ext.unique(msisdns);Ext.getDom('recipient_list').value=recipient_list_array.join(';');Ext.getDom('community_group_list').value=Ext.unique(group_ids).join(';');Ext.getDom('recipients_input').value=recipients_input.join(';');if(Ext.getDom('with_cod')){if(Ext.getDom('with_cod')&&Ext.isEmpty(Ext.getDom('community_group_list').value)){Ext.getDom('with_cod').disabled=false;Ext.fly('with_cod_container').show()}else{Ext.getDom('with_cod').disabled=true;Ext.fly('with_cod_container').hide()}}if(!Ext.isEmpty(SMSAT.Browser.param.iMaxRecipients)){if(recipient_list_array.length>SMSAT.Browser.param.iMaxRecipients){supercombo.markInvalid(SMSAT.Error.msg['too_many_recipients']+' '+parseInt((recipient_list_array.length-SMSAT.Browser.param.iMaxRecipients),10)+' zuviel (max. '+SMSAT.Browser.param.iMaxRecipients+')')}}return true};SmsSenden.CursorToTextPos=function(field,start,end){var doneOnce=false;var textArea=Ext.getDom(field);return{'set':function(bForce,iStart,iEnd){bForce=(Ext.isDefined(bForce))?bForce:false;if(doneOnce===true&&bForce!==true)return;iStart=(Ext.isDefined(start))?start:(iStart||textArea.value.length);iEnd=(Ext.isDefined(end))?end:(iEnd||textArea.value.length);if(textArea.setSelectionRange){textArea.setSelectionRange(iStart,iEnd)}else if(textArea.createTextRange){var range=textArea.createTextRange();range.collapse(true);if(iStart==iEnd){if(iStart>0){range.moveStart('textedit',1)}else{range.moveStart('textedit',0)}}else{range.moveEnd('character',iEnd);range.moveStart('character',iStart)}range.select()}doneOnce=true}}};SmsSenden.SuperCombo=new Ext.ux.form.SuperBoxSelect({width:360,allowBlank:true,msgTarget:'under',allowAddNewData:true,preventDuplicates:true,removeValuesFromStore:false,id:'supercombo',lazyInit:false,tabIndex:5,emptyText:(SMSAT.Browser.param.bEmailMode===true)?'E-Mail Adressen oder Kontaktnamen':'Telefonnummern oder Kontaktnamen',resizable:true,name:'recipients',anchor:'100%',store:SmsSenden.TelbookStore,mode:'local',displayField:'Name',classField:'classField',stackItems:true,searchFields:['Name','Value'],valueField:'Id',extraItemCls:'x-tag',renderFieldBtns:false,pinList:false,fixFocusOnTabSelect:true,autoSelect:false,validateOnBlur:false,validationEvent:false,lastUserInputValue:'',bMultiRecipients:(SMSAT.Browser.param.bMultiRecipients===false)?false:true,bEmailMode:(SMSAT.Browser.param.bEmailMode===true)?true:false,dont_expand_again:false,listeners:{beforeadditem:function(bs,v){if(bs.bMultiRecipients!==true){bs.clearValue()}},additem:function(bs,v){SmsSenden.fnGenerateRecipientFormValues(bs);return true},beforeremoveitem:function(bs,v){},removeitem:function(bs,v){var rec=bs.store.getById(v);rec.data.SelectionIds=[];rec.commit();SmsSenden.fnGenerateRecipientFormValues(bs);bs.lastUserInputValue=''},newitem:SmsSenden.fnAddUserInput,collapse:function(){(function(){this.dont_expand_again=false}).defer(500,this)},expand:function(){this.dont_expand_again=true}},skipRecordAtFilterFn:function(r,q){if(!Ext.isEmpty(q)&&r.data.ContactType===1&&r.data.EntryId!==0)return true;return false},realign:function(){this.multiSelectMode=true;this.restrictHeight();if(this.pinList){this.multiSelectMode=false}},removeItem:function(record){var found_item=this.hasItem(record);if(found_item){found_item.preDestroy();return true}return false}});if(SMSAT.Browser.param.bEmailMode!==true){SmsSenden.SuperCombo.modifyQuery=function(q){if(/^[\+\/\d\-\.\s]+$/.test(q)&&/\d/.test(q)){q=q.replace(/\s/g,'');q=q.replace(/\D/g,'');q=q.replace(/^00/,'');q=q.replace(/^0/,'43')}return q}}SmsSenden.ToolTipEmptyTelbook=null;SmsSenden.fnToggleTelbookDisplay=function(btn,e){if(SmsSenden.SuperCombo.dont_expand_again===false){if(SmsSenden.SuperCombo.disabled){return}if(SmsSenden.TelbookStore.getCount()>0){SmsSenden.SuperCombo.store.clearFilter();if(SmsSenden.SuperCombo.isExpanded()){SmsSenden.SuperCombo.multiSelectMode=false}else if(SmsSenden.SuperCombo.pinList){SmsSenden.SuperCombo.multiSelectMode=true}SmsSenden.SuperCombo.onTriggerClick()}else{if(Ext.isEmpty(SmsSenden.ToolTipEmptyTelbook)){SmsSenden.ToolTipEmptyTelbook=new Ext.ToolTip({target:(Ext.fly('menu_05'))?'menu_05':btn.getEl(),anchor:'left',dismissDelay:5000,showDelay:0,width:150,html:'Eingeloggt? Unter "<a href="/messagebox/telefonbuch/">Meine Kontakte</a>" kannst <br/>du deine Einträge verwalten.'})}SmsSenden.ToolTipEmptyTelbook.show()}}};SmsSenden.pruef=function(input_element,max_chars){var input=Ext.getDom(input_element);var chars=input.value.length;var sms_count=0;var sms_length=0;var sms_length_per_sms=0;var max_char_per_sms=0;var anz=0,len=0,s;for(var i=0;i<chars;i++){var s=input.value.charAt(i);if(s=='€'||s=='~'||s=='^'||s=='\\'||s=='{'||s=='}'||s=='['||s==']'||s=='|'){if(anz>(max_chars-2)){break};anz+=2}else if(s=="\r"){}else{if(anz>(max_chars-1)){break};anz++}len=i+1}if(anz>160){max_char_per_sms=153;sms_count=Math.ceil(anz/max_char_per_sms);anz_per_sms=(anz-max_char_per_sms*(sms_count-1));sms_length_per_sms=max_char_per_sms-anz_per_sms}else{max_char_per_sms=160;sms_count=1;sms_length_per_sms=max_char_per_sms-anz;anz_per_sms=anz}if(chars>len){var el_input=Ext.get(input);var top=el_input.getScroll().top;input.value=input.value.substr(0,len);el_input.scroll("bottom",top,false);return{'sms_length':0,'sms_count':sms_count,'max_chars':max_chars,'anz':anz,'sms_length_per_sms':sms_length_per_sms,'max_char_per_sms':max_char_per_sms,'anz_per_sms':anz_per_sms}}sms_length=max_chars-anz;return{'sms_length':sms_length,'sms_count':sms_count,'max_chars':max_chars,'anz':anz,'sms_length_per_sms':sms_length_per_sms,'max_char_per_sms':max_char_per_sms,'anz_per_sms':anz_per_sms}};SmsSenden.CounterBar=function(){var bar_frame_id='sms_bar_frame';var bar_frame_bgd='sms_bar_bgd';var visible_class='sms_bar_text_visible';var sms_bar_bgd;var tpl_string=SMSAT.Browser.param.counter_bar_template||'{sms_count} SMS [{sms_length_per_sms}]';var templ=new Ext.Template(tpl_string);templ.compile();var last_sms_count=0;var frame_width=0;var sms_width=0;var first_sms_length=160;var anz_per_sms=0;var bar_length=0;var initialized=false;var rendered=false;return{tpl:templ,init:function(){if(!initialized){initialized=true;if(Ext.fly(bar_frame_id)){frame_width=Ext.fly(bar_frame_id).getWidth();sms_bar_bgd=Ext.get(bar_frame_bgd);sms_width=frame_width/3;spans=Ext.select('span',true,'sms_bar_frame');if(spans.elements.length==1){spans.addClass(visible_class)}rendered=true}}},set:function(pruef_obj){if(!initialized)this.init();if(rendered){if((sms_bar_bgd&&last_sms_count!=pruef_obj.sms_count)||pruef_obj.anz==0){if(spans.elements.length>1){spans.each(function(span,all,i){if(pruef_obj.sms_count==i+1&&pruef_obj.anz!=0){span.addClass(visible_class)}else{span.removeClass(visible_class)}})}}if(pruef_obj.sms_count==1){anz_per_sms=pruef_obj.anz;bar_length=(frame_width/(first_sms_length*3))*pruef_obj.anz}else{anz_per_sms=pruef_obj.anz_per_sms;bar_length=sms_width*(pruef_obj.sms_count-1)+((sms_width/pruef_obj.max_char_per_sms)*anz_per_sms)}sms_bar_bgd.setWidth(bar_length);var span=(spans.elements.length>1)?spans.elements[pruef_obj.sms_count-1]:spans.elements[0];this.tpl.overwrite(span,pruef_obj)}}}}();SmsSenden.update_sms_text_counter=function(pruef_obj){var div_sms_length=Ext.get('num');var div_sms_count=Ext.get('sms_anz');if(div_sms_length)div_sms_length.update(pruef_obj.sms_length+' / '+pruef_obj.max_chars);if(div_sms_count)div_sms_count.update(pruef_obj.sms_count);SmsSenden.CounterBar.set(pruef_obj)};SmsSenden.check_sms_text=function(e){var input=(Ext.isDefined(e))?e.getTarget():Ext.get('nachr');var max_chars=SMSAT.Browser.param.toggled_sms_length||SMSAT.Browser.param.sms_length||160;var check=SmsSenden.pruef(input,max_chars);if(check.sms_length<1){if(Ext.isDefined(e)){e.preventDefault()}if(SMSAT.Browser.param.toggleHighlights===true&&max_chars<=160){SMSAT.Browser.param.toggleHighlights=false;Ext.get('button_sms_length').highlight("ffffaa",{duration:1.5,callback:function(){SMSAT.Browser.param.toggleHighlights=true}})}}SmsSenden.update_sms_text_counter(check)};SmsSenden.toggle_options=function(bAnim){var div_options_id='div_options';var el_div_options=document.getElementById('div_options');var el_button_toggle_options_show=document.getElementById('button_toggle_options_show');var el_button_toggle_options_hide=document.getElementById('button_toggle_options_hide');if(el_div_options.style.visibility!="visible"){el_button_toggle_options_hide.style.display='none';el_div_options.style.visibility="visible";if(bAnim!==false){Ext.get(div_options_id).animate({height:{to:50},opacity:{to:1}},0.1,function(){this.setStyle({height:'',overflow:'visible'})},'easeIn','run')}else{Ext.get(div_options_id).setStyle({height:'',overflow:'visible'})}}else{el_button_toggle_options_hide.style.display='';if(bAnim!==false){Ext.get(div_options_id).animate({opacity:{to:0},height:{to:1}},0.3,function(){this.setStyle({visibility:'hidden',height:'1px',overflow:'hidden'})},'easeOut','run')}else{Ext.fly(div_options_id).setStyle({visibility:'hidden',height:'1px',overflow:'hidden'})}}return false};SmsSenden.toggle_sms_length=function(){var max_sms_length=SMSAT.Browser.param.sms_length;var el_button_sms_length_number=document.getElementById('button_sms_length_number');var min_length=160;if(SMSAT.Browser.param.toggled_sms_length==min_length){SMSAT.Browser.param.toggled_sms_length=max_sms_length;el_button_sms_length_number.innerHTML=min_length}else{SMSAT.Browser.param.toggled_sms_length=min_length;el_button_sms_length_number.innerHTML=max_sms_length}var resizeDivStartHeight=100;var resizeDivStepHeight=40;var resizeDivStepUnit='px';var sms_count=Math.round(SMSAT.Browser.param.toggled_sms_length/160)-1;var new_height=(resizeDivStartHeight+resizeDivStepHeight*sms_count);var new_height_style=new_height+resizeDivStepUnit;var oTextBox=Ext.get('nachr');var oResizeDiv=Ext.get('div_nachr');if(new_height_style!=oTextBox.dom.style.height){oTextBox.animate({height:{to:new_height}},0.3,function(){oTextBox.dom.style.height=new_height_style;oResizeDiv.dom.style.height=new_height_style;SmsSenden.check_sms_text();Ext.fly('nachr').focus()},'backOut','run');oResizeDiv.animate({height:{to:new_height}},0.3,function(){SmsSenden.check_sms_text();Ext.fly('nachr').focus()},'backOut','run')}else{SmsSenden.check_sms_text();Ext.fly('nachr').focus()}return false};SmsSenden.submit_form=function(formid){if(Ext.isEmpty(Ext.fly('button_send'))){Ext.Msg.alert("HTML Fehler.","HTML Fehler: 'button_send' missing")}if(SmsSenden.SuperCombo.el.dom.value!==''){if(SmsSenden.SuperCombo.el.dom.value!==SmsSenden.SuperCombo.emptyText){SmsSenden.fnAddUserInput(SmsSenden.SuperCombo,SmsSenden.SuperCombo.el.dom.value)}else{SmsSenden.SuperCombo.applyEmptyText();SmsSenden.SuperCombo.autoSize()}}if(SmsSenden.SuperCombo.getResizeEl().child('div.x-superboxselect').hasClass(SmsSenden.SuperCombo.invalidClass)){SmsSenden.SuperCombo.getResizeEl().child('div.x-form-invalid-msg').highlight();return false}if(typeof submit_once!="undefined"&&submit_once('button_send')!==true){return false}if(Ext.isEmpty(formid))formid='smsform';SmsSenden.SuperCombo.setRawValue('');SmsSenden.SuperCombo.clearInvalid();if(Ext.getCmp('supercombo').bEmailMode===true){var tmce=tinyMCE.getInstanceById("nachr");if(!Ext.isEmpty(tmce)){Ext.getDom('nachr').value=tmce.getContent()}}SmsSenden.fnGenerateRecipientFormValues(SmsSenden.SuperCombo);document.getElementById(formid).submit()};SmsSenden.NetworkListCombo=new Ext.form.ComboBox({triggerAction:'all',forceSelection:true,mode:'local',store:SmsSenden.NetworkListArray,editable:false,lazyRender:true,hidden:true,tabindex:4,style:'',title:'Alle Vorwahlen',listAlign:'tl-tl',listeners:{'select':function(combo,rec,idx){var val=this.getValue();if(val!=''){SmsSenden.SuperCombo.setRawValue('+'+val);SmsSenden.SuperCombo.autoSize();SmsSenden.SuperCombo.clearInvalid();this.ownerCt.hide();(function(){SmsSenden.SuperCombo.focus()}).defer(200)}},'blur':function(){this.ownerCt.hide()},'specialkey':function(combo,e){if(e.getKey()==e.ENTER||e.getKey()==e.TAB||e.getKey()==e.SPACE){var index=this.view.getSelectedIndexes()[0],s=this.store,r=s.getAt(index);if(r){if(this.fireEvent('beforeselect',this,r,index)!==false){this.setValue(r.data[this.valueField||this.displayField]);this.fireEvent('select',this,r,index)}}e.stopEvent()}else if(e.getKey()==e.ESC){this.ownerCt.hide()}},'collapse':function(){this.ownerCt.hide()}}});if(Ext.isIE6){Ext.apply(SmsSenden.NetworkListCombo,{width:200})}SmsSenden.NetworkListContainer=new Ext.Container({hidden:false,layout:'fit',dont_show_again:false,items:[SmsSenden.NetworkListCombo],listeners:{'hide':function(){(function(){this.dont_show_again=false}).defer(500,this)},'show':function(){this.dont_show_again=true}}});SmsSenden.TelgroupMenu=new Ext.menu.Menu({id:'sms_telgroup_menu',floating:true,hidden:true,enableScrolling:false,autoScroll:true,height:400,minWidth:300,width:300,style:'max-width:300px;',bufferResize:200,telgroup_record:null,items:[{xtype:'buttongroup',itemId:'tgMenuBtn',title:'Verteilername',layout:'hbox',layoutConfig:{align:'top'},defaults:{margins:'0 2 0 2',flex:(Ext.isIE7||Ext.isIE6)?0:1},items:[{text:'Übernehmen',tooltip:'Auswahl hinzufügen/modifizieren',handler:function(b,e){Ext.log('OK');var menu=Ext.getCmp('sms_telgroup_menu');var checkitems=menu.fnGetCheckItems();var SelectionIds=[];Ext.each(checkitems,function(item,index,length){if(!item.checked){SelectionIds.push(item.entry_id)}});var bs=Ext.getCmp('supercombo');if(SelectionIds.length!=menu.telgroup_record.data.ContactCount){menu.telgroup_record.data.SelectionIds=SelectionIds;menu.telgroup_record.commit();var values=menu.telgroup_record.data.ContactType+','+menu.telgroup_record.data.TelgroupIds[0]+';';SmsSenden.fnAddExactInput(bs,values);SmsSenden.fnGenerateRecipientFormValues(bs)}else{bs.removeItem(menu.telgroup_record)}menu.hide();if(bs.pinList){bs.realign()}else if(bs.isExpanded()){bs.onTriggerClick()}}},{text:'Alle',itemId:'tgSelectBtn',cls:'x-btn-supercombo-menu-select',overCls:'x-btn-supercombo-menu-select-over',tooltip:'Alle auswählen / abwählen',width:65,enableToggle:true,handler:function(b,e){var menu=Ext.getCmp('sms_telgroup_menu');var checkitems=menu.fnGetCheckItems();Ext.each(checkitems,function(item,index,length){item.setChecked(b.pressed)})},listeners:{toggle:function(b,pressed){if(!pressed){b.setText('Alle')}else{b.setText('Keine')}}}},{tooltip:'Abbrechen',text:'Abbrechen',handler:function(b,e){Ext.getCmp('sms_telgroup_menu').hide()}}]}],iItemsInFront:1,fnGetCheckItems:function(){return this.items.getRange(this.iItemsInFront)},fnRemoveAllAfterFirst:function(autoDestroy){this.initItems();var item,rem=[],items=[];this.items.each(function(i){rem.push(i)});for(var i=this.iItemsInFront,len=rem.length;i<len;++i){item=rem[i];this.remove(item,autoDestroy);if(item.ownerCt!==this){items.push(item)}}return items},onClickRecipient:function(){}});SmsSenden.fnShowTelgroupMenu=function(tg_record,telgroup_records,target_id,bAllUnChecked){var menu=Ext.getCmp('sms_telgroup_menu');menu.telgroup_record=tg_record;var buttongroup=menu.getComponent('tgMenuBtn');buttongroup.setTitle(Ext.util.Format.htmlEncode(tg_record.data.Name));var destroyed_comp=menu.fnRemoveAllAfterFirst();menu.setWidth(300);buttongroup.setWidth(300);if(telgroup_records.length>10){menu.setHeight(400)}else{menu.setHeight('auto')}buttongroup.getComponent('tgSelectBtn').toggle(!bAllUnChecked,false);telgroup_records.each(function(item,index,allitems){if(!item||item.data.TelgroupId<1||item.data.IsVirtual===true)return true;menu.addMenuItem({text:Ext.util.Format.htmlEncode(item.data.Name)+' '+Ext.util.Format.htmlEncode('<'+item.data.Value+'>'),style:'white-space:normal;',checked:(bAllUnChecked===true||tg_record.data.SelectionIds.indexOf(item.data.EntryId)>-1)?false:true,hideOnClick:false,entry_id:item.data.EntryId,checkHandler:menu.onClickRecipient})});menu.show(target_id,'tl-tr');buttongroup.setWidth('auto');menu.setWidth(300);menu.doLayout();buttongroup.doLayout()};Ext.onReady(function(){SMSAT.Template.load_templates();Ext.QuickTips.init();Ext.form.Field.prototype.msgTarget='under';var toggle_telbook_button=new Ext.Button({renderTo:'to_buttons',id:'toggle_telbook',cls:'x-btn-toggle-telgroup',ctCls:'x-btn-ct-toggle-telgroup',overCls:'x-btn-over-toggle-telgroup',tabIndex:1,text:'An...',dont_expand_again:false,handler:SmsSenden.fnToggleTelbookDisplay});if(Ext.fly('networklistcombo')){SmsSenden.NetworkListCombo.tpl=SMSAT.Templates['network_list_item_line'];var networklist_link_button=new Ext.Button({renderTo:'to_buttons',id:'networklist_link',cls:'x-btn-network-list',ctCls:'x-btn-ct-network-list',iconCls:'x-btn-icon-network-list',overCls:'x-btn-over-network-list',text:'&nbsp;',tooltip:'Alle Vorwahlen',tabIndex:3,handler:function(){if(SmsSenden.NetworkListContainer.dont_show_again===false){SmsSenden.NetworkListContainer.show();SmsSenden.NetworkListCombo.show();SmsSenden.NetworkListCombo.keyNav.down.call(SmsSenden.NetworkListCombo)}}});SmsSenden.NetworkListContainer.render('networklistcombo')}SmsSenden.SuperCombo.displayFieldTpl=SMSAT.Templates['display_field_line'];SmsSenden.SuperCombo.tpl=SMSAT.Templates['ac_sms2009_line'];SmsSenden.SuperCombo.render('combocontainer');Ext.fly('combocontainer').on('dblclick',function(){SmsSenden.SuperCombo.keyNav.down.call(SmsSenden.SuperCombo)});SmsSenden.SuperCombo.mon(SmsSenden.SuperCombo.view,'beforeclick',function(view,index,node,e){var target=e.getTarget('span.x-superboxselect-item-tool',5,true);var bs=Ext.getCmp('supercombo');if(bs.pinList!==true){bs.multiSelectMode=false}if(target){var record=view.getRecord(node);Ext.log('CT und name: '+record.data.ContactType+' - '+record.data.Name);if(record.data.ContactType==3){var telgroup_records=view.store.queryBy(function(frec,id){return(frec.data.ContactType==2&&frec.data.TelgroupIds.indexOf(record.data.TelgroupIds[0])>-1)});SmsSenden.fnShowTelgroupMenu(record,telgroup_records,Ext.get(node).id,true,bs)}return false}else{var target_multiselect=e.getTarget('span.x-superboxselect-item-addmore',5,true);if(target_multiselect){bs.multiSelectMode=true}}});if(Ext.fly('networklistcombo')){var after_network_selection=SmsSenden.CursorToTextPos(SmsSenden.SuperCombo.getEl());SmsSenden.NetworkListCombo.on('select',function(){after_network_selection.set(true)})}var focusToStart=SmsSenden.CursorToTextPos('nachr',0,0);Ext.get('nachr').on({'keyup':SmsSenden.check_sms_text,'blur':SmsSenden.check_sms_text,'focus':function(){focusToStart.set()}});SmsSenden.check_sms_text();if(Ext.fly('datum')&&Ext.fly('zeit')){Ext.fly('datum').on('keyup',function(e){if(!e.isSpecialKey()||e.getKey()==46||e.getKey()==e.BACKSPACE){document.forms.Frm['use_date_time_yes'].checked=true}});Ext.fly('zeit').on('keyup',function(e){if(!e.isSpecialKey()||e.getKey()==46||e.getKey()==e.BACKSPACE){document.forms.Frm['use_date_time_yes'].checked=true}})}if(Ext.getDom('recipients_input').value!=''){SmsSenden.fnAddExactInput(SmsSenden.SuperCombo,Ext.getDom('recipients_input').value,true)}if(SMSAT.Browser.param.recipient_address!=''){SmsSenden.fnAddUserInput(SmsSenden.SuperCombo,SMSAT.Browser.param.recipient_address)}if(SMSAT.Browser.param.prefill_raw_value!=''){SmsSenden.SuperCombo.setRawValue(SMSAT.Browser.param.prefill_raw_value);SmsSenden.SuperCombo.focus()}if(Ext.getDom('with_cod')){if(Ext.getDom('with_cod').checked||(Ext.getDom('send_as_vip')&&Ext.getDom('send_as_vip').checked)||(Ext.getDom('with_sender')&&Ext.getDom('with_sender').checked)){}else{SmsSenden.toggle_options(false)}}});