window.addEvent('domready', function() {

	// known extensions for downloadable and shadowbox files
	var exts           = ['jpg', 'jpeg', 'png', 'gif', 'mov', 'wmv', 'pdf', 'doc', 'xls', 'ppt', 'zip', 'gz', 'mpg', 'mpeg', 'mp4', 'avi', 'mp3', 'wav', 'tif', 'tiff', 'svg'];
	var shadowbox_exts = ['jpg', 'jpeg', 'png', 'gif'];

	var links = $('wpr_all').getElements('a');
	var linksToShadowboxMediaFiles = [];

	links.each(function(link, index) {

		// find extension
		var split_slash = link.href.split('/');
		var split_ext   = split_slash.getLast().split('.');
		var ext         = split_ext.getLast();

		// check if extension indicates a downloadable file
		if (split_ext.length > 1) {
			if (exts.contains(ext)) {
				link.target = '_blank';
			}

			if (shadowbox_exts.contains(ext)) {
				linksToShadowboxMediaFiles.push(link);
			}
		}

		// look for links to other sites
		if (link.href.substring(0, 7) == 'http://') {
			if (link.href.substring(7, 7 + window.location.hostname.length) != window.location.hostname) {
				link.target = '_blank';
			}
		}
	});

	// known extensions for Shadowbox media files
	var shadowboxMediaFound = false;

	// set shadowbox on links to shadowbox media files
	linksToShadowboxMediaFiles.each(function(linkToShadowboxMediaFile, index){
		if (!linkToShadowboxMediaFile.rel) {
			linkToShadowboxMediaFile.rel = 'shadowbox[all]';
		}
		shadowboxMediaFound = true;
	});

	// initialize Shadowbox (if necessary)
	if (shadowboxMediaFound) {
		// set skin name (folder name)
		var skin = 'fabric2';

		var skinJS  = new Asset.javascript('/js/lib/shadowbox/skin/' + skin + '/skin.js');
		var skinCss = new Asset.css('/js/lib/shadowbox/skin/' + skin + '/skin.css');

		var options = {
			animSequence: 'sync'
		};

		// check if skin is loaded
		skinJS.addEvent('load', function() {
			Shadowbox.init(options);
		});
	}
});