// parasite.js: IE parasite detector; http://www.doxdesk.com/parasite/
// written by Andrew Clover, use freely; mailto:and@doxdesk.com
// release 1.39, 31-Mar-2003

// parasite_list: currently known parasites. Entries are in the form
// {classid, name/variant, 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('FFEEDDCC-BBAA-9988-7766-554433221100','(control)','',''),
new Array('F414C260-6AC0-11CF-B6D1-00AA00BBBB58','(control)','',''),

new Array('06DFEDAA-6196-11D5-BFC8-00508B4A487D','7FaSSt','P',''),
new Array('D8EFADF1-9009-11D6-8C73-608C5DC19089','AccessPlugin','','S'),
new Array('A4A435CF-3583-11D4-91BD-0048546A1450','ACXInstall','S',''),
new Array('00000012-890E-4AAC-AFD9-EFF6954A34DD','AdBreak','APS',''),
new Array('00000000-D9E3-4BC6-A0BD-3D0CA4BE5271','AdBreak/FHFMM','APS',''),
new Array('765E6B09-6832-4738-BDBE-25F226BA2AB0','AdultLinks/QcBar','',''),
new Array('5C015AA7-3392-4044-90CC-8E95019CFFF1','AdultLinks/LinkZZ','',''),
new Array('910E7499-6311-4843-8EB0-0100A7955A1F','Aornum','A','S'),
new Array('657B9354-BB3B-4500-A9B0-109B4FA64815','ASpam/Amcis','S', ''),
new Array('499DB658-1909-420B-931A-4A8CAEFD232F','ASpam/Drvman','S', ''),
//new Array('44A23DAB-8D31-43AE-9F68-5AC24CF7CE8C','AutoSearch','','A'),//crashes
new Array('CE31A1F7-3D90-4874-8FBE-A5D97F8BC8F1','BargainBuddy/Apuc','AS','P'),
new Array('72F81209-6C73-4DE7-A3DC-408A8BD472FB','BargainBuddy/Versn','AS','P'),
new Array('51958169-D5E3-11D1-AA42-0000E842E40A','BDE','S','A'),
new Array('F20AE630-6DE2-43CA-A988-7CD40C36EF0B','BrowserAid','AS',''),
new Array('6D55490C-1BD4-4790-BA31-84D261316E28','BrowserAid/ABCSearch','S',''),
new Array('D34F641F-5210-4EB0-8ED5-9179F47E15B7','BrowserAid/BrowserPal','S','AP'),
new Array('868B015F-3515-44DB-B0AD-182CD058985E','BrowserToolbar','ASPE',''),
new Array('3E8A1971-45A5-45EE-828B-8C78431C0BD4','Bulla','A',''),
new Array('AB4DD0F0-38DA-4F48-AAFE-7DE7323BB6B2','ClickTheButton','AP',''),
new Array('B83FC273-3522-4CC6-92EC-75CC86678DA4','CnsMin','','E'),
new Array('268CBA84-25AE-4D38-89FE-E7606A6460E3','CometCursor/Shop','A','P'),
new Array('1678F7E1-C422-11D0-AD7D-00400515CAAA','CometCursor/Plus','A','P'),
new Array('AD7FAFB0-16D6-40C3-AF27-585D6E6453FD','Comload','S',''),
new Array('A6475E6B-3C2E-4B1F-82FD-8F1C0B1D8AD0','CommonName/Toolbar','A','PE'),
new Array('9346A6BB-1ED0-4174-AFB4-13CD4EC0AA40','CommonName','A','PES'),
new Array('C5067F59-9D0D-11D2-AA90-000000000000','CrackedEarth','A',''),
new Array('3750BFA3-1392-4AF3-AF86-9D2D4776E5A4','Cytron','A',''),
new Array('7DD896A9-7AEB-430F-955B-CD125604FDCB','DailyWinner','A','P'),
new Array('D53B810F-6219-11D4-95B6-0040950375E7','DialerActiveX/AllInOne','',''),
new Array('8702D9E1-890B-4BF2-A233-FA44E582B2DE','DialerActiveX/GoInDirect','S',''),
new Array('CEB29DA4-7AFA-4F24-B3CD-17351D590DF0','DialerOffline','',''),
new Array('8869786C-8E72-45DC-911D-AB3416AC1DF1','DownloadReceiver','A',''),
new Array('EB6AFDAB-E16D-430B-A5EE-0408A12289DC','DownloadWare','S',''),
new Array('8786386E-4B22-11D6-9C60-E5DA06D87378','eStart','APS',''),
new Array('F9765480-72D1-11D4-A75A-004F49045A87','eXactSearch','AS',''),
new Array('CCE83E45-30B2-4BAE-B1F5-25D128D27A43','ezCyberSearch','A',''),
new Array('139D88E5-C372-469D-B4C5-1FE00852AB9B','FavoriteMan','S','A'),
new Array('00000EF1-34E3-4633-87C6-1AA7A44296DA','FavoriteMan','S','A'),
new Array('000000F1-34E3-4633-87C6-1AA7A44296DA','FavoriteMan/FOne','S','A'),
new Array('665ACD90-4541-4836-9FE4-062386BB8F05','FlashTrack','AP','E'),
new Array('99B0B113-6F25-49C9-8ECF-2FDDD3EDFF6A','FreeScratchAndWin/Beta','AS','P'),
new Array('47CC4DCD-BBC9-47A3-A677-44DB2559E0D8','FreeScratchAndWin/v5','AS','P'),
new Array('29EEFF42-F3FA-11D5-A9D5-00500413153C','Gator/PDP/3061','S','E'),
new Array('A9EF28A2-55D1-480B-A403-84928D59F556','Gator/PDP/3296','','SE'),
new Array('4006E7B2-0FB2-4345-B388-083B138E80AF','Gator/PDP/3490','','SE'),
new Array('54E7E082-1DA6-412E-96B5-C290FCEF5329','Gator/PDP/4032','','SE'),
new Array('731918D2-517A-47e2-886A-3BC1380C591D','Gator/PDP/4094','','SE'),
new Array('5843A29E-1246-11D4-BA8C-0050DA707ACD','Gratisware','AP','S'),
new Array('B195B3B3-8A05-11D3-97A4-0004ACA6948E','HotBar','APS',''),
new Array('8A05273A-2EA5-42DE-AA75-59EA7D9D50D7','HuntBar/TS','S',''),
new Array('59450DB0-341D-4436-B380-B8377D8B6796','HuntBar/Side','PS',''),
new Array('A6250FB8-2206-499E-A7AA-E1EC437E71C0','HuntBar/Link','P',''),
new Array('D6E66235-7AA6-44ED-A06C-6F2033B1D993','HuntBar/MS','S',''),
new Array('63B78BC1-A711-4D46-AD2F-C581AC420D41','HuntBar/BT','PS',''),
new Array('1D2DCA0D-B30F-40AD-9690-087105F214EC','IEAccess','S',''),
new Array('914AFB33-550B-4BD0-B4EF-8DA185504836','IEPlugin','APS',''),
new Array('730F2451-A3FE-4A72-938C-FC8A74F15978','IGetNet/v4','','E'),
new Array('60E78CAC-E9A7-4302-B9EE-8582EDE22FBF','IGetNet/v5','','E'),
new Array('61D029AC-972B-49FE-A155-962DFA0A37BB','ILookup/Ineb','',''),
new Array('C82B55F0-60E0-478C-BC55-E4E22F11301D','ILookup/Chgrgs','',''),
new Array('D6862A22-1DD6-11D3-BB7C-444553540000','InetSpeak/BHO42602','A',''),
new Array('2E12B523-3D4C-4FAC-9B04-0376A8F5E879','InetSpeak/WindowsIE','A',''),
new Array('388D7EBB-CBB9-4126-8DB2-86DC6863A206','InetSpeak/Iexplorr/A','A',''),
new Array('BC0D2038-2DE5-4A6F-92BC-B18A3E0DE32A','InetSpeak/Iexplorr/B','A',''),
new Array('A76066C9-941B-4209-9D96-0AC80501100D','InetSpeak/Iexplorr/C','A',''),
new Array('39AF31DD-EAFC-45EA-A56C-385B52E25CC0','InetSpeak/Iexplorr2','A',''),
new Array('4CEBBC6B-5CEE-4644-80CF-38980BAE93F6','InetSpeak/Iexplorr23','A',''),
new Array('C389F2CF-26ED-11D5-A212-004005F6FEB6','InetSpeak/eBoom','A',''),
new Array('421A63BA-4632-43E0-A942-3B4AB645BE51','InternetWasher','','S'),
new Array('000004CC-E4FF-4F2C-BC30-DBEF0B983BC9','IPInsight/ipinsigt','A',''),
new Array('66993893-61B8-47DC-B10D-21E0C86DD9C8','LinkReplacer','SPE',''),
new Array('D44B5436-B3E4-4595-B0E9-106690E70A58','lop/Toolbar','A','S'),
new Array('07C0D34D-11D7-43F7-832B-C6BB41726F5F','lop/AYB','',''),
new Array('B2C03E2E-2219-4FF9-810A-540ACA63F8D9','MarketScore','P',''),
new Array('E9C87343-0E63-4ACA-9B76-B155333EE67A','MasterDialer/AXDownload','S',''),
new Array('8699D723-6DC6-47D3-B55C-489BA006B917','MasterDialer/WebInstall','S',''),
new Array('788A7678-38D7-4EEC-9D20-67A86D21A7FD','MasterDialer/WebUpdate','S',''),
new Array('FA79FA22-8DB3-43D1-997B-6DBFD8845569','Meridian','AS',''),
new Array('DA9A0B1E-9B7B-11D3-B8A4-00C04F79641C','MoneyTree/NSUpdate','','S'),
new Array('A0F0D762-D1DE-43af-B70E-D87864743EB3','MoneyTree/NSLite','','S'),
new Array('E8EDB60C-951E-4130-93DC-FAF1AD25F8E7','MoneyTree/UniDist','','S'),
new Array('405FD721-04EF-4EF2-AB96-FB31D32D4643','MoneyTree/Dyfuca','','S'),
new Array('014DA6C1-189F-421A-88CD-07CFE51CFF10','MySearch/MySearch','',''),
new Array('0494D0D9-F8E0-41ad-92A3-14154ECE70AC','MySearch/MyWay','',''),
new Array('C7ADE150-743D-11D4-8141-00E029626F6A','NetPal','APS',''),
new Array('6085FB5B-C281-4B9C-8E5D-D2792EA30D2F','NetPal','APS',''),
new Array('D5C778F1-CF13-4E70-ADF0-45A953E7CB8B','NetworkEssentials/NE','AP',''),
new Array('85A702BA-EA8F-4B83-AA07-07A5186ACD7E','NetworkEssentials/ME','AP',''),
new Array('DD770A75-CE18-11D5-98D8-00E018981B9E','NewDotNet/A','S',''),
new Array('4A2AACF3-ADF6-11D5-98A9-00E018981B9E','NewDotNet/B','S',''),
new Array('E9407738-A996-421A-A309-5C93C699E10A','NewtonKnows','APS',''),
new Array('A0BD4FF5-D828-11D3-9EB5-00600837E6EE','NowBox','A',''),
new Array('0CEF79D8-D373-11D3-A7D3-00062962BF17','Onflow','A','S'),
new Array('02C20140-76F8-4763-83D5-B660107B7A90','OnlineDialer/MaConnect','','S'),
new Array('AB1E62EB-3DE3-428F-A417-64AB3C9B6CF0','OnlineDialer/eConnect','','S'),
new Array('11BF0E2B-4229-4ADC-9C11-1C6968731018','OnlineDialer/VLoading','','S'),
new Array('E44151C8-0C6C-4A7D-B677-4FCC9552E957','OnlineDialer/SunInfo','','S'),
new Array('91DF007C-2F7F-4731-BE1F-38C1C13CEB8B','OnlineDialer/BelCall','','S'),
new Array('00000000-8633-1405-0B53-2C8830E9FAEC','OnlineDialer/IEDialer','','S'),
new Array('A47693D1-7E2A-4DE3-9907-310C5D310B5F','PerMedia/A','APS',''),
new Array('7011471D-3F74-498E-88E1-C0491200312D','PerMedia/B','APS',''),
new Array('8CDC6A46-08AB-435B-A3FA-7CC00E74EC9F','PerMedia/C','APS',''),
new Array('36372A5F-1436-4A70-B808-59F6DFD36658','PerMedia/D','APS',''),
new Array('F0AA2376-F073-4E57-86E8-0238F99087C7','RapidBlaster','AS',''),
new Array('FEE7FD53-3356-4D4D-8978-2C4AE3A7E109','SaveNow/Download','AE',''),
new Array('FC327B3F-377B-4CB7-8B61-27CD69816BC3','SaveNow/Db','A',''),
new Array('E2F2B9D0-96B9-4B25-B90C-636ECB207D18','SaveNow/WUInst','AS',''),
new Array('EC788B03-A743-4274-AC9E-DB4F2A03F515','SearchAndBrowse','','E'),
new Array('23DDAE8C-6A79-4D62-80AA-E95D89CB9811','SearchExplorer','APSE',''),
new Array('A116A5C1-AD77-446C-992A-F56200B112DB','Searchex','',''),
new Array('6C413541-29A1-4FFE-894C-9D68313C9F73','SearchitBar','S',''),
new Array('11990E9F-2A4D-11D6-9507-02608CDD2842','SearchSquire/v1','A','E'),
new Array('907CA0E5-CE84-11D6-9508-02608CDD2842','SearchSquire/v2','AE',''),
new Array('30402FF4-3E71-4A1C-9B4B-1CD3486A9FB2','ShopAtHomeSelect','PS','E'),
new Array('0835121F-6472-43BD-8A40-D9221FF1C4CE','SideStep','A','P'),
new Array('CE7C3CF0-4B15-11D1-ABED-709549C10000','Srng','S','P'),
new Array('E0B795B4-FD95-4ABD-A375-27962EFCE8CF','StarDialer','','S'),
new Array('E3F7205F-2AE0-4BF0-816B-2D24A5F20EC7','StripPlayer','S',''),
new Array('53E10C2C-43B2-4657-BA29-AAE179E7D35C','SubSearch/HighTraffic/A','A','S'),
new Array('A8B9F08F-2FC4-4ADE-9049-CFBA586971BA','SubSearch/HighTraffic/B','A','S'),
new Array('77F1268B-6C19-4C61-962D-54691A128CD2','SubSearch/v2','AS',''),
new Array('4C4871FD-30F6-4430-8834-BC75D58F1529','SubSearch/v21','A','S'),
new Array('C776136E-FDB9-4F4B-837D-90593FB5A3FA','SuperBar','AS',''),
new Array('1E6F1D6A-1F20-11D4-8859-00A0CCE26836','SVAPlayer','AS',''),
new Array('69550BE2-9A78-11D2-BA91-00600827878D','TinyBar','','A'),
new Array('69555BE2-9A78-11D2-BA91-00600827878D','TinyBar','','A'),
new Array('3D7247E8-5DB8-11D4-8A72-0050DA2EE1BE','TopText','A','P'),
new Array('00000000-5EB9-11D5-9D45-009027C14662','Transponder','APS','E'),
new Array('0000026A-8230-4DD4-BE4F-6889D1E74167','Transponder/TPS108','APS',''),
new Array('00000580-C637-11D5-831C-00105AD6ACF0','Transponder/MSView','APS',''),
new Array('FFD2825E-0785-40C5-9A41-518F53A8261F','Transponder/SiteHlpr','ASP',''),
new Array('53CBEE82-D747-11D3-9ED0-005004189684','UCmore','P',''),
new Array('C900B400-CDFE-11D3-976A-00E02913A9E0','webHancer','P','S'),
new Array('B5E60A66-0C51-4894-8DF8-CBDF4E478D58','Wazam','',''),
new Array('40AC4D2D-491D-11D4-AAF2-0008C75DCD2B','WurldMedia/bpboh','P','E'),
new Array('D14641FA-445B-448E-9994-209F7AF15641','WurldMedia','P','SE'),
new Array('3A279869-C6B6-4410-A041-0435DE6AD916','WurldMedia/MShop','P',''),
new Array('98D7B53E-B1D2-4755-B0A4-703E18FF91E8','WurldMedia/MShop','P',''),
new Array('1B80440D-B4C0-49D7-8D2F-77F16777629B','WurldMedia/MPohs','P',''),
new Array('69A4F9FF-E915-11D5-A9F1-009099104002','XDialer/XDial','',''),
new Array('9E7138EE-4E7B-11D5-94EF-006008A4ED7F','XDialer/DialX','',''),
new Array('8C6C6922-6258-44AC-9912-53964AC55272','XLoader','','S'),
new Array('57E69D5A-6539-4D7D-9637-775DE8A385B4','Xupiter','ASE',''),
new Array('3C5BA506-6C30-4738-9CED-797ACADEA8DC','Xupiter/Sqwire','ASE',''),
new Array('D7B3E460-9968-4191-BD6F-BEED1BC18482','Xupiter/OrbitExplorer','ASE',''),
new Array('72A58725-2635-4725-8C53-676DFD1FEB8D','ZeroPopUp','S','')
);

// directory containing <parasite major name>.html files with more info

var parasite_URL= 'http://www.doxdesk.com/parasite/';

// text generated by the script, change for different languages etc.

var parasite_WARN= 'Warning!';
var parasite_INFEST1= 'Your browser appears to have the "';
var parasite_INFEST2= '" parasite installed';
var parasite_PROB1= '. This software ';
var parasite_CAN= 'can ';
var parasite_MAY= 'may ';
var parasite_AND= ' and ';
var parasite_INFESTPS='. It might have been installed without your knowledge. Since this software can interfere with the business operations of this website, please remove it before continuing. ';
var parasite_INFO= 'Click here for detailed information about this particular parasite and removal instructions.';

var parasite_PROB= new Array();
parasite_PROB['A']= 'present you with unwanted advertising';
parasite_PROB['P']= 'invade your on-line privacy';
parasite_PROB['S']= 'compromise your computer\'s security';
parasite_PROB['E']= 'cause errors and stability problems';

// END of user-serviceable parts

var parasite_status= 'NoIE';
var parasite_DELAY= 500;

function parasite_wscript() {
  var ie= WScript.createObject('InternetExplorer.Application');
  var h= '<script src="file:///'+WScript.scriptFullName+'"></script>'
  ie.navigate('about:'+h);
  ie.visible= true;
}

function parasite_write() {
  var i, p, h= '';
  var cb=(document.implementation)?'view-source:about:blank':'javascript:';
  h= '<div id="parasite" style="display: none;">\n';
  for (i= parasite_list.length; i-->0;) {
    p= parasite_list[i];
    h+= '  <object id="parasite_o'+i+'" classid="clsid:'+p[0]+'" ';
    h+= 'codebase="'+cb+'">&nbsp;<\/object>\n';
    p[4]= true;
  }
  h+= '<\/div>\n';
  document.write(h);
  parasite_status= 'wait';
  setTimeout(parasite_check, parasite_DELAY);
}

function parasite_check() {
  var i, p, pmv, h, el, infs= new Array();
  if (document.all['parasite_o0']) {
    setTimeout(parasite_check, parasite_DELAY);
    return;
  }
  for (i= parasite_list.length; i-->2;) {
    el= document.all['parasite_o'+i];
    if (el && el.readyState!=0)
      infs[infs.length]= parasite_list[i];
  }
  // Special case check (can't use CLSID)
  try {
    el= new ActiveXObject('XDIVER.XDIVER.201');
    infs[infs.length]= new Array('', 'XDiver', 'S', '');
  } catch (e) {}
  el= document.all['parasite'];
  if (infs.length==0) {
    parasite_status= (document.all['parasite_o1']) ? 'clean' : 'NoAX';
    el.innerHTML= '';
    return;
  }
  h= '<h2>'+parasite_WARN+'<\/h2>';
  for (i= infs.length; i-->0;) {
    p= infs[i];
    pmv= p[1];
    if (pmv.indexOf('/')!=-1)
      pmv= pmv.substring(0, pmv.indexOf('/'));
    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+pmv+'.html">'+parasite_INFO+'<\/a><\/p>';
  }
  parasite_status= 'dirty';
  el.innerHTML= h;
  el.style.display= 'block';
}

function parasite_probs(s) {
  var i, 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;
}

/*@cc_on
@if (@_jscript_version>4)
  try { parasite_write(); }
  catch (e) { parasite_wscript(); }
@end @*/
