var values = [];
values[0] = "Divide";
values[1] = "Hope";
values[2] = "Gabrielle Giffords";
values[3] = "Ronald Reagan";
values[4] = "Unemployment";
values[5] = "Florida";
values[6] = "References to eliminating government agencies";
values[7] = "9/11";
values[8] = "Invest in the future";
values[9] = "Democrats";
values[10] = "Republicans";
values[11] = "Keystone XL pipeline";
values[12] = "Ultimatum";
values[13] = "Jobs";
values[14] = "Jobs bill";
values[15] = "Social Security";
values[16] = "President launches into song";
values[17] = "Average Americans";
values[18] = "Poor";
values[19] = "Health care";
values[20] = "War on terror";
values[21] = "Middle class";
values[22] = "1 percent";
values[23] = "Wall Street";
values[24] = "Education";
values[25] = "Blueprint";
values[26] = "Compromise";
values[27] = "Camera shot of Michelle Obama";
values[28] = "Mention audience member by name";
values[29] = "Camera shot of someone sleeping";
values[30] = "Senior citizens"; 
values[31] = "John Boehner";
values[32] = "Twitter";
values[33] = "Facebook";
values[34] = "Medicare";
values[35] = "Balanced budget";
values[36] = "Brinkmanship";
values[37] = "Payroll tax";
values[38] = "Only half of the audience cheers or applauds";
values[39] = "Washington, D.C.";
values[40] = "Main Street";
values[41] = "Congress";
values[42] = "Fair share";
values[43] = "The American people";
values[44] = "God";
values[45] = "Housing crisis";
values[46] = "Iraq";
values[47] = "Afghanistan";
values[48] = "Iran";
values[49] = "China";
values[50] = "National debt";
values[51] = "Billion";
values[52] = "Trillion";
values[53] = "Recession";
values[54] = "Tax hike";
values[55] = "Obamacare";
values[56] = "SOPA or PIPA";
values[57] = "Piracy";
values[58] = "Internet";
values[59] = "Protect";
values[60] = "Progress";
values[61] = "Fairness";
values[62] = "Trust";
values[63] = "Spending";
values[64] = "National defense";
values[65] = "Don't Ask, Don't Tell";
values[66] = "Immigration";
values[67] = "Bipartisan";
values[68] = "Hybrid";
values[69] = "Manufacturing";
values[70] = "Media";
values[71] = "Pathetic";
values[72] = "Children";
values[73] = "Threat";
values[74] = "Small business";
values[75] = "Politics";
values[76] = "Business as usual";
values[77] = "Taxpayers";
values[78] = "Bananas";
values[79] = "Equitable equality";
values[80] = "Built to last";

var card;

function createBingoCard(notfirst) {
	// Local copy of the values array
    var cardvalues = values.slice();
    var row;
    var rowelem;
    var col;
	var cardID = 0;

    card = document.getElementById('cardname');
    if (!card) {
		//alert("Can't find bingocard table")
        return;
	}

	var h2 = document.createElement("h2");
	if (notfirst) {
		h2.className = "notfirst";
	}
	card.appendChild(h2);

	// IE needs this to be explicit
	var ctable = document.createElement("table");
	card.appendChild(ctable);
	if (notfirst) {
		ctable.className = "notfirst";
	}
	var tbody = document.createElement("tbody");
	ctable.appendChild(tbody);
	card = tbody;

	var headrow = document.createElement("tr");
	var cell, textelem;

	cell = document.createElement("th"); textelem = document.createTextNode("B");
	cell.appendChild(textelem); headrow.appendChild(cell);
	cell = document.createElement("th"); textelem = document.createTextNode("I");
	cell.appendChild(textelem); headrow.appendChild(cell);
	cell = document.createElement("th"); textelem = document.createTextNode("N");
	cell.appendChild(textelem); headrow.appendChild(cell);
	cell = document.createElement("th"); textelem = document.createTextNode("G");
	cell.appendChild(textelem); headrow.appendChild(cell);
	cell = document.createElement("th"); textelem = document.createTextNode("O");
	cell.appendChild(textelem); headrow.appendChild(cell);
	card.appendChild(headrow);

	for (row=0; row<5; ++row) {
		rowelem = document.createElement("tr");
		for (col=0; col<5; ++col) {
			cell = document.createElement("td"); 

			if (row === 2 && col === 2) {
				// Center space
				cell.className = 'free';
				var imgelem = document.createElement('img');
				imgelem.src = 'seal.jpg';
				cell.appendChild(imgelem);
			} else {
				var v = Math.floor( Math.random() * cardvalues.length );
				var text = cardvalues.splice(v, 1);
				textelem = document.createTextNode(text);
				cell.setAttribute('id','cardNo'+cardID);
				cardID++;
				cell.appendChild(textelem);

			}

			rowelem.appendChild(cell);
		}
	card.appendChild(rowelem);
	}
}

function createManyBingoCards(n) {
	var i;
	// Clear first
	card = document.getElementById('cardname');
	if (!card) { return; }
	card.innerHTML = "";

	var num = new Number(n);
	if (num !== Number.NaN && num > 0) {
		for (i=0; i<num; ++i) {
			createBingoCard( (i!==0)?1:0 );
		}
	}
}
