function binToInt(t){for(var e=0,r=parseInt(t.length)-1,s=0;s<t.length;s++)“1”==t.charAt(s)&&(e+=Math.pow(2,r)),r–;return e}function intToBin(t,e){for(var r=2,s=parseInt(t),n=s.toString®,a=n.length;e>a;a++)n=“0”+n;return n}function HexToNum(t){var e=MakeNum(t.substring(0,1)),r=0;return t.length>1&&(r=MakeNum(t.substring(1,2))),“X”==r?“00”:16*e+1*r}function MakeNum(t){if(t>=“0”&&“9”>=t)return t;switch(t.toUpperCase()){case“A”:return 10;case“B”:return 11;case“C”:return 12;case“D”:return 13;case“E”:return 14;case“F”:return 15;default:return 16}return 16}function intToHex(t){var e=“0123456789ABCDEF”;for(h=“”,t=parseInt(t),j=0;j<=3;j++)h+=e.charAt(t>>8*j+4&15)+e.charAt(t>>8*j&15);return h.substring(0,2)}function ToHex(t){var e=“0123456789ABCDEF”,r=“”;return r=e.charAt(15&t),t>>=4,r=e.charAt(15&t)+r}function getSevenBit(t){for(var e=0;el
“</td>”}u+=“<td align=center width=75>+++++++</td>”;for(var o=0;orestArray[n]
“</span>”septetsArray[n]
“</td>”,s++,n++,8==s&&(s=1);b+=“<td align=center width=75> </td>”;for(var o=0;orestArray[o-1]
“</span> </td>”,c=c+“<td align=center width=75> ”+sevenbitdefault[binToInt(restArray)]+“ ”,a++),i+=sevenbitdefault[binToInt(septetsArray)],g=g+“<td align=center width=75> ”septetsArray[o]
“ </td>”,c=c+“<td align=center width=75> ”+sevenbitdefault[binToInt(septetsArray)]+“ ”,a++):(i+=sevenbitdefault[binToInt(septetsArray+restArray)],g=g+“<td align=center width=75> ”septetsArray[o]
“<span style='background-color: #FFFF00’>”restArray[o-1]
“ </span></td>”,c=c+“<td align=center width=75> ”+sevenbitdefault[binToInt(septetsArray+restArray)]+“ </td>”,a++);return a!=e?(i+=sevenbitdefault[binToInt(restArray)],g=g+“<td align=center width=75><span style='background-color: #FFFF00’> ”restArray[o-1]
“</span> </td>”,c=c+“<td align=center width=75> ”+sevenbitdefault[binToInt(restArray)]+“ </td>”):(g+=“<td align=center width=75>+++++++</td>”,c+=“<td align=center width=75> </td>”),calculation=“Conversion of 8-bit octets to 7-bit default alphabet
”u
“</tr>”b
“</tr></table>”g
“</tr>”c
“</tr></table>”,i}function getUserMessage16(t,e){var r=“”;calculation=“Not implemented”;for(var s=0;s<t.length;s+=4){var n=t.substring(s,s+2),a=t.substring(s+2,s+4);r+=“”+String.fromCharCode(256*HexToNum(n)+HexToNum(a))}return r}function getUserMessage8(t,e){var r=“”;calculation=“Not implemented”;for(var s=0;s<t.length;s+=2){var n=t.substring(s,s+2);r+=“”+String.fromCharCode(HexToNum(n))}return r}function getPDUMetaInfo(t){var e=t,r=0,s=“”;if(“AT”==e.substr(0,2))for(var n=0;n<e.length;n++)if(10==e.charCodeAt(n)){e=e.substr(n+1);break}for(var a=“”,n=0;n<e.length;n++)16!=MakeNum(e.substr(n,1))&&(a+=e.substr(n,1));e=a;var i=HexToNum(e.substring(0,2)),u=e.substring(2,2+2*i),b=u.substring(0,2),g=u.substring(2,2+2*i);0!=i&&(g=semiOctetToString(g),(“F”==g.substr(g.length-1,1)||“f”==g.substr(g.length-1,1))&&(g=g.substring(0,g.length-1)),91==b&&(g=“+”+g));var c=2*i+2;r=c;var o=e.substr(r,2);r+=2,32==(32&HexToNum(o))&&(s+=“Receipt requested”);var l=0;if(64==(64&HexToNum(o))&&(l=1,s+=“Data Header”),1==(3&HexToNum(o))||3==(3&HexToNum(o))){3==(3&HexToNum(o))&&(s=“Unknown Message”);var d=HexToNum(e.substr(r,2));r+=2;var p=HexToNum(e.substr(r,2));p%2!=0&&(p+=1),r+=2;var h=e.substr(r,2);r+=2;var v=semiOctetToString(e.substring(r,r+p));(“F”==v.substr(v.length-1,1)||“f”==v.substr(v.length-1,1))&&(v=v.substring(0,v.length-1)),91==h&&(v=“+”+v),r+=p;var f=e.substr(r,2);r+=2;var m=e.substr(r,2),T=tpDCSMeaning(m);r+=2;var A;switch(24&HexToNum(o)){case 0:A=“Not Present”;break;case 16:A=“Rel ”+cValid(HexToNum(e.substr(r,2))),r+=2;break;case 8:A=“Enhanced - Not Decoded”,r+=14;break;case 24:A=“Absolute - Not Decoded”,r+=14}var y=HexToNum(e.substr(r,2));r+=2;var N=DCS_Bits(m),w=“Undefined format”;7==N?w=getUserMessage(e.substr(r,e.length-r),y):8==N?w=getUserMessage8(e.substr(r,e.length-r),y):16==N&&(w=getUserMessage16(e.substr(r,e.length-r),y)),w=w.substr(0,y),16==N&&(y/=2),s=JSON.stringify({mtype:s,smsc:g,number:v,validity:A,tp_pid:f,tp_dcs:m,tp_dcs_popis:T,message:w,mlength:y})}else if(0==(3&HexToNum(o))){var p=HexToNum(e.substr(r,2));r+=2;var h=e.substr(r,2);r+=2;var v;“D0”==h?(_sl=p,p%2!=0&&(p+=1),v=getUserMessage(e.substring(r,r+p),parseInt(_sl/2*8/7))):(p%2!=0&&(p+=1),v=semiOctetToString(e.substring(r,r+p)),(“F”==v.substr(v.length-1,1)||“f”==v.substr(v.length-1,1))&&(v=v.substring(0,v.length-1)),91==h&&(v=“+”+v)),r+=p;var f=e.substr(r,2);r+=2;var m=e.substr(r,2),T=tpDCSMeaning(m);r+=2;var x=semiOctetToString(e.substr(r,14)),H=x.substring(0,2),M=x.substring(2,4),k=x.substring(4,6),S=x.substring(6,8),F=x.substring(8,10),C=x.substring(10,12);x=k+“/”M
“/”H
“ ”S
“:”F
“:”C
“ GMT ?”,r+=14;var y=HexToNum(e.substr(r,2));r+=2;var N=DCS_Bits(m),w=“Undefined format”;7==N?w=getUserMessage(e.substr(r,e.length-r),y):8==N?w=getUserMessage8(e.substr(r,e.length-r),y):16==N&&(w=getUserMessage16(e.substr(r,e.length-r),y)),w=w.substr(0,y),16==N&&(y/=2),s=JSON.stringify({mtype:s||“Receive message”,smsc:g,number:v,validity:A,tp_pid:f,tp_dcs:m,tp_dcs_popis:T,message:w,mlength:y,receipt_at:x})}else{s=“Status Report”;var d=HexToNum(e.substr(r,2));r+=2;var p=HexToNum(e.substr(r,2));p%2!=0&&(p+=1),r+=2;var h=e.substr(r,2);r+=2;var v=semiOctetToString(e.substring(r,r+p));(“F”==v.substr(v.length-1,1)||“f”==v.substr(v.length-1,1))&&(v=v.substring(0,v.length-1)),91==h&&(v=“+”+v),r+=p;var x=semiOctetToString(e.substr(r,14)),H=x.substring(0,2),M=x.substring(2,4),k=x.substring(4,6),S=x.substring(6,8),F=x.substring(8,10),C=x.substring(10,12),I=x.substring(12,14);x=k+“/”M
“/”H
“ ”S
“:”F
“:”C
“ GMT +”+I/4,r+=14;var D=semiOctetToString(e.substr(r,14)),U=D.substring(0,2),_=D.substring(2,4),B=D.substring(4,6),O=D.substring(6,8),E=D.substring(8,10),R=D.substring(10,12),j=x.substring(12,14);D=B+“/”_
“/”U
“ ”O
“:”E
“:”R
“ GMT +”+j/4,r+=14;var J=e.substr(r,2);s=JSON.stringify({mtype:s,smsc:g,number:v,sms_id:d,validity:A,tp_pid:f,tp_dcs:m,tp_dcs_popis:T,message:w,mlength:y,sent_at:x,receipt_at:D,status:J})}return s}function stringToPDU(t,e,r,s,n,a,i,u){var b=s,g=“”,c=“”,o=“”,l=0,d=0,p=“”,h=“”;0!=r&&(p=“81”,“+”==r.substr(0,1)?(p=“91”,r=r.substr(1)):“0”!=r.substr(0,1)&&(p=“91”),r.length%2!=0&&(r+=“F”),h=semiOctetToString®,l=(p+“”+h).length/2,d=l),10>l&&(l=“0”+l);var v;v=i?u?“3100”:“2100”:u?“1100”:“0100”;var f=“81”;“+”==e.substr(0,1)?(f=“91”,e=e.substr(1)):“0”!=e.substr(0,1)&&(f=“91”);var m=intToHex(e.length);e.length%2!=0&&(e+=“F”);var T=semiOctetToString(e),A=“00”,y=0;switch(-1!=n&&(y=16|n),b){case 7:break;case 8:y=4|y;break;case 16:y=8|y}var N=intToHex(y),w=“”;u&&(w=intToHex(a));var x;if(7==b){x=intToHex(t.length);for(var H=0;H<=t.length;H++){if(H==t.length){“”!=c&&(o=o+“”+intToHex(binToInt©));break}var M,k=intToBin(getSevenBit(t.charAt(H)),7);0!=H&&H%8!=0?(g=k.substring(7-H%8),M=g+c,o=o+“”+intToHex(binToInt(M)),c=k.substring(0,7-H%8)):c=k.substring(0,7-H%8)}}else if(8==b){x=intToHex(t.length);for(var S=0,H=0;H<t.length;H++)S=getEightBit(t.charCodeAt(H)),o=o+“”+ToHex(S)}else if(16==b){x=intToHex(2*t.length);for(var F=0,H=0;H<t.length;H++)F=get16Bit(t.charCodeAt(H)),o=o+“”+ToHex((65280&F)>>8)+ToHex(255&F)}var C=l+p+h+v+m+f+T+A+N+w+x,I=C+o,D=I.length/2-d-1;return JSON.stringify({size:D,pdu:I})}function DCS_Bits(t){var e=7,r=HexToNum(t);switch(192&r){case 0:switch(12&r){case 4:e=8;break;case 8:e=16}break;case 192:switch(48&r){case 32:e=16;break;case 48:4&r||(e=8)}}return e}function tpDCSMeaning(t){var e=t,r=HexToNum(t);switch(192&r){case 0:if(e=32&r?“Compressed Textn”:“Uncompressed Textn”,16&r)switch(e+=“class:”,3&r){case 0:e+=“0n”;break;case 1:e+=“1n”;break;case 2:e+=“2n”;break;case 3:e+=“3n”}else e+=“class: No classn”;switch(e+=“Alphabet:”,12&r){case 0:e+=“Defaultn”;break;case 4:e+=“8bitn”;break;case 8:e+=“UCS2(16)bitn”;break;case 12:e+=“Reservedn”}break;case 64:case 128:e=“Reserved coding groupn”;break;case 192:switch(48&r){case 0:e=“Message waiting groupn”,e+=“Discardn”;break;case 16:e=“Message waiting groupn”,e+=“Store Message. Default Alphabetn”;break;case 32:e=“Message waiting groupn”,e+=“Store Message. UCS2 Alphabetn”;break;case 48:e=“Data coding message classn”,e+=4&r?“Default Alphabetn”:“8 bit Alphabetn”}}return e}function Validity(t){return isNaN(parseInt(t))?t=0:(t=parseInt(t),0>t&&(t=0),t>255&&(t=255)),cValid(t)}function cValid(t){var e,r=“”;t=parseInt(t),143>=t?e=5*(t+1):167>=t?(e=(t-143)/2+12,e*=60):196>=t?(e=t-166,e*=1440):(e=t-192,e*=10080);var s,n,a,i;return s=e%60,n=e/60,a=n/24,i=a/7,n%=24,a%=7,0!=parseInt(i)&&(r+=parseInt(i)+“w ”),0!=parseInt(a)&&(r+=parseInt(a)+“d ”),0!=parseInt(n)&&(r+=parseInt(n)+“h ”),0!=s&&(r+=s+“m ”),r}sevenbitdefault=new Array(“@”,“£”,“$”,“¥”,“è”,“é”,“ù”,“ì”,“ò”,“Ç”,“n”,“Ø”,“ø”,“r”,“Å”,“å”,“Δ”,“_”,“Φ”,“Γ”,“Λ”,“Ω”,“Π”,“Ψ”,“Σ”,“Θ”,“Ξ”,“€”,“Æ”,“æ”,“ß”,“É”,“ ”,“!”,'“',”#“,”¤“,”%“,”&“,”'“,”(“,”)“,”*“,”+“,”,“,”-“,”.“,”/“,”0“,”1“,”2“,”3“,”4“,”5“,”6“,”7“,”8“,”9“,”:“,”;“,”<“,”=“,”>“,”?“,”¡“,”A“,”B“,”C“,”D“,”E“,”F“,”G“,”H“,”I“,”J“,”K“,”L“,”M“,”N“,”O“,”P“,”Q“,”R“,”S“,”T“,”U“,”V“,”W“,”X“,”Y“,”Z“,”Ä“,”Ö“,”Ñ“,”Ü“,”§“,”¿“,”a“,”b“,”c“,”d“,”e“,”f“,”g“,”h“,”i“,”j“,”k“,”l“,”m“,”n“,”o“,”p“,”q“,”r“,”s“,”t“,”u“,”v“,”w“,”x“,”y“,”z“,”ä“,”ö“,”ñ“,”ü“,”à“);var calculation=”“,maxkeys=160,alerted=!1;