/*
	limerick script v.2 (c) CopySense.co.uk 2005 ~ Martin Latter
	inspired by a 1987 BASIC feature
	(attempts to follow the lolloping metre of a Limerick, except for eas-i-ly (--> "easly") and some of the phrases of the last line)
*/


function generateLimerick() {

	function rnd(n) {
		var iRndNo = parseInt(Math.random() * (n + 1), 10);
		return iRndNo;
	}

	var oLimerick = document.getElementById("limerick");
	var sOs = "", sLastPhrase = "";

	var aPerson = ["man", "girl"];
	var iPerson = rnd(1);
	var sPronoun = (iPerson)? "She" : "He";
	var sPronounL = sPronoun.toLowerCase();
	
	var aPlace = ["Dunblane", "North Spain"];
	var aNounPhrase = ["three old dears", "a few spies", "some fungi", "some old men", "two old dears", "two young men"];
	var iNounPhrase = rnd(5);

	var aLocPhrase = ["in the rain", "on a train", "in a lane", "on a domain", "in a drain"];
	var iLocPhrase = rnd(4);

	var aCollNoun = ["they all", sPronounL];
	var iCollNoun = rnd(1);

	var aVerb = ["jumped", "bought", "fell", "became", "looked for", "developed"];
	var iVerb = rnd(5);

	var aLastPhraseGrp1 = ["in front of a train", "in a drain", "in a lane", "off a crane", "off a train", "out of a plane"]; // fell, jumped
	var aLastPhraseGrp2 = ["a web domain", "a big crane", "a villa in Spain"]; // bought
	var aLastPhraseGrp3 = ["very insane", "very inane", "sad with blame", "rather lamebrain"]; // became
	var aLastPhraseGrp4 = ["champagne", "a chow-mein", "some henbane", "the mundane", "the profane"]; // looked for
	var sLastPhraseGrp5 = "a migraine"; // developed


	switch (iVerb) {

		case 0:
			sLastPhrase = aLastPhraseGrp1[rnd(5)];
			break;

		case 1:
			sLastPhrase = aLastPhraseGrp2[rnd(2)];
			break;

		case 2:
			sLastPhrase = aLastPhraseGrp1[rnd(5)];
			break;

		case 3:
			sLastPhrase = aLastPhraseGrp3[rnd(3)];
			break;

		case 4:
			sLastPhrase = aLastPhraseGrp4[rnd(4)];
			break;

		case 5:
			sLastPhrase = sLastPhraseGrp5;
	}

	sOs += "There once was a ";
	sOs += aPerson[iPerson] + " from " + aPlace[rnd(1)];
	sOs += "<br />Who met ";
	sOs += aNounPhrase[iNounPhrase] + " ";
	sOs += aLocPhrase[iLocPhrase] + " -<br />";
	sOs += sPronoun + " was easily led,<br />";
	sOs += "And did as they said,";
	sOs += "<br />And ";
	sOs += aCollNoun[iCollNoun] + " " + aVerb[iVerb] + " " + sLastPhrase + ".";

	oLimerick.innerHTML = sOs;
}


window.onload = function() {
	document.getElementById("genlimerick").onclick = generateLimerick;
	generateLimerick();
};
