define(['quote/quote'], function (quote) { quote.controller('Trailer', ['$scope', '$http', 'Helpers', 'VehicleHelpers', function ($scope, $http, Helpers, VehicleHelpers) { $scope.SetStepHeader('

Trailer information

'); $scope.Trailers = $scope.Quote.Vehicles; $scope.isUpdate = false; $scope.index = $scope.Trailers.length; $scope.isEdit = $scope.Quote.AmendmentMode == "Edit" ? true : false; $scope.disableRegistration = false; //vehicleobject actions //when the currently selected Vehicle changes $scope.changeIndex = function (vehicle) { var index = VehicleHelpers.getVehicleIndex(vehicle); $scope.index = index; $scope.listIndex = VehicleHelpers.getLastVehicleIndexByType($scope.Trailers[$scope.index], 'IsTrailer'); $scope.Trailers[index].HasSeen = true; }; //when a Vehicle is removed $scope.removeItem = function (vehicle) { var index = VehicleHelpers.getVehicleIndex(vehicle); VehicleHelpers.removeVehicle($scope, index, 'IsTrailer'); }; //when a Vehicle is added $scope.addItem = function addItem() { VehicleHelpers.addVehicle($scope, { IsTrailer: true, VehicleTypeInternal: "TR", Sasria: "Y", HailCover: "Y", isAdd: true }, 'IsTrailer'); window.scrollTo(0, 0); }; VehicleHelpers.setupState($scope, 'IsTrailer'); $scope.loadTrailerMinMax = function () { var Trailer = {}; Trailer.vehicleKey = $scope.Trailers[$scope.index].VehicleDescription.Id; Trailer.ReferenceNumber = $scope.Quote.ReferenceNumber; $http({ method: 'POST', url: "/quote/Trailer/GetVehicleMinMaxWithVehicleKey", data: Trailer }).success(function (data, status, headers, config) { $scope.TrailerMaximum = data.Maximum; $scope.TrailerMinimum = data.Minimum; }).error(function (data, status, headers, config) { }); } function getSelectedText(elementId) { var elt = document.getElementById(elementId); if (elt.selectedIndex == -1) return null; return elt.options[elt.selectedIndex].text; } function setVehicleDescription() { if ($scope.Trailers[$scope.index].VehicleDescription && $scope.Trailers[$scope.index].VehicleDescription.Id && $scope.Trailers[$scope.index].VehicleDescription.Year && $scope.Trailers[$scope.index].isAdd) $scope.Trailers[$scope.index].VehicleDescription.Description = getSelectedText('YearList') + " " + getSelectedText('MakeList') + ' Trailer'; } $scope.$watch("Trailers[index].VehicleDescription.Id", function (value) { if (value) { $scope.loadTrailerMinMax(); } else { $scope.TrailerMaximum = ""; $scope.TrailerMinimum = ""; $scope.Trailers[$scope.index].InsuredValue = ""; $scope.Trailers.length; } }); $scope.$watch("Trailers[index].VehicleFinanced", function (value) { if (value == "Y" && $scope.Quote.AmendmentMode == 'Add') { $scope.Trailers[$scope.index].Sasria = "Y"; $scope.Trailers[$scope.index].HailCover = "Y"; } }); $scope.$watch("Trailers[index].VehicleDescription.Year", setVehicleDescription); $scope.$watch("Trailers[index].VehicleDescription.Id", setVehicleDescription); }]); });