home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 March / PCWorld_2004-03_cd.bin / Software / komercni / software602 / pic / webbug.js < prev    next >
Text File  |  2004-01-22  |  2KB  |  65 lines

  1. //
  2. // +---------------------------------------------------------------------+
  3. // | phpOpenTracker - The Website Traffic and Visitor Analysis Solution  |
  4. // +---------------------------------------------------------------------+
  5. // | Copyright (c) 2000-2003 Sebastian Bergmann. All rights reserved.    |
  6. // +---------------------------------------------------------------------+
  7. // | This source file is subject to the phpOpenTracker Software License, |
  8. // | Version 1.0, that is bundled with this package in the file LICENSE. |
  9. // | If you did not receive a copy of this file, you may read it online  |
  10. // | at http://www.phpopentracker.de/license.html.                       |
  11. // +---------------------------------------------------------------------+
  12. //
  13. // $Id: webbug.js,v 1.9 2003/09/19 07:17:28 bergmann Exp $
  14. //
  15.  
  16. var client_id = 1;
  17.  
  18. // Taken from http://www.jan-winkler.de/hw/artikel/art_j02.htm
  19.  
  20. function base64_encode(decStr) {
  21.   var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
  22.   var bits;
  23.   var dual;
  24.   var i = 0;
  25.   var encOut = '';
  26.  
  27.   while(decStr.length >= i + 3) {
  28.     bits = (decStr.charCodeAt(i++) & 0xff) <<16 |
  29.            (decStr.charCodeAt(i++) & 0xff) <<8 |
  30.             decStr.charCodeAt(i++) & 0xff;
  31.  
  32.     encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
  33.               base64s.charAt((bits & 0x0003f000) >>12) +
  34.               base64s.charAt((bits & 0x00000fc0) >> 6) +
  35.               base64s.charAt((bits & 0x0000003f));
  36.   }
  37.  
  38.   if(decStr.length -i > 0 && decStr.length -i < 3) {
  39.     dual = Boolean(decStr.length -i -1);
  40.  
  41.     bits = ((decStr.charCodeAt(i++) & 0xff) <<16) |
  42.            (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);
  43.  
  44.     encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
  45.               base64s.charAt((bits & 0x0003f000) >>12) +
  46.               (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') +
  47.               '=';
  48.   }
  49.  
  50.   return(encOut);
  51. }
  52.  
  53. var resolution = window.screen.width + 'x' +
  54.                  window.screen.height + 'x' +
  55.                  window.screen.colorDepth + 'bit';
  56.  
  57. document.write(
  58.   '<img src="http://ns.602.cz/image.php?' +
  59.   'client_id='              + client_id + '&' +
  60.   'document_url='           + base64_encode(document.URL) + '&' +
  61.   'referer='                + base64_encode(document.referrer) + '&' +
  62.   'add_data[]=resolution::' + resolution +
  63.   '" alt="" width="1" height="1" />'
  64. );
  65.