var popContent = "";
var popClass = "";
var popStartField = "";
var popWidth = "";

var popX = "";
var popY = "";

var defPopClass = "popUp";

function popUp(page, initial_field, page_get, page_dir, css_class, width)
{
	if (popContent != "")	closePopUp(popContent);
		
	popX = posX;
	popY = posY;
	
	if (arguments.length >= 2)	popStartField = initial_field;
	else						popStartField = "";
		
	var url = page + ".php";
	if (arguments.length >= 3)	url += "?" + page_get;
		
	var dir = "";
	if (arguments.length >= 4)	dir = page_dir + "/";
		
	url = dir + url;

	if (arguments.length >= 5 && css_class != "")	popClass = css_class;
	else											popClass = defPopClass;
		
	if (arguments.length >= 6)	popWidth = width;
	else						popWidth = "";
	
	popContent = page;
	
	ajaxRequest(url, popHandle);
}

function closePopUp(id)
{
	var f = document.getElementById(id + "_form");
	if (f) {
		for (i = 0; i < f.elements.length; i++)
			f.elements[i].disabled = true;
	}
	
	hideBlock(id + "_shadow");
	hideBlock(id);
	popContent = "";
}

function launchPopUp(id, content)
{
	var d = document.getElementById(id);
	
	if (!d)
		d = createElement("div", id, popClass);
		
	var button =	"<div class=\"" + popClass + "CloseContainer\">";
	button +=		"<span class=\"" + popClass + "Close\">";
	button +=		"<a class=\"" + popClass + "CloseLink\" href=\"javascript:closePopUp('"+id+"');\">x</a></span></div>";
	
	d.innerHTML = button + content;
	
	if (popWidth != "")
		d.style.width = popWidth;
	
	/*includes padding and border width on some browsers. be careful!*/
	var h = d.offsetHeight;
	var w = d.offsetWidth;
	
	var y_offset = 10;
	var x_offset = 25;
	
	var x_left_bump = 36;
	var y_left_bump = 5;
								
	var x = popX + x_offset;
	if (w + x > screen.width) {
		x = screen.width - w - x_left_bump;
		y_offset += y_left_bump;
	}
	
	var y = popY - y_offset - h;
	if (y < y_offset)
		y = popY + y_offset;
			
	d.style.top = y + "px";
	d.style.left = x + "px";
	
	createShadow(id, x, y, h, w);
	
	showBlock(id);
	showBlock(id + "_shadow");
	
	setMyFocus(popStartField);
}

function createShadow(id, x, y, h, w)
{
	id += "_shadow";
	
	var shadow = document.getElementById(id);
	
	if (!shadow)
		shadow = createElement("div", id, popClass + "Shadow");
	
	shadow.style.top = y + 10 + "px";
	shadow.style.left = x + 12 + "px";
	shadow.style.height = h + "px";
	shadow.style.width = w + "px";
}

function popHandle()
{
	if (xmlHttp.readyState==1)
		launchPopUp(popContent, "Loading...");

	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		launchPopUp(popContent, xmlHttp.responseText);
}