﻿var AjaxImageButton = new Class(
{
	initialize : function()
	{
		this._states = ["n", "h", "a", "i"];
		this._activeItems = { };
	},

	collectViewState : function(control)
	{
		return { };
	},

	activate : function(section, control)
	{
		var currentControl = $(this._activeItems[section]);

		if (currentControl == control)
		{
			return;
		}

		if (currentControl != null)
		{
			this.setStatus(section, currentControl, 0, true);
		}

		this._activeItems[section] = control.id;
	},

	setStatus : function(section, control, status)
	{
		this.setStatus(section, control, status, false);
	},

	setStatus : function(section, control, status, force)
	{
		var imgBtnBehavior = $(control).getProperty("behavior");

		if (imgBtnBehavior == "tab")
		{
			if ((this._activeItems[section] == control.id) && !force)
			{
				return;
			}
		}

		var currentStatus = this._states.indexOf(control.src.substr(control.src.length - 5, 1));

		if (currentStatus == 3 && !force)
		{
			return;
		}

		if (status == currentStatus)
		{
			return;
		}

		control.src = control.src.substr(0, control.src.length - 5) + this._states[status] + ".jpg";
	},

	mouseOver : function(section, sender)
	{
		this.setStatus(section, sender, 1);
	},

	mouseOut : function(section, sender)
	{
		this.setStatus(section, sender, 0);
	},

	mouseClick : function(section, sender)
	{
		this.setStatus(section, sender, 2);
	}
});

var imgBtn = new AjaxImageButton();