﻿/******* REGION: String Constants ******/
/* XML document reference paths */
var flightsDataXML = '/FlightCalcData.xml';
var individualCarXML = 'inc/xml/individual-car.xml';
var individualMotorcycleXML = 'inc/xml/individual-motorcycle.xml';
var individualFlightXML = 'inc/xml/individual-flight.xml';
var airportXML = 'inc/xml/airport-data.xml';
var individualRailXML = 'inc/xml/individual-rail.xml';
var individualBusXML = 'inc/xml/individual-bus.xml';
var individualHouseholdXML = 'inc/xml/individual-household.xml';
var individualMyLifeXML = 'inc/xml/individual-my-life.xml';
var individualGiftXML = 'inc/xml/individual-gift.xml';
var businessOfficeXML = 'inc/xml/business-office.xml';
var businessStaffXml = 'inc/xml/business-staff.xml';  
var businessFreightXml = 'inc/xml/business-freight.xml';

/* Individual Flight variables */
var nonRegularFlightKgCo2PerKmPerPassenger = 0.16;
var domesticFlightDistance = 300;
var domesticFlightKgCo2PerKmPerPassenger = 0.25;
var shortHaulFlightDistance = 3000;
var shortHaulFlightKgCo2PerKmPerPassenger = 0.20;
var longHaulFlightDistance = 15000;
var longHaulFlightKgCo2PerKmPerPassenger = 0.18;

/* Individual Rail variables */
var railRegularCommuterEmissionFactor = 0.06;

/* Individual Bus variables */
var busCommuterEmissionsFactor = 0.09;

/*Individual Taxi variables */
var taxiCommuterEmissionFactor = 0.25;

/* Individual Household variables */
var householdEmissionElectricityEmissionFactor = 0.53;
var householdEmissionGreenTarrifEmissionFactor = 0.48;
var householdEmissionGasEmissionFactor = 0.21;
var householdEmissionBottledGasEmissionFactor = 0.23;
var householdEmissionBottledGasEmisiionFactorForVolume = 1.5;
var householdEmissionHeatingOilEmissionFactor = 0.23;
var householdEmissionHeatingOilEmissionFactorForVolume = 2.52;
var householdEmissionCoalEmissionFactor = 2.46;
var householdEmissionWoodEmissionFactor = 1.16;
var householdTypeAndSizeEmissionFactor = 2500;

/* Individual My Life Variables */
var mylifeFoodEntertainmentEmissionModifier = 600;
var mylifGoodServicesEmissionModifier = 2000;
var mylifeBestpokeAgeModifier = 0.3;

/* Individual Gift Variables */
var giftLifeEmissionModifier = 0.7;
var giftLifeEmissionSubtraction = 18;
var giftBabyFirstYearsEmissionFactor = 0.2;
var giftBirthdayEmissionSubtraction = 9;
/* Individual Holiday Variables */

/* Business Staff Variables */
var bizStaffLifeEmissionModifier = 0.7;

var KilometresToMilesConversionFactor = 1.60934;
var MotorCycleNeverCityDriving = 1.10;
var CarNeverCityDriving = 1.15;

/******* END REGION: String Constants ******/



/******* REGION: XML Reader Functions *******/
var xmlDoc = "";
//Load the xml file - using different method for different browsers
function loadXML(xmlFile) {
    //Initializations
    feed_id = 0;
    feed_total = 0;

    feed_file = xmlFile;
    if (document.implementation.createDocument) { // Firefox
        xmlDoc = document.implementation.createDocument('', '', null);
        xmlDoc.load(xmlFile);
        //This function will happen when the file is loaded
        xmlDoc.onload = loadHandler();
    }
    else { // IE  
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.onreadystatechange = verify;
        xmlDoc.load(xmlFile);
    }
    return true;
}

//Firefox only function - happens when a XML file is loaded
function loadHandler () {
    //xmlDoc = ;
}

//IE only function - happens when a XML file is loaded
function verify() { 
    if(xmlDoc.readyState!=4)
        return false; 
}
/******* END REGION: XML Reader Functions *******/


/******* REGION: <Select> List Manipulation Functions *******/

function AddListOption(selectID, text, value)
{
    var objOption = new Option(text, value);
    var ctrlSelect = document.getElementById(selectID);
    
    ctrlSelect.options.add(objOption);
}

function RemoveListOptions(selectID)
{
    if (document.getElementById(selectID).options.length > 0)
    {
        for(var element in document.getElementById(selectID).options)
        {
            document.getElementById(selectID).remove(element);
        };
    };
}
/******* END REGION: <Select> List Manipulation Functions *******/


/****** REGION: Calculator Navigation Methods (switching between Individual & Business menus) ******/
function setCalcNavMode(mode)
{
    var divIndividualMenu, divBusinessMenu, divCalcNav, divCalcNavBiz, divCalcNavBottom, divCalcNavBottomBiz;
    if (document.getElementById)
    {
        divIndividualMenu = document.getElementById('ctl00_cphPrimary_calculator1_divIndividualMenu');
        divBusinessMenu = document.getElementById('ctl00_cphPrimary_calculator1_divBusinessMenu');        
        divCalcNav = document.getElementById('ctl00_cphPrimary_calculator1_divCalcNav');
        divCalcNavBiz = document.getElementById('ctl00_cphPrimary_calculator1_divCalcNavBiz');
        divCalcNavBottom = document.getElementById('ctl00_cphPrimary_calculator1_divCalcNavBottom');
        divCalcNavBottomBiz = document.getElementById('ctl00_cphPrimary_calculator1_divCalcNavBottomBiz');
    }
    switch (mode) {
        case 'individual':
            divIndividualMenu.attributes["class"].value = "individual-menu-current";
            divBusinessMenu.attributes["class"].value = "business-menu";
            divCalcNav.style.display = 'block';
            divCalcNavBiz.style.display = 'none';
            divCalcNavBottom.style.display = 'block';
            divCalcNavBottomBiz.style.display = 'none';
        break;
        case 'business':
            divIndividualMenu.attributes["class"].value = "individual-menu";
            divBusinessMenu.attributes["class"].value = "business-menu-current";
            divCalcNav.style.display = 'none';
            divCalcNavBiz.style.display = 'block';
            divCalcNavBottom.style.display = 'none';
            divCalcNavBottomBiz.style.display = 'block';
        break;
    }
}
/****** END REGION Calculator Navigation Methods ******/
