// safari 3.1: data-css
// firefox 3.6+: woff
// firefox 3.5+: data-css
// chrome 4+: data-css
// chrome 6+: woff
// IE 5+: eot
// IE 9: woff
// opera 10.1+: data-css
// mobile safari: svg/data-css
// android: data-css

var browserName, browserVersion, webfontType,  webfontTypeOverride;
 
if (typeof(customPath) == 'undefined')
	var customPath = false;


if (typeof(woffEnabled) == 'undefined')
	var woffEnabled = true;


if (/myfonts_test=on/.test(window.location.search))
	var myfonts_webfont_test = true;

else if (typeof(myfonts_webfont_test) == 'undefined')
	var myfonts_webfont_test = false;


if (customPath)
	var path = customPath;

else {
	var scripts = document.getElementsByTagName("SCRIPT");
	var script = scripts[scripts.length-1].src;

	if (!script.match("://") && script.charAt(0) != '/')
		script = "./"+script;
		
	var path = script.replace(/\\/g,'/').replace(/\/[^\/]*\/?$/, '');
}


if (myfonts_webfont_test)
	document.write('<script type="text/javascript" src="' +path+ '/webfonts.js"></script>');


if (/webfont=(woff|ttf|eot)/.test(window.location.search))
{
	webfontTypeOverride = RegExp.$1;

	if (webfontTypeOverride == 'ttf')
		webfontTypeOverride = 'data-css';
}


if (/MSIE (\d+\.\d+)/.test(navigator.userAgent))
{
	browserName = 'MSIE';
	browserVersion = new Number(RegExp.$1);
	if (browserVersion >= 9.0 && woffEnabled)
		webfontType = 'woff';
	else if (browserVersion >= 5.0)
		webfontType = 'eot';
}
else if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))
{
	browserName = 'Firefox';
	browserVersion = new Number(RegExp.$1);
	if (browserVersion >= 3.6 && woffEnabled)
		webfontType = 'woff';
	else if (browserVersion >= 3.5)
		webfontType = 'data-css';
}
else if (/Chrome\/(\d+\.\d+)/.test(navigator.userAgent)) // must check before safari
{
	browserName = 'Chrome';
	browserVersion = new Number(RegExp.$1);

	if (browserVersion >= 6.0 && woffEnabled)
		webfontType = 'woff';

	else if (browserVersion >= 4.0)
		webfontType = 'data-css';
}
else if (/Mozilla.*(iPhone|iPad).* OS (\d+)_(\d+).* AppleWebKit.*Safari/.test(navigator.userAgent))
{
		browserName = 'MobileSafari';
		browserVersion = new Number(RegExp.$2) + (new Number(RegExp.$3) / 10)

	if(browserVersion >= 4.2)
		webfontType = 'data-css';

	else
		webfontType = 'svg';
}
else if (/Mozilla.*(iPhone|iPad).*AppleWebKit.*Safari/.test(navigator.userAgent))
{
	browserName = 'MobileSafari';
	webfontType = 'svg';
}
else if (/Safari\/(\d+\.\d+)/.test(navigator.userAgent))
{
	browserName = 'Safari';
	if (/Version\/(\d+\.\d+)/.test(navigator.userAgent))
	{
		browserVersion = new Number(RegExp.$1);
		if (browserVersion >= 3.1)
			webfontType = 'data-css';
	}
}
else if (/Opera\/(\d+\.\d+)/.test(navigator.userAgent))
{
	browserName = 'Opera';
	if (/Version\/(\d+\.\d+)/.test(navigator.userAgent))
	{
		browserVersion = new Number(RegExp.$1);
		if (browserVersion >= 10.1)
			webfontType = 'data-css';
	}
}


if (webfontTypeOverride)
	webfontType = webfontTypeOverride;

switch (webfontType) {
		case 'eot':
		document.write("<style>\n");
		document.write("@font-face {font-family:\"CrappyJoe\";src:url(\""+webfontsPath+"/_resources/webfonts/eot/CrappyJoe.eot\");}\n");
		document.write("@font-face {font-family:\"PrimerApples-Regular\";src:url(\""+webfontsPath+"/_resources/webfonts/eot/PrimerApples.eot\");}\n");
		document.write("@font-face {font-family:\"RadioStars\";src:url(\""+webfontsPath+"/_resources/webfonts/eot/RadioStars.eot\");}\n");
		document.write("@font-face {font-family:\"FakeReceipt\";src:url(\""+webfontsPath+"/_resources/webfonts/eot/FakeReceipt.eot\");}\n");
		document.write("</style>");
		break;
		
		case 'woff':
		document.write("<style>\n");
		document.write("@font-face {font-family:\"CrappyJoe\";src:url(\""+webfontsPath+"/_resources/webfonts/woff/CrappyJoe.woff\") format(\"woff\");}\n");
		document.write("@font-face {font-family:\"PrimerApples-Regular\";src:url(\""+webfontsPath+"/_resources/webfonts/woff/PrimerApples.woff\") format(\"woff\");}\n");
		document.write("@font-face {font-family:\"RadioStars\";src:url(\""+webfontsPath+"/_resources/webfonts/woff/RadioStars.woff\") format(\"woff\");}\n");
		document.write("@font-face {font-family:\"FakeReceipt\";src:url(\""+webfontsPath+"/_resources/webfonts/woff/FakeReceipt.woff\") format(\"woff\");}\n");
		document.write("</style>");
		break;
	
		case 'data-css':
		document.write("<link rel='stylesheet' type='text/css' href='"+webfontsPath+"/_resources/webfonts/datacss/webfonts.css'>");
		break;
	
		case 'svg':
		document.write("<style>\n");
		document.write("@font-face {font-family:\"CrappyJoe\";src:url(\""+webfontsPath+"/_resources/webfonts/svg/CrappyJoe.svg#CrappyJoe\") format(\"svg\");}\n");
		document.write("@font-face {font-family:\"PrimerApples-Regular\";src:url(\""+webfontsPath+"/_resources/webfonts/svg/PrimerApples.svg#PrimerApples-Regular\") format(\"svg\");}\n");
		document.write("@font-face {font-family:\"RadioStars\";src:url(\""+webfontsPath+"/_resources/webfonts/svg/RadioStars.svg#RadioStars\") format(\"svg\");}\n");
		document.write("@font-face {font-family:\"FakeReceipt\";src:url(\""+webfontsPath+"/_resources/webfonts/svg/FakeReceipt.svg#FakeReceipt\") format(\"svg\");}\n");
		document.write("</style>");
		break;
		
	default:
		break;
}
