
function _SM_createRequestObject() 
{
    var ro;
//    var browser = navigator.appName;
//    if(browser == "Microsoft Internet Explorer"){
//        ro = new ActiveXObject("Microsoft.XMLHTTP");
//    }else{
//        ro = new XMLHttpRequest();
//    }
	if (window.XMLHttpRequest)
	{
        ro = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try
		{
	        ro = new ActiveXObject("Msxml2.XMLHTTP");
	    }
	    catch(err)
	    {
	        ro = new ActiveXObject("Microsoft.XMLHTTP");
	    }
	}
	
    return ro;
}

var gdivtyp=0;

function _SM_getDivm(_SM_div_name) 
{
	var divm;
//	if (document.layers) {
//		divm = document.layers[_SM_div_name];
//	} else if (document.all) {
//		divm = document.all(_SM_div_name);
//	} else if (document.getElementById) {
//		divm = document.getElementById(_SM_div_name);
//	}
	if (gdivtyp==0)
	{
		if (document.getElementById) 
		{
			gdivtyp = 3;
		}
		else if (document.layers) 
		{
			gdivtyp = 1;
		} 
		else if (document.all) 
		{
			gdivtyp = 2;
		} 
	}
	if (gdivtyp==1)
	{
		divm = document.layers[_SM_div_name];
	} 
	else if (gdivtyp==2) 
	{
		divm = document.all(_SM_div_name);
	} 
	else if (gdivtyp==3) 
	{
		divm = document.getElementById(_SM_div_name);
	}
	return divm;
}

function getPositionedEventCoords(evt) 
{
    var elem = (evt.target) ? evt.target : evt.srcElement;
    var coords = {left:0, top:0};
    if (evt.layerX) {
        var borders = {left:parseInt(getElementStyle("progressBar", 
                       "borderLeftWidth", "border-left-width")),
                       top:parseInt(getElementStyle("progressBar", 
                       "borderTopWidth", "border-top-width"))};
        coords.left = evt.layerX - borders.left;
        coords.top = evt.layerY - borders.top;
    } else if (evt.offsetX) {
        coords.left = evt.offsetX;
        coords.top = evt.offsetY;
    }
    return coords;
}

function _SM_getPageEventCoords(evt) 
{
    var coords = {left:0, top:0};
    if (evt.pageX) {
        coords.left = evt.pageX;
        coords.top = evt.pageY;
    } else if (evt.clientX) {
        coords.left = 
            evt.clientX + document.body.scrollLeft - document.body.clientLeft;
        coords.top = 
            evt.clientY + document.body.scrollTop - document.body.clientTop;
        // include html element space, if applicable
        if (document.body.parentElement && (document.body.parentElement.clientLeft || document.body.parentElement.clientTop) ) {
            var bodParent = document.body.parentElement;
            if (document.body.parentElement.clientLeft)
            {
	            coords.left += bodParent.scrollLeft - bodParent.clientLeft;
	        }
	        if (document.body.parentElement.clientTop)
	        {
	            coords.top += bodParent.scrollTop - bodParent.clientTop;
	        }
        }
        else if (document.body.parentElement && (document.body.parentElement.scrollLeft || document.body.parentElement.scrollTop) ) {
            var bodParent = document.body.parentElement;
            if (document.body.parentElement.scrollLeft)
            {
	            coords.left += bodParent.scrollLeft;
	        }
	        if (document.body.parentElement.scrollTop)
	        {
	            coords.top += bodParent.scrollTop;
	        }
        }
    }
    return coords;
}

function _SM_getElementPosition(elemID) 
{
    var offsetTrail = _SM_getDivm(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}

var sUserAgent = navigator.userAgent;
var fAppVersion = parseFloat(navigator.appVersion);

var isOpera = sUserAgent.indexOf("Opera") > -1;
var isIE = sUserAgent.indexOf("compatible") > -1 
           && sUserAgent.indexOf("MSIE") > -1
           && !isOpera;
           
var isMinIE4 = isMinIE5 = isMinIE5_5 = isMinIE6 = isMinIE7 = isIE6OrEarlier = false;

if (isIE) {
    var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
    reIE.test(sUserAgent);
    var fIEVersion = parseFloat(RegExp["$1"]);

    isMinIE4 = fIEVersion >= 4;
    isMinIE5 = fIEVersion >= 5;
    isMinIE5_5 = fIEVersion >= 5.5;
    isMinIE6 = fIEVersion >= 6.0;
    isMinIE7 = fIEVersion >= 7.0;
    isIE6OrEarlier = fIEVersion < 7.0;
}

function _SM_CorrectIE6PNGs()
{
	if (isIE6OrEarlier && (document.body.filters)) 
	{
		for(var i=0; i<document.images.length; i++)
		{
			var img = document.images[i]
			var imgName = img.src.toUpperCase()
			if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
			{
				var imgID = (img.id) ? "id='" + img.id + "' " : ""
				var imgClass = (img.className) ? "class='" + img.className + "' " : ""
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
				var imgStyle = "display:inline-block;" + img.style.cssText 
				if (img.align == "left") imgStyle = "float:left;" + imgStyle
				if (img.align == "right") imgStyle = "float:right;" + imgStyle
				if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
				var strNewHTML = "<span " + imgID + imgClass + imgTitle
				+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
				+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
				img.outerHTML = strNewHTML
				i = i-1
			}
		}
	}
}
