// Check Browser Version Andreas Bauer
function browserVersion(path) {
	this.path = (path) ? path : '../code/styles/';
	this.isDynamic = (!window.navigator.appVersion.indexOf('4.') || !window.navigator.appVersion.indexOf('5.'));
	var version = navigator.appVersion
	var v = parseInt(version)
	var agent = navigator.userAgent.toLowerCase();
	this.isMac = (agent.indexOf('mac') >= 0);
	this.isLinux = (agent.indexOf('inux') >= 0);
	this.isOpera = (agent.indexOf('opera') >= 0);
	this.name = window.navigator.appName;
	this.isIE = (this.name == "Microsoft Internet Explorer");	
	this.isNS = (this.name =="Netscape");	
	this.isNS5 = ((this.name=="Netscape" || this.name=="Mozilla" ) && v==5);
	this.css = '<LINK REL="stylesheet" HREF="' + this.path;
	if(this.isMac)	this.css += 'Mac';
	if(this.isLinux) this.css += 'Linux';
	if(this.isIE)	this.css += 'IEStyle';
	else if (this.isNS) this.css += 'NSStyle';
	else this.css += 'IEStyle';
	this.css += (this.css == '' ? '' : '.css" TYPE="text/css">');	
}

function screenInfo() {
	if(b.isDynamic)	{	
		if(b.isIE) {
			this.width = document.body.clientWidth;
			this.height = document.body.clientHeight;
		}
		else if (b.isNS)  {
			this.width = window.innerWidth;	
			this.height = window.innerHeight; 		
		}
	}	
}

function frameLoader(frameset) {
	if(top==self) { 
		this.frameset = (frameset) ? frameset : "../index.htm";
		this.currURL = unescape(window.location.pathname);
		this.newURL = this.frameset + "?" + this.currURL;
		if (b.isDynamic)
			this.redirect = 'location.replace('+this.newURL +')';
		else
			this.redirect = 'location.href ='+ this.newURL;
	}
	else this.redirect = "";
}


//scr = new screenInfo();
function getLayerHandle(id, nestref) {
	var hObj;
	// = (parent.frames.length > 0) frames
	if(b.isIE) hObj = document.all[id].style;
	if(b.isOpera) hObj = document.getElementById(id).style;
	if(b.isNS && !b.isOpera) {
		if(b.isNS5) hObj = document.getElementById(id).style;
		else hObj = (nestref)? eval(nestref+'.document.'+id) : document.layers[id];		
	}
	return hObj;
}
// function which position and show or hide layers - Andreas Bauer
function handleLayer(layername, pixelx, pixely, view, nestref) {
	if(b.isDynamic)	{
		var obj = getLayerHandle(layername,  nestref);
		if(b.isIE || b.isOpera) { 
			obj.pixelLeft = pixelx;
			obj.pixelTop = pixely;
		}
		else {
			obj.left = pixelx;
			obj.top = pixely;
		}
		showLayer(layername,view, nestref);
	}	
}

function moveBy(layername, pixelx, pixely, nestref) {
	if(b.isDynamic){
		var obj = getLayerHandle(layername, nestref);	
		if(b.isNS5)	{
			obj.left = parseInt(obj.left) + pixelx;
			obj.top = parseInt(obj.top) + pixely;
		}
		if (b.isNS && !b.isNS5) {
			obj.moveBy(pixelx,pixely);						
		}
		if(b.isIE) {
			obj.pixelLeft += pixelx;
			obj.pixelTop += pixely;				
		}
	}
}

function isLayerVisible(layername, nestref) {
	var bVisible = false;
	if(b.isDynamic)	{
		var obj = getLayerHandle(layername, nestref);
		 bVisible = (b.isNS) ? ( obj.visibility == "show") : (obj.visibility == "visible");		
	}
	return bVisible;
}

function showLayer(layername,view, nestref) {
	if(b.isDynamic)	{
		var obj = getLayerHandle(layername, nestref);
		if(view) obj.visibility = (b.isNS && !b.isNS5 && !b.isOpera) ? "show" : "visible";
		else obj.visibility = (b.isNS && !b.isNS5 && !b.isOpera) ? "hide" : "hidden";
	}			
}

function writeToLayer(layername,txt, nestref) {
	var hObj;
	if(b.isDynamic) {
		if(b.isIE) document.all[layername].innerHTML = txt;
		else if(b.isOpera) alert("write don't work with Opera");
		else if(b.isNS) {
			if(b.isNS5) document.getElementById(layername).innerHTML = txt;
			else {
				hObj = (nestref)? eval("document."+nestref+".document."+layername+".document") : document.layers[layername].document;  // nestref todo
				with(hObj) {open();	write(txt);	close();}
			}
		}				
	}	
}

function getLayerId(index,nestref) {
	if(b.isIE) returnHtml = document.all.tags("DIV").item(index).id;
	if(b.isNS5) returnHtml = document.getElementsByTagName("DIV").item(index).id;
	if(b.isNS && !b.isNS5) returnHtml = (nestref) ? eval(nestref+'.document.layers["'+index+'"].id') : document.layers[index].id;
	return returnHtml;
}

function getLayerCount(nestref) {
	var nLayers = 0; 
	if(b.isIE) nLayers = document.all.tags("DIV").length; 
	if(b.isNS5) nLayers = document.getElementsByTagName("DIV").length;
	if(b.isNS && !b.isNS5) nLayers = (nestref) ? eval(nestref+".document.layers.length") : document.layers.length; 	
	return nLayers;
}

function resizeIt() {
	if(b.isIE) start();
	else document.location = document.location;
}

function mouseInit(evnt) {
	if (g_isNS) {if (evnt.pageX) {mouseX=(evnt.pageX); mouseY=(evnt.pageY);}  }
 	else {	mouseX=(event.clientX);	mouseY=(event.clientY);	}
	if(hScrollPane) {
		var correct = (GetScreenHeight()-390)/2;
		hScrollPane.scrollTo(mouseY-correct);					
	}
}
function keyInit(evnt) {
	if(g_isIE) {
		if(window.event.keyCode==38) hScrollPane.up();
		if(window.event.keyCode==40) hScrollPane.down();
	}
}
function keyRelease(evnt) {
	hScrollPane.stop();
}
// Window functions
function newWindow(url,name,width,height) {
	var hWindow;
	hWindow = window.open(url,name, "dependent=yes,toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=1,width="+width +",height="+height+"\"");
	hWindow.focus();
}

// Rollover functions
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// End Rollover functions


