$(document).ready(function()
{
	var fonts = new Array();
	var fontPaths = new Array();
	var fontActive = 'none';
	var fontsFolder = 'fonts/';
	var ie6Mode = false;
	
//	browser support:
//	http://webfonts.info/wiki/index.php?title=%40font-face_browser_support

	if($.browser.msie)
	{
		ie6Mode = true;
	}
	
	else if(
		$.browser.mozilla &&
		parseFloat(jQuery.browser.version) < 1.9
	)
	{
		ie6Mode = true;
	}

	var fontSize = 40;
	
	loadFonts();
	
	$('#start-linklist').remove();	
	
	function loadFonts()
	{
		if($('#fontlist').length)
		{
			$('#fontlist li a').each(function()
			{
				fonts[fonts.length] = $(this).text();
				fontPaths[fontPaths.length] = $(this).attr('href');
			});
			
			var testerText = $('a[href=type-tester]').text();
		}
		
		addTestingArea(fonts, fontPaths, testerText);
	}
	
	function addTestingArea(fonts, fontPaths, contentText)
	{
		var text = '';
		
		if(contentText == '')
		{
			contentText = 'The quick brown fox jumps over the lazy dog.';
		}
		
		text += '<div id="type-tester">';
		text += '	<h1>Type-Tester</h1>';
		
		if(!ie6Mode)
		{
			text += '	<textarea>' + contentText + '</textarea>';
		}
		
		else
		{
			text += '	<input type="text" value="' + contentText + '" />';
			fontActive = fonts[0].toLowerCase().replace(' ', '-');
		}
		
		text += ' 	<ul> ';
		
		for(var i = 0; i < fonts.length; i++)
		{
			text += '<li class="font" id="' + fonts[i].toLowerCase().replace(' ', '-') + '">' + fonts[i] + '</li>';
			
			if(i != fonts.length - 1)
			{
				text += '';
			}
		}
		
		text += '	</ul>'
		text += '	<div id="slider-range-min"></div>';
		text += '</div>';
		
		if(!ie6Mode)
		{
			var stylesheet = '';
			stylesheet += '	<style type="text/css">';
		
			for(var i = 0; i < fonts.length; i++)
			{			
				stylesheet += '		@font-face\n';
				stylesheet += '		{\n';
				stylesheet += '			font-family: ' + fonts[i].toLowerCase().replace(' ', '-') + ';\n';
				stylesheet += '			src: url("' + fontPaths[i] + '") format("opentype");\n';
				stylesheet += '		}\n';	
			}
		
			stylesheet += '	</style>';		
			$('head').append(stylesheet);
		}
				
		var markerCounter = 0;
		$('a').each(function()
		{
			if($(this).attr('href') == 'type-tester')
			{
				$(this).after(text);
				$(this).remove();
				markerCounter++;
			}
		});
		
		$('#fontlist').remove();
		$('.font').click(fontActivate);
		
		if(ie6Mode)
		{
			$('#type-tester input').addClass('ie6');
			$('#type-tester input').after('<p class="ie6Font"></p>');
			changeFontSize(40);
		}
		
		$("#slider-range-min").slider({
			range: "min",
			value: 40,
			min: 5,
			max: 250,
			slide: function(event, ui) {
				$(".ui-slider-handle").text(ui.value + 'px');
				changeFontSize(ui.value);
			}
		});
		
		$('#type-tester textarea').css({fontFamily: fonts[0].toLowerCase().replace(' ', '-'), fontSize: 40});
		$("#type-tester .ui-slider-handle").text($("#slider-range-min").slider("value") + 'px');
		$('#' + fonts[0].toLowerCase().replace(' ', '-')).addClass('active');
		
		if(ie6Mode)
		{
			$('input').change(function(){
				changeFontSize($(".ui-slider-handle").text().replace('px', ''));
			});
		}
	}
	
	function changeFontSize(size)
	{
		fontSize = size;
		
		if(!ie6Mode)
		{
			$('#type-tester textarea').css({fontSize: size + 'px', lineHeight: size * 1.5 + 'px'});
		}
		
		else
		{
			var text = $('#type-tester input').val();
						
			if(fontActive != 'none')
			{
				var fileURL = 'http://www.beta.bierquartier.de/26plus/wp-content/';
				$('.ie6Font').css({height: size * 1.6, background: 'url(' + fileURL + 'ttf2image.php?text=' + escape(text) + '&font=' + fontActive + '&size=' + fontSize + ') no-repeat'});
			}					
		}	
	}
	
	function fontActivate(event)
	{
		var fontID = $(event.target).attr('id');
		
		if(fontActive != fontID)
		{
			$('#type-tester textarea').css({fontFamily: fontID});
			fontActive = fontID;
			$('#type-tester .font.active').removeClass('active');
			$(event.target).addClass('active');
			
			if(ie6Mode)
			{
				changeFontSize($(".ui-slider-handle").text().replace('px', ''));
			}
		}
		
		else
		{
			$('#type-tester textarea').css({fontFamily: 'Georgia'});
			fontActive = 'none';
			$(event.target).removeClass('active');
		}
	}
});
