// =========
// = GAME! =
// =========
// Ideas:
// -enemies follow by having game occasionally set morphs to the person's current location
// -ducking on downarrow
// -allow multiple collision actions
// -animations (death, lvl complete)


// ====================
// = Setup
var scn;
var stc;
var drawing;
// var ctx;
items = []
statics = []
person = {}
num_stars = 0;
num_hits = 10;
max_hits = 15;
just_hit = false;
spaceBar = false;
rightArrow = false;
leftArrow = false;
upArrow = false;
editor = false;
// =====================
window.onbeforeunload = function(e){
 var p = confirm("Leaving ? You will lose all progress.");
 if(!p) e.stop()
 else window.reload()
}

function draw(){
	scn.clearRect(0,0,850,850); // clear canvas
	// log("draw")
	//update all moving things
	static_draw();
	
	for(b in items){
		// log(items[b].id)
		items[b].draw()
	}		
}
function gameLoad(lvl){
	scn = $('#screen').get(0).getContext('2d');
	stc = $('#static').get(0).getContext('2d');
	scn.clearRect(0,0,850,850);
	stc.clearRect(0,0,850,850); // clear canvas
	// log("draw")
	if(lvl == "new") editor = true;
	level(lvl)
	//update all nonmoving things
	// log("drawing")
	static_draw();

	//connect game controls
    // var connectedKeypressDown = connect(window, 'onkeydown', route);
	$(window).keydown(route);
	$(window).keyup(route);
    // var connectedKeypressUp = connect(window, 'onkeyup', route);
	
	//start drawing
	drawing = setInterval(draw, 40);
    // $(window).bind("unload", function(){clearInterval(drawing)})
}
function resetGame(lvl){
    clearInterval(drawing)
    items = []
    statics = []
    person = {}
    num_stars = 0;
    num_hits = 10;
    max_hits = 15;
    // just_hit = false;
    // spaceBar = false;
    // rightArrow = false;
    // leftArrow = false;
    // upArrow = false;
    
    gameLoad(lvl);
}
function static_draw(){
	// log("redrawing static")
	stc.clearRect(0,0,850,850);
	for(b in statics){
		// log(items[b].id)
		statics[b].draw()
	}
}
