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: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			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.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
} 

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function SfindObj(n, d) 
{	//v4.01
	var p, i, x;
	if (!d) 
		d = document; 
	if ((p = n.indexOf("?") ) > 0 && parent.frames.length) 
	{
		d = parent.frames [n.substring(p + 1)].document; 
		n = n.substring(0, p);
	}
	if (!(x = d [n]) && d.all) 
		x = d.all [n]; 
	for (i = 0; !x && i < d.forms.length; i ++) 
		x = d.forms [i] [n];
	for (i = 0; !x && d.layers && i < d.layers.length; i ++)
		x = SfindObj(n, d.layers [i].document);
	if(!x && d.getElementById) 
		x = d.getElementById(n);
	return x;
}

function findPosY(sObj)
{
	obj=MM_findObj(sObj);
	var curtop = 0;
	if (obj) {
		if (obj && obj.offsetParent)
			{
				while (obj.offsetParent)
				{
					curtop += obj.offsetTop
					obj = obj.offsetParent;
				}
			}
		else if (obj.y)
			curtop += obj.y;

	}
	return curtop;
}


function SetUpPositions () {
	
	nY1=window.document.body.clientHeight;
	//alert('needtbl1: '+nY1);
	
	nY2=findPosY('needtbl1');
	//alert('needtbl1: '+nY2);
	
	nY3=findPosY('needtbl2')+30;
	//alert('needtbl2: '+nY3);
	
	nY4=findPosY('needtbl3');
	//alert('needtbl3: '+nY4);

	nY=0;

	if ((nY3  >=  nY1) && (nY3 >=  nY2))
		nY=nY3;
		
	if ((nY2  >=  nY1) && (nY2 >=  nY3))
		nY=nY2;
		
	if ((nY1 >=  nY2) && (nY1 >=  nY3))
		nY=nY1;
	
	nY=nY-112;
	//alert(nY);
	
	
	obj=MM_findObj('content1');
	if (obj) {
		if (BrowserDetect.browser == 'Explorer')
			nMinus = 95;
		else
			nMinus = 110;
		obj.style.height=(nY - nMinus)+'px';
	}
	
	/*nDelta=(nY+112)-nY2;
	if (nDelta > 0) {
		obj=MM_findObj('poll');
		//nDelta1=nY3-nY4-484;
		//267
		obj.style.height=nDelta+101+'px';
	}*/

	//nY3=findPosY('needtbl2');
	//if (nY3 > nY2) {
	//	obj=MM_findObj('bottom');
	//	obj.style.top=nY3+'px';
	//	obj.style.visibility='visible';
	//}
	//else {
	//	obj=MM_findObj('bottom');
	//	obj.style.top=nY2+'px';
	//	obj.style.visibility='visible';
	//}
	
	if (nY < nY2)
		nY=nY+20;

	obj=MM_findObj('bottom');
	obj.style.top=nY+84+'px';
	obj.style.visibility='visible';
	
}

var visLayers=new Array();
var actLayers=new Array();
var nCheckTimeOut=0;
var nHideAllTimeOut=0;

function showLayer (num,deep) {
	for (i=deep;i<7;i++) {
		if ((visLayers[i]) && (num!=visLayers[i])) {
			MM_showHideLayers('sub'+visLayers[i],'','hide');
			visLayers[i]='';
		}
		deactivateLayer(i);
	}

	MM_showHideLayers('sub'+num,'','show');
	visLayers[deep]=num;
	activateLayer(deep);
}

function activateLayer (deep) {
	actLayers[deep]=1;
	if (nHideAllTimeOut>0)
		clearTimeout(nHideAllTimeOut);
}
function deactivateLayer (deep) {
	actLayers[deep]=0;
}
function CheckActiveLayers () {
	nCheckTimeOut=window.setTimeout('CheckActiveLayers()',800);
	for (i=7;i>=1;i--) {
		if (actLayers[i]==1) {
			break;
		}
		else {
			MM_showHideLayers('sub'+visLayers[i],'','hide');
			visLayers[i]='';
		}
	}
}

function hideAllLayers () {
	for (i=1;i<7;i++) {
		MM_showHideLayers('sub'+visLayers[i],'','hide');
		visLayers[i]='';
	}
	if (nCheckTimeOut>0)
		clearTimeout(nCheckTimeOut);
}

function CenterLayer (layer,width,height,target) {
	if (!target)
		target=window.document;

	leftLayer = (target.body.clientWidth - width)/2;
	topLayerABS = (target.body.clientHeight - height)/2;

	topLayer=target.body.scrollTop;
	
	newTop = topLayer + topLayerABS;
	if (newTop < 0)
		newTop=0;

	target.getElementById(layer).style.left = leftLayer;
	target.getElementById(layer).style.top=topLayer + topLayerABS;
}

