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),
			elements = getElementsByClassName(breadCrumb, elementClass);
				
		// If there are less than two elements, hide the breadcrumb
		if(elements.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);
			
			// If there are five elements, hide the fourth element
			if(elements.length == 5) {
				elements[3].style.display = 'none';
			};
			
		};
			
	};

};

function setupSearchOutput() {
	
	var containerId = 'search-page-total',
		result = 'Uw zoekopdracht leverde 1 resultaat op.',
		results = 'Uw zoekopdracht leverde %n resultaten op.';

	if(document.getElementById(containerId)) {
	
		var container = document.getElementById(containerId),
			amount = parseFloat(container.firstChild.nodeValue);
			
		// Clear container
		container.removeChild(container.firstChild);
		
		if(amount > 0) {		
			
			var text;
			if(amount == 1) {
				text = result;
			} else {
				text = results.replace('%n', amount);
			};
			
			container.appendChild(document.createTextNode(text));
			container.style.display = 'block';
			
		};
	
	};
	
};

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 downloads
		var container = $('#product-item'),
			downloads = container.find('.download');
		
		// Hide downloads container if no downloads are present
		if(downloads.find('li').length < 2) {
			downloads.remove();
			
		} else {
			
			// Check if a brochure has been selected
			var node = $('#product-brochure').children('a');
			if(node.length) {
			
				// Fetch and set the brochure link text if a value has been set
				var text = node.attr('rel');
				if(text.length) {
					node.text(text);
				};
			};
			
		};
		
		// 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-brochure 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, #form-brochure .close a').click(function(event) {
			$.fn.colorbox.close();
			event.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'
		});
	};
	
};

// PPK's cookie functions
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function setupOverlay() {

	var cookie = readCookie('modelec'),		
		image = $('#overlay-data-image'),
		movie = $('#overlay-data-movie');
	
	var target = movie.attr('href') ? movie : image,
		file = target.attr('href');

	if(file && (!cookie || (file != cookie))) {
		target.bind('click', function() {
			lightwindow.show(this);
		});
		target.trigger('click');
		createCookie('modelec', file, 28);
	};

};
