function randomize(low, high) {
	var randNbr;
	randNbr = Math.random();
	randNbr = low + randNbr*(high-low);
	randNbr = Math.round(randNbr);
	return randNbr;
}

function makeArray(n) {
	this.length = n;  
	for(var i = 0; i <= n; i++)  
	this[i] = 0;  
	return this;
}

function getStartingThought() {

	var nbrOfStartingThoughts = 9;
	startingThought = new makeArray(nbrOfStartingThoughts);
	startingThought[0] = " ";
	startingThought[1] = "Hmmm...that's interesting. ";
	startingThought[2] = "This is not the first time I hear that. ";
	startingThought[3] = "Ok. ";
	startingThought[4] = "Very interesting. ";
	startingThought[5] = "I can really relate to this actually. ";
	startingThought[6] = "I can't do more than guess...but ";
	startingThought[7] = "You are not alone, I can tell you that! ";
	startingThought[8] = "This will probably seem obvious to you but ";

	if (randomize(1,5) == 1)
	{ 
		return startingThought[0];
	} else {
		return startingThought[randomize(1, nbrOfStartingThoughts-1)];
	}

}

function askQuestion() {
	document.all("Brent").innerText = getCeoAnswer();
	document.all("Downhill").innerText = getPhysicianAnswer();
	document.all("Cliffmover").innerText = getArmyAnswer();
	document.all("Starfish").innerText = getHippieAnswer();
	document.all("Kinderschloss").innerText = getPsychAnswer();
	document.all("Dweeney").innerText = getCompAnswer();
}

// #############
// #### CEO ####
// #############

function getCeoVerb() {
	var nbrOfVerbs = 13;
	verbs = new makeArray(nbrOfVerbs);
	verbs[0] = "integrate ";
	verbs[1] = "implement ";
	verbs[2] = "position ";
	verbs[3] = "visualize ";
	verbs[4] = "dominate ";
	verbs[5] = "maximize ";
	verbs[6] = "develop ";
	verbs[7] = "stand strong on ";
	verbs[8] = "enhance ";
	verbs[9] = "grow ";
	verbs[10] = "incentivize ";
	verbs[11] = "revolutionize ";
	verbs[12] = "target ";

	return verbs[randomize(0,nbrOfVerbs-1)];
}

function getCeoBefVerb() {
	var nbrOfBefVerbs = 5;
	befVerbs = new makeArray(nbrOfBefVerbs);
	befVerbs[0] = "and by doing that " + getCeoPron();
	befVerbs[1] = "and thus " + getCeoPron();
	befVerbs[2] = ". This is " + getCeoAdverb() + " because " + getCeoPron();
	befVerbs[3] = ". This will give you a possibility to ";
	befVerbs[4] = ". This is quite opposite to how " + getCeoPron() + " wanted to ";

	return befVerbs[randomize(0,nbrOfBefVerbs-1)];
}

function getCeoPreNoun() {
	var nbrOfPrenouns;
	nbrOfPrenouns = 14;
	preNouns = new makeArray(nbrOfPrenouns);
	preNouns[0] = "";
	preNouns[1] = "cashflow ";
	preNouns[2] = "cost-benefit ";
	preNouns[3] = "just-in-time ";
	preNouns[4] = "break-even ";
	preNouns[5] = "cash-and-carry ";
	preNouns[6] = "brand";
	preNouns[7] = "branding";
	preNouns[8] = "corporate finance ";
	preNouns[9] = "turnaround ";
	preNouns[10] = "emerging-market ";
	preNouns[11] = "cutting-edge ";	
	preNouns[12] = "joint-venture ";
	preNouns[13] = "back-office ";

	if (randomize(1,4) == 1)
	{ 
		return preNouns[0];
	} else {
		return preNouns[randomize(1, nbrOfPrenouns-1)];
	}
}

function getCeoNoun() {
	var nbrOfNouns;
	nbrOfNouns = 47;
	nouns = new makeArray(nbrOfNouns);
	nouns[0] = "profit ";
	nouns[1] = "win-win situation ";
	nouns[2] = "paradigm ";
	nouns[3] = "accrued interest ";
	nouns[4] = "potential ";
	nouns[5] = "core competense ";
	nouns[6] = "concept ";
	nouns[7] = "risk ";
	nouns[8] = "flowthrough method ";
	nouns[9] = "liquidity ";
	nouns[10] = "market shares ";
	nouns[11] = "profit margin ";
	nouns[12] = "stock ";
	nouns[13] = "relationships ";
	nouns[14] = "p/e-values ";
	nouns[15] = "hedge-funds ";
	nouns[16] = "invested capital ";
	nouns[17] = "systems ";
	nouns[18] = "solidity ";
	nouns[19] = "approach ";
	nouns[20] = "solutions ";
	nouns[21] = "event-marketing ";
	nouns[22] = "release ";
	nouns[23] = "know-how "
	nouns[24] = "outlet ";
	nouns[25] = "result ";
	nouns[26] = "content ";
	nouns[27] = "infra-structures ";
	nouns[28] = "supply-chains ";
	nouns[29] = "models ";
	nouns[30] = "partnership ";
	nouns[31] = "brandloyalty ";
	nouns[32] = "SWOT-analysis ";
	nouns[33] = "focus ";
	nouns[34] = "strategy ";
	nouns[35] = "position ";
	nouns[36] = "clients ";
	nouns[37] = "stockholders ";
	nouns[38] = "social competense ";
	nouns[39] = "synergy effect ";
	nouns[40] = "platform ";
	nouns[41] = "e-markets ";
	nouns[42] = "mobility ";
	nouns[43] = "vision ";
	nouns[44] = "offense ";
	nouns[45] = "synergies ";
	nouns[46] = "technology ";

	return nouns[randomize(0,nbrOfNouns-1)];
}

function getCeoPostVerbAndNoun() {
	var nbrOfPostVans = 4;
	postVans = new makeArray(nbrOfPostVans);
	postVans[0] = "";
	postVans[1] = "a lot";
	postVans[2] = "with extreme carefulness"; 
	postVans[3] = "with " + randomize(0,200) + " %";

	if (randomize(1,3) == 1)
	{ 
		return postVans[0];
	} else {
		return postVans[randomize(1, nbrOfPostVans-1)];
	}
}

function getCeoAdjective() {
	var nbrOfAdjectives;
	nbrOfAdjectives = 10;
	adjectives = new makeArray(nbrOfAdjectives);
	adjectives[0] = "American ";
	adjectives[1] = "growing ";
	adjectives[2] = "European ";
	adjectives[3] = "local ";
	adjectives[4] = "glocal ";
	adjectives[5] = "interactive ";
	adjectives[6] = "global "
	adjectives[7] = "financial ";
	adjectives[8] = "governmental ";
	adjectives[9] = "integrated ";
	adjectives[10] = "environmental ";

	return adjectives[randomize(0, nbrOfAdjectives-1)];
}

function getCeoPron() {
	var nbrOfProns = 3;
	prons = new makeArray(nbrOfProns);
	prons[0] = "you ";
	prons[1] = "your contractors ";
	prons[2] = "your competitors ";

	return prons[randomize(0, nbrOfProns-1)];
}

function getCeoPossPron() {
	var nbrOfPossProns = 2;
	possProns = new makeArray(nbrOfPossProns);
	possProns[0] = "the market's ";
	possProns[1] = "your ";

	return possProns[randomize(0, nbrOfPossProns-1)];
}

function getCeoAdverb() {
	var nbrOfAdverbs = 3;
	adverbs = new makeArray(nbrOfAdverbs);
	adverbs[0] = "exciting ";
	adverbs[1] = "amazing ";
	adverbs[2] = "surprising ";
	adverbs[3] = "stunning ";
	adverbs[4] = "unusual ";
	adverbs[5] = "common ";

	return adverbs[randomize(0, nbrOfAdverbs-1)];
}

function getCeoWho() {
	var nbrOfWhos = 2;
	whos = new makeArray(nbrOfWhos);
	whos[0] = "My vice president ";
	whos[1] = "An anonymous member of the board at my company ";

	return whos[randomize(0, nbrOfWhos-1)];
}

function getCeoQuote() {

	var nbrOfPreQuotes = 3;	
	var nbrOfQuotes = 2;
	preQuotes = new makeArray(nbrOfPreQuotes);
	quotes = new makeArray(nbrOfQuotes);

	preQuotes[0] = getCeoWho() + " normally explains this with: ";
	preQuotes[1] = getCeoWho() + " mentioned that the reason for this is that ";
	preQuotes[2] = getCeoWho() + " motivates this with the fact that ";

	quotes[0] = "'Cash is king!'";
	quotes[1] = "'You snooze, you lose'";

	if (randomize(1,4) ==1) {
		wholeQuote = preQuotes[randomize(0, nbrOfPreQuotes-1)] + quotes[randomize(0, nbrOfQuotes-1)];
	} else {
		wholeQuote = "";
	}

	return wholeQuote;
}

function getCeoAnswer() {
	this.answerString = getStartingThought() + getCeoVerb() + "your " + getCeoNoun() + getCeoBefVerb() + getCeoVerb() + getCeoPreNoun() + getCeoNoun() + getCeoQuote();
	return this.answerString; 
}

// ###################
// #### Physician ####
// ###################

function getPhysicianPreVerb() {
	var nbrOfPreVerbs;
	nbrOfPreVerbs = 3;
	preVerbs = new makeArray(nbrOfPreVerbs);
	preVerbs[0] = "";
	preVerbs[1] = "avoid to ";
	preVerbs[2] = "try to ";

	if (randomize(1,4) == 1)
	{ 
		return preVerbs[0];
	} else {
		return preVerbs[randomize(1, nbrOfPreVerbs-1)];
	}
}

function getPhysicianHelpVerb() {
	var nbrOfHelpVerbs = 3;
	helpVerbs = new makeArray(nbrOfHelpVerbs);
	helpVerbs[0] = "will ";
	helpVerbs[1] = "can ";
	helpVerbs[2] = "have to ";

	return helpVerbs[randomize(1, nbrOfHelpVerbs-1)];
}

function getPhysicianVerb() {
	var nbrOfVerbs = 9;
	verbs = new makeArray(nbrOfVerbs);
	verbs[0] = "contract ";
	verbs[1] = "measure ";
	verbs[2] = "investigate ";
	verbs[3] = "remove ";
	verbs[4] = "operate ";
	verbs[5] = "implant ";
	verbs[6] = "develop ";
	verbs[7] = "treat ";
	verbs[8] = "self-treat ";

	return verbs[randomize(0,nbrOfVerbs-1)];
}

function getPhysicianBefVerb() {
	var nbrOfBefVerbs = 5;
	befVerbs = new makeArray(nbrOfBefVerbs);
	befVerbs[0] = "and by doing that " + getPhysicianPron() + getPhysicianHelpVerb();
	befVerbs[1] = "and thus " + getPhysicianPron() + getPhysicianHelpVerb();
	befVerbs[2] = ". This is good because " + getPhysicianPron() + getPhysicianHelpVerb();
	befVerbs[3] = ". This will give you a possibility to ";
	befVerbs[4] = ". This is quite opposite to how " + getPhysicianPron() + getPhysicianHelpVerb();

	return befVerbs[randomize(0,nbrOfBefVerbs-1)];
}

function getPhysicianPreNoun() {
	var nbrOfPrenouns;
	nbrOfPrenouns = 15;
	preNouns = new makeArray(nbrOfPrenouns);
	preNouns[0] = "";
	preNouns[1] = "pulmonary ";
	preNouns[2] = "superior ";
	preNouns[3] = "caudal ";
	preNouns[4] = "frontal ";
	preNouns[5] = "lateral ";
	preNouns[6] = "medial ";
	preNouns[7] = "posterior ";
	preNouns[8] = "anterior ";
	preNouns[9] = "external ";
	preNouns[10] = "profoundal ";
	preNouns[11] = "distal ";	
	preNouns[12] = "proximal ";
	preNouns[13] = "homeostatic ";
	preNouns[14] = "integumentary ";

	if (randomize(1,5) == 1)
	{ 
		return preNouns[0];
	} else {
		return preNouns[randomize(1, nbrOfPrenouns-1)];
	}
}

function getPhysicianNoun() {
	var nbrOfNouns;
	nbrOfNouns = 31;
	nouns = new makeArray(nbrOfNouns);
	nouns[0] = "cells ";
	nouns[1] = "blood pressure ";
	nouns[2] = "rectum ";
	nouns[3] = "lymph nodes ";
	nouns[4] = "brachiocephalic vein ";
	nouns[5] = "zygomatic major ";
	nouns[6] = "tibialis ";
	nouns[7] = "patella ";
	nouns[8] = "scapula ";
	nouns[9] = "humerus ";
	nouns[10] = "appendix ";
	nouns[11] = "proteins ";
	nouns[12] = "fat ";
	nouns[13] = "enzymes ";
	nouns[14] = "amino acids ";
	nouns[15] = "molecules ";
	nouns[16] = "hemoglobin values ";
	nouns[17] = "oxygen levels ";
	nouns[18] = "body fluids ";
	nouns[19] = "organs ";
	nouns[20] = "lipids ";
	nouns[21] = "PET scan ";
	nouns[22] = "mitochondria ";
	nouns[23] = "DNA "
	nouns[24] = "red blood cells ";
	nouns[25] = "white blood cells ";
	nouns[26] = "blood plasma ";
	nouns[27] = "edema ";
	nouns[28] = "symptomes ";
	nouns[29] = "tissue ";
	nouns[30] = "bones ";

	return nouns[randomize(0,nbrOfNouns-1)];
}

function getPhysicianPostVerbAndNoun() {
	var nbrOfPostVans = 4;
	postVans = new makeArray(nbrOfPostVans);
	postVans[0] = "";
	postVans[1] = "a lot";
	postVans[2] = "with extreme carefulness"; 
	postVans[3] = "with " + randomize(0,200) + " %";

	if (randomize(1,3) == 1)
	{ 
		return postVans[0];
	} else {
		return postVans[randomize(1, nbrOfPostVans-1)];
	}
}

function getPhysicianAdjective() {
	var nbrOfAdjectives;
	nbrOfAdjectives = 5;
	adjectives = new makeArray(nbrOfAdjectives);
	adjectives[0] = "unstimulated ";
	adjectives[1] = "underdeveloped ";
	adjectives[2] = "abnormal ";
	adjectives[3] = "highly developed ";
	adjectives[4] = "pathological ";
	adjectives[5] = "excessive ";

	return adjectives[randomize(0, nbrOfAdjectives-1)];
}

function getPhysicianPron() {
	var nbrOfProns = 2;
	prons = new makeArray(nbrOfProns);
	prons[0] = "you ";
	prons[1] = "I ";

	return prons[randomize(0, nbrOfProns-1)];
}

function getPhysicianPossPron() {
	var nbrOfPossProns = 3;
	possProns = new makeArray(nbrOfPossProns);
	possProns[0] = "your problem's ";
	possProns[1] = "your ";
	possProns[2] = "this problem's ";

	return possProns[randomize(0, nbrOfPossProns-1)];
}

function getPhysicianAdverb() {
	var nbrOfAdverbs = 5;
	adverbs = new makeArray(nbrOfAdverbs);
	adverbs[0] = "surgically ";
	adverbs[1] = "rectally ";
	adverbs[2] = "orally ";
	adverbs[3] = "painfully ";
	adverbs[4] = "intravenously ";

	return adverbs[randomize(0, nbrOfAdverbs-1)];
}

function getPhysicianWho() {
	var nbrOfWhos = 2;
	whos = new makeArray(nbrOfWhos);
	whos[0] = "A nurse in my surgery team ";
	whos[1] = "My own doctor ";

	return whos[randomize(0, nbrOfWhos-1)];
}

function getPhysicianQuote() {

	var nbrOfPreQuotes = 3;	
	var nbrOfQuotes = 2;
	preQuotes = new makeArray(nbrOfPreQuotes);
	quotes = new makeArray(nbrOfQuotes);

	preQuotes[0] = getPhysicianWho() + "normally explains this with: ";
	preQuotes[1] = getPhysicianWho() + "mentioned that the reason for this is that ";
	preQuotes[2] = getPhysicianWho() + "actually motivates this with the fact that ";

	quotes[0] = "'Let thy food be thy medicine and thy medicine be thy food'";
	quotes[1] = "'He's the best physician who knows the worthlessness of most medicines.'";

	if (randomize(1,4) ==1) {
		wholeQuote = preQuotes[randomize(0, nbrOfPreQuotes-1)] + quotes[randomize(0, nbrOfQuotes-1)];
	} else {
		wholeQuote = "";
	}

	return wholeQuote;
}

function getPhysicianAnswer() {
	this.answerString = getStartingThought() + getPhysicianPreVerb() + getPhysicianAdverb() + getPhysicianVerb() + getPhysicianPossPron() + getPhysicianNoun() + getPhysicianBefVerb() + getPhysicianVerb() + getPhysicianPossPron() + getPhysicianAdjective() +  getPhysicianNoun() + getPhysicianQuote();
	return this.answerString; 
}

// #################
// #### Colonel ####
// #################


function getArmyStartingThought() {

	var nbrOfStartingThoughts = 8;
	startingThought = new makeArray(nbrOfStartingThoughts);
	startingThought[0] = " ";
	startingThought[1] = "What is your major malfunction" + getArmyInsult() + " !? ";
	startingThought[2] = "That's affirmative. ";
	startingThought[3] = "Got it. ";
	startingThought[4] = "Question acknowledged. ";
	startingThought[5] = "I can really relate to this actually. ";
	startingThought[6] = "Get yourself together " + getArmyInsult();
	startingThought[7] = "You are not alone, I can tell you that! ";

	if (randomize(1,5) == 1)
	{ 
		return startingThought[0];
	} else {
		return startingThought[randomize(1, nbrOfStartingThoughts-1)];
	}
}

function getArmyInsult() {
	var nbrOfInsults = 5;
	insult = new makeArray(nbrOfInsults);
	insult[0] = " ";
	insult[1] = ", numbnuts, ";
	insult[2] = ", scumbag, ";
	insult[3] = ", soldier, ";
	insult[4] = ", private, ";

	if (randomize(1,5) == 1)
	{ 
		return insult[0];
	} else {
		return insult[randomize(1, nbrOfInsults-1)];
	}
}

function getArmyVerb() {
	var nbrOfVerbs = 4;
	verbs = new makeArray(nbrOfVerbs);
	verbs[0] = "attack ";
	verbs[1] = "defend ";
	verbs[2] = "hold ";
	verbs[3] = "await ";

	return verbs[randomize(0,nbrOfVerbs-1)];
}

function getArmyBefVerb() {
	var nbrOfBefVerbs = 5;
	befVerbs = new makeArray(nbrOfBefVerbs);
	befVerbs[0] = "and by doing that " + getArmyPron();
	befVerbs[1] = "and thus " + getArmyPron() + "will have to ";
	befVerbs[2] = ". This will happen since " + getArmyPron();
	befVerbs[3] = ". This will give you a possibility to ";
	befVerbs[4] = ". This is quite opposite to how " + getArmyPron() + " wanted to ";

	return befVerbs[randomize(0,nbrOfBefVerbs-1)];
}

function getArmyPreNoun() {
	var nbrOfPrenouns;
	nbrOfPrenouns = 2;
	preNouns = new makeArray(nbrOfPrenouns);
	preNouns[0] = "";
	preNouns[1] = "";

	if (randomize(1,100) == 50)
	{ 
		return preNouns[0];
	} else {
		return preNouns[randomize(1, nbrOfPrenouns-1)];
	}
}

function getArmyNoun() {
	var nbrOfNouns;
	nbrOfNouns = 11;
	nouns = new makeArray(nbrOfNouns);
	nouns[0] = "enemies ";
	nouns[1] = "flanks ";
	nouns[2] = "defense ";
	nouns[3] = "offense ";
	nouns[4] = "ammunition depot ";
	nouns[5] = "higher command ";
	nouns[6] = "backup supplies ";
	nouns[7] = "long range attacks ";
	nouns[8] = "orders ";
	nouns[9] = "terrain ";
	nouns[10] = "positions ";

	return nouns[randomize(0,nbrOfNouns-1)];
}

function getArmyPostVerbAndNoun() {
	var nbrOfPostVans = 6;
	postVans = new makeArray(nbrOfPostVans);
	postVans[0] = "";
	postVans[1] = "with force ";
	postVans[2] = "as backup "; 
	postVans[3] = "at 0" + randomize(1,9) + "00 ";
	postVans[4] = "so to speak. ";
	postVans[5] = "pardon my French. ";

	if (randomize(1,2) == 1)
	{ 
		return postVans[0];
	} else {
		return postVans[randomize(1, nbrOfPostVans-1)];
	}
}

function getArmyAdjective() {
	var nbrOfAdjectives;
	nbrOfAdjectives = 4;
	adjectives = new makeArray(nbrOfAdjectives);
	adjectives[0] = "forceful ";
	adjectives[1] = "rapid ";
	adjectives[2] = "friendly ";
	adjectives[3] = "hostile ";

	return adjectives[randomize(0, nbrOfAdjectives-1)];
}

function getArmyPron() {
	var nbrOfProns = 2;
	prons = new makeArray(nbrOfProns);
	prons[0] = "you ";
	prons[1] = "your problem ";

	return prons[randomize(0, nbrOfProns-1)];
}

function getArmyPossPron() {
	var nbrOfPossProns = 2;
	possProns = new makeArray(nbrOfPossProns);
	possProns[0] = "your problem's ";
	possProns[1] = "your ";

	return possProns[randomize(0, nbrOfPossProns-1)];
}

function getArmyAdverb() {
	var nbrOfAdverbs = 3;
	adverbs = new makeArray(nbrOfAdverbs);
	adverbs[0] = "exciting ";
	adverbs[1] = "amazing ";
	adverbs[2] = "surprising ";
	adverbs[3] = "stunning ";
	adverbs[4] = "unusual ";
	adverbs[5] = "common ";

	return adverbs[randomize(0, nbrOfAdverbs-1)];
}

function getArmyWho() {
	var nbrOfWhos = 2;
	whos = new makeArray(nbrOfWhos);
	whos[0] = "The enemy ";
	whos[1] = "My superior commander ";

	return whos[randomize(0, nbrOfWhos-1)];
}

function getArmyQuote() {

	var nbrOfPreQuotes = 3;	
	var nbrOfQuotes = 2;
	preQuotes = new makeArray(nbrOfPreQuotes);
	quotes = new makeArray(nbrOfQuotes);

	preQuotes[0] = getArmyWho() + " has a motto: ";
	preQuotes[1] = getArmyWho() + " mentioned that the reason for this is that ";
	preQuotes[2] = getArmyWho() + " normally explains this with the fact that ";

	quotes[0] = "'Tomorrow's battle is won during today's practice'";
	quotes[1] = "'You snooze, you lose'";

	if (randomize(1,4) ==1) {
		wholeQuote = preQuotes[randomize(0, nbrOfPreQuotes-1)] + quotes[randomize(0, nbrOfQuotes-1)];
	} else {
		wholeQuote = "";
	}

	return wholeQuote;
}

function getArmyAnswer() {
	this.answerString = getArmyStartingThought() + getArmyVerb() + "your " + getArmyNoun() + getArmyBefVerb() + getArmyVerb() + getArmyPreNoun() + getArmyNoun() + getArmyPostVerbAndNoun() + getArmyQuote();
	return this.answerString; 
}

// ######################
// #### Computergeek ####
// ######################

function getCompVerb() {
	var nbrOfVerbs = 6;
	verbs = new makeArray(nbrOfVerbs);
	verbs[0] = "reboot ";
	verbs[1] = "ALT ";
	verbs[2] = "compile ";
	verbs[3] = "reprogram ";
	verbs[4] = "log ";
	verbs[5] = "AOS ";

	return verbs[randomize(0,nbrOfVerbs-1)];
}

function getCompBefVerb() {
	var nbrOfBefVerbs = 5;
	befVerbs = new makeArray(nbrOfBefVerbs);
	befVerbs[0] = "and by doing that " + getCompPron();
	befVerbs[1] = "and thus " + getCompPron();
	befVerbs[2] = ". This is nice because " + getCompPron();
	befVerbs[3] = ". This will give you a possibility to ";
	befVerbs[4] = ". This is quite opposite to how " + getCompPron() + " wanted to ";

	return befVerbs[randomize(0,nbrOfBefVerbs-1)];
}

function getCompPreNoun() {
	var nbrOfPrenouns;
	nbrOfPrenouns = 4;
	preNouns = new makeArray(nbrOfPrenouns);
	preNouns[0] = "";
	preNouns[1] = "personal ";
	preNouns[2] = "own ";
	preNouns[3] = "human ";

	if (randomize(1,2) == 1)
	{ 
		return preNouns[0];
	} else {
		return preNouns[randomize(1, nbrOfPrenouns-1)];
	}
}

function getCompNoun() {
	var nbrOfNouns;
	nbrOfNouns = 8;
	nouns = new makeArray(nbrOfNouns);
	nouns[0] = "system ";
	nouns[1] = "hard drive ";
	nouns[2] = "RAM ";
	nouns[3] = "OS ";
	nouns[4] = "NT-configuration ";
	nouns[5] = "BIOS ";
	nouns[6] = "PPP ";
	nouns[7] = "SMTP ";
	nouns[8] = "IP ";
	nouns[9] = "CMOS ";
	nouns[10] = "config ";

	return nouns[randomize(0,nbrOfNouns-1)];
}

function getCompPostVerbAndNoun() {
	var nbrOfPostVans = 9;
	postVans = new makeArray(nbrOfPostVans);
	postVans[0] = "";
	postVans[1] = "so to speak. ";
	postVans[2] = "so to speak. ";
	postVans[3] = "so to speak. ";
	postVans[4] = ", literally. ";
	postVans[5] = "if you understand what I mean. "; 
	postVans[6] = ", huh huh huh...";
	postVans[7] = "*lol* ";
	postVans[8] = "*rotfl*";

	if (randomize(1,3) == 1)
	{ 
		return postVans[0];
	} else {
		return postVans[randomize(1, nbrOfPostVans-1)];
	}
}

function getCompAdjective() {
	var nbrOfAdjectives;
	nbrOfAdjectives = 4;
	adjectives = new makeArray(nbrOfAdjectives);
	adjectives[0] = "object oriented ";
	adjectives[1] = "binary ";
	adjectives[2] = "web based ";
	adjectives[3] = "user friendly ";

	return adjectives[randomize(0, nbrOfAdjectives-1)];
}

function getCompPron() {
	var nbrOfProns = 2;
	prons = new makeArray(nbrOfProns);
	prons[0] = "you ";
	prons[1] = "we ";

	return prons[randomize(0, nbrOfProns-1)];
}

function getCompPossPron() {
	var nbrOfPossProns = 2;
	possProns = new makeArray(nbrOfPossProns);
	possProns[0] = "your problem's ";
	possProns[1] = "your ";

	return possProns[randomize(0, nbrOfPossProns-1)];
}

function getCompAdverb() {
	var nbrOfAdverbs = 3;
	adverbs = new makeArray(nbrOfAdverbs);
	adverbs[0] = "literally ";
	adverbs[1] = " ";
	adverbs[2] = " ";
	adverbs[3] = "stunning ";
	adverbs[4] = "unusual ";
	adverbs[5] = "common ";

	return adverbs[randomize(0, nbrOfAdverbs-1)];
}

function getCompWho() {
	var nbrOfWhos = 2;
	whos = new makeArray(nbrOfWhos);
	whos[0] = "A guy I know on IRC ";
	whos[1] = "My mother ";

	return whos[randomize(0, nbrOfWhos-1)];
}

function getCompQuote() {

	var nbrOfPreQuotes = 3;	
	var nbrOfQuotes = 2;
	preQuotes = new makeArray(nbrOfPreQuotes);
	quotes = new makeArray(nbrOfQuotes);

	preQuotes[0] = getCompWho() + " would probably say: ";
	preQuotes[1] = getCompWho() + " explained this to me as: ";
	preQuotes[2] = getCompWho() + " always refers to this as: ";

	quotes[0] = "'Don't drink and derive!'";
	quotes[1] = "'If at first you don't succeed, call it version 1.0'";

	if (randomize(1,3) ==1) {
		wholeQuote = preQuotes[randomize(0, nbrOfPreQuotes-1)] + quotes[randomize(0, nbrOfQuotes-1)];
	} else {
		wholeQuote = "";
	}

	return wholeQuote;
}

function getCompAnswer() {
	this.answerString = getStartingThought() + getCompPron() + "should " + getCompVerb() + getCompPossPron() + getCompNoun() + getCompBefVerb() + getCompVerb() + getCompPossPron() + getCompPreNoun() + getCompNoun() + getCompPostVerbAndNoun() + getCompQuote();
	return this.answerString; 
}

// ######################
// #### Psychiatrist ####
// ######################

function getPsychVerb() {
	var nbrOfVerbs = 5;
	verbs = new makeArray(nbrOfVerbs);
	verbs[0] = "believe ";
	verbs[1] = "understand ";
	verbs[2] = "manipulate ";
	verbs[3] = "attribute ";
	verbs[4] = "project ";

	return verbs[randomize(0,nbrOfVerbs-1)];
}

function getPsychHelpVerb() {
	var nbrOfHelpVerbs;
	nbrOfHelpVerbs = 6;
	helpVerb = new makeArray(nbrOfHelpVerbs);
	helpVerb[0] = "";
	helpVerb[1] = "need to ";
	helpVerb[2] = "want to ";
	helpVerb[3] = "can't help to ";
	helpVerb[4] = "expect you to ";
	helpVerb[5] = "want you to ";

	if (randomize(1,3) == 1)
	{ 
		return helpVerb[0];
	} else {
		return helpVerb[randomize(1, nbrOfHelpVerbs-1)];
	}
}

function getPsychBefVerb() {
	var nbrOfBefVerbs = 5;
	befVerbs = new makeArray(nbrOfBefVerbs);
	befVerbs[0] = "and by doing that " + getPsychPron();
	befVerbs[1] = "and thus " + getPsychPron();
	befVerbs[2] = ". This is a normal reaction because " + getPsychPron();
	befVerbs[3] = ". This will give " + getPsychPron() + "a possibility to ";
	befVerbs[4] = ". This is probably quite opposite to how " + getPsychPron() + " wanted to ";

	return befVerbs[randomize(0,nbrOfBefVerbs-1)];
}

function getPsychPreNoun() {
	var nbrOfPrenouns;
	nbrOfPrenouns = 2;
	preNouns = new makeArray(nbrOfPrenouns);
	preNouns[0] = "";
	preNouns[1] = "";

	if (randomize(1,100) == 1)
	{ 
		return preNouns[0];
	} else {
		return preNouns[randomize(1, nbrOfPrenouns-1)];
	}
}

function getPsychNoun() {
	var nbrOfNouns;
	nbrOfNouns = 28;
	nouns = new makeArray(nbrOfNouns);
	nouns[0] = "unconscious ";
	nouns[1] = "mind ";
	nouns[2] = "depression ";
	nouns[3] = "attitude ";
	nouns[4] = "perspective ";
	nouns[5] = "guilt ";
	nouns[6] = "belief ";
	nouns[7] = "emotions ";
	nouns[8] = "conflict ";
	nouns[9] = "behaviour ";
	nouns[10] = "personality ";
	nouns[11] = "defensiveness ";
	nouns[12] = "hysteria ";
	nouns[13] = "feelings ";
	nouns[14] = "needs ";
	nouns[15] = "preconscious ";
	nouns[16] = "subconscious ";
	nouns[17] = "drives ";
	nouns[18] = "ego ";
	nouns[19] = "punishment ";
	nouns[20] = "reward ";
	nouns[21] = "anxiety ";
	nouns[22] = "denial ";
	nouns[23] = "development "
	nouns[24] = "impulse ";
	nouns[25] = "displacement ";
	nouns[26] = "reaction ";
	nouns[27] = "identification ";
	nouns[28] = "mood";
	nouns[29] = "disorder ";
	nouns[30] = "disability ";

	return nouns[randomize(0,nbrOfNouns-1)];
}

function getPsychPostVerbAndNoun() {
	var nbrOfPostVans = 4;
	postVans = new makeArray(nbrOfPostVans);
	postVans[0] = "";
	postVans[1] = "a lot";
	postVans[2] = "with extreme carefulness"; 
	postVans[3] = "with " + randomize(0,200) + " %";

	if (randomize(1,3) == 1)
	{ 
		return postVans[0];
	} else {
		return postVans[randomize(1, nbrOfPostVans-1)];
	}
}

function getPsychAdjective() {
	var nbrOfAdjectives;
	nbrOfAdjectives = 17;
	adjectives = new makeArray(nbrOfAdjectives);
	adjectives[0] = "internal ";
	adjectives[1] = "inner ";
	adjectives[2] = "bipolar ";
	adjectives[3] = "trance-like ";
	adjectives[4] = "unexpressed ";
	adjectives[5] = "sexual ";
	adjectives[6] = "motivational "
	adjectives[7] = "neurotic ";
	adjectives[8] = "repressed ";
	adjectives[9] = "aggressive ";
	adjectives[10] = "altruistic ";
	adjectives[11] = "anal retentive ";
	adjectives[12] = "schizofrenic ";
	adjectives[13] = "psychosomatic ";
	adjectives[14] = "narcisstic ";
	adjectives[15] = "abnormal ";
	adjectives[16] = "somatic ";
	adjectives[17] = "behavioral ";
	adjectives[18] = "self-inflicted ";

	return adjectives[randomize(0, nbrOfAdjectives-1)];
}

function getPsychPron() {
	var nbrOfProns = 5;
	prons = new makeArray(nbrOfProns);
	prons[0] = "you ";
	prons[1] = "your inner self ";
	prons[2] = "your father ";
	prons[3] = "your subcounscious ";
	prons[4] = "we ";

	return prons[randomize(0, nbrOfProns-1)];
}

function getPsychPossPron() {
	var nbrOfPossProns = 2;
	possProns = new makeArray(nbrOfPossProns);
	possProns[0] = "this ";
	possProns[1] = "your ";

	return possProns[randomize(0, nbrOfPossProns-1)];
}

function getPsychAdverb() {
	var nbrOfAdverbs = 4;
	adverbs = new makeArray(nbrOfAdverbs);
	adverbs[0] = "subconsciousally ";
	adverbs[1] = "probably ";
	adverbs[2] = "normally ";
	adverbs[3] = "spontaneously ";

	return adverbs[randomize(0, nbrOfAdverbs-1)];
}

function getPsychWho() {
	var nbrOfWhos = 3;
	whos = new makeArray(nbrOfWhos);
	whos[0] = "Your subconscious ";
	whos[1] = "Your ego ";
	whos[2] = "Your superego ";
	whos[3] = "My colleagues ";

	return whos[randomize(0, nbrOfWhos-1)];
}

function getPsychQuote() {

	var nbrOfPreQuotes = 4;	
	var nbrOfQuotes = 2;
	preQuotes = new makeArray(nbrOfPreQuotes);
	quotes = new makeArray(nbrOfQuotes);

	preQuotes[0] = getPsychWho() + "probably interprets this with: ";
	preQuotes[1] = getPsychWho() + "attributes this is as ";
	preQuotes[2] = getPsychWho() + "motivates this with ";
	preQuotes[3] = getPsychWho() + "normally refers to this as "; 

	quotes[0] = "'Correct within an order of magnitude'";
	quotes[1] = "'A careful analysis of obtainable data'";

	if (randomize(1,4) ==1) {
		wholeQuote = preQuotes[randomize(0, nbrOfPreQuotes-1)] + quotes[randomize(0, nbrOfQuotes-1)];
	} else {
		wholeQuote = "";
	}

	return wholeQuote;
}

function getPsychAnswer() {
	this.answerString = getStartingThought() + getPsychPron() + getPsychHelpVerb() + getPsychVerb() + "your " + getPsychAdjective() + getPsychNoun() + getPsychBefVerb() + getPsychAdverb() + getPsychVerb() + getPsychPreNoun() + getPsychNoun() + getPsychQuote();
	return this.answerString; 
}

// ################
// #### Hippie ####
// ################

function getHippieStartingThought() {

	var nbrOfStartingThoughts = 5;
	startingThought = new makeArray(nbrOfStartingThoughts);
	startingThought[0] = " ";
	startingThought[1] = getHippieAdjective() + getHippieBetweener();
	startingThought[2] = "That's like totally " + getHippieAdjective();
	startingThought[3] = "I can so relate " + getHippieBetweener();
	startingThought[4] = "I can like " + getHippieAdverb() + " understand your problem" + getHippieBetweener();

	if (randomize(1,3) == 1)
	{ 
		return startingThought[0];
	} else {
		return startingThought[randomize(1, nbrOfStartingThoughts-1)];
	}

}

function getHippieVerb() {
	var nbrOfVerbs = 6;
	verbs = new makeArray(nbrOfVerbs);
	verbs[0] = "imagine ";
	verbs[1] = "swim ";
	verbs[2] = "dream ";
	verbs[3] = "visualize ";
	verbs[4] = "expand ";
	verbs[5] = "relax ";

	return verbs[randomize(0,nbrOfVerbs-1)];
}

function getHippieBefVerb() {
	var nbrOfBefVerbs = 5;
	befVerbs = new makeArray(nbrOfBefVerbs);
	befVerbs[0] = "and by doing that " + getHippiePron();
	befVerbs[1] = "and thus " + getHippiePron();
	befVerbs[2] = ". This is " + getHippieAdverb() + " because " + getHippiePron();
	befVerbs[3] = ". This will give you a possibility to ";
	befVerbs[4] = ". This is not really like " + getHippiePron() + "wanted to ";

	return befVerbs[randomize(0,nbrOfBefVerbs-1)];
}

function getHippiePreNoun() {
	var nbrOfPrenouns;
	nbrOfPrenouns = 2;
	preNouns = new makeArray(nbrOfPrenouns);
	preNouns[0] = "";
	preNouns[1] = "";

	if (randomize(1,120) == 1)
	{ 
		return preNouns[0];
	} else {
		return preNouns[randomize(1, nbrOfPrenouns-1)];
	}
}

function getHippieNoun() {
	var nbrOfNouns;
	nbrOfNouns = 8;
	nouns = new makeArray(nbrOfNouns);
	nouns[0] = "peace ";
	nouns[1] = "love ";
	nouns[2] = "happiness ";
	nouns[3] = "freedom ";
	nouns[4] = "mind ";
	nouns[5] = "reality ";
	nouns[6] = "borders ";
	nouns[7] = "karma ";

	return nouns[randomize(0,nbrOfNouns-1)];
}

function getHippiePostVerbAndNoun() {
	var nbrOfPostVans = 2;
	this.verb = getHippieVerb();
	postVans = new makeArray(nbrOfPostVans);
	postVans[0] = "";
	postVans[1] = ". " + this.verb + getHippieBetweener() + this.verb;

	if (randomize(1,4) == 1)
	{ 
		return postVans[0];
	} else {
		return postVans[randomize(1, nbrOfPostVans-1)];
	}
}

function getHippieAdjective() {
	var nbrOfAdjectives;
	nbrOfAdjectives = 4;
	adjectives = new makeArray(nbrOfAdjectives);
	adjectives[0] = "radical ";
	adjectives[1] = "total ";
	adjectives[2] = "groovy ";
	adjectives[3] = "awesome ";

	return adjectives[randomize(0, nbrOfAdjectives-1)];
}

function getHippiePron() {
	var nbrOfProns = 3;
	prons = new makeArray(nbrOfProns);
	prons[0] = "you ";
	prons[1] = "your mind ";
	prons[2] = "your dreams ";

	return prons[randomize(0, nbrOfProns-1)];
}

function getHippiePossPron() {
	var nbrOfPossProns = 2;
	possProns = new makeArray(nbrOfPossProns);
	possProns[0] = "your mind's ";
	possProns[1] = "your ";

	return possProns[randomize(0, nbrOfPossProns-1)];
}

function getHippieAdverb() {
	var nbrOfAdverbs = 3;
	adverbs = new makeArray(nbrOfAdverbs);
	adverbs[0] = "totally ";
	adverbs[1] = "mentally ";
	adverbs[2] = "like ";

	return adverbs[randomize(0, nbrOfAdverbs-1)];
}

function getHippieWho() {
	var nbrOfWhos = 2;
	whos = new makeArray(nbrOfWhos);
	whos[0] = "A dude I know ";
	whos[1] = "My guru ";

	return whos[randomize(0, nbrOfWhos-1)];
}

function getHippieQuote() {

	var nbrOfPreQuotes = 3;	
	var nbrOfQuotes = 2;
	preQuotes = new makeArray(nbrOfPreQuotes);
	quotes = new makeArray(nbrOfQuotes);

	preQuotes[0] = getHippieWho() + " is like: ";
	preQuotes[1] = getHippieWho() + " is totally like: ";
	preQuotes[2] = getHippieWho() + " always says ";

	quotes[0] = "'Panta Rei!'";
	quotes[1] = "'Flow with it'";

	if (randomize(1,7) ==1) {
		wholeQuote = preQuotes[randomize(0, nbrOfPreQuotes-1)] + quotes[randomize(0, nbrOfQuotes-1)];
	} else {
		wholeQuote = "";
	}

	return wholeQuote;
}

function getHippieBetweener() {
	var nbrOfBetweeners = 2;
	betweener = new makeArray(nbrOfBetweeners);
	betweener[0] = ", dude, ";
	betweener[1] = "...man, ";

	return betweener[randomize(0, nbrOfBetweeners-1)];
}


function getHippieAnswer() {
	this.answerString = getHippieStartingThought() + getHippiePron() + "should " + getHippieAdverb() + getHippieVerb() + getHippiePossPron() + getHippieNoun() + getHippiePostVerbAndNoun() + getHippieQuote();
	return this.answerString; 
}









