function buildDocTree() {
	treeHeight = frameHeight - 10;
	documentWidth = frameWidth - 280;
	tocMax = 130;
        var bookList = $(document.createElement('div')).attr('id','bookLoad');
	bookList.addClass('bookPanel');
	var blCss = { 'height' : treeHeight + 'px' };
	bookList.css(blCss);
	bookList.appendTo('#sideP0');
	var docViewer = $(document.createElement('div')).attr('id','documentViewer');
	docViewer.addClass('docCanvas');
	var dvCss = { 'width' : documentWidth , 'height' : treeHeight + 'px' };
	docViewer.css(dvCss);
	docViewer.appendTo('#sideP0');
	refEmpty = false;
	documentTreeSetup();
	coreGames();
	technical();
	handbooks();
	manuals();
	supplementals();
	equipmentRef();
	narratives();
	novelList();
	$("#documentTree").treeview({
                animated: "fast",
                collapsed: true
        });
	$("span.file", "#documentTree li").click(function() {
                currentChapter = 0;
                getBookContents($(this).text());
        });
	buildDocumentHeader();
}
function getBookContents(str) {
        $("#tocDiv").animate({height: tocMax}, 100); docToc = "open";
        docUrl = "assets/xml/" + str + ".xml";
        $.ajax({ type: "GET", url: docUrl, dataType: "xml", success: parseXml });
}
function documentTreeSetup() {
	var docTree = $(document.createElement('ul')).attr('id','documentTree');
	docTree.addClass('filetree');
	docTree.appendTo('#bookLoad');
}
function coreGames() {
	coreList = new Array("BattleTech","MechWarrior","CityTech","AeroTech","BattleForce","BattleTroops","ClanTroops","BattleSpace");
        corePic = new Array("1604","1607","1608","1609","1611","1637","1664","1680");
	var coreLI = $(document.createElement('li')).attr('id','coreLi');
	coreLI.appendTo('#documentTree');
	var coreSpan = $(document.createElement('span'));
	coreSpan.html('Core Game Systems');
	coreSpan.addClass('folder');
	coreSpan.appendTo('#coreLi');
	var coreUL = $(document.createElement('ul')).attr('id','coreUl');
	coreUL.appendTo('#coreLi');
	for(var i=0,len=coreList.length; value=coreList[i], i<len; i++) {
		var gameName = "gameLi" + i;
		var coreItem = $(document.createElement('li')).attr('id',gameName);
		coreItem.appendTo('#coreUl');
		var coreTag = $(document.createElement('span'));
		coreTag.addClass('file');
		var tagImg = "url(assets/images/bookCovers/" + corePic[i] + ".gif) 0 0 no-repeat";
		var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
		coreTag.css(tagCss);
		coreTag.html(value);
		coreTag.appendTo('#gameLi'+i);
	}
}
function technical() {
	techList = new Array("2750","3025","3026","3039","3050","3055","3057","3058","3060","3067","3075","Project Phoenix","Vehicles Annex","Davion XTRO","Kurita XTRO","Liao XTRO","Marik XTRO","Steiner XTRO","Pirates XTRO","Boondocks XTRO","Primitives XTRO");
        techPic = new Array("2750","3025","3026","3039","3050","3055","3057","3058","3060","3067","3075","Phoenix","Vehicles","Davion","Kurita","Liao","Marik","Steiner","Pirates","Boondocks","Primitives");
	var techLI = $(document.createElement('li')).attr('id','techLi');
        techLI.appendTo('#documentTree');
        var techSpan = $(document.createElement('span'));
        techSpan.html('Technical Readouts');
        techSpan.addClass('folder');
        techSpan.appendTo('#techLi');
        var techUL = $(document.createElement('ul')).attr('id','techUl');
        techUL.appendTo('#techLi');
	for(var i=0,len=techList.length; value=techList[i], i<len; i++) {
		var techName = "techLi" + i;
                var techItem = $(document.createElement('li')).attr('id',techName);
                techItem.appendTo('#techUl');
                var techTag = $(document.createElement('span'));
                techTag.addClass('file');
                var tagImg = "url(assets/images/bookCovers/" + techPic[i] + ".gif) 0 0 no-repeat";
                var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                techTag.css(tagCss);
		techTag.html(value);
                techTag.appendTo('#techLi'+i);
        }
}
function handbooks() {
	handbookList = new Array("Mercenary's Handbook","House Kurita: The Draconis Combine","House Steiner: The Lyran Commonwealth","House Marik: The Free Worlds League","House Davion: The Federated Suns","House Liao: The Capellan Confederation","Wolf Clan Sourcebook","Jade Falcon Sourcebook","Comstar","Mercenaries Handbook: 3055","Interstellar Players Handbook");
        handbookPic = new Array("mercHandbook","kuritaHandbook","steinerHandbook","marikHandbook","davionHandbook","liaoHandbook","wolfHandbook","falconHandbook","comstarHandbook","merc3055Handbook","interstellarHandbook");
	var handbookLI = $(document.createElement('li')).attr('id','handbookLi');
        handbookLI.appendTo('#documentTree');
        var handbookSpan = $(document.createElement('span'));
        handbookSpan.html('Handbooks');
        handbookSpan.addClass('folder');
        handbookSpan.appendTo('#handbookLi');
        var handbookUL = $(document.createElement('ul')).attr('id','handbookUl');
        handbookUL.appendTo('#handbookLi');
        for(var i=0,len=handbookList.length; value=handbookList[i], i<len; i++) {
                var handbookName = "handbookLi" + i;
                var handbookItem = $(document.createElement('li')).attr('id',handbookName);
                handbookItem.appendTo('#handbookUl');
                var handbookTag = $(document.createElement('span'));
                handbookTag.addClass('file');
                var tagImg = "url(assets/images/bookCovers/" + techPic[i] + ".gif) 0 0 no-repeat";
                var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                handbookTag.css(tagCss);
                handbookTag.html(value);
                handbookTag.appendTo('#handbookLi'+i);
        }
}
function manuals() {
	manualList = new Array("Draconis Combine","Free Worlds League","Capellan Confederation","Federated Suns","Lyran Alliance","Comstar","The Inner Sphere","The Periphery","Mercenaries","Invading Clans","Crusader Clans","Warden Clans","Wolf's Dragoons","Field Operations","Field Manual Updates");
        manualPic = new Array("draconisManual","fwlManual","capellanManual","sunsManual","lyranManual","comstarManual","sphereManual","peripheryManual","mercenariesManual","invadingManual","crusaderManual","wardenManual","dragoonManual","fieldOpManual","updateManual");
	var manualLI = $(document.createElement('li')).attr('id','manualLi');
        manualLI.appendTo('#documentTree');
        var manualSpan = $(document.createElement('span'));
        manualSpan.html('Field Manuals');
        manualSpan.addClass('folder');
        manualSpan.appendTo('#manualLi');
        var manualUL = $(document.createElement('ul')).attr('id','manualUl');
        manualUL.appendTo('#manualLi');
        for(var i=0,len=manualList.length; value=manualList[i], i<len; i++) {
                var manualName = "manualLi" + i;
                var manualItem = $(document.createElement('li')).attr('id',manualName);
                manualItem.appendTo('#manualUl');
                var manualTag = $(document.createElement('span'));
                manualTag.addClass('file');
                var tagImg = "url(assets/images/bookCovers/" + techPic[i] + ".gif) 0 0 no-repeat";
                var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                manualTag.css(tagCss);
                manualTag.html(value);
                manualTag.appendTo('#manualLi'+i);
        }
}
function supplementals() {
	supplementalList = new Array("Empty");
        supplementalPic = new Array("Empty");
        magazineList = new Array("Issue 0101","Issue 0102");
        magPic = new Array("mag0101","mag0102");
        novaList = new Array("2101 - Shadow Hawk","2102 - Griffin","2103 - Wasp","2104 - Warhammer","2105 - Locust","2106 - Rifleman");
        novaPic = new Array("nova1","nova2","nova3","nova4","nova5","nova6");
	var supplementalLI = $(document.createElement('li')).attr('id','supplementalLi');
        supplementalLI.appendTo('#documentTree');
        var supplementalSpan = $(document.createElement('span'));
        supplementalSpan.html('Supplemental Documents');
        supplementalSpan.addClass('folder');
        supplementalSpan.appendTo('#supplementalLi');
        var supplementalUL = $(document.createElement('ul')).attr('id','supplementalUl');
        supplementalUL.appendTo('#supplementalLi');
		var magLI = $(document.createElement('li')).attr('id','magLi');
        	magLI.appendTo('#supplementalUl');
        	var magSpan = $(document.createElement('span'));
        	magSpan.html('BattleTechnology Magazine');
        	magSpan.addClass('folder');
        	magSpan.appendTo('#magLi');
        	var magUL = $(document.createElement('ul')).attr('id','magUl');
        	magUL.appendTo('#magLi');
		for(var i=0,len=magazineList.length; value=magazineList[i], i<len; i++) {
			var magName = "magLi" + i;
                	var magItem = $(document.createElement('li')).attr('id',magName);
                	magItem.appendTo('#magUl');
                	var magTag = $(document.createElement('span'));
                	magTag.addClass('file');
			var tagImg = "url(assets/images/bookCovers/" + magPic[i] + ".png) 0 0 no-repeat";
                	var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                	magTag.css(tagCss);
                	magTag.html(value);
                	magTag.appendTo('#magLi'+i);
		}
		var novaLI = $(document.createElement('li')).attr('id','novaLi');
                novaLI.appendTo('#supplementalUl');
                var novaSpan = $(document.createElement('span'));
                novaSpan.html('Nova Combat Books');
                novaSpan.addClass('folder');
                novaSpan.appendTo('#novaLi');
                var novaUL = $(document.createElement('ul')).attr('id','novaUl');
                novaUL.appendTo('#novaLi');
                for(var i=0,len=novaList.length; value=novaList[i], i<len; i++) {
                        var novaName = "novaLi" + i;
                        var novaItem = $(document.createElement('li')).attr('id',novaName);
                        novaItem.appendTo('#novaUl');
                        var novaTag = $(document.createElement('span'));
                        novaTag.addClass('file');
                        var tagImg = "url(assets/images/bookCovers/" + novaPic[i] + ".png) 0 0 no-repeat";
                        var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                        novaTag.css(tagCss);
                        novaTag.html(value);
                        novaTag.appendTo('#novaLi'+i);
                }
	for(var i=0,len=supplementalList.length; value=supplementalList[i], i<len; i++) {
                var supplementalName = "supplementalLi" + i;
                var supplementalItem = $(document.createElement('li')).attr('id',supplementalName);
                supplementalItem.appendTo('#supplementalUl');
                var supplementalTag = $(document.createElement('span'));
                supplementalTag.addClass('file');
                var tagImg = "url(assets/images/bookCovers/" + supplementalPic[i] + ".png) 0 0 no-repeat";
                var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                supplementalTag.css(tagCss);
                supplementalTag.html(value);
                supplementalTag.appendTo('#supplementalLi'+i);
        }
}
function equipmentRef() {
	equipmentList = new Array("LRM Rack","Swarm LRMs","SRM Pack","Streak SRMs");
	equipmentPic = new Array("LRMRack","SwarmLRMRack","SRMPack","StreakSRMPack");
	var equipmentLI = $(document.createElement('li')).attr('id','equipmentLi');
        equipmentLI.appendTo('#documentTree');
        var equipmentSpan = $(document.createElement('span'));
        equipmentSpan.html('Equipment Reference');
        equipmentSpan.addClass('folder');
        equipmentSpan.appendTo('#equipmentLi');
        var equipmentUL = $(document.createElement('ul')).attr('id','equipmentUl');
        equipmentUL.appendTo('#equipmentLi');
        for(var i=0,len=equipmentList.length; value=equipmentList[i], i<len; i++) {
                var equipmentName = "equipmentLi" + i;
                var equipmentItem = $(document.createElement('li')).attr('id',equipmentName);
                equipmentItem.appendTo('#equipmentUl');
                var equipmentTag = $(document.createElement('span'));
                equipmentTag.addClass('file');
                var tagImg = "url(assets/images/bookCovers/" + equipmentPic[i] + ".png) 0 0 no-repeat";
                var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                equipmentTag.css(tagCss);
                equipmentTag.html(value);
                equipmentTag.appendTo('#equipmentLi'+i);
        }
}
function narratives() {
	narrativeList = new Array("A Time of War","A History of Human Space","By The Numbers");
	narrativePic = new Array("empty","empty","empty");
	var narrativeLI = $(document.createElement('li')).attr('id','narrativeLi');
        narrativeLI.appendTo('#documentTree');
        var narrativeSpan = $(document.createElement('span'));
        narrativeSpan.html('Narratives');
        narrativeSpan.addClass('folder');
        narrativeSpan.appendTo('#narrativeLi');
        var narrativeUL = $(document.createElement('ul')).attr('id','narrativeUl');
        narrativeUL.appendTo('#narrativeLi');
        for(var i=0,len=narrativeList.length; value=narrativeList[i], i<len; i++) {
                var narrativeName = "narrativeLi" + i;
                var narrativeItem = $(document.createElement('li')).attr('id',narrativeName);
                narrativeItem.appendTo('#narrativeUl');
                var narrativeTag = $(document.createElement('span'));
                narrativeTag.addClass('file');
                var tagImg = "url(assets/images/bookCovers/" + narrativePic[i] + ".gif) 0 0 no-repeat";
                var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                narrativeTag.css(tagCss);
                narrativeTag.html(value);
                narrativeTag.appendTo('#narrativeLi'+i);
        }
}
function novelList() {
	corpsList = new Array("A Loyal Son of Terra","Betrayal of Ideals: Part 1","Betrayal of Ideals: Part 3","Black Mist Rising: Chapter One","Damage Control","Destiny's Call:  Part 3","Echoes of Disgrace","En Passant","Encounter at El Giza","The Immortal Warrior at the Battle of Vorhaven","Isle of the Blessed: Book Two, Chapter 1","Isle of the Blessed: Book Two, Chapter 2","Of War and Peace and Cherry Trees: Part 1","Of War and Peace and Cherry Trees: Part 2","Pearl's Ghost","Break-Away: Proliferation, Part 1","Shadows of Faith: Volume 1","Shadows of Faith: Volume 2","Shadows of Faith: Volume 3","The Heart of Dixie");
	corpsPic = new Array("empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty");
	darkageList = new Array("Ghost War","A Call to Arms","Ruins of Power","A Silence in the Heavens","Truth and Shadows","Service for the Dead","By Temptations and By War","Fortress of Lies","Patriot's Stand","Flight of the Falcon","Blood of the Isle","Hunters of the Deep","The Scorpion Jar","Target of Opportunity","Sword of Sedition","Daughter of the Dragon","Heretic's Faith","Fortress Republic","Blood Avatar","Trial by Chaos","Principles of Desolation","Wolf Hunters","Surrender Your Dreams","Dragon Rising","Masters of War","A Rending of Falcons","Pandora's Gambit","Fire at Will","The Last Charge","To Ride the Chimera");
	darkagePic = new Array("ghostwar","acalltoarms","theruinsofpower","asilenceintheheavens","truthandshadows","serviceforthedead","bytemptationsandbywar","fortressoflies","patriotsstand","flightofthefalcon","bloodoftheisle","huntersofthedeep","thescorpionjar","targetofopportunity","swordofsedition","daughterofthedragon","hereticsfaith","fortressrepublic","bloodavatar","trialbychaos","principlesofdesolation","wolfhunters","surrenderyourdreams","dragonrising","mastersofwar","arendingoffalcons","pandorasgambit","fireatwill","thelastcharge","toridethechimera");
	bookList = new Array("Decision at Thunder Rift","The Sword and the Dagger","The Spider and the Wolf","Mercenary's Star","The Price of Glory","Warrior: En Garde","Warrior: Riposte","Warrior: Coupe","Shrapnel, Fragements from the Inner Sphere","Wolves on the Border","Falcon Guard","Fernes Land","Black Thorn Blues","Highlander Gambit","Operation Excalibur","Exodus","MechWarrior","Phoenix","Operation Risiko","Finale");
	bookPic = new Array("decisionatthunderrift","empty","empty","mercenarysstar","empty","engarde","riposte","coupe","empty","wolvesontheborder","falconguard","empty","empty","highlandergambit","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty");
	var novelLI = $(document.createElement('li')).attr('id','novelLi');
        novelLI.appendTo('#documentTree');
        var novelSpan = $(document.createElement('span'));
        novelSpan.html('Novels and Short Stories');
        novelSpan.addClass('folder');
        novelSpan.appendTo('#novelLi');
        var novelUL = $(document.createElement('ul')).attr('id','novelUl');
        novelUL.appendTo('#novelLi');
		var corpLI = $(document.createElement('li')).attr('id','corpLi');
                corpLI.appendTo('#novelUl');
                var corpSpan = $(document.createElement('span'));
                corpSpan.html('BattleCorps');
                corpSpan.addClass('folder');
                corpSpan.appendTo('#corpLi');
                var corpUL = $(document.createElement('ul')).attr('id','corpUl');
                corpUL.appendTo('#corpLi');
                for(var i=0,len=corpsList.length; value=corpsList[i], i<len; i++) {
                        var corpName = "corpLi" + i;
                        var corpItem = $(document.createElement('li')).attr('id',corpName);
                        corpItem.appendTo('#corpUl');
                        var corpTag = $(document.createElement('span'));
                        corpTag.addClass('file');
			var tagImg = "url(assets/images/bookCovers/" + corpsPic[i] + ".gif) 0 0 no-repeat";
			var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                        corpTag.css(tagCss);
			corpTag.html(value);
                        corpTag.appendTo('#corpLi'+i);
		}
		var darkageLI = $(document.createElement('li')).attr('id','darkageLi');
                darkageLI.appendTo('#novelUl');
                var darkageSpan = $(document.createElement('span'));
                darkageSpan.html('MechWarrior Dark Age');
                darkageSpan.addClass('folder');
                darkageSpan.appendTo('#darkageLi');
                var darkageUL = $(document.createElement('ul')).attr('id','darkageUl');
                darkageUL.appendTo('#darkageLi');
                for(var i=0,len=darkageList.length; value=darkageList[i], i<len; i++) {
                        var darkageName = "darkageLi" + i;
                        var darkageItem = $(document.createElement('li')).attr('id',darkageName);
                        darkageItem.appendTo('#darkageUl');
                        var darkageTag = $(document.createElement('span'));
                        darkageTag.addClass('file');
                        var tagImg = "url(assets/images/bookCovers/" + darkagePic[i] + ".gif) 0 0 no-repeat";
                        var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                        darkageTag.css(tagCss);
                        darkageTag.html(value);
                        darkageTag.appendTo('#darkageLi'+i);
                }
	for(var i=0,len=bookList.length; value=bookList[i], i<len; i++) {
                var bookName = "bookLi" + i;
                var bookItem = $(document.createElement('li')).attr('id',bookName);
                bookItem.appendTo('#novelUl');
                var bookTag = $(document.createElement('span'));
                bookTag.addClass('file');
                var tagImg = "url(assets/images/bookCovers/" + bookPic[i] + ".gif) 0 0 no-repeat";
                var tagCss = { 'cursor' : 'pointer' , 'background' : tagImg};
                bookTag.css(tagCss);
                bookTag.html(value);
                bookTag.appendTo('#bookLi'+i);
        }
}
function parseXml(xml) {
        $("#docSource").html($(xml).find("book").attr("title"));
        $("#docHeader").addClass("TOCShow");
        var i = 0;
        $('#tocDiv label:not(:first)').remove();
        $(xml).find('chapter').each(function() {
                if (i == currentChapter) {
                        $("#docBody").empty();
                        var newChapter = $(document.createElement('div')).attr("id", 'Chapter' + i);
                        newChapter.html($(this).attr("text"));
                        newChapter.addClass("chapterTitle");
                        newChapter.appendTo("#docBody");
                        $(this).find('>element').each(function() {
                                if ($(this).attr("type") == "narrative") {

                                } else {
                                        var newParagraph = $(document.createElement('div'));
                                        if ($(this).attr("type") == "paragraph") { var tabSpace = "&nbsp;&nbsp;&nbsp;" }else{ var tabSpace = "" }
                                        newParagraph.html(tabSpace + $(this).attr("text"));
                                        newParagraph.addClass("paragraphBody");
                                        var tabOffset = $(this).attr("tab") * 40 + 200;
                                        var tabWidth = bodyWidth - tabOffset - 14;
                                        if ($(this).attr("type") == "heading") { var tabWeight = "bold"; var tabSize = "14px" } else { var tabWeight = "normal"; var tabSize = "12px" }
                                        var tabCss = { 'left' : tabOffset , 'width' : tabWidth , 'font-weight' : tabWeight , 'font-size' : tabSize }
                                        newParagraph.css(tabCss);
                                        newParagraph.appendTo("#docBody");
                                }
                        });
                }
                i++;
                var newTextLabel = $(document.createElement('label')).attr("id", 'TextLabel' + i);
                newTextLabel.html($(this).attr("text"));
                vt = (14*i) + 6;
                newTextLabel.addClass("tocItem");
                newTextLabel.css({ 'top' : vt });
                newTextLabel.appendTo("#tocDiv");
        })
        tocMax = (14*i) + 16;
        $("#tocDiv").animate({height: tocMax}, 0); docToc = "open";
}
function buildDocumentHeader() {
	var docHeader = $(document.createElement('div')).attr('id','docHeader');
	docHeader.addClass('TOC');
	docHeader.appendTo('#documentViewer');
	barWidth = documentWidth - 4;
	var headRule = $(document.createElement('hr'));
	hrCss = { 'position' : 'absolute' , 'top' : '10px' , 'left' : '3px' , 'width' : barWidth + 'px'};
	headRule.css(hrCss);
	headRule.appendTo('#docHeader');
	var tocDiv = $(document.createElement('div')).attr('id','tocDiv');
	tocDiv.addClass('TOC');
	tocDiv.appendTo('#docHeader');
	var tocDrop = $(document.createElement('label')).attr('id','tocDrop');
	tdCss = { 'position' : 'absolute' , 'left' : '2px' , 'top' : '2px' , 'cursor' : 'pointer' };
	tocDrop.css(tdCss);
	tocDrop.html('Table of Contents');
	tocDrop.appendTo('#docHeader');
	pagePos = documentWidth - 60;
	var pNum = $(document.createElement('label')).attr('id','pageNumber');
	var pgCss = { 'position' : 'absolute' , 'top' : '0px' , 'left' : pagePos + 'px' , 'align' : 'right' };
	pNum.css(pgCss);
	pNum.html('Page');
	pNum.appendTo('#docHeader');
	footerTop = treeHeight - 26;
	var footRule = $(document.createElement('hr'));
	var footCss = { 'position' : 'absolute' , 'top' : footerTop + 'px' , 'left' : '3px' , 'width' : barWidth + 'px' };
	footRule.css(footCss);
	footRule.appendTo('#docHeader');
	footerLeft = treeHeight - 8;
	var docSrc = $(document.createElement('label')).attr('id','docSource');
	var dsCss = { 'position' : 'absolute' , 'left' : '2px' , 'top' : footerLeft + 'px' };
	docSrc.css(dsCss);
	docSrc.html('Document Source Info');
	docSrc.appendTo('#docHeader');
	bodyWidth = documentWidth - 28;
        bodyHeight = treeHeight - 56;
	var docBody = $(document.createElement('div')).attr('id','docBody');
	docBody.addClass('bookContent');
	dcCss = { 'width' : bodyWidth + 'px' , 'height' : bodyHeight + 'px'};
	docBody.css(dcCss);
	docBody.appendTo('#documentViewer');
}

