document.observe('dom:loaded', initBenTags);
// Prepare DOM
function initBenTags() {
	
	if($$('.benTags').length > 0) {
		// Styles
		var style = document.createElement('link');
			style.rel = 'stylesheet';
			style.type = 'text/css';
			style.media = 'screen';
			style.href = 'http://woman.dk/static/benTags/css/style.css';
		document.getElementsByTagName('head')[0].appendChild(style);

		// Tag wrapper
		var drawer = document.createElement('div');
			drawer.id = 'benTagDrawer';
			drawer.style.display = 'none';
		document.body.appendChild(drawer);

		var closeButton = document.createElement('a');
			closeButton.href = '#';
			closeButton.appendChild(document.createTextNode('Luk'));
			closeButton.id = 'closeButton';
		drawer.appendChild(closeButton);
		
		var iframe = document.createElement('iframe');
			iframe.src = '';
			iframe.style.display = 'none';
		// Nursery check - IE (apparently) doesn't support .innerHTML on iframes.
		if(iframe.innerHTML) iframe.innerHTML = 'Din browser kan desværre ikke vise dette indhold, <a href="/category" title="G&aring; til oversigt over artikler">se evt. oversigten</a> hvis du vil se flere spændende artikler.';
		drawer.appendChild(iframe);
			
		// Register events for toggling display of tag content
		$$('.benTags a').each(function(element) {
			element.onclick = tagDisplay;
		});
		$('closeButton').onclick = tagDisplay;
	}
	else return;
}

function tagDisplay() {
	tag = this.childNodes[0].nodeValue.toLowerCase();
	
	// Load content & open drawer
	if ($('benTagDrawer').style.display == 'none') {
		toggleAdtech('hidden');
		this.id = 'tagDisplay';
		Effect.toggle('benTagDrawer');
		loadContent('create');
	}
	// Clear content & close drawer
	else if (this.id == 'tagDisplay' || this.id == 'closeButton') {
		clearTimeout(buffer);
		Effect.toggle('benTagDrawer');
		iframe.src = '';
		$('benTagDrawer').removeChild($('loadWrapper')); // This one is crucial. We need to remove the loadWrapper, not just hide it.
		$('tagDisplay').id = '';
		toggleAdtech('visible');
	}
	// Update content
	else {
		$('tagDisplay').id = '';
		this.id = 'tagDisplay';
		loadContent('update');
	}
	return false;
}

function loadContent(method) {
	// Prepare content
	iframe = $('benTagDrawer').down().next();
	iframe.src = $('tagDisplay').href + '?js=true&cacheHandler=' + Math.random();
	var loadTxt = 'Henter indhold med emnet "'+ tag +'"...';

	// Fake some server interaction..
	if (method == 'create') {
		var loadWrapper = document.createElement('p');
			loadWrapper.id = 'loadWrapper';
		var loadImg = document.createElement('img');
			loadImg.src = 'http://woman.dk/static/benTags/gfx/load.gif';
			loadImg.alt = 'Et øjeblik. ';
	
			loadWrapper.appendChild(loadImg);
			loadWrapper.appendChild(document.createTextNode(loadTxt));
		$('benTagDrawer').appendChild(loadWrapper);
	}
	else {
		clearTimeout(buffer);
		$('loadWrapper').childNodes[1].nodeValue = loadTxt;
		$('loadWrapper').show();
	}
	// Ready - show content
	buffer = setTimeout("Effect.Fade('loadWrapper', {duration: .5});", 1500);
	iframe.style.display = '';
	
	// Analytics specific
	try { tagTracker._trackEvent(method, tag) } catch(e) {;}
}

function toggleAdtech(visibility) {
	if ($$('.hideAdtech')) {
		$$('.hideAdtech').each(function(element) { element.style.visibility = visibility; });
	}
}