var BrowserDetect = {	init: function () {		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";		this.version = this.searchVersion(navigator.userAgent)			|| this.searchVersion(navigator.appVersion)			|| "an unknown version";		this.OS = this.searchString(this.dataOS) || "an unknown OS";	},	searchString: function (data) {		for (var i=0;i<data.length;i++)	{			var dataString = data[i].string;			var dataProp = data[i].prop;			this.versionSearchString = data[i].versionSearch || data[i].identity;			if (dataString) {				if (dataString.indexOf(data[i].subString) != -1)					return data[i].identity;			}			else if (dataProp)				return data[i].identity;		}	},	searchVersion: function (dataString) {		var index = dataString.indexOf(this.versionSearchString);		if (index == -1) return;		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));	},	dataBrowser: [		{ 	string: navigator.userAgent,			subString: "OmniWeb",			versionSearch: "OmniWeb/",			identity: "OmniWeb"		},		{			string: navigator.vendor,			subString: "Apple",			identity: "Safari"		},		{			prop: window.opera,			identity: "Opera"		},		{			string: navigator.vendor,			subString: "iCab",			identity: "iCab"		},		{			string: navigator.vendor,			subString: "KDE",			identity: "Konqueror"		},		{			string: navigator.userAgent,			subString: "Firefox",			identity: "Firefox"		},		{			string: navigator.vendor,			subString: "Camino",			identity: "Camino"		},		{		// for newer Netscapes (6+)			string: navigator.userAgent,			subString: "Netscape",			identity: "Netscape"		},		{			string: navigator.userAgent,			subString: "MSIE",			identity: "Explorer",			versionSearch: "MSIE"		},		{			string: navigator.userAgent,			subString: "Gecko",			identity: "Mozilla",			versionSearch: "rv"		},		{ 		// for older Netscapes (4-)			string: navigator.userAgent,			subString: "Mozilla",			identity: "Netscape",			versionSearch: "Mozilla"		}	],	dataOS : [		{			string: navigator.platform,			subString: "Win",			identity: "Windows"		},		{			string: navigator.platform,			subString: "Mac",			identity: "Mac"		},		{			string: navigator.platform,			subString: "Linux",			identity: "Linux"		}	]};BrowserDetect.init();function correctPNG() {   	for(var i=0; i<document.images.length; i++)	{		var img = document.images[i];		var imgName = img.src.toUpperCase();		if (imgName.substring(imgName.length-3, imgName.length) == "PNG")		{			var imgID = (img.id) ? "id='" + img.id + "' " : "";			var imgClass = (img.className) ? "class='" + img.className + "' " : "";			var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";			var imgStyle = "display:inline-block;" + img.style.cssText;			if (img.align == "left") imgStyle = "float:left;" + imgStyle;			if (img.align == "right") imgStyle = "float:right;" + imgStyle;			if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;					var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"; 			img.outerHTML = strNewHTML;			i = i-1;		}	}}function Trim(TRIM_VALUE){	if(TRIM_VALUE.length < 1)	{		return"";	}	TRIM_VALUE = RTrim(TRIM_VALUE);	TRIM_VALUE = LTrim(TRIM_VALUE);		if(TRIM_VALUE=="")	{		return "";	}	else	{		return TRIM_VALUE;	}}function RTrim(VALUE){	var w_space = String.fromCharCode(32);	var v_length = VALUE.length;	var strTemp = "";	if(v_length < 0)	{		return"";	}	var iTemp = v_length -1;		while(iTemp > -1)	{		if(VALUE.charAt(iTemp) == w_space)		{				}		else		{			strTemp = VALUE.substring(0,iTemp +1);			break;		}		iTemp = iTemp-1;	}	return strTemp;}function LTrim(VALUE){	var w_space = String.fromCharCode(32);	if(v_length < 1)	{		return"";	}	var v_length = VALUE.length;	var strTemp = "";	var iTemp = 0;	while(iTemp < v_length)	{		if(VALUE.charAt(iTemp) == w_space){				}		else		{			strTemp = VALUE.substring(iTemp,v_length);			break;		}		iTemp = iTemp + 1;	}	return strTemp;}function cutoff(str, maxlength){	if(str.length>maxlength)		return str.substring(0,maxlength)+"...";		else		return str;}function getStyleObject(objectId, doc) {    if(document.getElementById && document.getElementById(objectId)) {	return document.getElementById(objectId).style;    } else if (document.all && document.all(objectId)) {	return document.all(objectId).style;    } else if (document.layers && document.layers[objectId]) {		return getObjNN4(document,objectId);    } else {	return false;    }} function changeObjectVisibility(objectId, newVisibility) {    var styleObject = getStyleObject(objectId, document);    if(styleObject) {	styleObject.visibility = newVisibility;	return true;    } else {	return false;    }} function findImage(name, doc) {	var i, img;	for (i = 0; i < doc.images.length; i++) {    	if (doc.images[i].name == name) {			return doc.images[i];		}	}	for (i = 0; i < doc.layers.length; i++) {    	if ((img = findImage(name, doc.layers[i].document)) != null) {			img.container = doc.layers[i];			return img;    	}	}	return null;}function getImage(name) {	if (document.layers) {    	return findImage(name, document);	}	return null;}function getObjNN4(obj,name){	var x = obj.layers;	var foundLayer;	for (var i=0;i<x.length;i++)	{		if (x[i].id == name)		 	foundLayer = x[i];		else if (x[i].layers.length)			var tmp = getObjNN4(x[i],name);		if (tmp) foundLayer = tmp;	}	return foundLayer;}function getElementHeight(Elem) {	if ((BrowserDetect.browser=="Netscape" && BrowserDetect.version == 4)) {		var elem = getObjNN4(document, Elem);		return elem.clip.height;	} else {		var elem;		if(typeof(Elem) == "object")			var elem = Elem;		else if(document.getElementById) {				var elem = document.getElementById(Elem);		} else if (document.all){			var elem = document.all[Elem];		}		xPos = elem.offsetHeight;		return xPos;	} }function getElementWidth(Elem) {	if ((BrowserDetect.browser=="Netscape" && BrowserDetect.version == 4)) {		var elem = getObjNN4(document, Elem);		return elem.clip.width;	} else {		var elem;		if(typeof(Elem) == "object")			var elem = Elem;		else if(document.getElementById) {				var elem = document.getElementById(Elem);		} else if (document.all){			var elem = document.all[Elem];		}		xPos = elem.offsetWidth;		return xPos;	}}function getElementLeft(Elem) {	if ((BrowserDetect.browser=="Netscape" && BrowserDetect.version == 4)) {		var elem = getObjNN4(document, Elem);		return elem.pageX;	} else {		var elem;		if(typeof(Elem) == "object")			var elem = Elem;		else if(document.getElementById) {				var elem = document.getElementById(Elem);		} else if (document.all){			var elem = document.all[Elem];		}		xPos = elem.offsetLeft;		tempEl = elem.offsetParent;  		while (tempEl != null) {  			xPos += tempEl.offsetLeft;	  		tempEl = tempEl.offsetParent;  		}		return xPos;	}}function getElementTop(Elem) {	if ((BrowserDetect.browser=="Netscape" && BrowserDetect.version == 4)) {		var elem = getObjNN4(document, Elem);		return elem.pageY;	} else {		if(typeof(Elem) == "object")			var elem = Elem;		else if(document.getElementById) {				var elem = document.getElementById(Elem);		} else if (document.all) {			var elem = document.all[Elem];		}		yPos = elem.offsetTop;		tempEl = elem.offsetParent;		while (tempEl != null) {  			yPos += tempEl.offsetTop;	  		tempEl = tempEl.offsetParent;  		}		return yPos;	}}function getImageLeft(myImage) {	var x, obj;	if (document.layers) {		var img = getImage(myImage);    	if (img.container != null)			return img.container.pageX + img.x;		else			return img.x;  	} else {		return getElementLeft(myImage);	}	return -1;}function getImageTop(myImage) {	var y, obj;	if (document.layers) {		var img = getImage(myImage);		if (img.container != null)			return img.container.pageY + img.y;		else			return img.y;	} else {		return getElementTop(myImage);	}	return -1;}function getImageWidth(myImage) {	var x, obj;	if (document.layers) {		var img = getImage(myImage);		return img.width;	} else {		return getElementWidth(myImage);	}	return -1;}function getImageHeight(myImage) {	var y, obj;	if (document.layers) {		var img = getImage(myImage);		return img.height;	} else {		return getElementHeight(myImage);	}	return -1;}function moveXY(myObject, x, y) {	obj = getStyleObject(myObject)	if ((BrowserDetect.browser=="Netscape" && BrowserDetect.version == 4)) {		obj.top = y; 		obj.left = x;	} else {		obj.top = y + 'px';		obj.left = x + 'px';		}}function getElement(Elem){	if((BrowserDetect.browser=="Netscape" && BrowserDetect.version == 4))		return getObjNN4(document, Elem);	else	{		if(document.getElementById)			return document.getElementById(Elem);		else if(document.all)			return document.all[Elem];	}}function changeClass(Elem, myClass) {	var elem;	if(document.getElementById) {		var elem = document.getElementById(Elem);	} else if (document.all){		var elem = document.all[Elem];	}	if(elem)		elem.className = myClass;}function getFileName(strFN){	return strFN.substring(strFN.lastIndexOf("/")+1);	}function changeBGColour(myObject, colour) {	if ((BrowserDetect.browser=="Netscape" && BrowserDetect.version == 4)) {		var obj = getObjNN4(document, myObject);		obj.bgColor=colour;	} else {		var obj = getStyleObject(myObject);		obj.backgroundColor = colour;		}}function changeImage(target, source) {	var imageObj;	var src;		if(source.substring(source.lastIndexOf(".")+1).toUpperCase()=="GIF" || source.substring(source.lastIndexOf(".")+1).toUpperCase()=="PNG")	{		if(typeof(target)=="object")			target.src = source;				else			getElement(target).src = source;	}	else	{		src = eval(source).src;		if(typeof(target)=="object")			target.src = src;			else if(getElement(target).tagName!="IMG")			getElement(target).src = src;		else		{						if ((BrowserDetect.browser=="Netscape" && BrowserDetect.version == 4)) {				imageObj = getImage(target);				if (imageObj) imageObj.src = src; 			} else {				imageObj = getElement(target);				if (imageObj) imageObj.src = src; 			}		}	}}function addEvent(obj, evType, fn){ if (obj.addEventListener){    obj.addEventListener(evType, fn, true);    return true; } else if (obj.attachEvent){    var r = obj.attachEvent("on"+evType, fn);    return r; } else {    return false; }}function removeEvent(obj, evType, fn, useCapture){  if (obj.removeEventListener){    obj.removeEventListener(evType, fn, useCapture);    return true;  } else if (obj.detachEvent){    var r = obj.detachEvent("on"+evType, fn);    return r;  } else {    alert("Handler could not be removed");  }}function initResize(id){	var table = document.getElementById(id);	window.onresize = function(){resizeTable(table);}	resizeTable(table);}function getViewportHeight() {	if (window.innerHeight!=window.undefined) return window.innerHeight;	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;	if (document.body) return document.body.clientHeight;	return window.undefined; }function getViewportWidth() {	if (window.innerWidth!=window.undefined) return window.innerWidth; 	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 	if (document.body) return document.body.clientWidth; 	return window.undefined; }function resizeTable(table){		if(table)		table.style.height = getViewportHeight()+"px";}function getWindowHeight(){	if(window.outerHeight) return window.outerHeight;	if(document.documentElement.clientHeight) return document.documentElement.clientHeight;	return document.body.clientHeight;}function getWindowWidth(){	if(window.outerWidth) return window.outerWidth;	if(document.documentElement.clientWidth) return document.documentElement.clientWidth;	return document.body.clientWidth;}function getLeftOffset(){	if(window.screenX || window.screenX==0) return window.screenX;	if(window.screenLeft || window.screenLeft==0) return window.screenLeft;	return window.undefined;}function getTopOffset(){	if(window.screenY||window.screenY==0) return window.screenY;	if(window.screenTop || window.screenTop==0) return window.screenTop;	return window.undefined;}function popup(content, wName, toolbar, status, scrollbar, location, width, height, left, top){	var c = content || "";	var w = wName || "myWindow";	var l = left || (getAbsoluteX()-(width/2));	var t = top || (getAbsoluteY()-(height/2)-21);	var toolbar = toolbar || "yes";	var status = status || "yes";	var scrollbar = scrollbar || "yes";	var width = width || "200px";	var height = height || "200px";	var location = location || "yes";	var properties = "left="+l+", top="+t+", toolbar="+toolbar+", status="+status+", scrollbar="+scrollbar+", location="+location+", width="+width+"px, height="+height+"px";	window.open(c,w,properties);}function getAbsoluteX(){	var x = getLeftOffset() + (getViewportWidth()/2);	return Math.round(x);}function getAbsoluteY(){	var bottomOffset = screen.height-getTopOffset()-getWindowHeight();	var toolbarHeight = screen.height - getTopOffset() - getViewportHeight() - bottomOffset;	var y=getTopOffset() + toolbarHeight + (getViewportHeight()/2)	return Math.round(y);}