/*******************************************************************************/
/*                                                                             */
/* GENERAL INFORMATION                                                         */
/*                                                                             */
/* kx_common.js - Common Javascript                                            */
/*                                                                             */
/* (C) Copyright 2003, Keropac Computing.  All rights reserved.                */
/*                                                                             */
/* Provides common javascript code that should be included in all HTML source  */
/* that uses any other of our javascript routines.                             */
/*                                                                             */
/* The following list are variable that are set after the processing has run:  */
/*                                                                             */
/* Browser features:                                                           */
/*   isDOM, isLayers, isFrames, ...                                            */
/*                                                                             */
/* Browser vendors:                                                            */
/*   isIE - Internet Explorer                                                  */
/*   isNav - Netscape Navigator                                                */
/*   isOpera - Opera                                                           */
/*   isMoz - Mozilla                                                           */
/*   isFB - Mozilla Firebird (formerly Phoenix)                                */
/*   isFX - Mozilla Firefox                                                    */
/*                                                                             */
/* Browser vendor and major version number:                                    */
/*   isIE4, isIE5, ...                                                         */
/*                                                                             */
/* Browser related variables:                                                  */
/*   bwPX - Contain "px" is required for pixel control, or "" if not.          */
/*                                                                             */
/* MODIFICATIONS                                                               */
/*                                                                             */
/* Ref.  By    Date    Description                                             */
/* ----  --    ----    -----------                                             */
/* @nnn  xx  dd/mm/yy                                                          */
/*                                                                             */
/*******************************************************************************/

<!-- Begin

// ---------------------------------------------------------------------------
// Browser detection.
// ---------------------------------------------------------------------------

// Browser details.

var zzUserAgent = navigator.userAgent.toLowerCase();
var zzAppName = navigator.appName.toLowerCase();
var zzAppVer = navigator.appVersion.toLowerCase();

// Browser version (Not to be used in code as Opera does not set these correctly)

var verFull = parseFloat(zzAppVer);
var verMajor = parseInt(verFull);

// Browser vendor.

var isOpera = (zzUserAgent.indexOf('opera') != -1) ? true : false;
var isIE = (zzUserAgent.indexOf('msie') != -1 && (!isOpera)) ? true : false;

var isGecko = ((navigator.product) && (navigator.product.toLowerCase() == "gecko")) ? true : false;

if ((zzUserAgent.indexOf('mozilla/5') != -1) && (zzUserAgent.indexOf('spoofer') == -1) &&
  (zzUserAgent.indexOf('compatible') == -1) && (!isOpera)  && (zzUserAgent.indexOf('webtv') == -1) && 
  (zzUserAgent.indexOf('hotjava') == -1) && (isGecko))
{
  var isMoz = ((navigator.vendor == "") || (navigator.vendor == "Mozilla") || (navigator.vendor == "Debian"));
  var isFB = (zzUserAgent.indexOf('firebird') != -1) ? true : false;
  var isFX = (zzUserAgent.indexOf('firefox') != -1) ? true : false;

  // For the Mozilla, Firebird and Firefox additional processing is required to correctly retrieve the
  // browser version.

  if ((isMoz) || (isFB) || (isFX))
  {
    var isMozVer = (navigator.vendorSub) ? navigator.vendorSub : 0;
    if(!(isMozVer)) 
    {
      isMozVer = zzUserAgent.indexOf('rv:');
      isMozVer = zzUserAgent.substring(isMozVer + 3);
      isParen = isMozVer.indexOf(')');
      isMozVer = isMozVer.substring(0, isParen);
    }
    verFull = isMozVer;
    verMajor = parseInt(isMozVer);
  }
}

var isNav = ((zzUserAgent.indexOf('mozilla') != -1) && (zzUserAgent.indexOf('spoofer') == -1) && 
 (zzUserAgent.indexOf('compatible') == -1) && (!isOpera) && (!isMoz) && (!isFB) && (!isFX));

// For Netscape 6 we use a slightly different method to retrieve the version of the browser.

if ((navigator.vendor) && ((navigator.vendor == "Netscape6") || (navigator.vendor == "Netscape")) && (isNav))
{
  verFull = parseFloat(navigator.vendorSub);
  verMajor = parseInt(navigator.vendorSub);
}

// For Internet Explorer we also use a slightly different nethod to retrieve the version of the browser.

if (isIE)
{
  var iePos  = zzAppVer.indexOf('msie');

  if (iePos != -1)
  {
    verFull = parseFloat(zzAppVer.substring(iePos + 5, zzAppVer.indexOf(';', iePos)));
    verMajor = parseInt(verFull);
  }
}

// Combine the browser vendor and version.

var isOpera4 = ((zzUserAgent.indexOf("opera 4") != -1) || (zzUserAgent.indexOf("opera/4") != -1));
var isOpera5 = ((zzUserAgent.indexOf("opera 5") != -1) || (zzUserAgent.indexOf("opera/5") != -1));
var isOpera6 = ((zzUserAgent.indexOf("opera 6") != -1) || (zzUserAgent.indexOf("opera/6") != -1));
var isOpera7 = ((zzUserAgent.indexOf("opera 7") != -1) || (zzUserAgent.indexOf("opera/7") != -1));

var isOpera5up = (isOpera && !isOpera4);
var isOpera6up = (isOpera && !isOpera4 && !isOpera5);
var isOpera7up = (isOpera && !isOpera4 && !isOpera5 && !isOpera6);

var isNav4 = (isNav && (verMajor == 4));
var isNav6 = (isNav && verMajor == 6);
var isNav5 = (isNav && verMajor == 5 && !isNav6);
var isNav7 = (isNav && verMajor == 7);

var isNav4up = (isNav && verFull >= 4);
var isNav5up = (isNav && verFull >= 5);
var isNav6up = (isNav && verFull >= 6);
var isNav7up = (isNav && verFull >= 7);

var isIE4 = (isIE && verMajor == 4);
var isIE5 = (isIE && verMajor == 5);
var isIE6 = (isIE && verMajor == 6);

var isIE4up = (isIE && verFull >= 4);
var isIE5up = (isIE && verFull >= 5);
var isIE6up = (isIE && verFull >= 6);

// Browser features. (DOM, layers and document.all below are mutually exclusive).

var isDOM = ((document.getElementById) && (!isOpera5) && (!isOpera6)) ? true : false;
var isLayers = ((document.layers) && (!isDOM)) ? true : false;
var isDocAll = ((document.all) && (!isDOM) && (!isLayers)) ? true : false;

var isElemByTagName = (document.getElementsByTagName) ? "true" : "false";
var isDocElem = (document.documentElement) ? "true" : "false";
var isBody = (document.body) ? "true" : "false";

document.cookie = "cookies=true";
var isCookie = (document.cookie) ? "true" : "false";

var isImages = (document.images) ? "true" : "false";
var isFrames = (window.frames) ? "true" : "false";

var isJava = (navigator.javaEnabled());

var bwPX = isDOM &&! isOpera5 ? "px" : "";

// End -->
