
var xmlhttp;

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}

function ProceedPay(){
	if(document.getElementById("proceed_hidden").value="1"){
	document.proceed.submit();
	}
	}
function copyCountry(country){document.getElementById("country_hidden_div").value=country;}
function custom_eff_copy(eff){document.getElementById("hidden-car").value=eff;}
function use_car_type(type){document.getElementById("use_car_type").value=type;}
function removeCommas(aNum) {
	aNum=aNum.replace(/,/g,"");
	aNum=aNum.replace(/\s/g,"");
	return aNum;
}
function updateButtons(status){
	
	}
function submit_form(status){
	if (status == 1) {
		document.getElementById("theform").action= "review.php?purchase=remaining";
		}
	document.theform.submit();
	}
function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) {
	var x = Math.round(num * Math.pow(10,dec));
	if (x >= 0) n1=n2='';
	var y = (''+Math.abs(x)).split('');var z = y.length - dec;
	if (z<0) z--;
	for(var i = z; i < 0; i++) y.unshift('0');
	if (z<0) z = 1;
	y.splice(z, 0, pnt); if(y[0] == pnt) y.unshift('0');
	while (z > 3) {
		z-=3;
		y.splice(z,0,thou);
	}
	var r = curr1+n1+y.join('')+n2+curr2;
	return r;
}
function updateTotal(){
	var car = 0;
	var plane = 0;
	var electricity = 0;
	var gas = 0;
	
	if (document.getElementById("car_hidden_div").value){
		car = parseFloat(removeCommas(document.getElementById("car_hidden_div").value));
		}
	if(document.getElementById("plane_hidden_div").value){
		plane = parseFloat((document.getElementById("plane_hidden_div").value));
		}
	if(document.getElementById("electricity_hidden_div").value){
		electricity = parseFloat(removeCommas(document.getElementById("electricity_hidden_div").value));
		}
	if(document.getElementById("gas_hidden_div").value){
		gas = parseFloat(removeCommas(document.getElementById("gas_hidden_div").value));
		}
	var total = (car + plane + electricity + gas);
	if (total > 0 ) { 
		document.getElementById("next_step_block").style.display = "block"
		}
	else {
		document.getElementById("next_step_block").style.display = "none";
		} 

	if (document.getElementById("language").value=="zh"){
	  document.getElementById("total_subtotal").innerHTML = "<table class=\"subtotals\" width=\"350\"><tr class=\"black_line\"><td width=\"100\"><b>&#24635;&#37327;</b></td><td align=\"right\"><b>" +formatNumber(total,2,',','.','',' &#21544;','','') + "</b></td></tr></table>"; 
	  }
	else { 
	  document.getElementById("total_subtotal").innerHTML =  "<table class=\"subtotals\" width=\"350\"><tr class=\"black_line\"><td width=\"100\"><b>Total Emissions</b></td><td align=\"right\"><b>"+formatNumber(total,2,',','.','',' tons','','') + "</b></td></tr></table>"; 
	  }
	document.getElementById("total_hidden_div").value = total;
}


function updateCalculator(){
	var car = 0;
	var plane = 0;
	var electricity = 0;
	var gas = 0;
	car = parseFloat(removeCommas(document.getElementById("car_hidden_div").value));
	plane = parseFloat((document.getElementById("plane_hidden_div").value));
	electricity = parseFloat(removeCommas(document.getElementById("electricity_hidden_div").value));
	gas = parseFloat(removeCommas(document.getElementById("gas_hidden_div").value));
	var total = (car + plane + electricity + gas);
if (document.getElementById("language").value=="zh"){
	if ( car > 0 ) {
		document.getElementById("car_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">&#27773;&#36710;</td><td align=\"right\">"+document.getElementById("car_hidden_div").value+" &#21544;</td></tr></table>";
		}
	if ( electricity > 0 ) {
		document.getElementById("electricity_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">&#30005;</td><td align=\"right\">"+document.getElementById("electricity_hidden_div").value+" &#21544;</td></tr></table>";
		}
	if ( gas > 0 ) {
		gas = parseFloat(removeCommas(document.getElementById("gas_hidden_div").value));
		document.getElementById("gas_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">&#29123;&#27668;</td><td align=\"right\">"+document.getElementById("gas_hidden_div").value+" &#21544;</td></tr></table>";
		}
	if ( plane > 0 ) {
		plane = parseFloat((document.getElementById("plane_hidden_div").value));
		document.getElementById("plane_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">&#39134;&#26426;</td><td align=\"right\">"+document.getElementById("plane_hidden_div").value+" &#21544;</td></tr></table>";
		}
	document.getElementById("total_subtotal").innerHTML = "<table class=\"subtotals\" width=\"350\"><tr class=\"black_line\"><td width=\"100\"><b>&#24635;&#37327;</b></td><td align=\"right\"><b>" +formatNumber(total,2,',','.','',' &#21544;','','') + "</b></td></tr></table>"; 
	
} else {
		if ( car > 0 ) {
		document.getElementById("car_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">Vehicle</td><td align=\"right\">"+document.getElementById("car_hidden_div").value+" tons</td></tr></table>";
		}
	if ( electricity > 0 ) {
		document.getElementById("electricity_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">Electricity</td><td align=\"right\">"+document.getElementById("electricity_hidden_div").value+" tons</td></tr></table>";
		}
	if ( gas > 0 ) {
		document.getElementById("gas_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">Gas</td><td align=\"right\">"+document.getElementById("gas_hidden_div").value+" tons</td></tr></table>";
		}
	if ( plane > 0 ) {
		document.getElementById("plane_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">Plane</td><td align=\"right\">"+document.getElementById("plane_hidden_div").value+" tons</td></tr></table>";
		}
	document.getElementById("total_subtotal").innerHTML =  "<table class=\"subtotals\" width=\"350\"><tr class=\"black_line\"><td width=\"100\"><b>Total Emissions</b></td><td align=\"right\"><b>"+formatNumber(total,2,',','.','',' tons','','') + "</b></td></tr></table>"; 
	}
	
if (total > 0 ) { 
	document.getElementById("next_step_block").style.display = "block";
	}
else {
	document.getElementById("next_step_block").style.display = "none";
	} 
}


function changeUnits(num) {
	if (num=='standard') {
		//document.getElementById("unit1").innerHTML='(mpg)';
		//document.getElementById("unit2").innerHTML='miles';
		//document.getElementById("unit3").innerHTML='kWh';
		//document.getElementById("unit4").innerHTML='Liters';
		}
	if (num=='metric') {
		//document.getElementById("unit1").innerHTML='(liters/100km)';
		//document.getElementById("unit2").innerHTML='kilometers';
		//document.getElementById("unit3").innerHTML='kWh';
		//document.getElementById("unit4").innerHTML='Liters';
		}
	}
	
	
	

	
	
	
function  doPlane(planeFlight){
	xmlhttp=GetXmlHttpObject();
	seatType = document.getElementById('seat_type_' + planeFlight).value;
	startLeg = document.getElementById('leg_' + planeFlight + '_start').value;
	endLeg = document.getElementById('leg_' + planeFlight + '_end').value;
	oldValue = document.getElementById('leg_'+planeFlight+'_total').value;
	//if (document.getElementById("language").value=="zh"){
	//document.getElementById("plane_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line calculating\"><td width=\"100\">&#39134;&#26426;</td><td align=\"right\">&#35745;&#31639;...</td></tr></table>";}
	//else { document.getElementById("plane_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line calculating\"><td width=\"100\">Plane</td><td align=\"right\">Calculating...</td></tr></table>"; } 
	var patt1=new RegExp("\\([A-Z][A-Z][A-Z]\\)");
	var startNew = patt1.exec(startLeg);
	var endNew = patt1.exec(endLeg);
		var url="js/calculate-plane.new.php";
		url=url + "?s=" + startNew + "&e=" + endNew + "&t=" + seatType + "&l=" + planeFlight + "&o=" + oldValue;
		url=url+"&sid="+Math.random();
		xmlhttp.onreadystatechange=stateChangedDoFlight;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	
function  stateChangedDoFlight(){
	if (xmlhttp.readyState==4){
		var output = xmlhttp.responseText;
		var output_array = output.split(">>>");
		var planeFlight=new Number(output_array[0]);
		var roundLeg = document.getElementById('leg_' + planeFlight + '_round').checked;
		var oldValue=new Number(output_array[1]);
		var distance=new Number(output_array[2]);
		var newValue=new Number(output_array[3]);
		var startCity= output_array[4];
		var endCity= output_array[5];
		planeFlight = Math.round(planeFlight*100)/100;
		oldValue = Math.round(oldValue*100)/100;
		distance = Math.round(distance);
		newValue = Math.round(newValue*100)/100;
		displayValue = newValue;
		if (roundLeg==true) { newValue = newValue + newValue; } 
		var difference = parseFloat(newValue - oldValue);
		if (difference > 0|| difference < 0) {
			document.getElementById('leg_'+planeFlight+'_total').value=newValue;
			document.getElementById('leg_'+planeFlight+'_distance').value=distance;
			planeTotal = parseFloat(document.getElementById("plane_hidden_div").value);
			var newTotal = Math.round((planeTotal + difference)*100)/100;
			if (document.getElementById("language").value=="zh"){
				document.getElementById("plane_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">&#39134;&#26426;</td><td align=\"right\">"+newTotal+" &#21544;</td></tr></table>";
				newCaption="<table width=\"350\" style=\"margin:0;\"><tr><td width=\"10\">&nbsp;</td><td>"+startCity+" &#21040; "+endCity+" ("+distance+"km)</td><td align=\"right\">"+displayValue+" &#21544;</td></tr></table>";
				if (roundLeg==true) { newCaption = newCaption + "<table width=\"350\" style=\"margin:0;\"><tr><td width=\"10\">&nbsp;</td><td>"+endCity+" &#21040; "+startCity+" ("+distance+"km)</td><td align=\"right\">"+displayValue+" &#21544;</td></tr></table>"; }
				document.getElementById("leg_"+planeFlight+"_caption").value = newCaption;
				}
			else { 
				document.getElementById("plane_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">Plane</td><td align=\"right\">"+newTotal+" tons</td></tr></table>"; 
				newCaption="<table width=\"350\" style=\"margin:0;\"><tr><td width=\"10\">&nbsp;</td><td>"+startCity+" to "+endCity+" ("+distance+"km)</td><td align=\"right\">"+displayValue+" tons</td></tr></table>";
				if (roundLeg==true) { newCaption = newCaption + "<table width=\"350\" style=\"margin:0;\"><tr><td width=\"10\">&nbsp;</td><td>"+endCity+" to "+startCity+" ("+distance+"km)</td><td align=\"right\">"+displayValue+" tons</td></tr></table>"; }
				document.getElementById("leg_"+planeFlight+"_caption").value = newCaption;
				} 
			document.getElementById("plane_hidden_div").value=newTotal;
			//if (roundLeg==true){document.getElementById("plane_subtotal").innerHTML=roundLeg;}
			updatePlaneCaptions();
			updateTotal();
			}
		}
	}
	
	
function updatePlaneCaptions(){
	var flightnum = document.getElementById("flightnum").value;
	var i = 0;
	document.getElementById("plane_details").innerHTML="";
	while (i < flightnum) {
		i++;
		document.getElementById("plane_details").innerHTML+=document.getElementById("leg_"+i+"_caption").value;
		}
	}
	
	
	
	
	
	
function runRegister(firstname,lastname,email,password,country,company,phone,units,language){
	
document.getElementById("user-box-content").innerHTML='<b>Registering...</b>';
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="js/register-user.php";
url=url+"?f="+firstname+"&l="+lastname+"&e="+email+"&p="+password+"&c="+country+"&y="+company+"&z="+phone+"&u="+units+"&x="+language;
//document.getElementById("user-box-content").innerHTML=url;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChangedRegUser;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function showManufacturer(year,manufacturer,model)
{
document.getElementById("car_manufacturer_div").innerHTML='Finding Manufacturers...';
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="js/getcar.php";
url=url+"?type=manufacturer"+"&year="+year;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChangedCarManu;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function showModel(year,manufacturer,model)
{
document.getElementById("car_model_div").innerHTML='Finding Models...';
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="js/getcar.php";
url=url+"?type=model&manufacturer="+manufacturer+"&year="+year;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChangedCarModel;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function showMPG(year,manufacturer,model)
{
document.getElementById("hidden-car").value="Finding MPG...";
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="js/getcar.php";
url=url+"?type=mpg&manufacturer="+manufacturer+"&model="+model+"&year="+year;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChangedCarMPG;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}


function calculateGas(amount,type)
{
	
	
		if (document.getElementById("language").value=="zh"){
		document.getElementById("gas_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line calculating\"><td width=\"100\">&#29123;&#27668;</td><td align=\"right\">&#35745;&#31639;...</td></tr></table>";}
		else { document.getElementById("gas_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line calculating\"><td width=\"100\">Gas</td><td align=\"right\">Calculating...</td></tr></table>"; } 
		
		
document.getElementById("gas_amount_hidden_div").value=amount;
document.getElementById("gas_type_hidden_div").value=type;
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="js/calculate-gas.new.php";
url=url+"?a="+amount+"&t="+type;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChangedCalcGas;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function calculateElectricity(amount,country)
{
		if (document.getElementById("language").value=="zh"){
		document.getElementById("electricity_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line calculating\"><td width=\"100\">&#30005;</td><td align=\"right\">&#35745;&#31639;...</td></tr></table>";}
		else { document.getElementById("electricity_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line calculating\"><td width=\"100\">Electricity</td><td align=\"right\">Calculating...</td></tr></table>"; } 
document.getElementById("electricity_amount_hidden_div").value=amount;
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="js/calculate-electricity.php";
url=url+"?a="+amount+"&c="+country;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChangedCalcElectricity;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function calculateCar(efficiency,distance,type)
{		
		if (document.getElementById("language").value=="zh"){
		document.getElementById("car_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line calculating\"><td width=\"100\">&#27773;&#36710;</td><td align=\"right\">&#35745;&#31639;...</td></tr></table>";}
		else { document.getElementById("car_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line calculating\"><td width=\"100\">Vehicle</td><td align=\"right\">Calculating...</td></tr></table>"; } 		
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="js/calculate-car.php";
url=url+"?e="+efficiency+"&d="+distance+"&t="+type;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChangedCalcCar;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}






function stateChangedCarManu()
{
if (xmlhttp.readyState==4)
{
document.getElementById("car_manufacturer_div").innerHTML=xmlhttp.responseText;
}
}

function stateChangedCarModel()
{
if (xmlhttp.readyState==4)
{
document.getElementById("car_model_div").innerHTML=xmlhttp.responseText;
document.getElementById("car6").style.display='block';
}
}

function stateChangedCarMPG()
{
if (xmlhttp.readyState==4)
{
document.getElementById("hidden-car").value=xmlhttp.responseText;
document.getElementById("car6").style.display='block';
}
}

function stateChangedRegUser()
{
if (xmlhttp.readyState==4)
{
var output = xmlhttp.responseText;
var output_array = output.split("******");
document.getElementById("user-box").innerHTML=output_array[0];
document.getElementById("user-box-login3").innerHTML=output_array[1];
document.getElementById("dashboard_update").innerHTML=output_array[2];
document.getElementById("country_hidden_div").value=output_array[3];
document.getElementById("id_hidden_div").value=output_array[4];
document.getElementById("email_hidden_div").value=output_array[5];
document.getElementById("firstname_hidden_div").value=output_array[6];
if (output_array[7]==1) {
		document.getElementById("dashboard_button").className='ui-state-default ui-corner-all vehicle-link';
		document.getElementById("logout_button").className='ui-state-default ui-corner-all vehicle-link';
		}
	else {
		document.getElementById("dashboard_button").className='ui-state-default ui-state-disabled ui-corner-all vehicle-link';
		document.getElementById("logout_button").className='ui-state-default ui-state-disabled ui-corner-all vehicle-link';
		}
}
}



function stateChangedCalcGas()
{
if (xmlhttp.readyState==4)
{
	if (xmlhttp.responseText==0){
		document.getElementById("gas_subtotal").innerHTML='';
		//document.getElementById("gas_subtotal").className="";
	}else{
		if (document.getElementById("language").value=="zh"){
		document.getElementById("gas_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">&#29123;&#27668;</td><td align=\"right\">"+xmlhttp.responseText+" &#21544;</td></tr></table>";}
		else { document.getElementById("gas_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">Gas</td><td align=\"right\">"+xmlhttp.responseText+" tons</td></tr></table>"; } 
		//document.getElementById("gas_subtotal").className="color_pie";
	}
	document.getElementById("gas_hidden_div").value=xmlhttp.responseText;
	updateTotal();
}
}


function stateChangedCalcElectricity()
{
if (xmlhttp.readyState==4)
{
	if (xmlhttp.responseText==0){
		document.getElementById("electricity_subtotal").innerHTML='';
		//document.getElementById("electricity_subtotal").className="";
	}else{
		if (document.getElementById("language").value=="zh"){
		document.getElementById("electricity_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">&#30005;</td><td align=\"right\">"+xmlhttp.responseText+" &#21544;</td></tr></table>";}
		else { document.getElementById("electricity_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">Electricity</td><td align=\"right\">"+xmlhttp.responseText+" tons</td></tr></table>"; } 
		//document.getElementById("electricity_subtotal").className="color_pie";
	}
	document.getElementById("electricity_hidden_div").value=xmlhttp.responseText;
	updateTotal();
}
}

function stateChangedCalcCar()
{
if (xmlhttp.readyState==4)
{
	if (xmlhttp.responseText==0){
		document.getElementById("car_subtotal").innerHTML='';
		//document.getElementById("car_subtotal").className="";
	}else{
		if (document.getElementById("language").value=="zh"){
		document.getElementById("car_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">&#27773;&#36710;</td><td align=\"right\">"+xmlhttp.responseText+" &#21544;</td></tr></table>";}
		else { document.getElementById("car_subtotal").innerHTML="<table class=\"subtotals\" width=\"350\"><tr class=\"gray_line\"><td width=\"100\">Vehicle</td><td align=\"right\">"+xmlhttp.responseText+" tons</td></tr></table>"; } 
		//document.getElementById("car_subtotal").className="color_pie";
	}
document.getElementById("car_hidden_div").value=xmlhttp.responseText;
updateTotal();
}
}



