// JavaScript Document
function load_select(){
	load_selRace();
	load_selClass();
	load_skills();
	load_char();
	set_timeout();
}
/***********************************************************/
function load_char(){
	my_replace("level","2");
	my_replace("body_p","10");
	document.getElementById("t_build").value="30";
	my_replace("l_build","30");
	my_replace("t_xp","65");
	document.getElementById("l_xp").value="0";
	my_replace("XPBP","7");
}

function set_timeout(){
	//timeout=window.setTimeout('calc_character();','1000');
}
/******************************************************************************/
function load_skills(){
	request3=createRequest();
	var data="table=5";
	var url="../engine/load_select.php";
	skillRequest(request3,url,data);
}

function skillRequest(request3, url, data) {
  request3.onreadystatechange = selSkills;
  request3.open("POST", url, true);
  request3.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  request3.send(data);
}

function selSkills(){
	dispProgress();
	if (request3.readyState == 4){
	hideProgress();
		var newInfo = request3.responseText;
		for(y=1; y <= 30; y++){
			var object= document.getElementById("skill" + y);
			object.options.length=0;
			if(request3.responseText !=''){
					var aryData=request3.responseText.split(',');
					for (i=0; i < aryData.length; i++){
						if (aryData[i] != ''){
							object.options[object.options.length]= new Option(aryData[i],aryData[i]);
						}
					}
			}
		}
		request3=createRequest();
	}
}
/*****************************************************************************/
function load_selRace(){
	request4=createRequest();
	var url="../engine/load_select.php";
	var data="table=3";
	raceRequest(request4,url,data);
}

function raceRequest(request4, url,data) {
  request4.onreadystatechange = selRace;
  request4.open("POST", url, true);
  request4.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  request4.send(data);
}

function selRace(){
	dispProgress();
	if (request4.readyState == 4){
	hideProgress();
		var newInfo = request4.responseText;
		var object= document.getElementById("selRace");
		object.options.length=0;
		if(request4.responseText !=''){
				var aryData=request4.responseText.split(';');
				for (i=0; i < aryData.length; i++){
					if (aryData[i] != ''){
						object.options[object.options.length]= new Option(aryData[i],aryData[i]);
					}
				}
		}		
		request4=createRequest();
	}
}
/************************************************************************************/
function load_selClass(){
	request5=createRequest();
	var url="../engine/load_select.php";
	var data="table=4";
	classRequest(request5,url,data);
}

function classRequest(request5, url,data) {
  request5.onreadystatechange = selClass;
  request5.open("POST", url, true);
  request5.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  request5.send(data);
}

function selClass(){
	dispProgress();
	if (request5.readyState == 4){
	hideProgress();
		var newInfo = request5.responseText;
		var object= document.getElementById("selClass");
		object.options.length=0;
		if(request5.responseText !=''){
				var aryData=request5.responseText.split(';');
				for (i=0; i < aryData.length; i++){
					if (aryData[i] != ''){
						object.options[object.options.length]= new Option(aryData[i],aryData[i]);
					}
				}
		}		
		request5=createRequest();
	}
}
/*********************************************************************
CHARACTER
**********************************************************************/
function load_char_stats(){
	var race = document.getElementById("selRace").value;
	var c_class = document.getElementById("selClass").value;
	var level = get_node("level");
	var body_p= get_node("body_p");
	var t_build = document.getElementById("t_build").value;
	var l_build = get_node("l_build");
	var t_xp = get_node("t_xp");
	var l_xp = document.getElementById("l_xp").value;
	var XPBP = get_node("XPBP");
	var primary= document.getElementById("primary").value;
	var p1= document.getElementById("p1").value;
	var p2= document.getElementById("p2").value;
	var p3= document.getElementById("p3").value;
	var p4= document.getElementById("p4").value;
	var p5= document.getElementById("p5").value;
	var p6= document.getElementById("p6").value;
	var p7= document.getElementById("p7").value;
	var p8= document.getElementById("p8").value;
	var p9= document.getElementById("p9").value;
	var ptotal= get_node("ptotal");
	var secondary= document.getElementById("secondary").value;
	var s1= document.getElementById("s1").value;
	var s2= document.getElementById("s2").value;
	var s3= document.getElementById("s3").value;
	var s4= document.getElementById("s4").value;
	var s5= document.getElementById("s5").value;
	var s6= document.getElementById("s6").value;
	var s7= document.getElementById("s7").value;
	var s8= document.getElementById("s8").value;
	var s9= document.getElementById("s9").value;
	var stotal= get_node("stotal");
	
	var skill1= document.getElementById("skill1").value;
	var skill1_num= document.getElementById("skill1_num").value;
	var skill1_cost= get_node("skill1_cost");
	var skill1_option=document.getElementById("skill1_option").value;
	
	var skill2= document.getElementById("skill2").value;
	var skill2_num= document.getElementById("skill2_num").value;
	var skill2_cost= get_node("skill2_cost");
	var skill2_option=document.getElementById("skill2_option").value;
	
	var skill3= document.getElementById("skill3").value;
	var skill3_num= document.getElementById("skill3_num").value;
	var skill3_cost= get_node("skill3_cost");
	var skill3_option=document.getElementById("skill3_option").value;
	
	var skill4= document.getElementById("skill4").value;
	var skill4_num= document.getElementById("skill4_num").value;
	var skill4_cost= get_node("skill4_cost");
	var skill4_option=document.getElementById("skill4_option").value;
	
	var skill5= document.getElementById("skill5").value;
	var skill5_num= document.getElementById("skill5_num").value;
	var skill5_cost= get_node("skill5_cost");
	var skill5_option=document.getElementById("skill5_option").value;
	
	var skill6= document.getElementById("skill6").value;
	var skill6_num= document.getElementById("skill6_num").value;
	var skill6_cost= get_node("skill6_cost");
	var skill6_option=document.getElementById("skill6_option").value;
	
	var skill7= document.getElementById("skill7").value;
	var skill7_num= document.getElementById("skill7_num").value;
	var skill7_cost= get_node("skill7_cost");
	var skill7_option=document.getElementById("skill7_option").value;
	
	var skill8= document.getElementById("skill8").value;
	var skill8_num= document.getElementById("skill8_num").value;
	var skill8_cost= get_node("skill8_cost");
	var skill8_option=document.getElementById("skill8_option").value;
	
	var skill9= document.getElementById("skill9").value;
	var skill9_num= document.getElementById("skill9_num").value;
	var skill9_cost= get_node("skill9_cost");
	var skill9_option=document.getElementById("skill9_option").value;
	
	var skill10= document.getElementById("skill10").value;
	var skill10_num= document.getElementById("skill10_num").value;
	var skill10_cost= get_node("skill10_cost");
	var skill10_option=document.getElementById("skill10_option").value;
	
	var skill11= document.getElementById("skill11").value;
	var skill11_num= document.getElementById("skill11_num").value;
	var skill11_cost= get_node("skill11_cost");
	var skill11_option=document.getElementById("skill11_option").value;
	
	var skill12= document.getElementById("skill12").value;
	var skill12_num= document.getElementById("skill12_num").value;
	var skill12_cost= get_node("skill12_cost");
	var skill12_option=document.getElementById("skill12_option").value;
	
	var skill13= document.getElementById("skill13").value;
	var skill13_num= document.getElementById("skill13_num").value;
	var skill13_cost= get_node("skill13_cost");
	var skill13_option=document.getElementById("skill13_option").value;
	
	var skill14= document.getElementById("skill14").value;
	var skill14_num= document.getElementById("skill14_num").value;
	var skill14_cost= get_node("skill14_cost");
	var skill14_option=document.getElementById("skill14_option").value;
	
	var skill15= document.getElementById("skill15").value;
	var skill15_num= document.getElementById("skill15_num").value;
	var skill15_cost= get_node("skill15_cost");
	var skill15_option=document.getElementById("skill15_option").value;
	
	var skill16= document.getElementById("skill16").value;
	var skill16_num= document.getElementById("skill16_num").value;
	var skill16_cost= get_node("skill16_cost");
	var skill16_option=document.getElementById("skill16_option").value;
	
	var skill17= document.getElementById("skill17").value;
	var skill17_num= document.getElementById("skill17_num").value;
	var skill17_cost= get_node("skill17_cost");
	var skill17_option=document.getElementById("skill17_option").value;
	
	var skill18= document.getElementById("skill18").value;
	var skill18_num= document.getElementById("skill18_num").value;
	var skill18_cost= get_node("skill18_cost");
	var skill18_option=document.getElementById("skill18_option").value;
	
	var skill19= document.getElementById("skill19").value;
	var skill19_num= document.getElementById("skill19_num").value;
	var skill19_cost= get_node("skill19_cost");
	var skill19_option=document.getElementById("skill19_option").value;
	
	var skill20= document.getElementById("skill20").value;
	var skill20_num= document.getElementById("skill20_num").value;
	var skill20_cost= get_node("skill20_cost");
	var skill20_option=document.getElementById("skill20_option").value;
	
	var skill21= document.getElementById("skill21").value;
	var skill21_num= document.getElementById("skill21_num").value;
	var skill21_cost= get_node("skill21_cost");
	var skill21_option=document.getElementById("skill21_option").value;
	
	var skill22= document.getElementById("skill22").value;
	var skill22_num= document.getElementById("skill22_num").value;
	var skill22_cost= get_node("skill22_cost");
	var skill22_option=document.getElementById("skill22_option").value;
	
	var skill23= document.getElementById("skill23").value;
	var skill23_num= document.getElementById("skill23_num").value;
	var skill23_cost= get_node("skill23_cost");
	var skill23_option=document.getElementById("skill23_option").value;
	
	var skill24= document.getElementById("skill24").value;
	var skill24_num= document.getElementById("skill24_num").value;
	var skill24_cost= get_node("skill24_cost");
	var skill24_option=document.getElementById("skill24_option").value;
	
	var skill25= document.getElementById("skill25").value;
	var skill25_num= document.getElementById("skill25_num").value;
	var skill25_cost= get_node("skill25_cost");
	var skill25_option=document.getElementById("skill25_option").value;
	
	var skill26= document.getElementById("skill26").value;
	var skill26_num= document.getElementById("skill26_num").value;
	var skill26_cost= get_node("skill26_cost");
	var skill26_option=document.getElementById("skill26_option").value;
	
	var skill27= document.getElementById("skill27").value;
	var skill27_num= document.getElementById("skill27_num").value;
	var skill27_cost= get_node("skill27_cost");
	var skill27_option=document.getElementById("skill27_option").value;
	
	var skill28= document.getElementById("skill28").value;
	var skill28_num= document.getElementById("skill28_num").value;
	var skill28_cost= get_node("skill28_cost");
	var skill28_option=document.getElementById("skill28_option").value;
	
	var skill29= document.getElementById("skill29").value;
	var skill29_num= document.getElementById("skill29_num").value;
	var skill29_cost= get_node("skill29_cost");
	var skill29_option=document.getElementById("skill29_option").value;
	
	var skill30= document.getElementById("skill30").value;
	var skill30_num= document.getElementById("skill30_num").value;
	var skill30_cost= get_node("skill30_cost");
	var skill30_option=document.getElementById("skill30_option").value;
	
	if(skill1_num < 1){
		skill1="";
		skill1_cost="";
		skill1_option="";
	}
	if(skill2_num < 1){
		skill2="";
		skill2_cost="";
		skill2_option="";
	}
	if(skill3_num < 1){
		skill3="";
		skill3_cost="";
		skill3_option="";
	}
	if(skill4_num < 1){
		skill4="";
		skill4_cost="";
		skill4_option="";
	}
	if(skill5_num < 1){
		skill5="";
		skill5_cost="";
		skill5_option="";
	}
	if(skill6_num < 1){
		skill6="";
		skill6_cost="";
		skill6_option="";
	}
	if(skill7_num < 1){
		skill7="";
		skill7_cost="";
		skill7_option="";
	}
	if(skill8_num < 1){
		skill8="";
		skill8_cost="";
		skill8_option="";
	}
	if(skill9_num < 1){
		skill9="";
		skill9_cost="";
		skill9_option="";
	}
	if(skill10_num < 1){
		skill10="";
		skill10_cost="";
		skill10_option="";
	}
	if(skill11_num < 1){
		skill11="";
		skill11_cost="";
		skill11_option="";
	}
	if(skill12_num < 1){
		skill12="";
		skill12_cost="";
		skill12_option="";
	}
	if(skill13_num < 1){
		skill13="";
		skill13_cost="";
		skill13_option="";
	}
	if(skill14_num < 1){
		skill14="";
		skill14_cost="";
		skill14_option="";
	}
	if(skill15_num < 1){
		skill15="";
		skill15_cost="";
		skill15_option="";
	}
	if(skill16_num < 1){
		skill16="";
		skill16_cost="";
		skill16_option="";
	}
	if(skill17_num < 1){
		skill17="";
		skill17_cost="";
		skill17_option="";
	}
	if(skill18_num < 1){
		skill18="";
		skill18_cost="";
		skill18_option="";
	}
	if(skill19_num < 1){
		skill19="";
		skill19_cost="";
		skill19_option="";
	}
	if(skill20_num < 1){
		skill20="";
		skill20_cost="";
		skill20_option="";
	}
	if(skill21_num < 1){
		skill21="";
		skill21_cost="";
		skill21_option="";
	}
	if(skill22_num < 1){
		skill22="";
		skill22_cost="";
		skill22_option="";
	}
	if(skill23_num < 1){
		skill23="";
		skill23_cost="";
		skill23_option="";
	}
	if(skill24_num < 1){
		skill24="";
		skill24_cost="";
		skill24_option="";
	}
	if(skill25_num < 1){
		skill25="";
		skill25_cost="";
		skill25_option="";
	}
	if(skill26_num < 1){
		skill26="";
		skill26_cost="";
		skill26_option="";
	}
	if(skill27_num < 1){
		skill27="";
		skill27_cost="";
		skill27_option="";
	}
	if(skill28_num < 1){
		skill28="";
		skill28_cost="";
		skill28_option="";
	}
	if(skill29_num < 1){
		skill29="";
		skill29_cost="";
		skill29_option="";
	}
	if(skill30_num < 1){
		skill30="";
		skill30_cost="";
		skill30_option="";
	}
	
	var data = "race=" + escape(race) + "&c_class=" + escape(c_class) + "&level=" + escape(level) + "&body_p=" + escape(body_p) + "&t_build=" + escape(t_build) + "&l_build=" + escape(l_build) + "&t_xp=" + escape(t_xp) + "&l_xp=" + escape(l_xp) + "&XPBP=" + escape(XPBP) +	"&primary=" + escape(primary) +	"&p1=" + escape(p1) + "&p2=" + escape(p2) +	"&p3=" + escape(p3) + "&p4=" + escape(p4) +	"&p5=" + escape(p5) +	"&p6=" + escape(p6) + "&p7=" + escape(p7) +	"&p8=" + escape(p8) + "&p9=" + escape(p9) +	"&ptotal=" + escape(ptotal) + "&secondary=" + escape(secondary) +	"&s1=" + escape(s1) + "&s2=" + escape(s2) +	"&s3=" + escape(s3) + "&s4=" + escape(s4) +	"&s5=" + escape(s5) + "&s6=" + escape(s6) +	"&s7=" + escape(s7) + "&s8=" + escape(s8) + "&s9=" + escape(s9) +	"&stotal=" + escape(stotal) + "&skill1=" + escape(skill1) + "&skill1_num=" + escape(skill1_num) + "&skill1_cost=" + escape(skill1_cost) + "&skill1_option=" + escape(skill1_option) + "&skill2=" + escape(skill2) + "&skill2_num=" + escape(skill2_num) + "&skill2_cost=" + escape(skill2_cost) + "&skill2_option=" + escape(skill2_option) + "&skill3=" + escape(skill3) + "&skill3_num=" + escape(skill3_num) + "&skill3_cost=" + escape(skill3_cost) + "&skill3_option=" + escape(skill3_option)	+ "&skill4=" + escape(skill4) + "&skill4_num=" + escape(skill4_num) + "&skill4_cost=" + escape(skill4_cost) + "&skill4_option=" + escape(skill4_option) + "&skill5=" + escape(skill5) + "&skill5_num=" + escape(skill5_num) + "&skill5_cost=" + escape(skill5_cost) + "&skill5_option=" + escape(skill5_option)
	+ "&skill6=" + escape(skill6) + "&skill6_num=" + escape(skill6_num) + "&skill6_cost=" + escape(skill6_cost) + "&skill6_option=" + escape(skill6_option)
	+ "&skill7=" + escape(skill7) + "&skill7_num=" + escape(skill7_num) + "&skill7_cost=" + escape(skill7_cost) + "&skill7_option=" + escape(skill7_option)
	+ "&skill8=" + escape(skill8) + "&skill8_num=" + escape(skill8_num) + "&skill8_cost=" + escape(skill8_cost) + "&skill8_option=" + escape(skill8_option)
	+ "&skill9=" + escape(skill9) + "&skill9_num=" + escape(skill9_num) + "&skill9_cost=" + escape(skill9_cost) + "&skill9_option=" + escape(skill9_option)
	+ "&skill10=" + escape(skill10) + "&skill10_num=" + escape(skill10_num) + "&skill10_cost=" + escape(skill10_cost) + "&skill10_option=" + escape(skill10_option)
	+ "&skill11=" + escape(skill11) + "&skill11_num=" + escape(skill11_num) + "&skill11_cost=" + escape(skill11_cost) + "&skill11_option=" + escape(skill11_option)
	+ "&skill12=" + escape(skill12) + "&skill12_num=" + escape(skill12_num) + "&skill12_cost=" + escape(skill12_cost) + "&skill12_option=" + escape(skill12_option)
	+ "&skill13=" + escape(skill13) + "&skill13_num=" + escape(skill13_num) + "&skill13_cost=" + escape(skill13_cost) + "&skill13_option=" + escape(skill13_option)
	+ "&skill14=" + escape(skill14) + "&skill14_num=" + escape(skill14_num) + "&skill14_cost=" + escape(skill14_cost) + "&skill14_option=" + escape(skill14_option)
	+ "&skill15=" + escape(skill15) + "&skill15_num=" + escape(skill15_num) + "&skill15_cost=" + escape(skill15_cost) + "&skill15_option=" + escape(skill15_option)
	+ "&skill16=" + escape(skill16) + "&skill16_num=" + escape(skill16_num) + "&skill16_cost=" + escape(skill16_cost) + "&skill16_option=" + escape(skill16_option)
	+ "&skill17=" + escape(skill17) + "&skill17_num=" + escape(skill17_num) + "&skill17_cost=" + escape(skill17_cost) + "&skill17_option=" + escape(skill17_option)
	+ "&skill18=" + escape(skill18) + "&skill18_num=" + escape(skill18_num) + "&skill18_cost=" + escape(skill18_cost) + "&skill18_option=" + escape(skill18_option)
	+ "&skill19=" + escape(skill19) + "&skill19_num=" + escape(skill19_num) + "&skill19_cost=" + escape(skill19_cost) + "&skill19_option=" + escape(skill19_option)
	+ "&skill20=" + escape(skill20) + "&skill20_num=" + escape(skill20_num) + "&skill20_cost=" + escape(skill20_cost) + "&skill20_option=" + escape(skill20_option)
	+ "&skill21=" + escape(skill21) + "&skill21_num=" + escape(skill21_num) + "&skill21_cost=" + escape(skill21_cost) + "&skill21_option=" + escape(skill21_option)
	+ "&skill22=" + escape(skill22) + "&skill22_num=" + escape(skill22_num) + "&skill22_cost=" + escape(skill22_cost) + "&skill22_option=" + escape(skill22_option)
	+ "&skill23=" + escape(skill23) + "&skill23_num=" + escape(skill23_num) + "&skill23_cost=" + escape(skill23_cost) + "&skill23_option=" + escape(skill23_option)
	+ "&skill24=" + escape(skill24) + "&skill24_num=" + escape(skill24_num) + "&skill24_cost=" + escape(skill24_cost) + "&skill24_option=" + escape(skill24_option)
	+ "&skill25=" + escape(skill25) + "&skill25_num=" + escape(skill25_num) + "&skill25_cost=" + escape(skill25_cost) + "&skill25_option=" + escape(skill25_option)
	+ "&skill26=" + escape(skill26) + "&skill26_num=" + escape(skill26_num) + "&skill26_cost=" + escape(skill26_cost) + "&skill26_option=" + escape(skill26_option)
	+ "&skill27=" + escape(skill27) + "&skill27_num=" + escape(skill27_num) + "&skill27_cost=" + escape(skill27_cost) + "&skill27_option=" + escape(skill27_option)
	+ "&skill28=" + escape(skill28) + "&skill28_num=" + escape(skill28_num) + "&skill28_cost=" + escape(skill28_cost) + "&skill28_option=" + escape(skill28_option)
	+ "&skill29=" + escape(skill29) + "&skill29_num=" + escape(skill29_num) + "&skill29_cost=" + escape(skill29_cost) + "&skill29_option=" + escape(skill29_option)
	+ "&skill30=" + escape(skill30) + "&skill30_num=" + escape(skill30_num) + "&skill30_cost=" + escape(skill30_cost) + "&skill30_option=" + escape(skill30_option)
	;

	return data;
	
}
/*******************************************************************************************/
function new_character(){
	document.getElementById("selRace").value="Barbarian";
	document.getElementById("selClass").value="Fighter";
	my_replace("level","2");
	my_replace("body_p","10");
	document.getElementById("t_build").value="30";
	my_replace("l_build","30");
	my_replace("t_xp","65");
	document.getElementById("l_xp").value="0";
	my_replace("XPBP","7");
	document.getElementById("primary").value="";
	for(i=1;i<=9;i++){
		document.getElementById("p" + i).value="0";
	}
	document.getElementById("ptotal").value="0";
	document.getElementById("secondary").value="";
	for(i=1;i<=9;i++){
		document.getElementById("s" + i).value="0";
	}
	document.getElementById("stotal").value="0";
	for(i=1;i<=30;i++){
		document.getElementById("skill" + i).options[0].selected=true;
		document.getElementById("skill" + i + "_num").value="";
		my_replace("skill" + i + "_cost","");
		document.getElementById("skill" + i + "_option").value="";
	}
}
/*********************************************************************************************/
function calc_character(){
	request3=createRequest();
	var invalid = document.getElementById("selRace").value;
	invalid =invalid + " " + document.getElementById("selClass").value;
	if (invalid != "Hobling Fighter"){
		var data=load_char_stats() + "&temp=5";
		var url="../engine/charBuilder.php";
		calcCharacterRequest(request3, url,data);
	}else{
		alert("Invalid race/class combo. Hoblings cannot be fighters.\nPlease change either the Race or the Class and try again.");
	}	
}

function calcCharacterRequest(request3,url,data){
	request3.onreadystatechange = calcChar;
 	request3.open("POST", url, true);
	request3.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  	request3.send(data);
}

function calcChar(){
	dispProgress();
	if (request3.readyState == 4) {
	hideProgress();
		var xmlDoc=request3.responseXML;
		var xmlLEVEL = xmlDoc.getElementsByTagName("level")[0];
		var newLEVEL = xmlLEVEL.firstChild.nodeValue;
		var xmlBODY = xmlDoc.getElementsByTagName("body_p")[0];
		var newBODY = xmlBODY.firstChild.nodeValue;
		var xmlLBP = xmlDoc.getElementsByTagName("lbuild")[0];
		var newLBP = xmlLBP.firstChild.nodeValue;
		var xmlTXP = xmlDoc.getElementsByTagName("txp")[0];
		var newTXP = xmlTXP.firstChild.nodeValue;
		var xmlXPBP = xmlDoc.getElementsByTagName("xpbp")[0];
		var newXPBP = xmlXPBP.firstChild.nodeValue;
		var xmlPTOTAL = xmlDoc.getElementsByTagName("pspent")[0];
		var newPTOTAL = xmlPTOTAL.firstChild.nodeValue;
		var xmlSTOTAL = xmlDoc.getElementsByTagName("sspent")[0];
		var newSTOTAL = xmlSTOTAL.firstChild.nodeValue;
		
		var xmlSKILL1 = xmlDoc.getElementsByTagName("skill1_cost")[0];
		var newSKILL1 = xmlSKILL1.firstChild.nodeValue;
		var xmlSKILL2 = xmlDoc.getElementsByTagName("skill2_cost")[0];
		var newSKILL2 = xmlSKILL2.firstChild.nodeValue;
		var xmlSKILL3 = xmlDoc.getElementsByTagName("skill3_cost")[0];
		var newSKILL3 = xmlSKILL3.firstChild.nodeValue;
		var xmlSKILL4 = xmlDoc.getElementsByTagName("skill4_cost")[0];
		var newSKILL4 = xmlSKILL4.firstChild.nodeValue;
		var xmlSKILL5 = xmlDoc.getElementsByTagName("skill5_cost")[0];
		var newSKILL5 = xmlSKILL5.firstChild.nodeValue;
		var xmlSKILL6 = xmlDoc.getElementsByTagName("skill6_cost")[0];
		var newSKILL6 = xmlSKILL6.firstChild.nodeValue;
		var xmlSKILL7 = xmlDoc.getElementsByTagName("skill7_cost")[0];
		var newSKILL7 = xmlSKILL7.firstChild.nodeValue;
		var xmlSKILL8 = xmlDoc.getElementsByTagName("skill8_cost")[0];
		var newSKILL8 = xmlSKILL8.firstChild.nodeValue;
		var xmlSKILL9 = xmlDoc.getElementsByTagName("skill9_cost")[0];
		var newSKILL9 = xmlSKILL9.firstChild.nodeValue;
		var xmlSKILL10 = xmlDoc.getElementsByTagName("skill10_cost")[0];
		var newSKILL10 = xmlSKILL10.firstChild.nodeValue;
		var xmlSKILL11 = xmlDoc.getElementsByTagName("skill11_cost")[0];
		var newSKILL11 = xmlSKILL11.firstChild.nodeValue;
		var xmlSKILL12 = xmlDoc.getElementsByTagName("skill12_cost")[0];
		var newSKILL12 = xmlSKILL12.firstChild.nodeValue;
		var xmlSKILL13 = xmlDoc.getElementsByTagName("skill13_cost")[0];
		var newSKILL13 = xmlSKILL13.firstChild.nodeValue;
		var xmlSKILL14 = xmlDoc.getElementsByTagName("skill14_cost")[0];
		var newSKILL14 = xmlSKILL14.firstChild.nodeValue;
		var xmlSKILL15 = xmlDoc.getElementsByTagName("skill15_cost")[0];
		var newSKILL15 = xmlSKILL15.firstChild.nodeValue;
		var xmlSKILL16 = xmlDoc.getElementsByTagName("skill16_cost")[0];
		var newSKILL16 = xmlSKILL16.firstChild.nodeValue;
		var xmlSKILL17 = xmlDoc.getElementsByTagName("skill17_cost")[0];
		var newSKILL17 = xmlSKILL17.firstChild.nodeValue;
		var xmlSKILL18 = xmlDoc.getElementsByTagName("skill18_cost")[0];
		var newSKILL18 = xmlSKILL18.firstChild.nodeValue;
		var xmlSKILL19 = xmlDoc.getElementsByTagName("skill19_cost")[0];
		var newSKILL19 = xmlSKILL19.firstChild.nodeValue;
		var xmlSKILL20 = xmlDoc.getElementsByTagName("skill20_cost")[0];

		var newSKILL20 = xmlSKILL20.firstChild.nodeValue;
		var xmlSKILL21 = xmlDoc.getElementsByTagName("skill21_cost")[0];
		var newSKILL21 = xmlSKILL21.firstChild.nodeValue;
		var xmlSKILL22 = xmlDoc.getElementsByTagName("skill22_cost")[0];
		var newSKILL22 = xmlSKILL22.firstChild.nodeValue;
		var xmlSKILL23 = xmlDoc.getElementsByTagName("skill23_cost")[0];
		var newSKILL23 = xmlSKILL23.firstChild.nodeValue;
		var xmlSKILL24 = xmlDoc.getElementsByTagName("skill24_cost")[0];
		var newSKILL24 = xmlSKILL24.firstChild.nodeValue;
		var xmlSKILL25 = xmlDoc.getElementsByTagName("skill25_cost")[0];
		var newSKILL25 = xmlSKILL25.firstChild.nodeValue;
		var xmlSKILL26 = xmlDoc.getElementsByTagName("skill26_cost")[0];
		var newSKILL26 = xmlSKILL26.firstChild.nodeValue;
		var xmlSKILL27 = xmlDoc.getElementsByTagName("skill27_cost")[0];
		var newSKILL27 = xmlSKILL27.firstChild.nodeValue;
		var xmlSKILL28 = xmlDoc.getElementsByTagName("skill28_cost")[0];
		var newSKILL28 = xmlSKILL28.firstChild.nodeValue;
		var xmlSKILL29 = xmlDoc.getElementsByTagName("skill29_cost")[0];
		var newSKILL29 = xmlSKILL29.firstChild.nodeValue;
		var xmlSKILL30 = xmlDoc.getElementsByTagName("skill30_cost")[0];
		var newSKILL30 = xmlSKILL30.firstChild.nodeValue;
		
		
			my_replace("level",newLEVEL);
			my_replace("body_p",newBODY);
			my_replace("l_build",newLBP);
			my_replace("t_xp",newTXP);
			my_replace("XPBP",newXPBP);
			my_replace("ptotal",newPTOTAL);
			my_replace("stotal",newSTOTAL);
		if(newSKILL1 > 0){
			my_replace("skill1_cost",newSKILL1);
		}else{
			object= document.getElementById("skill1");
			object.options[0].selected = true;
			my_replace("skill1_cost","");
			document.getElementById("skill1_option").value="";
		}
		if(newSKILL2 > 0){
			my_replace("skill2_cost",newSKILL2);
		}else{
			object= document.getElementById("skill2");
			object.options[0].selected = true;
			my_replace("skill2_cost","");
			document.getElementById("skill2_option").value="";
		}
		if(newSKILL3 > 0){
			my_replace("skill3_cost",newSKILL3);
		}else{
			object= document.getElementById("skill3");
			object.options[0].selected = true;
			my_replace("skill3_cost","");
			document.getElementById("skill3_option").value="";
		}
		if(newSKILL4 > 0){
			my_replace("skill4_cost",newSKILL4);
		}else{
			object= document.getElementById("skill4");
			object.options[0].selected = true;
			my_replace("skill4_cost","");
			document.getElementById("skill4_option").value="";
		}
		if(newSKILL5 > 0){
			my_replace("skill5_cost",newSKILL5);
		}else{
			object= document.getElementById("skill5");
			object.options[0].selected = true;
			my_replace("skill5_cost","");
			document.getElementById("skill5_option").value="";
		}
		if(newSKILL6 > 0){
			my_replace("skill6_cost",newSKILL6);
		}else{
			object= document.getElementById("skill6");
			object.options[0].selected = true;
			my_replace("skill6_cost","");
			document.getElementById("skill6_option").value="";
		}
		if(newSKILL7 > 0){
			my_replace("skill7_cost",newSKILL7);
		}else{
			object= document.getElementById("skill7");
			object.options[0].selected = true;
			my_replace("skill7_cost","");
			document.getElementById("skill7_option").value="";
		}
		if(newSKILL8 > 0){
			my_replace("skill8_cost",newSKILL8);
		}else{
			object= document.getElementById("skill8");
			object.options[0].selected = true;
			my_replace("skill8_cost","");
			document.getElementById("skill8_option").value="";
		}
		if(newSKILL9 > 0){
			my_replace("skill9_cost",newSKILL9);
		}else{
			object= document.getElementById("skill9");
			object.options[0].selected = true;
			my_replace("skill9_cost","");
			document.getElementById("skill9_option").value="";
		}
		if(newSKILL10 > 0){
			my_replace("skill10_cost",newSKILL10);
		}else{
			object= document.getElementById("skill10");
			object.options[0].selected = true;
			my_replace("skill10_cost","");
			document.getElementById("skill10_option").value="";
		}
		if(newSKILL11 > 0){
			my_replace("skill11_cost",newSKILL11);
		}else{
			object= document.getElementById("skill11");
			object.options[0].selected = true;
			my_replace("skill11_cost","");
			document.getElementById("skill11_option").value="";
		}
		if(newSKILL12 > 0){
			my_replace("skill12_cost",newSKILL12);
		}else{
			object= document.getElementById("skill12");
			object.options[0].selected = true;
			my_replace("skill12_cost","");
			document.getElementById("skill12_option").value="";
		}
		if(newSKILL13 > 0){
			my_replace("skill13_cost",newSKILL13);
		}else{
			object= document.getElementById("skill13");
			object.options[0].selected = true;
			my_replace("skill13_cost","");
			document.getElementById("skill13_option").value="";
		}
		if(newSKILL14 > 0){
			my_replace("skill14_cost",newSKILL14);
		}else{
			object= document.getElementById("skill14");
			object.options[0].selected = true;
			my_replace("skill14_cost","");
			document.getElementById("skill14_option").value="";
		}
		if(newSKILL15 > 0){
			my_replace("skill15_cost",newSKILL15);
		}else{
			object= document.getElementById("skill15");
			object.options[0].selected = true;
			my_replace("skill15_cost","");
			document.getElementById("skill15_option").value="";
		}
		if(newSKILL16 > 0){
			my_replace("skill16_cost",newSKILL16);
		}else{
			object= document.getElementById("skill16");
			object.options[0].selected = true;
			my_replace("skill16_cost","");
			document.getElementById("skill16_option").value="";
		}
		if(newSKILL17 > 0){
			my_replace("skill17_cost",newSKILL17);
		}else{
			object= document.getElementById("skill17");
			object.options[0].selected = true;
			my_replace("skill17_cost","");
			document.getElementById("skill17_option").value="";
		}
		if(newSKILL18 > 0){
			my_replace("skill18_cost",newSKILL18);
		}else{
			object= document.getElementById("skill18");
			object.options[0].selected = true;
			my_replace("skill18_cost","");
			document.getElementById("skill18_option").value="";
		}
		if(newSKILL19 > 0){
			my_replace("skill19_cost",newSKILL19);
		}else{
			object= document.getElementById("skill19");
			object.options[0].selected = true;
			my_replace("skill19_cost","");
			document.getElementById("skill19_option").value="";
		}
		if(newSKILL20 > 0){
			my_replace("skill20_cost",newSKILL20);
		}else{
			object= document.getElementById("skill20");
			object.options[0].selected = true;
			my_replace("skill20_cost","");
			document.getElementById("skill20_option").value="";
		}
		if(newSKILL21 > 0){
			my_replace("skill21_cost",newSKILL21);
		}else{
			object= document.getElementById("skill21");
			object.options[0].selected = true;
			my_replace("skill21_cost","");
			document.getElementById("skill21_option").value="";
		}
		if(newSKILL22 > 0){
			my_replace("skill22_cost",newSKILL22);
		}else{
			object= document.getElementById("skill22");
			object.options[0].selected = true;
			my_replace("skill22_cost","");
			document.getElementById("skill22_option").value="";
		}
		if(newSKILL23 > 0){
			my_replace("skill23_cost",newSKILL23);
		}else{
			object= document.getElementById("skill23");
			object.options[0].selected = true;
			my_replace("skill23_cost","");
			document.getElementById("skill23_option").value="";
		}
		if(newSKILL24 > 0){
			my_replace("skill24_cost",newSKILL24);
		}else{
			object= document.getElementById("skill24");
			object.options[0].selected = true;
			my_replace("skill24_cost","");
			document.getElementById("skill24_option").value="";
		}
		if(newSKILL25 > 0){
			my_replace("skill25_cost",newSKILL25);
		}else{
			object= document.getElementById("skill25");
			object.options[0].selected = true;
			my_replace("skill25_cost","");
			document.getElementById("skill25_option").value="";
		}
		if(newSKILL26 > 0){
			my_replace("skill26_cost",newSKILL26);
		}else{
			object= document.getElementById("skill26");
			object.options[0].selected = true;
			my_replace("skill26_cost","");
			document.getElementById("skill26_option").value="";
		}
		if(newSKILL27 > 0){
			my_replace("skill27_cost",newSKILL27);
		}else{
			object= document.getElementById("skill27");
			object.options[0].selected = true;
			my_replace("skill27_cost","");
			document.getElementById("skill27_option").value="";
		}
		if(newSKILL28 > 0){
			my_replace("skill28_cost",newSKILL28);
		}else{
			object= document.getElementById("skill28");
			object.options[0].selected = true;
			my_replace("skill28_cost","");
			document.getElementById("skill28_option").value="";
		}
		if(newSKILL29 > 0){
			my_replace("skill29_cost",newSKILL29);
		}else{
			object= document.getElementById("skill29");
			object.options[0].selected = true;
			my_replace("skill29_cost","");
			document.getElementById("skill29_option").value="";
		}
		if(newSKILL30 > 0){
			my_replace("skill30_cost",newSKILL30);
		}else{
			object= document.getElementById("skill30");
			object.options[0].selected = true;
			my_replace("skill30_cost","");
			document.getElementById("skill30_option").value="";
		}		
		request3=createRequest();
		set_timeout();
	}
	
}
/**********************************************************************************/
function add_blanket(){
	request1=createRequest();
 var temp=true;
	if(temp){
		var blankets=document.getElementById("blankets").value;
        if(isNum(blankets)){
		var silver=0;
		var bl_type="Event";
		var data=load_char_stats()+"&temp=6"+"&bl_type="+escape(bl_type)+"&blankets="+escape(blankets)+
		"&silver="+escape(silver);
		var url = "../engine/charBuilder.php";
		blanketRequest(request1,url,data);
        }else{
        alert("Not a valid number.");
        }
 }
}

function add_goblin(){
	request1=createRequest();
	var temp=true;
	if(temp){
		var bl_type="Goblin";
		var data=load_char_stats()+"&temp=6"+"&bl_type="+escape(bl_type);
		var url = "../engine/charBuilder.php";
		blanketRequest(request1,url,data);
	}
}

function add_consecutive(){
    var blankets=document.getElementById("blankets").value;
    if(isNum(blankets) && isWhole(blankets)){
    var silver=0;
    var bl_type="Event";
    var data=load_char_stats()+"&temp=9"+"&bl_type="+escape(bl_type)+"&blankets="+escape(blankets)+
		"&silver="+escape(silver);
    var url = "../engine/charBuilder.php";
    blanketRequest(request1,url,data);
    }else{
    alert("Not a valid whole number.");
    }
}

function blanketRequest(request1,url,data){
	request1.onreadystatechange=blanketDisplay;
	request1.open("POST",url,true);
	request1.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  	request1.send(data);
}

function blanketDisplay(){
	if(request1.readyState == 4){
		var newTEXT=request1.responseText;
		if(newTEXT=="1" || newTEXT=="2"){
			if(newTEXT=="2"){
				alert("Not enough Goblin Points.");
			}
			if(newTEXT=="1"){
				alert("SQL error.");
			}
		}else{
			var xmlDoc=request1.responseXML;
			var xmlLEVEL = xmlDoc.getElementsByTagName("level")[0];
			var newLEVEL = xmlLEVEL.firstChild.nodeValue;
			var xmlBODY = xmlDoc.getElementsByTagName("body_p")[0];
			var newBODY = xmlBODY.firstChild.nodeValue;
			var xmlLBP = xmlDoc.getElementsByTagName("l_build")[0];
			var newLBP = xmlLBP.firstChild.nodeValue;
			var xmlTXP = xmlDoc.getElementsByTagName("t_xp")[0];
			var newTXP = xmlTXP.firstChild.nodeValue;
			var xmlXPBP = xmlDoc.getElementsByTagName("xpbp")[0];
			var newXPBP = xmlXPBP.firstChild.nodeValue;
			var xmlLXP = xmlDoc.getElementsByTagName("l_xp")[0];
			var newLXP = xmlLXP.firstChild.nodeValue;
			var xmlTBP = xmlDoc.getElementsByTagName("t_build")[0];
			var newTBP = xmlTBP.firstChild.nodeValue;
			var xmlTYPE = xmlDoc.getElementsByTagName("bl_type")[0];
			var newTYPE = xmlTYPE.firstChild.nodeValue;
			var xmlBLANKETS = xmlDoc.getElementsByTagName("blankets")[0];
			var newBLANKETS = xmlBLANKETS.firstChild.nodeValue;
			var xmlSILVER = xmlDoc.getElementsByTagName("silver")[0];
			var newSILVER = xmlSILVER.firstChild.nodeValue;
			
			my_replace("level",newLEVEL);
			my_replace("body_p",newBODY);
			my_replace("l_build",newLBP);
			my_replace("t_xp",newTXP);
			my_replace("XPBP",newXPBP);
			document.getElementById("t_build").value=newTBP;
			document.getElementById("l_xp").value=newLXP;
			
			request1=createRequest();
		}
	}
}
/************************************************************************************/
function emailer(){
	request5=createRequest();
	var email=prompt("Enter the email address of the recipient.","");
	if(email){
		var temp=confirm("Do you wish to send a copy of this character to " + email + "?");
		if(temp){
			if(email != undefined || email !=""){
				var char=document.getElementById("c_name").value;
				var player=document.getElementById("player_name").value;
				var data="char=" + escape(char) + "&player=" + escape(player) + "&email=" + escape(email);
				var url="../engine/email.php";
				emailRequest(request5,url,data);
			}
		}
	}
}

function emailRequest(request5,url,data){
	request5.onreadystatechange=emailDisplay;
	request5.open("POST",url,true);
	request5.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  	request5.send(data);
}

function emailDisplay(){
	dispProgress();
	if(request5.readyState == 4){
	hideProgress();
		var newReply=request5.responseText;
		alert(newReply);
		request5=createRequest();
	}
}

/***********************************************************************************/
