CommuteCalcDlg = function() {this.create();};CommuteCalcDlg.prototype.toString = function () {return "CommuteCalcDlg";};CommuteCalcDlg.prototype.verifyGeneralData = function () {var msg = "";if (commuterRecordDlg.commuters.length == 0) {msg = "You need to add at least one commuter.\n";}if (isNaN(document.getElementById("fuel_cost").value) || parseInt(document.getElementById("fuel_cost").value) < 0) {document.getElementById("fuel_cost").select();document.getElementById("fuel_cost").focus();msg += "Fuel cost is invalid.\n";}if (msg.length > 0) {alert(msg);return false;} else {return true;}};CommuteCalcDlg.prototype.display = function () {if (!this.verifyGeneralData()) {return;}
if (!commuterRecordDlg.updateMasterCommuter()) {return;}document.getElementById("commuteCalcDlg").style.left = cecGetDlgLeft(0, true);document.getElementById("commuteCalcDlg").style.top = cecGetScrollTop(0, true);var reportCell = document.getElementById("commuteCalcReportCell");reportCell.className = "commuteCalcReportCell";reportCell.innerHTML = "";this.calculateExpenses();document.getElementById("commuteCalcDlg").style.width = "650px";document.getElementById("commuteCalcDlg").style.visibility = "visible";};CommuteCalcDlg.prototype.hide = function () {document.getElementById("commuteCalcDlg").style.visibility = "hidden";var reportCell = document.getElementById("commuteCalcReportCell");reportCell.innerHTML = "";};CommuteCalcDlg.prototype.moreInfo = function (id) {document.getElementById("commuteCalcDlg").style.left = cecGetDlgLeft(15, false);document.getElementById("commuteCalcDlg").style.top = cecGetScrollTop(110, false);var reportCell = document.getElementById("commuteCalcReportCell");reportCell.className = "commuteCalcMoreInfoCell";document.getElementById("commuteCalcDlg").style.width = "355px";if (id == "maint_cost_link") {reportCell.innerHTML = "Excluding insurance, registration, and actual car payments, wear/tear, and " + "depreciation on the average car is about 22 cents per mile. This figure should" + "be raised for cars worth more than $20,000, and lowered for cars less than " + "$20,000 in value.";} if (id == "commuter_details_link") {reportCell.innerHTML = "If more than one of you are commuting to work in your household, be sure " + "to add details for each of you separately by using the \"add\" button to the " + "right. Your combined commuting costs will be calculated for you.";} else {reportCell.innerHTML = "Annual gross income is used to determine the opportunity cost of the time " + "you're spending every day on the road.";}document.getElementById("commuteCalcDlg").style.visibility = "visible";};CommuteCalcDlg.prototype.toggleUnits = function (id) {var avg_fe_lbl = document.getElementById("avg_fe_lbl");var cec_mstr_avg_fe_lbl = document.getElementById("cec_mstr_avg_fe_lbl");var cec_mstr_avg_mpg = document.getElementById("cec_mstr_avg_mpg");var avg_mpg = document.getElementById("avg_mpg");var cec_commute_distance_lbl = document.getElementById("cecCommuteDistanceLbl");var cec_commute_distance_txt = document.getElementById("commute_distance");var cec_mstr_commute_distance_lbl = document.getElementById("cecMstrCommuteDistanceLbl");var cec_mstr_commute_distance_txt = document.getElementById("cec_mstr_commute_distance");var fuel_cost_txt = document.getElementById("fuel_cost");if (id == "cecUnitsMPG") {avg_fe_lbl.innerHTML = "Average MPG of Car";cec_mstr_avg_fe_lbl.innerHTML = "Average MPG of Car";cec_commute_distance_lbl.innerHTML = "Current One Way Commute Distance (Mi)";cec_mstr_commute_distance_lbl.innerHTML = "Current One Way Commute Distance (Mi)";cec_commute_distance_txt.value = Math.round((parseFloat(cec_commute_distance_txt.value) * 0.62) * 10) / 10;cec_mstr_commute_distance_txt.value = Math.round((parseFloat(cec_mstr_commute_distance_txt.value) * 0.62) * 10) / 10;fuel_cost_txt.value = Math.round((parseFloat(fuel_cost_txt.value) * 3.78) * 100) /100;} else {avg_fe_lbl.innerHTML = "Average L/100Km of Car";cec_mstr_avg_fe_lbl.innerHTML = "Average L/100Km of Car";cec_commute_distance_lbl.innerHTML = "Current One Way Commute Distance (Km)";cec_mstr_commute_distance_lbl.innerHTML = "Current One Way Commute Distance (Km)";cec_commute_distance_txt.value = Math.round((parseFloat(cec_commute_distance_txt.value) / 0.62) * 10) / 10;cec_mstr_commute_distance_txt.value = Math.round((parseFloat(cec_mstr_commute_distance_txt.value) / 0.62) * 10) / 10;fuel_cost_txt.value = Math.round((parseFloat(fuel_cost_txt.value) / 3.78) * 100) /100;}cec_mstr_avg_mpg.value = parseFloat(235.214584 / cec_mstr_avg_mpg.value);avg_mpg.value = parseFloat(235.214584 / avg_mpg.value);};CommuteCalcDlg.prototype.resetForm = function () {document.getElementById("fuel_cost").value = document.getElementById("default_fuel_cost").value;};CommuteCalcDlg.prototype.calculateExpenses = function () {if (document.getElementById("cecResultsIfrm") != null) {document.getElementsByTagName('head')[0].removeChild(document.getElementById("cecResultsIfrm"), true);}var qString = this.buildRequest();var iframe  = document.createElement('iframe');iframe.src  = "http://www.costofcommuting.com/ajax_calculation_request_v2.php?" + qString;  iframe.id = "cecResultsIfrm";iframe.frameBorder = 0;iframe.style.visibility = "visible";iframe.style.border = "none";iframe.style.width = "100%";iframe.style.height = "285px";iframe.frameborder = "0";iframe.scrolling = "yes";var report_cell = document.getElementById("commuteCalcReportCell");report_cell.appendChild(iframe);};CommuteCalcDlg.prototype.buildRequest = function () {var qString = "trxcd=" + document.getElementById("trxcd").value;qString += "&hr=" + document.location.href;qString += '&json=[{"general":{';qString += '"vd":"' + document.getElementById("cecUnitsMPG").checked + '",';qString += '"fc":' + document.getElementById("fuel_cost").value + '}},';
var commuters = commuterRecordDlg.commuters;for (var i = 0; i < commuters.length; i++) {var commuter = commuters[i];qString += "{";qString += '"lbl":"' + commuter.label + '",';qString += '"cd":' + commuter.commuteDistance + ',';qString += '"wwh":' + commuter.workWeekHours + ',';qString += '"cpm":' + commuter.commutesPerMonth + ',';qString += '"avg":' + commuter.avgMpg + ',';qString += '"vc":' + commuter.valueOfCar + ',';qString += '"gi":' + commuter.grossInc + '}';if (i < (commuters.length - 1)) {qString += ",";}}qString += "]";return qString;};CommuteCalcDlg.prototype.create = function () {var masterDiv = document.createElement("div");masterDiv.id = "commuteCalcDlg";var handleRow = document.createElement("div");handleRow.id = "commuteCalcDlgHandle";handleRow.innerHTML = "<div class=\"cecPopupTitle\">Commuting Expense Comparison</div><div class=\"cecPopupClose\"><img onClick=\"commuteCalcDlg.hide();\" src='http://www.costofcommuting.com/display/images/gray_close.gif' width='17' "+ "height='17' border='0' " + "id='closeCommuteCalcDlgLink' style='cursor:pointer' /></div>";masterDiv.appendChild(handleRow);var infoRow = document.createElement("div");infoRow.id = "commuteCalcReportCell";infoRow.innerHTML = "";masterDiv.appendChild(infoRow);var btnRow = document.createElement("div");btnRow.id = "commuteCalcButtonCell";btnRow.className = "standardText";btnRow.innerHTML = "<input id='commute_calc_dlg_cancel_btn' type='button' value='Close' style='width:75px' onClick=\"commuteCalcDlg.hide();\" />";masterDiv.appendChild(btnRow);document.body.appendChild(masterDiv);};CommuterRecord = function() {};CommuterRecord.prototype = {name: "",label: "",commuteDistance: 10,workWeekHours: 40,avgMpg: 20,grossInc: 50000,valueOfCar: 20000,commutesPerMonth: 22};CommuterRecord.prototype.toString = function (){return this.label;};CommuterRecordDlg = function() {this.create();
var originalCommuter = new CommuterRecord();originalCommuter.label = "Commuter " + (this.commuters.length + 1);originalCommuter.name = originalCommuter.label +  Math.random();originalCommuter.commuteDistance = document.getElementById("cec_mstr_commute_distance").value;originalCommuter.workWeekHours = document.getElementById("cec_mstr_work_week_hours").value;originalCommuter.avgMpg = document.getElementById("cec_mstr_avg_mpg").value;originalCommuter.grossInc = document.getElementById("cec_mstr_gross_income").value;originalCommuter.valueOfCar = document.getElementById("cec_mstr_value_of_car").value;originalCommuter.commutesPerMonth = document.getElementById("cec_mstr_commutes_per_month").value;this.commuters.push(originalCommuter);};CommuterRecordDlg.prototype = {commuters: new Array(),currentCommuterId: ""};CommuterRecordDlg.prototype.display = function () {this.currentCommuterId = "";var avg_mpg_lbl = "Average MPG of Car";var distance_lbl = "(Mi)";var default_avg_mpg = document.getElementById("default_avg_mpg").value;var default_units = document.getElementById("default_units").value;var default_commute_distance = document.getElementById("default_commute_distance").value;if (document.getElementById("cecUnitsKM") && document.getElementById("cecUnitsKM").checked) {avg_mpg_lbl = "Average L/100Km of Car";distance_lbl = "(Km)";}if (default_units == "L100km" && document.getElementById("cecUnitsMPG").checked) {default_avg_mpg = 235.214584 / default_avg_mpg;default_commute_distance = Math.round((parseFloat(default_commute_distance) * 0.62) * 10) / 10;} else if (default_units == "MPG" && document.getElementById("cecUnitsKM").checked) {default_avg_mpg = 235.214584 / default_avg_mpg;default_commute_distance = Math.round((parseFloat(default_commute_distance) / 0.62) * 10) / 10;}document.getElementById("cecCommuteDistanceLbl").innerHTML = "Current One Way Commute Distance " + distance_lbl;document.getElementById("commute_distance").value = default_commute_distance;document.getElementById("work_week_hours").value = document.getElementById("default_work_week_hours").value;document.getElementById("avg_fe_lbl").value = avg_mpg_lbl;document.getElementById("avg_mpg").value = default_avg_mpg;document.getElementById("gross_income").value = document.getElementById("default_gross_income").value;document.getElementById("value_of_car").value = document.getElementById("default_value_of_car").value;document.getElementById("commutes_per_month").value = document.getElementById("default_commutes_per_month").value;document.getElementById("commuterRecordDlg").style.left = cecGetDlgLeft(0, true);document.getElementById("commuterRecordDlg").style.top = cecGetScrollTop(0, true);document.getElementById("commuterRecordDlg").style.visibility = "visible";};CommuterRecordDlg.prototype.hide = function () {this.currentCommuterId = "";document.getElementById("commuterRecordDlg").style.visibility = "hidden";};CommuterRecordDlg.prototype.addUpdateCommuter = function () {if (this.currentCommuterId != "") {this.updateCommuter(this.currentCommuterId);} else {this.insertCommuter();}};CommuterRecordDlg.prototype.insertCommuter = function () {if (!this.verifyCommuterData("")) {return;}
var tbody = document.getElementById("cecCommuters");var row = document.createElement("tr");var labelCell = document.createElement("td");var btnCell = document.createElement("td");labelCell.className = "standardText";btnCell.style.textAlign = "right";var commuter = new CommuterRecord();commuter.label = "Commuter " + (this.commuters.length + 1);commuter.name = commuter.label +  Math.random();commuter.commuteDistance = document.getElementById("commute_distance").value;commuter.workWeekHours = document.getElementById("work_week_hours").value;commuter.avgMpg = document.getElementById("avg_mpg").value;commuter.grossInc = document.getElementById("gross_income").value;commuter.valueOfCar = document.getElementById("value_of_car").value;commuter.commutesPerMonth = document.getElementById("commutes_per_month").value;row.id = commuter.name;btnCell.innerHTML = "<img src='http://www.costofcommuting.com/display/images/edit.png' alt='Edit this Commuter' title='Edit this Commuter' />"+ "<img src='http://www.costofcommuting.com/display/images/delete.gif' alt='Remove this Commuter' title='Remove this Commuter' onClick='commuterRecordDlg.removeCommuter(event,\"" + row.id + "\");' />";this.commuters.push(commuter);labelCell.innerHTML = commuter.label;btnCell.style.cursor = "pointer";btnCell.title = "Click to edit commuter";btnCell.alt = "Click to edit commuter";labelCell.style.cursor = "pointer";labelCell.title = "Click to edit commuter";labelCell.alt = "Click to edit commuter";row.appendChild(labelCell);row.appendChild(btnCell);tbody.appendChild(row);cecAddEvent(row, "click", this.displaySelectedCommuter, false);cecAddEvent(labelCell, "mouseover", this.rowRollOver, false);cecAddEvent(labelCell, "mouseout", this.rowRollOut, false);cecAddEvent(btnCell, "mouseover", this.rowRollOver, false);cecAddEvent(btnCell, "mouseout", this.rowRollOut, false);
if (tbody.rows.length == 4) {document.getElementById("commuterAddBtn").disabled = true;}document.getElementById("commuterRecordDlg").style.visibility = "hidden";};CommuterRecordDlg.prototype.rowRollOver = function (e) {var obj = cecGetTarget(e);if (obj != null) {obj.className = "cecCommuterRowHover";}};CommuterRecordDlg.prototype.rowRollOut = function (e) {var obj = cecGetTarget(e);if (obj != null) {obj.className = "cecCommuterRow";}};CommuterRecordDlg.prototype.displaySelectedCommuter = function (e) {var obj = cecGetTarget(e);var commuter = new CommuterRecord();for (var i = 0; i < commuterRecordDlg.commuters.length; i++) {if (commuterRecordDlg.commuters[i].name == obj.id) {commuter = commuterRecordDlg.commuters[i];break;}}document.getElementById("commute_distance").value = commuter.commuteDistance ;document.getElementById("work_week_hours").value = commuter.workWeekHours ;document.getElementById("avg_mpg").value = commuter.avgMpg ;document.getElementById("gross_income").value  = commuter.grossInc;document.getElementById("value_of_car").value = commuter.valueOfCar;document.getElementById("commutes_per_month").value = commuter.commutesPerMonth;commuterRecordDlg.currentCommuterId = obj.id;document.getElementById("commuterRecordDlg").style.visibility = "visible";};CommuterRecordDlg.prototype.updateCommuter = function (id) {if (!this.verifyCommuterData("")) {return;}var commuter = new CommuterRecord();for (var i = 0; i < commuterRecordDlg.commuters.length; i++) {if (commuterRecordDlg.commuters[i].name == id) {commuter = commuterRecordDlg.commuters[i];break;}}commuter.commuteDistance = document.getElementById("commute_distance").value;commuter.workWeekHours = document.getElementById("work_week_hours").value;commuter.avgMpg = document.getElementById("avg_mpg").value;commuter.grossInc = document.getElementById("gross_income").value;commuter.valueOfCar = document.getElementById("value_of_car").value;commuter.commutesPerMonth = document.getElementById("commutes_per_month").value;var row = document.getElementById(id);row.getElementsByTagName("td")[0].innerHTML = commuter.label;document.getElementById("commuterRecordDlg").style.visibility = "hidden";};CommuterRecordDlg.prototype.updateMasterCommuter = function () {if (!this.verifyCommuterData("cec_mstr_")) {return false;}this.commuters[0].commuteDistance = document.getElementById("cec_mstr_commute_distance").value;this.commuters[0].workWeekHours = document.getElementById("cec_mstr_work_week_hours").value;this.commuters[0].avgMpg = document.getElementById("cec_mstr_avg_mpg").value;this.commuters[0].grossInc = document.getElementById("cec_mstr_gross_income").value;this.commuters[0].valueOfCar = document.getElementById("cec_mstr_value_of_car").value;this.commuters[0].commutesPerMonth = document.getElementById("cec_mstr_commutes_per_month").value;return true;};CommuterRecordDlg.prototype.verifyCommuterData = function (prefix) {var msg = "";if (isNaN(document.getElementById(prefix + "commute_distance").value) || parseInt(document.getElementById(prefix + "commute_distance").value) < 0) {document.getElementById(prefix + "commute_distance").select();document.getElementById(prefix + "commute_distance").focus();msg += "Commute distance is invalid.\n";}if (isNaN(document.getElementById(prefix + "work_week_hours").value) || parseInt(document.getElementById(prefix + "work_week_hours").value) <= 0) {document.getElementById(prefix + "work_week_hours").select();document.getElementById(prefix + "work_week_hours").focus();msg += "Hours worked per week is invalid.\n";} else if (parseInt(document.getElementById(prefix + "work_week_hours").value) > 120) {document.getElementById(prefix + "work_week_hours").select();document.getElementById(prefix + "work_week_hours").focus();msg += "You really need to get some sleep! Try working less.\n";}if (isNaN(document.getElementById(prefix + "avg_mpg").value) || parseInt(document.getElementById(prefix + "avg_mpg").value) < 0) {document.getElementById(prefix + "avg_mpg").select();document.getElementById(prefix + "avg_mpg").focus();msg += "Avgerage miles per gallon is invalid.\n";}if (isNaN(document.getElementById(prefix + "gross_income").value) || parseInt(document.getElementById(prefix + "gross_income").value) < 0) {document.getElementById(prefix + "gross_income").select();document.getElementById(prefix + "gross_income").focus();msg += "Annual gross income is invalid.\n";}if (isNaN(document.getElementById(prefix + "value_of_car").value) || parseInt(document.getElementById(prefix + "value_of_car").value) < 0) {document.getElementById(prefix + "value_of_car").select();document.getElementById(prefix + "value_of_car").focus();msg += "Value of car is invalid.\n";}if (isNaN(document.getElementById(prefix + "commutes_per_month").value) || parseInt(document.getElementById(prefix + "commutes_per_month").value) < 0) {document.getElementById(prefix + "commutes_per_month").select();document.getElementById(prefix + "commutes_per_month").focus();msg += "Commutes per month is invalid.\n";}if (msg.length > 0) {alert(msg);return false;} else {return true;}};CommuterRecordDlg.prototype.removeCommuter = function (e,id) {if (confirm("Are you sure you want to delete this commuter?")) {var tbody = document.getElementById("cecCommuters");tbody.removeChild(document.getElementById(id), true);for (var i = 0; i < this.commuters.length; i++) {if (this.commuters[i].name == id) {this.commuters.splice(i, 1);break;}}document.getElementById("commuterAddBtn").disabled = false;cecCancelEvent(e);} else {cecCancelEvent(e);}};CommuterRecordDlg.prototype.create = function() {var masterDiv = document.createElement("div");masterDiv.id = "commuterRecordDlg";var handleRow = document.createElement("div");handleRow.id = "commuterRecordDlgHandle";handleRow.innerHTML = "<div class=\"cecPopupTitle\">Commuter Add/Edit</div><div class=\"cecPopupClose\"><img onClick=\"commuterRecordDlg.hide();\" src='http://www.costofcommuting.com/display/images/gray_close.gif' width='17' "+ "height='17' border='0' " + "id='closeCommuteRecordDlgLink' style='cursor:pointer' /></div>";masterDiv.appendChild(handleRow);var infoRow = document.createElement("div");infoRow.id = "commuterRecordDlgContentPanel";infoRow.style.textAlign = "left";infoRow.className = "standardText";var avg_mpg_lbl = "Average MPG of Car";var distance_lbl = "(Mi)";
var default_commute_distance = document.getElementById("default_commute_distance").value;var default_work_week_hours = document.getElementById("default_work_week_hours").value;var default_commutes_per_month = document.getElementById("default_commutes_per_month").value;var default_gross_income = document.getElementById("default_gross_income").value;var default_avg_mpg = document.getElementById("default_avg_mpg").value;var default_value_of_car = document.getElementById("default_value_of_car").value;var default_units = document.getElementById("default_units").value;if (document.getElementById("cecUnitsKM") && document.getElementById("cecUnitsKM").checked) {avg_mpg_lbl = "Average L/100Km of Car";distance_lbl = "(Km)";}if (default_units == "L100km" && document.getElementById("cecUnitsMPG").checked) {default_avg_mpg = 235.214584 / default_avg_mpg;default_commute_distance = Math.round((parseFloat(default_commute_distance) * 0.62) * 10) / 10;} else if (default_units == "MPG" && document.getElementById("cecUnitsKM").checked) {default_avg_mpg = 235.214584 / default_avg_mpg;default_commute_distance = Math.round((parseFloat(default_commute_distance) / 0.62) * 10) / 10;}infoRow.innerHTML = "<div class='cecLabel'><span id='cecCommuteDistanceLbl' class='cecLabel'>Current One Way Commute Distance " + distance_lbl + "</span></div>"+ "<div class='cecInput' style='padding-left:7px'><input type='text' id='commute_distance' value='" + default_commute_distance + "' maxlength='5' /></div>"+ "<div class='cecLabel'><span class='cecLabel'>Work Hours per Week</span></div>"+ "<div class='cecInput' style='padding-left:7px'><input type='text' id='work_week_hours' value='" + default_work_week_hours + "' maxlength='3' /></div>"+ "<div class='cecLabel'><span class='cecLabel'>Commutes per Month</span></div>"+ "<div class='cecInput' style='padding-left:7px'><input type='text' id='commutes_per_month' value='" + default_commutes_per_month + "' maxlength='2' /></div>"+ "<div class='cecLabel'><span class='cecLabel'>Value of Car</span></div>"+ "<div class='cecInput'>$<input type='text' id='value_of_car' value='" + default_value_of_car + "' maxlength='6' /></div>"+ "<div class='cecLabel'><span class='cecLabel' id='avg_fe_lbl'>" + avg_mpg_lbl + "</span></div>"+ "<div class='cecInput' style='padding-left:7px'><input type='text' id='avg_mpg' value='" + default_avg_mpg + "' maxlength='5' /></div>"+ "<div class='cecLabel'><span class='cecLabel'>Annual Gross Income (<span style='cursor:pointer' class='linkText' id='gross_income_link' onClick='commuteCalcDlg.moreInfo(this.id)'>more info</span>)</span></div>"+ "<div class='cecInput'>$<input type='text' id='gross_income' value='" + default_gross_income + "' maxlength='7' /></div>";masterDiv.appendChild(infoRow);var btnRow = document.createElement("div");btnRow.id = "commuterRecordDlgButtonCell";btnRow.innerHTML = "<input id='commuterRecordDlgCancelBtn' type='button' value='Cancel' style='width:75px' onClick=\"commuterRecordDlg.hide();\" />" + "<input id='commuterRecordDlgEditBtn' type='button' value='Add/Edit' style='width:75px' onClick=\"commuterRecordDlg.addUpdateCommuter();\" />";masterDiv.appendChild(btnRow);document.body.appendChild(masterDiv);};function cecAddEvent(el, eType, fn, uC) {if (el.addEventListener) {el.addEventListener(eType, fn, uC);return true;} else if (el.attachEvent) {return el.attachEvent('on' + eType, fn);} else {el['on' + eType] = fn;}};function cecCancelEvent(e) {  if(!e) {    e = window.event;}  if(e.stopPropagation) {    e.stopPropagation();}  if(e.preventDefault) {    e.preventDefault();  }e.cancelBubble = true;  e.cancel = true;  e.returnValue = false;  return false;};function cecGetTarget(e) {var obj = null;if (e.target) {obj = e.target;} else if (e.srcElement) {obj = e.srcElement;}while (obj.nodeName.toLowerCase() != "tr") {obj = obj.parentNode;}return obj;};function cecGetDlgLeft(offset, isAbsolute) {var customOffset = document.getElementById("cec_custom_horizontal_offset");if (customOffset != null && !isNaN(customOffset.value)) {if (!isAbsolute) {offset = parseInt(customOffset.value) + offset;}  else {offset = parseInt(customOffset.value);}} else {offset = 250;}return offset + "px";}function cecGetScrollTop(offset, isAbsolute) {var yPos = 0;var customOffset = document.getElementById("cec_custom_vertical_offset");if (customOffset != null && !isNaN(customOffset.value)) {if (!isAbsolute) {offset = parseInt(customOffset.value) + offset;} else {offset = parseInt(customOffset.value);}}if (document.all) {if (document.body.scrollTop == 0) {yPos = document.documentElement.scrollTop;} else {yPos = document.body.scrollTop;}} else {yPos = window.pageYOffset;}return (yPos + offset) + "px";}function cecInit() {commuteCalcDlg = new CommuteCalcDlg();commuterRecordDlg = new CommuterRecordDlg();};var commuteCalcDlg = null;var commuterRecordDlg = null;cecAddEvent(window, "load", cecInit, false);