var defaultState = "default";
var overState    = "over";
var activeState  = "active";

function setupStateEvents(_autoElemNames, _containerClassName, _folder, _fileName, _extension, _clickable, _enableDefaultDisabledBtn, _defaultDisabledBtn, _cursorType)
{
		var anchors = $("." + _containerClassName + " > a");
		var images = [];
		
		for(i=0; i<anchors.length; i++)
		{
			images[i] = anchors[i].firstChild;
		}
				
		var disabledBtn = images[_defaultDisabledBtn];
		
		// SET OBJECT STATE
				
		function setState(_target, _state)
		{
			with(_target)
			{
			
				if(_autoElemNames)
				src = _folder + "/" + _fileName + "_" + name + "_" + _state + "." + _extension;
				
				else 
				src = _folder + "/" + _fileName + "_" + _state + "." + _extension;
					
				// RESOLVE IE6- PNG ALPHA
				
				fixIE6Png(_target);
				
			}
		}// setState
		
		// CHANGE CURSOR TYPE
		
		function changeCursor(_target, _cursor)
		{
			_target.style.cursor = _cursor;
		}
				
		// ADD EVENT LISTENERS
		
		function addEventListeners(_target)
		{
			with(_target)
			{
				changeCursor(_target, _cursorType)
				onmouseover = rollOver;
				onmouseout = rollOut;
				if(_clickable)
				onclick = onClick;
			}	
		}
		
		// REMOVE EVENT LISTENERS 
		
		function removeEventListeners(_target)
		{
			with(_target)
			{
				onmouseover = onmouseout = onclick = null;
			}
		}
		
		// ROLL OVER HANDLE
			
		function rollOver() {
			setState(this, overState);
		} 
			
		// ROLL OUT HANDLE	
		
		function rollOut() {
			setState(this, defaultState);
		} 
			
		// ON CLICK HANDLE	
			
		function onClick() {
			addEventListeners(disabledBtn);
			setState(disabledBtn, defaultState);
	
			removeEventListeners(this);
			setState(this, activeState);
			
			changeCursor(this, 'default');
			
			disabledBtn = this;
		}
		
		for(var i=0;i<images.length;i++)
		{	
			if(_autoElemNames)
			images[i].name = i + 1;
			
			changeCursor(images[i], _cursorType);
			addEventListeners(images[i]);
		} 
		
		if(_enableDefaultDisabledBtn)
		{
		//	changeCursor(disabledBtn, 'default');
			removeEventListeners(disabledBtn);
			setState(disabledBtn, activeState);
		}

} // setupStateEvents

/*

EXAMPLE:

$(document).ready( function() {
	fixIE6PngAll();	
	setupStateEvents(true, 'js_menu', 'test/', 'btn', 'png' , true, true, 0, 'pointer');
});	

*/






