/*
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;
}();




/*
1.5 UPDATES
*/
Event.observe(window, 'load', function() { 
	locateNews();
});

Event.observe(window, 'resize', function() { 
	locateNews();
});

function locateNews () {
	if ($('thumbs') != null) {
		var thumbsWidth = $('thumbs').getWidth();					//744
		var contentWidth = $('content').getWidth();					//939
		var thumbWidth = 198 + 50; //width + margin					//248
		var colCount = Math.floor(thumbsWidth / thumbWidth);		//3
		var offset = 15 + 30; // document Margin + #page Margin		//45
		
		if (colCount < 3) { colCount = 3 };
		
		var newsLeft = thumbWidth * colCount + offset; 				//248*3+45
		newsLeft = newsLeft + "px";
		
		$('news-panel').setStyle({
			left: newsLeft,
			visibility: 'visible'
		});
	
	//define minimum width for thumbs div

		var thumbMaxWidth = contentWidth - 198;
		
		if (thumbMaxWidth <= 990) {
			$('thumbs').addClassName('thumbs-minimum');
		}
		else {
			$('thumbs').removeClassName('thumbs-minimum');
		}

	}
/*
	$('js').innerHTML = 'thumbsWidth:' + thumbsWidth
						+ ' / colCount:' + colCount
						+ ' / newsLeft:' + newsLeft
						+ ' / thumbMaxWidth:' + thumbMaxWidth
						;
*/
}

// Filter items when hover nav items

totalNav = 5; //including 0
var classNames = new Array("SO-IL","News","Reflect","Play","Live","Work"); 
var idKey = ".show-hide"

function filter(id){
	for (var index = 0; index < $$(idKey).length; ++index) {
		if ($$(idKey)[index].hasClassName(classNames[id]) != true) {
			$$(idKey)[index].fade({ duration: 0.15, from: 1, to: 0.25 });
		}
	}
}

function unfilter(id){
	
	for (var index = 0; index < $$(idKey).length; ++index) {
		if ($$(idKey)[index].hasClassName(classNames[id]) != true) {
			$$(idKey)[index].fade({ duration: 0.15, from: 0.25, to: 1 });
		}
	}
}

// home link overlay

function showHome() {
	$('back-home').show();
}
function hideHome() {
	$('back-home').hide();
}

// subscribe newsletter

function subscribeToggle() {
	$('newsletter').toggle();
}
