var _runs = [];
function run(fn) {
	_runs.push(fn);
}
function init() {
	if (typeof document!=='undefined') {
		var d = document;
		if (typeof d.onreadystatechange=='object') { // for IE 5/6 support
			supported = true;
			d.onreadystatechange = function() {
				if (d.readyState == "complete") {
					for (var i=0;i<_runs.length;i++) _runs[i]();
				}
			};
		}
		else if (typeof d.addEventListener=='function') {
			supported = true;
			d.addEventListener("DOMContentLoaded", function() {
				for (var i=0;i<_runs.length;i++) _runs[i]();
			}, true);  // ff, opera, safari
		}
	}
}
init();

var canvas,ctx;
run(function() {
	setTimeout(resize,100);
	
	var l = document.getElementById('jaxcore-logo');
	l.onclick = function() {
		window.location = '/';
	};
	l.onmouseover = function() {
		logoInterval = setInterval(logoAnim,40);
	};
	l.onmouseout = function() {
		clearInterval(logoInterval);
		//logoSettings.sizeScale = 0.75;
		//la = 0;
		draw();
	};
});

run(function() {
	var t = document.getElementsByTagName('table');
	var tog;
	var tr,d;
	
	for (var i=0;i<t.length;i++) {
		if (/grey ?/.test(t[i].className)) {
			tr = t[i].getElementsByTagName('tr');
			tog = false;
			for (var j=0;j<tr.length;j++) {
				tr[j].className = tog? 'even' : 'odd';
				tog = !tog;
			}
		}
	}
	
	var canvas = document.getElementById('jaxcore-logo');
	if (!canvas || !canvas.getContext) {
		document.getElementById('jaxlogoimg').style.display = 'block';
	}
	
	resize();
});

var la = 0;
function logoAnim() {
	la += Math.PI/30;
	logoSettings.sizeScale = 0.8 + Math.sin(la)*0.05;
	draw();
}

var logoCrush = false;
window.onresize = resize;
function resize(d) {
	canvas = document.getElementById('jaxcore-logo');
	if (!canvas || !canvas.getContext) return;
	
	ctx = canvas.getContext('2d');
	var h = document.getElementById('headerwrap').offsetHeight;
	if (!h) h = 25;
	else h -= 16;
	if (window.innerWidth) {
		if (window.innerWidth<410) {
			logoSettings.showFont = false;
		}
		else logoSettings.showFont = true;
		
		if (window.innerWidth<500) {
			document.getElementById('headerbar').style.width = '100%';
		}
		else {
			document.getElementById('headerbar').style.width = '90%';
		}
	}
	var logoW = 120;
	var logoH = 24;
	//scaleLogo(logoW,logoH);
	
	logoSettings.sizeScale = 0.8;
	
	resizeLogo(logoW,logoH);
	draw();
};

function resizeLogo(width,height) {
	if (arguments.length==1) {
		canvas.height = arguments[0];
		if (logoSettings.showFont) {
			canvas.width = height*5;
		}
		else {
			canvas.width = height*(logoSettings.width/logoSettings.height);
		}
	}
	else {
		canvas.width = width;
		canvas.height = height;
	}
}

function draw(font) {
	ctx.clearRect(0,0,canvas.width,canvas.height);
	drawJaxcore(ctx,canvas.width,canvas.height,logoSettings);
}

var animScale = 0.7;
function scaleLogo(width,height) {
	if (width>height) {
		logoSettings.sizeScale = animScale*(height/width);
	}
	else {
		logoSettings.sizeScale = animScale;
	}
}

