/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* File:    cimtag.js                                                    */
/* Author:  Michelangelo van Dam <michelangelo.van.dam@staff.telenet.be> */
/* Version: 1.02 (20/09/2001)                                            */
/* Version: 1.03 (03/10/2001) <bruno.waes@staff.telenet.be> 		 */
/* Version: 1.04 (08/10/2001) <bruno.waes@staff.telenet.be>              */
/* Version: 1.05 (09/10/2001) <bruno.waes@staff.telenet.be>              */
/* Version: 1.06 (19/03/2002) <michelangelo.van.dam@staff.telenet.be>    */
/* Version: 1.07 (20/03/2002) <michelangelo.van.dam@staff.telenet.be>    */
/* Version: 1.08 (22/07/2002) <michelangelo.van.dam@staff.telenet.be>    */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* Description:                                                          */
/*   This file is intended to be used for the cimtagging on all pages in */
/*   the telenet.be domain.                                              */
/*   It automatically retrieves its own hostname and primary directory   */
/*   and uses both parameters as keywords in the "cim-tag".              */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* Syntax:                                                               */
/*   cimtag();                                                           */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
function codeLookUp(host) {
  var code = new Array();
  var idx = 0;

  // Conversion of hostnames *.telenet.be domain
  code[idx++] = new Array("breedband.telenet.be",        "bb");
  code[idx++] = new Array("helpdesk.telenet.be",         "hd");
  code[idx++] = new Array("business.telenet.be",         "bu");
  code[idx++] = new Array("games.telenet.be",            "ga");
  code[idx++] = new Array("status.telenet.be",           "st");
  code[idx++] = new Array("webmail.telenet.be",          "wm");
  code[idx++] = new Array("wedstrijd.telenet.be",        "we");
  code[idx++] = new Array("wegwijs.telenet.be",          "wg");
  code[idx++] = new Array("www.telenet.be",              "ww");
  code[idx++] = new Array("zoeken.telenet.be",           "zo");

  // Conversion of hostnames www.*.telenet.be domain (dummy proof)
  code[idx++] = new Array("www.breedband.telenet.be",    "bb");
  code[idx++] = new Array("www.helpdesk.telenet.be",     "hd");
  code[idx++] = new Array("www.business.telenet.be",     "bu");
  code[idx++] = new Array("www.games.telenet.be",        "ga");
  code[idx++] = new Array("www.status.telenet.be",       "st");
  code[idx++] = new Array("www.webmail.telenet.be",      "wm");
  code[idx++] = new Array("www.wedstrijd.telenet.be",    "we");
  code[idx++] = new Array("www.wegwijs.telenet.be",      "wg");
  code[idx++] = new Array("www.telenet.be",              "ww");
  code[idx++] = new Array("www.zoeken.telenet.be",       "zo");

  // Conversion of hostnames *.staging.telenet.be domain
  code[idx++] = new Array("www.staging.telenet.be",      "wx");
  code[idx++] = new Array("games.staging.telenet.be",    "gx");
  code[idx++] = new Array("breedband.staging.telenet.be","bx");

  // Conversion of hostnames *.pandora.be domain
  code[idx++] = new Array("breedband.pandora.be",        "bb");
  code[idx++] = new Array("helpdesk.pandora.be",         "hd");
  code[idx++] = new Array("business.pandora.be",         "bu");
  code[idx++] = new Array("games.pandora.be",            "ga");
  code[idx++] = new Array("status.pandora.be",           "st");
  code[idx++] = new Array("webmail.pandora.be",          "wm");
  code[idx++] = new Array("wedstrijd.pandora.be",        "we");
  code[idx++] = new Array("wegwijs.pandora.be",          "wg");
  code[idx++] = new Array("www.pandora.be",              "ww");
  code[idx++] = new Array("zoeken.pandora.be",           "zo");

  // Conversion of hostnames www.*.pandora.be domain (dummy proof)
  code[idx++] = new Array("www.breedband.pandora.be",    "bb");
  code[idx++] = new Array("www.helpdesk.pandora.be",     "hd");
  code[idx++] = new Array("www.business.pandora.be",     "bu");
  code[idx++] = new Array("www.games.pandora.be",        "ga");
  code[idx++] = new Array("www.status.pandora.be",       "st");
  code[idx++] = new Array("www.webmail.pandora.be",      "wm");
  code[idx++] = new Array("www.wedstrijd.pandora.be",    "we");
  code[idx++] = new Array("www.wegwijs.pandora.be",      "wg");
  code[idx++] = new Array("www.pandora.be",              "ww");
  code[idx++] = new Array("www.zoeken.pandora.be",       "zo");

  // Testpc aliassen
  code[idx++] = new Array("medusa.telenet-ops.be",       "pt");
  code[idx++] = new Array("selene.telenet-ops.be",       "pt");
  code[idx++] = new Array("anteros.telenet-ops.be",      "pt");
  code[idx++] = new Array("pctest.no-ip.com",            "pt");
  code[idx++] = new Array("breedband.sytes.net",         "pt");
  code[idx++] = new Array("zoeken.sytes.net",            "pt");
  code[idx++] = new Array("wedstrijd.sytes.net",         "pt");
  code[idx++] = new Array("gamesite.3utilities.com",     "pt");
  code[idx++] = new Array("gamespot.sytes.net",          "pt");
  code[idx++] = new Array("ketnet.sytes.net",            "pt");
  code[idx++] = new Array("myprojects.sytes.net",        "pt");

  // Exceptions on hostnames
  code[idx++] = new Array("www.cineguide.be",            "bb");
  code[idx++] = new Array("www.eurotv.com",              "bb");

  for (i = 0; i < code.length; i++) {
    if(host == code[i][0]) {
      return code[i][1];
    }
  }
}

function verbeter(tag) {
  if(tag.substring(0,tag.indexOf("/")) == "breedband") {
    tag = "bb" + tag.substring(tag.indexOf("/"), tag.length);
  }
  return tag;
}

function exceptionHandler(exceptionLink) {
  var exception = new Array();
  var id = 0;
  var pattern = exceptionLink;

  exception[id++] = new Array("bb/cl/te/",  "bb/fi/cg");
  for(i = 0; i < exception.length; i++) {
    if(exceptionLink.substring(0,9) == exception[i][0]) {
      pattern = exception[i][1];
    }
  }
  if(exceptionLink.lastIndexOf("/") == exceptionLink.length - 1) {
    pattern = exceptionLink + "index";
  }
  if(pattern.lenght > 24) {
    pattern = pattern.substring(0,23);
  }
  return pattern;
}

function hakInMootjes(fullPath) {
  // Defining full variables;
  var prefix   = "http://";
  hostName = fullPath.substring(prefix.length,fullPath.indexOf("/",prefix.length));
  subPath = fullPath.substring(fullPath.indexOf("/",prefix.length) + 1, fullPath.lastIndexOf("/"));
  dirs = subPath.split("/");

  decode = "";
  for(i = 0; i < dirs.length; i++) {
    if(dirs[i]) {
      decode += "/";
      decode += dirs[i].substring(0,2);
    }
  }

  page = fullPath.substring(fullPath.lastIndexOf("/") + 1, fullPath.length);
  if(page.indexOf(".") != -1) {
    thisPage = page.substring(0,page.indexOf("."));
    page = thisPage;
  }
  returnString = codeLookUp(hostName);
  returnString += decode + "/";
  returnString += page;
  returnString = exceptionHandler(returnString);
  return returnString;
}



/*
+--------------------------------------------------------------------------+
|WARNING: This code generates an image of width 1 pixel and height 1 pixel.|
+--------------------------------------------------------------------------+

-=> copy paste this between <HEAD> and </HEAD> tag in your document source

	<SCRIPT language="JavaScript" type="text/javascript" src="/cimtag.js"></SCRIPT>

-=> copy-paste this somewhere between <BODY> and </BODY> tags

[1] geen vaste CIMcode:

	<SCRIPT language="JavaScript" type="text/javascript">
	<!-- Hide for older browsers
	  cimtag();
	// End of javascript code -->
	</SCRIPT>

[2] wel vaste CIMcode: (vervang "breedband/special")

	<SCRIPT language="JavaScript" type="text/javascript">
	<!-- Hide for older browsers
	  cimtag("breedband/special");
	// End of javascript code -->
	</SCRIPT>

*/

function cimtag(cimcode) {
  /*
  if(!cimcode) {
    cimcode = hakInMootjes(document.location.href);
  }
  else {
    cimcode = verbeter(cimcode);
  }
  */
  cimcode = hakInMootjes(document.location.href);
  var MetriwebRandomNumber = new String(Math.random());
  var tagString = '<IMG src="http://line12.metriweb.be/';
  tagString += 'dyn/breedband/mw.cgi?page=';
  tagString += cimcode;
  tagString += '&R=' + MetriwebRandomNumber;
  tagString += '" width="1" height="1" border="0">';
  document.write(tagString);
}


