var footsteps = window.location.href.indexOf('/admin/structure_edit.php') > -1 ? true : false;

function getElementsByClassName(parent, className) {
	if(document.getElementsByClassName) {
		return parent.getElementsByClassName(className);
	} else {
		var array = parent.getElementsByTagName('*'),
			newArray = [];
		for(var i = 0, j = array.length; i < j; i++) {
			var node = array[i];
			if(node.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)')))
				newArray.push(node);
		};
		return newArray;
	};
};

function setupLogin() {
	
	var loginId = 'login-shortcut';
	if(document.getElementById(loginId)) {
		
		var login = document.getElementById(loginId),
			elements = login.getElementsByTagName('a');
		
		for(var i = 0, j = elements.length; i < j; i++) {
		
			var textNode = elements[i].firstChild,
				val = textNode.nodeValue,
				pos = val.indexOf('(');
			
			if(pos >= 0) {
				textNode.nodeValue = val.substring(0, pos - 1);
			};
			
		};
		
	};
	
};

function setupBreadcrumb() {
		
	var breadCrumbId = 'breadcrumb-navigation',
		elementClass = 'element';

	if(document.getElementById(breadCrumbId)) {
		
		var breadCrumb = document.getElementById(breadCrumbId);
				
		// If there are less than two elements, hide the breadcrumb
		if(getElementsByClassName(breadCrumb, elementClass).length <= 1) {
			breadCrumb.style.display = 'none';
		
		// If there are two or more elements, place the breadcrumb before the heading
		} else if(document.getElementsByTagName('h1').length && !footsteps) {
			var container = breadCrumb.parentNode;
			breadCrumb.style.marginTop = '-21px';
			breadCrumb.style.marginBottom = '20px';
			container.parentNode.insertBefore(document.getElementsByTagName('h1')[0], container);
		};
			
	};

};

function setupProductsPage() {
	
	var containerId = 'products-page';
	if(document.getElementById(containerId)) {
	
		var container = document.getElementById(containerId);
		
		// Main categories - Show a random image
		var elements = getElementsByClassName(container, 'image');
		if(elements.length) {
			for(var i = 0, j = elements.length; i < j; i++) {
				var element = elements[i],
					images = element.getElementsByTagName('a'),
					amount = images.length;
				if(amount == 1) {
					images[0].style.display = 'block';
				} else if(amount > 1) {
					var number = Math.round(Math.random() * (amount - 1));
					images[number].style.display = 'block';
				};
			};
		};
		
		// Subcategories - set up events	
		var elements = getElementsByClassName(container, 'products-small-view');
		if(elements.length) {
		
			function showImage(container, index) {
				var images = getElementsByClassName(container, 'image');
				for(var i = 0, j = images.length; i < j; i++)
					images[i].style.display = i == index ? 'block' : 'none';
			};
			
			for(var i = 0, j = elements.length; i < j; i++) {
				var element = elements[i],
					subelements = getElementsByClassName(element, 'element');
					
					for(var k = 0, l = subelements.length; k < l; k++) {
						
						var subelement = subelements[k];
						subelement.container = element;
						subelement.index = k;
						subelement.onmouseover = function() {
							showImage(this.container, this.index);
						};
						
						var subelementContent = getElementsByClassName(subelement, 'content')[0];
						subelementContent.onmouseover = function() {
							this.className = 'content hover';
						};
						subelementContent.onmouseout = function() {
							this.className = 'content';
						};
						subelementContent.onclick = function() {
							window.location.href = this.getElementsByTagName('a')[0].href;
						};
						
					};
					
					showImage(subelement.container, 0);
			
			};
			
		};
	
	};

};

function setupProductPage() {

	var containerId = 'product-item';
	if(document.getElementById('product-item')) {
	
		// Set up tabs
		new Tabs('product-details');

		// If there is one related product, hide the related products
		var containerId = 'related-products',
			elementClass = 'element';
		if(document.getElementById(containerId)) {
			var container = document.getElementById(containerId),
				elements = getElementsByClassName(container, elementClass);
			if(elements.length <= 1)
				container.parentNode.removeChild(container);
		};

		// Set up colorbox
		var container = $('#product-item');
		
		// Colorbox - product image
		container.find('.image > a').colorbox({
			href : '#product-image',
			inline : true,
			innerWidth : 830,
			opacity : 0.35
		});
		
		// Colorbox - support and quote links
		container.find('.more-information a, #product-image .quote a').colorbox({
			href : function() {
				return this.href.substring(this.href.indexOf('#'))
			},
			inline : true,
			innerWidth : 830,
			opacity : 0.35
		});
		
		// Colorbox - close links
		$('#product-image .close a, #form-support .close a, #form-quote .close a, #form-appointment .close a').click(function(e) {
			$.fn.colorbox.close();
			e.preventDefault();
		});
	
		// Hide forms
		$('.form').hide();
		
	};

};

function setupNewsPage() {

	// Add a class to the last element
	var containerId = 'events-page',
		elementClass = 'element',
		lastElementClass = 'last';
	if(document.getElementById(containerId)) {
		var container = document.getElementById(containerId),
			elements = getElementsByClassName(container, elementClass);
		elements[elements.length - 1].className += ' ' + lastElementClass;
	};
	
};

function setupContactPage() {

	var containerId = 'contact-page';
	if(document.getElementById(containerId) && !footsteps) {
		var tabs = new Tabs(containerId, {
			element : 'form'
		});
	};
	
};