// Imulus Global Javscript Code

var global = {};

// Setup Global UI Necessities 
global.UserInterface = function(config) { 
	var GlobalUi = this; 
	
	//Jquery variables for caching 
	$roundElements = $(config.roundElements); 
	$addClassFirst = $(config.addClassFirst); 
	$addClassLast = $(config.addClassLast); 
	$addClassEven = $(config.addClassEven); 
	$pageTags = $(config.pageTags); 
	$pageTagsActivate = $(config.pageTags+'> a'); 
	$pageTagsList = $(config.pageTags+' ul');

	GlobalUi.init = function() {
		build(); 
		observe(); 
	}
	
	function build() {
		$roundElements.corner("5px");
	  	$addClassFirst.addClass('first');	
		$addClassLast.addClass('last');
	  	$addClassEven.addClass('even');
	
		// Open all external links in a new window
		$('a[href^="http://"],a[href^="https://"]').filter(function() {
			return this.hostname && this.hostname !== location.hostname;
		}).attr('target', '_blank');	  
	}

	function observe() {
		$pageTagsActivate.toggle(
		
			function(event) {
				event.preventDefault();
				$pageTagsActivate.addClass('down');
				$pageTagsList.slideDown(300);
			}, function(event) {
				event.preventDefault();
				$pageTagsActivate.removeClass('down');
				$pageTagsList.slideUp(300);
			}
		
		);
		
	}

	// Tests whether an element supports a particular attribute
	function elementSupportsAttribute(element, attribute) {
	  var test = document.createElement(element);
	  if (attribute in test) {
	    return true;
	  } else {
	    return false;
	  }
	}
}


