
	
		var inputdata = {
            gloves : {
                name: [
					'Generic Nitrile Gloves','Generic Latex gloves','GREEN Nitrile gloves','STERLING* Nitrile gloves'
                ],
                gloves_per_case : [
                '1000','1000','1500','1500'
                ],
                case_weight : [
                '9.1','11.3','6.8','8.7'
                ],
                
                generic : [
                true,true,false,false
                ],
                weight_of_cardboard_in_case_kg : [
                 '1.1','1.1','0.8','1.1'
                ],
                cubic_meters_per_case : [
                '0.027','0.027','0.015','0.027'
                ],
                glove_weight: [
                '8','10.2','4','5.1'
                ],
                cases_per_truck : [
                '1000','1000','1800','1000'
                ]
            },

            currency: {
                text : ['GBP', 'EURO'],
                symbol : ['pound','euro'],
                exchange_rate: 0
            },
            
            other_assumptions : {
                co2_emissions_from_truck_kg_per_km : 0.327,
                mature_tree_co2_absorbtion_per_year: 22,
                glove_mass_converted_into_CO2_during_combustion_percentage : 20
            },

            default_page_values : {
                deliveries_cost_label : 'Deliveries cost [currency_symbol] per case',
                waste_disposal_label: 'Waste disposal cost [currency_symbol] per Kg',
                cost_reduction: 'Cost reduction of [currency_symbol][cost_reduction] per year, a saving of [currency_symbol][saving] per 1000 gloves'
            }
	    }
	    
	    
	    
	    
	    
	    
	    
	    
	    
	    
	     var GreenMeterCalculation = {

	        user_values: {
	            proposed_glove_id: 0,
	            current_glove_id: 0,
	            currency_id: 0,
	            consumption_cases_per_year: 0,
	            deliveries_per_year: 0,
	            km_from_supplier_to_site: 0,
	            delivery_cost_per_case: 0,
	            waste_disposal_cost_per_kg: 0
	        },

	        calculated_values: {
	            cost_reduction: 0,
	            saving: 0
	        },

	        process_results: function () {
	            this.readUserValues();
	            this.recalculateAll();
	        },

	        attach_on_key_press_events: function () {
	            $("input:text").keyup(function () {
	                GreenMeterCalculation.process_results();
	            });
	        },

	        attach_on_change_events: function () {
	            $("select").change(function () {
					//data.update_labels_currency_symbol();
	                GreenMeterCalculation.process_results();

	                if (this.id == 'currency') {
	                    //this.update_labels_currency_symbol();
	                    GreenMeterCalculation.apply_exchange_rate();
	                }
	            });
	        },

	        init: function () {
	            $('#results').hide();
	            this.populateDropdown("currency", inputdata.currency.text, false);
	            //this.populateGeneric("ddl_product_proposed", false, true);
	            //this.populateGeneric("ddl_product_current", true, true);
	            this.update_labels_currency_symbol();
	            this.attach_on_change_events();
	            this.attach_on_key_press_events();
	        },

	        update_labels_currency_symbol: function () {
	            /*var selected_currency_id = $('#currency').val();
	            var selected_currency_symbol = inputdata.currency.symbol[selected_currency_id];

	            var deliveries_label = inputdata.default_page_values.deliveries_cost_label;
	            deliveries_label = deliveries_label.replace('[currency_symbol]', selected_currency_symbol);

	            var waste_label = inputdata.default_page_values.waste_disposal_label;
	            waste_label = waste_label.replace('[currency_symbol]', selected_currency_symbol);

	            var cost_reduction_label = inputdata.default_page_values.cost_reduction;
	            cost_reduction_label = cost_reduction_label.replace('[currency_symbol]', selected_currency_symbol);

	            $('#lbl_deliveries_cost').text(deliveries_label);
	            $('#lbl_waste').text(waste_label);
	            $('#cost_reduction').text(cost_reduction_label);*/
	        },

	        apply_exchange_rate: function () {
	        
	            var selected_currency_id = document.getElementById ("currency").selectedIndex;
	            var selected_currency_symbol = inputdata.currency.symbol[selected_currency_id];
	            var exchangerate = $('#exchangerate').val();

	            if (selected_currency_id == 0) {
	                this.user_values.delivery_cost_per_case = this.user_values.delivery_cost_per_case / exchangerate;
	                this.user_values.waste_disposal_cost_per_kg = this.user_values.waste_disposal_cost_per_kg / exchangerate;
	            }
	            else if (selected_currency_id == 1) {
	                this.user_values.delivery_cost_per_case = this.user_values.delivery_cost_per_case * exchangerate;
	                this.user_values.waste_disposal_cost_per_kg = this.user_values.waste_disposal_cost_per_kg * exchangerate;
	            }

	            $('#delivery-cost-per-case').val(this.roundNumber(this.user_values.delivery_cost_per_case, 2));
	            $('#waste-disposal-cost').val(this.roundNumber(this.user_values.waste_disposal_cost_per_kg,2));

	            this.process_results();
	        },

	        populateGeneric: function (dropdown, is_generic, sort) {
	            $("#" + dropdown + " &gt; option").remove();
	            $.each(inputdata.gloves.name, function (intIndex, objValue) {
	                if (is_generic) {
	                    if (inputdata.gloves.generic[intIndex]) {
	                        $("#" + dropdown).append(
                                $('<option></option>').val(intIndex).html(objValue)
                            );
	                    }
	                }
	                else {
	                    if (!inputdata.gloves.generic[intIndex]) {
	                        $("#" + dropdown).append(
                                $('<option></option>').val(intIndex).html(objValue)
                            );
	                    }
	                }
	            });
	        },

	        populateDropdown: function (dropdown, data, sort) {
	            if (sort) {
	                data.sort();
	            }
	            $("#" + dropdown + " &gt; option").remove();
	            $.each(data, function (intIndex, objValue) {
	                $("#" + dropdown).append(
                        $('<option></option>').val(intIndex).html(objValue)
                    );
	            });
	        },


			getIndexByName: function(input_name) {
				for (var x=0; x  <  inputdata.gloves.name.length;  x++) {
					if (inputdata.gloves.name[x] == input_name) 
						return x;
				}
			},
	        readUserValues: function () {
	            this.user_values.proposed_glove_id = this.getIndexByName(document.getElementById ("proposed-product")[$('#proposed-product')[0].selectedIndex].text); //  this.getIndexByName ($('#proposed-product').text());         //document.getElementById ("proposed-product").selectedIndex;
	            this.user_values.current_glove_id = this.getIndexByName(document.getElementById ("current-product")[$('#current-product')[0].selectedIndex].text);// this.getIndexByName ($('#current-product').text());        //         document.getElementById ("current-product").selectedIndex;
	            this.user_values.currency_id = $('#currency').val();
	            this.user_values.consumption_cases_per_year = $('#consumption').val();
	            this.user_values.deliveries_per_year = $('#deliveries-per-year').val();
	            this.user_values.km_from_supplier_to_site = $('#km-from-supplier').val();
	            this.user_values.delivery_cost_per_case = $('#delivery-cost-per-case').val();
	            this.user_values.waste_disposal_cost_per_kg = $('#waste-disposal-cost').val();
	        },


			populateElement: function (elementName, elementValue) {
			
				if (!elementValue) 
					elementValue = 0;
					
				$("#" + elementName).html(elementValue.toString());
				try {
					if (parseFloat (elementValue)   <  0) {
						$("#" + elementName).addClass ("negative");
					} else {
						$("#" + elementName).removeClass ("negative");
					}
				} catch(e) {
				}
			},
			
	        recalculateAll: function () {
	            var co2_reduction = this.calculateCo2Reduction();
	            var trees_planted = this.calculateTreePlanted(co2_reduction);
	            this.populateElement ("co2_reduction", co2_reduction);
	            this.populateElement ("trees_planted", trees_planted);
	            
	            
	            var waste_reduction = this.calculateWasteReduction();
	            var waste_reduction_percentage = this.calculateWateReductionPercentage(co2_reduction);
	            this.populateElement ("waste_reduction", waste_reduction);
	            this.populateElement ("waste_reduction_percentage", waste_reduction_percentage);
	            
	            var space_reduction = this.calculateSpaceReduction();
	            var space_reduction_percentage = this.calculateSpaceReductionPercentage();
	            this.populateElement ("space_reduction", space_reduction);
	            this.populateElement ("space_reduction_percentage", space_reduction_percentage);
	            
	            var cost_reduction = this.calculateCostReduction();
	            var cost_reduction_saving = this.calculateSaving(cost_reduction);
				this.populateElement ("cost_reduction", cost_reduction);
				this.populateElement ("cost_reduction_saving", cost_reduction_saving);
	            

	        },

	        calculateCo2Reduction: function () {
	            var B26 = this.user_values.deliveries_per_year;
	            var B27 = this.user_values.km_from_supplier_to_site;
	            var B15 = (1.15 / 2.2) / 1.6;

	            var B40 = B26 * B27 * 2;

	            var B24 = this.user_values.consumption_cases_per_year;
	            var I23 = inputdata.gloves.gloves_per_case[this.user_values.current_glove_id];
	            var K23 = inputdata.gloves.cases_per_truck[this.user_values.current_glove_id];
	            var I22 = inputdata.gloves.gloves_per_case[this.user_values.proposed_glove_id];
	            var K22 = inputdata.gloves.cases_per_truck[this.user_values.proposed_glove_id];

	            var B39 = ((B24 * 1000 / I23) / K23) - ((B24 * 1000 / I22) / K22);

	            var B42 = B40 * B39 * B15;
	            var E23 = inputdata.gloves.glove_weight[this.user_values.current_glove_id];
	            var E22 = inputdata.gloves.glove_weight[this.user_values.proposed_glove_id];
	            var B31 = this.user_values.consumption_cases_per_year * 1000;
	            var B34 = (E23 - E22) * B31 / 1000;
	            var B17 = inputdata.other_assumptions.glove_mass_converted_into_CO2_during_combustion_percentage / 100;

	            var B36 = B34 * B17;

	            var B46 = B36 + B42;

	            return Math.round(B46);
	        },

	        calculateTreePlanted: function (B46) {
	            return Math.round(B46 / inputdata.other_assumptions.mature_tree_co2_absorbtion_per_year);
	        },

	        calculateWasteReduction: function () {
	            var G23 = inputdata.gloves.case_weight[this.user_values.current_glove_id] * 1000 / inputdata.gloves.gloves_per_case[this.user_values.current_glove_id];
	            var G22 = inputdata.gloves.case_weight[this.user_values.proposed_glove_id] * 1000 / inputdata.gloves.gloves_per_case[this.user_values.proposed_glove_id];
	            var B31 = this.user_values.consumption_cases_per_year * 1000;
	            var B52 = ((G23 - G22) * B31 / 1000000);
	            return this.roundNumber(B52, 1);
	        },

	        calculateWateReductionPercentage: function (B46) {

	            var B26 = this.user_values.deliveries_per_year;
	            var B27 = this.user_values.km_from_supplier_to_site;
	            var B15 = (1.15 / 2.2) / 1.6;

	            var B40 = B26 * B27 * 2;

	            var B24 = this.user_values.consumption_cases_per_year;
	            var I23 = inputdata.gloves.gloves_per_case[this.user_values.current_glove_id];
	            var K23 = inputdata.gloves.cases_per_truck[this.user_values.current_glove_id];

	            var B38 = ((B24 * 1000 / I23) / K23);
	            var B41 = B38 * B40 * B15;

	            var B17 = inputdata.other_assumptions.glove_mass_converted_into_CO2_during_combustion_percentage / 100;
	            var E23 = inputdata.gloves.glove_weight[this.user_values.current_glove_id];
	            var B33 = B24 * E23 * I23 / 1000
	            var B35 = B33 * B17;

	            var B44 = B41 + B35;

	            return this.roundNumber(B46 / B44 * 100, 0);
	        },

	        calculateSpaceReduction: function () {
	            var B24 = this.user_values.consumption_cases_per_year;
	            var B31 = this.user_values.consumption_cases_per_year * 1000;
	            var I22 = inputdata.gloves.gloves_per_case[this.user_values.proposed_glove_id];
	            var B26 = this.user_values.deliveries_per_year;
	            var B55 = Math.round((B24 - (B31 / I22)) / B26);
	            return B55;
	        },

	        calculateSpaceReductionPercentage: function () {
	            var B24 = this.user_values.consumption_cases_per_year;
	            var M23 = inputdata.gloves.cubic_meters_per_case[this.user_values.current_glove_id];
	            var M22 = inputdata.gloves.cubic_meters_per_case[this.user_values.proposed_glove_id];
	            var I22 = inputdata.gloves.gloves_per_case[this.user_values.proposed_glove_id];
	            var B31 = this.user_values.consumption_cases_per_year * 1000;
	            var B57 = this.roundNumber((B24 * M23) - (B31 * M22 / I22), 1);
	            var B56 = this.roundNumber((B24 * M23), 1);
	            var B58 = B57 / B56;
	            return Math.round(B58 * 100);
	        },

	        calculateCostReduction: function () {
	            var E23 = inputdata.gloves.glove_weight[this.user_values.current_glove_id];
	            var E22 = inputdata.gloves.glove_weight[this.user_values.proposed_glove_id];
	            var B31 = this.user_values.consumption_cases_per_year * 1000;
	            var B34 = (E23 - E22) * B31 / 1000;
	            var B29 = this.user_values.waste_disposal_cost_per_kg;
	            var B65 = B34 * B29;


	            var I22 = inputdata.gloves.gloves_per_case[this.user_values.proposed_glove_id];
	            var I23 = inputdata.gloves.gloves_per_case[this.user_values.current_glove_id];
	            var B28 = this.user_values.delivery_cost_per_case;

	            var B60 = (B31 / I23) * B28;
	            var B61 = (B31 / I22) * B28;
	            var B62 = B60 - B61;

	            var B67 = B65 + B62;
	            return Math.round(B67);
	        },

	        calculateSaving: function (B67) {
	            var B31 = this.user_values.consumption_cases_per_year * 1000;
	            var B68 = B67 / B31;
	            var B69 = B68 * 1000;
	            return this.roundNumber(B69, 2);
	        },


	        roundNumber: function (num, dec) {
	            var result = Math.round(Math.round(num * Math.pow(10, dec + 1)) / Math.pow(10, 1)) / Math.pow(10, dec);
	            return result;
	        }
	    }
	    
	    
	    $(window).bind ("load", function() {
		    GreenMeterCalculation.attach_on_change_events();
		    GreenMeterCalculation.attach_on_key_press_events();
		});
	    
		
	
