New Bima Bachat - RReckoner
New Bima Bachat - RReckoner
by santosh_patnala
HTML
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<div class="container" data-ng-app="nbbApp">
<div class="row">
<fieldset class="scheduler-border col-lg-6" ng-controller="nbbController">
<legend class="scheduler-border">NBB</legend>
<form role="form">
<div class="col-lg-12">
<div class="form-group col-lg-12">
<label>Age <span class="mandateField">*</span>
</label>
<input type="text" class="form-control" valid-number data-ng-model="getAge.age" data-ng-blur="ageBlur()" placeholder="Enter age between 15 to 66" maxlength="2" />
</div>
<div class="form-group col-lg-12">
<label>Sum Assured <span class="mandateField">*</span>
</label>
<input type="text" class="form-control" valid-number data-ng-model="sumAssuredModel" data-ng-blur="sumAssuredBlur()" placeholder="Enter Sum Assured in multiples of 5000" data-ng-disabled="!getAge.age" />
</div>
<div class="rdoTerm form-group col-lg-12">
<label>Term in Years <span class="mandateField">*</span>
</label>
<label>
<input type="radio" ng-model="rdoValue" value="nine" data-ng-disabled="!sumAssuredModel" data-ng-change="rdoChange()" ng-click="uncheck($event)" />9</label>
<label>
<input type="radio" ng-model="rdoValue" value="twelve" data-ng-disabled="!sumAssuredModel" data-ng-change="rdoChange()" ng-click="uncheck($event)" />12</label>
<label>
<input type="radio" ng-model="rdoValue" value="fifteen" data-ng-disabled="!sumAssuredModel" data-ng-change="rdoChange()" ng-click="uncheck($event)"...
CSS
li {
list-style: none;
}
fieldset.scheduler-border {
border: 1px groove #ddd !important;
padding: 0 1.4em 1.4em 1.4em !important;
margin: 0 0 1.5em 0 !important;
-webkit-box-shadow: 0px 0px 0px 0px #000;
box-shadow: 0px 0px 0px 0px #000;
}
legend.scheduler-border {
font-size: 1.2em !important;
font-weight: bold !important;
text-align: left !important;
width: auto;
margin-bottom: 0;
padding: 0 10px;
border-bottom: none;
}
.radio label {
margin: 0 5px;
}
.mandateField {
color: #ff0000;
}
.includedServiceTax {
color: #ff0000;
font-size: 11px;
}
.errorBorder {
border: 1px solid #e47f7f;
box-shadow: 0 1px 1px rgba(255, 0, 0, 0.075) inset;
}
.errorBorder:focus {
border-color: #e47f7f;
box-shadow: 0 1px 1px rgba(255, 0, 0, 0.08) inset, 0 0 8px rgba(232, 102, 102, 0.6);
}
.noErrorBorder {
border: 1px solid #ccc;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
}
.rdoTerm label {
padding: 0;
margin-right: 20px;
}
JavaScript
var nbbApp = angular.module('nbbApp', []);
nbbApp.controller("nbbController", function ($scope, $http) {
$scope.uncheck = function (event) {
if ($scope.checked == event.target.value) $scope.checked = false
}
$scope.rdoChange = function () {
//CHECK RADIO BUTTON VALUE WITH SUM ASSURED START
if ($scope.rdoValue == 'nine') {
//alert("if");
if ($scope.sumAssuredModel < 35000 || (($scope.sumAssuredModel % 5000) != 0)) {
$scope.sumAssuredModel = '';
$scope.uncheck();
}
}
if ($scope.rdoValue == 'twelve') {
//alert("else if");
if ($scope.sumAssuredModel < 50000 || (($scope.sumAssuredModel % 5000) != 0)) {
$scope.sumAssuredModel = '';
}
}
if ($scope.rdoValue == 'fifteen') {
//alert("else");
if ($scope.sumAssuredModel < 75000 || (($scope.sumAssuredModel % 5000) != 0)) {
$scope.sumAssuredModel = '';
}
}
//CHECK RADIO BUTTON VALUE WITH SUM ASSURED END
}
$scope.getTermValue = function (term) {
switch ($scope.rdoValue) {
case "nine":
var tempNine1 = tempNine2 = sumNine = sa = 0;
tempNine1 = parseFloat(term.nine);
tempNine2 = parseFloat(term.nine * 0.0309);
sa = parseFloat($scope.sumAssuredModel / 1000);
if (sa < 150 && sa >= 75) {
//alert("<150");
sa -= ((sa * 6) / 100);
sumNine = (tempNine1 + tempNine2) * sa;
return Math.round(sumNine);
} else if (sa > 149) {
//alert(">149");
sa -= ((sa * 8) / 100);
sumNine = (tempNine1 + tempNine2) * sa;
return Math.round(sumNine);
} else {
sumNine = (tempNine1 + tempNine2)...