//  keista!!!
function browser_class()
{
	var brs=new Object();
	var appName=navigator.appName.toLowerCase();
	appName=(appName=='netscape')?'ns':(appName=='Microsoft Internet Explorer')?'ie':appName;
	var appVer=navigator.appVersion.toLowerCase();
	var agent=navigator.userAgent.toLowerCase();
	  //
	 //	browser Agent version
	//
	brs.opera=(agent.indexOf('opera')>-1)?1:0;
	brs.firefox=(agent.indexOf('firefox')>-1)?1:0;
	brs.gecko=(agent.indexOf('gecko')>-1)?1:0;
	brs.ns=(appName=='ns')?1:0;
	brs.ns4=(brs.ns&&document.layers)?1:0;
	//	ie
	brs.ie=(!brs.opera&&agent.indexOf('msie')>-1)?1:0;
	brs.ie5mac=(!brs.opera&&agent.indexOf('msie 5')>-1 && agent.indexOf('mac')>-1);
	brs.ie4=(!brs.opera&&agent.indexOf('msie 4.0')>-1)?1:0;
	brs.ie5=(!brs.opera&&agent.indexOf('msie 5.0')>-1)?1:0;
	brs.ie55=(!brs.opera&&agent.indexOf('msie 5.5')>-1)?1:0;
	brs.ie6=(!brs.opera&&agent.indexOf('msie 6.0')>-1)?1:0;
	brs.ie55up=(!brs.opera&&parseFloat(agent.substr(agent.indexOf('msie')+5))>=5.5)?1:0;
	  //
	 //	browser capability
	//
	if (brs.DOM=(document.getElementById)?1:0)
	{
		brs.ieDOM=(brs.ie)?1:0;
		brs.nsDOM=(brs.ns)?1:0;
	}
	if (brs.W3DOM=(document.getElementById&&document.getElementsByTagName&&document.createElement)?1:0)
	{
		brs.ieW3DOM=(brs.ie)?1:0;
		brs.nsW3DOM=(brs.ns)?1:0;
	}
	  //
	 //	other
	//
	brs.newNotIE=(!brs.ie && document.getElementById)?1:0;
	
	function getCurr()
	{
		var currBr=new Object();
		if (agent.indexOf('opera')>-1)	//if (window.opera)
		{
			setValues('opera',parseFloat(agent.substr(agent.indexOf('opera')+6)));
			return currBr;
		}
		if (document.all && agent.indexOf('msie')>-1)
		{
			setValues('ie',parseFloat(agent.substr(agent.indexOf('msie')+5)));
			return currBr;
		}
		if (appName=='ns'&&agent.indexOf('gecko')>-1)
		{
			setValues('gecko',null);
			return currBr;
		}
		function setValues(n,v)
		{
			currBr.name=n;
			currBr.ver=v;
		}
	}
	
	this.curr=getCurr();
	
	this.getBrs = function() 
	{
		return brs;
	}
}



function findObj(e,frame) {
	if (typeof(e) != 'string')	return e
	var d
	if (frame) d = typeof(frame)=='object' ? frame.document : eval(frame+'.document')
	else d = window.document
	
	if (document.getElementById) { e = d.getElementById(e) }
	else if (document.all) { e = d.all[e] }
	else { e = null }
	return e
}



    //////////////////////////////////////////
   // 	reikia: events.js
  //		naudojimas:	<img onMouseOver="imgOver(this,0)" />
 //		nereikia atributo <img onMouseOut="imgOut()"
//
//		imaginio menu principai:
//		img.menuID saugoma imagų ID + eilės nr. nuo 1
//		visi meniu imagų ID numeracija turi būti nuosekli nuo 1 iki ...
//ar imgOver_end = '_over'				
//var img_noAction = ['_over']			//	jei toks imago vardo galas - nedaryti src pakeitimo
function imgOverOutSimple_class()
{
	//this.sourceTag
	this.targImg
	this.settings =
	{
		over: '_over',				//	visu over imagu vardu galas
		out: '_out',
		isOutImg: false				//	yra pvz.: <img src="apie.gif"> ir yra out'ui failelis apie_out.gif
	}
	
	this.findImg = function(obj,type)
	{
		if (type=='child')
		{
			//grąžinamas pirmas obj tiesioginis vaikas IMG'as
			for (var i=0; obj.childNodes.length > i; i++)
			{
				if (obj.childNodes[i].nodeType==1 && obj.childNodes[i].tagName=='IMG')
				{
					return obj.childNodes[i]
				}
			}
		}
	}
	
	this.over = function(obj,type)
	{
		//if (!doc_loaded) return
		  //
		 //		randame target'inį IMG'ą
		//
		if (type=='child')
		{
			if (!obj.imgOverOut_type)
			{
				obj.imgOverOut_type = type
			}
			//	overiuojamas imagas yra perduoto obj vaikas
			if (!obj.targ_img)
			{
				obj.targ_img = this.findImg(obj,type)
			}
			this.targImg = obj.targ_img
		}
		else
		{
			this.targImg = obj
		}
		  //
		 //		apdorojame target'inį IMG'ą
		//
		var curr = this.targImg.src
		if (!this.targImg.out_src)
		{
			if (this.settings.isOutImg) this.targImg.out_src = curr.substring(0,curr.length-4) + this.settings.out + curr.substring(curr.length-4)
			else this.targImg.out_src = this.targImg.src
		}
		if (!this.targImg.over_src)
		{
			this.targImg.over_src = curr.substring(0,curr.length-4) + this.settings.over + curr.substring(curr.length-4)
		}
		this.targImg.src = this.targImg.over_src
		if (!obj.onmouseout) obj.onmouseout = this.out_
	}
	
	this.out_ = function(e)
	{
		var obj = eventTarget(e)
		if (obj.imgOverOut_type && obj.imgOverOut_type=='child')
		{
			if (obj.targ_img.out_src) obj.targ_img.src = obj.targ_img.out_src
		}
		else
		{
			if (obj.out_src) obj.src = obj.out_src
		}
	}
	
	this.out = function(obj)
	{
		if (obj.imgOverOut_type && obj.imgOverOut_type=='child')
		{
			if (obj.targ_img.out_src) obj.targ_img.src = obj.targ_img.out_src
		}
		else
		{
			if (obj.out_src) obj.src = obj.out_src
		}
	}
}



function browserSpecificCSS_class()
{
	var cssFiles = new Array();
	this.assignToDoc=function()
	{
		for (var key in cssFiles)
		{
			if (key==gBr.curr.name)
			{
				if (cssFiles[key][0]!=0 && cssFiles[key][0]!=gBr.curr.ver) continue;
				document.write('<link href="'+cssFiles[key][1]+'" rel="stylesheet" type="text/css" />')
				break;
			}
		}
	}
	
	//	br			< cia analogas i browser_class() this.curr
	//	ver		< 0 - tada bet kokia versija
	//	url		< CSS failo URL
	this.set = function(br,ver,url)
	{
		cssFiles[br]=[ver,url];
	}
}


