if (document.getElementById) {

var tabbed = {

init : function() {

this.util.configEvents();

this.leftCol = document.getElementById("leftCol");
tabbed.counter = 1;
/* add event listener for leftCol clicks */
this.util.addEvent(this.leftCol, 'click', this.showContent, false);
this.util.addEvent(window, 'load', this.highlightFirstTab, false);
this.util.addEvent(window, 'load', this.showFirstSection, false);


},



showFirstSection : function() {

var tabbedContent = tabbed.util.getElementsByClassName('tabbedContent', 'div', this.LeftCol);

for(var i = 0;i<tabbedContent.length;i++) {

var sectionsArray = tabbed.util.getElementsByClassName('section', 'div', tabbedContent[i]);

sectionsArray[0].style.display = 'block';
	
}

},

highlightFirstTab : function() {

var tabbedSection = tabbed.util.getElementsByClassName('tabsWrapper', 'div', this.LeftCol);

for(var i = 0;i<tabbedSection.length;i++) {

var listItemsArray = tabbed.util.getElementsByClassName('tab', 'li', tabbedSection[i]);

if(listItemsArray[0].className ==='tab') {
	listItemsArray[0].className = 'tab selectedTab';
	/*listItemsArray[0].style.background = '#fff';
	listItemsArray[0].style.color = '#686868';
	listItemsArray[0].style.borderTop = '1px solid #b7b7b8';
	listItemsArray[0].style.borderLeft = '1px solid #b7b7b8';
	listItemsArray[0].style.borderRight = '1px solid #b7b7b8'; */
	}
}


},


showContent : function(evt) {

var listItem = tabbed.util.findTarget(evt, 'li', this);

if(!listItem) {return;}

var liParent = listItem.parentNode;
var tabContainer = liParent.parentNode.parentNode;

var listItemsArray = tabbed.util.getElementsByClassName('tab', 'li', liParent);

for (var i = 0; i<listItemsArray.length; i++) {

listItemsArray[i].className = 'tab';
/*listItemsArray[i].style.background = 'url(images/tabBg.jpg) top left no-repeat';
listItemsArray[i].style.color = '#fff';
listItemsArray[i].style.borderTop= 'none';
listItemsArray[i].style.borderLeft = 'none';
listItemsArray[i].style.borderRight = 'none'; */
 if(listItemsArray[i] === listItem) { var tabNumber = i;}

}

if (listItem.className==='tab') {
listItem.className="tab selectedTab";
/*listItem.style.background = '#fff';
listItem.style.color = '#686868';
listItem.style.borderTop = '1px solid #b7b7b8';
listItem.style.borderLeft = '1px solid #b7b7b8';
listItem.style.borderRight = '1px solid #b7b7b8';*/
}

if(tabContainer.className === 'tabbedSection') {

var correspondingTabContent = tabbed.util.getElementsByClassName('tabbedContent', 'div', tabContainer)[0];

var sections = tabbed.util.getElementsByClassName('section', 'div', correspondingTabContent);


for(var j = 0; j<sections.length; j++ ) {
sections[j].style.display = 'none';
}
sections[tabNumber].style.display = 'block';

}

else{return;}


},

util : {

    configEvents : function() {
      if (document.addEventListener) {
        this.addEvent = function(el, type, func, capture) { el.addEventListener(type, func, capture); };
        this.stopBubble = function(evt) { evt.stopPropagation(); };
        this.stopDefault = function(evt) { evt.preventDefault(); };
        this.findTarget = function(evt, targetNode, container) {
         var currentNode = evt.target;
         while (currentNode && currentNode !== container) {
          if (currentNode.nodeName.toLowerCase() === targetNode) { return currentNode; break; }
          else { currentNode = currentNode.parentNode; }
         };
         return false;
        };
      }
      else if (document.attachEvent) {
       this.addEvent = function(el, type, func) { el["e" + type + func] = func; el[type + func] = function() { el["e" + type + func] (window.event); }; el.attachEvent("on" + type, el[type + func]); };
       this.stopBubble = function(evt) { evt.cancelBubble = true; };
       this.stopDefault = function(evt) { evt.returnValue = false; };
       this.findTarget = function(evt, targetNode, container) { var currentNode = evt.srcElement; 
        while (currentNode && currentNode !== container) {
         if (currentNode.nodeName.toLowerCase() === targetNode) { return currentNode; break; }
         else { currentNode = currentNode.parentNode; }
        };
        return false;
       };
      }
    },
    
       /*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/	
getElementsByClassName : function (className, tag, elm) {
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
}
  
  }

};
	
tabbed.init();
}
