game = new Object();
decks_down = 6 ;
decks_across = 6;
decks_done = Array();
total_decks = function(){return decks_down*decks_across;}
total_matches = function(){return this.total_decks()/2;}
game_started = false;
var timer;



var current_deck = 0;

r_decks = function(ar){
	for(i=0;i<40;i++) ar.sort(function() {return 0.5 - Math.random()})
	return ar;
}


register_decks = function(m){
	var ar = new Array()
	var ar2 = new Array()
	half = m/2;
	for(var i=1; i<=m; i++){ar[i-1] = i+((i > half) ? '_2' : '_1' );}
	
	ar = r_decks(ar);
	
	return ar;
}





game.config = { decks_down : decks_down , decks_across : decks_across, total_decks: total_decks(), total_matches : total_matches(), decks: register_decks(total_decks())}


time_count=0;
game.timmer_start=function(){
	now = Math.floor(time_count/60);
	sec = (time_count-(now*60))+'';
	if(sec.length == 1) {sec = "0"+sec};
	time_count++;
	$('timer').update(now+":"+sec)
	timer = setTimeout('game.timmer_start()', 1000);
}


game.create = function(){
	str = '<table id="game_tb" width="'+this.config.decks_across*40+'" border="0" cellpadding="0" cellspacing="0">';
	count = 0;
	for(i=0;i<this.config.decks.length;i++){
		if(count == 0) str += '<tr>';
		str += '<td width="40" height="40" id="deck_'+this.config.decks[i]+'"><img src="http://www.boomeryearbook.com/images/game-bg.jpg"></td>';
		count++;
		if(count == decks_across) {
			str += '</tr>';
			count = 0;
		}
	}
	str += '</table><div id="timer" align="center" style="width:100px, background-color:#cccccc"><input type="button" onclick="game.start()" value="Start Game" /></div>';
	return str;
}



game.start = function(){
	//decks_done.each(function(e){$('deck_'+e).update('<img src="http://www.boomeryearbook.com/images/game-bg.jpg">');});
	//decks_done.clear();
	time_count=0;
	game.timmer_start();
	game_started = true;


}


game.display = function(){
	content = this.create();
	$('game_data').update(content);
	game_started = false;
}


Event.observe(window, 'load', function() {
									if($('game_data')) $('game_data').observe('click', game.show_pic);
								})

get_deck_id=function(id) {
	temp = id.split('_');
	return temp[1]+'_'+temp[2];
}


is_deck_match=function(d1, d2){
	d1_temp = d1.split('_');
	d2_temp = d2.split('_');
	d1_temp[0]++;d1_temp[0]--;d1_temp[1]++;d1_temp[1]--;d2_temp[0]++;d2_temp[0]--;d2_temp[1]++;d2_temp[1]--;
	
	if(d1_temp[1] == 1 && d2_temp[1] == 2){
		if(d2_temp[0] == d1_temp[0]+game.config.total_matches) return true;
		else return false;
	} else if(d2_temp[1] == 1 && d1_temp[1] == 2){
		if(d2_temp[0] == d1_temp[0]-game.config.total_matches) return true;
		else return false;
	} else {
		return false;
	}
}



function clear_deck_match(d1, d2){
	decks_done.push(d1, d2);
	current_deck = 0;
	if(decks_done.length == total_decks()) {
		alert('Game completed. Click Start Game button to play again.');	
		clearTimeout(timer);		
		time_count=0;
		game.config.decks = register_decks(total_decks())
		//decks_done.each(function(e){$('deck_'+e).update('<img src="http://www.boomeryearbook.com/images/game-bg.jpg" border="0">');})
		//$('timer').update('<input type="button" onclick="game.start()" value="Start Game" />');
		//game_started = false;
		game.display();
		decks_done.clear();
		
	}
	
	//return true;
	//else return false;
}


show_deck = function(d, d2){
	$('deck_'+d).update('<img src="http://www.boomeryearbook.com/images/game-bg.jpg">');
	$('deck_'+d2).update('<img src="http://www.boomeryearbook.com/images/game-bg.jpg">');
}

is_completed = function(d) {
	completed = false;
	decks_done.each(function(e){if(e == d) completed = true;});
	if(completed) return true;
}

game.show_pic=function(event){
	
	
	var elt = Event.findElement(event, 'td');
	if(elt) {
		var clicked_deck = get_deck_id(elt.id);
		if(game_started == false) {
			game.timmer_start();
			game_started = true;
		}
		if(is_completed(clicked_deck)) {
			if(current_deck) $('deck_'+current_deck).update('');
			current_deck = 0;
		} else if(elt.id) {
			if(current_deck == 0) {
				current_deck = clicked_deck;
				$(elt.id).update('<img src="http://www.boomeryearbook.com/images/game/'+elt.id+'.jpg" width="40" height="40" border="0" />');
			} else {
				$(elt.id).update('<img src="http://www.boomeryearbook.com/images/game/'+elt.id+'.jpg" width="40" height="40" border="0" />');
				if(is_deck_match(current_deck, clicked_deck)) clear_deck_match(clicked_deck, current_deck);
				else {
					cur = current_deck;
					current_deck = 0;
					setTimeout('show_deck(\''+clicked_deck+'\' , \''+cur+'\')', 500);
				}
			}
		}



	}

	
}