/*
 * requires jQuery (written with jQuery-1.4.2.min.js)
 * requires jQuery.cookie (fontSizer)
 *
 * Author: Philipp Wrann
 *
 */

var global = {

	changeInputType : function(c,t)
	{
		var allNodes = jQuery(c);
		for (var i=0;i<allNodes.length;i++)
		{
			var e = allNodes[i];
			jQuery(e).clone().attr({type:t}).insertAfter(e);
			jQuery(e).remove();
		}
	},

	insertFloatRightsBefore : function(c)
	{
		var allNodes = jQuery(c);
		for (var i=0;i<allNodes.length;i++)
		{
			var e = allNodes[i];
			jQuery(e).clone().prependTo(e.parentNode);
			jQuery(e).remove();
		}
	},

	multiColumnText : function()
	{
		var allNodes = jQuery('div').find('> .columnBreak:first');
		for (var i=0;i<allNodes.length;i++)
		{
			var e = jQuery(allNodes[i]).parents('div')[0];
			this.makeColumns(e);
		}
	},
	
	makeColumns : function(e)
	{
		var n = (jQuery.browser.msie) ? '<DIV class=columnBreak></DIV>' : '<div class="columnBreak"></div>';
		var c = e.innerHTML.split(n);
		jQuery(e).html("");
		for (var i=0;i<c.length;i++)
		{
			jQuery(e).append("<div>"+c[i]+"</div>");
			jQuery("div:last",e).css(
			{
				float:'left',
				width:((i+1==c.length)?(100/c.length):(100/c.length-2))+'%',
				marginRight:((i+1==c.length)?0:2)+'%'
			});
		}
		jQuery(e).append('<div style="clear:both;"></div>');
	},

	focusBlur : function()
	{
		jQuery('a').focus(function()
		{
			this.blur()
		})
	},

	popUpLinks : function()
	{
		jQuery('a.external').click(function()
		{
			window.open(jQuery(this).attr('href'));
			return false;
		});
	},
	
	fontSizer : function()
	{
		var fs = new Array();
		
		fs['fs_small'] = new Array();
		fs['fs_small']['sidebar'] = '1em';
		fs['fs_small']['content'] = '1em';
		
		fs['fs_big'] = new Array();
		fs['fs_big']['sidebar'] = '1.15em';
		fs['fs_big']['content'] = '1.15em';
		
		fs['fs_bigger'] = new Array();
		fs['fs_bigger']['sidebar'] = '1.15em';
		fs['fs_bigger']['content'] = '1.3em';
		
		//load cookie
		if (jQuery.cookie('fs'))
		{
			jQuery('.sidebar').css('fontSize',fs[jQuery.cookie('fs')]['sidebar']);
			jQuery('.sidebar .contact .info').css('fontSize','11px');
			jQuery('.content').css('fontSize',fs[jQuery.cookie('fs')]['content']);
			
			jQuery('.controlls .font-size a').removeClass('active');
			jQuery('.controlls .font-size #'+jQuery.cookie('fs')).addClass('active');
		}
		
		jQuery('.controlls .font-size a').click(function()
		{
			jQuery('.sidebar').css('fontSize',fs[this.id]['sidebar']);
			jQuery('.sidebar .contact .info').css('fontSize','11px');
			jQuery('.content').css('fontSize',fs[this.id]['content']);
			
			jQuery('.controlls .font-size a').removeClass('active');
			jQuery(this).addClass('active');
			jQuery.cookie('fs', this.id,{path:'/'});
			return false;
		});
		
	},
	
	init : function()
	{	
		if (!jQuery.browser.msie)
			this.changeInputType('input.number','number');
		
		if (jQuery.browser.msie)
			this.insertFloatRightsBefore('.puttofront');
		
		this.multiColumnText();
		this.popUpLinks();
		this.focusBlur();
		this.fontSizer();
	}
}

jQuery(document).ready(function(){
	global.init();
});
