//Document enhancement
function enhancePage() {
	if (!document.getElementsByTagName) return;

	var anchors=document.getElementsByTagName("a"); //Open external links in a new window
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
	}
	
	$('a.email').each(function(){ //Email address obfuscation (required JQuery)
		e = this.rel.replace('/','@');
		this.href = 'mailto:' + e;
		$(this).text(e);
	});
	
	//Showreel fancybox
	$("a.browse").click(function() {
		$.fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'overlayOpacity': 0.8,
			'overlayColor'	: '#000',
			'transitionIn'	: 'fade',
			'transitionOut'	: 'fade',
			'speedIn'		: 600,
			'speedOut'		: 600,
			'width'			: 800,
			'height'		: 525,
			'href'			: '/images/screenshots/browse.jpg',
			'type'			: 'image'
		});

		return false;
	});
	
	$("a.digistore").click(function() {
		$.fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'overlayOpacity': 0.8,
			'overlayColor'	: '#000',
			'transitionIn'	: 'fade',
			'transitionOut'	: 'fade',
			'speedIn'		: 600,
			'speedOut'		: 600,
			'width'			: 800,
			'height'		: 525,
			'href'			: '/images/screenshots/digistore.jpg',
			'type'			: 'image'
		});

		return false;
	});
	
	$("a.karaoke").click(function() {
		$.fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'overlayOpacity': 0.8,
			'overlayColor'	: '#000',
			'transitionIn'	: 'fade',
			'transitionOut'	: 'fade',
			'speedIn'		: 600,
			'speedOut'		: 600,
			'width'			: 800,
			'height'		: 525,
			'href'			: '/images/screenshots/karaoke.jpg',
			'type'			: 'image'
		});

		return false;
	});
	
	$("a.quiz").click(function() {
		$.fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'overlayOpacity': 0.8,
			'overlayColor'	: '#000',
			'transitionIn'	: 'fade',
			'transitionOut'	: 'fade',
			'speedIn'		: 600,
			'speedOut'		: 600,
			'width'			: 800,
			'height'		: 525,
			'href'			: '/images/screenshots/quiz.jpg',
			'type'			: 'image'
		});

		return false;
	});
	
	CSS3Fallback();
}

function popup(doc,w,h) {
	var top = (screen.availHeight/2)-(h/2);
	var left = (screen.availWidth/2)-(w/2);
	window.open(doc,"jukebook_popup","menubar=no,width="+w+",height="+h+",top="+top+",left="+left+",toolbar=no,location=0,scrollbars=yes");
	return false;
}

window.onload=enhancePage;

/******************************************************
Function below can be removed with common browser
support for CSS3
******************************************************/
function CSS3Fallback() {
	//Add zebra striping to browse tables
	var browseColumns=document.getElementsByClassName("browse_column");

	for (i=0; i<browseColumns.length; i++) { //Fetch browse columns

		var columnTables=browseColumns[i].getElementsByTagName("table"); //Fetch browse tables

		var toggle=false;

		for (j=0; j<columnTables.length; j++) { //Fetch rows
			var tableRows=columnTables[j].getElementsByTagName("tr");
			for (k=0; k<tableRows.length; k++) {
				if (toggle) {
					tableRows[k].className="odd";
					toggle=false;
				} else {
					toggle=true;
				}
			}
		}
	}
}

document.getElementsByClassName = function(className, parentElement) {
	if (typeof parentElement == 'string'){
		parentElement = document.getElementById(parentElement);
	} else if (typeof parentElement != 'object' || typeof parentElement.tagName != 'string') {
		parentElement = document.body;
	}
	var children = parentElement.getElementsByTagName('*');
	var re = new RegExp('\\b' + className + '\\b');
	var el, elements = [];
	var i = 0;
	while ( (el = children[i++]) ){
		if ( el.className && re.test(el.className)){
			elements.push(el);
		}
	}
  	return elements;
}