var current_associated_tab = null;
window.addEvent('domready', function () {
									  
	// Create empty array to store the tabs 							  
	var tabs = Array();
	
	// Set the index to zero 
	var index = 0;
	
	function getTab(index, label) {
		return new Element('a', {
			'html': '<span>'+label+'</span>',
			'href': '#tab'+index,
			'events': {
				'click': function (ev) {
					ev.stop();
					current_associated_tab.setStyle('display', 'none');
					$('association_tabs').getElementById('link_'+current_associated_tab.get('id')).removeClass('active');
					current_associated_tab = $(this.get('href').substring(1));
					current_associated_tab.setStyle('display', 'block');
					$('association_tabs').getElementById('link_'+current_associated_tab.get('id')).addClass('active');
				}
			}	
		});
	}
	
	if(ecommerce_associations_plugin_include_description) {
		var description = document.id('product').getElement('div[class~=description]');
		if(description) {
			index++;
			description.set('id', 'tab'+index);
			description.addClass('tabcontent');
			var label = ecommerce_associations_plugin_include_description;
			
			tabs[index] = getTab(index, label);
						
			var newdescriptionwrapper = new Element('div', {
				'id':'description'
			}).wraps(description);
			
			newdescriptionwrapper.dispose();
		}
	}
	
	var blocks = document.id('article').getElements('#products, #pages, #block');
	blocks.each( function (block_wrapper, i) {
		var block_id = block_wrapper.get('id');
		switch(	block_id ) {
			case 'products':
				if(exclude_products_in_tabs == false) {
					var block = block_wrapper;
					index++;
					block.set('id', 'tab'+index);
					var newproductwrapper = new Element('div', {
						'id':'products'
					}).wraps(block);
					block.addClass('tabcontent');
					var label = block.getElement('h2');
					
					if(label) {
						label = label.get('html').replace(/(<([^>]+)>)/ig,"");
					} else {
						label = '';
					}
					
					tabs[index] = tabs[index] = getTab(index, label);
					
					if(label!='') block.getElement('h2').destroy();
				}
			break; 

			case 'pages':
				if(exclude_pages_in_tabs == false) {
					var pages = block_wrapper.getElements('div.pages-group');
					if(pages.length<2) {
						pages = block_wrapper.getElements('div.navitem');
					}
					pages.each( function (block, idx) {
						index++;
						block.set('id', 'tab'+index);
						block.addClass('tabcontent');
						var label = block.getElement('h2').get('html').replace(/(<([^>]+)>)/ig,"");
						tabs[index] = tabs[index] = getTab(index, label);
						block.getElement('h2').destroy();
					});
				}
			break;
			
			case 'block':
				if(exclude_block_in_tabs == false) {
					var block = block_wrapper;
					index++;
					block.set('id', 'tab'+index);
					var newproductwrapper = new Element('div', {
						'id':'block'
					}).wraps(block);
					block.addClass('tabcontent');
					var label = block.getElement('h2');
					if(label) {
						label = label.get('html').replace(/(<([^>]+)>)/ig,"");
					} else {
						label = '';
					}
					
					tabs[index] = tabs[index] = getTab(index, label);
					if(label!='') block.getElement('h2').destroy();
				}
			break;
		}

	});
	if(tabs.length > 0) {
		var pagecopy = $('pagecopy');
		var tabmenu = new Element('div', {
			'id': 'association_tabs'
		});
		var list = new Element('ul');
		tabs.each( function (tab, idx) {
			if(tab) {
				var li = new Element('li', {
					'id': 'link_tab'+idx
				});
				tab.inject(li);
				li.inject(list);
			}
		});
		list.inject(tabmenu);
		tabmenu.inject(pagecopy, 'after');
		if(ecommerce_associations_plugin_include_description) {
			newdescriptionwrapper.inject($('association_tabs'), 'after');
		}
		$('article').getElements('div.tabcontent').each( function (b, i) {
			if(i>0) {
				b.setStyle('display', 'none');
			} else {
				$('association_tabs').getElementById('link_'+b.get('id')).addClass('active');
				current_associated_tab = b;
			}
		});
	}
});

