﻿/****** REGION: Constants ******/
var xmlDataDocIndGift = "";
/****** END REGION: Constants ******/

function loadIndGift()
{
    loadXmlDataDoc();
}
function loadXmlDataDoc()
{
    feed_id = 0;
    feed_total = 0;
    feed_file = individualFlightXML;
    
    if (window.ActiveXObject) { // branch for IE/Windows ActiveX version
        xmlDataDocIndGift = new ActiveXObject("Microsoft.XMLDOM");
        xmlDataDocIndGift.async = "true";
        xmlDataDocIndGift.onreadystatechange = verifyXmlDataLoaded;
        xmlDataDocIndGift.load(individualGiftXML);
    } else if (window.XMLHttpRequest) {
        xmlDataDocIndGift = new XMLHttpRequest();
        xmlDataDocIndGift.onreadystatechange = verifyXmlDataLoaded;
        xmlDataDocIndGift.open("GET", individualGiftXML, true);
        xmlDataDocIndGift.send(null);
    }
    return true;
}
function verifyXmlDataLoaded()
{
    if (xmlDataDocIndGift.readyState == 4)
    {
        loadOpt1EstEmis();
        loadOpt2EstEmis();
        loadOpt3EstEmis();
        loadOpt4EstEmis();
    };
}

/****** REGION: Option 1 methods ******/
function loadOpt1EstEmis()
{
    var selectID = 'ddlOpt1EstEmis';
    if (document.getElementById(selectID))
    {
        // clear previous values out first.
        RemoveListOptions(selectID);
        
        // iterate through the xml document getting the data
        if (xmlDataDocIndGift.responseXML) 
        {
            xmlDataDocIndGift = xmlDataDocIndGift.responseXML;
        }
        if (xmlDataDocIndGift.getElementsByTagName('EmissionEstimate').length > 0) {
            // add a default "Select" option
            AddListOption(selectID, 'Select...', '');
            
            var listItems = xmlDataDocIndGift.getElementsByTagName('EmissionEstimate');
            for (var i = 0; i < listItems.length; i++)
            {
                AddListOption(selectID, listItems.item(i).firstChild.nodeValue, 
                    listItems.item(i).getAttribute('Tonnes'));
            };
        }
        else {
            AddListOption(selectID, 'Error loading data', '');
        };
    };
}
function calculateOption1()
{
    var ddlOpt1Celeb = document.getElementById('ddlOpt1Celeb');
    var txtOpt1Yrs = document.getElementById('txtOpt1Yrs');
    var txtOpt1Age1 = document.getElementById('txtOpt1Age1');
    var txtOpt1Age2 = document.getElementById('txtOpt1Age2');
    var ddlOpt1EstEmis = document.getElementById('ddlOpt1EstEmis');
    
    var result = 0;
  
    if (parseInt(txtOpt1Yrs.value) > 0) 
    {
        result += ddlOpt1EstEmis.value * 2 * txtOpt1Yrs.value;
    }
    if ((parseInt(txtOpt1Age1.value) > 0) && (parseInt(txtOpt1Age2.value) > 0))
    {
        result += (((parseInt(txtOpt1Age1.value) + parseInt(txtOpt1Age2.value)) * giftLifeEmissionModifier) - giftLifeEmissionSubtraction) * ddlOpt1EstEmis.value;        
    }
    
    // Is already in tonnes    
    
    // round to two decimal places
    var roundedResult = Math.round(result*100)/100;
    // show the cost of this offset
    var roundedCost = (Math.round((roundedResult * costPerTonne)*100)/100).toFixed(2);
    document.getElementById('ctl00_cphPrimary_hfOpt1Result').value = roundedResult;
    
    if(document.all)
    {
        document.getElementById('divOpt1Result').innerHTML = roundedResult.toString();
        document.getElementById('divOpt1Cost').innerText = roundedCost;
    }
    else
    {
        document.getElementById('divOpt1Result').textContent = roundedResult.toString();
        document.getElementById('divOpt1Cost').textContent = roundedCost;
    }
    
}
/****** END REGION: Option 1 methods ******/

/****** REGION: Option 2 methods ******/
function loadOpt2EstEmis()
{
    var selectID = 'ddlOpt2EstEmis';
    if (document.getElementById(selectID))
    {
        // clear previous values out first.
        RemoveListOptions(selectID);
        
        // iterate through the xml document getting the data
        if (xmlDataDocIndGift.responseXML) 
        {
            xmlDataDocIndGift = xmlDataDocIndGift.responseXML;
        }
        if (xmlDataDocIndGift.getElementsByTagName('EmissionEstimate').length > 0) {
            // add a default "Select" option
            AddListOption(selectID, 'Select...', '');
            
            var listItems = xmlDataDocIndGift.getElementsByTagName('EmissionEstimate');
            for (var i = 0; i < listItems.length; i++)
            {
                AddListOption(selectID, listItems.item(i).firstChild.nodeValue, 
                    listItems.item(i).getAttribute('Tonnes'));
            };
        }
        else {
            AddListOption(selectID, 'Error loading data', '');
        };
    };
}
function calculateOption2()
{
    var ddlOpt2Celeb = document.getElementById('ddlOpt2Celeb');
    var txtOpt2Yrs = document.getElementById('txtOpt2Yrs');
    var txtOpt2Age = document.getElementById('txtOpt2Age');
    var ddlOpt2EstEmis = document.getElementById('ddlOpt2EstEmis');
    
    var result = 0;
    
    if (parseInt(txtOpt2Yrs.value)> 0) 
    {
        result = ddlOpt2EstEmis.value * txtOpt2Yrs.value;
    }
    else 
    {
        result = ddlOpt2EstEmis.value * ((txtOpt2Age.value * giftLifeEmissionModifier) - giftBirthdayEmissionSubtraction);
    }
    
    // Is already in tonnes    
    
    // round to two decimal places
    var roundedResult = Math.round(result*100)/100;
    // show the cost of this offset
    var roundedCost = (Math.round((roundedResult * costPerTonne)*100)/100).toFixed(2);
    document.getElementById('ctl00_cphPrimary_hfOpt2Result').value = roundedResult;
    
    if(document.all)
    {    
        document.getElementById('divOpt2Result').innerHTML = roundedResult.toString();
        document.getElementById('divOpt2Cost').innerText = roundedCost
    }
    else
    {
        document.getElementById('divOpt2Result').textContent = roundedResult.toString();
        document.getElementById('divOpt2Cost').textContent = roundedCost;
    }
    
}
/****** END REGION: Option 2 methods ******/


/****** REGION: option 3 methods ******/
function loadOpt3EstEmis()
{
    var selectID = 'ddlOpt3EstEmis';
    if (document.getElementById(selectID))
    {
        // clear previous values out first.
        RemoveListOptions(selectID);
        
        // iterate through the xml document getting the data
        if (xmlDataDocIndGift.responseXML) 
        {
            xmlDataDocIndGift = xmlDataDocIndGift.responseXML;
        }
        if (xmlDataDocIndGift.getElementsByTagName('EmissionEstimate').length > 0) {
            // add a default "Select" option
            AddListOption(selectID, 'Select...', '');
            
            var listItems = xmlDataDocIndGift.getElementsByTagName('EmissionEstimate');
            for (var i = 0; i < listItems.length; i++)
            {
                AddListOption(selectID, listItems.item(i).firstChild.nodeValue, 
                    listItems.item(i).getAttribute('Tonnes'));
            };
        }
        else {
            AddListOption(selectID, 'Error loading data', '');
        };
    };
}
function calculateoption3()
{

    var txtOpt3YrsBaby = document.getElementById('txtOpt3YrsBaby');
    var txtOpt3YrsParents = document.getElementById('txtOpt3YrsParents');
    var ddlOpt3EstEmis = document.getElementById('ddlOpt3EstEmis');
    
    var result = 0;
    var resultBaby = 0;
    var resultParents = 0;
    
    if (parseInt(txtOpt3YrsBaby.value) > 0) {
        resultBaby = giftBabyFirstYearsEmissionFactor * txtOpt3YrsBaby.value * ddlOpt3EstEmis.value;
    }
    if (parseInt(txtOpt3YrsParents.value) > 0) {
        resultParents = ddlOpt3EstEmis.value * txtOpt3YrsParents.value * 2;
    }
    
    // add the celebration offset
    result = parseFloat(resultBaby) + parseFloat(resultParents);
    
    // Is already in tonnes
    
    // round to two decimal places
    var roundedResult = Math.round(result*100)/100;
    // show the cost of this offset
    var roundedCost = (Math.round((roundedResult * costPerTonne)*100)/100).toFixed(2);
    document.getElementById('ctl00_cphPrimary_hfOpt3Result').value = roundedResult;
    
    if(document.all)
    {
        document.getElementById('divOpt3Result').innerHTML = roundedResult.toString();
        document.getElementById('divOpt3Cost').innerText = roundedCost;
    }
    else
    {
        document.getElementById('divOpt3Result').textContent = roundedResult.toString();
        document.getElementById('divOpt3Cost').textContent = roundedCost;
    }
}
/****** END REGION: option 3 methods ******/


/****** REGION: option 4 methods ******/
function loadOpt4EstEmis()
{
    var selectID = 'ddlOpt4EstEmis';
    if (document.getElementById(selectID))
    {
        // clear previous values out first.
        RemoveListOptions(selectID);
        
        // iterate through the xml document getting the data
        if (xmlDataDocIndGift.responseXML) 
        {
            xmlDataDocIndGift = xmlDataDocIndGift.responseXML;
        }
        if (xmlDataDocIndGift.getElementsByTagName('EmissionEstimate').length > 0) {
            // add a default "Select" option
            AddListOption(selectID, 'Select...', '');
            
            var listItems = xmlDataDocIndGift.getElementsByTagName('EmissionEstimate');
            for (var i = 0; i < listItems.length; i++)
            {
                AddListOption(selectID, listItems.item(i).firstChild.nodeValue, 
                    listItems.item(i).getAttribute('Tonnes'));
            };
        }
        else {
            AddListOption(selectID, 'Error loading data', '');
        };
    };
}
function calculateoption4()
{
    var txtOpt4Yrs = document.getElementById('txtOpt4Yrs');
    var txtOpt4Age = document.getElementById('txtOpt4Age');
    var ddlOpt4EstEmis = document.getElementById('ddlOpt4EstEmis');
    
    var result = 0;
    if (parseInt(txtOpt4Yrs.value) > 0) 
    {
        result = ddlOpt4EstEmis.value * txtOpt4Yrs.value;
    }
    else 
    {
        result = ddlOpt4EstEmis.value * txtOpt4Age.value * giftLifeEmissionModifier;
    }
    
    // Is already in tonnes   
    
    // round to two decimal places
    var roundedResult = Math.round(result*100)/100;
    // show the cost of this offset
    var roundedCost = (Math.round((roundedResult * costPerTonne)*100)/100).toFixed(2);
    document.getElementById('ctl00_cphPrimary_hfOpt4Result').value = roundedResult;
    
    if(document.all)
    {
        document.getElementById('divOpt4Result').innerHTML = roundedResult.toString();
        document.getElementById('divOpt4Cost').innerText = roundedCost;
    }
    else
    {
        document.getElementById('divOpt4Result').textContent = roundedResult.toString();
        document.getElementById('divOpt4Cost').textContent = roundedCost;
    }
}
/****** END REGION: option 4 methods ******/
