var cookies_allowed = true;

var browser = "other";
if (window.opera != null) browser = "opera";
else if (navigator.appName == "Microsoft Internet Explorer" && document.all) browser = "ie";
else if (navigator.appName == "Netscape" && !document.all) browser = "ns";

var use_layers = false;
if (document.layers) use_layers = true;

var layertimer = null;

var click_x = click_y = 0;

var save_frame = null;

function init()
{
	var tags = document.getElementsByTagName("a");

	bm_menu = check_cookie("b");

	for (j = 0; j < tags.length; j++)
	{
		t = tags[j].getAttribute("t");

		if (t && t == "g") tags[j].onclick = go;

		if (t && t == "g" && bm_menu)
		{
			init_show_menu(tags[j]);
/*
			if (browser == "opera") tags[j].onmouseover = show_menu;
			else tags[j].oncontextmenu = show_menu;

			if (tags[j].firstChild) alert(tags[j].firstChild.tagName);
*/
		}
	}

	save_frame = document.getElementById("save_link");
}

function init_show_menu(el)
{
	if (browser == "opera") el.onmouseover = show_menu;
	else el.oncontextmenu = show_menu;

	if (el.firstChild && el.firstChild.tagName) init_show_menu(el.firstChild);
}

function draw_menu()
{
	if (use_layers)
	{
		document.writeln("<layer id=\"rc_menu\" width=\"180\" visibility=\"hide\" onMouseOver=\"showMenus('on')\" onMouseOut=\"hideMenus()\">");
	}
	else
	{
		document.writeln("<div id=\"rc_menu\" style=\"display: block; visibility: hidden; z-index: 100; position: absolute; left: 0px; top: 0px; width: 180;\">");
	}

	document.writeln("<table cellpadding=\"0\" cellspacing=\"1\" class=\"submenu-table\" width=\"180\" border=\"0\" onMouseOver=\"showMenus('on')\" onMouseOut=\"hideMenus()\">");

	document.writeln("<tr>");
	document.write("<td class=\"submenu\"><a href=\"#\" id=\"remember_link\" onclick=\"open_link(this); return false;\">remember this gallery</a></td>");
	document.writeln("</tr>");

	document.writeln("</table>");

	if (use_layers)
	{
		document.writeln("</layer>");
	}
	else
	{
		document.writeln("</div>");
	}

	document.writeln("<iframe id=\"save_link\" src=\"\" style=\"width: 0px; height: 0px; display: none;\"></iframe>");
}

draw_menu();

function show_menu(e)
{
	if (window.event)
	{
		click_x = window.event.pageX ? window.event.pageX : (window.event.offsetX + getLeft(window.event.srcElement.parentElement));
		click_y = window.event.pageY ? window.event.pageY : (window.event.offsetY + getTop(window.event.srcElement.parentElement));
	}
	else
	{
		click_x = e.pageX ? e.pageX : e.offsetX;
		click_y = e.pageY ? e.pageY : e.offsetY;
	}

	make_link(e);

	showMenus("new");

	if (window.event) window.event.cancelBubble = true;
	else e.cancelBubble = true;

	return false;
}

function hideMenus()
{
    layertimer = setTimeout("showMenus('off')", 300);
    return false;
}

function showMenus(status)
{
    if (status == "on" || status == "new")
	{
        if (layertimer) { clearTimeout(layertimer) }
		subShow();
	    subMoveTo(click_x + 1, click_y + 1);

	    if (status == "new") layertimer = setTimeout("showMenus('off')", 2000);
	}
	else subHide();

	return false;
}

function subShow()
{
    var layer = "rc_menu";

    if (use_layers) document.layers[layer].visibility = "show";
    else if (browser == "ie") document.all[layer].style.visibility = "visible";
    else document.getElementById(layer).style.visibility = "visible";
}

function subHide()
{
    var layer = "rc_menu";

	if (use_layers) document.layers[layer].visibility = "hide";
    else if (browser == "ie") document.all[layer].style.visibility = "hidden";
    else document.getElementById(layer).style.visibility = "hidden";
}

function subMoveTo(X, Y)
{
    var layer = "rc_menu";

    if (browser == "ie")
	{
        plane = document.all[layer];
        plane.style.pixelLeft = X;
        plane.style.pixelTop = Y;
    }
	else if (browser == "opera")
	{
        var el = document.getElementById(layer);
        el.style.pixelLeft = X;
        el.style.pixelTop = Y;
    }
	else if (use_layers)
	{
        document.layers[layer].left = X;
        document.layers[layer].top = Y;
	}
	else
	{
        var el = document.getElementById(layer);
        el.style.left = X;
        el.style.top = Y;
    }
}

function open_link(linkElement)
{
	if (save_frame) save_frame.src = linkElement.href;
}

function make_link(e)
{
	var linkElement;
	var link;
	var href;

	if (window.event) linkElement = window.event.srcElement;
	else linkElement = e.target;

	if (linkElement.tagName != "A")
	{
		while (linkElement.tagName != "A" && (linkElement.parentElement || linkElement.parentNode))
		{
			if (window.event) linkElement = linkElement.parentElement;
			else linkElement = linkElement.parentNode;
		}
	}
/*
	if (window.event && linkElement.parentElement.href) linkElement = linkElement.parentElement;
	else if (linkElement.parentNode.href) linkElement = linkElement.parentNode;
*/
	href = linkElement.href;

	var c = check_cookie("t")

	if (c)
	{
		if (prefixes && prefixes.length)
		{
			for (var j = 0; j < prefixes.length; j++)
			{
				if (href.substring(0, prefixes[j].length) == prefixes[j]) href = href.substring(prefixes[j].length);
			}
		}

		var category = linkElement.getAttribute("c");
		var description = linkElement.getAttribute("title");

		if (!description) description = linkElement.getAttribute("alt");

		if (!description && linkElement.innerHTML) description = linkElement.innerHTML;

		link = site_url + "/members/add.php?category=" + (category ? category : "") + "&description=" + escape(description) + "&link=" + escape(href);

		document.getElementById("remember_link").href = link;
	}
	else document.getElementById("remember_link").href = "#"; 
}

function go(e)
{
	var linkElement;
	var href = "";

	if (window.event) linkElement = window.event.srcElement;
	else linkElement = e.target;

	if (window.event && linkElement.parentElement.href) linkElement = linkElement.parentElement;
	else if (linkElement.parentNode.href) linkElement = linkElement.parentNode;

	href = linkElement.href;

	var c = check_cookie("t")

	if (c)
	{
		if (prefixes && prefixes.length)
		{
			for (var j = 0; j < prefixes.length; j++)
			{
				if (href.substring(0, prefixes[j].length) == prefixes[j]) href = href.substring(prefixes[j].length);
			}
		}
	}

	document.location = href;

	return false;
}

function check_cookie(variable)
{
	if (cookies_allowed)
	{
		var str = variable + "=";
		var cookie = document.cookie.split(";");
		for (var i = 0; i < cookie.length; i++)
		{
			var c = cookie[i];
			while (c.charAt(0) == " ")
			{
				c = c.substring(1, c.length);
			}

			if (c.indexOf(str) == 0)
			{
				var value = c.substring(str.length, c.length);
				if (value == 1) return true;
			}
		}
	}

	return false;
}

function getLeft(obj)
{
	var curleft = 0;

    while(obj.offsetParent)
    {
        curleft += obj.offsetLeft;
        obj = obj.offsetParent;
    }

	return curleft;
}



function getTop(obj)
{
	var curtop = 0;

    while (obj.offsetParent)
    {
        curtop += obj.offsetTop;
        obj = obj.offsetParent;
    }

	return curtop;
}

