function setLeftBarHeight() {
	var _height = $("#midframe").height();
	_height = _height + 10;
	$("#leftbar").css("height",_height);
	//alert("test");
}

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();

if (BrowserDetect.browser == 'Explorer') {
	//var imgext = 'gif';
	var imgext = 'jpg';
} else {
	var imgext = 'jpg';
};

function mouseover(img,title,onoff,imgext2) {
	if (typeof imgext2 == "undefined") {
		imgext2 = imgext;
	}
	img.src='images/' + title + '_' + onoff + '.' + imgext2;
}

function ad_mouseover(img,title,onoff,imgext2) {
	if (typeof imgext2 == "undefined") {
		imgext2 = imgext;
	}
	img.src='../images/' + title + '_' + onoff + '.' + imgext2;
}

//Nifty Corners courtesy of http://www.html.it/articoli/nifty/index.html
function NiftyCheck()
{
if(!document.getElementById || !document.createElement)
    return(false);
var b=navigator.userAgent.toLowerCase();
if(b.indexOf("msie 5")>0 && b.indexOf("opera")==-1)
    return(false);
return(true);
}

function Rounded(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
var l=v.length;
for(i=0;i<l;i++){
    AddTop(v[i],bk,color,size);
    AddBottom(v[i],bk,color,size);
    }
}

function RoundedTop(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
for(i=0;i<v.length;i++)
    AddTop(v[i],bk,color,size);
}

function RoundedBottom(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
for(i=0;i<v.length;i++)
    AddBottom(v[i],bk,color,size);
}

function AddTop(el,bk,color,size){
var i;
var d=document.createElement("b");
var cn="r";
var lim=4;
if(size && size=="small"){ cn="rs"; lim=2}
d.className="rtop";
d.style.backgroundColor=bk;
for(i=1;i<=lim;i++){
    var x=document.createElement("b");
    x.className=cn + i;
    x.style.backgroundColor=color;
    d.appendChild(x);
    }
el.insertBefore(d,el.firstChild);
}

function AddBottom(el,bk,color,size){
var i;
var d=document.createElement("b");
var cn="r";
var lim=4;
if(size && size=="small"){ cn="rs"; lim=2}
d.className="rbottom";
d.style.backgroundColor=bk;
for(i=lim;i>0;i--){
    var x=document.createElement("b");
    x.className=cn + i;
    x.style.backgroundColor=color;
    d.appendChild(x);
    }
el.appendChild(d,el.firstChild);
}

function getElementsBySelector(selector){
var i;
var s=[];
var selid="";
var selclass="";
var tag=selector;
var objlist=[];
if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
    s=selector.split(" ");
    var fs=s[0].split("#");
    if(fs.length==1) return(objlist);
    return(document.getElementById(fs[1]).getElementsByTagName(s[1]));
    }
if(selector.indexOf("#")>0){ //id selector like "tag#id"
    s=selector.split("#");
    tag=s[0];
    selid=s[1];
    }
if(selid!=""){
    objlist.push(document.getElementById(selid));
    return(objlist);
    }
if(selector.indexOf(".")>0){  //class selector like "tag.class"
    s=selector.split(".");
    tag=s[0];
    selclass=s[1];
    }
var v=document.getElementsByTagName(tag);  // tag selector like "tag"
if(selclass=="")
    return(v);
for(i=0;i<v.length;i++){
    if(v[i].className==selclass){
        objlist.push(v[i]);
        }
    }
return(objlist);
}


window.onload=function(){
	if(!NiftyCheck())
	    return;
	//RoundedBottom("div#copyright","ffffff","ffffee");
	//RoundedTop("div#topbar","ffffff","ffffee");
	//RoundedTop("div#navbar","ffffee","660000");
	//RoundedBottom("div#navbar","ffffff","660000");
	//RoundedTop("div#bottombar","ffffff","660000");
	//RoundedBottom("div#bottombar","ffffee","660000");
	setLeftBarHeight();
	//ScaleSize_2();
}

//This function finds the scaling factor that the browser has implemented
function fnScaleFactorX()
{
	nScaleFactor = screen.deviceXDPI / screen.logicalXDPI;
	return nScaleFactor;
}

//This function, which doesn't work is meant to re-scale the entire site back down to it's intended size.
function fnScaleManually()
{
	// normal DPI
	var constNorm = 96;

	//scaling is off and DPI higher than normal
	if ((screen.deviceXDPI != screen.logicalXDPI) && (screen.deviceXDPI > constNorm))
	{
		var scale = fnScaleFactorX();
		var rescaleVal = 1 / scale;

		var value = constNorm / screen.deviceXDPI;
		document.body.style.zoom = value;
	}
}

function ScaleSize_2() {
	if (screen.deviceXDPI != screen.logicalXDPI)
	{
		fnScaleManually();
	}
}

//This function which kind of works is meant to re-scale every element back to it's intended size.
function ScaleSize()
{
	if (screen.deviceXDPI != screen.logicalXDPI)
	{
		//Scale images
		var objects = document.getElementsByTagName("img");
		for(var no=0; no<objects.length; no++)
		{
			var imgH = objects[no].clientHeight;
			var imgW = objects[no].clientWidth;

			var scale = fnScaleFactorX();
			var rescaleVal = 1 / scale;

			var newH = imgH * rescaleVal;
			var newW = imgW * rescaleVal;
			objects[no].style.width = newW;
			objects[no].style.height = newH;
		}

		//Scale divs
		var objects = document.getElementsByTagName("div");
		for(var no=0; no<objects.length; no++)
		{
			//Normal Div Widths
			var imgH = objects[no].clientHeight;
			var imgW = objects[no].clientWidth;

			var scale = fnScaleFactorX();
			var rescaleVal = 1 / scale;

			var newH = imgH * rescaleVal;
			var newW = imgW * rescaleVal;
			objects[no].style.width = newW;
			objects[no].style.height = newH;
		}

		//Scale divs
		var objects = document.getElementsByTagName("div");
		for(var no=0; no<objects.length; no++)
		{
			//Normal Div Widths
			var imgH = objects[no].clientHeight;
			var imgW = objects[no].clientWidth;

			var scale = fnScaleFactorX();
			var rescaleVal = 1 / scale;

			var newH = imgH * rescaleVal;
			var newW = imgW * rescaleVal;
			objects[no].style.backgroundImage.Width = newW;
			objects[no].style.backgroundImage.Height = newH;
			//alert(objects[no].id);
		}

		//Scale paragraphs
		var objects = document.getElementsByTagName("p");
		for(var no=0; no<objects.length; no++)
		{
			var imgH = objects[no].clientHeight;
			var imgW = objects[no].clientWidth;

			var scale = fnScaleFactorX();
			var rescaleVal = 1 / scale;

			var newH = imgH * rescaleVal;
			var newW = imgW * rescaleVal;
			objects[no].style.width = newW;
			objects[no].style.height = newH;
		}

		//Scale input fields
		var objects = document.getElementsByTagName("input");
		for(var no=0; no<objects.length; no++)
		{
			var imgH = objects[no].clientHeight;
			var imgW = objects[no].clientWidth;

			var scale = fnScaleFactorX();
			var rescaleVal = 1 / scale;

			var newH = imgH * rescaleVal;
			var newW = imgW * rescaleVal;
			objects[no].style.width = newW;
			objects[no].style.height = newH;
		}

		//Scale selects
		var objects = document.getElementsByTagName("select");
		for(var no=0; no<objects.length; no++)
		{
			var imgH = objects[no].clientHeight;
			var imgW = objects[no].clientWidth;

			var scale = fnScaleFactorX();
			var rescaleVal = 1 / scale;

			var newH = imgH * rescaleVal;
			var newW = imgW * rescaleVal;
			objects[no].style.width = newW;
			objects[no].style.height = newH;
		}

		//Scale forms
		var objects = document.getElementsByTagName("form");
		for(var no=0; no<objects.length; no++)
		{
			var imgH = objects[no].clientHeight;
			var imgW = objects[no].clientWidth;

			var scale = fnScaleFactorX();
			var rescaleVal = 1 / scale;

			var newH = imgH * rescaleVal;
			var newW = imgW * rescaleVal;
			objects[no].style.width = newW;
			objects[no].style.height = newH;
		}
	}
}