function UpdateChar(char)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="CC.php?Update"
var form = document.CharacterCreation;
//alert(form.RaceName.value+form.Race.value+form.Rank.value+form.Class.value);
var postvar="Rank=" + encodeURI( form.Rank.value ) +
					"&Char=" + encodeURI( char ) +
                    "&RaceName=" + encodeURI( form.RaceName.value ) +
					"&Race=" + encodeURI( form.Race.value ) +
					"&Deaths=" + encodeURI( form.Deaths.value ) +
					"&Class=" + encodeURI( form.Class.value );
xmlHttp.onreadystatechange=Change
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function CharChange(char)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="index.php?"
//alert(form.RaceName.value+form.Race.value+form.Rank.value+form.Class.value);
var postvar="ChangeChar=" + encodeURI( char ) +
			"Url=" + encodeURI('');
xmlHttp.onreadystatechange=Char
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function Change() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
// alert("DONE");
	document.getElementById("MainBox").innerHTML=xmlHttp.responseText
 <!--xmlHttp.responseText -->
 } 
}
function Char() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 alert("DONE");
 document.location=document.location;
 //document.getElementById("SkillsBox").innerHTML=xmlHttp.responseText
 <!--xmlHttp.responseText -->
 } 
}

function Switch(page, char)
{
//alert("DONE");
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="CC.php?" + page;
var postvar="Char=" + encodeURI( char );
xmlHttp.onreadystatechange=Change
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
	if ( page == 'Skills' )
	{
	setTimeout('PointsUsed('+char+')',10);
		//setTimeout('openskills('+char+')',1000);
	}
	/*else if ( page == '' )
	{
	setTimeout('PointsUsed('+char+')',10);
	//alert(char);
		//setTimeout('openskills('+char+')',1000);
	}*/
}

function openskills(char, power)
{
//PointsUsed(char);
//CalcLife(char);
//CalcPower(char);
//CalcMana(char);
}

function Skills(cat, char)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="CC.php?Skills=" + cat
var postvar="Char=" + encodeURI( char );
xmlHttp.onreadystatechange=ChangeSkills
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function SwitchChar(page, char)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="Characters.php?" + page;
var postvar="Char=" + encodeURI( char );
xmlHttp.onreadystatechange=Change
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
//alert("DONE");
}

function Change() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 //alert("DONE");
 document.getElementById("MainBox").innerHTML=xmlHttp.responseText
 <!--xmlHttp.responseText -->
 } 
}
function ChangeSkills() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 //alert("DONE");
 document.getElementById("SkillsBox").innerHTML=xmlHttp.responseText
Inputs();
 <!--xmlHttp.responseText -->
 } 
}

function Descriptions(id, desc) {
	var e = document.getElementById(id);
	//if(e.className.indexOf("hide") > -1) e.className = e.className.replace("hide", "show");
	//else if (e.className.indexOf("show") > -1) e.className = e.className.replace("show", "hide");
	if (e.innerHTML.length > 0)
	{
	e.innerHTML = "";
	}
	else
	{
	var offsetY = e.position;
	e.innerHTML = "<div id='Y'  onBlur='javascript:Descriptions(\""+id+"\", \""+desc+"\");' onClick='javascript:Descriptions(\""+id+"\", \""+desc+"\");' style='position:absolute;left:"+offsetY+";top:"+offsetY+";background-color: #DDEEDD; width: 300; border-style: solid; border-width: 1px; border-color: #000000; padding: 3px;'>"+desc+"</div>";
	document.getElementById('Y').focus();
	}	
}

/*function UpdateSkills(control, id, value, stat, statvalue)
{
	var e = document.getElementById(control);
	var newcost = calculation(value, e.value);
	var oldcost = UpdateSkillCost(id, newcost);
	UpdatePointsUsed(oldcost, newcost);
	UpdateStat(e, stat, statvalue);
	e.oldvalue = val;
}*/
function UpdateSkills(control)
{
	var cost = $('#Cost_' + control.attr("Skill_ID")).text();
	var newcost = calculation(cost, control.val());
	var oldcost = UpdateSkillCost(control.attr("Skill_ID"), newcost);
	
	UpdatePointsUsed(oldcost-newcost);

	UpdateStat(control);
	
	control.attr("oldvalue", control.val());
}

function UpdateSkillCost(id, value)
{
	var total = $('#Total_'+id);
	var oldcost = total.text();
	
	total.text(value);
	
	return oldcost;
}

function UpdateStat(control)
{
	if (control.attr("Stat") == "")
	{
		return;
	}
	var newstatvalue = control.val() * control.attr("Stat_Value");
	var oldstatvalue = control.attr("oldvalue") * control.attr("Stat_Value");
	
	var output;
	switch(control.attr("Stat"))
	{
		case 'Life':
		 	output = $('#Life');
		break
		case 'Power':
			output = $('#Power');
		break
		case 'Mana':
			output = $('#Mana');
		break
	}
	
	var value = parseInt(output.text());
	value = (value - oldstatvalue) + newstatvalue;
	output.text(value);
}
function UpdatePointsUsed(cost)
{
	var points = $('#Points_Used');
	var current = parseInt(points.text());
	var newused = current - parseInt(cost);
	points.text(newused);
}

function SaveSkills(value, skillid)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
  if (value == "")
  {
	value = -1;
  }
var url="CC.php?";
var postvar="Char_ID=" + encodeURI( char_ID ) +
			"&Skill_ID=" + encodeURI( skillid ) +
			"&Value=" + encodeURI( value );
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
//alert("DONE");
}

/*function SaveNewSkills(value, charid, skillid)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
  if (value == "")
{
value = -1;
}
var url="CC.php?";
var postvar="Char_ID=" + encodeURI( charid ) +
			"&Skill_ID=" + encodeURI( skillid ) +
			"&Value=" + encodeURI( value );
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
//alert("DONE");
}*/

/*function UpdateStat(control, stat, statvalue)
{
	if (stat == "")
	{
		return;
	}
	var newstatvalue = control.value * statvalue;
	var oldstatvalue = control.oldvalue * statvalue;
	var output;
	switch(stat)
	{
	case 'Life':
	 output = document.getElementById('Life');
	break
	case 'Power':
	output = document.getElementById('Power');
	break
	case 'Mana':
	output = document.getElementById('Mana');
	break
	}
	
	var value = parseInt(output.innerHTML);
	value = (value - oldstatvalue) + newstatvalue;
	output.innerHTML = value;
}

function UpdateSkillCost(id, value)
{
	var e = document.getElementById('Total_'+id);
	var oldcost = e.innerHTML;
	e.innerHTML = value;
	
	return oldcost;
}
function UpdateStat(control, stat, statvalue)
{
	if (stat == "")
	{
		return;
	}
	var newstatvalue = control.value * statvalue;
	var oldstatvalue = control.oldvalue * statvalue;
	var output;
	switch(stat)
	{
	case 'Life':
	 output = document.getElementById('Life');
	break
	case 'Power':
	output = document.getElementById('Power');
	break
	case 'Mana':
	output = document.getElementById('Mana');
	break
	}
	
	var value = parseInt(output.innerHTML);
	value = (value - oldstatvalue) + newstatvalue;
	output.innerHTML = value;
}
function UpdatePointsUsed(oldcost, newcost)
{
	var e = document.getElementById('Points_Used');
	var current = parseInt(e.innerHTML);
	var newused = current - parseInt(oldcost) + parseInt(newcost);
	e.innerHTML = newused;
}
*/
function UpdateSkillValues(id, value)
{
//alert( id + " " + value);
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="Skills.php?"
value = value.replace("+","^");
var postvar="Value=" + encodeURI( value ) +
					"&ID=" + encodeURI( id );
xmlHttp.open("POST",url,true)
//xmlHttp.onreadystatechange=Alert
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function NewSkillValues( value, race, class_id, skill)
{
//alert( value + " " + race + " " + class_id + " " + skill);
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="Skills.php?"
value.replace("+","^");
//alert(form.RaceName.value+form.Race.value+form.Rank.value+form.Class.value);
var postvar="Value=" + encodeURI( value ) +
					"&Race_ID=" + encodeURI( race ) +
					"&Class_ID=" + encodeURI( class_id ) +
					"&Skill_ID=" + encodeURI( skill );
xmlHttp.open("POST",url,true)
//xmlHttp.onreadystatechange=Alert
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function Alert()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 alert(xmlHttp.responseText);
 }
}

function Max(control, maximum)
{
	if (control.value > maximum)
	{
		control.value = control.oldvalue;
	}
}

function Validate(e) 
{ 
	var keynum;
      if(window.event) // IE
		{
		keynum = e.keyCode
		}
		else if(e.which) // Netscape/Firefox/Opera
		{
		keynum = e.which
		}

	  if (((keynum >= 48) && (keynum <= 57)) || keynum == 8)  //0-9 
      { 
         return true; 
      } 
	  else
	  {
	//	  alert(keynum + "new");
      return false; 
	  }
} 

function Inputs()
{
  $(":checkbox").change(function () 
  { 
  	var v = 0;
	if ($(this).attr("checked"))
	{
		$(this).val("1");
	}
	else
	{
		$(this).val("0");
	}
	
	UpdateSkills($(this));
	//UpdateSkills($(this).attr("id"), $(this).attr("Skill_ID"), $('#Cost_' & $(this).attr("Skill_ID")).text(), $(this).attr("Stat"), $(this).attr("Stat_Value")); 
  	SaveSkills($(this).val(), $(this).attr("Skill_ID"));
  });
  $(":text").blur(function () 
  { 
	//UpdateSkills('<? echo $skill_row[Name]?>', '<? echo $skill_row[ID]?>', '<? echo $skill_info[Value]; ?>', '<? echo $skill_row[Stat];?>', '<? echo $skill_row[Stat_Value];?>'); 
	UpdateSkills($(this));
	//UpdateSkills($(this).attr("id"), $(this).attr("Skill_ID"), $('#Cost_' & $(this).attr("Skill_ID")).text(), $(this).attr("Stat"), $(this).attr("Stat_Value")); 
  	SaveSkills($(this).val(), $(this).attr("Skill_ID"));
  });
}
function PointsUsed(id)
{
var e;
e = document.getElementById("Points_Used");
if (e == null)
{
	setTimeout('PointsUsed('+id+')',10);
	return;
}
Inputs();
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="Calc.php?";
var postvar="ID=" + encodeURI( id ) +
			"&PointsUsed=" + encodeURI( id );
xmlHttp.onreadystatechange=Points
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function Points() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
// 00000003600105
 //alert("DONE");
 //document.getElementById("Points_Used").innerHTML=xmlHttp.responseText
 <!--xmlHttp.responseText -->
 var responce = xmlHttp.responseText;

 var output = document.getElementById("Power");
 var value = parseInt(output.innerHTML);
 value = value + parseInt(responce.substr(0,3),10);
 output.innerHTML = value;

 value = parseInt(responce.substr(3,3),10);
 document.getElementById("Mana").innerHTML=value;
 
 output = document.getElementById("Life");
 value = parseInt(output.innerHTML);

 value = value + parseInt(responce.substr(6,3),10);
 output.innerHTML = value;

  value = responce.substr(9,5);
  var zeroes = "";
  for (i = 0; i < value.length -1; ++i)
  {
	  if (value.charAt(i) == "0")
	  {
		zeroes = zeroes + "0";	
	  }
  else 
  break
  }
  //		alert(zeroes);
  value = value.replace(zeroes, "");
  output = document.getElementById("Points_Used");
  output.innerHTML=value;
 } 
}

function CalcLife(id)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="Calc.php?";
var postvar="ID=" + encodeURI( id ) +
			"&Life=" + encodeURI( id );
xmlHttp.onreadystatechange=Life
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function Life() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 //alert("DONE");
 document.getElementById("Life").innerHTML=xmlHttp.responseText
 <!--xmlHttp.responseText -->
 } 
}

function CalcMana(id)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="Calc.php?";
var postvar="ID=" + encodeURI( id ) +
			"&Mana=" + encodeURI( id );
xmlHttp.onreadystatechange=Mana
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function Mana() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 //alert("DONE");
 document.getElementById("Mana").innerHTML=xmlHttp.responseText
 <!--xmlHttp.responseText -->
 } 
}

function CalcPower(id)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="Calc.php?";
var postvar="ID=" + encodeURI( id ) +
			"&Power=" + encodeURI( id );
xmlHttp.onreadystatechange=Power
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", postvar.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postvar);
}

function Power() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 //alert("DONE");
 var output = document.getElementById("Power");
 var value = parseInt(output.innerHTML);
  value = value + parseInt(xmlHttp.responseText);
   output.innerHTML = value;
 <!--xmlHttp.responseText -->
 } 
}


