menu_c.prototype.setLinkChange = function(element_o, old_state_s, new_state_s)
{
	var link_a = element_o.getElementsByTagName('a');

    if (typeof link_a[0] != 'undefined')
    {
    	link_a[0].className = link_a[0].className.replace(old_state_s, new_state_s);
    }
};

menu_c.prototype.setImageChange = function(page_id_i, old_state_s, new_state_s)
{
	var image_o = document.getElementById(this.icon_prefix_s + page_id_i + this.icon_suffix_s);

	if (image_o)
	{
		var image_a = image_o.getElementsByTagName('img');

    	if (typeof image_a[0] != 'undefined')
    	{
    		image_a[0].src = image_a[0].src.replace(old_state_s, new_state_s);
    	}
    }
};

/**/

menu_c.prototype.getPageIdFromLink = function(link_s)
{
	return Number(link_s.substring(this.link_prefix_s.length, (link_s.length - this.link_suffix_s.length)));
};

menu_c.prototype.setStateChange = function(element_o, page_id_i, old_state_s, new_state_s)
{
	this.setLinkChange(element_o, old_state_s, new_state_s);
	this.setImageChange(page_id_i, old_state_s, new_state_s);

    element_o.className = element_o.className.replace(old_state_s, new_state_s);
};

/**/

menu_c.prototype.setOver = function(element_o, skip_b)
{
	var page_id_i = this.getPageIdFromLink(element_o.id);

	if (page_id_i == this.page_id_i)
	{
		if (typeof skip_b == 'undefined')
		{
			return;
		}
	}

	this.setStateChange(element_o, page_id_i, 'out', 'over');
};

menu_c.prototype.setOut = function(element_o)
{
	var page_id_i = this.getPageIdFromLink(element_o.id);

	if (page_id_i == this.page_id_i)
	{
		return;
	}

	this.setStateChange(element_o, page_id_i, 'over', 'out');
};

/**/

menu_c.prototype.setLinkPrefix = function(prefix_s)
{
	this.link_prefix_s = prefix_s;
};

menu_c.prototype.setLinkSuffix = function(suffix_s)
{
	this.link_suffix_s = suffix_s;
};

menu_c.prototype.setIconPrefix = function(prefix_s)
{
	this.icon_prefix_s = prefix_s;
};

menu_c.prototype.setIconSuffix = function(suffix_s)
{
	this.icon_suffix_s = suffix_s;
};

menu_c.prototype.setActivePage = function()
{
	var id_s = this.link_prefix_s + this.page_id_i + this.link_suffix_s;

	var element_o = document.getElementById(id_s);

	if (element_o)
	{
		this.setOver(element_o, 1);
	}
};
