/******************--------- TAB Nav homepage----------*************************/
fp={
	///Initialise variables///
	// Page section IDs
	contentWrapperId:'products-nav',
	detailsNav:'group-menu-left',
	
	// CSS classes
	dynamicClass:'fp',
	showClass:'show',
	currentClass:'current',
	hideClass:'hide',
	activeLinkClass: "active",
	
	// Cookie name prefix
	cookiePrefix:'ifsl-id-',
	// Array to store ul items
	ulItems:new Array(),
	
	
	init:function(){
		if(!document.getElementById || !document.createTextNode){return;}
		var container=document.getElementById(fp.contentWrapperId);
		if(!container){return;}
		fp.cssjs('add',container,fp.dynamicClass);
		fp.initList();
		// Display left menu after instanstiating the list (displays menu ONLY when its fully built - eliminates flicker)
		var leftMenu = document.getElementById('left-menu-holder')
		leftMenu.style.display='block';
	},
	
	initList:function()
	{
		/*------------Get which link is moused down------------*/
		var nav=document.getElementById(fp.contentWrapperId);
		if(nav && nav.getElementsByTagName('div'))
		{
			var links=nav.getElementsByTagName('a');
			
			for(var i=0; i<links.length;i++)
			{
				fp.addEvent(links[i],'mousedown',fp.showPara,false);
			}
		}
		
		/*-----------Hide paragraphs on init--------------*/
		var nav=document.getElementById(fp.contentWrapperId);
		if(nav && nav.getElementsByTagName('div'))
		{
			var para=nav.getElementsByTagName('ul');
			for(var j=0; j<para.length;j++)
			{
				// Determine if cookie is set with menu status, if so we need to show the menu
				var cookieName = fp.cookiePrefix+para[j].id;
				if(!fp.readCookie(cookieName))
				{
					para[j].style.display='none';
					$link = para[j].parentNode.getElementsByTagName('a');
					fp.cssjs('remove',$link[0],fp.activeLinkClass);
				}else
				{
					para[j].style.display='block';
					$link = para[j].parentNode.getElementsByTagName('a');
					fp.cssjs('add',$link[0],fp.activeLinkClass);
					
				}
				// Store each UL tag in an array (used later to loop through and decide what ULs need hiding)
				fp.ulItems[j] = para[j];
			}
		}
	},
	showPara:function(e)
	{
			
		var whichPara=fp.getTarget(e);
		// alert();
		if(fp.cssjs('check',whichPara,fp.activeLinkClass)) {
			fp.cssjs('remove',whichPara,fp.activeLinkClass);
		}else
		{
			fp.cssjs('add',whichPara,fp.activeLinkClass);
		}
		// If IE, use split to obtain anchor
		if (window.event)
		{
			var url=whichPara.getAttribute('href').split('#');
			// Remove last character which is added to the href link to eliminate the risk of creating an unwanted anchor
			var toDisplay= url[1].substring(0, (url[1].length-1));
			
		}
		else // If Mozilla, use replace to obtain anchor
		{
			var url=whichPara.getAttribute('href').replace('.php', "").split('#');
			// Remove last character which is added to the href link to eliminate the risk of creating an unwanted anchor
			var toDisplay= url[1].substring(0, (url[1].length-1));
		}
		
		var toDisplay=toDisplay.replace(/^.*[\/\\]/g, '');
		if(document.getElementById(toDisplay))
		{
			var toDisplay=document.getElementById(toDisplay);
			if(toDisplay.style.display == 'block')
			{
				$link = toDisplay.parentNode.getElementsByTagName('a');
				fp.cssjs('remove',$link[0],fp.activeLinkClass);
				toDisplay.style.display='none';
				// Delete cookie
				var cookieName = fp.cookiePrefix+toDisplay.id;
				fp.eraseCookie(cookieName);
			}
			else
			{
				toDisplay.style.display='block';
				// Set cookie
				var cookieName = fp.cookiePrefix+toDisplay.id;
				fp.createCookie(cookieName,1,365)
			}
			for( x in fp.ulItems)
			{
				if (fp.ulItems[x] != toDisplay)
				{
					$link = fp.ulItems[x].parentNode.getElementsByTagName('a');
					fp.cssjs('remove',$link[0],fp.activeLinkClass);

					fp.ulItems[x].style.display='none';
					var cookieName = fp.cookiePrefix+fp.ulItems[x].id;
					fp.eraseCookie(cookieName);
				}
			}
		}
		fp.cancelClick(e);
	},
	
	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';
			}
	},
	
	
	/*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------*/
	
	// +++++++++++++++++++++++++++ COOKIE HELPERS
	// Methods to help set, erase and read cookies
	createCookie:function(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=/";
	},
	
	eraseCookie:function(name) 
	{
		fp.createCookie(name,"",-1);
	},
	
	readCookie:function(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;
	},
	// +++++++++++++++++++++++++++ COOKIE HELPERS
	
	//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);
