function GetScrollTop()
{
	var theTop = 0;
	if (document.documentElement && document.documentElement.scrollTop)
		theTop = document.documentElement.scrollTop;
	else if (document.body)
		theTop = document.body.scrollTop;
	return theTop;
}

function GetScrollLeft()
{
	var res = 0;
	if (document.documentElement && document.documentElement.scrollLeft)
		res = document.documentElement.scrollLeft;
	else if (document.body)
		res = document.body.scrollLeft;
	return res;
}

function GetSize(obj)
{
	return [obj.clientHeight,obj.clientWidth];
}

function GetScreenSize(obj)
{
	var h = 2000, w = 2000;
	if (self.innerHeight) {
	// all except Explorer
		w = self.innerWidth;
		h = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) {
	// Explorer 6 Strict Mode
		w = document.documentElement.clientWidth;
		h = document.documentElement.clientHeight;
	}
	else if (document.body) {
	// other Explorers
		w = document.body.clientWidth;
		h = document.body.clientHeight;
	}
	return [h,w];
}

function CenterObject(id)
{
	var inst = GetInstance(id);
	var elem = document.getElementById(inst.mainPanel);
	elem.style.position = "absolute";

	var parentSize = GetScreenSize();
	var ph = parentSize[0];
	var pw = parentSize[1];
	
	var size = GetSize(elem);
	var h = size[0];
	var w = size[1];
	pos = document.getElementById(inst.positionBox);
	if(pos.value == '')
	{
		elem.style.left = (GetScrollLeft() + pw/2 - w/2) + "px";
		elem.style.top = (GetScrollTop() + ph/2 - h/2) + "px";
	}
	else
	{
		leftTop = pos.value.split(",");
		elem.style.left = parseInt(leftTop[0]) + "px";
		elem.style.top = parseInt(leftTop[1]) + "px";
	}
}

function left(str, diff)
{
	return str.substring(0, str.length - diff);
}

function SetSameSizeAndPosDefault(id) {
    SetSameSizeAndPos(id, 10, 10);
}

function SetSameSizeAndPos(id, dx, dy)
{
	var inst = GetInstance(id);
	
	var srcElem = document.getElementById(inst.mainPanel);
	var dstElem = document.getElementById(inst.shadowPanel);

    //alert(srcElem.clientHeight);
	dstElem.style.height = srcElem.clientHeight;
	dstElem.style.width = srcElem.clientWidth;
	dstElem.style.left = left(srcElem.style.left, 2) * 1 + dx + "px";
	dstElem.style.top = left(srcElem.style.top, 2) * 1 + dy + "px";
}

function MaximizeObject(id)
{
	var screenSize = GetScreenSize();
	var h = screenSize[0], w = screenSize[1];
	var inst = GetInstance(id);
	var elem = document.getElementById(inst.maskPanel);
	var capacity = document.getElementById(inst.capacityPanel);
	
	elem.style.height = h + "px";
	elem.style.width = w + "px";

	elem.style.top = GetScrollTop() + "px";
	elem.style.left = GetScrollLeft() + "px";
	
	capacity.style.height = h + "px";
	capacity.style.width = w + "px";

	capacity.style.top = GetScrollTop() + "px";
	capacity.style.left = GetScrollLeft() + "px";
}

function addEvent(obj, evType, fn)
{
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}




function SetModalBoxHeight(id, height)
{
	var inst =  GetInstance(id);	
	if(inst)
	{    
	    mainPanel = document.getElementById(inst.mainPanel);
	    if (mainPanel) {
		    
		    mainPanel.style.height = height;
		    mainPanel.height = height;
		}
		SetSameSizeAndPosDefault(id);
		
	}
}


function SetModalBoxWidth(id, width)
{
	var inst =  GetInstance(id);
	
	if(inst)
	{
	    mainPanel = document.getElementById(inst.mainPanel);
	    if (mainPanel) {
	        
		    mainPanel.style.width = width;
		}
		SetSameSizeAndPosDefault(id);
	}
}