// parasite.js: detect and warn about infestations of IE parasites
// release 1.10, 18-Apr-2002
// written by Andrew Clover <and@doxdesk.com>, use freely

// parasite_list: currently known parasites. Entries are in the form
// {classid, name, can, may}. 'can' contains a string of known problems
// with the parasite and 'may' suspected or minor ones.

var parasite_list= new Array(
  new Array('CE31A1F7-3D90-4874-8FBE-A5D97F8BC8F1', 'BargainBuddy', 'AS', 'P'),
  new Array('51958169-D5E3-11D1-AA42-0000E842E40A', 'BDE', 'S', 'A'),
  new Array('AB4DD0F0-38DA-4F48-AAFE-7DE7323BB6B2', 'ClickTheButton', 'AP', ''),
  new Array('0922EC1A-9EC7-11D3-80B9-00500487BDBA', 'CometCursor', 'AP', ''),
  new Array('A6475E6B-3C2E-4B1F-82FD-8F1C0B1D8AD0', 'CommonName', '', 'E'),
  new Array('EB6AFDAB-E16D-430B-A5EE-0408A12289DC', 'DownloadWare', 'S', ''),
  new Array('139D88E5-C372-469D-B4C5-1FE00852Ab9B', 'FavoriteMan', 'AS', ''),
  new Array('665ACD90-4541-4836-9FE4-062386BB8F05', 'FlashTrack', 'AP', 'E'),
  new Array('914AFB33-550B-4BD0-B4EF-8DA185504836', 'IEPlugin', 'APS', ''),
  new Array('B195B3B3-8A05-11D3-97A4-0004ACA6948E', 'HotBar', 'APS', ''),
  new Array('C7ADE150-743D-11D4-8141-00E029626F6A', 'NetPal', 'APS', ''),
  new Array('D5C778F1-Cf13-4E70-ADF0-45A953E7CB8B', 'NetworkEssentials', 'AP', ''),
  new Array('DD521A1D-1F98-11D4-9676-00E018981B9E', 'NewDotNet', 'S', 'E'),
  new Array('DD770A75-CE18-11D5-98D8-00E018981B9E', 'NewDotNet', 'S', 'E'),
  new Array('0CEF79D8-D373-11D3-A7D3-00062962BF17', 'Onflow', 'A', 'S'),
  new Array('FEE7FD53-3356-4D4D-8978-2C4AE3A7E109', 'SaveNow', 'AE', 'PS'),
  new Array('3D7247E8-5DB8-11D4-8A72-0050DA2EE1BE', 'TopText', 'A', 'P'),
  new Array('0000026A-8230-4DD4-BE4F-6889D1E74167', 'TPS108', 'APS', ''),
  new Array('00000000-5EB9-11D5-9D45-009027C14662', 'VX2', 'APS', ''),
  new Array('C900B400-CDFE-11D3-976A-00E02913A9E0', 'webHancer', 'P', 'S'),
  new Array('40AC4D2D-491D-11D4-AAF2-0008C75DCD2B', 'WurldMedia', 'P', 'E'),
  new Array('FFFFEEEE-DDDD-CCCC-BBBB-AAAA99998888', '', '', '')  // control
);

// parasite_URL: a directory containing <parasite name>.html files with
// more information and removal instructions. Change this if you want to
// provide your own information.

var parasite_URL= 'http://and.doxdesk.com/parasite/';

// text generated by the script. Change this for different languages or
// to customise the output for your site, etc.

var parasite_WARN= 'Varning!';
var parasite_INFEST1= 'Din webläsare verkar ha "';
var parasite_INFEST2= '" virus/spyware installerad';
var parasite_PROB1= '. Denna mjukvara ';
var parasite_CAN= 'kan ';
var parasite_MAY= 'kan ';
var parasite_AND= ' och ';
var parasite_INFESTPS= '. Den kan ha blivit installerad utan din '+
    'vetskap när du laddade ner någon annan mjukvara. '+
    'Du rekommenderas att avlägsna denna mjukvara innan du loggar in'+
    'på någon site eftersom dina uppgifter annars kan vara oskyddade.';
var parasite_INFO= 'Information och instruktioner hur man tar bort det.';

var parasite_PROB= new Array();
parasite_PROB['A']= 'visa dig oönskad reklam';
parasite_PROB['P']= 'kränka din personliga information via internet';
parasite_PROB['S']= 'påverka din dators säkerhet';
parasite_PROB['E']= 'orsaka fel och ge stabilitetsproblem';

// END of user-serviceable parts

var parasite_status;
var parasite_DELAY= 250;

function parasite_write() {
  var i, p;
  document.writeln('<div id="parasite" style="display: none;">');
  for (i= parasite_list.length; i-->0;) {
    p= parasite_list[i];
    document.writeln(
      '<object classid="clsid:'+p[0]+'" '+
      'codebase="javascript:parasite_ok('+i+')"></object>'
    );
    p[4]= true;
  }
  document.writeln('</div>');
  parasite_status= 'wait';
  window.setTimeout(parasite_check, parasite_DELAY);
}

function parasite_ok(i) {
  parasite_list[i][4]= false;
}

function parasite_check() {
  var i, p, h;
  var infestations= new Array();
  if (parasite_list[0][4]) {
    parasite_status= 'noAX';
    return;
  }
  for (i= parasite_list.length-1; i-->0;) {
    p= parasite_list[i];
    if (p[4])
      infestations[infestations.length]= p;
  }
  if (infestations.length==0) {
    parasite_status= 'clean';
    return;
  }
  h= '<h2>'+parasite_WARN+'</h2>';
  for (i= infestations.length; i-->0;) {
    p= infestations[i];
    h= h+'<p>'+parasite_INFEST1+p[1]+parasite_INFEST2;
    if (p[2]!='' || p[3]!='')
      h= h+parasite_PROB1;
    if (p[2]!='')
      h= h+parasite_CAN+parasite_probs(p[2]);
    if (p[2]!='' && p[3]!='')
      h= h+','+parasite_AND;
    if (p[3]!='')
      h= h+parasite_MAY+parasite_probs(p[3]);
    h= h+parasite_INFESTPS;
    h= h+'<a href="'+parasite_URL+p[1]+'.html">'+parasite_INFO+'</a></p>';
  }
  parasite_status= 'dirty';
  document.all['parasite'].innerHTML= h;
  document.all['parasite'].style.display= 'block';
}

function parasite_probs(s) {
  var i;
  var r= '';
  for (i= 0; i<s.length; i++) {
    r= r+parasite_PROB[s.charAt(i)];
    if (i==s.length-2) r= r+parasite_AND;
    if (i<s.length-2)  r= r+', ';
  }
  return r;
}

parasite_status= 'noIE';
if (window.clientInformation)
  if (window.clientInformation.platform=='Win32')
    parasite_write();
