﻿

(function($j, $tb) {

    $j(document).ready(function() {

        var tabs, quickHandler;

        var householdWidget = new co2calc.widget.Household({
            name: "Household",
            totalEl: "div.widget-household span.total-num",
            averageEl: "div.widget-household span.average-num"
        });
		
		var qvContainer = $j("div.widget-household div.view-content-quick");
		if (qvContainer.length > 0) {
			var quickView = new co2calc.widget.HouseholdViewQuick({
				name: "Quick",
				trigger: "a[href$='household-quick-estimate']",
				container: qvContainer,
				messageBox: new co2calc.widget.WidgetViewMessageBox({
					element: "div.widget-household div.view-content-quick div.view-message",
					positionAnchor: "div.widget-household div.widget-image",
					matte: "div.widget-household div.view-content-quick div.view-message-matte"
				}),
				staticAverage:11.69
			});
			householdWidget.views.add(quickView, true);
			
		}

		var dvContainer = $j("div.widget-household div.view-content-detailed");
		
		if (dvContainer.length > 0) {
			var detailViewAccordion = new $tb.ui.Accordion({
				triggers: "div.widget-household div.view-content-detailed div.accordion h4.section-title",
				sections: "div.widget-household div.view-content-detailed div.accordion div.section-content"
			});
			
			var detailedView = new co2calc.widget.HouseholdViewDetailed({
				name: "Detailed",
				trigger: "a[href$='household-detailed-footprint']",
				container: dvContainer,
				messageBox: new co2calc.widget.WidgetViewMessageBox({
					element: "div.widget-household div.view-content-detailed div.view-message",
					positionAnchor: "div.widget-household div.widget-image",
					matte: "div.widget-household div.view-content-detailed div.view-message-matte"
				}),
				staticAverage:11.69
			});
			householdWidget.views.add(detailedView, (qvContainer.length==0)? true : false);
		}
        

        //bind zip code fields
		var zipCodeFields = $j("input#txtHHQZipCode,input#txtHHDZipCode")
        zipCodeFields.keyup(function(evt) {
            var val = evt.target.value;
			zipCodeFields.val(val);
            if ((/^[0-9]{5}$/).test(val))
                co2calc.zipCode(val);
        });
		//bind the other input fields to update the widget's total
        $j("div.widget-household input:not([id$='ZipCode']|[type='checkbox]|[type='radio'])").keyup(function(evt) {
            householdWidget.total(true);
        });
        $j("div.widget-household select").change(function(evt) {
            householdWidget.total(true);
        });
		$j("div.widget-household input[type='checkbox']").click(function(evt) {
			//must delay the total() call so the event has finished and we have the correct checkbox.checked value;
			setTimeout(function(){householdWidget.total(true)}, 50);
        });

        /*
        j("div.widget-household div.view-content-detailed *").each(function(i, e){
        if(e.nodeName.toLowerCase()=="input" || e.nodeName.toLowerCase()=="select"){
        var dataRef = e.getAttribute("data");
        if(dataRef){
        trace(dataRef);	
        }
        }
        });*/

    });

})(jQuery, tbelt);
