//CALCULATE RACE
//*********************************************************************
function CalculateRace(iOverride){
//if (iOverride == 1){//calculate irregardless
  s1 = document.form1.name.value;
	s2 = document.form1.status.value;
	sFile = "ra_calc.php?var1="+s1+"&var2="+s2;
	var winCalc = null;
	winCalc = window.open(sFile,'CalcRace',
		'width=300,height=600,top=5,left=5,location=no, menubar=no, status=yes, toolbar=no, scrollbars=yes, resizable=yes');
	winCalc.focus();
	self.name = "racesheet";
}
//END



//CALCULATE BODY SIZE
//*********************************************************************
function calc_bodysize(iSI,iReturn){
var iVitae = 0;
var i1 = 0;
if (trim(iSI) == ""){return;}
if (iSI > 1.00){
  iVitae = Math.round(10 * iSI);
	}
 else {
  i1 = (1.00 - iSI)*10;
  iVitae = Math.round(10 * i1)* -1;
  }
if (iSI == 1.00){ 
  iVitae = 0;
	}
//export cost
if (iReturn != 1) {
  document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	}
 else{
  return iVitae;
  }
}
//END



//CALCULATE COMMUNICATION
//*********************************************************************
function calc_communication(iT,iReturn){
var iVitae = 0;
if (iT == ""){iT = 0;}
if (validate_integer(iT)){
	iT = parseInt(iT);
	iVitae = iVitae + (iT * 6);
	}
iVitae = Math.round(iVitae);
//export cost
if (iReturn != 1) {
  document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	}
 else{
  return iVitae;
  }
}
//END



//CALCULATE DEXTERITY
//*********************************************************************
function calc_dexterity(MA,iReturn){
var iVitae = 0;
switch (MA){
  case "Able to exert force without any grace":         iVitae = 0; break;
  case "Able to grab and drag objects":                 iVitae = 10; break;
  case "Able to grasp objects for carrying":            iVitae = 20; break;
  case "Able to hold and manipulate objects":           iVitae = 30; break;
  case "Able to deftly manipulate objects":             iVitae = 40; break;
  case "Able to craftily manipulate small objects":     iVitae = 50; break;
  case "Able to manipulate microscopic objects":        iVitae = 60; break;
  case "Can manipulate items without physical contact": iVitae = 70; break;
  case "Can magnate metal without physical contact":    iVitae = 55; break;
  }
//export cost
if (iReturn != 1) {
  document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	}
 else{
  return iVitae;
  }
}
//END



//CALCULATE DIET
//*********************************************************************
function calc_diet(iP,iM,iReturn){
var iVitae = 0;
iP = ZeroOut(iP);
if (iM == ""){iM = 0;}
if (validate_integer(iP)){
  iP = parseInt(iP);
  iVitae = iVitae + (Math.round((iVitae + iP)/2));
	}
if (validate_integer(iM)){
  iM = parseInt(iM);
  iVitae = iVitae + (Math.round((iVitae + iM)/2));
	}
//export cost
if (iReturn != 1) {
  document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	}
 else{
  return iVitae;
  }
}
//END



//CALCULATE ENVIRONMENT
//*********************************************************************
function calc_enviroment(iVar,iReturn){
var iVitae = 0;
iVar = ZeroOut(iVar);
if (validate_integer(iVar)){
  if (iVar == 0){iVar = 1;}
	iVitae = Math.round(iVar);
	}
//export cost
if (iReturn != 1) {
  document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	}
 else{
  return iVitae;
  }
}
//END



//CALCULATE LIFESPAN
//*********************************************************************
function calc_lifespan(sLife,iReturn){
var iVitae = 0;
switch (sLife){
  case "1 Hour":       iVitae = 0; break;
  case "1 Day":        iVitae = 5; break;
  case "1 Year":       iVitae = 15; break;
  case "10 Years":     iVitae = 30; break;
  case "30 Years":     iVitae = 60; break;
  case "50 Years":     iVitae = 80; break;
  case "75 Years":     iVitae = 100; break;
  case "100 Years":    iVitae = 125; break;
  case "150 Years":    iVitae = 150; break;
  case "200 Years":    iVitae = 175; break;
  case "300 Years":    iVitae = 200; break;
  case "500 Years":    iVitae = 225; break;
  case "750 Years":    iVitae = 250; break;
  case "1000 Years":   iVitae = 280; break;
  case "2000 Years":   iVitae = 300; break;
  case "3000 Years":   iVitae = 350; break;
  case "Does Not Age": iVitae = 400; break;
  }
//export cost
if (iReturn != 1) {
  document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	}
 else{
  return iVitae;
  }
}
//END



//CALCULATE LOCOMOTION
//*********************************************************************
function calc_locomotion(iSource,iReturn){
//iSource will someday be used to grab from the main page instead of the satellite
//gather variables
var iVitae = 0;
if (iSource == 0){
	var sWalk      = (subform.lo_walk.value);
	var sJump      = (subform.lo_jump.value);
	var sGlide     = (subform.lo_glide.value);
	var sFly       = (subform.lo_fly.value);
	var sSwim      = (subform.lo_swim.value);
	var sClimb     = (subform.lo_climb.value);
	var sCling     = (subform.lo_cling.value);
	var sDig       = (subform.lo_dig.value);
	var sTeleport  = (subform.lo_teleport.value);
	var sRunmod    = (subform.lo_runmod.value);
	var sSprintmod = (subform.lo_sprintmod.value);
  }
 else if (iSource == 1) {
	var sWalk      = (form1.lo_walk.value);
	var sJump      = (form1.lo_jump.value);
	var sGlide     = (form1.lo_glide.value);
	var sFly       = (form1.lo_fly.value);
	var sSwim      = (form1.lo_swim.value);
	var sClimb     = (form1.lo_climb.value);
	var sCling     = (form1.lo_cling.value);
	var sDig       = (form1.lo_dig.value);
	var sTeleport  = (form1.lo_teleport.value);
	var sRunmod    = (form1.lo_runmod.value);
	var sSprintmod = (form1.lo_sprintmod.value);
  }
 else if (iSource == 2) {
	var sWalk      = (window.opener.document.getElementById('lo_walk').value);
	var sJump      = (window.opener.document.getElementById('lo_jump').value);
	var sGlide     = (window.opener.document.getElementById('lo_glide').value);
	var sFly       = (window.opener.document.getElementById('lo_fly').value);
	var sSwim      = (window.opener.document.getElementById('lo_swim').value);
	var sClimb     = (window.opener.document.getElementById('lo_climb').value);
	var sCling     = (window.opener.document.getElementById('lo_cling').value);
	var sDig       = (window.opener.document.getElementById('lo_dig').value);
	var sTeleport  = (window.opener.document.getElementById('lo_teleport').value);
	var sRunmod    = (window.opener.document.getElementById('lo_runmod').value);
	var sSprintmod = (window.opener.document.getElementById('lo_sprintmod').value);
  }

if (validate_integer(sWalk)){
  iVitae = iVitae + (10 * sWalk);
	}
if (validate_integer(sJump)){
  iVitae = iVitae + (20 * sJump);
	}
if (validate_integer(sGlide)){
  iVitae = iVitae + (15 * sGlide);
	}
if (validate_integer(sFly)){
  iVitae = iVitae + (20 * sFly);
	}
if (validate_integer(sSwim)){
  iVitae = iVitae + (10 * sSwim);
	}
if (validate_integer(sClimb)){
  iVitae = iVitae + (15 * sClimb);
	}
if (validate_integer(sCling)){
  iVitae = iVitae + (25 * sCling);
	}
if (validate_integer(sDig)){
  iVitae = iVitae + (40 * sDig);
	}
if (validate_integer(sTeleport)){
  iVitae = iVitae + (60 * sTeleport);
	}
if (validate_integer(sRunmod)){
  iVitae = iVitae + (40 * sRunmod);
	}
if (validate_integer(sSprintmod)){
  iVitae = iVitae + (20 * sSprintmod);
	}

iVitae = Math.round(iVitae / 3);

//export cost
if (iReturn != 1) {
  document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	}
 else{
  return iVitae;
  }
}
//END



//CALCULATE NATURAL ARMOR
//*********************************************************************
function calc_naturalarmor(iDef,iWeight,iReturn){

//check to make sure we are dealing with numbers
if (validate_integer(iDef) == false){exit;}
if (validate_integer(iWeight) == false){exit;}

//1 point of defense = 2 point of vitae
var iVitae = (iDef * 2);
	
//vitae calculate for weight
var i1 = iVitae * iWeight;
i1 = iVitae - i1;
iVitae = Math.round(i1);

//export cost
if (iReturn != 1) {
  document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	}
 else{
  return iVitae;
  }
}
//END



//CALCULATE REPRODUCTION
//*********************************************************************
function calc_reproduction(sNumber,sFreak,iReturn){
	var iNumber = 0;
	switch (sNumber){
		case "01":iNumber = 5; break;
		case "02":iNumber = 10; break;
		case "03":iNumber = 15; break;
		case "05":iNumber = 20; break;
		case "07":iNumber = 30; break;
		case "10":iNumber = 50; break;
		case "20":iNumber = 70; break;
		case "50":iNumber = 100; break;
		case "1H":iNumber = 150; break;
		case "1T":iNumber = 300; break;
		case "1M":iNumber = 600; break;
		}
	var iFreak = 0;
	switch (sFreak){
		case "01L":iFreak = 0; break;
		case "01T":iFreak = 1; break;
		case "500":iFreak = 2; break;
		case "200":iFreak = 4; break;
		case "100":iFreak = 8; break;
		case "075":iFreak = 10; break;
		case "050":iFreak = 12; break;
		case "025":iFreak = 16; break;
		case "015":iFreak = 20; break;
		case "010":iFreak = 25; break;
		case "007":iFreak = 30; break;
		case "005":iFreak = 35; break;
		case "003":iFreak = 40; break;
		case "002":iFreak = 50; break;
		case "001":iFreak = 60; break;
		case "01B":iFreak = 70; break;
		case "01M":iFreak = 100; break;
		case "01W":iFreak = 200; break;
		case "01D":iFreak = 400; break;
		case "01H":iFreak = 600; break;
		}
	var iVitae = iNumber + iFreak;
	//export cost
	if (iReturn != 1) 
		document.getElementById("Vitae").innerHTML = "<b>"+iVitae+"</b>";
	 else
		return iVitae;
}
//END



//GET PROPENSITY COST
//*********************************************************************
function race_GetPropCost(sKind){
var s1 = "";
switch (sKind){
  case "M": s1 = "60"; break;
  case "G": s1 = "50"; break;
  case "H": s1 = "40"; break;
  case "A": s1 = "30"; break;
  case "L": s1 = "20"; break;
  case "S": s1 = "10"; break;
  case "I": s1 = "0"; break;
  default : s1 = "0"; break;
  }
return s1;
}
//END



//RUN TITLE
//*********************************************************************
function runtitle(iRun){
var s1 = "";
switch (iRun){
  case "1": s1 = "Cannot Run"; break;
  case "2": s1 = "Runs Normally, x2"; break;
  case "3": s1 = "Runs Normally, x3"; break;
  case "4": s1 = "Runs Quickly, x4"; break;
  case "5": s1 = "Runs Quickly, x5"; break;
  case "6": s1 = "Runs Swiftly, x6"; break;
  case "7": s1 = "Runs Swiftly, x7"; break;
  case "8": s1 = "Runs Fast, x8"; break;
  case "9": s1 = "Runs Fast, x9"; break;
  case "10": s1 = "Runs Superfast, x10"; break;
  }
return s1;
}
//END



//SPRINT TITLE
//*********************************************************************
function sprinttitle(iSprint){
var s1 = "";
switch (iSprint){
  case "1": s1 = "Cannot Sprint"; break;
  case "2": s1 = "Sprints Slowly, x2"; break;
  case "3": s1 = "Sprints Slowly, x3"; break;
  case "4": s1 = "Sprints Normally, x4"; break;
  case "5": s1 = "Sprints Normally, x5"; break;
  case "6": s1 = "Sprints Quickly, x6"; break;
  case "7": s1 = "Sprints Quickly, x7"; break;
  case "8": s1 = "Sprints Swiftly, x8"; break;
  case "9": s1 = "Sprints Swiftly, x9"; break;
  case "10": s1 = "Sprints Fast, x10"; break;
  case "11": s1 = "Sprints Fast, x11"; break;
  case "12": s1 = "Sprints Superfast, x12"; break;
  case "13": s1 = "Sprints Superfast, x13"; break;
  case "14": s1 = "Sprints Wickedfast, x14"; break;
  case "15": s1 = "Sprints Wickedfast, x15"; break;
	}
return s1;
}
//END



//TRANSLATE TECHNO
//*********************************************************************
function transtechno(id1){
var s1 = "";
switch (id1){
  case "0": s1 = "Primordial"; break;
  case "1": s1 = "Base Civil"; break;
  case "2": s1 = "Bronze Age"; break;
  case "3": s1 = "Iron Age"; break;
  case "4": s1 = "Medieval"; break;
  case "5": s1 = "Enlightened"; break;
  case "6": s1 = "Industrial"; break;
  case "7": s1 = "Modern"; break;
  case "8": s1 = "Communication Age"; break;
  case "9": s1 = "Global Age"; break;
  case "10": s1 = "Planetary Space"; break;
  case "15": s1 = "Interstellar"; break;
  case "20": s1 = "Intergalactic"; break;
	}
return s1;
}
//END




//TRANSLATE REPRODUCTION
//*********************************************************************
function transReproduction(reSimiliar, reKind, reNumber, reFreak){
  var sDescription = "These ";
	var sKind = "";
	switch (reKind){
		case "1":sKind = "asexual"; break;
		case "2":sKind = "sexual"; break;
		}
	sDescription += sKind+" ";
	
	var sSimiliar = "";
	switch (reSimiliar){
		case "01":sSimiliar = "self-dividing, amoeba-like"; break;
		case "02":sSimiliar = "score producing, mold-like"; break;
		case "03":sSimiliar = "budding, hydra-like"; break;
		case "04":sSimiliar = "seed producing, plant-like"; break;
		case "05":sSimiliar = "cluster laying, insect-like"; break;
		case "06":sSimiliar = "egg laying, duck-like"; break;
		case "07":sSimiliar = "litter bearing, cat-like"; break;
		case "08":sSimiliar = "marsupial, kangaroo-like"; break;
		case "10":sSimiliar = "manufactured, robot-like"; break;
		case "09":sSimiliar = "viviparous, human-like"; break;
		}
	sDescription += sSimiliar+" creatures produce ";
	
	var sNumber = reNumber;
	switch (reNumber){
		case "1M":sNumber = "1 million"; break;
		case "1T":sNumber = "1 thousand"; break;
		case "1H":sNumber = "1 hundred"; break;
		case "07":sNumber = "7"; break;
		case "05":sNumber = "5"; break;
		case "03":sNumber = "3"; break;
		case "02":sNumber = "2"; break;
		case "01":sNumber = "1"; break;
		}
	sDescription += sNumber+" offspring ";
	
	var sFreak = "";
	switch (reFreak){
		case "01L":sFreak = "once in a lifetime"; break;
		case "01T":sFreak = "once every 1000 years"; break;
		case "500":sFreak = "once every 500 years"; break;
		case "200":sFreak = "once every 200 years"; break;
		case "100":sFreak = "once every 100 years"; break;
		case "075":sFreak = "once every 75 years"; break;
		case "050":sFreak = "once every 50 years"; break;
		case "025":sFreak = "once every 25 years"; break;
		case "015":sFreak = "once every 15 years"; break;
		case "010":sFreak = "once every 10 years"; break;
		case "007":sFreak = "once every 7 years"; break;
		case "005":sFreak = "once every 5 years"; break;
		case "003":sFreak = "once every 3 years"; break;
		case "002":sFreak = "once every 2 years"; break;
		case "001":sFreak = "every year"; break;
		case "01B":sFreak = "bi-yearly"; break;
		case "01M":sFreak = "every month"; break;
		case "01W":sFreak = "every week"; break;
		case "01D":sFreak = "every day"; break;
		case "01H":sFreak = "every hour"; break;
		}
	sDescription += sFreak+".";
  return sDescription;
}
//END
