/*

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: '/images/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_h2', {
	image: '/images/font_h2.png',
	width: 2121,
	height: 48,
	'A': [0, 38, 1, 37],
	'B': [39, 28, -2, 30],
	'C': [68, 31, -1, 32],
	'D': [100, 33, -2, 34],
	'E': [134, 26, -2, 28],
	'F': [161, 26, -2, 27],
	'G': [188, 31, -1, 32],
	'H': [220, 33, -2, 35],
	'I': [254, 7, -2, 9],
	'J': [262, 14, 1, 16],
	'K': [277, 33, -2, 33],
	'L': [311, 25, -2, 26],
	'M': [337, 40, -2, 42],
	'N': [378, 33, -2, 35],
	'O': [412, 37, -1, 38],
	'P': [450, 28, -2, 28],
	'Q': [479, 37, -1, 38],
	'R': [517, 30, -2, 29],
	'S': [548, 30, -1, 31],
	'T': [579, 29, 1, 27],
	'U': [609, 32, -2, 34],
	'V': [642, 38, 1, 37],
	'W': [681, 47, 1, 46],
	'X': [729, 36, 1, 35],
	'Y': [766, 33, 1, 32],
	'Z': [800, 27, -2, 28],
	'a': [828, 24, -1, 26],
	'b': [853, 26, -2, 27],
	'c': [880, 23, -1, 24],
	'd': [904, 25, -1, 28],
	'e': [930, 27, -1, 26],
	'f': [958, 18, -2, 15],
	'g': [977, 25, -1, 28],
	'h': [1003, 25, -2, 27],
	'i': [1029, 7, -2, 9],
	'j': [1037, 10, 1, 12],
	'k': [1048, 26, -2, 26],
	'l': [1075, 7, -2, 9],
	'm': [1083, 40, -2, 42],
	'n': [1124, 25, -2, 27],
	'o': [1150, 27, -1, 28],
	'p': [1178, 26, -2, 27],
	'q': [1205, 25, -1, 28],
	'r': [1231, 14, -2, 14],
	's': [1246, 23, -1, 24],
	't': [1270, 12, -2, 13],
	'u': [1283, 25, -2, 27],
	'v': [1309, 26, 1, 25],
	'w': [1336, 39, 1, 38],
	'x': [1376, 27, 1, 28],
	'y': [1404, 27, 1, 26],
	'z': [1432, 22, -1, 23],
	'0': [1455, 33, 0, 33],
	'1': [1489, 10, -1, 14],
	'2': [1500, 26, -1, 27],
	'3': [1527, 25, -1, 26],
	'4': [1553, 27, 0, 27],
	'5': [1581, 27, -1, 27],
	'6': [1609, 28, -1, 29],
	'7': [1638, 26, -1, 26],
	'8': [1665, 28, -1, 29],
	'9': [1694, 28, -1, 29],
	'&': [1723, 31, -1, 30],
	'!': [1755, 7, -2, 9],
	'?': [1763, 25, -1, 26],
	'-': [1789, 14, -1, 15],
	' ': [1804, 13, 1, 12],
	'.': [1818, 7, -1, 8],
	'\"': [1826, 16, -1, 17],
	'\'': [1843, 7, -1, 8],
	'á': [1851, 24, -1, 26],
	'é': [1876, 27, -1, 26],
	'í': [1904, 12, 0, 11],
	'ó': [1917, 27, -1, 28],
	'ú': [1945, 25, -2, 27],
	'Á': [1971, 38, 1, 37],
	'É': [2010, 26, -2, 28],
	'Í': [2037, 12, 0, 11],
	'Ó': [2050, 37, -1, 38],
	'Ú': [2088, 32, -2, 34]
});
FontJazz.register('font_h3', {
	image: '/images/font_h3.png',
	width: 1805,
	height: 42,
	'A': [0, 32, 1, 31],
	'B': [33, 23, -2, 25],
	'C': [57, 26, -1, 27],
	'D': [84, 28, -2, 29],
	'E': [113, 22, -2, 23],
	'F': [136, 21, -2, 22],
	'G': [158, 26, -1, 27],
	'H': [185, 28, -2, 29],
	'I': [214, 6, -2, 7],
	'J': [221, 12, 1, 14],
	'K': [234, 28, -2, 27],
	'L': [263, 21, -2, 22],
	'M': [285, 33, -2, 35],
	'N': [319, 28, -2, 29],
	'O': [348, 32, -1, 32],
	'P': [381, 23, -2, 23],
	'Q': [405, 32, -1, 32],
	'R': [438, 25, -2, 24],
	'S': [464, 25, -1, 26],
	'T': [490, 24, 1, 23],
	'U': [515, 27, -2, 28],
	'V': [543, 32, 1, 31],
	'W': [576, 40, 1, 39],
	'X': [617, 30, 1, 30],
	'Y': [648, 28, 1, 27],
	'Z': [677, 23, -1, 24],
	'a': [701, 20, -1, 22],
	'b': [722, 21, -2, 22],
	'c': [744, 19, -1, 20],
	'd': [764, 21, -1, 23],
	'e': [786, 22, -1, 22],
	'f': [809, 15, -2, 12],
	'g': [825, 21, -1, 23],
	'h': [847, 21, -2, 22],
	'i': [869, 6, -2, 7],
	'j': [876, 9, 1, 10],
	'k': [886, 22, -2, 22],
	'l': [909, 6, -2, 7],
	'm': [916, 33, -2, 35],
	'n': [950, 21, -2, 22],
	'o': [972, 23, -1, 23],
	'p': [996, 21, -2, 22],
	'q': [1018, 21, -1, 23],
	'r': [1040, 12, -2, 11],
	's': [1053, 19, -1, 20],
	't': [1073, 10, -2, 11],
	'u': [1084, 21, -2, 22],
	'v': [1106, 22, 1, 21],
	'w': [1129, 33, 1, 32],
	'x': [1163, 23, 1, 24],
	'y': [1187, 23, 1, 22],
	'z': [1211, 18, -1, 19],
	'0': [1230, 28, 0, 28],
	'1': [1259, 9, -1, 11],
	'2': [1269, 22, -1, 23],
	'3': [1292, 21, -1, 21],
	'4': [1314, 23, 0, 23],
	'5': [1338, 23, -1, 23],
	'6': [1362, 23, -1, 24],
	'7': [1386, 22, -1, 22],
	'8': [1409, 23, -1, 24],
	'9': [1433, 23, -1, 24],
	',': [1457, 9, -1, 9],
	'&': [1467, 26, -1, 25],
	'!': [1494, 6, -2, 7],
	'?': [1501, 21, -1, 21],
	'-': [1523, 12, -1, 13],
	' ': [1536, 11, 1, 10],
	'.': [1548, 5, -1, 6],
	'\"': [1554, 13, -1, 14],
	'\'': [1568, 5, -1, 6],
	'á': [1574, 20, -1, 22],
	'é': [1595, 22, -1, 22],
	'í': [1618, 11, 1, 10],
	'ó': [1630, 23, -1, 23],
	'ú': [1654, 21, -2, 22],
	'Á': [1676, 32, 1, 31],
	'É': [1709, 22, -2, 23],
	'Í': [1732, 11, 1, 10],
	'Ó': [1744, 32, -1, 32],
	'Ú': [1777, 27, -2, 28]
});
FontJazz.register('font_h4', {
	image: '/images/font_h4.png',
	width: 1099,
	height: 23,
	'A': [0, 18, 1, 17],
	'B': [19, 14, 0, 14],
	'C': [34, 15, 0, 15],
	'D': [50, 16, 0, 16],
	'E': [67, 13, 0, 13],
	'F': [81, 13, 0, 13],
	'G': [95, 15, 0, 15],
	'H': [111, 16, 0, 16],
	'I': [128, 4, 0, 4],
	'J': [133, 7, 1, 7],
	'K': [141, 16, 0, 15],
	'L': [158, 13, 0, 12],
	'M': [172, 19, 0, 19],
	'N': [192, 16, 0, 16],
	'O': [209, 18, 0, 17],
	'P': [228, 14, 0, 13],
	'Q': [243, 18, 0, 17],
	'R': [262, 15, 0, 13],
	'S': [278, 14, 0, 14],
	'T': [293, 14, 1, 12],
	'U': [308, 16, 0, 16],
	'V': [325, 18, 1, 17],
	'W': [344, 22, 1, 21],
	'X': [367, 17, 1, 16],
	'Y': [385, 16, 1, 15],
	'Z': [402, 13, 0, 13],
	'a': [416, 12, 0, 12],
	'b': [429, 13, 0, 12],
	'c': [443, 11, 0, 11],
	'd': [455, 12, 0, 12],
	'e': [468, 13, 0, 12],
	'f': [482, 9, 0, 7],
	'g': [492, 12, 0, 12],
	'h': [505, 12, 0, 13],
	'i': [518, 4, 0, 4],
	'j': [523, 5, 1, 5],
	'k': [529, 13, 0, 12],
	'l': [543, 4, 0, 4],
	'm': [548, 19, 0, 19],
	'n': [568, 12, 0, 13],
	'o': [581, 13, 0, 12],
	'p': [595, 13, 0, 12],
	'q': [609, 12, 0, 12],
	'r': [622, 8, 0, 7],
	's': [631, 11, 0, 11],
	't': [643, 7, 0, 6],
	'u': [651, 12, 0, 13],
	'v': [664, 13, 1, 11],
	'w': [678, 18, 1, 17],
	'x': [697, 13, 1, 13],
	'y': [711, 13, 1, 12],
	'z': [725, 10, 0, 10],
	'á': [736, 12, 0, 12],
	'é': [749, 13, 0, 12],
	'í': [763, 6, 1, 5],
	'ó': [770, 13, 0, 12],
	'ú': [784, 12, 0, 13],
	'Á': [797, 18, 1, 17],
	'É': [816, 13, 0, 13],
	'Í': [830, 6, 1, 5],
	'Ó': [837, 18, 0, 17],
	'Ú': [856, 16, 0, 16],
	',': [873, 5, 0, 5],
	';': [879, 5, 0, 5],
	'-': [885, 7, 0, 7],
	'ñ': [893, 12, 0, 13],
	'0': [906, 16, 1, 15],
	'1': [923, 5, 0, 6],
	'2': [929, 13, 0, 12],
	'3': [943, 12, 0, 12],
	'4': [956, 13, 1, 13],
	'5': [970, 13, 0, 12],
	'6': [984, 13, 0, 13],
	'7': [998, 12, 0, 12],
	'8': [1011, 13, 0, 13],
	'9': [1025, 13, 0, 13],
	'&': [1039, 15, 0, 13],
	'!': [1055, 4, 0, 4],
	'?': [1060, 12, 0, 12],
	' ': [1073, 6, 1, 5],
	'.': [1080, 4, 0, 3],
	'\"': [1085, 8, 0, 7],
	'\'': [1094, 4, 0, 3]
});
FontJazz.register('font_h5', {
	image: '/images/font_h5.png',
	width: 862,
	height: 18,
	'A': [0, 13, 1, 12],
	'B': [14, 10, 0, 10],
	'C': [25, 12, 1, 12],
	'D': [38, 12, 0, 11],
	'E': [51, 10, 0, 9],
	'F': [62, 10, 0, 9],
	'G': [73, 12, 1, 12],
	'H': [86, 12, 0, 12],
	'I': [99, 3, 0, 3],
	'J': [103, 6, 1, 5],
	'K': [110, 12, 0, 11],
	'L': [123, 9, 0, 9],
	'M': [133, 14, 0, 14],
	'N': [148, 12, 0, 12],
	'O': [161, 14, 1, 13],
	'P': [176, 10, 0, 9],
	'Q': [187, 14, 1, 13],
	'R': [202, 11, 0, 10],
	'S': [214, 12, 1, 11],
	'T': [227, 10, 1, 9],
	'U': [238, 12, 0, 11],
	'V': [251, 13, 1, 12],
	'W': [265, 17, 1, 15],
	'X': [283, 13, 1, 12],
	'Y': [297, 12, 1, 11],
	'Z': [310, 10, 0, 9],
	'a': [321, 10, 1, 9],
	'b': [332, 10, 0, 9],
	'c': [343, 9, 1, 9],
	'd': [353, 10, 1, 10],
	'e': [364, 10, 1, 9],
	'f': [375, 7, 0, 5],
	'g': [383, 10, 1, 10],
	'h': [394, 9, 0, 9],
	'i': [404, 3, 0, 3],
	'j': [408, 4, 1, 4],
	'k': [413, 10, 0, 9],
	'l': [424, 3, 0, 3],
	'm': [428, 14, 0, 14],
	'n': [443, 9, 0, 9],
	'o': [453, 11, 1, 10],
	'p': [465, 10, 0, 9],
	'q': [476, 10, 1, 10],
	'r': [487, 6, 0, 5],
	's': [494, 9, 1, 9],
	't': [504, 5, 0, 4],
	'u': [510, 9, 0, 9],
	'v': [520, 10, 1, 8],
	'w': [531, 14, 1, 13],
	'x': [546, 10, 1, 9],
	'y': [557, 10, 1, 9],
	'z': [568, 9, 1, 8],
	'0': [578, 12, 1, 11],
	'1': [591, 5, 1, 5],
	'2': [597, 10, 1, 10],
	'3': [608, 10, 1, 9],
	'4': [619, 10, 1, 9],
	'5': [630, 11, 1, 10],
	'6': [642, 11, 1, 10],
	'7': [654, 10, 1, 9],
	'8': [665, 11, 1, 10],
	'9': [677, 11, 1, 10],
	'&': [689, 12, 1, 11],
	'!': [702, 3, 0, 3],
	'?': [706, 10, 1, 9],
	'-': [717, 6, 1, 6],
	' ': [724, 5, 1, 4],
	'.': [730, 4, 1, 3],
	'\"': [735, 7, 1, 6],
	'\'': [743, 4, 1, 3],
	'á': [748, 10, 1, 9],
	'é': [759, 10, 1, 9],
	'í': [770, 5, 1, 4],
	'ó': [776, 11, 1, 10],
	'ú': [788, 9, 0, 9],
	'Á': [798, 13, 1, 12],
	'É': [812, 10, 0, 9],
	'Í': [823, 5, 1, 4],
	'Ó': [829, 14, 1, 13],
	'Ú': [844, 12, 0, 11],
	':': [857, 4, 1, 3]
});

