/*
Design and programming: Linked by Air + Geoffrey Han
http://linkedbyair.net
*/



// Set up grayscale-color image rollovers

Event.observe(window, 'load', function() {
	$$('div.image').each(function(image) {
		var grayscaleColor = image.down('.grayscale-color');
		var grayscale = grayscaleColor.down('.grayscale');
		var color = grayscaleColor.down('.color');
		var showColor = function() {
			grayscale.hide();
			color.show();
		};
		var showGrayscale = function() {
			grayscale.show();
			color.hide();
		};
		Event.observe(grayscaleColor, 'mouseover', showColor);
		Event.observe(grayscaleColor, 'mouseout', showGrayscale);
		var caption = image.down('.caption');
		if (caption) {
			Event.observe(caption, 'mouseover', showColor);
			Event.observe(caption, 'mouseout', showGrayscale);
		}
	});
});



// On index pages, center thumbnails vertically in their rows
// TODO: Refactor to show images one as a time as they load, but still without seeing them bump down

Event.observe(window, 'load', function() {
	$$('.index .row').each(function(row) {
		var maxTextHeight = 0;
		var maxImageHeight = 0;
		var columns = [];
		row.select('.column').each(function(column) {
			var text = column.down('.post-meta');
			var image = column.down('.thumbnail-padding');
			var textHeight = text.getHeight();
			var imageHeight = image.getHeight();
			maxTextHeight = Math.max(maxTextHeight, textHeight);
			maxImageHeight = Math.max(maxImageHeight, imageHeight);
			columns.push({image: image, textHeight: textHeight, imageHeight: imageHeight});
		});
		var minNominalPadding = 1000;
		columns.each(function(column) {
			column.nominalPadding = (maxTextHeight - column.textHeight) + parseInt((maxImageHeight - column.imageHeight) / 2);
			minNominalPadding = Math.min(minNominalPadding, column.nominalPadding);
		});
		columns.each(function(column) {
			var padding = column.nominalPadding - minNominalPadding;
			column.image.setStyle({paddingTop: padding + 'px', paddingBottom: padding + 'px', visibility: 'visible'});
		});
	});
});


// Center the navigation links

Event.observe(window, 'load', function() {
	var sideMargin = 27;
	var ie6 = $$('html')[0].hasClassName('ie6');
	$$('#navigation-layer .category').each(function(category) {
		if (!ie6) {
			var inner = category.down('.inner');
			if (category.hasClassName('position-1') || category.hasClassName('position-5')) {
				inner.setStyle({marginLeft: ((0 - (inner.getWidth() / 2) + sideMargin) + 'px')});
			}
			else if (category.hasClassName('position-2') || category.hasClassName('position-6')) {
				inner.setStyle({marginLeft: ((0 - (inner.getWidth() / 2) - sideMargin) + 'px')});
			}
		}
		category.setStyle({visibility: 'visible'});
	});
});


// Remove focus rectangles from clicks

Event.observe(window, 'load', function() {
	$$('a').each(function(link) {
		Event.observe(link, 'focus', function() { link.blur(); });
	});
});


// CSS Browser Selector   v0.2.5
// Documentation:         http://rafael.adm.br/css_browser_selector
// License:               http://creativecommons.org/licenses/by/2.5/
// Author:                Rafael Lima (http://rafael.adm.br)
// Contributors:          http://rafael.adm.br/css_browser_selector#contributors
var css_browser_selector = function() {
	var 
		ua=navigator.userAgent.toLowerCase(),
		is=function(t){ return ua.indexOf(t) != -1; },
		h=document.getElementsByTagName('html')[0],
		b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):'notie '+is('gecko/')?'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',
		os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';
	var c=b+os+' js';
	h.className += h.className?' '+c:c;
}();

