	ns4 = (document.layers) ? true:false 
	ie4 = (document.all) ? true:false 
	ng5 = (document.getElementById) ? true:false

	var mousex = 0;
	var mousey = 0;

	window.document.onmousemove = getMousePos;

	function getMousePos(e)
	{
		if(ie4)
		{
			mousex = event.clientX + document.body.scrollLeft;
			mousey = event.clientY + document.body.scrollTop;

		}
		else
		{
			mousex = e.pageX;
			mousey = e.pageY;
		}

		if (mousex <= 0) {mousex = 0};
		if (mousey <= 0) {mousey = 0} ;  

		return true;
	}

	function replaceHTML(tag,newcontent)
	{
		//if IE 4+
		if (ie4)
			eval("document.all." + tag + ".innerHTML='" + newcontent + "';");
		//else if NS 6 (supports new DOM)
		else if (ng5)
		{
			rng = document.createRange();
			el = document.getElementById(tag);
			rng.setStartBefore(el);
			htmlFrag = rng.createContextualFragment(newcontent);
			while (el.hasChildNodes())
				el.removeChild(el.lastChild);
			el.appendChild(htmlFrag);
		}
	}

	function objectVisible(object, visible)
	{
		if (visible == null)
		{
			visible = true;
		}
		if (visible)
		{
			if (ng5) document.getElementById(object).style.visibility = "visible";
			else if (ns4) document[object].visibility = "show";
			else if (ie4) eval(object + ".style.visibility = 'visible'");
		}
		else
		{
			if (ng5) document.getElementById(object).style.visibility = "hidden";
			else if (ns4) document[object].visibility = "hide";
			else if (ie4) eval(object + ".style.visibility = 'hidden'");
		}
	}

	function objectDisplayStyle(object, state)
	{
		if (ng5) document.getElementById(object).style.display = state;
		else if (ie4) eval(object + ".style.display = '" + state + "';");
	}
	
	function centerItem(idItem)
	{
		var item = getItemFromId(idItem);
		var browseWidth;
		var browseHeight;
		var docleft = document.body.scrollLeft;
		var doctop = document.body.scrollTop;	
		var itemWidth = item.offsetWidth;
		var itemHeight = item.offsetHeight;
		if (ie4)
		{
			browseWidth=document.body.clientWidth;
			browseHeight=document.body.clientHeight;
		}
		else
		{
			browseWidth = window.innerWidth;
			browseHeight = window.innerHeight;
		}
		setItemPos(idItem,docleft + ((browseWidth/2) - (itemWidth/2)), doctop + ((browseHeight/2) - (itemHeight/2)));
	}

	function openIFrame(object, url)
	{
		if (ng5) eval("frames." + object + ".location.href = url;");
		else if (ie4) eval("document.all." + object + ".location.href = url;");
	}

	function setDesignMode(object, state)
	{
		if (ie4)
			eval(object + ".document.designMode = '" + state + "';");
		else if (ng5)
			document.getElementById(object).contentDocument.designMode = state;
	}

	function changeFolderDisplay(folderid)
	{
		var currentfile = document.images["junc_" + folderid].src;
		var temparray = currentfile.split("/");
		currentfile = temparray[temparray.length - 1];
		if (currentfile == "plus.gif")
		{
			document.images["junc_" + folderid].src = "images/minus.gif";
			objectDisplayStyle("table_" + folderid,"");
		}
		if (currentfile == "minus.gif")
		{
			document.images["junc_" + folderid].src = "images/plus.gif";
			objectDisplayStyle("table_" + folderid,"none");
		}
		if (currentfile == "lastplus.gif")
		{
			document.images["junc_" + folderid].src = "images/lastminus.gif";
			objectDisplayStyle("table_" + folderid,"");
		}
		if (currentfile == "lastminus.gif")
		{
			document.images["junc_" + folderid].src = "images/lastplus.gif";
			objectDisplayStyle("table_" + folderid,"none");
		}
	}

	function openFolder(folderid)
	{
		var currentfile = document.images["junc_" + folderid].src;
		var temparray = currentfile.split("/");
		currentfile = temparray[temparray.length - 1];
		currentfile = currentfile.substr(0,4);
		if (currentfile == "last")
		{
			document.images["junc_" + folderid].src = "images/lastminus.gif";
		}
		else
		{
			document.images["junc_" + folderid].src = "images/minus.gif";
		}
		objectDisplayStyle("table_" + folderid,"");
	}

	function closeFolder(folderid)
	{
		var currentfile = document.images["junc_" + folderid].src;
		var temparray = currentfile.split("/");
		currentfile = temparray[temparray.length - 1];
		currentfile = currentfile.substr(0,4);
		if (currentfile == "last")
		{
			document.images["junc_" + folderid].src = "images/lastplus.gif";
		}
		else
		{
			document.images["junc_" + folderid].src = "images/plus.gif";
		}
		objectDisplayStyle("table_" + folderid,"none");
	}

	function calculateSumOffset(idItem, offsetName)
	{
		var totalOffset = 0;
		var item = getItemFromId(idItem);
		do
		{
			totalOffset += eval('item.'+offsetName);
			item = eval('item.offsetParent');
		} while (item != null);
		return totalOffset;
	}

	function getItemX(idItem)
	{
		var obj = getItemFromId(idItem);
		var curleft = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}
	
	function getItemY(idItem)
	{
		var obj = getItemFromId(idItem);
		var curtop = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}

	function getItemHeight(idItem)
	{
		var obj = getItemFromId(idItem);
		return obj.offsetHeight;
	}

	function setItemHeight(idItem,height)
	{
		var obj = getItemFromId(idItem);
		obj.style.height = height + "px";
	}
	
	function setItemPos(idItem, x, y)
	{
		var item;
		if (ie4)
		{
			eval ("document.all." + idItem + ".style.pixelTop = y ;");
			eval ("document.all." + idItem + ".style.pixelLeft = x ;");
		}
		else if (ng5)
		{
			item = document.getElementById(idItem);
			item.style.top = y;
			item.style.left = x;
		}
		else if (ns4)
		{
			item = document[idItem];
			item.top = y;
			item.left = x;
		}
	}

	function getItemFromId(idItem)
	{
		var item;
		if (ie4)
		{
			eval ("item = document.all." + idItem + " ;");
		}
		else if (ng5)
		{
			item = document.getElementById(idItem);
		}
		else if (ns4)
		{
			item = document[idItem];
		}
		return item;
	}

	function positionByMouse(idItem)
	{
		var item = getItemFromId(idItem);
		var docleft = document.body.scrollLeft;
		var doctop = document.body.scrollTop;
		var docright = docleft + document.body.clientWidth;
		var docbottom = doctop + document.body.clientHeight;
		var itemwidth = item.offsetWidth;
		var itemheight = item.offsetHeight;
		var newx;
		var newy;

		if (mousex + itemwidth > docright)
		{
			if (docright - itemwidth < docleft)
			{
				newx = docleft;
			}
			else
			{
				newx = docright - itemwidth;
			}
		}
		else
		{
			newx = mousex;
		}

		if (mousey + itemheight > docbottom)
		{
			if (docbottom - itemheight < doctop)
			{
				newy = doctop;
			}
			else
			{
				newy = docbottom - itemheight;
			}
		}
		else
		{
			newy = mousey;
		}

		setItemPos(idItem,newx,newy);
	}

	function uploadSubmit(formname)
	{
		url = "progressbar.php";
		sid = document.forms[formname].sessionid.value;
		upload_dir = document.forms[formname].upload_dir.value;
		url += "?status=0&sid=" + sid + "&upload_dir=" + upload_dir;

		window.open(url,"progressbar","status=no,border=0,scrollbars=no,width=400,height=150");
		document.forms[formname].submit();
		return true;
	}

	function closeProgressWindow()
	{
		window.open("progressbar.php?close=1","progressbar","status=no,border=0,scrollbars=no,width=400,height=150");
	}
	
	function setIcon(uri)
	{
		document.forms.documentform.icon.value = uri;
		getItemFromId('iconimg').src = uri;
	}

	function removeIcon()
	{
		document.forms.documentform.icon.value = "";
		getItemFromId('iconimg').src = "images/no_icon.gif";
	}
