/******************--------- TAB Nav homepage----------*************************/
fp={
	///Initialise variables///
	// Page section IDs
	contentWrapperId:'content-wrapper',
	detailsContainer:'why-what-who-how',
	detailsNav:'home-extra-nav',
	listCourses: 'list-courses',
	
	// CSS classes
	dynamicClass:'fp',
	showClass:'show',
	currentClass:'current',
	hideClass:'hide',
	
	
	init:function(){
		if(!document.getElementById || !document.createTextNode){return;}
		var container=document.getElementById(fp.contentWrapperId);
		if(!container){return;}
		fp.cssjs('add',container,fp.dynamicClass);
		fp.initTabs();
		
		//fp.initList();
	},
	
	initList:function()
	{
		/*------------Get which link is moused over------------*/
		var courses=document.getElementById(fp.listCourses);
		if(courses && courses.getElementsByTagName('a')[0])
		{
			var links=courses.getElementsByTagName('a');
			for(var i=0; i<links.length;i++)
			{
				fp.addEvent(links[i],'mouseover',fp.showPara,false);
				fp.addEvent(links[i],'mouseout',fp.deletePara,false);
			}
			
		}
		
		/*-----------Hide paragraphs on init--------------*/
		var courses=document.getElementById(fp.listCourses);
		if(courses && courses.getElementsByTagName('a')[0])
		{
			var para=courses.getElementsByTagName('div');
			if(para && courses.getElementsByTagName('div')[0])
			{
				for(var j=0; j<para.length;j++)
				{
					para[j].style.display='none';
				}
			}
		}
	},
	showPara:function(e)
	{
		var whichPara=fp.getTarget(e);
		var toDisplay=whichPara.getAttribute('href').replace('.php', "");
		var toDisplay=toDisplay.replace(/^.*[\/\\]/g, '');
		
		if(document.getElementById(toDisplay))
			{
			var toDisplay=document.getElementById(toDisplay);
			toDisplay.style.display='block';
			}
	},
	
	deletePara:function(e)
	{
		var whichPara=fp.getTarget(e);
		var toDisplay=whichPara.getAttribute('href').replace('.php', "");
		var toDisplay=toDisplay.replace(/^.*[\/\\]/g, '');
		
		if(document.getElementById(toDisplay))
			{
			var toDisplay=document.getElementById(toDisplay);
			toDisplay.style.display='none';
			}
	},
	
	initTabs:function()
	{
		var nav=document.getElementById(fp.detailsNav);
		if(nav && nav.getElementsByTagName('a')[0])
		{
			var links=nav.getElementsByTagName('a');
			var firstSection=links[0].href.toString().match(/#(.*)/)[1];
			firstSection=document.getElementById(firstSection);
			
			if(firstSection){
				
				//var parentDIV=firstSection.parentNode.parentNode;
				var firsttab=document.getElementById('why');
				
				var essai=firsttab.getElementsByTagName('p');
				essai[essai.length-1].style.display='none';
				fp.cssjs('add',firsttab,fp.showClass);
				fp.currentSection=firstSection;
								
				// Add currentClass to first link
				fp.cssjs('add',links[0],fp.currentClass);
				fp.currentLink=links[0];
				for(var i=0;i<links.length;i++){
					fp.addEvent(links[i],'click',fp.showTab,false);
					fp.fixSafari(links[i]);
				}
			}
		}
	},
	
	showTab:function(e)
	{
		var section=fp.getTarget(e);
		var toshow=section.getAttribute('href').toString().match(/#(.*)/)[1];
		
		/*----Get rid off the "Back Menu" link-----*/
		var backMenu=document.getElementById(toshow).getElementsByTagName('p');
		backMenu[backMenu.length-1].style.display='none';
		
		
		if(fp.currentSection && fp.currentLink)
		{
			fp.cssjs('remove',fp.currentSection,fp.showClass);
			fp.cssjs('remove',fp.currentLink,fp.currentClass);
		}
		if(document.getElementById(toshow))
		{
			var toshow=document.getElementById(toshow);
			fp.cssjs('add',toshow,fp.showClass);
			fp.cssjs('add',section,fp.currentClass);
			fp.currentSection=toshow;
			fp.currentLink=section;
		}
		fp.cancelClick(e);
	},
	
	
	
	/*---------Helper------*/
	//Fix safari
	fixSafari:function(node){
//		node.onclick = function() { return false; }; // Safari
	},
	
	
	getTarget:function(e){
		var target = window.event ? window.event.srcElement : e ? e.target : null;
		if (!target){return false;}
		if (target.nodeName.toLowerCase() != 'a'){target = target.parentNode;}
		return target;
	},
	
	addEvent: function(elm, evType, fn, useCapture){
		if (elm.addEventListener) 
		{
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		}
	},
	cancelClick:function(e){
		if (window.event){
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			return;
		}
		if (e){
			e.stopPropagation();
			e.preventDefault();
		}
	},
	
	// cssjs tests 
	cssjs:function(a,o,c1,c2){
		switch (a){
			case 'swap':
				o.className=!fp.cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
			break;
			case 'add':
				if(!fp.cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
			break;
			case 'remove':
				var rep=o.className.match(' '+c1)?' '+c1:c1;
				o.className=o.className.replace(rep,'');
			break;
			case 'check':
				return new RegExp("(^|\\s)" + c1 + "(\\s|$)").test(o.className)
			break;
		}
	}

}




// start the show.
fp.addEvent(window, 'load', fp.init, false);
