
 /* /js/core.js */ 

function addWindowOnLoadEvent(func , domElementId)
{
	// config
	var checkInterval = 250; //ms to check to see if elements have loaded
	
	// see if we have the function array otherwise create it
	if (typeof FUTURE_ONLOAD_FUNCTIONS != 'object')
	{
		//if(window.console)window.console.log('create array and empty timer');
		FUTURE_ONLOAD_FUNCTIONS = new Array();
		FUTURE_DOM_CHECK_TIMER  = false;
	}
	// get  function params
	var func = func;
	var domElementId = (domElementId)?domElementId:false;
	
	// package the function and dom element id
	var functionCall = Array(func , domElementId);
	
	// pack into the global array
	FUTURE_ONLOAD_FUNCTIONS.push(functionCall);
	
	if(!FUTURE_DOM_CHECK_TIMER  && (functionCall[1] != false)) // if we have a call to a dom element
	{
		// create a new timer
		//if(window.console)window.console.log('create a timer - started by ' + functionCall[1]);
		FUTURE_DOM_CHECK_TIMER = setInterval(
			function()
			{
				//if(window.console)window.console.log('timer called');
				//  loop around the FUTURE_ONLOAD_FUNCTIONS and if it has a element_id check to see if its loaded
				var nr = FUTURE_ONLOAD_FUNCTIONS.length -1;
				for(var i = nr; i > -1; i--)
				{
					if ((typeof FUTURE_ONLOAD_FUNCTIONS[i][0] == 'function') && FUTURE_ONLOAD_FUNCTIONS[i][1] && document.getElementById(FUTURE_ONLOAD_FUNCTIONS[i][1]))
					{
						FUTURE_ONLOAD_FUNCTIONS[i][0].call();
						//if(window.console)window.console.log( 'timer called: ' + FUTURE_ONLOAD_FUNCTIONS[i][1] );
						FUTURE_ONLOAD_FUNCTIONS[i] = false;
					}	
				}
				
			} , checkInterval
		);
	}
}

function callWindowOnLoadFunctions()
{
	if(FUTURE_DOM_CHECK_TIMER)clearInterval(FUTURE_DOM_CHECK_TIMER);
	//if(window.console)window.console.log('FUTURE_DOM_CHECK_TIMER killed ');
	var nr = FUTURE_ONLOAD_FUNCTIONS.length -1;
	for(var i = nr; i > -1; i--)
	{
		if (typeof FUTURE_ONLOAD_FUNCTIONS[i][0] == 'function')
		{
			//if(window.console)window.console.log('window onload called: ' + i);
			FUTURE_ONLOAD_FUNCTIONS[i][0].call();
		}	
	}
}

function clearSearchField()
{
	if(!document.getElementById("searchform"))return;
	var inputField = document.getElementById('searchform').getElementsByTagName('input')[0];
	var initalValue = inputField.value;
	inputField.onfocus = function()
	{
		if (this.value == initalValue)
		{
			this.value = "";
		}
	}
	inputField.onblur = function()
	{
		if (this.value == "")
		{
			this.value = initalValue;
		}
	}
}
addWindowOnLoadEvent(clearSearchField);

function attachNewWindowEvent()
{
	var imgs = document.getElementsByTagName('img');
	for(var i = 0; i < imgs.length; i++)
	{
		if(imgs[i].getAttribute('class') && imgs[i].getAttribute('class').indexOf('js_gallery_main_image') > -1)
		{
			imgs[i].onclick = function()
			{
				var galleryPath = this.parentNode.getAttribute("href");
				w = open(galleryPath,'galleryWindow','width=900,height=800,toolbar=no,status=no,scrollbars=auto,resize=no');
				w.focus();
			}
			imgs[i].parentNode.onclick = function()
			{
				return false;
			}		
		}
	}
}
addWindowOnLoadEvent(attachNewWindowEvent);

function replaceBrokenImages()
{
	var imgs = document.getElementsByTagName('img');
	var imgNr = imgs.length;
	for (var img = 0; img < imgNr; img++)
	{
		imgs[img].onerror = function()
		{
			var originalScr = this.src;
			var imgSplit = originalScr.split('-');
			var imgCompression = (imgSplit[imgSplit.length-1].split('.')[0]);
			var imgFilename = (imgSplit[imgSplit.length-1].split('.')[1]);
			var imgWidth = (imgSplit[imgSplit.length-2]);
			if (typeof(imgWidth) == "undefined") {
				imgWidth = this.width;
			}
			if (imgWidth == 0) {
				if (this.offsetWidth)
				{
					imgWidth = this.offsetWidth;
				}
			}
			this.setAttribute('brokenurl' , this.src);
			this.setAttribute('width' , imgWidth);
			this.src = 'http://mos.bikeradar.com/images/no-image.jpg'; // just use default.
			this.setAttribute('alt' , 'Broken Image: ' + this.getAttribute('alt'));
			this.onerror = null;
		}
		imgs[img].src = imgs[img].src;
	}
}
addWindowOnLoadEvent(replaceBrokenImages);


function styleShift(theElement,propertyName,propertyType,startVal,endVal,steps,thisStep,delay)
{
	var newVal, startValInt, endValInt;
	switch (propertyType)
	{
		case "#":
		{
			var startRed, startGreen, startBlue, endRed, endGreen, endBlue, redInc, greenInc, blueInc;
			startRed = parseInt(startVal.substring(0,2), 16);
			startGreen = parseInt(startVal.substring(2,4), 16);
			startBlue = parseInt(startVal.substring(4,6), 16);
			endRed = parseInt(endVal.substring(0,2), 16);
			endGreen = parseInt(endVal.substring(2,4), 16);
			endBlue = parseInt(endVal.substring(4,6), 16);
			redInc   = parseInt((endRed - startRed) * (thisStep/steps), 10);
			greenInc = parseInt((endGreen - startGreen) * (thisStep/steps), 10);
			blueInc  = parseInt((endBlue - startBlue) * (thisStep/steps), 10);
			newVal = "rgb(" + parseInt(startRed+redInc) +","+parseInt(startGreen+greenInc) + "," + parseInt(startBlue+blueInc) + ")";
			break;
		}
		case "o":
		{
			startValInt = parseInt(startVal, 10);
			endValInt = parseInt(endVal, 10);
			newVal = parseInt(startValInt + (endValInt - startValInt) * (thisStep/steps), 10)/100;
			break;
		}
		case "%":
		{
			startValInt = parseInt(startVal, 10);
			endValInt = parseInt(endVal, 10);
			newVal = parseInt(startValInt + (endValInt - startValInt) * (thisStep/steps), 10).toString()+"%";
			break;
		}
		case "x":
		{
			startValInt = parseInt(startVal, 10);
			endValInt = parseInt(endVal, 10);
			newVal = parseInt(startValInt + (endValInt - startValInt) * (thisStep/steps), 10).toString()+"px";
			break;
		}
		case "t":
		{
			startValInt = parseInt(startVal, 10);
			endValInt = parseInt(endVal, 10);
			newVal = parseInt(startValInt + (endValInt - startValInt) * (thisStep/steps), 10).toString()+"pt";
			break;
		}
		case "m":
		{
			startValInt = parseInt(startVal, 10);
			endValInt = parseInt(endVal, 10);
			newVal = parseInt(startValInt + (endValInt - startValInt) * (thisStep/steps), 10).toString()+"em";
			break;
		}
		default:
		{
			startValInt = parseInt(startVal, 10);
			endValInt = parseInt(endVal, 10);
			newVal = parseInt(startValInt + (endValInt - startValInt) * (thisStep/steps), 10);
		}
	}
	changeStyle(theElement,propertyName, newVal);
	thisStep++;
	if (thisStep <= steps) {setTimeout(function(){styleShift(theElement,propertyName,propertyType,startVal,endVal,steps,thisStep,delay)}, delay);}
}
function changeStyle(div,change_element,change_value)
{
  var x = div.style;
  eval('x.'+change_element+' = "'+change_value+'";');
  if (change_element == "opacity")
  {
  	eval('x.filter = "alpha(opacity='+(parseInt(change_value*100)).toString()+')";');
	}
}

oldOnLoad = function(){func = function(){return};return}; //fix to anoying ad code

 /* /js/carousel.js */ 

if (FUTURE_GLOBAL_PAGEJS == 'home')
{

	function carousel_setup(thumbnailElementName,imgElementName,transImgElementName,useZoomOption)
	{
		var carousel_thumbs = new Array;
		var carousel_pics = new Array;
		// Create arrays of pics and thumbnails using the existing thumbnail sources.
		var thumbPics = document.getElementById(thumbnailElementName).getElementsByTagName("img");
		for (i = 0; i < thumbPics.length; i++)
		{
			carousel_thumbs[i] = thumbPics[i].src;
			var thumbSize = new RegExp("-45-80", "g");
			carousel_pics[i] = carousel_thumbs[i].replace(thumbSize,"-400-85");
		}
		document.getElementById(transImgElementName).src = carousel_pics[1];
		imageObj = new Array;
		for (image=0; image < carousel_pics.length; image++)
		{
			imageObj[image] = new Image();
			imageObj[image].src = carousel_pics[image];
		}

		document.getElementById(thumbnailElementName).getElementsByTagName("li")[0].getElementsByTagName("a")[0].style.color = "rgb(255, 255, 255)";
		if (useZoomOption == "zoom") { styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[0],"fontSize","x","12","16",5,0,25); }
		carousel_timer = setInterval('rotate_carousel("' + thumbnailElementName + '","' + imgElementName + '","' + transImgElementName + '","' + useZoomOption + '")',5000);
		// Time to load the images.
	}

	function carousel_force(clickedImage,thumbnailElementName,imgElementName,transImgElementName,useZoomOption,immediateSwitch)
	{
		if (document.getElementById(imgElementName).src != document.getElementById(transImgElementName).src) {
			if (immediateSwitch == "now") {
				document.getElementById(transImgElementName).src = document.getElementById(imgElementName).src;
			} else { return false; }
		}
		// Prevents image switches happening if there's a transition already in progress,
		// unless we've insisted on an immediate switch.
		var carousel_thumbs = new Array;
		var carousel_pics = new Array;
		var thumbPics = document.getElementById(thumbnailElementName).getElementsByTagName("img");
		for (i = 0; i < thumbPics.length; i++)
		{
			carousel_thumbs[i] = thumbPics[i].src;
			var thumbSize = new RegExp("-45-80", "g");
			carousel_pics[i] = carousel_thumbs[i].replace(thumbSize,"-400-85");
		}
		clearInterval(carousel_timer);
		for (image=0; image < carousel_pics.length; image++)
		{
			var colorString = new RegExp(" ", "g");
			document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("img")[0].className = "";
			document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("a")[0].className = "";
			if (carousel_thumbs[image] == clickedImage.src)
			{
				styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("img")[0],"borderColor","#","2b2b2e","116EB8",immediateSwitch == "now" ? 1 : 6,0,immediateSwitch == "now" ? 1 : 50);
				styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("a")[0],"color","#","666666","ffffff",immediateSwitch == "now" ? 1 : 6,0,immediateSwitch == "now" ?  1 : 50);
				if (useZoomOption == "zoom") { styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image],"fontSize","x","12","16",immediateSwitch == "now" ? 1 : 5,0,immediateSwitch == "now" ? 1 : 25); }
				document.getElementById(transImgElementName).src = document.getElementById(imgElementName).src;
				document.getElementById(transImgElementName).style.opacity = "1";
				document.getElementById(transImgElementName).style.filter = 'alpha(opacity=100)';
				document.getElementById(imgElementName).src = carousel_pics[image];
			} else 	if ((document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("a")[0].style.color.replace(colorString,"") == "rgb(255,255,255)") ||
				    (document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("a")[0].style.color == "#ffffff")) {
				styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("img")[0],"borderColor","#","116EB8","2b2b2e",immediateSwitch == "now" ? 1 : 6,0,immediateSwitch == "now" ? 1 : 50);
				styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("a")[0],"color","#","ffffff","666666",immediateSwitch == "now" ? 1 : 6,0,immediateSwitch == "now" ? 1 : 50);
				if (useZoomOption == "zoom") { styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image],"fontSize","x","16","12",immediateSwitch == "now" ? 1 : 5,0,immediateSwitch == "now" ? 1 : 25); }
			}
		}
		setTimeout("fadeThat('" + imgElementName + "','" + transImgElementName + "', 100)", 30);
		carousel_timer = setInterval('rotate_carousel("' + thumbnailElementName + '","' + imgElementName + '","' + transImgElementName + '","' + useZoomOption + '")',5000);
		// Time to load the images.
	}

	function rotate_carousel(thumbnailElementName,imgElementName,transImgElementName,useZoomOption)
	{
		var carousel_pics = new Array;
		var thumbSize = new RegExp("-45-80", "g");
		for (i = 0; i < document.getElementById(thumbnailElementName).getElementsByTagName("li").length; i++)
		{
			carousel_pics[i] = document.getElementById(thumbnailElementName).getElementsByTagName("li")[i].getElementsByTagName("img")[0].src.replace(thumbSize,"-400-85");
		}
		carousel_counter = -1;
		for (image=0; image < carousel_pics.length; image++)
		{
			var colorString = new RegExp(" ", "g");
			if ((document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("a")[0].style.color.replace(colorString,"") == "rgb(255,255,255)") ||
			    (document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("a")[0].style.color == "#ffffff")) {
				styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("img")[0],"borderColor","#","116EB8","2b2b2e",6,0,50);
				styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image].getElementsByTagName("a")[0],"color","#","ffffff","666666",6,0,50);
				if (useZoomOption == "zoom") { styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[image],"fontSize","x","16","12",5,0,25); }
			}
			if (carousel_pics[image] == document.getElementById(imgElementName).src)
			{
				carousel_counter = image + 1;
				document.getElementById(transImgElementName).src = document.getElementById(imgElementName).src;
				document.getElementById(transImgElementName).style.opacity = "1";
				document.getElementById(transImgElementName).style.filter = 'alpha(opacity=100)';
			}
		}
		if (carousel_counter < 0)
		{
			document.getElementById(imgElementName).src = carousel_pics[1];
			document.getElementById(transImgElementName).src = carousel_pics[0];
			document.getElementById(transImgElementName).style.opacity = "1";
			document.getElementById(transImgElementName).style.filter = 'alpha(opacity=100)';
			clearInterval(carousel_timer);
			carousel_timer = setInterval('rotate_carousel("' + thumbnailElementName + '","' + imgElementName + '","' + transImgElementName + '","' + useZoomOption + '")',5000);
			return true;
			// If the main background doesn't match any of the thumbs, we'll force the damn thing.
		}
		document.getElementById(transImgElementName).style.zIndex = "110";
		if (carousel_counter > carousel_pics.length - 1) { carousel_counter = 0; }
		fadeThat(imgElementName, transImgElementName, 100);
		setTimeout('document.getElementById("' + imgElementName + '").src = "' + carousel_pics[carousel_counter] + '"',30);
		styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[carousel_counter].getElementsByTagName("img")[0],"borderColor","#","2b2b2e","116EB8",6,0,50);
		styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[carousel_counter].getElementsByTagName("a")[0],"color","#","666666","ffffff",6,0,50);
		if (useZoomOption == "zoom") { styleShift(document.getElementById(thumbnailElementName).getElementsByTagName("li")[carousel_counter],"fontSize","x","12","16",5,0,25); }
	}

	function fadeThat(imgElementName,transImgElementName, opacity)
	{
		document.getElementById(transImgElementName).style.opacity = (opacity/100).toString();
		document.getElementById(transImgElementName).style.filter = 'alpha(opacity=' + opacity.toString() + ')';
		opacity-=5;
		if (opacity>=0) {setTimeout("fadeThat('" + imgElementName + "','" + transImgElementName + "', " + opacity + ")", 20);}
		else {document.getElementById(transImgElementName).src = document.getElementById(imgElementName).src;}
	}
}



 /* /js/setup_carousel.js */ 

if (FUTURE_GLOBAL_PAGEJS == 'home')
{

	// setup function to start the homepage carousel

	function setup_homepage_carousel()
	{
		carousel_setup('carousel_thumbnails','carousel_image','carousel_transitional_image','');
		var x = document.getElementById("carousel_thumbnails").getElementsByTagName("li");
		for (var i=0;i<x.length;i++)
		{
			x[i].getElementsByTagName("img")[0].onclick = function () { carousel_force(this,'carousel_thumbnails','carousel_image','carousel_transitional_image','','now'); }
			x[i].onmouseover = function () { carousel_force(this.getElementsByTagName("img")[0],'carousel_thumbnails','carousel_image','carousel_transitional_image','','now'); }
		}
	}
	addWindowOnLoadEvent(setup_homepage_carousel);


}


 /* /js/magazine_blogs.js */ 

function rotateLinkPic(picId)
{
	theLink = document.getElementById("magazine_images");
	theSpan = theLink.getElementsByTagName("span")[0];
	theImg = theLink.getElementsByTagName("img")[0];
	theImg.src = theLink.getElementsByTagName("img")[0].src;
		theLink.href = hrefs[picId];
		theSpan.style.backgroundImage = "url(" + theImg.src + ")";
	//	theSpan.style.zIndex = 90;
		theImg.style.opacity = "0";
		theImg.style.filter = 'alpha(opacity=0)';
		setTimeout(function(){
			theImg.src = mag_imgs[picId];
			theImg.alt = alts[picId];
    		theImg.title = alts[picId];
			styleShift(theImg,"opacity","o",0,100,6,0,60);
		},200);
		setTimeout(function(){theSpan.style.zIndex = 100;}, 2000);

}
function loopLinkPicRotation()
{
	picId++;
	if (picId == mag_imgs.length) {picId = 0;}
	rotateLinkPic(picId);
}


 /* /js/gear_browser.js */ 

if (FUTURE_GLOBAL_PAGEJS == 'gear' || FUTURE_GLOBAL_PAGEJS == 'gearlisting' || FUTURE_GLOBAL_PAGEJS == 'geararticle')
{

	// add the css to hide all sub lists without js
	var domain = document.location.toString().split('/')[2]; // get domain
	document.write('<style>@import url(http://'+domain+'/css/js_gear_browser.css);</style>'); //write style

	function setupGearBrowser()
	{
		var gearBrowserElement = document.getElementById('gear_browser');

		gearBrowserElement.onclick = function(e)
		{
			var e = (e)?e:window.event;
			var targetElement = (e.target)?e.target:e.srcElement;

			if(!targetElement.parentNode.hasChildNodes() || targetElement.parentNode.childNodes.length == 1)
			{
				return;
			}

			if (targetElement.nodeName.toLowerCase() == "a" && targetElement.parentNode.childNodes[1].nodeName.toLowerCase() == "ul")
			{
				var ulTags = this.getElementsByTagName("ul");
				ulTagsNr = ulTags.length;

				// if its open just close it
				if(targetElement.parentNode.childNodes[1].className == "open")
				{
					targetElement.parentNode.childNodes[1].className = "";
					return false;
				}
				else
				{
					// otherwise hide everything
					for(var i = 0; i < ulTagsNr; i++)
					{
						ulTags[i].className = "";
					}
					// and then loop up through the uls from target and open them
					var el = targetElement.parentNode.childNodes[1];
					while(el.parentNode.nodeName.toLowerCase() != "div")
					{
						if(el.nodeName.toLowerCase() == "ul")
						{
							el.className = "open";
						}
						el = el.parentNode;
					}
					return false;
				}
				//return false;
			}
		}
	}
	addWindowOnLoadEvent(setupGearBrowser  , 'gear_browser');
}

 /* /js/toggle_editor_choice.js */ 

if (FUTURE_GLOBAL_PAGEJS == 'gearlisting')
{

	// add the css to hide all sub lists without js
	var domain = document.location.toString().split('/')[2]; // get domain
	document.write('<style>@import url(http://'+domain+'/css/js_gear_tabs.css);</style>'); //write style

	function setupEditorChoiceTabs()
	{
		var linkLiIds = new Array('editors_choice_section','buyers_guide_section','workshop_guide_section');
		var contentDivIds = new Array('editors_choice_wrap' , 'buyers_guide_wrap' , 'workshop_guide_wrap');
		var elements = new Array();
		for(var i=0; i < 3; i++)
		{
			aEls = document.getElementById(linkLiIds[i]).getElementsByTagName('a')
			if(aEls.length == 0)
			{
				continue;
			}
			var linkElement = aEls[0];
			var contentContainer = document.getElementById(contentDivIds[i]);
			elements.push([linkElement,contentContainer]);
		}
		for (var i = 0; i < elements.length; i++)
		{
			elements[i][0].setAttribute('toggleIndex' , i);
			
			
			elements[i][0].onclick = function()
			{
				var toggleIndex = this.getAttribute('toggleIndex');
				if(elements[toggleIndex][1])
				{
					for(var e = 0; e < elements.length;  e++)
					{
						if(elements[e][1])
						{
							elements[e][1].style.display = 'none';
							elements[e][1].className = 'editor_choice_wrapper';
							var splitClassName = elements[e][0].parentNode.className.split("_");
							var newClassName =  splitClassName[0]+"_"+splitClassName[1];
							elements[e][0].parentNode.className = newClassName;
						}
					}
					elements[toggleIndex][1].style.display = 'block';
					this.parentNode.className += "_selected";
				}
				return false;
			}
			
		}
	}
	addWindowOnLoadEvent(setupEditorChoiceTabs , "editors_choice");
}

 /* /js/toggle_specs.js */ 

if (FUTURE_GLOBAL_PAGEJS == 'geararticle')
{

	// add the css to hide all sub lists without js
	var domain = document.location.toString().split('/')[2]; // get domain
	document.write('<style>@import url(http://'+domain+'/css/js_specs.css);</style>'); //write style

	function setupFullSpec()
	{
		var specsDiv = document.getElementById('specs');

		var dtEls = specsDiv.getElementsByTagName('dt');
		var ddEls = specsDiv.getElementsByTagName('dd');
		var fullSpecHiddenElements = new Array();

		var dtLen = dtEls.length;
		for(var i = 0; i < dtLen; i++)
		{
			if(dtEls[i].className == 'full_spec')
				fullSpecHiddenElements.push(dtEls[i]);
		}
		var ddLen = dtEls.length;
		for(var i = 0; i < ddLen ; i++)
		{
			if(ddEls[i].className == 'full_spec')
				fullSpecHiddenElements.push(ddEls[i]);
		}
		// create link
		var fullSpecP = document.createElement('p');
		var fullSpecA = document.createElement('a');
		var fullSpecT = document.createTextNode('show full Specification');

		fullSpecP.appendChild(fullSpecA);
		fullSpecA.appendChild(fullSpecT);
		fullSpecA.setAttribute('href','#');
		fullSpecA.setAttribute('toggleState','closed')
		fullSpecA.setAttribute('title','Click to display full specification.');
		specsDiv.getElementsByTagName('div')[0].appendChild(fullSpecP);

		fullSpecA.onclick = function()
		{
			var toggleState = this.getAttribute('toggleState');
			if (toggleState == 'closed')
			{
				for(var el in fullSpecHiddenElements)
				{
					if(fullSpecHiddenElements[el].className)
					{
						fullSpecHiddenElements[el].className = 'full_spec_open';
						fullSpecHiddenElements[el].style.display = 'block';
					}
				}
				this.replaceChild(document.createTextNode('hide full specification') , this.firstChild);
				this.setAttribute('toggleState','open');
			}
			else
			{
				for(var el in fullSpecHiddenElements)
				{
					if(fullSpecHiddenElements[el].className)
					{
						fullSpecHiddenElements[el].className = 'full_spec';
						fullSpecHiddenElements[el].style.display = 'none';
					}
				}
				this.replaceChild(document.createTextNode('show full specification') , this.firstChild);
				this.setAttribute('toggleState','closed');
			}
			return false;
		}
	}
	addWindowOnLoadEvent(setupFullSpec);
}