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)...