/**
 * File:    browser.js
 * Author:  Hans Bieshaar
 * Date:    August 7, 2007
 * Purpose: a simple client sniffer
 * 
 * This module defines an object named "browser" that is easier to use than
 * the "navigator" object.
 */

var browser = {
    // original properties in the rhino book
    version: parseInt(navigator.appVersion),
    isMicrosoft: navigator.appName.indexOf("Microsoft") != -1,
    isNetscape: navigator.appName.indexOf("Netscape") != -1, 
    isKonqueror: navigator.appName.indexOf("Konqueror") != -1,

    // additional properties based on DHTML and CSS
    isDHTML: false,
    isID: false,
    isAll: false,
    isLayers: false,

    // parameters to pass to following PHP requests
    params: "Browser="
};

if ( document.getElementById )
    browser.isID = true;
else if ( document.all )
    browser.isAll = true;
else if ( document.layers )
    browser.isLayers = true;
else if ( browser.isNetscape  &&  browser.version == 4 )
    browser.isLayers = true;

browser.isDHTML = browser.isID || browser.isAll || browser.isLayers;

if ( browser.isID ) {
	browser.getObject = function(objectID) {
		return document.getElementById(objectID);
		}
	browser.getObjectStyle = function(objectID) {
		return document.getElementById(objectID).style;
		};
	}
else if ( browser.isAll ) {
	browser.getObject = function(objectID) {
		return document.all[objectID];
		}
	browser.getObjectStyle = function(objectID) {
		return document.all[objectID].style;
		}
	}
else if ( browser.isLayers ) {
	browser.getObject = function(objectID) {
		return document.layers[objectID];
		}
	browser.getObjectStyle = browser.getObject;
	}
else {
	browser.getObject = function(objectID) {
		return null;
		}
	browser.getObjectStyle = browser.getObject;
	}
/**
 * The following code creates the parameters to be passed to following
 * PHP, CSS, and javascript requests
 */
if ( browser.isMicrosoft )
    browser.params += "IE";
else if ( browser.isNetscape )
    browser.params += "NS";
else if ( browser.isKonqueror )
    browser.params += "KQ";
else
    browser.params += "XX";

browser.params += "&Version=" + browser.version;

if ( browser.isID )
    browser.params += "&Type=ID";
else if ( browser.isAll )
    browser.params += "&Type=All";
else if (browser.isLayers )
    browser.params += "&Type=Layers";
else
    browser.params += "&Type=none";

