﻿


(function($j, $tb) {

    $j(document).ready(function() {

        var tabs, quickHandler;

        var drivingWidget = new co2calc.widget.Driving({
            name: "Driving",
            totalEl: "div.widget-driving span.total-num",
            averageEl: "div.widget-driving span.average-num"
        });

        var quickView = new co2calc.widget.DrivingViewQuick({
            name: "Quick",
            trigger: "a[href$='driving-quick-estimate']",
            container: "div.widget-driving div.view-content-quick",
			messageBox: new co2calc.widget.WidgetViewMessageBox({
				element:"div.widget-driving div.view-content-quick div.view-message",
				positionAnchor:"div.widget-driving div.widget-image",
				matte:"div.widget-driving div.view-content-quick div.view-message-matte"
			}),
			vehicleRepeater: new co2calc.widget.DrivingVehicleRepeater({
				maxItems:4,
				minItems:1,
				itemsContainer:"div.widget-driving div.view-content-quick div.accordion-inner",
				itemsSelector:"div.accordion-section",
				btnAdd:"div.widget-driving div.view-content-quick a.btn-vehicle-add",
				btnRemove:"div.widget-driving div.view-content-quick a.btn-vehicle-remove",
				data:[{}]
			})	
        });
        drivingWidget.views.add(quickView, true);
		

        var detailedView = new co2calc.widget.DrivingViewDetailed({
            name: "Detailed",
            trigger: "a[href$='driving-detailed-footprint']",
            container: "div.widget-driving div.view-content-detailed",
			messageBox: new co2calc.widget.WidgetViewMessageBox({
				element:"div.widget-driving div.view-content-detailed div.view-message",
				positionAnchor:"div.widget-driving div.widget-image",
				matte:"div.widget-driving div.view-content-detailed div.view-message-matte"
			}),
			vehicleRepeater: new co2calc.widget.DrivingVehicleRepeater({
				maxItems:4,
				minItems:1,
				itemsContainer:"div.widget-driving div.view-content-detailed div.accordion-inner",
				itemsSelector:"div.accordion-section",
				btnAdd: "div.widget-driving div.view-content-detailed a.btn-vehicle-add",
				btnRemove: "div.widget-driving div.view-content-detailed a.btn-vehicle-remove",
				data:[{}]
			})
        });
        drivingWidget.views.add(detailedView, false);
		
		
		var zipCodeFields = $j("div.widget-driving input#txtDQZipCode,div.widget-driving input#txtDDZipCode");
		if(co2calc.widgets["Household"]){
			//if household widget exists, we don't need the zip code field in this widget
			zipCodeFields.closest(".form-row").remove();
		}else{
			//bind zip code fields
	        zipCodeFields.keyup(function(evt) {
	            var val = evt.target.value;
				zipCodeFields.val(val);
	            if ((/^[0-9]{5}$/).test(val))
	                co2calc.zipCode(val);
	        });
		}
        
		
		function onInputTrigger(evt){			
			drivingWidget.total(true);
		}
		
		function bindInputTriggers(){
			$j("div.widget-driving select").unbind("change", onInputTrigger).change(onInputTrigger);
			$j("div.widget-driving input:not([id$='ZipCode'])").unbind("change", onInputTrigger).keyup(onInputTrigger);
		}
		bindInputTriggers();
		
		$j(quickView.vehicleRepeater).bind(quickView.vehicleRepeater.className+".bind", bindInputTriggers);
		$j(detailedView.vehicleRepeater).bind(quickView.vehicleRepeater.className+".bind", bindInputTriggers);
		

    });

})(jQuery, tbelt);
