/**
 * @dep jQuery, sIFR
 */
(function()
{
	var base_url = '/wp-content/themes/default';

	function setUpSifr()
	{
		if (typeof Font == 'undefined')
			return;

		var $targets = $('h1, h2, h3, h4');

		if (document.all)
			return $targets.css('visibility', 'visible');

		function SparkFont()
		{
			Font.apply(this, arguments);
		};
		SparkFont.prototype = new Font;
		SparkFont.prototype.fontPath = base_url + '/fnt/';
		SparkFont.prototype.hasFlash = function()
		{
		    var a = 6;
		    if (navigator.appVersion.indexOf("MSIE") != -1 && navigator.appVersion.indexOf("Windows") > -1) {
		        document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & ' + a + '))) \n</script\> \n');
		        if (window.hasFlash != null) return window.hasFlash;
		    }
		    if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {
		        var b = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description;
		        return parseInt(b.substr(b.indexOf(".") - 2, 2), 10) >= a;
		    }
		    return false;
		};
		SparkFont.prototype.replaceElement = function(el)
		{
			Font.prototype.replaceElement.call(this, el);
			if (el.className)
				el.className += ' ';
			el.className += 'sifr-replaced';
		};

		var light = new SparkFont('serverius_light.swf');
		if (light.hasFlash)
			$(document.body).addClass('sifr');
		light.replaceElements($targets);
	}

	function setUpNav()
	{
		$("#nav > li").bind('mouseenter mouseleave',
			function(event)
			{
				var $child = $('ul:first', this);

				if (!$child.length)
					return;

	        	$(this).toggleClass('selected');
				$child.css(
					'visibility',
					(event.type == 'mouseenter' ? 'visible' : 'hidden')
				);
	    	}
		);
	}

	function setUpClickableBlocks()
	{
		$('.clickable').click(function(event)
		{
			if (event.target.tagName == 'A')
				return;

			var $anchor = $(this).find('a:first');
			if (!$anchor.length)
				return;

			var url = $anchor[0].getAttribute('href');
			if (url == '')
				return;

			location = url;
		});
	}

	function setUpMailtos()
	{
		$('a.email').each(function()
		{
			var addr = this.getAttribute('address');
			if (!addr)
				return;

			addr = addr.split('|').reverse().join('');
			$(this).attr('href', 'ma' + 'il' + 'to' + ':' + addr).html(addr);
		});
	}

	function setUpTweets()
	{
		$('#tweets').tweets(94043958);
	}

	$(document).ready(function()
	{
		setUpSifr();
		setUpNav();
		setUpClickableBlocks();
		setUpMailtos();
		setUpTweets();
	});
})();