function sniffBrowser()
{
	
	isCSS =  false;
	isW3C =  false;
	isIE4 =  false;
	isOpera = false; 
	isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false; 
   if (navigator.appName == "Opera")
    	isOpera = true;
	if (document.images){
		if (document.body && document.body.style)
			isCSS =  true;
		if (isCSS && document.getElementById)
			isW3C = true;
		if (isCSS && document.all)
			isIE4 =  true;
	}
	return (isCSS || isIE4);
}
function getClipBottom(elem)
{
	var retval;
	var pix, bottom;
	if (isIE4 && !isOpera){
		bottom = getStyleValue(elem, 'clipBottom');
		pix = bottom.indexOf('p');
	} else {
		alert (elem);
		var vw = document.defaultView;
		var cStyle = vw.getComputedStyle(elem,"");
		var style = cStyle.getPropertyValue('clip');
		var firstComma = style.indexOf(',');
		var right = style.substring(firstComma + 2);
		pix = right.indexOf('p');
		bottom = right.substring(pix+3);
		pix = bottom.indexOf('p');
	}
	retval = bottom.substring(0, pix);
	return retval;
}
function getClipRight(elem)
{
	var retval;
	var pix, right;
	if (isIE4 && !isOpera){
		right = getStyleValue(elem, 'clipRight');
		pix = right.indexOf('p');
	} else {
		var vw = document.defaultView;
		var cStyle = vw.getComputedStyle(elem,"");
		var style = cStyle.getPropertyValue('clip');
		var firstComma = style.indexOf(',');
	 	right = style.substring(firstComma + 2);
		pix = right.indexOf('p');
	}
	retval = right.substring(0, pix);
	return retval;

}

function GetAbsoluteLeft(element)
{
	var retval = 0;
	depth++;
	if(element.parentNode && element.parentNode.nodeName != "BODY")
	{
		retval += GetAbsoluteLeft(element.parentNode);
	}
	retval += element.offsetLeft;
	depth --;
	return retval;
}
function GetAbsoluteTop(element)
{
	var retval = 0;
	if(element.parentNode && element.parentNode.nodeName != "BODY")
	{
		retval += GetAbsoluteTop(element.parentNode);
	}
	retval += element.offsetTop;
	return retval;
}


function getStyleValue(el, property)
{
	var retval;
	if (window.getComputedStyle ){
		originalStyle = getComputedStyle(el,""); 
		retval = originalStyle.getPropertyValue(property);
	} else {
		originalStyle =	el.currentStyle;
		eval("retval = originalStyle."+property);
	}
	return retval; 
}

function pausecomp(millis) 
{
	var date = new Date();
	var curDate = null;

	do { curDate = new Date(); } 
		while(curDate-date < millis);
} 
<!-- 
 --><!-- 
 -->
