// Letter.cpp
// stores words for each letter

#include "letter.h"
#include "htmlwriter.h"

// Constructor for Letter object, assigns passed var to name
Letter::Letter(char cname){
		assignName(cname);
}

// adds URL info to the appropriate word
int Letter::tally(string word, string URL, string description){
		words.addGet(word)->addURL(URL, description);
		return 1;
}

// ouputs a page for the letter and then calls print on all word objects
void Letter::print( string outputDIR){
		string name = "";
		name += this->getName();
		HTMLWriter letterPage;
		letterPage.open(outputDIR+name+".html");
		letterPage.header("Results for '"+name+"'");
		WordList *traverser = &words;					// temporary word object to cycle through loop
		while (traverser != NULL) {						// while still elements in words, call print on them
			letterPage.bodyText("");
			letterPage.link(traverser->getName(),traverser->getName()+".html");
			traverser = traverser->getNext();
		}
		delete traverser;
		letterPage.footer();
		letterPage.close();
		words.rprint(outputDIR);	
}

// returns name
char Letter::getName(){
		return name;
}

// changes name
int Letter::assignName( char newname ) {
		name= newname;
}

void Letter::testWord() {
	words.testList();
}
