function browser(){
	var ua=navigator.userAgent.toLowerCase();
	this.opera=ua.indexOf('opera')>=0;
	this.safari=ua.indexOf('safari')>=0;
	this.ie=document.all&&!this.opera;
	this.ieCanvas=(this.ie&&document.compatMode=="CSS1Compat")?document.documentElement:document.body;
	return this;
}
function shadow(fid){
	shadow(fid, null);
}

function shadow(fid, z){
	var fo = document.getElementById(fid);	
	if(z) fo.style.zIndex = z;
	fo.style.display ='';
	fo.baseLeft = getLeft(fo);
	fo.baseTop = getTop(fo);
	fo.shadows=new Array;
	for(var i=1;i<=4;i++){
		fo.shadows[i]=document.createElement('div');
		document.body.appendChild(fo.shadows[i]);
	
		var ss=fo.shadows[i].style;
		ss.position='absolute';
		ss.left=fo.baseLeft+i+'px';
		ss.top=fo.baseTop+i+'px';
		ss.width=fo.offsetWidth+'px';
		ss.height=fo.offsetHeight+'px';
		ss.backgroundColor=browser.opera||browser.safari?'#B0B0B0':'#000000';
		ss.zIndex= fo.style.zIndex-5+i;
		var opacity=5*(6-i);
		ss.filter='alpha(opacity='+opacity+')';
		ss.MozOpacity=opacity/100;
		ss.display='';
	}
	return true;
}

function getTop(e){
	var top=0;
	var abs=false;
	while(e&&(e.tagName!='BODY'||!abs)){
		if(e.style.position=='absolute')abs=true;
		top+=e.offsetTop;
		e=e.offsetParent;
	}
	return top;
}

function getLeft(e){
	var left=0;
	var abs=false;
	while(e&&(e.tagName!='BODY'||!abs)){
		if(e.style.position=='absolute')abs=true;
		left+=e.offsetLeft;
		e=e.offsetParent;
	}
	return left;
}

