function mwe_getElement(id)
{
	return document.getElementById(id);
}

function mwe_setContent(elementId, content)
{
	$("#" + elementId).html(content);
}

function mwe_registerOnDomReadyFunction(functionName)
{
    $(document).ready(functionName);
}

function mwe_getContent(elementId)
{
	try
	{
		return $("#" + elementId).html();
	} catch(error) {
		return '';
	}
}

function mwe_getZIndex(element)
{
    var zindex = 0;
    try
    {
        if(element.style.zIndex)
        {
            zindex = parseInt(element.style.zIndex);
        } else {
            return mwe_getZIndex(element.parentNode);
        }
    } catch(e) {}
    return zindex;
}

function mwe_isNull(element)
{
    try
    {
        if(typeof(element).toString().toLowerCase() != "undefined" && typeof(element).toString().toLowerCase() != "null")
        {
            return false;
        }
        return true;
    } catch(e) {
        return true;
    }
}

function mwe_serializeForm(formObj)
{
    return $(formObj).serialize();
}

function mwe_getHeight(elementObj)
{
    return $(elementObj).outerHeight(true);
}

function mwe_getWidth(elementObj)
{
    return $(elementObj).outerWidth(true);
}

function mwe_getPosition(elementObj)
{
	var elem=elementObj,tagname="",x=0,y=0;
	try
	{
	/*while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
	{
		y+=elem.offsetTop;     
		x+=elem.offsetLeft;    
		tagname=elem.tagName.toUpperCase(); 
		if (tagname=="BODY") {
			elem=0;
		}
		if (typeof(elem)=="object") {
			if(typeof(elem.offsetParent)=="object") {
				elem=elem.offsetParent;
			}
		}
	}*/
        var offset = $(elementObj).offset();
        x = offset.left;
        y = offset.top;
	} catch (error) {}
	position=new Object();
	position.x=x;
	position.y=y;
	return position;
}

function mwe_getPosX(elementObj)
{
	return mwe_getPosition(elementObj).x;
}

function mwe_getPosY(elementObj)
{
	return mwe_getPosition(elementObj).y;
}

function mwe_getHtmlAsync(containerObject, url, parameter)
{
	if(!parameter){
		parameter = { };
	}
	$.ajax({
		url: url,
		async: true,
		global: false,
		cache: false,
		type: "POST",
		data: (parameter),
		dataType: "html",
		success: function(data) { 
				containerObject.setContent(data); 
				if(!containerObject.isEnabled) 
				{
					containerObject.disable();
				} 
				containerObject.raiseEventOnLoadEnd(); 
			}
		}
	);
}
function mwe_getHtmlSync(containerObject, url, parameter)
{
	if(!parameter){
		parameter = { };
	}
	$.ajax({
		url: url,
		async: false,
		global: false,
		cache: false,
		type: "POST",
		data: (parameter),
		dataType: "html",
		success: function(data) { 
				containerObject.setContent(data); 
				if(!containerObject.isEnabled) 
				{
					containerObject.disable();
				}
				containerObject.raiseEventOnLoadEnd(); 
			}
		}
	);
}

function mwe_executeJs(url, parameter)
{
	if(!parameter){
		parameter = { };
	}
	$.ajax({
		url: url,
		async: false,
		global: false,
		cache: false,
		type: "POST",
		data: (parameter),
		dataType: "script"
	});
}

/**
 * The response of the url have to be a json-string
 * representing an array of objects with key/value parameters
 *
 * filterEntry is a optional Option object
 */
function mwe_refreshSelect(select, url, filterEntry)
{
    select.disabled = true;
    var key = $(select).val();
    $(select).find('option').remove().end();
    if(filterEntry)
    {
        if ($.browser.msie) {
            select.add(filterEntry);
        }
        else {
            select.add(filterEntry, null);
        }
    }
    $(function() {
        $.getJSON(url,
            function (data, textStatus) 
            {
                $.each(data,
                    function() {
                        var option;
                        if(this.key == key)
                        {
                            option = new Option(this.value, this.key, true, true);
                        } else {
                            option = new Option(this.value, this.key);
                        }
                        if ($.browser.msie) {
                            select.add(option);
                        }
                        else {
                            select.add(option, null);
                        }
                    }
                );
                select.disabled = false;
            }
        );
    } );
}



