
// DOCUMENT CREATED BY DEREK CLARK - DEREKCLARK@GMAIL.COM

var space, hero, sidekick, heroCar, animal, object, tvshow;

var hex = 240; // for text fade
var high = 9;  // for indexing word arrays
var low = 0;   // for indexing word arrays

var pronoun1 = " he";
var pronoun1Capped = " He";
var posPronoun1 = " his";
var posPronoun1Capped = " His";
var specPronoun1 = " him";
var pronoun2 = " she";
var pronoun2Capped = " She";
var posPronoun2 = " her";







// THIS FUNCTION IS CALLED WHEN USER CLICKS "CREATE STORY"
function assignVars() {


   // REPEATING ELEMENTS (USER-DETERMINED)
   hero = " " + document.storyForm.hero1.value;
   sidekick = " " + document.storyForm.sidekick1.value;
   animal = " " + document.storyForm.animal1.value;
   heroCar = " " + document.storyForm.heroCar1.value;
   object = " " + document.storyForm.object1.value;
   tvshow = " " + document.storyForm.tvshow1.value;


   // ASSIGN PRONOUNS CORRESPONDING TO HERO'S GENDER
   if ( document.storyForm.gender1[0].checked == true ) {
      pronoun1 = " he";
      pronoun1Capped = " He";
      posPronoun1 = " his";
      posPronoun1Capped = " His";
      specPronoun1 = " him";
   }
   else if ( document.storyForm.gender1[1].checked == true ) {  
      pronoun1 = " she";
      pronoun1Capped = " She";
      posPronoun1 = " her";
      posPronoun1Capped = " Her";
      specPronoun1 = " her";   
   }
   else {
      alert( "You must specify a gender for both the hero and sidekick." );
      return false;
   }


   // ASSIGN PRONOUNS CORRESPONDING TO SIDEKICK'S GENDER
   if ( document.storyForm.gender2[0].checked == true ) {
      pronoun2 = " he";
      pronoun2Capped = " He";
      posPronoun2 = " his";
      specPronoun2 = " him";
   }
   else if ( document.storyForm.gender2[1].checked == true ) {  
      pronoun2 = " she";
      pronoun2Capped = " She";
      posPronoun2 = " her";  
      specPronoun2 = " her";
   }
   else {
      alert( "You didn't specify a gender for the sidekick." );
      return false;
   }


   // CHECK FOR TONE REQUESTS, SPECIFY CORRESPONDING ARRAY RANGE
   if ( document.storyForm.randomTone.checked == true && document.storyForm.sarcasticTone.checked != true ) {
      high = 19;
      low = 10;
   }
   else if ( document.storyForm.randomTone.checked != true && document.storyForm.sarcasticTone.checked == true ) {
      high = 29;
      low = 20;
   }
   else if ( document.storyForm.randomTone.checked == true && document.storyForm.sarcasticTone.checked == true ) {
      high = 29;
      low = 10;
   }
   else {
      high = 9;
      low = 0;
   }


   // THE FOLLOWING IS BITTERNESS BASED ON FAILED LOVE, YEAH!
   if ( document.storyForm.gender1[0].checked == true && document.storyForm.gender2[1].checked == true ) {
      if ( document.storyForm.ending[0].checked == true ) {
        alert( "Male and a female...and a happy ending?  I can't process this request, too angry at the world.\n\nJust kidding!  Click 'OK' to see your story" );
      }
   }

   if ( document.storyForm.gender1[1].checked == true && document.storyForm.gender2[0].checked == true ) {
      if ( document.storyForm.ending[0].checked == true ) {
        alert( "Male and a female...and a happy ending?  I can't process this request, too angry at the world.\n\nJust kidding!  Click 'OK' to see your story" );
      }
   }



 /*
   if ( document.storyForm.gender1[1].checked == true && document.storyForm.gender2[0].checked == true ) {
      if ( document.storyForm.ending[0].checked == true) {
        alert( "");
      }
   }
 */


   // VARIABLES SET, "START" FUNCTION IS CALLED.  START WILL BUILD THE STORY STRING.
   document.storyForm2.output.value = start(high, low);

}
// -------------------- END ASSIGNVARS() --------------------




// ------------------ BEGIN FADE FUNCTION -------------------
function fadeText() { 

   if( hex > 0 ) {
      hex -= 5;
      document.getElementById("output").style.color="rgb("+hex+","+hex+","+hex+")";
      setTimeout( "fadeText()", 20 ); 
   }
   else
      hex = 240;

}

// ------------------- END FADE FUNCTION --------------------







// -------------------- BEGIN STORY GEN ---------------------
function start(hi,lo) {
  
  sp = " ";

  story = 

sp + sp + sp + "It all started when our" + protagonistNoun(hi,lo) + "," + hero + ", woke up in a" + placeNoun(hi,lo) + ". It was the" + enumeratedNumber(hi,lo) + " time it had happened. Feeling" + quantitativeAdverb(hi,lo) + emotionalAdjPT(hi,lo) + "," + hero + activeTransitiveVerbPT(hi,lo) + " a" + smallObjectNoun(hi,lo) + ", thinking it would make" + specPronoun1 + " feel better (but as usual, it did not)." + sentenceStarter(hi,lo) + pronoun1 + " realized that" + posPronoun1 + " beloved" + object + " was missing!  Immediately" + pronoun1 + " called" + posPronoun1 + personType(hi,lo) + "," + sidekick + "." + hero + " had known" + sidekick + " for (plus or minus)" + bigNumber(hi,lo) + " years, the majority of which were" + vividAdj(hi,lo) + " ones. " + sidekick + " was unique." + pronoun2Capped + " was" + goodPersonalityAdj(hi,lo) + " though sometimes a little..." + badPersonalityAdj(hi,lo) + "." + hero + " called" + specPronoun2 + " anyway, for the situation was urgent.\n\n" + 


sp + sp + sidekick + " picked up to a very" + emotionalAdj(hi,lo) + hero + "." + sidekick + " calmly assured" + specPronoun1 + " that most" + smallMammalNoun(hi,lo) + passiveIntransitiveVerb(hi,lo) + " before mating, yet" + smallMammalNoun(hi,lo) + " usually" +verbModifyingAdverbVIVID(hi,lo) + passiveIntransitiveVerb(hi,lo) + " *after* mating." + pronoun2Capped + " had no idea what that meant;" + pronoun2 + " was only concerned with distracting" + hero + ".  Why was" + sidekick + " trying to distract" + hero + "?  Because" + pronoun2 + " had snuck out from" + hero + "'s with the" + object + " only" + smallNumber(hi,lo) + " days prior.  It was a" + vividAdj(hi,lo) + " little" + object + "... how could" + pronoun2 + " resist?\n\n" +

sp + sp + sp + "It didn't take long before" + hero + " got back to the subject at hand:" + posPronoun1 + object + "." + sidekick + passiveIntransitiveVerbPT(hi,lo) + ". Relunctantly," + sidekick + " invited" + specPronoun1 + " over, assuring" + specPronoun1 + " they'd find the" + object + "." + hero + " grabbed" + posPronoun1 + largeObjectNoun(hi,lo) + " and disembarked immediately. After hanging up the phone," + sidekick + " realized that" + pronoun2 + " was in trouble." + pronoun2Capped + " had to find a place to hide the" + object + " and" + pronoun2 + " had to do it" + verbModifyingAdverb(hi,lo) + "." + pronoun2Capped + " figured that if" + hero + " took the" + vehicleNoun(hi,lo) + "," + pronoun2 + " had take at least" + smallNumber(hi,lo) + " minutes before" + hero + " would get there.  But if" + pronoun1 + " took the" + heroCar + "?  Then" + sidekick + " would be" + quantitativeAdverb(hi,lo) + " screwed.\n\n" + 


sp + sp + sp + "Before" + pronoun2 + " could come up with any reasonable ideas," + sidekick + " was interrupted by" + smallNumber(hi,lo) + badPersonalityAdj(hi,lo) + animal + "s that were lured by" + posPronoun2 + object + "." + sidekick + passiveIntransitiveVerbPT(hi,lo) + "; 'Not again'," + pronoun2 + " thought. Feeling" + emotionalAdjPT(hi,lo) + "," + pronoun2 + verbModifyingAdverb(hi,lo) + " reached for" + posPronoun2 + smallObjectNoun(hi,lo) + " and" + verbModifyingAdverb(hi,lo) + activeTransitiveVerbPT(hi,lo) + " every last one of them. Apparently this was an adequate deterrent--the discouraged critters began to scurry back toward the" + placeNoun(hi,lo) + ", squealing with discontent." + pronoun2Capped + " exhaled with relief.  That's when" + pronoun2 + " heard the" + heroCar + " rolling up.  It was" + hero + ".\n\n" +

"----o0o---- \n\n" +

sp +sp +sp +"As" + pronoun1 + " pulled up," + pronoun1 + " felt a sense of urgency." + pronoun1Capped + " had had to make an unscheduled stop at" + storeNoun(hi,lo) + " to pick up a 12-pack of" + smallObjectNoun(hi,lo) + "s, so" + pronoun1 + " knew" + pronoun1 + " was running late.  With a" + actModifyingAdj(hi,lo) + " leap," + hero + " was out of the" + heroCar + " and went" + verbModifyingAdverbVIVID(hi,lo) + " jaunting toward" + sidekick + "'s front door.  Meanwhile inside, " + sidekick + " was panicking.  Not thinking," + pronoun2 + " tossed the" + object + " into a box of" + smallObjectNoun(hi,lo) + "s and then slid the box behind" + posPronoun2 + largeObjectNoun(hi,lo) + "." + sidekick + " was" + emotionalAdjPT(hi,lo) + " but at least the" + object + " was concealed.  The doorbell rang.\n\n" +

sp +sp +sp +"'Come in,'" + sidekick + verbModifyingAdverbVIVID(hi,lo) + " purred.  With a" + actModifyingAdj(hi,lo) + " push," + hero + " opened the door.  'Sorry for being late, but I was being chased by some" + badPersonalityAdj(hi,lo) + personalityType(hi,lo) + " in a" + vehicleNoun(hi,lo)  + ",'" + pronoun1 + " lied.  'It's fine,'" + sidekick + " assured" + specPronoun1 + "." + hero + " took a seat" + prepositionalPhrase(hi,lo) + " where" + sidekick + " had hidden the" + object + "." + sidekick + passiveIntransitiveVerbPT(hi,lo) + " trying unsuccessfully to hide" + posPronoun2 + " nervousness.  'Uhh, can I get you anything?'" + pronoun2 + " blurted.  But" + hero + " was distracted." + sentenceStarter(hi,lo) + sidekick + " noticed a" + badPersonalityAdj(hi,lo) + " look on" + hero + "'s face." + hero + " slowly opened" + posPronoun1 + " mouth to speak.\n\n" +

sp +sp +sp +"'...What's that smell?'\n\n" +

sp +sp +sidekick + " felt a stabbing pain in" + posPronoun2 + bodyPartNoun(hi,lo) + " when" + hero + " asked this.  In a moment of disbelief," + pronoun2 + " realized that" + pronoun2 + " had hidden the" + object + " right by" + posPronoun2 + " oscillating fan. 'Wh-what?  I don't smell anything..!'  A lie.  A" + badPersonalityAdj(hi,lo) + " look started to form on" + hero + "'s face." + pronoun1Capped + " turned to notice a box that seemed clearly out of place. 'Th-th-those are just my grandma's" + smallObjectNoun(hi,lo) + "s from when she used to have pet" + smallMammalNoun(hi,lo) + ".  She, uh...dropped 'em by here earlier'." + hero + " nodded with fake acknowledgement...then, before" + sidekick + " could react," + hero + verbModifyingAdverb(hi,lo) + " lunged toward the box and opened it.  The" + object + " was plainly in view.\n\n" +

sp +sp +hero + " stared at" + sidekick + " for what what must've been" + smallNumber(hi,lo) + unitOfTime(hi,lo) + "s." + sentenceStarter(hi,lo) + sidekick + " groped" + verbModifyingAdverbVIVID(hi,lo) + " in" + hero + "'s direction, clearly desperate." + hero + " grabbed the" + object + " and bolted for the door.  It was locked." + sidekick + " let out a" + vividAdj(hi,lo) + " chuckle. 'If only you hadn't been so protective of that thing, none of this would have happened," + hero + ",'" + pronoun2 + " rebuked." + sidekick + " always had been a little" + badPersonalityAdj(hi,lo) + ", so" + hero + " knew that reconciliation was not an option;" + pronoun1 + " needed to escape before" + sidekick + " did something crazy, like... start chucking" + smallObjectNoun(hi,lo) + "s at" + specPronoun2 + " or something." + sentenceStarter(hi,lo) + pronoun1 + " gripped" + posPronoun1 + object + " tightly and made a dash toward the window, diving headlong through the glass panels.\n\n" + 

sp +sp +sidekick + " looked on, blankly. 'What the hell?  That seemed excessive.  The other door was open, you know.' Silence from" + hero + ". 'And to think, I varnished that window frame" + smallNumber(hi,lo) + " days ago...it never ends!' Suddenly" + pronoun2 + " felt a tinge of concern for" + hero + ". 'Oh.  You ..okay?' Still silence." + sidekick + " walked over to the window and looked down." + hero + " was gone.\n\n" +

"----o0o---- \n\n" +

sp +sp +sp +"Just yonder," + hero + " was struggling to make" + posPronoun1 + " way through the" + placeNoun(hi,lo) + " behind" + sidekick + "'s place." + hero + " had severely hurt" + posPronoun1 + bodyPartNoun(hi,lo) + " during the window incident, and was starting to lose strength.  Another pack of feral" + animal + "s suddenly appeared, having caught wind of the" + object + ".  One by one they latched on to" + hero + ".  Already weakened from" + posPronoun1 + " injury," + hero + " yielded to the furry onslaught and collapsed.  The last thing" + pronoun1 + " saw before losing consciousness was a buzzing horde of" + animal + "s running off with" + posPronoun1 + object + ".\n\n";



   ending = getEnding(high,low);
   credits = "\n*** L337 Story Generator v1.0\n*** Written by Derek Clark.  Copyright © www.the-elite.net ~ 2004-present\n*** Forever pwning with earnest."

   if ( ending == "unspecified" )
      return false;
   else {
      fadeText();
      return story + ending + credits;
   }



} // END START()


function getEnding(hi,lo) {

   happyEnding = sp + sp + sp + "But then God came down with His" + goodPersonalityAdj(hi,lo) + " smile and restored" + hero + "'s" + object + ". Feeling" + emotionalAdjPT(hi,lo) + ", God smote the" + animal + "s for their injustice.  Then He got in His" + vehicleNoun(hi,lo) + " and" + motionVerbPT(hi,lo) + " away with the fortitude of " + bigNumber(hi,lo) + smallMammalNoun(hi,lo) + " running from a" + sizeAdj(hi,lo) + " pack of" + smallMammalNoun(hi,lo) + "." + hero + activeIntransitiveVerbPT(hi,lo) + " with joy when" + pronoun1 + " saw this." + posPronoun1Capped + object + " was safe. It was a good thing, too, because in" + smallNumber(hi,lo) + " minutes" + posPronoun1 + " favorite TV show, " + tvshow + ", was going to come on (followed immediately by 'When" + smallMammalNoun(hi,lo) + " meet" + controversialNoun(hi,lo) + "')." + hero + " was" + positiveEmotionalAdjPT(hi,lo) + ". And so, everyone except" + sidekick + " and a few" + controversialNoun(hi,lo) + "-toting" + smallMammalNoun(hi,lo) + " lived blissfully happy, forever after.\n\n";

   unhappyEnding = 
sp + sp + sp + "About" + smallNumber(hi,lo) + " hours later," + hero + " awoke," + posPronoun1 + bodyPartNoun(hi,lo) + " throbbing.  It was dark and" + hero + " did not know where" + pronoun1 + " was.  Deep in the" + naturalAdj(hi,lo) + placeNoun(hi,lo) + "," + hero + " was" + quantitativeAdverb(hi,lo) + " lost." + sentenceStarter(hi,lo) + pronoun1 + " remembered that" + posPronoun1 + object + " was taken by the" + animal + "s. But at that point," + pronoun1 + " was just thankful for" + posPronoun1 + " life.  That's when, to" + posPronoun1 + " horror, a" + sizeAdj(hi,lo) + animal + " emerged from the" + placeNoun(hi,lo) + ".  It was the alpha" + animal + "." + hero + " opened" + posPronoun1 + " mouth to scream but was cut short when the" + animal + " sunk its teeth into" + hero + "'s" + bodyPartNoun(hi,lo) + ". With a faint groan, the life escaped from" + hero + "'s lungs, but not before" + pronoun1 + " realized that" + pronoun1 + " was a failure.\n\n" + 

sp + sp + sp + "Less than" + smallNumber(hi,lo) + " miles away," + sidekick + " was entombed by anguish over the loss of the" + object + ".  'MY PRECIOUS!!'" + pronoun2 + " cried, as" + pronoun2 + " reached for a sharpened" + smallObjectNoun(hi,lo) + ".  With a" + actModifyingAdj(hi,lo) + " thrust," + pronoun2 + " buried it deeply into" + posPronoun2 + bodyPartNoun(hi,lo) + ".  As the room began to fade to black," + pronoun2 + " thought about" + hero + "... wishing" + pronoun2 + " had found the courage to tell" + specPronoun1 + " that" + pronoun2 + " loved" + specPronoun1 + ".  But" + pronoun2 + " would die alone that day.  All that remained was the" + object + " that had turned them against each other, ultimately causing their demise.  And as the dew on melancholy sappling branches began to reflect the dawn's reddish glare, all that could be heard was the chilling cry of distant" + animal + "s, desecrating all things sacred to virtuous men, and perpetuating an evil that would reign for centuries to come.  Our heroes would've lived unhappily ever after, but they were too busy being dead.  So, no one lived forever after, the end. :'(\n\n" + "LOLz!!1\n\n";

   flag = "unspecified";
   
   if ( document.storyForm.ending[0].checked == true )
      return happyEnding;
   else if ( document.storyForm.ending[1].checked == true )
      return unhappyEnding;
   else {
      alert( "You must specify an ending type." );
      return flag;
   }
   
} // END GETENDING()



// -------------------- END STORY GEN ----------------------





// ------------------BEGIN WORD FUNCTIONS ------------------



// -------------------- BEGIN PHRASES ----------------------

function sentenceStarter(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " Suddenly,";
   Word[1] = " All of a sudden,";
   Word[2] = " Out of nowhere,";
   Word[3] = " Rather abruptly,";
   Word[4] = " Soon afterward,";
   Word[5] = " A few minutes later,";
   Word[6] = " Without warning,";
   Word[7] = " Unexpectedly,";
   Word[8] = " Subsequently,";
   Word[9] = " Almost immediately,";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " In a blinding moment of misguided bravado,";
   Word[11] = " Before anyone could take off their pants,";
   Word[12] = " Heart filled with earnest fortitude,";
   Word[13] = " Giggling like schoolgirl,";
   Word[14] = " A few freaknasty minutes later,";
   Word[15] = " Ever so extemperaneously,";
   Word[16] = " With fist clenched and teeth gnashed,";
   Word[17] = " Like a drunken sailor at happy hour,";
   Word[18] = " Suddenly inspired by the wise teachings of Confuscious,";
   Word[19] = " Suddenly cheered up by the Hamtaro theme song,";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " As if it really mattered";
   Word[21] = " Just as zero people expected";
   Word[22] = " Duly ecstatic about the looming crises,";
   Word[23] = " A few unfulfilled decades later,";
   Word[24] = " A few unsatisfying minutes later,";
   Word[25] = " In a tragically predictable turn of events,";
   Word[26] = " Absolutely thrilled,";
   Word[27] = " Happy as a frickin' monkey,";
   Word[28] = " Unaware of the bleakness of existence,";
   Word[29] = " Before the all-seeing eyes of a perpetually displeased diety,";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function prepositionalPhrase(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " right next to";
   Word[1] = " nearby";
   Word[2] = " just under";
   Word[3] = " just above";
   Word[4] = " proximate to";
   Word[5] = " far away from";
   Word[6] = " inside";
   Word[7] = " outside";
   Word[8] = " nowhere near";
   Word[9] = " vaguely close to";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " RIGHT next to";
   Word[11] = " exotically proximate to";
   Word[12] = " ridiculously far from";
   Word[13] = " excruciatingly close to";
   Word[14] = " uncomfortably close to";
   Word[15] = " about two saucy furlongs from";
   Word[16] = " alarmingly close to";
   Word[17] = " frighteningly close to";
   Word[18] = " mysteriously distant from";
   Word[19] = " hilariously close to";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " right next to";
   Word[21] = " nearby";
   Word[22] = " just under";
   Word[23] = " wonderfully far from";
   Word[24] = " just perfectly far from";
   Word[25] = " ridiculously unclose to";
   Word[26] = " tragically close to";
   Word[27] = " not remotely close to";
   Word[28] = " vaguely close to";
   Word[29] = " conveniently far from";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}




// -------------------- END PHRASES ----------------------




// -------------------- BEGIN NOUNS ----------------------




function protagonistNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " hero";
   Word[1] = " hero";
   Word[2] = " adventurer";
   Word[3] = " adventurer";
   Word[4] = " star";
   Word[5] = " star";
   Word[6] = " protagonist";
   Word[7] = " protagonist";
   Word[8] = " protagonist";
   Word[9] = " protagonist";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " uber geek";
   Word[11] = " uber geek";
   Word[12] = " adventure-loving...adventurer";
   Word[13] = " adventure-loving...adventurer";
   Word[14] = " (former porn) star";
   Word[15] = " (former porn) star";
   Word[16] = " antagonizing protagonist";
   Word[17] = " antagonizing protagonist";
   Word[18] = " hyphen-happy protagonist";
   Word[19] = " hyphen-happy protagonist";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " predictably heroic hero";
   Word[21] = " predictably heroic hero";
   Word[22] = " overrated adventurer";
   Word[23] = " overrated adventurer";
   Word[24] = " over-heralded star";
   Word[25] = " over-heralded star";
   Word[26] = " predictably heroic protagonist";
   Word[27] = " predictably heroic protagonist";
   Word[28] = " cliche, protagonistic figure";
   Word[29] = " cliche, protagonistic figure";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function vehicleNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " ricer";
   Word[1] = " truck";
   Word[2] = " '82 Corolla";
   Word[3] = " Vette";
   Word[4] = " Viper";
   Word[5] = " Geo Metro";
   Word[6] = " Daewoo";
   Word[7] = " '63 Comet";
   Word[8] = " 5.0 Mustang";
   Word[9] = " Pontiac Aztec";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " spaceship";
   Word[11] = " time machine";
   Word[12] = " homemade car";
   Word[13] = " tricked out go kart";
   Word[14] = " tricycle";
   Word[15] = " amphibious vehicle";
   Word[16] = " neighborhood-terrorizing crotch rocket";
   Word[17] = " pimp fresh, candy-painted 'Lac";
   Word[18] = " curb-jumping ghetto sled (Impala)";
   Word[19] = " magic flying carpet";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " deliciously practical 4-door";
   Word[21] = " best-in-its-so-called-'class' sedan";
   Word[22] = " Jap Trap";
   Word[23] = " rice rocket";
   Word[24] = " hippie-pleasing hybrid vehicle";
   Word[25] = " 'modded' Civic";
   Word[26] = " nappy, busted-out hatchback";
   Word[27] = " wannabe go-fast Civic";
   Word[28] = " noise-polluting import";
   Word[29] = " gas-guzzling, ecology-destroying, tankish SUV";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function personType(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " buddy";
   Word[1] = " acquaintance";
   Word[2] = " best friend";
   Word[3] = " best friend";
   Word[4] = " neighbor";
   Word[5] = " sworn enemy";
   Word[6] = " friend";
   Word[8] = " friend";
   Word[9] = " friend";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " former cellmate";
   Word[11] = " undeclared soulmate";
   Word[12] = " enemy in training";
   Word[13] = " favorite rape victim";
   Word[14] = " favorite Mormon";
   Word[15] = " lover";
   Word[16] = " bed-friend";
   Word[17] = " bed-friend";
   Word[18] = " parole officer";
   Word[19] = " former lay";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " redheaded stepchild of a 'friend'";
   Word[21] = " fundamentalist, guilt-dispensing friend";
   Word[22] = " vicariously jealous friend";
   Word[23] = " so-called friend";
   Word[24] = " so-called friend";
   Word[25] = " overtly elitist, rich friend";
   Word[26] = " annoying neighbor";
   Word[27] = " so-called buddy";
   Word[28] = " so-called best friend";
   Word[29] = " fundamentalist, guilt-dispensing friend";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function smallObjectNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " sock";
   Word[1] = " paper clip";
   Word[2] = " pencil";
   Word[3] = " stapler";
   Word[4] = " spoon";
   Word[5] = " oven mitt";
   Word[6] = " salt shaker";
   Word[7] = " mitten";
   Word[8] = " fork";
   Word[9] = " butterknife";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " banana";
   Word[11] = " gerbil";
   Word[12] = " dangerous oil-soaked rag";
   Word[13] = " ripened avocado";
   Word[14] = " carrot";
   Word[15] = " wolverine";
   Word[16] = " live hand grenade";
   Word[17] = " ninja star";
   Word[18] = " potato";
   Word[19] = " dull pencil";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " banana";
   Word[21] = " gerbil";
   Word[22] = " dangerous oil-soaked rag";
   Word[23] = " ripened avocado";
   Word[24] = " carrot";
   Word[25] = " wolverine";
   Word[26] = " live hand grenade";
   Word[27] = " ninja star";
   Word[28] = " potato";
   Word[29] = " dull pencil";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function largeObjectNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " coffee table";
   Word[1] = " piano";
   Word[2] = " ironing board";
   Word[3] = " television";
   Word[4] = " desk";
   Word[5] = " bed";
   Word[6] = " microwave";
   Word[7] = " couch";
   Word[8] = " hibachi";
   Word[9] = " grandfather clock";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " whale";
   Word[11] = " time machine";
   Word[12] = " rhinocerus";
   Word[13] = " hippopotamus";
   Word[14] = " refrigerator";
   Word[15] = " George Foreman grill";
   Word[16] = " hammock";
   Word[17] = " elephant";
   Word[18] = " canoe";
   Word[19] = " giraffe";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " whale";
   Word[21] = " time machine";
   Word[22] = " rhinocerus";
   Word[23] = " hippopotamus";
   Word[24] = " refrigerator";
   Word[25] = " George Foreman grill";
   Word[26] = " hammock";
   Word[27] = " elephant";
   Word[28] = " canoe";
   Word[29] = " giraffe";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function smallMammalNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " beavers";
   Word[1] = " marmots";
   Word[2] = " hamsters";
   Word[3] = " capybaras";
   Word[4] = " bunnies";
   Word[5] = " otters";
   Word[6] = " kittens";
   Word[7] = " puppies";
   Word[8] = " koalas";
   Word[9] = " wallabies";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " man-eating capybaras";
   Word[11] = " albino cats";
   Word[12] = " 3-legged wallabies";
   Word[13] = " spotted wolf hamsters";
   Word[14] = " long-haired sea monkeys";
   Word[15] = " disease-carrying chipmunks";
   Word[16] = " Indonesian devil cats";
   Word[17] = " legless puppies";
   Word[18] = " venomous koalas";
   Word[19] = " South American hissing sloths";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " man-eating capybaras";
   Word[21] = " albino cats";
   Word[22] = " 3-legged wallabies";
   Word[23] = " spotted wolf hamsters";
   Word[24] = " long-haired sea monkeys";
   Word[25] = " disease-carrying chipmunks";
   Word[26] = " Indonesian devil cats";
   Word[27] = " legless puppies";
   Word[28] = " venomous koalas";
   Word[29] = " South American hissing sloths";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function monoNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " White House";
   Word[1] = " Magna Carta";
   Word[2] = " Pentagon";
   Word[3] = " Declaration of Independence";
   Word[4] = " Great Wall of China";
   Word[5] = " universe";
   Word[6] = " world";
   Word[7] = " Egyptian Pyramids";
   Word[8] = " earth";
   Word[9] = " Leaning Tower of Pisa";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " ALL THINGS";
   Word[11] = " Clark's Super Nintendo";
   Word[12] = " the President's porn collection";
   Word[13] = " www.the-elite.net";
   Word[14] = " the pope's hat";
   Word[15] = " the Vatican";
   Word[16] = " the International Bowling Hall of Fame";
   Word[17] = " the remainder of the ozone layer";
   Word[18] = " Alpha Centauri";
   Word[19] = " Canada";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " moral fabric of society";
   Word[21] = " integrity of humanity";
   Word[22] = " remaining decency of humanity";
   Word[23] = " hope for optimism";
   Word[24] = " future of civilization";
   Word[25] = " ALL THINGS";
   Word[26] = " moral fabric of society";
   Word[27] = " integrity of humanity";
   Word[28] = " Word of God";
   Word[29] = " hope for optimism";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function controversialNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " gun";
   Word[1] = " rusty razor blade";
   Word[2] = " ebola";
   Word[3] = " malaria";
   Word[4] = " hand grenade";
   Word[5] = " unborn fetus";
   Word[6] = " pipe bomb";
   Word[7] = " bloody glove";
   Word[8] = " contraceptive";
   Word[9] = " weapon of mass destruction";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " gun";
   Word[11] = " rusty razor blade";
   Word[12] = " ebola";
   Word[13] = " malaria";
   Word[14] = " hand grenade";
   Word[15] = " unborn fetus";
   Word[16] = " pipe bomb";
   Word[17] = " bloody glove";
   Word[18] = " contraceptive";
   Word[19] = " weapon of mass destruction";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " gun";
   Word[21] = " rusty razor blade";
   Word[22] = " ebola";
   Word[23] = " malaria";
   Word[24] = " hand grenade";
   Word[25] = " unborn fetus";
   Word[26] = " pipe bomb";
   Word[27] = " bloody glove";
   Word[28] = " contraceptive";
   Word[29] = " weapon of mass destruction";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function smallNumber(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " eleven";
   Word[1] = " two";
   Word[2] = " three";
   Word[3] = " four";
   Word[4] = " five";
   Word[5] = " six";
   Word[6] = " seven";
   Word[7] = " eight";
   Word[8] = " nine";
   Word[9] = " ten";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " eleven";
   Word[11] = " two";
   Word[12] = " three";
   Word[13] = " four";
   Word[14] = " five";
   Word[15] = " six";
   Word[16] = " seven";
   Word[17] = " eight";
   Word[18] = " nine";
   Word[19] = " ten";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " eleven";
   Word[21] = " two";
   Word[22] = " three";
   Word[23] = " four";
   Word[24] = " five";
   Word[25] = " six";
   Word[26] = " seven";
   Word[27] = " eight";
   Word[28] = " nine";
   Word[29] = " ten";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function enumeratedNumber(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " first";
   Word[1] = " second";
   Word[2] = " third";
   Word[3] = " fourth";
   Word[4] = " fifth";
   Word[5] = " sixth";
   Word[6] = " seventh";
   Word[7] = " eighth";
   Word[8] = " ninth";
   Word[9] = " tenth";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " first";
   Word[11] = " second";
   Word[12] = " third";
   Word[13] = " fourth";
   Word[14] = " fifth";
   Word[15] = " sixth";
   Word[16] = " seventh";
   Word[17] = " eighth";
   Word[18] = " ninth";
   Word[19] = " tenth";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " first";
   Word[21] = " second";
   Word[22] = " third";
   Word[23] = " fourth";
   Word[24] = " fifth";
   Word[25] = " sixth";
   Word[26] = " seventh";
   Word[27] = " eighth";
   Word[28] = " ninth";
   Word[29] = " tenth";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function bigNumber(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " 20";
   Word[1] = " 61";
   Word[2] = " 153";
   Word[3] = " 2,000";
   Word[4] = " 11,000";
   Word[5] = " 200,000";
   Word[6] = " 550,000";
   Word[7] = " one million";
   Word[8] = " half a million";
   Word[9] = " 1.2 billion";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " 20";
   Word[11] = " 61";
   Word[12] = " 153";
   Word[13] = " 2,000";
   Word[14] = " 11,000";
   Word[15] = " 200,000";
   Word[16] = " 550,000";
   Word[17] = " one million";
   Word[18] = " half a million";
   Word[19] = " 1.2 billion";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " 20";
   Word[21] = " 61";
   Word[22] = " 153";
   Word[23] = " 2,000";
   Word[24] = " 11,000";
   Word[25] = " 200,000";
   Word[26] = " 550,000";
   Word[27] = " one million";
   Word[28] = " half a million";
   Word[29] = " 1.2 billion";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function unitOfTime(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " second";
   Word[1] = " millisecond";
   Word[2] = " nanosecond";
   Word[3] = " minute";
   Word[4] = " hour";
   Word[5] = " microsecond";
   Word[6] = " day";
   Word[7] = " second";
   Word[8] = " minute";
   Word[9] = " nanosecond";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " second";
   Word[11] = " millsecond";
   Word[12] = " nanosecond";
   Word[13] = " minute";
   Word[14] = " hour";
   Word[15] = " microsecond";
   Word[16] = " day";
   Word[17] = " second";
   Word[18] = " minute";
   Word[19] = " nanosecond";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " second";
   Word[21] = " millsecond";
   Word[22] = " nanosecond";
   Word[23] = " minute";
   Word[24] = " hour";
   Word[25] = " microsecond";
   Word[26] = " day";
   Word[27] = " second";
   Word[28] = " minute";
   Word[29] = " nanosecond";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function bodyPartNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " arm";
   Word[1] = " chest";
   Word[2] = " abdomen";
   Word[3] = " foot";
   Word[4] = " neck";
   Word[5] = " face";
   Word[6] = " butt";
   Word[7] = " back";
   Word[8] = " leg";
   Word[9] = " thigh";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " prostate";
   Word[11] = " taint";
   Word[12] = " armpit";
   Word[13] = " shin";
   Word[14] = " ear";
   Word[15] = " double chin";
   Word[16] = " love handle";
   Word[17] = " fingernail";
   Word[18] = " kidney";
   Word[19] = " scalp";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " prostate";
   Word[21] = " taint";
   Word[22] = " armpit";
   Word[23] = " shin";
   Word[24] = " ear";
   Word[25] = " double chin";
   Word[26] = " love handle";
   Word[27] = " fingernail";
   Word[28] = " kidney";
   Word[29] = " scalp";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function storeNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " Wal-Mart";
   Word[1] = " Seven-Eleven";
   Word[2] = " McDonald's";
   Word[3] = " Jim's House of Wings";
   Word[4] = " Big Lots";
   Word[5] = " Egg Roll King";
   Word[6] = " The Salvation Army";
   Word[7] = " IHOP";
   Word[8] = " Sears";
   Word[9] = " Texaco";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " Wal-Mart";
   Word[11] = " Seven-Eleven";
   Word[12] = " McDonald's";
   Word[13] = " Jim's House of Wings";
   Word[14] = " Big Lots";
   Word[15] = " Egg Roll King";
   Word[16] = " The Salvation Army";
   Word[17] = " IHOP";
   Word[18] = " Sears";
   Word[19] = " Texaco";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " Wal-Mart";
   Word[21] = " Seven-Eleven";
   Word[22] = " McDonald's";
   Word[23] = " Jim's House of Wings";
   Word[24] = " Big Lots";
   Word[25] = " Egg Roll King";
   Word[26] = " The Salvation Army";
   Word[27] = " IHOP";
   Word[28] = " Sears";
   Word[29] = " Texaco";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function personalityType(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " genius";
   Word[1] = " jerk";
   Word[2] = " retard";
   Word[3] = " tool";
   Word[4] = " maniac";
   Word[5] = " fiend";
   Word[6] = " zealot";
   Word[7] = " outcast";
   Word[8] = " ass";
   Word[9] = " idiot";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " noble genius";
   Word[11] = " spite-toting jerk";
   Word[12] = " rationality-deprived retard";
   Word[13] = " beer-sloshed tool";
   Word[14] = " genocidal maniac";
   Word[15] = " coke fiend";
   Word[16] = " zealous...zealot";
   Word[17] = " social outcast";
   Word[18] = " self-righteous ass";
   Word[19] = " flaming idiot";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " noble genius";
   Word[21] = " spite-toting jerk";
   Word[22] = " rationality-deprived retard";
   Word[23] = " beer-sloshed tool";
   Word[24] = " genocidal maniac";
   Word[25] = " coke fiend";
   Word[26] = " zealous...zealot";
   Word[27] = " social outcast";
   Word[28] = " self-righteous ass";
   Word[29] = " flaming idiot";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function smokableNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " a cigarette";
   Word[1] = " a cigar";
   Word[2] = " a pipe";
   Word[3] = " a pineapple";
   Word[4] = " a medicinal pipe traditional smoked by the headhunting indigenous people of micronesia";
   Word[5] = " a hearty serving of man pole";
   Word[6] = " a Thanksgiving ham";
   Word[7] = " a pack of cigarettes";
   Word[8] = " four packs of cigarettes";
   Word[9] = " a medicinal pipe";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " cigarette";
   Word[11] = " cigar";
   Word[12] = " pipe";
   Word[13] = " pineapple";
   Word[14] = " medicinal pipe traditional smoked by the headhunting indigenous people of micronesia";
   Word[15] = " hearty serving of man pole";
   Word[16] = " Thanksgiving ham";
   Word[17] = " pack of cigarettes";
   Word[18] = " four packs of cigarettes";
   Word[19] = " medicinal pipe";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " cigarette";
   Word[21] = " cigar";
   Word[22] = " pipe";
   Word[23] = " pineapple";
   Word[24] = " medicinal pipe traditional smoked by the headhunting indigenous people of micronesia";
   Word[25] = " hearty serving of man pole";
   Word[26] = " Thanksgiving ham";
   Word[27] = " pack of cigarettes";
   Word[28] = " four packs of cigarettes";
   Word[29] = " medicinal pipe";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function placeNoun(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " thicket";
   Word[1] = " swamp";
   Word[2] = " moor";
   Word[3] = " forest";
   Word[4] = " desert";
   Word[5] = " pumpkin patch";
   Word[6] = " vineyard";
   Word[7] = " cornfield";
   Word[8] = " jungle";
   Word[9] = " bush";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " haunted thicket";
   Word[11] = " swamp";
   Word[12] = " lemur-infested moor";
   Word[13] = " foxy forest";
   Word[14] = " imaginery desert";
   Word[15] = " fanstic pumpkin patch";
   Word[16] = " secret vineyard";
   Word[17] = " magical cornfield";
   Word[18] = " disease-infested jungle";
   Word[19] = " bush";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " haunted thicket";
   Word[21] = " swamp";
   Word[22] = " lemur-infested moor";
   Word[23] = " foxy forest";
   Word[24] = " imaginery desert";
   Word[25] = " fanstic pumpkin patch";
   Word[26] = " secret vineyard";
   Word[27] = " magical cornfield";
   Word[28] = " disease-infested jungle";
   Word[29] = " bush";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}




// -------------------- END NOUNS ----------------------




// -------------------- BEGIN VERBS ----------------------




function activeTransitiveVerbPT(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " attacked";
   Word[1] = " hit";
   Word[2] = " punched";
   Word[3] = " deflowered";
   Word[4] = " grabbed";
   Word[5] = " groped";
   Word[6] = " poked";
   Word[7] = " slapped";
   Word[8] = " backhanded";
   Word[9] = " stroked";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " attacked";
   Word[11] = " hit";
   Word[12] = " punched";
   Word[13] = " deflowered";
   Word[14] = " grabbed";
   Word[15] = " groped";
   Word[16] = " poked";
   Word[17] = " slapped";
   Word[18] = " backhanded";
   Word[19] = " stroked";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " attacked";
   Word[21] = " hit";
   Word[22] = " punched";
   Word[23] = " deflowered";
   Word[24] = " grabbed";
   Word[25] = " groped";
   Word[26] = " poked";
   Word[27] = " slapped";
   Word[28] = " backhanded";
   Word[29] = " stroked";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function presentActiveTransitiveVerb(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " attacking";
   Word[1] = " hitting";
   Word[2] = " punching";
   Word[3] = " deflowering";
   Word[4] = " grabbing";
   Word[5] = " groping";
   Word[6] = " poking";
   Word[7] = " slapping";
   Word[8] = " backhanding";
   Word[9] = " stroking";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " attacking";
   Word[11] = " hitting";
   Word[12] = " punching";
   Word[13] = " deflowering";
   Word[14] = " grabbing";
   Word[15] = " groping";
   Word[16] = " poking";
   Word[17] = " slapping";
   Word[18] = " backhanding";
   Word[19] = " stroking";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " attacking";
   Word[21] = " hitting";
   Word[22] = " punching";
   Word[23] = " deflowering";
   Word[24] = " grabbing";
   Word[25] = " groping";
   Word[26] = " poking";
   Word[27] = " slapping";
   Word[28] = " backhanding";
   Word[29] = " stroking";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function presentPassiveTransitiveVerb(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " shaving";
   Word[1] = " grooming";
   Word[2] = " admonishing";
   Word[3] = " doubting";
   Word[4] = " desecrating";
   Word[5] = " mocking";
   Word[6] = " aggravating";
   Word[7] = " shunning";
   Word[8] = " protecting";
   Word[9] = " judging";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " shaving";
   Word[11] = " grooming";
   Word[12] = " admonishing";
   Word[13] = " doubting";
   Word[14] = " desecrating";
   Word[15] = " mocking";
   Word[16] = " aggravating";
   Word[17] = " shunning";
   Word[18] = " protecting";
   Word[19] = " judging";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " shaving";
   Word[21] = " grooming";
   Word[22] = " admonishing";
   Word[23] = " doubting";
   Word[24] = " desecrating";
   Word[25] = " mocking";
   Word[26] = " aggravating";
   Word[27] = " shunning";
   Word[28] = " protecting";
   Word[29] = " judging";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}



function passiveTransitiveVerb(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " shave";
   Word[1] = " groom";
   Word[2] = " admonish";
   Word[3] = " doubtg";
   Word[4] = " desecrate";
   Word[5] = " mock";
   Word[6] = " aggravate";
   Word[7] = " shun";
   Word[8] = " protect";
   Word[9] = " judge";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " shave";
   Word[11] = " groom";
   Word[12] = " admonish";
   Word[13] = " doubtg";
   Word[14] = " desecrate";
   Word[15] = " mock";
   Word[16] = " aggravate";
   Word[17] = " shun";
   Word[18] = " protect";
   Word[19] = " judge";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " shave";
   Word[21] = " groom";
   Word[22] = " admonish";
   Word[23] = " doubtg";
   Word[24] = " desecrate";
   Word[25] = " mock";
   Word[26] = " aggravate";
   Word[27] = " shun";
   Word[28] = " protect";
   Word[29] = " judge";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function passiveIntransitiveVerbPT(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " panicked";
   Word[1] = " yawned";
   Word[2] = " cringed";
   Word[3] = " shuddered";
   Word[4] = " sneezed";
   Word[5] = " turned red";
   Word[6] = " belched";
   Word[7] = " sighed";
   Word[8] = " yawned";
   Word[9] = " grimaced";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " panicked";
   Word[11] = " yawned";
   Word[12] = " cringed";
   Word[13] = " shuddered";
   Word[14] = " sneezed";
   Word[15] = " turned red";
   Word[16] = " belched";
   Word[17] = " sighed";
   Word[18] = " yawned";
   Word[19] = " grimaced";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " panicked";
   Word[21] = " yawned";
   Word[22] = " cringed";
   Word[23] = " shuddered";
   Word[24] = " sneezed";
   Word[25] = " turned red";
   Word[26] = " belched";
   Word[27] = " sighed";
   Word[28] = " yawned";
   Word[29] = " grimaced";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function passiveIntransitiveVerb(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " panic";
   Word[1] = " yawn";
   Word[2] = " cringe";
   Word[3] = " shudder";
   Word[4] = " sneeze";
   Word[5] = " turn red";
   Word[6] = " belch";
   Word[7] = " sigh";
   Word[8] = " yawn";
   Word[9] = " grimace";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " panic";
   Word[11] = " yawn";
   Word[12] = " cringe";
   Word[13] = " shudder";
   Word[14] = " sneeze";
   Word[15] = " turn red";
   Word[16] = " belch";
   Word[17] = " sigh";
   Word[18] = " yawn";
   Word[19] = " grimace";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " panic";
   Word[21] = " yawn";
   Word[22] = " cringe";
   Word[23] = " shudder";
   Word[24] = " sneeze";
   Word[25] = " turn red";
   Word[26] = " belch";
   Word[27] = " sigh";
   Word[28] = " yawn";
   Word[29] = " grimace";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}



function activeIntransitiveVerbPT(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " jumped";
   Word[1] = " ran";
   Word[2] = " skipped";
   Word[3] = " flipped";
   Word[4] = " fell";
   Word[5] = " tripped";
   Word[6] = " stumbled";
   Word[7] = " vomited";
   Word[8] = " danced";
   Word[9] = " shimmied";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " jumped";
   Word[11] = " ran";
   Word[12] = " skipped";
   Word[13] = " flipped";
   Word[14] = " fell";
   Word[15] = " tripped";
   Word[16] = " stumbled";
   Word[17] = " vomited";
   Word[18] = " danced";
   Word[19] = " shimmied";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " jumped";
   Word[21] = " ran";
   Word[22] = " skipped";
   Word[23] = " flipped";
   Word[24] = " fell";
   Word[25] = " tripped";
   Word[26] = " stumbled";
   Word[27] = " vomited";
   Word[28] = " danced";
   Word[29] = " shimmied";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function motionVerbPT(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " sped";
   Word[1] = " zipped";
   Word[2] = " jettisoned";
   Word[3] = " blasted";
   Word[4] = " jetted";
   Word[5] = " sputtered";
   Word[6] = " dashed";
   Word[7] = " whizzed";
   Word[8] = " bolted";
   Word[9] = " darted";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " sped";
   Word[11] = " zipped";
   Word[12] = " jettisoned";
   Word[13] = " blasted";
   Word[14] = " jetted";
   Word[15] = " sputtered";
   Word[16] = " dashed";
   Word[17] = " whizzed";
   Word[18] = " bolted";
   Word[19] = " darted";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " sped";
   Word[21] = " zipped";
   Word[22] = " jettisoned";
   Word[23] = " blasted";
   Word[24] = " jetted";
   Word[25] = " sputtered";
   Word[26] = " dashed";
   Word[27] = " whizzed";
   Word[28] = " bolted";
   Word[29] = " darted";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}




// -------------------- END VERBS ----------------------




// -------------------- BEGIN ADVERBS ----------------------




function quantitativeAdverb(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " very";
   Word[1] = " excessively";
   Word[2] = " really";
   Word[3] = " abnormally";
   Word[4] = " abundantly";
   Word[5] = " ridiculously";
   Word[6] = " alarmingly";
   Word[7] = " exceedingly";
   Word[8] = " overwhelmingly";
   Word[9] = " extraordinarily";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " very";
   Word[11] = " excessively";
   Word[12] = " really";
   Word[13] = " abnormally";
   Word[14] = " abundantly";
   Word[15] = " ridiculously";
   Word[16] = " alarmingly";
   Word[17] = " exceedingly";
   Word[18] = " barely";
   Word[19] = " scarcely";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " very";
   Word[21] = " excessively";
   Word[22] = " really";
   Word[23] = " abnormally";
   Word[24] = " abundantly";
   Word[25] = " ridiculously";
   Word[26] = " alarmingly";
   Word[27] = " exceedingly";
   Word[28] = " barely";
   Word[29] = " scarcely";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function verbModifyingAdverbVIVID(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " sassily";
   Word[1] = " scandalously";
   Word[2] = " earnestly";
   Word[3] = " flamboyantly";
   Word[4] = " exotically";
   Word[5] = " charismatically";
   Word[6] = " explosively";
   Word[7] = " wildly";
   Word[8] = " indiscriminately";
   Word[9] = " surreptitiously";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " sassily";
   Word[11] = " scandalously";
   Word[12] = " earnestly";
   Word[13] = " flamboyantly";
   Word[14] = " exotically";
   Word[15] = " charismatically";
   Word[16] = " explosively";
   Word[17] = " wildly";
   Word[18] = " indiscriminately";
   Word[19] = " surreptitiously";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " sassily";
   Word[21] = " scandalously";
   Word[22] = " earnestly";
   Word[23] = " flamboyantly";
   Word[24] = " exotically";
   Word[25] = " charismatically";
   Word[26] = " explosively";
   Word[27] = " wildly";
   Word[28] = " indiscriminately";
   Word[29] = " surreptitiously";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function verbModifyingAdverb(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " aptly";
   Word[1] = " skillfully";
   Word[2] = " aggressively";
   Word[3] = " carefully";
   Word[4] = " thoughtfully";
   Word[5] = " recklessly";
   Word[6] = " fearlessly";
   Word[7] = " aimlessly";
   Word[8] = " deftly";
   Word[9] = " randomly";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " aptly";
   Word[11] = " skillfully";
   Word[12] = " aggressively";
   Word[13] = " carefully";
   Word[14] = " thoughtfully";
   Word[15] = " recklessly";
   Word[16] = " fearlessly";
   Word[17] = " aimlessly";
   Word[18] = " deftly";
   Word[19] = " randomly";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " aptly";
   Word[21] = " skillfully";
   Word[22] = " aggressively";
   Word[23] = " carefully";
   Word[24] = " thoughtfully";
   Word[25] = " recklessly";
   Word[26] = " fearlessly";
   Word[27] = " aimlessly";
   Word[28] = " deftly";
   Word[29] = " randomly";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}




// -------------------- END ADVERBS ----------------------




// -------------------- BEGIN ADJECTIVES ----------------------




function vividAdj(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " saucy";
   Word[1] = " sassy";
   Word[2] = " enchanting";
   Word[3] = " enticing";
   Word[4] = " curious";
   Word[5] = " electric";
   Word[6] = " exotic";
   Word[7] = " eccentric";
   Word[8] = " flamboyant";
   Word[9] = " striking";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " saucy";
   Word[11] = " sassy";
   Word[12] = " enchanting";
   Word[13] = " enticing";
   Word[14] = " curious";
   Word[15] = " electric";
   Word[16] = " exotic";
   Word[17] = " eccentric";
   Word[18] = " flamboyant";
   Word[19] = " striking";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " saucy";
   Word[21] = " sassy";
   Word[22] = " enchanting";
   Word[23] = " enticing";
   Word[24] = " curious";
   Word[25] = " electric";
   Word[26] = " exotic";
   Word[27] = " eccentric";
   Word[28] = " flamboyant";
   Word[29] = " striking";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function actModifyingAdj(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " skillful";
   Word[1] = " apt";
   Word[2] = " deft";
   Word[3] = " hasty";
   Word[4] = " careful";
   Word[5] = " quick";
   Word[6] = " calculated";
   Word[7] = " heroic";
   Word[8] = " mighty";
   Word[9] = " inept";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " skillful";
   Word[11] = " apt";
   Word[12] = " deft";
   Word[13] = " hasty";
   Word[14] = " careful";
   Word[15] = " quick";
   Word[16] = " calculated";
   Word[17] = " heroic";
   Word[18] = " mighty";
   Word[19] = " inept";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " skillful";
   Word[21] = " apt";
   Word[22] = " deft";
   Word[23] = " hasty";
   Word[24] = " careful";
   Word[25] = " quick";
   Word[26] = " calculated";
   Word[27] = " heroic";
   Word[28] = " mighty";
   Word[29] = " inept";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function sizeAdj(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " big";
   Word[1] = " little";
   Word[2] = " huge";
   Word[3] = " enormous";
   Word[4] = " oversized";
   Word[5] = " misshapen";
   Word[6] = " enlarged";
   Word[7] = " shrunken";
   Word[8] = " teensy";
   Word[9] = " bloated";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " big";
   Word[11] = " little";
   Word[12] = " huge";
   Word[13] = " enormous";
   Word[14] = " oversized";
   Word[15] = " misshapen";
   Word[16] = " enlarged";
   Word[17] = " shrunken";
   Word[18] = " teensy";
   Word[19] = " bloated";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " big";
   Word[21] = " little";
   Word[22] = " huge";
   Word[23] = " enormous";
   Word[24] = " oversized";
   Word[25] = " misshapen";
   Word[26] = " enlarged";
   Word[27] = " shrunken";
   Word[28] = " teensy";
   Word[29] = " bloated";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function naturalAdj(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " muddy";
   Word[1] = " arid";
   Word[2] = " humid";
   Word[3] = " mysterious";
   Word[4] = " enchanting";
   Word[5] = " broad";
   Word[6] = " inhospitable";
   Word[7] = " hazy";
   Word[8] = " lonely";
   Word[9] = " uninhabited";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " muddy";
   Word[11] = " arid";
   Word[12] = " humid";
   Word[13] = " mysterious";
   Word[14] = " enchanting";
   Word[15] = " broad";
   Word[16] = " inhospitable";
   Word[17] = " hazy";
   Word[18] = " lonely";
   Word[19] = " uninhabited";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " muddy";
   Word[21] = " arid";
   Word[22] = " humid";
   Word[23] = " mysterious";
   Word[24] = " enchanting";
   Word[25] = " broad";
   Word[26] = " inhospitable";
   Word[27] = " hazy";
   Word[28] = " lonely";
   Word[29] = " uninhabited";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function goodPersonalityAdj(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " clever";
   Word[1] = " smart";
   Word[2] = " plucky";
   Word[3] = " intelligent";
   Word[4] = " charismatic";
   Word[5] = " attractive";
   Word[6] = " outgoing";
   Word[7] = " easygoing";
   Word[8] = " ingenious";
   Word[9] = " congenial";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " clever";
   Word[11] = " smart";
   Word[12] = " plucky";
   Word[13] = " intelligent";
   Word[14] = " charismatic";
   Word[15] = " attractive";
   Word[16] = " outgoing";
   Word[17] = " easygoing";
   Word[18] = " ingenious";
   Word[19] = " congenial";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " clever";
   Word[21] = " smart";
   Word[22] = " plucky";
   Word[23] = " intelligent";
   Word[24] = " charismatic";
   Word[25] = " attractive";
   Word[26] = " outgoing";
   Word[27] = " easygoing";
   Word[28] = " ingenious";
   Word[29] = " congenial";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function badPersonalityAdj(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " annoying";
   Word[1] = " pestering";
   Word[2] = " clueless";
   Word[3] = " insensitive";
   Word[4] = " selfish";
   Word[5] = " oafish";
   Word[6] = " abrasive";
   Word[7] = " stupid";
   Word[8] = " dimwitted";
   Word[9] = " funny-smelling";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " annoying";
   Word[11] = " pestering";
   Word[12] = " clueless";
   Word[13] = " insensitive";
   Word[14] = " selfish";
   Word[15] = " oafish";
   Word[16] = " abrasive";
   Word[17] = " stupid";
   Word[18] = " dimwitted";
   Word[19] = " funny-smelling";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " annoying";
   Word[21] = " pestering";
   Word[22] = " clueless";
   Word[23] = " insensitive";
   Word[24] = " selfish";
   Word[25] = " oafish";
   Word[26] = " abrasive";
   Word[27] = " stupid";
   Word[28] = " dimwitted";
   Word[29] = " funny-smelling";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function situationalAdj(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " moot";
   Word[1] = " moot";
   Word[2] = " moot";
   Word[3] = " moot";
   Word[4] = " trivial";
   Word[5] = " trivial";
   Word[6] = " trivial";
   Word[7] = " irrelevant";
   Word[8] = " irrelevant";
   Word[9] = " irrelevant";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " moot";
   Word[11] = " moot";
   Word[12] = " moot";
   Word[13] = " moot";
   Word[14] = " trivial";
   Word[15] = " trivial";
   Word[16] = " trivial";
   Word[17] = " irrelevant";
   Word[18] = " irrelevant";
   Word[19] = " irrelevant";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " moot";
   Word[21] = " moot";
   Word[22] = " moot";
   Word[23] = " moot";
   Word[24] = " trivial";
   Word[25] = " trivial";
   Word[26] = " trivial";
   Word[27] = " irrelevant";
   Word[28] = " irrelevant";
   Word[29] = " irrelevant";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function emotionalAdj(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " angry";
   Word[1] = " happy";
   Word[2] = " sad";
   Word[3] = " mad";
   Word[4] = " glad";
   Word[5] = " nervous";
   Word[6] = " unctuous";
   Word[7] = " unhappy";
   Word[8] = " calm";
   Word[9] = " ecstatic";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " angry";
   Word[11] = " happy";
   Word[12] = " sad";
   Word[13] = " mad";
   Word[14] = " glad";
   Word[15] = " nervous";
   Word[16] = " unctuous";
   Word[17] = " unhappy";
   Word[18] = " calm";
   Word[19] = " ecstatic";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " angry";
   Word[21] = " happy";
   Word[22] = " sad";
   Word[23] = " mad";
   Word[24] = " glad";
   Word[25] = " nervous";
   Word[26] = " unctuous";
   Word[27] = " unhappy";
   Word[28] = " calm";
   Word[29] = " ecstatic";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function emotionalAdjPT(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " pleased";
   Word[1] = " displeased";
   Word[2] = " concerned";
   Word[3] = " frustrated";
   Word[4] = " worried";
   Word[5] = " puzzled";
   Word[6] = " angered";
   Word[7] = " relieved";
   Word[8] = " exasperated";
   Word[9] = " stunned";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " pleased";
   Word[11] = " displeased";
   Word[12] = " concerned";
   Word[13] = " frustrated";
   Word[14] = " worried";
   Word[15] = " puzzled";
   Word[16] = " angered";
   Word[17] = " relieved";
   Word[18] = " exasperated";
   Word[19] = " stunned";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " pleased";
   Word[21] = " displeased";
   Word[22] = " concerned";
   Word[23] = " frustrated";
   Word[24] = " worried";
   Word[25] = " puzzled";
   Word[26] = " angered";
   Word[27] = " relieved";
   Word[28] = " exasperated";
   Word[29] = " stunned";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}


function positiveEmotionalAdjPT(hi,lo) {

   var range = 0;
   var index = 0;
   var Word = new Array(30);
   
   // 0-9: DEFAULT VALUES
   Word[0] = " pleased";
   Word[1] = " thrilled";
   Word[2] = " giddy";
   Word[3] = " relieved";
   Word[4] = " elated";
   Word[5] = " excited";
   Word[6] = " ecstatic";
   Word[7] = " contented";
   Word[8] = " jubilant";
   Word[9] = " overjoyed";
   
   // 10-19: EXTREMELY RANDOM VALUES
   Word[10] = " pleased";
   Word[11] = " thrilled";
   Word[12] = " giddy";
   Word[13] = " relieved";
   Word[14] = " elated";
   Word[15] = " excited";
   Word[16] = " ecstatic";
   Word[17] = " contented";
   Word[18] = " jubilant";
   Word[19] = " overjoyed";
   
   // 20-29: SARCASTIC VALUES
   Word[20] = " pleased";
   Word[21] = " thrilled";
   Word[22] = " giddy";
   Word[23] = " relieved";
   Word[24] = " elated";
   Word[25] = " excited";
   Word[26] = " ecstatic";
   Word[27] = " contented";
   Word[28] = " jubilant";
   Word[29] = " overjoyed";
   
   // RANDOM WORD SELECTION
   range = (hi - lo) + 1; // number of array elements eligible for selection
   index = lo + Math.floor(range * Math.random());
   return Word[index];
   
}



// -------------------- END ADJECTIVES ----------------------




// -------------------END WORD FUNCTIONS --------------------




// DOCUMENT CREATED BY DEREK CLARK - DEREKCLARK@GMAIL.COM ---
