var veh = false;
var bat = false;
var mot = false;
var cntr = false;
var veh_request = false;
var bat_request = false;
var mot_request = false;
var cntr_request = false;
var vehtxt = "";
var battxt = "";
var mottxt = "";
var cntrtxt = "";

// -------------------------------------------------------------------------
//                  SetSelections
//
// called onload to load any selected popup values
//
function LoadSelections()
{

  var f;
  d = document;
  var calc = true;
  f = d.forms[0];
  
  if (f.vehicle_type.selectedIndex!=0) 
    setVehicle(f.vehicle_type);
  else 
    calc = false;

  if (f.motor.selectedIndex!=0) 
    setMotor(f.motor);
  else 
    calc = false;

  if (f.battery.selectedIndex!=0)
    setBattery(f.battery);
  else 
    calc = false;

  if (f.controller.selectedIndex!=0) 
    setController(f.controller);
  else 
    calc = false;

  if (calc) {
    calcResults(d, false);
    f = d.getElementsByName("emailLink");
      f[0].style.display="block";
  }
}



function MailTo(d) {
    var strSubject = "My EV Calculations";
    var strBody = "Here's a link to my EV Calculations:\n\r";
    strBody += "  http://evconvert.com/tools/evcalc/?vals=" + MakeSettingsString(d.forms[0]);
    var doc = "mailto:" + "?subject=" + escape(strSubject) + "&body=" + (strBody);
    //http://tinyurl.com/api-create.php?url=
    window.location = doc;
}


function MakeSettingsString(f)
{
    var str = "";
    str += 'veh' + '=' + (f.vehicle_type.options[f.vehicle_type.selectedIndex].value*1) + ':';
    str += 'mot' + '=' + (f.motor.options[f.motor.selectedIndex].value*1) + ':';
    str += 'bat' + '=' + (f.battery.options[f.battery.selectedIndex].value*1) + ':';
    str += 'ctl' + '=' + (f.controller.options[f.controller.selectedIndex].value*1) + ':';
    
    str += 'vlt' + '=' + (f.voltage.value*1) + ':';
    str += 'nst' + '=' + (f.numString.value*1) + ':';
    str += 'dod' + '=' + (f.dodPercent.value*1) + ':';
    str += 'cwt' + '=' + (f.chargerWeight.value*1) + ':';
    str += 'wtr' + '=' + (f.weightRemoved.value*1) + ':';
    str += 'mwt' + '=' + (f.miscWeight.value*1) + ':';
    str += 'inc' + '=' + (f.incline.value*1) + ':';
    str += 'wnd' + '=' + (f.wind.value*1) + ':';
    str += 'sec' + '=' + (f.section.value*1) + ':';
    str += 'asp' + '=' + (f.aspect.value*1) + ':';
    str += 'rim' + '=' + (f.rim.value*1) + ':';
    str += 'rr'  + '=' + (f.rr.value*1) + ':';
    str += 'bs'  + '=' + (f.bs.value*1) + ':';
    str += 'kwh'  + '=' + (f.kwh.value*1) + ':';
    str += 'miles'  + '=' + (f.miles.value*1) + ':';

    return str;
}



function SetCookie(f)
{
    var str;
    str = MakeSettingsString(f)
    //alert('cookie:' + str);
    createCookie('vals',str,30)

}


function setBatteryVoltage (f)
{
  f.voltage.value = f.numBatteriesPerString.value * f.batteryVoltage.value;
}



function getMotorInfo (f, rpm, torque, voltage, amps)
{
  amps.value = getMotorCurrent (f, torque.value);
  voltage.value = getMotorVoltage (f, torque.value, rpm.value);

  return 0;
}


function calc_peukert (d)
{
  f = d.getElementsByName("a1");
  ii1 = f[0].value;
  f = d.getElementsByName("t1");
  tt1 = f[0].value;
  f = d.getElementsByName("a2");
  ii2 = f[0].value;
  f = d.getElementsByName("t2");
  tt2 = f[0].value;

  with (Math){
  t1 = log (tt1/60);
  i1 = log (ii1);
  t2 = log (tt2/60);
  i2 = log (ii2);
  peukert = (t2 - t1)/(i1 - i2);
  capacity = pow (ii1, peukert) * (tt1/60);
  d.getElementsByName("peukert1")[0].value = peukert;
  d.getElementsByName("capacity1")[0].value = capacity;
  }
  return 0;
}



function determine_peukert (d)
{
  f = d.getElementsByName("reserve");
  reserve = f[0].value;
  f = d.getElementsByName("twenty_hour");
  twenty_hour = f[0].value;
    
  with (Math){
  t1 = log (reserve/60);
  t2 = log (20);
  i2 = log (twenty_hour/20);
  i1 = log (25);
  peukart = (t2 - t1)/(i1 - i2);
  d.getElementsByName("peukert2")[0].value = peukart;
  d.getElementsByName("capacity2")[0].value = pow (twenty_hour/20, peukart) * (20);
  }
  return 0;
}




function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
