
var SEPARATOR = "#/";
var EMPTY_ADDRESS = "empty";
var BACK_DIRECTION = "back";
var FORWARD_DIRECTION = "forward";
var manualAddress = true;

window.onhashchange = windowHashChange;

function getPageAddress()
{
	var address;
	var list;
	
	list = location.toString().split(SEPARATOR);
	if (list.length > 1 && list[1] != "")
	{
		address = list[1];
	}
	else
	{
		address = EMPTY_ADDRESS;
	}
	
	return address;
}

function updatePageAddress(address)
{
	manualAddress = false;
	location.hash = SEPARATOR + address;
}

function windowHashChange()
{
	var address;
	
	if (manualAddress == true)
	{
		address = getPageAddress();
		openPage(address);
	}
	else
	{
		manualAddress = true;
	}
}

function openPage(address)
{
	var site = flashObject("site");
	site.openPage(address);
}

function flashObject(name)
{
	if (navigator.appName.indexOf("Microsoft") != -1)
	{
        return window[name];
    }
    else
	{
        return document[name];
    }
}

function navigate(dir)
{
	switch (dir)
	{
		case BACK_DIRECTION:
			history.back();
			break;
		case FORWARD_DIRECTION:
			history.forward();
			break;
	}
}

