var upload_vola_cmp=null;var params_progress_vola_cmp="";var upload_control_cmp=null;function loadJson(a){var b="type="+a;var c="/vola-sms/campagne/get_json.php";_callAjaxCMP(c,b)}function fileUploadCMP(){var a=$('frm_inviosms');if(a){removeProgress();var b='<iframe id="iframe_upload" name="iframe_upload" align="right" style="border:0;width:0px;height:0px;"></iframe>';var c='<div id="progress" name="progress" style="display:none" class="txt10b">Processamento file<div id="pbar" name="pbar"></div><br><br><div id="ppct" name="ppct">0%</div></div>';new Insertion.After('frm_inviosms',b);new Insertion.After('processamento',c);a.target='iframe_upload';a.encoding='multipart/form-data';a.submit();upload_control_cmp=new PeriodicalExecuter(pbarFileUpload,3);$('pbar').style.width="0%";$('ppct').update("0%");Effect.Appear('progress',2)}}function pbarFileUpload(){if(upload_control_cmp!=null){if($('progress_key')){var a="/vola-sms/campagne/sms/pbar_file_upload.php";var b="progress_key="+$F('progress_key');new Ajax.Request(a,{parameters:b,onComplete:pbarFileUploadComplete})}else{upload_control_cmp.stop();upload_control_cmp=null}}}function pbarFileUploadComplete(o){var r=o.responseText.evalJSON();if(r['error']){d=$('msg_error');Element.show('table_err');Element.update(d,r['error']);Element.show(d);upload_control_cmp.stop();upload_control=null;removeProgress();$('cmd_Avanti').disabled=false;return}else{if(!r['done']){if(r['total']){var a=around(parseFloat(100*(r['current']/r['total'])));$('pbar').style.width=a+'%';txt=a+"% ("+mega(r['current'])+"/"+mega(r['total'])+" Mb)"}}else if(r['cancel_upload']){txt="Upload Error!";upload_control_cmp.stop();upload_control_cmp=null;controlliInvioSMS(false)}else if(r['current']==r['total']){if(r['cancel_upload'])txt="Upload Finish!";else txt=mega(r['total'])+" Mb transferiti";$('pbar').style.width="100%";if(txt)txt=" ("+txt+")";$('ppct').update("100%"+txt);upload_control_cmp.stop();upload_control_cmp=null;createParamStats('file');return}}$('ppct').update(txt)}function createParamStats(d){removeProgress();var e="/vola-sms/campagne/sms/create_params_stats.php";var f=(new Date().getTime())+".txt";params_progress_vola_cmp=Form.serialize('frm_inviosms');var g=params_progress_vola_cmp+"&type="+d+"&namefile="+f;var h=new Ajax.Request(e,{parameters:g,onFailure:ShowError,onComplete:function(){upload_vola_cmp.stop();upload_vola_cmp=null;removeProgress();var a=params_progress_vola_cmp+"&type=inviosms_2";var b="/vola-sms/campagne/get_json.php";new Ajax.Request(b,{parameters:a,onFailure:ShowError,onComplete:_processJson})}});var i='<div id="progress" name="progress" style="display:none" class="txt10b">Processamento file<div id="pbar" name="pbar"></div><br><br><div id="ppct" name="ppct">0%</div></div>';new Insertion.After('processamento',i);upload_vola_cmp=new Ajax.PeriodicalUpdater('','/vola-sms/campagne/sms/pbar_params_stats.php?namefile='+f,{frequency:2,onSuccess:function(a){var b=eval('('+a.responseText+')');var c=b.split(",");if($('pbar'))$('pbar').style.width=c[0]+"%";if($('ppct'))$('ppct').update(c[0]+" %"+c[1])}});$('pbar').style.width="0 %";$('ppct').update("0 %");Effect.Appear('progress',2)}function removeProgress(){if($('iframe_upload'))Element.remove('iframe_upload');if($('progress'))Element.remove('progress')}function inserisciParametroSms(){var a=$('parametri');var b=a.options[a.selectedIndex].value;insertAtCursor($('msg'),"["+b+"]");return}function insertAtCursor(a,b){if(document.selection){a.focus();var c=document.selection.createRange();c.text=b}else{if(a.selectionStart||a.selectionStart=='0'){var d=a.selectionStart;var e=a.selectionEnd;a.value=a.value.substring(0,d)+b+a.value.substring(e,a.value.length)}else{a.value+=b}}}function controlloCaratteriMsg(){var d=$('msg_error');var a="";Element.hide('table_err');var b=$F('msg').toUpperCase();b=b.replace(/\r\n/g,"\n");b=b.replace(/\r/g,"\n");var c;var e=false;var f=0;if($('parametri'))f=$('parametri').length;if(f>0){arrayParam=verificaParametri($F('msg'),$('parametri'));if(arrayParam[0]==1){if(b!=""){for(i=0;i<$('parametri').options.length;i++){var g=replaceChars($('parametri').options[i].value);RE=new RegExp("\\["+g.toUpperCase()+"\\]","ig");b=b.replace(RE,"")}var h=b.length;var j=countSpecialChar(b);h+=j;if(h>160){$('msg').style.color="FF0000"}else $('msg').style.color="000000";$('chars').value=160-h}return true}else if(arrayParam[0]==0){Element.show('table_err');a="<span class='txt10bRosso'>"+arrayParam[1]+"</span>";Element.update(d,a);return false}}else{resChars($('msg'),160);Element.hide($('table_err'));return true}}function changeVal(a){if($(a)){$(a).value=eval($F(a)+1)}}function verificaParametri(a,b){findLink="";blinkTo=a.search("\\[");bCount=0;parametri="";while(blinkTo>-1&&bCount<100){findLink=a.substring(0,blinkTo);blinkFind=findLink.search("]");if(blinkFind>0){return(new Array(0,"Trovata parentesi ] fuori posto<br>"))}a=a.substring(blinkTo+1);blinkTo=a.search("]");if(blinkTo<0){return(new Array(0,"Non Trovata parentesi ] per terminare un parametro<br>"))}findLink=a.substring(0,blinkTo);blinkFind=findLink.search("\\[");if(blinkFind>=0){return(new Array(0,"Trovata parentesi [ fuori posto<br>"))}a=a.substring(blinkTo+1);blinkTo=a.search("\\[");bFind=false;for(i=0;i<b.options.length;i++){if(findLink.toUpperCase()==b.options[i].value.toUpperCase()){bFind=true;i=b.length}}if(bFind==false){return(new Array(0,"Parametro non corretto "+findLink+"<br>"))}else{parametri+=findLink+"|"}bCount+=1}return(new Array(1,parametri))}function replaceChars(a){a=a.replace("!","\\!");a=a.replace("£","\\£");a=a.replace("$","\\$");a=a.replace("%","\\%");a=a.replace("&","\\&");a=a.replace("/","\\/");a=a.replace("(","\\(");a=a.replace(")","\\)");a=a.replace("=","\\=");a=a.replace("?","\\?");a=a.replace("^","\\^");a=a.replace("*","\\*");a=a.replace("°","\\°");a=a.replace("@","\\@");a=a.replace("-","\\-");a=a.replace("_","\\_");a=a.replace("\r\n","\n");return a}function countSpecialChar(a){var b=0;for(i=0;i<a.length;i++){if(a.charAt(i)=='\u005B'||a.charAt(i)=='\u005D'||a.charAt(i)=='\u20AC'||a.charAt(i)=='\u007B'||a.charAt(i)=='\u007D'||a.charAt(i)=='\u005E'||a.charAt(i)=='\u007C'||a.charAt(i)=='\u007E'||a.charAt(i)=="\u005C"){b++}}return b}function checkMessaggioParametrico(){var a=checkMessaggio($F('msg'),true);if(a>=0){Element.hide($('msg_error'));arrayParam=verificaParametri($F('msg'),$('parametri'));if(arrayParam[0]==1){var b="/vola-sms/campagne/sms/check_messaggio_parametrico.php";var c=Form.serialize('frm_inviosms')+"&msg_length="+a;var e=new Ajax.Updater({success:'ModalWin'},b,{parameters:c,onComplete:ShowLayer})}else{Element.show($('msg_error'));msgerror="<span class='txt10bRosso'>"+arrayParam[1]+"</span>";Element.update(d,msgerror);return}}}function checkMessaggioStd(a,b){var d=$('msg_error');var c=a.toUpperCase();c=c.replace(/\r\n/g,"\n");c=c.replace(/\r/g,"\n");var e=c.length;var f=countSpecialChar(c);e=c.length;f=countSpecialChar(c);e+=f;if(e>160){Element.show($('table_err'));Element.show(d);msgerror="<span class='txt10bRosso'>Attenzione!</span><br>Il testo (esclusi i parametri) eccede il numero massimo di caratteri(160). L'SMS non verr&agrave; inviato.";Element.update(d,msgerror);return-1}else return e}function checkMessaggio(a,b){var d=$('msg_error');var c=a.toUpperCase();c=c.replace(/\r\n/g,"\n");c=c.replace(/\r/g,"\n");var e=c.length;var f=countSpecialChar(c);var g=c.length;for(i=0;i<$('parametri').options.length;i++){var h=replaceChars($('parametri').options[i].value);RE=new RegExp("\\["+h.toUpperCase()+"\\]","ig");c=c.replace(RE,"")}e=c.length;f=countSpecialChar(c);e+=f;g+=f;if(e==g){if($('parametri').options.length>0){if(!b){if(confirm("Attenzione!\r\nNon e' stato inserito alcun parametro. La campagna verra' considerata NON parametrica. Si intende procedere? ")){return e}else{return-1}}else{Element.show($('table_err'));Element.show(d);msgerror="<span class='txt10bRosso'>Attenzione!</span><br>Per eseguire la verifica della lunghezza del testo dei messaggi tenendo conto dei parametri inseriti &egrave; necessario inserire almeno un parametro.";Element.update(d,msgerror);return-1}}else return e}if(e>160){$('cmd_Avanti').disabled=false;Element.show($('table_err'));Element.show(d);msgerror="<span class='txt10bred'>Attenzione!</span><br>Il testo (esclusi i parametri) eccede il numero massimo di caratteri(160). L'SMS non verr&agrave; inviato.";Element.update(d,msgerror);return-1}else return e}function goNext(f){var g=Form.serialize('frm_inviosms');var d=$('msg_error');$('cmd_Avanti').disabled=true;switch(f){case'2':Element.hide('table_err');var h="";var i="";var j="";var k=1;var l=0;if($('reload'))k=$F('reload');if($('file_dest'))h=$F('file_dest');if($('dtfile'))if($('dtfile').checked)i="file";if($('dtcontacts'))if($('dtcontacts').checked)i="contacts";if($('dtfilter'))if($('dtfilter').checked)i="filter";if($('campagna'))j=$F('campagna');if($('numres'))l=$F('numres');if(j==""){$('cmd_Avanti').disabled=false;Element.show('table_err');Element.show(d);msgerror="Attenzione!<br>Inserisci il nome della campagna</span>";Element.update(d,msgerror);return}var m="/vola-sms/campagne/get_json.php";var g="type=check_campagna&campagna="+j;var n=true;var o=new Ajax.Request(m,{asynchronous:false,parameters:g,onFailure:ShowError,onComplete:function getResponse(b){var c=b.responseText;try{obj=c.evalJSON()}catch(e){obj=null}if(obj!=null){obj.each(function(a){if(a.action=="mgr_error"){Element.show('table_err');Element.show(d);d=$(a.section);Element.update(d,a.html);n=false}})}}});if(n){if(k==1){if(i==""){$('cmd_Avanti').disabled=false;Element.show('table_err');Element.show(d);msgerror="Attenzione!<br>Specificare almeno un destinatario importando un file o selezionando tutta la rubrica</span>";Element.update(d,msgerror);return}switch(i){case"file":if(h==""){$('cmd_Avanti').disabled=false;Element.show('table_err');Element.show(d);msgerror="Attenzione!<br>Specificare almeno un destinatario importando un file</span>";Element.update(d,msgerror);return}if(h.indexOf("'")>0){$('cmd_Avanti').disabled=false;Element.show('table_err');Element.show(d);msgerror="Attenzione!<br>Il nome del file non pu&ograve; contenere il carattere apice: '</span>";Element.update(d,msgerror);return}fileUploadCMP();break;case"contacts":createParamStats('contacts');break;case"filter":if(l==0){$('cmd_Avanti').disabled=false;Element.show('table_err');Element.show(d);msgerror="Attenzione!<br>il filtro applicato non contiene destinatari per l'invio</span>";Element.update(d,msgerror);return}createParamStats('filter');break}}else loadJson('inviosms_2')}break;case'3':var p=1;var q="";var r=0;var s=0;var n=true;if($('msg'))q=$F('msg');if($('parametrica'))p=$F('parametrica');if($('resend'))s=$F('resend');if(q==""){$('cmd_Avanti').disabled=false;Element.show('table_err');Element.show(d);msgerror="Attenzione!<br>Inserire il testo del messaggio</span>";Element.update(d,msgerror);return}if(s==1){var j="";if($('campagna'))j=$F('campagna');if(j==""){$('cmd_Avanti').disabled=false;Element.show('table_err');Element.show(d);msgerror="Attenzione!<br>Inserisci il nome della campagna</span>";Element.update(d,msgerror);return}var m="/vola-sms/campagne/get_json.php";var g="type=check_campagna&campagna="+j;var n=true;var o=new Ajax.Request(m,{asynchronous:false,parameters:g,onFailure:ShowError,onComplete:function getResponse(b){var c=b.responseText;try{obj=c.evalJSON()}catch(e){obj=null}if(obj!=null){obj.each(function(a){if(a.action=="mgr_error"){$('cmd_Avanti').disabled=false;Element.show('table_err');Element.show(d);d=$(a.section);Element.update(d,a.html);n=false}})}}})}if(n){var r=0;if(p==1)r=checkMessaggio($F('msg'),false);else r=checkMessaggioStd($F('msg'),false);if(r>0){var m="/vola-sms/campagne/get_json.php";var g=Form.serialize('frm_inviosms');g="type=inviosms_3&msg_length="+r+"&"+g;_callAjaxCMP(m,g)}}break;default:myAlert('connection_error');break}}function cambiaFile(){$('filedett').style.display='none';$('maskfile').style.display='inline';$('reload').value='1'}function nuovaCampagna(){var a="/vola-sms/campagne/get_json.php";var b="type=nuova_campagna";_callAjaxCMP(a,b)}function sendCMP(){var a=Form.serialize("frm_inviosms");a+="&type=salva_campagna";var b="/vola-sms/campagne/get_json.php";_callAjaxCMP(b,a)}function loadDettaglioDiff(a){Element.hide('table_err');var b="/vola-sms/campagne/get_json.php";var c="type=dettagglio_cmp&idCampagna="+a;_callAjaxCMP(b,c)}function loadDettaglioDiff(a){var b="/vola-sms/campagne/get_json.php";var c="type=cmp_sms_programmati_dett&idcmp="+a;_callAjaxCMP(b,c)}function loadDettaglioReportInvio(a){Element.hide('table_err');var b="/vola-sms/campagne/get_json.php";var c=Form.serialize(a)+'&type=cmp_report_invio_dett';_callAjaxCMP(b,c)}function loadReportInvioList(a){Element.hide('table_err');var b="/vola-sms/campagne/get_json.php";var c=Form.serialize(a)+'&type=cmp_report_invio';_callAjaxCMP(b,c)}function deleteReportInvio(){var d=$('msg_error');if($('campagna_id')&&$F('campagna_id')<1){Element.show('table_err');msgerror="<span class='txt10bred'>Attenzione!<br>Selezionare dall'elenco dei report d'invio il report da cancellare.</span>";Element.update(d,msgerror);return}if($('status')&&$F('status')=="G"){Element.show('table_err');msgError="<span class='txt10bred'>Attenzione!<br>Impossibile cancellare una campagna in invio; gli SMS saranno inviati tutti e alla fine dell'invio sara' possibile cancellare la campagna.</span>";Element.update(d,msgError);return}if($('isMadre')&&$F('isMadre')){myConfirm('confirm_del_report_cmp_madre')}else{myConfirm('confirm_del_report_cmp')}}function doCMPDeleteReportInvio(){var a="/vola-sms/campagne/get_json.php";var b="type=cmp_report_invio&cmp_rep_del=Y&idCampagna="+$F('campagna_id');if($('isMadre'))b+="&is_madre="+$F('isMadre');_callAjaxCMP(a,b)}function downloadFile(a,b){var d=$('msg_error');if($('campagna_id')&&$F('campagna_id')<1){Element.show('table_err');msgerror="<span class='txt10bred'>Attenzione!<br>Selezionare dall'elenco dei report d'invio il report da esportare.</span>";Element.update(d,msgerror);return}if(b==0){if($F('filestats')==""){Element.show('table_err');msgerror="<span class='txt10red'>Attenzione!<br>Il file excel con il report d'invio da esporatre non e' ancora stato creato; riprovare piu' tardi.</span>";Element.update(d,msgerror);return}}else if(b==1){if($F('filedettagli')==""){Element.show('table_err');msgerror="<span class='txt10bred'>Attenzione!<br>Il file excel con il report d'invio di dettaglio da esporatre non e' ancora stato generato; riprovare piu' tardi.</span>";Element.update(d,msgerror);return}}$(a).action="/vola-sms/campagne/download.php?type="+b;$(a).submit();return}function deleteDifferito(){var d=$('msg_error');if($('campagna_id')&&$F('campagna_id')==""){Element.show('table_err');msgError="<span class='txt10bRosso'>Attenzione!</span><br>Selezionare dall'elenco degli invii differiti il report da cancellare";Element.update(d,msgError);return}myConfirm('confirm_del_campagna')}function doDeleteDifferito(){var a="/vola-sms/campagne/get_json.php";var b="type=del_campagna&idCampagna="+$F('campagna_id');if($('fk_madre'))b+="&fk_madre="+$F('fk_madre');_callAjaxCMP(a,b)}function reSendSMS(a){var b="/vola-sms/campagne/get_json.php";var c="campagna_id="+a+"&type=re_inviosms_1";_callAjaxCMP(b,c)}function applicaFiltroCMP(a){$('reload').value='1';if($('maskfile'))Element.hide('maskfile');if(a=='1'){var b="/vola-sms/campagne/get_json.php";var c="type=dest_filter";_callAjaxCMP(b,c)}else{Element.update('info_filter','Ricerca per categorie')}}function applicaFiltroContattiCMP(){var a="";if($('Cerca'))a=$F('Cerca');else if($('categorie'))a=$F('categorie');var b="/vola-sms/campagne/get_json.php";var c='filtro='+a+'&type=search_filter';var d=c.toQueryParams();c=Object.toQueryString(d);_callAjaxCMP(b,c)}function rimuoviFiltroContattiCMP(){var a="/vola-sms/campagne/get_json.php";var b='type=remove_filter';_callAjaxCMP(a,b)}function aggiungiDaFiltroCMP(){var a="";if($('categorie'))a=$F('categorie');var b=0;if($('numres'))b=$F('numres');var c="/vola-sms/campagne/get_json.php";var d='filtro='+a+'&type=add_filter&numres='+b;var e=d.toQueryParams();d=Object.toQueryString(e);_callAjaxCMP(c,d)}function _callAjaxCMP(a,b){try{var c=new Ajax.Request(a,{parameters:b,onFailure:ShowError,onComplete:_processJson})}catch(e){myAlert('connection_error')}}function _processJson(c){var f=null;if(typeof(SymOnLoad)!='undefined'){var g=c.responseText;f=nortonClean(g)}else f=c.responseText;var d;var h=null;try{h=f.evalJSON()}catch(e){h=null}if(h!=null){h.each(function(b){if(b.descr){b.descr.each(function(a){d=$(a.section);Element.update(d,a.html)})}else{if($(b.section)){d=$(b.section);Element.update(d,b.html)}}switch(b.action){case'req_login':case'dest_filter':case'res_filter':ShowLayer(null);break;case'inviosms':case'cmp_sms_programmati_dett':case're_inviosms':case'cmp_params_no_dests':break;case'add_filter':CloseDialogBox();break;case'save_cmp_ok':case'save_cmp_ko':case'save_cmp_nocredit':case'cmp_diff_err':case'cmp_resend_diff_err':case'cmp_duplicata':case'del_cmp_ok':case'del_cmp_err1':case'del_cmp_err2':case'del_cmp_err3':myAlert(b.action);break;case'new_cmp':loadJson('inviosms_1');break;default:myAlert('connection_error');break}})}else{myAlert('connection_error')}}
