/**
 * @author Admin
 *
*/
var _el = null, _menuItems = new Array(), _config = new Array();
var currentOver = new Object();	
var currentMenuItem = null;
var images = new Array('/catalog/view/theme/default_theme/assets/images/left_tab.png',
							    '/catalog/view/theme/default_theme/assets/images/tab_middle.png',
								'/catalog/view/theme/default_theme/assets/images/right_tab.png',
								'/catalog/view/theme/default_theme/assets/images/current_tab_01.png',
								'/catalog/view/theme/default_theme/assets/images/current_tab_02.png',
								'/catalog/view/theme/default_theme/assets/images/dd_bottom_01.png',
								'/catalog/view/theme/default_theme/assets/images/dd_bottom_02.png',
								'/catalog/view/theme/default_theme/assets/images/dd_bottom_04.png',
								'/catalog/view/theme/default_theme/assets/images/dd_top_01.png',
								'/catalog/view/theme/default_theme/assets/images/dd_top_02.png',
								'/catalog/view/theme/default_theme/assets/images/dd_top_04.png',
								'/catalog/view/theme/default_theme/assets/images/current_tab_04.png');
		
// Preload images
for (var c = images.length - 1; c >= 0; c--){
	try{
		image = document.createElement("img");
		image.src = images[c];
		images[c] = image; 
	}catch(e){}			
};			

$(document).ready(function(){
				
		function over(e)
		{	
			var child = document.id(this.id + '_child');
			var el = document.id(this.id);
			currentOver['index'] = el.getStyle('z-index');
			el.setStyle('z-index', _menuItems.length + _config['start_index'] + 1);
			el.removeClass();
			el.set('class', _config['over']);
			if(child)child.setStyle('display', 'block');
		}
		
		function out(e)
		{
			var child = document.id(this.id + '_child');
			var el = document.id(this.id);
			el.setStyle('z-index', currentOver['index']);
			el.removeClass();
			el.set('class', _config['out']);
			if(child)child.setStyle('display', 'none');
		}
		
		function setCurrentTab(id)
		{
			$(id).css('z-index', _menuItems.length + _config['start_index']);
		}
		
		function initMenu(el, config)
		{
			config = (config != null) ? config : Object();
			
			_config['over']          = (config.hasOwnProperty('over')) ? config['over']:'current_tab';
			_config['out']           = (config.hasOwnProperty('out')) ? config['out']:'default_tab';
			_config['current']       = (config.hasOwnProperty('current')) ? config['current']:'current_tab';
			_config['overlap_space'] = (config.hasOwnProperty('overlap_space')) ? config['overlap_space']:10;
			_config['start_index']   = (config.hasOwnProperty('start_index')) ? config['start_index']:10;
			
			_menuItems = document.id(el).getElements('div.default_tab');
			
			var startX = 5;
			var overlapping = Number(_config['overlap_space']);
			var zIndex = Number(_config['start_index']) + _menuItems.length;
			
			for (var i = 0; i < _menuItems.length; i++){
				var tab = document.id(_menuItems[i].id);
				var child = document.id(_menuItems[i].id + '_child');
				
				tab.addEvent('mouseover', over);
				tab.addEvent('mouseout', out);
				tab.setStyle('left', startX);
				tab.setStyle('z-index', zIndex--);
				startX += Number(tab.getCoordinates().width) - overlapping;
					
				if(child)child.setStyle('display', 'none');
			};
		}
		
		initMenu('main_menu');
})
var prev = null;
var openMenus = Array();
function showSubChildren(id, index)
{
	
	var thisMenu = id;
	id = 'sub' + id;
	if(prev)hideSubChildren(prev);
	
	prev = id;

	if (document.id(id)) {
	//	document.id(id).setStyle('display', 'block');
		var dims = document.id(thisMenu).getParent().getParent().getCoordinates();
	//	alert(document.id(thisMenu).getStyle('top'));
		document.id(id).setStyle('visibility', 'visible');
		document.id(id).setStyle('top', (index * 20) + 'px'); //document.id(parent).getStyle('top'));
	}
}
function inArray(val, array)
{
	for(var i = array.length - 1; i >= 0; i--)
	{
		if(array[i] == val)return true;
	}
	return false;
}
function forEach(array, func)
{
	for(var i = array.length - 1; i >= 0; i--)
	{
		func(array[i]);
	}
}
function hideSubChildren(id)
{
	if (document.id(id)) {
	//	document.id(id).setStyle('display', 'none');
		document.id(id).setStyle('visibility', 'hidden');
	}
}
