// opens a window OR if already open brings it to front
function pop (url, name, features) {
	var w;
	// checks to see if it does NOT exist, or did exist at one time but now is closed
	w = eval("window."+name);
	if (!w || w.closed) {
		eval("window."+name+" = window.open (url, name, features);")
		eval("window."+name+"_features = features;");
		window.setTimeout("focus_pop()", 100);
		window.temp = name;
	}
	else {
		if (eval ("features == window."+name+"_features")) {
			w.location=url;
			w.focus();
		}
		else {
			x = w.screenx;
			y = w.screeny;
			w.close();
			eval("window."+name+" = window.open (url, name, features);");
			eval("window."+name+"_features = features;");
			window.setTimeout("focus_pop()", 100);
			window.temp = name;
		}
	}
}

function focus_pop() {
	var w;
	w = eval("window."+window.temp);
	if (w && !w.closed) w.focus();
	else window.setTimeout("focus_pop()", 100);
}

function change_pop (url, name, features) {
	p = window.opener;
	if (eval ("features == p."+name+"_features")) {
		window.location=url;
		window.focus();
	}
	else {
		window.name  = "temp_going_bye_bye";
		x = window.open(url, name, features);
		x.opener = p;
		eval ("p."+name+" = x");
		eval("p."+name+"_features = features;");
		p.setTimeout("focus_pop()", 100);
		p.temp = name;
		window.close();
	}
}