/*

FontJazz 1.2

http://www.fontjazz.com

(C) Copyright Rasmus Schultz, all rights reserved.

Free for use on all private/commercial websites. You may not
sell this script or FontJazz-generated fonts. Removing this
copyright statement is a violation of the licensing terms.

*/

var FontJazz = {
	
	_fonts: {},
	
	_initialized: false,
	
	_css: null,
	
	_initialize: function() {
		
		for (var fontname in FontJazz._fonts) {
			
			if (!FontJazz._fonts[fontname].initialized) {
				
				var image = FontJazz._fonts[fontname].image;
				var height = FontJazz._fonts[fontname].height;
				
        FontJazz._addRule(
          ".FontJazz-" + fontname + " div",
          "float:left; display:inline; overflow:visible;"
        );
        
				FontJazz._addRule(
					".FontJazz-" + fontname + " span",
					"display:block; float:left; background-image:url(" + image + "); height:" + height + "px;"
				);
				
				FontJazz._addRule(
					".FontJazz-" + fontname + " br",
					"clear:both;"
				);
				
				FontJazz._fonts[fontname].initialized = true;
				
			}
			
		}
		
	},
	
	_addRule: function(selector, rule) {
		
		if (!FontJazz._css) {
			if (document.createStyleSheet) {
				FontJazz._css = document.createStyleSheet();
			} else {
				FontJazz._css = document.createElement('style');
				FontJazz._css.setAttribute('type', 'text/css');
				document.getElementsByTagName("head")[0].appendChild(FontJazz._css);
			}
		}
		
		if (FontJazz._css.addRule) {
			FontJazz._css.addRule(selector, rule);
		} else {
			FontJazz._css.appendChild( document.createTextNode(selector + ' { ' + rule + " }\n") );
		}
		
	},
	
	register: function(fontname, data) {
		FontJazz._fonts[fontname] = data;
		FontJazz.initialized = false;
	},
	
	transform: function(element, fontname) {
		
		if (!document.styleSheets) return;
		
		if (!FontJazz.initialized) FontJazz._initialize();
		
		var font = FontJazz._fonts[fontname];
		var text = element.firstChild.nodeValue + ' ';
		
		var div = document.createElement('div');
		div.className = "FontJazz-" + fontname;
		
		var html = '<span style="overflow:hidden; width:0px;">' + text + '</span>';
		var adjust = font[text.charAt(0)][2];
		
    var word = '', w = 0, wm = 0;
		for (var i=0; i<text.length; i++) {
			var c = text.charAt(i), metrics = font[c];
			if (metrics) {
        w += metrics[1]+(adjust-metrics[2]);
        if (word == '') wm = adjust-metrics[2];
        word += '<span style="' + (word == '' ? '' : 'margin-left: ' + (adjust-metrics[2]) + 'px;') + 'background-position: -' + metrics[0] + 'px 0px; width: ' + metrics[1] + 'px;"></span>';
        if (c == ' ') {
          html += '<div style="margin-left:' + wm + 'px; width:' + (w-wm) + 'px;">' + word + '</div>';
          word = ''; w = 0; wm = 0;
        }
        adjust = metrics[3]-metrics[1];
			}
		}
		
		div.innerHTML = html + "<br />";
		
		element.parentNode.insertBefore(div, element);
		element.parentNode.removeChild(element);
		
	},
	
	apply: function(tagname, fontname, rootnode) {
		
		var collection = (rootnode || document.body).getElementsByTagName(tagname);
		
		var elements = new Array();
		
		for (var i=0; i<collection.length; i++)
			elements[i] = collection[i];
		
		for (var i=0; i<elements.length; i++)
			FontJazz.transform(elements[i], fontname);
		
	}
	
}
FontJazz.register('font_h1', {
	image: 'font_h1.png',
	width: 2331,
	height: 55,
	'A': [0, 42, 1, 41],
	'B': [43, 30, -3, 32],
	'C': [74, 34, -1, 37],
	'D': [109, 36, -3, 38],
	'E': [146, 28, -3, 30],
	'F': [175, 28, -3, 30],
	'G': [204, 34, -1, 37],
	'H': [239, 36, -3, 39],
	'I': [276, 7, -3, 10],
	'J': [284, 16, 1, 18],
	'K': [301, 37, -3, 36],
	'L': [339, 28, -3, 29],
	'M': [368, 43, -3, 46],
	'N': [412, 36, -3, 39],
	'O': [449, 42, -1, 43],
	'P': [492, 30, -3, 31],
	'Q': [523, 42, -1, 43],
	'R': [566, 33, -3, 32],
	'S': [600, 33, -1, 34],
	'T': [634, 32, 1, 30],
	'U': [667, 35, -3, 37],
	'V': [703, 42, 1, 41],
	'W': [746, 52, 1, 52],
	'X': [799, 40, 1, 39],
	'Y': [840, 37, 1, 36],
	'Z': [878, 30, -2, 32],
	'a': [909, 27, -1, 30],
	'b': [937, 28, -3, 29],
	'c': [966, 26, -1, 27],
	'd': [993, 28, -1, 31],
	'e': [1022, 30, -1, 30],
	'f': [1053, 19, -3, 16],
	'g': [1073, 28, -1, 31],
	'h': [1102, 27, -3, 30],
	'i': [1130, 7, -3, 10],
	'j': [1138, 11, 1, 14],
	'k': [1150, 29, -3, 29],
	'l': [1180, 7, -3, 10],
	'm': [1188, 44, -3, 46],
	'n': [1233, 27, -3, 30],
	'o': [1261, 30, -1, 31],
	'p': [1292, 28, -3, 29],
	'q': [1321, 28, -1, 31],
	'r': [1350, 15, -3, 15],
	's': [1366, 26, -1, 27],
	't': [1393, 13, -3, 14],
	'u': [1407, 27, -3, 30],
	'v': [1435, 29, 1, 28],
	'w': [1465, 43, 1, 42],
	'x': [1509, 30, 1, 31],
	'y': [1540, 30, 1, 29],
	'z': [1571, 24, -1, 26],
	'0': [1596, 36, -1, 36],
	'1': [1633, 12, -1, 16],
	'2': [1646, 30, -1, 31],
	'3': [1677, 28, -1, 29],
	'4': [1706, 29, -1, 29],
	'5': [1736, 30, -1, 31],
	'6': [1767, 31, -1, 33],
	'7': [1799, 29, -1, 29],
	'8': [1829, 31, -1, 33],
	'9': [1861, 31, -1, 33],
	'&': [1893, 35, -1, 33],
	'!': [1929, 7, -3, 10],
	'?': [1937, 28, -1, 29],
	'-': [1966, 16, -1, 17],
	' ': [1983, 15, 1, 14],
	'.': [1999, 7, -1, 9],
	'\"': [2007, 18, -1, 19],
	'\'': [2026, 7, -1, 9],
	'á': [2034, 27, -1, 30],
	'é': [2062, 30, -1, 30],
	'í': [2093, 13, 0, 13],
	'ó': [2107, 30, -1, 31],
	'ú': [2138, 27, -3, 30],
	'Á': [2166, 42, 1, 41],
	'É': [2209, 28, -3, 30],
	'Í': [2238, 13, 0, 13],
	'Ó': [2252, 42, -1, 43],
	'Ú': [2295, 35, -3, 37]
});
FontJazz.register('font_blog', {
	image: 'font_blog.png',
	width: 1291,
	height: 27,
	'A': [0, 21, 1, 19],
	'B': [22, 16, 0, 16],
	'C': [39, 17, 0, 17],
	'D': [57, 19, 0, 19],
	'E': [77, 15, 0, 15],
	'F': [93, 15, 0, 15],
	'G': [109, 17, 0, 17],
	'H': [127, 19, 0, 19],
	'I': [147, 5, 0, 5],
	'J': [153, 8, 1, 9],
	'K': [162, 19, 0, 18],
	'L': [182, 15, 0, 15],
	'M': [198, 22, 0, 23],
	'N': [221, 19, 0, 19],
	'O': [241, 21, 0, 20],
	'P': [263, 16, 0, 15],
	'Q': [280, 21, 0, 20],
	'R': [302, 17, 0, 16],
	'S': [320, 16, 0, 16],
	'T': [337, 16, 1, 14],
	'U': [354, 18, 0, 19],
	'V': [373, 21, 1, 19],
	'W': [395, 26, 1, 24],
	'X': [422, 20, 1, 19],
	'Y': [443, 18, 1, 17],
	'Z': [462, 15, 0, 15],
	'a': [478, 13, 0, 14],
	'b': [492, 15, 0, 15],
	'c': [508, 13, 0, 13],
	'd': [522, 14, 0, 15],
	'e': [537, 15, 0, 14],
	'f': [553, 11, 0, 9],
	'g': [565, 14, 0, 15],
	'h': [580, 14, 0, 15],
	'i': [595, 5, 0, 5],
	'j': [601, 6, 1, 6],
	'k': [608, 15, 0, 15],
	'l': [624, 5, 0, 5],
	'm': [630, 22, 0, 23],
	'n': [653, 14, 0, 15],
	'o': [668, 15, 0, 15],
	'p': [684, 15, 0, 15],
	'q': [700, 14, 0, 15],
	'r': [715, 9, 0, 8],
	's': [725, 13, 0, 13],
	't': [739, 8, 0, 8],
	'u': [748, 14, 0, 15],
	'v': [763, 15, 1, 13],
	'w': [779, 21, 1, 20],
	'x': [801, 15, 1, 15],
	'y': [817, 15, 1, 14],
	'z': [833, 12, 0, 12],
	'0': [846, 19, 1, 18],
	'1': [866, 6, 0, 7],
	'2': [873, 15, 0, 15],
	'3': [889, 14, 0, 14],
	'4': [904, 15, 1, 15],
	'5': [920, 15, 0, 14],
	'6': [936, 16, 0, 15],
	'7': [953, 14, 0, 14],
	'8': [968, 16, 0, 15],
	'9': [985, 16, 0, 15],
	',': [1002, 6, 0, 6],
	':': [1009, 4, 0, 4],
	'&': [1014, 17, 0, 16],
	'!': [1032, 5, 0, 5],
	'?': [1038, 14, 0, 14],
	'-': [1053, 8, 0, 8],
	' ': [1062, 7, 1, 6],
	'.': [1070, 4, 0, 4],
	'\"': [1075, 9, 0, 9],
	'\'': [1085, 4, 0, 4],
	'<': [1090, 14, 0, 14],
	'/': [1105, 14, 1, 13],
	'>': [1120, 14, 0, 14],
	'á': [1135, 13, 0, 14],
	'é': [1149, 15, 0, 14],
	'í': [1165, 7, 1, 6],
	'ó': [1173, 15, 0, 15],
	'ú': [1189, 14, 0, 15],
	'Á': [1204, 21, 1, 19],
	'É': [1226, 15, 0, 15],
	'Í': [1242, 7, 1, 6],
	'Ó': [1250, 21, 0, 20],
	'Ú': [1272, 18, 0, 19]
});

