function trim(s)
{
  return rtrim(ltrim(s));
}
function ltrim(s)
{
  return s.replace(/^\s+/, ''); 
}
function rtrim(s)
{
  return s.replace(/\s+$/, ''); 
}

function setCHeight()
{
	var div = o('content');
	var h = document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
	h = h-232-85;
	if(div.offsetHeight < h)
		div.style.height = h+'px';
}

function closewin(id)
{
	o(id).style.visibility = 'hidden';
	o(id).style.left = '0px';
	o(id).style.top = '0px';
}
function o(id)
{
	return document.getElementById(id);
}
function isValidEmail (email)
{
	return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}
function setElementOpacity(sElemId, nOpacity)
{
	var opacityProp = getOpacityProperty();
	var elem = document.getElementById(sElemId);
	if (!elem || !opacityProp) return;   
	if (opacityProp=="filter")  // Internet Exploder 5.5+
	{
		nOpacity *= 100;
		var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
		if (oAlpha)
			oAlpha.opacity = nOpacity;
		else
			elem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";
	}
	else
		elem.style[opacityProp] = nOpacity;
}
function getOpacityProperty()
{
	if (typeof document.body.style.opacity == 'string') // CSS3 compliant (Moz 1.7+, Safari 1.2+, Opera 9)
		return 'opacity';
	else if (typeof document.body.style.MozOpacity == 'string') // Mozilla 1.6  Firefox 0.8 
		return 'MozOpacity';
	else if (typeof document.body.style.KhtmlOpacity == 'string') // Konqueror 3.1, Safari 1.1
		return 'KhtmlOpacity';
	else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) // Internet Exploder 5.5+
		return 'filter';
	return false; //
}
function getClientWidth()
{
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}
function getClientHeight()
{
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}
function getBodyScrollTop()
{
	return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}
function getBodyScrollLeft()
{
	return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}
function mousePageXY(e)
{
	var x = 0, y = 0;
	if (!e) e = window.event;
	if (e.pageX || e.pageY)
	{
		x = e.pageX;
		y = e.pageY;
	}
	else if (e.clientX || e.clientY)
	{
		x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
		y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
	}
	return {"x":x, "y":y};
}
function getElementPosition(elemId)
{
    var elem = document.getElementById(elemId);
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;
    var l = 0;
    var t = 0;
    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }
    return {"left":l, "top":t, "width": w, "height":h};
}
function setPos(showdiv,cont,loffset,toffset)
{
	var dpos=getElementPosition(showdiv);
	var cpos=getElementPosition(cont);
	var phdiv=document.getElementById(showdiv);
	var l = cpos.left+loffset+'px';
	var t = (cpos.top-dpos.height)+toffset+'px';
	phdiv.style.left=l;
	phdiv.style.top=t;
}
function setElCenter(el)
{
//	alert((screen.width/2) - (o(el).offsetWidth) + 'px');
	o(el).style.top = (screen.height/2) - (o(el).offsetHeight) + 'px';
	o(el).style.left = (screen.width/2) - (o(el).offsetWidth) + 'px';
}
