// JavaScript Document
function my_ajax_update(target,url,pars,timer) 
{
	var myAjax = new Ajax.Updater(target, url, {
			method: 'get', 
			parameters: pars,
			onSuccess: function(transport)
			{
			},
			onComplete: function()
			{     
				//alert('Request Completed'); 
				//Print flight Array and replace innerHtml of summary div.
			}
		});
	if (timer > 0) setTimeout("my_ajax('"+target+"','"+url+"','"+pars+"',"+timer+")",timer);
}

function my_ajax_request(url,pars)
{
	var myAjax = new Ajax.Request(url, {
		method: 'post',
		postBody: pars,
		evalScripts:true,
		asynchronous: true,
	    onSuccess: function(transport)
		{
			var response = transport.responseText || "";
			//debug("request response: " + response +"<br>"); 
			//Parse Values and Add them to Array
			if (response != "")
			{
				var fParsed = response.split(":");			
				var widget = fParsed[0];
				if( widget=='vehicle' ){
					addCar( response );
					carDisplay( widget );
				}
				else if( widget=='household' ){
					var carbon_balance = parseFloat(fParsed[1]);
					var price = parseFloat(fParsed[2]);
					displayFootprint(  widget, carbon_balance, price );
				}
                                else if( widget=='air' ){
					addFlight(response);
 					flightDisplay( widget );
				}
			} else
			{
				alert('Please select from all drop down selections.');	
			}
		},
		onComplete: function()
		{
		}
	}
	)
}

function addCar(car)
{
		//var ar = (cArray?cArray.length:"no");
	//alert(car);
	cCount = cArray.length;
	
	var cParsed = car.split(":");
    //Array(Year, Make, Model, Distance, Fuel Economy, CO2, COST, UNIT)
	cArray[cCount] = new Array(cParsed[1],cParsed[2],cParsed[3],cParsed[4],cParsed[5],cParsed[6],cParsed[7],		cParsed[8]);
}

function deleteCar(cIndex)
{
	cArray.splice(cIndex,1);
	carDisplay( 'vehicle' );
}
function addFlight(flight)
{
        //alert("IN ADD FLIGHT " + flight);
        fCount = fArray.length;

        var flParsed = flight.split(":");
    //Array(Flight Info, Distance, CO2, Amount, Unit)
        fArray[fCount] = new Array(flParsed[1],flParsed[2],flParsed[3],flParsed[4],flParsed[5]);

        document.getElementById("num_passenger").value = "";
        document.getElementById("departure").value = "Enter City Name";
        document.getElementById("arrival").value = "Enter City Name";
        document.getElementById("f_type").value = "return";
}

function deleteFlight(fIndex)
{
        fArray.splice(fIndex,1);
        flightDisplay();
}

function flightDisplay(widget)
{
        var summaryDiv = document.getElementById("summary");
        var distance = 0.00;
        var price = 0.00;
        var carbon_balance = 0.00;
        fCount = fArray.length;

        //Build Form and Table and Output Flight Array
        var summaryHtml = "";
        if (fCount > 0)
        {
                summaryHTML = "<form action='http://www.carbonfriendly.com/ecommerce/dispatcher.php' method='post' name='payment_form' id='payment_form' target='_parent'>";
                summaryHTML += "<table width='100%' border='0' style='border:1px solid #000; background-color: #FFF;'>";
                summaryHTML += "<tr><th>#</th><th>Info</th><th>Distance</th><th nowrap>CO2 (t)</th><th>Cost</th><th>Remove</th></tr>";
                for(var i=0;i<fCount;i++)
                {
                        summaryHTML += "<tr>";
                        summaryHTML += "<td style='text-align:center;'>"+i+"</td>";
                        summaryHTML += "<td style='text-align:center;' nowrap>"+fArray[i][0]+"</td>";
                        summaryHTML += "<td style='text-align:center;' nowrap>"+fArray[i][1]+" "+fArray[i][4]+"</td>";
                        summaryHTML += "<td style='text-align:center;' nowrap>"+fArray[i][2]+"</td>";
                        summaryHTML += "<td style='text-align:center;' nowrap>$"+fArray[i][3]+"</td>";
                        summaryHTML += "<td style='text-align:center;' nowrap><a href='#' onclick=\"deleteFlight("+i+");\"><img src='/0/carbon-calculator/widgets/delete.gif' border='0'></a></td>";
                        summaryHTML += "</tr>";
                        carbon_balance += parseFloat(fArray[i][2]);
                        price += parseFloat(fArray[i][3]);
                }
                summaryHTML += "<tr><td colspan='6'>&nbsp;</td></tr>";
                summaryHTML += "<tr><td colspan='6'>&nbsp;</td></tr>";
                //Print Totals
                summaryHTML += "<tr style='font-weight:bold;'>";
                summaryHTML += "<td style='text-align:left;' colspan='3' nowrap>Totals</td>";
                summaryHTML += "<td style='text-align:center;' nowrap>"+Math.round(carbon_balance*100)/100+"</td>";
                summaryHTML += "<td style='text-align:center;' nowrap>$"+Math.round(price*100)/100+"</td>";
                summaryHTML += "<td style='text-align:center;'></td>";
                summaryHTML += "</tr>";
                summaryHTML += "</table>";
                //Create Hidden Inputs for Payment Form
                summaryHTML += "<div style='text-align:right; padding:10px;'>";
                summaryHTML += "<input type='hidden' name='carbon_balance' value='"+ carbon_balance +"' />";
                summaryHTML += "<input type='hidden' name='price' value='"+ price +"' />";
                summaryHTML += "<input type='hidden' name='page_referrer' value='ajax_widget' />";
                summaryHTML += "<input type='hidden' name='offset_name' value='Flight Offset' />";
                summaryHTML += "<input type='submit' value='OFFSET NOW'>";
                summaryHTML += "</div>";
                summaryHTML += "</form>";
                summaryHTML += "<a href=\"#\" onclick=\"popup('popUpDiv')\">How Was This Calculated?</a>";
        } else
        {
                summaryHTML = "<div id='content'><div id='add_text'></div></div>";
        }

        summaryDiv.innerHTML = summaryHTML;
	displayFootprint(  widget, carbon_balance, price );
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

	
function getDocElementValue( el )
{
	var c_element = document.getElementById( el );
	return parseFloat(( c_element ? c_element.value : "0.00" ));		
}

function displayFootprint( widget, carbon_balance, price )
{	
//debug("displayFootprint widget: " + widget +"<br>"); 
//debug("displayFootprint carbon: " + carbon_balance +"<br>"); 
//debug("displayFootprint price: " + price +"<br>"); 
		var summaryDiv = document.getElementById("totals_summary");
		
		var household_carbon = getDocElementValue( "h_c" );
		var household_price = getDocElementValue( "h_p" );
		var vehicle_carbon = getDocElementValue( "v_c" );
		var vehicle_price = getDocElementValue( "v_p" );
		var flight_carbon = getDocElementValue( "f_c" );
		var flight_price = getDocElementValue( "f_p" );
		
		if( widget=='household' ){
			household_carbon = carbon_balance;
			household_price = price;
		}
		else if( widget=='vehicle' ){
			vehicle_carbon = carbon_balance;
			vehicle_price = price;
		}
                else if( widget=='air' ){
			flight_carbon = carbon_balance;
			flight_price = price;
		}
		var total_carbon = household_carbon + vehicle_carbon + flight_carbon;
		var total_price = household_price + vehicle_price + flight_carbon;
		
		//Build Form and Table and Output Flight Array
		var summaryHtml = "";
		
		if( total_price!='0' ){
			summaryHTML = "<form action='http://www.carbonfriendly.com/ecommerce/dispatcher.php' method='post' name='payment_form' id='payment_form_blank' target='_parent'>";
			summaryHTML += "<table width='100%' border='0' style='border:1px solid #000; background-color: #FFF;'>";
			summaryHTML += "<tr style='font-size: 12px;'><th style='text-align:left;'>&nbsp;&nbsp;&nbsp;&nbsp</th><th style='text-align:left;'>CO2 (t)</th><th style='text-align:left;' nowrap>Cost</th></tr>";
		
			//summaryHTML += "<tr><td>&nbsp;</td></tr>";
			//the footprint totals
			summaryHTML += "<tr style='font-weight:bold; font-size: 12px;'>";
			summaryHTML += "<td style='text-align:right;' nowrap>Total Carbon Footprint: </td>";
			summaryHTML += "<td style='text-align:left;' nowrap>"+Math.round(total_carbon*100)/100+"</td>";
			summaryHTML += "<td style='text-align:left;' nowrap>$"+Math.round(total_price*100)/100+" USD</td>";
			summaryHTML += "</tr>";
	
	summaryHTML += "</table>";
			//Create Hidden Inputs for Payment Form
			summaryHTML += "<div style='text-align:right; padding:10px;'>";
			summaryHTML += "<input type='hidden' id='h_c' name='household_carbon' value='"+ household_carbon +"' />";
			summaryHTML += "<input type='hidden' id='h_p' name='household_price' value='"+ household_price +"' />";
			summaryHTML += "<input type='hidden' id='v_c' name='vehicle_carbon' value='"+ vehicle_carbon +"' />";
			summaryHTML += "<input type='hidden' id='v_p' name='vehicle_price' value='"+ vehicle_price +"' />";
			summaryHTML += "<input type='hidden' id='f_c' name='flight_carbon' value='"+ flight_carbon +"' />";
                        summaryHTML += "<input type='hidden' id='f_p' name='flight_price' value='"+ flight_price +"' />";			
			summaryHTML += "<input type='hidden' name='carbon_balance' value='"+ total_carbon +"' />";
			summaryHTML += "<input type='hidden' name='price' value='"+ total_price +"' />";
			summaryHTML += "<input type='hidden' name='page_referrer' value='ajax_widget' />";
			summaryHTML += "<input type='hidden' name='offset_name' value='Household Offset' />";
			summaryHTML += "<input type='submit' value='OFFSET NOW'>";
			summaryHTML += "</div>";
			summaryHTML += "</form>";
			summaryHTML += "<a href=\"#\" onclick=\"popup('popUpDiv')\">How Was This Calculated?</a>";
		}
		else
		{
			summaryHTML = "<div id='content'><div id='add_text'></div></div>";
		}
		summaryDiv.innerHTML = summaryHTML;
}

function carDisplay( widget )
{
	var summaryDiv = document.getElementById("vehicle_summary");
	var distance = 0.00;
	var price = 0.00;
	var carbon_balance = 0.00;
	cCount = cArray.length;
		
	//Build Form and Table and Output Flight Array
	var summaryHtml = "";
	if (cCount > 0)
	{
		summaryHTML = "<form action='http://www.carbonfriendly.com/ecommerce/dispatcher.php' method='post' name='payment_form' id='payment_form_blank' target='_parent'>";
		summaryHTML += "<table  width='100%' border='0' style='border:1px dashed #000; background-color: #FFF;'>";
		summaryHTML += "<tr style='font-size: 11px;'><th style='text-align:left;'>Make</th><th style='text-align:left;' nowrap>Model</th><th>Distance</th><th nowrap>CO2 (t)</th><th>Cost</th><th>Remove</th></tr>";
		 //Array(Year, Make, Model, Distance, Fuel Economy, CO2, COST, UNIT)
		for(var i=0;i<cCount;i++) 
		{
			if (cArray[i][7] == "K")
			{
				unit_measure = "L/100";
			} else if (cArray[i][7] == "M")
			{
				unit_measure = "MPG";
			}
			var model = cArray[i][2];
			if( model.length > 12 ){
				model = model.substr( 0, 9 ) + "...";
			}
			summaryHTML += "<tr style='font-size: 10px;'>";
			//summaryHTML += "<td style='text-align:left;' nowrap>"+cArray[i][0]+"</td>";
			summaryHTML += "<td style='text-align:left;' nowrap>"+cArray[i][1]+"</td>";
			summaryHTML += "<td style='text-align:left;' nowrap>"+model+"</td>";
			summaryHTML += "<td style='text-align:center;' nowrap>"+cArray[i][3]+" "+cArray[i][7]+"</td>";
			//summaryHTML += "<td style='text-align:center;' nowrap>"+cArray[i][4]+" "+ unit_measure + "</td>";
			summaryHTML += "<td style='text-align:center;' nowrap>"+cArray[i][5]+"</td>";
			summaryHTML += "<td style='text-align:center;' nowrap>$"+cArray[i][6]+"</td>";
			summaryHTML += "<td style='text-align:center;' nowrap><a href='#' onclick=\"deleteCar("+i+");\"><img src='/0/carbon-calculator/widgets/delete.gif' border='0'></a></td>";
			summaryHTML += "</tr>";
			carbon_balance += parseFloat(cArray[i][5]);
			price += parseFloat(cArray[i][6]);
		}
		//summaryHTML += "<tr><td colspan='10'>&nbsp;</td></tr>";
		//summaryHTML += "<tr><td colspan='10'>&nbsp;</td></tr>";
		//Print Totals
		summaryHTML += "<tr style='font-weight:bold; font-size: 11px;'>";
		summaryHTML += "<td nowrap colspan='2'>Totals</td>";
		summaryHTML += "<td>&nbsp;</td>";
		summaryHTML += "<td style='text-align:center;' nowrap>"+Math.round(carbon_balance*100)/100+"</td>";
		summaryHTML += "<td style='text-align:center;' nowrap>$"+Math.round(price*100)/100+" USD</td>";
		summaryHTML += "<td style='text-align:center;'></td>";
		summaryHTML += "</tr>";
		summaryHTML += "</table>";
		summaryHTML += "</form>";
		summaryHTML += "<a href=\"#\" onclick=\"popup('popUpDiv')\">How Was This Calculated?</a>";

	} 
	else
	{
		summaryHTML = "<div id='content'><div id='add_text'></div></div>";
	}

	summaryDiv.innerHTML = summaryHTML;
	displayFootprint(  widget, carbon_balance, price );
}

///////////////////////
