Pastebin launched a little side project called HostCabi.net, check it out ;-)Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Feb 5th, 2013  |  syntax: None  |  size: 417.83 KB  |  hits: 22  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /** ********* Validate js file **************** */
  2. var autoTrigger = true ;  // for member expansion
  3.  
  4. var tableDependency = ["whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany",
  5.                        "whetherCompaniesAuditorsReportOrderIsApplicableOnCompany",
  6.                        "whetherThereAreAnyRelatedPartyTransactionsDuringYear",
  7.                        "whetherCompanyHasInvestedInJointVentures",
  8.                        "whetherCompanyHasInvestedInAssociates",
  9.                        "whetherCompanyHasSubsidiaryCompanies",
  10.                        ];
  11. var  seqOrderTables = [
  12.                        "disclosureOfClassesOfShareCapitalTable",
  13.                        "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable", //
  14.                        "disclosureOfPrimaryReportableSegmentsTable",
  15.                        "disclosureOfSecondaryReportableSegmentsTable",
  16.                        "disclosureOfImpairmentOfAssetsInPrimarySegmentDisclosureFormatTable",
  17.                        "detailsOfRawMaterialsConsumedTable",
  18.                        "detailsOfGoodsPurchasedTable",
  19.                        "detailsOfManufacturedAndTradedGoodsTable",
  20.                        "detailsOfWorkInProgressTable",
  21.                        "detailsOfPurchasesAndSalesOfTradingCompaniesTable",  
  22.                        "detailsOfRawMaterialsSparePartsAndComponentsConsumedTable" //
  23.                        ];
  24. var pYear_NA = ["400200","202400","202500","202800","300700","400300","400400","202300","202600"] ;
  25. $(function() {
  26.         /*
  27.          * $(":input").blur(function() { $(":input[type=text]").css("background",
  28.          * "white");
  29.          *
  30.          * });
  31.          */
  32.  
  33.         // on('click', function () {
  34.         $('#valertImg').siblings().on('click', function() {
  35.  
  36.                 $('#vImg').hide();
  37.  
  38.         });
  39.         $('#main-nav').children().on('click', function() {
  40.  
  41.                 $('#vImg').hide();
  42.  
  43.         });
  44.  
  45.         $('#Validation').siblings().click(function() {
  46.  
  47.                 //$('#Validation').hide();
  48.  
  49.         });
  50.         $('#main-nav').children().click(function() {
  51.  
  52.                 //$('#Validation').hide();
  53.  
  54.         });
  55.  
  56.        
  57.         $(':input[disable=disabled]').css('background','Gainsboro !important');
  58. });
  59.  
  60. function validate(e) {
  61.  
  62.         // Check for datatype, if present, validate accordingly.
  63.         var dtype = e.target.getAttribute("datatype");
  64.         var checktype = e.target.getAttribute("valcheck");
  65.         var value = e.target.value;
  66.         var id = e.target.id;
  67.         var valNew = value.slice(0, -1);
  68.  
  69.         if (dtype == "monetary") {
  70.  
  71.                 var regx = /^-?[1-9]*\.?[0-9]*$/;
  72.  
  73.                 if (checktype == "ge=0") {
  74.                         // Check if the monitory type non negative value.
  75.                         regx = /^[1-9]\d*(\.\d+)?$/;
  76.                 }
  77.  
  78.                 if (!regx.test(value)) {
  79.                         $('#' + id)[0].value = valNew;
  80.                 }
  81.         } else if ((dtype == "decimal") || (dtype == "shares")
  82.                         || (dtype == "perShare")) {
  83.  
  84.                 var regx = /^[1-9]+/;
  85.  
  86.                 if (!regx.test(value)) {
  87.  
  88.                         $('#' + id)[0].value = valNew;
  89.                 }
  90.         } else if ((dtype == "percentItemType ") || (dtype == "pure")
  91.                         || (dtype == "Percentage")) {
  92.  
  93.                 var regx = /^[0-1]*\.?[0-9]*$/;
  94.                 if (!regx.test(value) || value < 0 || value > 100) {
  95.                         $('#' + id)[0].value = valNew;
  96.                 }
  97.         }
  98. }
  99. // validation for onblur
  100.  
  101. function validateOnblur(e) {
  102.  
  103.         var dtype = e.target.getAttribute("datatype");
  104.         // var checktype = e.target.getAttribute("valcheck");
  105.         var value = e.target.value;
  106.         var id = e.target.id;
  107.         var returnValue = true;
  108.  
  109.         if (value == "") {
  110.  
  111.                 $('#' + id).css('background', 'none');
  112.         }
  113.         if ((dtype == "CINNumberItemType" && value != "")) {
  114.                 var regx = /((U|L)([0-9]{5})([A-Z]{2})([0-9]{4})(PLC|PTC|FTC)([0-9]{6}))$/; // CIN should be in upper case.
  115.                 if (!regx.test(value.trim())) {
  116.  
  117.                         value = value.replace(regx, "");
  118.                         $('#' + id)[0].value = value;
  119.                         $('#' + id).css('background', 'yellow');
  120.                         returnValue = false;
  121.                 } else if (id == 'corporateIdentityNumber') {
  122.                         if ($('#' + id).attr('readonly') != 'readonly') {
  123.                                 findDublicateCinNumber();
  124.                         }
  125.                 } else {
  126.  
  127.                         $('#' + id).css('background', 'none');
  128.  
  129.                 }
  130.         }
  131.  
  132.         return returnValue;
  133. }
  134.  
  135. function validateAll(schid, type, tableInput) {
  136.  
  137.         var validationResult = true;
  138.         validationType = type;
  139.  
  140.         // Generic validations
  141.         // Check all generic validations
  142.         // 1. Mandatory Check
  143.         fields = $(":input");
  144.  
  145.         if (type == "partial") {
  146.  
  147.                 fields = $(":input[type!=formula]:visible:enabled,select:visible:enabled");
  148.                 tables = $("table.groupingTable-bordered-table");
  149.                 for ( var t = 0; t < tables.length; t++) {
  150.  
  151.                         fcontentId = $("#" + tables[t].id).parents('.fcontent').attr('id');
  152.                         if (fcontentId == $('.fcontent:visible').attr('id')) {
  153.  
  154.                                 fields.push(tables[t]);
  155.                         }
  156.                 }
  157.  
  158.         } else if (type == 'table') {
  159.  
  160.                 fields = tableInput;
  161.  
  162.         } else if (type == 'full' && tableInput == 'directfields') {
  163.  
  164.                 fields = $(":input[type=text1][groupid='undefined']:enabled,select[groupid='undefined']:enabled,table.groupingTable-bordered-table");
  165.                 // tables = $("table.groupingTable-bordered-table");
  166.         } else if (type == 'full' && tableInput == 'tablefields') {
  167.  
  168.                 fields = $(":input[type=text1][groupid!='undefined'],select[groupid!='undefined']");
  169.                 // tables = $("table.groupingTable-bordered-table");
  170.         }
  171.  
  172.         for ( var l = 0; l < fields.length; l++) {
  173.  
  174.                 var field = fields[l];
  175.                 var vresult = true;
  176.  
  177.                 var year = "_CURYEAR";
  178.                 if (field.id.indexOf(year) == -1) {
  179.                         year = "_PREVYEAR";
  180.                 }
  181.  
  182.                 $("#" + field.name).focus(function() {
  183.                         $(this).css("background-color", "white");
  184.                 });
  185.  
  186.                 var mAttr = field.getAttribute("mandatory");
  187.                 var tableMonetary = field.getAttribute("disabled");
  188.  
  189.                 var vAttr = field.getAttribute("valcheck");
  190.  
  191.                 // if( tableMonetary != "disabled")
  192.                 // {
  193.                 if (vAttr != undefined) {
  194.  
  195.                         // schedule validation
  196.  
  197.                         if (vAttr.indexOf(schid) != -1
  198.                                         && (type == 'partial' || type == 'table')) {
  199.                                 // Check schedule specific validations.
  200.                                 vresult = validateSchedule["validate" + schid](field);
  201.  
  202.                         } else if (vAttr.indexOf("TableValidation") != -1
  203.                                         && type != "table") {
  204.  
  205.                                 // table field - specific validation.
  206.                                 vresult = validateSchedule["validateSpecific" + schid](field);
  207.                         } else if (vAttr.indexOf(schid) != -1 && type == "full") {
  208.  
  209.                                 // table field - specific validation.
  210.                                 vresult = validateSchedule["validate" + schid](field);
  211.                         }
  212.  
  213.                         if (field.value != "") {
  214.  
  215.                                 // Gt< =0 check
  216.                                 if (vAttr.indexOf("ge=0") != -1) {
  217.                                         fvalue = field.value;
  218.                                         if (field.tagName == "TEXTAREA") {
  219.                                                 // if textarea
  220.                                                 fvalue = $(field.value).text().replace(/\s/g, '');
  221.  
  222.                                         }
  223.  
  224.                                         // Check if the monitory type non negative value.
  225.                                         // var regx = /^(\d+(?:[\.\,]\d+)?)$/;
  226.                                         var regx = /\d{1,3}(,\d{3})*(\.\d\d)?|\.\d\d/;
  227.  
  228.                                         if (!regx.test(fvalue.trim())) {
  229.                                                 if (validationType == "full") {
  230.  
  231.                                                         key = "";
  232.                                                         fieldName = field.name.split('_')[0];
  233.                                                         fname = fieldName.charAt(0).toUpperCase()
  234.                                                                         + fieldName.substr(1).replace(
  235.                                                                                         /([A-Z][a-z])/g, ' $1').replace(
  236.                                                                                         /^ /, "").toLowerCase();
  237.                                                         validationAlert += "<div><a eid = '"
  238.                                                                         + field.name
  239.                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  240.                                                                         + key
  241.                                                                         + "'><a class='errorreport' eid = '"
  242.                                                                         + field.name
  243.                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  244.                                                                         + key + "'>" + fname + "(" + yr
  245.                                                                         + ")</a><span eid = '" + field.name
  246.                                                                         + "' class='err'>" + key + "</span></a>"
  247.                                                                         + "<p>"
  248.                                                                         + field.getAttribute("data-original-title")
  249.                                                                         + "</p></div>";
  250.                                                 }
  251.  
  252.                                                 vresult = false;
  253.                                         }
  254.                                 }
  255.                         }
  256.  
  257.                 }
  258.                 // }
  259.  
  260.                 if (field.tagName == 'TABLE') {
  261.  
  262.                         if ((mAttr.indexOf('mandatory') != -1 || mAttr == "yes")
  263.                                         && mAttr.indexOf('Balance Sheet') == -1 && sid != "400100") {
  264.  
  265.                                 vresult = validateSchedule["validateTable" + schid](field);
  266.  
  267.                         }
  268.  
  269.                 }
  270.  
  271.                 // Full notes Validation
  272.  
  273.                 // CIN , SRN, PAN, DIN Validation
  274.  
  275.                 var dataType = field.getAttribute("itemtype"); // to get datatype of a field.
  276.  
  277.                 if (vresult && dataType != null && (dataType.indexOf("Number") != -1 || dataType.indexOf("monetaryItemType") != -1 || dataType .indexOf("decimalItemType") != -1)) {
  278.  
  279.                         var regx;
  280.                         if (dataType.indexOf("CINNumber") != -1) {  
  281.  
  282.                                 regx = /((U|L)([0-9]{5})([A-Z]{2})([0-9]{4})(PLC|PTC|FTC)([0-9]{6}))$/; // CIN should be in upper case
  283.  
  284.                         } else if (dataType.indexOf("SRNNumberItemType") != -1
  285.                                         || dataType.indexOf("SRNNumber") != -1) {
  286.  
  287.                                 regx = /(([A-Z]{1})([0-9]{8}))$/;
  288.  
  289.                         } else if (dataType.indexOf("PANNumber") != -1) {
  290.  
  291.                                 regx = /^([A-Z]{5})([0-9]{4})([A-Z]{1})$/; // PAN Number should be upper case
  292.  
  293.                         } else if (dataType.indexOf("DINNumber") != -1) {
  294.  
  295.                                 regx = /^[0-9]{8}$/; // DIN number should be a 8 digit number.
  296.                         } else if (dataType.indexOf("ITCNumber4Digits") != -1) {
  297.  
  298.                                 regx = /^[0-9]{4}$/;
  299.                         } else if (dataType.indexOf("ITCNumber8Digits") != -1) {
  300.  
  301.                                 regx = /^[0-9]{8}$/;
  302.                         } else {
  303.  
  304.                                 //regx = /\d{1,3}(,\d{3})*(\.\d\d)?|\.\d\d/;
  305.                                 regx = /^[-]?[1-9]*(\,?[0-9])*\.?[0-9]*$/;   // regx changed for monetary item type.
  306.  
  307.                         }
  308.  
  309.                         if (!regx.test(field.value.trim()) && sid == ""
  310.                                         && field.value != "") {
  311.                                 vresult = false;
  312.                         } else {
  313.  
  314.                                 groupid = field.getAttribute('groupid');// table name
  315.                                 memberName = field.getAttribute('order1');// member name
  316.                                 var tablenotall = field.getAttribute('tablenotall');
  317.                                 if (groupid == null) {
  318.  
  319.                                         groupid = "undefined";
  320.                                 }
  321.  
  322.                                 if (!regx.test(field.value.trim()) && groupid == 'undefined'
  323.                                                 && field.value != "") {
  324.  
  325.                                         // check CIN for direct line items
  326.  
  327.                                         if (validationType == 'full') {
  328.  
  329.                                                 key = "";
  330.                                                 fieldName = field.name.split('_')[0];
  331.                                                 fname = fieldName.charAt(0).toUpperCase()
  332.                                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  333.                                                                                 ' $1').replace(/^ /, "").toLowerCase();
  334.                                                 validationAlert += "<div><a eid = '"
  335.                                                                 + field.name
  336.                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  337.                                                                 + key
  338.                                                                 + "'><a class='errorreport' eid = '"
  339.                                                                 + field.name
  340.                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  341.                                                                 + key + "'>" + fname + "(" + yr
  342.                                                                 + ")</a><span eid = '" + field.name
  343.                                                                 + "' class='err'>" + key + "</span></a>"
  344.                                                                 + "<p>"
  345.                                                                 + field.getAttribute("data-original-title")
  346.                                                                 + "</p></div>";
  347.                                         }
  348.  
  349.                                         vresult = false;
  350.  
  351.                                 } else if (!regx.test(field.value.trim())
  352.                                                 && groupid != 'undefined'
  353.                                                 && groupid.indexOf('Table') != -1 && type != "full"
  354.                                                 && field.value != "") {
  355.  
  356.                                         // check CIN for partial and table validation.
  357.  
  358.                                         vresult = false;
  359.  
  360.                                 } else if (!regx.test(field.value.trim())
  361.                                                 && groupid != 'undefined'
  362.                                                 && groupid.indexOf('Table') != -1 && type == 'full'
  363.                                                 && memberName != undefined && tablenotall != null) {
  364.  
  365.                                         // CIN check for full validations for table line items.
  366.                             // tablenotall is not present in the field need not to be validated.
  367.  
  368.                                         var year = '_CURYEAR';
  369.                                         var y = 0;
  370.                                         yr = "current year";
  371.                                         if (field.name.indexOf('_PREVYEAR') != -1) {
  372.  
  373.                                                 year = '_PREVYEAR';
  374.                                                 y = 1;
  375.                                                 yr = "previous year";
  376.                                         }
  377.                                         var fieldName = field.name.split('_')[0];
  378.                                         var tablenotall = field.getAttribute('tablenotall');
  379.                                         if (tablenotall == null) {
  380.  
  381.                                                 tablenotall = "";
  382.                                         }
  383.                                         tablenotall = tablenotall.replace(/Member/g, '').split(',');
  384.                                         var flag = false;
  385.                                         fname = fieldName.charAt(0).toUpperCase()
  386.                                                         + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  387.                                                                         ' $1').replace(/^ /, "").toLowerCase();
  388.  
  389.                                         if (!regx.test(field.value.trim()) && field.value != "") {
  390.  
  391.                                                 validationAlert += "<div><a eid = '"
  392.                                                                 + field.name
  393.                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  394.                                                                 + memberName
  395.                                                                 + "'><a class='errorreport' eid = '"
  396.                                                                 + field.name
  397.                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  398.                                                                 + memberName + "'>" + fname + "(" + yr
  399.                                                                 + ")</a><span eid = '" + field.name
  400.                                                                 + "' class='err'>" + memberName + "</span></a>"
  401.                                                                 + "<p>"
  402.                                                                 + field.getAttribute("data-original-title")
  403.                                                                 + "</p></div>";
  404.                                                 vresult = false;
  405.  
  406.                                         }
  407.  
  408.                                         $
  409.                                                         .each(
  410.                                                                         eval("inputdata.fields[" + y + "]."
  411.                                                                                         + groupid),
  412.                                                                         function(key, val) {
  413.  
  414.                                                                                 var tablenotall = field.getAttribute(
  415.                                                                                                 'tablenotall').replace(
  416.                                                                                                 /Member/g, '').split(',');
  417.                                                                                 found = $.inArray(key, tablenotall);
  418.                                                                                 mstatus = eval("inputdata.fields[" + y
  419.                                                                                                 + "]." + groupid + "['" + key
  420.                                                                                                 + "'].memberStatus");
  421.  
  422.                                                                                 if (found == -1 && mstatus == 'on'
  423.                                                                                                 && key != memberName) {
  424.  
  425.                                                                                         fvalue = eval("inputdata.fields["
  426.                                                                                                         + y + "]." + groupid + "['"
  427.                                                                                                         + key + "']." + fieldName);
  428.  
  429.                                                                                         if (!regx.test(fvalue.trim())
  430.                                                                                                         && fvalue != "") {
  431.  
  432.                                                                                                 validationAlert += "<div><a eid = '"
  433.                                                                                                                 + field.name
  434.                                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  435.                                                                                                                 + key
  436.                                                                                                                 + "'><a class='errorreport' eid = '"
  437.                                                                                                                 + field.name
  438.                                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  439.                                                                                                                 + key
  440.                                                                                                                 + "'>"
  441.                                                                                                                 + fname
  442.                                                                                                                 + "</a><span eid = '"
  443.                                                                                                                 + field.name
  444.                                                                                                                 + "' class='err'>"
  445.                                                                                                                 + key
  446.                                                                                                                 + "</span></a>"
  447.                                                                                                                 + "<p>"
  448.                                                                                                                 + field
  449.                                                                                                                                 .getAttribute("data-original-title")
  450.                                                                                                                 + "</p></div>";
  451.                                                                                                 vresult = false;
  452.  
  453.                                                                                         }
  454.  
  455.                                                                                 }
  456.                                                                         });
  457.                                 }
  458.                         }
  459.                 }
  460.  
  461.                 if (vresult
  462.                                 && (dataType == "Percentage" || dataType == "percentItemType"
  463.                                                 || dataType == "percentage" || dataType == "pureItemType")) {
  464.  
  465.                         groupid = field.getAttribute('groupid');// table name
  466.                         tablenotall = field.getAttribute('tablenotall');
  467.                         memberName = field.getAttribute('order1');
  468.  
  469.                         if (groupid == 'undefined' && field.value != "") {
  470.  
  471.                                 // check Mandatory for direct line items
  472.  
  473.                                 if (field.value < 0 || field.value > 100 || isNaN(parseFloat(field.value))) {
  474.  
  475.                                                                              // if value is not a number.
  476.                                         if (validationType == 'full') {
  477.  
  478.                                                 key = "";
  479.                                                 fieldName = field.name.split('_')[0];
  480.                                                 fname = fieldName.charAt(0).toUpperCase()
  481.                                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  482.                                                                                 ' $1').replace(/^ /, "").toLowerCase();
  483.                                                 validationAlert += "<div><a eid = '"
  484.                                                                 + field.name
  485.                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  486.                                                                 + key
  487.                                                                 + "'><a class='errorreport' eid = '"
  488.                                                                 + field.name
  489.                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  490.                                                                 + key + "'>" + fname + "(" + yr
  491.                                                                 + ")</a><span eid = '" + field.name
  492.                                                                 + "' class='err'>" + key + "</span></a>"
  493.                                                                 + "<p>"
  494.                                                                 + field.getAttribute("data-original-title")
  495.                                                                 + "</p></div>";
  496.                                         }
  497.  
  498.                                         vresult = false;
  499.  
  500.                                 }
  501.  
  502.                         } else if (groupid != 'undefined' && groupid.indexOf('Table') != -1
  503.                                         && type != "full" && field.value != ""
  504.                                         && tablenotall != null) {
  505.  
  506.                                 // check Date for partial and table validation.
  507.  
  508.                                 if (field.value < 0 || field.value > 100 || isNaN(parseFloat(field.value))) {
  509.  
  510.                                         vresult = false;
  511.  
  512.                                 }
  513.  
  514.                         } else if (groupid != 'undefined' && groupid.indexOf('Table') != -1
  515.                                         && type == 'full' && tablenotall != null && memberName) {
  516.  
  517.                                 // Date check for full validations for table line items.
  518.  
  519.                                 var year = '_CURYEAR';
  520.                                 var y = 0;
  521.                                 yr = "previous year";
  522.                                 if (field.name.indexOf('_PREVYEAR') != -1) {
  523.  
  524.                                         year = '_PREVYEAR';
  525.                                         y = 1;
  526.                                         yr = "current year";
  527.                                 }
  528.                                 var fieldName = field.name.split('_')[0];
  529.                                 var tablenotall = field.getAttribute('tablenotall').replace(
  530.                                                 /Member/g, '').split(',');
  531.                                 var flag = false;
  532.                                 fname = fieldName.charAt(0).toUpperCase()
  533.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  534.                                                                 .replace(/^ /, "").toLowerCase();
  535.  
  536.                                 if ((field.value < 0 || field.value > 100 || isNaN(parseFloat(field.value))) && field.value != "") {
  537.  
  538.                                         validationAlert += "<div><a eid = '" + field.name
  539.                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  540.                                                         + memberName + "'><a class='errorreport' eid = '"
  541.                                                         + field.name
  542.                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  543.                                                         + memberName + "'>" + fname + "(" + yr
  544.                                                         + ")</a><span eid = '" + field.name
  545.                                                         + "' class='err'>" + memberName + "</span></a>"
  546.                                                         + "<p>" + field.getAttribute("data-original-title")
  547.                                                         + "</p></div>";
  548.                                         vresult = false;
  549.  
  550.                                 }
  551.  
  552.                                 $
  553.                                                 .each(
  554.                                                                 eval("inputdata.fields[" + y + "]." + groupid),
  555.                                                                 function(key, val) {
  556.  
  557.                                                                         found = $.inArray(key, tablenotall);
  558.  
  559.                                                                         mstatus = eval("inputdata.fields[" + y
  560.                                                                                         + "]." + groupid + "['" + key
  561.                                                                                         + "'].memberStatus");
  562.  
  563.                                                                         if (found == -1 && mstatus == 'on'
  564.                                                                                         && key != memberName) {
  565.  
  566.                                                                                 fvalue = eval("inputdata.fields[" + y
  567.                                                                                                 + "]." + groupid + "['" + key
  568.                                                                                                 + "']." + fieldName);
  569.  
  570.                                                                                 if ((fvalue < 0 || fvalue > 100 || isNaN(parseFloat(fvalue)))
  571.                                                                                                 && fvalue != "") {
  572.  
  573.                                                                                         validationAlert += "<div><a eid = '"
  574.                                                                                                         + field.name
  575.                                                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  576.                                                                                                         + key
  577.                                                                                                         + "'><a class='errorreport' eid = '"
  578.                                                                                                         + field.name
  579.                                                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  580.                                                                                                         + key
  581.                                                                                                         + "'>"
  582.                                                                                                         + fname
  583.                                                                                                         + "("
  584.                                                                                                         + yr
  585.                                                                                                         + ")</a><span eid = '"
  586.                                                                                                         + field.name
  587.                                                                                                         + "' class='err'>"
  588.                                                                                                         + key
  589.                                                                                                         + "</span></a>"
  590.                                                                                                         + "<p>"
  591.                                                                                                         + field
  592.                                                                                                                         .getAttribute("data-original-title")
  593.                                                                                                         + "</p></div>";
  594.                                                                                         vresult = false;
  595.  
  596.                                                                                 }
  597.  
  598.                                                                         }
  599.  
  600.                                                                 });
  601.                         }
  602.  
  603.                 }
  604.  
  605.                 if (vresult && dataType == 'yyyy-mm-dd') {
  606.  
  607.                         var date = new Date();
  608.                         var dateValue = new Date(field.value);
  609.  
  610.                         groupid = field.getAttribute('groupid');// table name
  611.                         tablenotall = field.getAttribute('tablenotall');
  612.                         memberName = field.getAttribute('order1');
  613.  
  614.                         if (groupid == 'undefined' && field.value != "") {
  615.  
  616.                                 // check Mandatory for direct line items
  617.  
  618.                                 if (dateValue > date) {
  619.  
  620.                                         if (validationType == 'full') {
  621.  
  622.                                                 key = "";
  623.                                                 fieldName = field.name.split('_')[0];
  624.                                                 fname = fieldName.charAt(0).toUpperCase()
  625.                                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  626.                                                                                 ' $1').replace(/^ /, "").toLowerCase();
  627.                                                 validationAlert += "<div><a eid = '"
  628.                                                                 + field.name
  629.                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  630.                                                                 + key
  631.                                                                 + "'><a class='errorreport' eid = '"
  632.                                                                 + field.name
  633.                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  634.                                                                 + key + "'>" + fname + "(" + yr
  635.                                                                 + ")</a><span eid = '" + field.name
  636.                                                                 + "' class='err'>" + key + "</span></a>"
  637.                                                                 + "<p>"
  638.                                                                 + field.getAttribute("data-original-title")
  639.                                                                 + "</p></div>";
  640.                                         }
  641.  
  642.                                         vresult = false;
  643.  
  644.                                 }
  645.  
  646.                         } else if (groupid != 'undefined' && groupid.indexOf('Table') != -1
  647.                                         && type != "full" && field.value != ""
  648.                                         && tablenotall != null) {
  649.  
  650.                                 // check Date for partial and table validation.
  651.  
  652.                                 if (dateValue > date) {
  653.  
  654.                                         vresult = false;
  655.  
  656.                                 }
  657.  
  658.                         } else if (groupid != 'undefined' && groupid.indexOf('Table') != -1
  659.                                         && type == 'full' && tablenotall != null) {
  660.  
  661.                                 // Date check for full validations for table line items.
  662.  
  663.                                 var year = '_CURYEAR';
  664.                                 var y = 0;
  665.                                 yr = "previous year";
  666.                                 if (field.name.indexOf('_PREVYEAR') != -1) {
  667.  
  668.                                         year = '_PREVYEAR';
  669.                                         y = 1;
  670.                                         yr = "current year";
  671.                                 }
  672.                                 var fieldName = field.name.split('_')[0];
  673.                                 var tablenotall = field.getAttribute('tablenotall').replace(
  674.                                                 /Member/g, '').split(',');
  675.                                 var flag = false;
  676.                                 fname = fieldName.charAt(0).toUpperCase()
  677.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  678.                                                                 .replace(/^ /, "").toLowerCase();
  679.  
  680.                                 if (dateValue > date) {
  681.  
  682.                                         validationAlert += "<div><a eid = '" + field.name
  683.                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  684.                                                         + memberName + "'><a class='errorreport' eid = '"
  685.                                                         + field.name
  686.                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  687.                                                         + memberName + "'>" + fname + "(" + yr
  688.                                                         + ")</a><span eid = '" + field.name
  689.                                                         + "' class='err'>" + memberName + "</span></a>"
  690.                                                         + "<p>" + field.getAttribute("data-original-title")
  691.                                                         + "</p></div>";
  692.                                         vresult = false;
  693.  
  694.                                 }
  695.  
  696.                                 $
  697.                                                 .each(
  698.                                                                 eval("inputdata.fields[" + y + "]." + groupid),
  699.                                                                 function(key, val) {
  700.  
  701.                                                                         found = $.inArray(key, tablenotall);
  702.  
  703.                                                                         mstatus = eval("inputdata.fields[" + y
  704.                                                                                         + "]." + groupid + "['" + key
  705.                                                                                         + "'].memberStatus");
  706.  
  707.                                                                         if (found == -1 && mstatus == 'on'
  708.                                                                                         && key != memberName) {
  709.  
  710.                                                                                 fvalue = new Date(
  711.                                                                                                 eval("inputdata.fields[" + y
  712.                                                                                                                 + "]." + groupid + "['"
  713.                                                                                                                 + key + "']."
  714.                                                                                                                 + fieldName));
  715.  
  716.                                                                                 if (fvalue > date) {
  717.  
  718.                                                                                         validationAlert += "<div><a eid = '"
  719.                                                                                                         + field.name
  720.                                                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  721.                                                                                                         + key
  722.                                                                                                         + "'><a class='errorreport' eid = '"
  723.                                                                                                         + field.name
  724.                                                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  725.                                                                                                         + key
  726.                                                                                                         + "'>"
  727.                                                                                                         + fname
  728.                                                                                                         + "("
  729.                                                                                                         + yr
  730.                                                                                                         + ")</a><span eid = '"
  731.                                                                                                         + field.name
  732.                                                                                                         + "' class='err'>"
  733.                                                                                                         + key
  734.                                                                                                         + "</span></a>"
  735.                                                                                                         + "<p>"
  736.                                                                                                         + field
  737.                                                                                                                         .getAttribute("data-original-title")
  738.                                                                                                         + "</p></div>";
  739.                                                                                         vresult = false;
  740.  
  741.                                                                                 }
  742.  
  743.                                                                         }
  744.                                                                 });
  745.                         }
  746.  
  747.                 }
  748.  
  749.                 // Mandatory Check
  750.  
  751.                 if (vresult
  752.                                 && (mAttr == "mandatory" || mAttr == "prevyear"
  753.                                                 || mAttr == "curyear" || mAttr == "yes")) {
  754.  
  755.                         // vresult = false;
  756.  
  757.                         if (mAttr == "curyear" && field.name.indexOf('_PREVYEAR') != -1) {
  758.  
  759.                                 continue;
  760.                         }
  761.  
  762.                         var year = '_CURYEAR';
  763.                         var y = 0;
  764.                         yr = 'current year';
  765.                         var status = 'off';
  766.                         if (field.name.indexOf('_PREVYEAR') != -1) {
  767.  
  768.                                 year = '_PREVYEAR';
  769.                                 y = 1;
  770.                                 yr = 'previous year';
  771.                         }
  772.  
  773.                         if (sid == "" && (field.value == "" || field.value == "--select--" || field.value == "Enter valid Percentage")) {
  774.                                 // for add company validation
  775.                                 // changes in mandatory validtion, if field contains "Enter valid Percentage" also to display error.
  776.                                 vresult = false;
  777.                         } else {
  778.                                 groupid = field.getAttribute('groupid');// table name
  779.                                 tablenotall = field.getAttribute('tablenotall');
  780.                                 memberName = field.getAttribute('order1');
  781.                                 if (groupid == null) {
  782.  
  783.                                         groupid = "undefined";
  784.                                 }
  785.                                 if ((groupid == 'undefined' || groupid == "") && type == 'full'
  786.                                                 && (field.value == "" || field.value == "--select--" || field.value == "Enter valid Percentage" )) {
  787.  
  788.                                         // check Mandatory for direct line items
  789.                                         key = "";
  790.                                         fieldName = field.name.split('_')[0];
  791.                                         fname = fieldName.charAt(0).toUpperCase()
  792.                                                         + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  793.                                                                         ' $1').replace(/^ /, "").toLowerCase();
  794.                                         validationAlert += "<div><a eid = '" + field.name
  795.                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  796.                                                         + key + "'><a class='errorreport' eid = '"
  797.                                                         + field.name
  798.                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  799.                                                         + key + "'>" + fname + "(" + yr
  800.                                                         + ")</a><span eid = '" + field.name
  801.                                                         + "' class='err'>" + key + "</span></a>" + "<p>"
  802.                                                         + field.getAttribute("data-original-title")
  803.                                                         + "</p></div>";
  804.                                         vresult = false;
  805.  
  806.                                 } else if (groupid != 'undefined'
  807.                                                 && groupid.indexOf('Table') != -1 && type != "full"
  808.                                                 && (field.value == "" || field.value == "--select--" || field.value == "Enter valid Percentage")
  809.                                                 && memberName != undefined) {
  810.  
  811.                                         // check Mandatory for partial and table validation.
  812.  
  813.                                         tMandatory = "";
  814.  
  815.                                         if (groupid == "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable") {
  816.  
  817.                                                 tMandatory = $(
  818.                                                                 ':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'
  819.                                                                                 + year + '] option:selected').text();
  820.  
  821.                                         } else if (groupid == "disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable") {
  822.                                                               // table name wrongly given in old versions.
  823.                                                              
  824.  
  825.                                                 tMandatory = $(
  826.                                                                 ':input[name=whetherCompaniesAuditorsReportOrderIsApplicableOnCompany'
  827.                                                                                 + year + '] option:selected').text();
  828.                                         } else if (groupid == "disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable") {
  829.  
  830.                                                 tMandatory = $(
  831.                                                                 ':input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'
  832.                                                                                 + year + '] option:selected').text();
  833.                                         } else if (groupid == "disclosureOfInterestsInSignificantJointVenturesTable") {
  834.  
  835.                                                 tMandatory = $(
  836.                                                                 ':input[name=whetherCompanyHasInvestedInJointVentures'
  837.                                                                                 + year + '] option:selected').text();
  838.                                         } else if (groupid == "descriptionOfInformationOfAssociatesTable") {
  839.  
  840.                                                 tMandatory = $(
  841.                                                                 ':input[name=whetherCompanyHasInvestedInAssociates'
  842.                                                                                 + year + '] option:selected').text();
  843.                                         } else if (groupid == "detailsOfSubsidiariesTable") {
  844.  
  845.                                                 tMandatory = $(
  846.                                                                 ':input[name=whetherCompanyHasSubsidiaryCompanies'
  847.                                                                                 + year + '] option:selected').text();
  848.                                         }
  849.  
  850.                                         if (tMandatory != "No") {
  851.  
  852.                                                 tablefields = $('table[name=' + groupid + '] input[year="'+year.split('_')[1]+'"][type!=formula]');  // formula fields removed for checking.
  853.                                                 // for only for particular year to check validation
  854.  
  855.                                                 for ( var i = 0; i < tablefields.length; i++) {
  856.  
  857.                                                         if (tablefields[i].value != ""
  858.                                                                         && tablefields[i].value != "--select--"
  859.                                                                         && tablefields[i].value != "INDIA") {
  860.  
  861.                                                                 status = 'on';
  862.                                                                 break;
  863.                                                         }
  864.                                                 }
  865.                                                 if (status == 'on') {
  866.  
  867.                                                         vresult = false;
  868.                                                 } else {
  869.                                                     // @ valdiate & continue , member switch over
  870.                                                    // to make member status off if member does not contain any values
  871.                                                         ms = eval("inputdata.fields[" + y+ "]." + groupid + "['" + memberName+ "'].memberStatus");
  872.                                                         if(ms == 'on') {
  873.                                                                
  874.                                                                 eval("inputdata.fields[" + y+ "]." + groupid + "['" + memberName+ "'].memberStatus='off'");
  875.                                                         }
  876.                                                
  877.                                                 }
  878.  
  879.                                         }
  880.  
  881.                                 } else if (groupid == 'undefined'
  882.                                                 && (field.value == "" || field.value == "--select--"|| field.value == "Enter valid Percentage")) {
  883.  
  884.                                         // check Mandatory for direct field in partial validation.
  885.  
  886.                                         vresult = false;
  887.  
  888.                                 } else if (groupid != 'undefined'
  889.                                                 && groupid.indexOf('Table') != -1 && type == 'full'
  890.                                                 && tablenotall != null) {
  891.  
  892.                                         // Mandatory check for full validations for table line
  893.                                         // items.
  894.  
  895.                                         tMandatory = "";
  896.  
  897.                                         if (groupid == "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable") {
  898.  
  899.                                                 tMandatory = $(
  900.                                                                 ':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'
  901.                                                                                 + year + '] option:selected').text();
  902.  
  903.                                         } else if (groupid == "disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable") {
  904.  
  905.                                                 tMandatory = $(
  906.                                                                 ':input[name=whetherCompaniesAuditorsReportOrderIsApplicableOnCompany'
  907.                                                                                 + year + '] option:selected').text();
  908.                                         } else if (groupid == "disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable") {
  909.  
  910.                                                 tMandatory = $(
  911.                                                                 ':input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'
  912.                                                                                 + year + '] option:selected').text();
  913.                                         } else if (groupid == "disclosureOfInterestsInSignificantJointVenturesTable") {
  914.  
  915.                                                 tMandatory = $(
  916.                                                                 ':input[name=whetherCompanyHasInvestedInJointVentures'
  917.                                                                                 + year + '] option:selected').text();
  918.                                         } else if (groupid == "descriptionOfInformationOfAssociatesTable") {
  919.  
  920.                                                 tMandatory = $(
  921.                                                                 ':input[name=whetherCompanyHasInvestedInAssociates'
  922.                                                                                 + year + '] option:selected').text();
  923.                                         } else if (groupid == "detailsOfSubsidiariesTable") {
  924.  
  925.                                                 tMandatory = $(
  926.                                                                 ':input[name=whetherCompanyHasSubsidiaryCompanies'
  927.                                                                                 + year + '] option:selected').text();
  928.                                         }
  929.  
  930.                                         if (tMandatory != "No") {                                      
  931.                                        
  932.                                         //  If "No" is selected that field should not be mandatory.
  933.                                                 var year = '_CURYEAR';
  934.                                                 var y = 0;
  935.                                                 yr = 'current year';
  936.                                                 if (field.name.indexOf('_PREVYEAR') != -1) {
  937.        
  938.                                                         year = '_PREVYEAR';
  939.                                                         y = 1;
  940.                                                         yr = 'previous year';
  941.                                                 }
  942.                                                 var fieldName = field.name.split('_')[0];
  943.                                                 var tablenotall = field.getAttribute('tablenotall')
  944.                                                                 .replace(/Member/g, '').split(',');
  945.                                                 var flag = false;
  946.                                                 var status = 'off';
  947.                                                 fname = fieldName.charAt(0).toUpperCase()
  948.                                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  949.                                                                                 ' $1').replace(/^ /, "").toLowerCase();
  950.        
  951.                                                 tablefields = $('table[name=' + groupid + '] :input[year="'+year.split('_')[1]+'"][type!=formula]');
  952.                                                
  953.                                                 found = $.inArray(memberName, tablenotall); // check whether the member is present in tablenotall
  954.                                                 for ( var i = 0; i < tablefields.length; i++) {
  955.        
  956.                                                         if (tablefields[i].value != ""
  957.                                                                         && tablefields[i].value != '--select--'
  958.                                                                         && tablefields[i].value != 'INDIA') {
  959.        
  960.                                                                 status = 'on';
  961.                                                                 break;
  962.                                                         }
  963.        
  964.                                                 }
  965.        
  966.                                                 if ((field.value == "" || field.value == "--select--" || field.value == "Enter valid Percentage")
  967.                                                                 && status == 'on' && found == -1) {
  968.                              
  969.                                                         // if validation fails and not present in tablenotall
  970.                                                        
  971.                                                         validationAlert += "<div><a eid = '"
  972.                                                                         + field.name
  973.                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  974.                                                                         + memberName
  975.                                                                         + "'><a class='errorreport' eid = '"
  976.                                                                         + field.name
  977.                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  978.                                                                         + memberName + "'>" + fname + "(" + yr
  979.                                                                         + ")</a><span eid = '" + field.name
  980.                                                                         + "' class='err'>" + memberName + "</span></a>"
  981.                                                                         + "<p>"
  982.                                                                         + field.getAttribute("data-original-title")
  983.                                                                         + "</p></div>";
  984.                                                         vresult = false;
  985.        
  986.                                                 }
  987.        
  988.                                                 $
  989.                                                                 .each(
  990.                                                                                 eval("inputdata.fields[" + y + "]."
  991.                                                                                                 + groupid),
  992.                                                                                 function(key, val) {
  993.        
  994.                                                                                         found = $.inArray(key, tablenotall);
  995.        
  996.                                                                                         mstatus = eval("inputdata.fields[" + y
  997.                                                                                                         + "]." + groupid + "['" + key
  998.                                                                                                         + "'].memberStatus");
  999.        
  1000.                                                                                         // vresult = true;
  1001.                                                                                        
  1002.                                                                                         // @ validate& submit
  1003.                                                                                         // to make member status off if does not contain any value .
  1004.                                                                                         var mactive = false;
  1005.                                                                                         if(mstatus == 'on' && key != memberName) {
  1006.                                                                                                
  1007.                                                                                         // to get only table line items.                                                                                       
  1008.                                                                                                 var tableLineItems = $('table[name='+groupid+'] input[year="'+year.split('_')[1]+'"]');
  1009.                                                                                                
  1010.                                                                                                 for(var i=0; i<tableLineItems.length;i++){
  1011.                                                                                                        
  1012.                                                                                                         var fieldname = tableLineItems[i].id.split('_')[0];
  1013.                                                                                                         var value = eval("inputdata.fields[" + y        + "]." + groupid + "['" + key+ "']."+fieldname);
  1014.                                                                                                         if(value != "" && value != 'INDIA' && value != '--select--') {
  1015.                                                                                                                
  1016.                                                                                                                 mactive = true ;
  1017.                                                                                                                 break ;
  1018.                                                                                                         }
  1019.                                                                                                        
  1020.                                                                                                 }
  1021.                                                                                                
  1022.                                                                                                 /*$.each(eval("inputdata.fields[" + y   + "]." + groupid + "['" + key+ "']"),
  1023.                                                                                                                     function(field, value) {
  1024.                                                                                                        
  1025.                                                                                                         if(value != "" && value != 'INDIA' && value != '--select--') {
  1026.                                                                                                                
  1027.                                                                                                                 mactive = true ;
  1028.                                                                                                                 return ;
  1029.                                                                                                         }
  1030.                                                                                                        
  1031.                                                                                                        
  1032.                                                                                                 });*/
  1033.                                                                                                
  1034.                                                                                                 if(mactive == false){
  1035.                                                                                                        
  1036.                                                                                                         eval("inputdata.fields[" + y+ "]." + groupid + "['" + key+ "'].memberStatus='off'");
  1037.                                                                                                 }
  1038.  
  1039.                                                                                                
  1040.                                                                                         }
  1041.        
  1042.                                                                                         if (found == -1 && mstatus == 'on'
  1043.                                                                                                         && key != memberName && mactive == true) {
  1044.        
  1045.                                                                                                         fvalue = eval("inputdata.fields["
  1046.                                                                                                                         + y
  1047.                                                                                                                         + "]."
  1048.                                                                                                                         + groupid
  1049.                                                                                                                         + "['"
  1050.                                                                                                                         + key
  1051.                                                                                                                         + "']."
  1052.                                                                                                                         + fieldName);
  1053.        
  1054.                                                                                                         if (fvalue == ""
  1055.                                                                                                                         || fvalue == "--select--" || fvalue == "Enter valid Percentage"  ) {
  1056.        
  1057.                                                                                                                 validationAlert += "<div><a eid = '"
  1058.                                                                                                                                 + field.name
  1059.                                                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  1060.                                                                                                                                 + key
  1061.                                                                                                                                 + "'><a class='errorreport' eid = '"
  1062.                                                                                                                                 + field.name
  1063.                                                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  1064.                                                                                                                                 + key
  1065.                                                                                                                                 + "'>"
  1066.                                                                                                                                 + fname
  1067.                                                                                                                                 + "("
  1068.                                                                                                                                 + yr
  1069.                                                                                                                                 + ")</a><span eid = '"
  1070.                                                                                                                                 + field.name
  1071.                                                                                                                                 + "' class='err'>"
  1072.                                                                                                                                 + key
  1073.                                                                                                                                 + "</span></a>"
  1074.                                                                                                                                 + "<p>"
  1075.                                                                                                                                 + field
  1076.                                                                                                                                                 .getAttribute("data-original-title")
  1077.                                                                                                                                 + "</p></div>";
  1078.                                                                                                                 vresult = false;
  1079.                                                                                                         }
  1080.                                                                                                
  1081.                                                                                         }
  1082.        
  1083.                                                                                 });
  1084.                                         }
  1085.                                 }
  1086.                         }
  1087.                 }
  1088.  
  1089.                 // current year or pervious year mandatory check
  1090.  
  1091.                 if( vresult && mAttr != "curyear" && mAttr != 'yes' && field.tagName != 'TABLE' && field.getAttribute('itemtype') != null && field.getAttribute('itemtype').indexOf('monetaryItemType') != -1 && sid != '201900' &&  $.inArray(sid,pYear_NA) == -1) {
  1092.                  
  1093.                   var year = '_PREVYEAR'; // for Inverese year
  1094.                   var y = 0;
  1095.                   Y = 1 ; // inverse year
  1096.                   yr = 'current year';
  1097.                   YEAR = '_CURYEAR';
  1098.                   var status = 'off';
  1099.                   if (field.name.indexOf('_PREVYEAR') != -1) {
  1100.                          
  1101.                           year = '_CURYEAR'; // for Inverse year
  1102.                           y = 1; ;
  1103.                           yr = 'previous year';
  1104.                           Y = 0 ; // inverse year
  1105.                           YEAR = '_PREVYEAR';
  1106.                   }
  1107.                  
  1108.                   ID = field.name.split('_')[0] + year ;
  1109.                  
  1110.                   if((field.value == "" || field.value == '--select--') && vresult) {
  1111.                  
  1112.                   year = '_PREVYEAR'; y = 0; yr = 'current year';
  1113.                   if(field.name.indexOf('_PREVYEAR') != -1) {
  1114.                  
  1115.                           year = '_CURYEAR'; yr = 'previous year'; y = 1;
  1116.                   }
  1117.                  
  1118.                   ID = field.name.split('_')[0] + year ;
  1119.                  
  1120.                   /*if(($('#'+ID).val() != "" || $('#'+ID).val() != '--select--') && !$('#'+ID).is(':disabled')) {
  1121.                  
  1122.                           if(validationType == 'full') {
  1123.                                   key = '';
  1124.                                   fieldName = field.name.split('_')[0]; fname = fieldName.charAt(0).toUpperCase() +
  1125.                                                       fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,"").toLowerCase();
  1126.                                   validationAlert += "<div><a eid = '" + field.name + "' onclick ='goErrorPage(event)' memberorder='" + key + "'>"
  1127.                                                                         + "<a class='errorreport' eid = '" + field.name + "' onclick='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>"
  1128.                                                                         + "<span eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" + field.getAttribute("data-original-title") + "</p></div>";
  1129.                           }
  1130.                           vresult = false ;
  1131.                   }*/
  1132.                  
  1133.                 }
  1134.                  
  1135.                  
  1136.                  
  1137.                   if (sid == "" && (field.value == "" || field.value =="--select--") &&  ($('#'+ID).val() != ""&& $('#'+ID).val() != '--select--') && !$('#'+ID).is(':disabled')) {
  1138.                    // validation for add company
  1139.                           vresult = false;
  1140.                    } else {
  1141.                  
  1142.                   groupid = field.getAttribute('groupid');// table name
  1143.                   tablenotall =  field.getAttribute('tablenotall');
  1144.                   memberName = field.getAttribute('order1');
  1145.                   if(groupid == null) {
  1146.                  
  1147.                          groupid = "undefined";
  1148.                   } if ((groupid == 'undefined' || groupid == "") && type == 'full' && (field.value == "" || field.value =="--select--") ){
  1149.                  
  1150.                   if(($('#'+ID).val() != "" && $('#'+ID).val() != '--select--') && !$('#'+ID).is(':disabled')) {
  1151.                    // check Mandatory for direct line items
  1152.                          
  1153.                          
  1154.                   key = "";
  1155.                   fieldName =  field.name.split('_')[0]; fname = fieldName.charAt(0).toUpperCase() + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,"").toLowerCase();
  1156.                   validationAlert += "<div><a eid = '" + field.name + "' onclick ='goErrorPage(event)' memberorder='" + key + "'>" +"<a class='errorreport' eid = '" + field.name + "' onclick ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" +
  1157.                                              "<span  eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" + field.getAttribute("data-original-title") + "</p></div>";
  1158.                   vresult =       false;
  1159.                   } }
  1160.                   else if (groupid != 'undefined' &&  groupid.indexOf('Table') != -1 && type != "full" && (field.value == "" || field.value =="--select--") && memberName != undefined) {
  1161.                  
  1162.                    // check Mandatory for partial and table validation.
  1163.                  
  1164.                   tMandatory = "";
  1165.                   // for Disclosures of share capital table
  1166.                   if(groupid ==  "disclosureOfClassesOfShareCapitalTable") {
  1167.                          
  1168.                           tMandatory =  'Yes';
  1169.                   } else  if(groupid ==  "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable") {
  1170.                  
  1171.                           tMandatory =  $(':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'+  YEAR + '] option:selected').text();
  1172.                          
  1173.                    } else if(groupid == "disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable") {
  1174.                  
  1175.                            tMandatory =  $(':input[name=whetherCompaniesAuditorsReportOrderIsApplicableOnCompany'+ YEAR + '] option:selected').text();
  1176.                    }   else if(groupid ==  "disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable") {
  1177.                  
  1178.                            tMandatory = $(':input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'+  YEAR + '] option:selected').text();
  1179.                   }
  1180.                    else if(groupid ==  "disclosureOfInterestsInSignificantJointVenturesTable") {
  1181.                  
  1182.                            tMandatory =   $(':input[name=whetherCompanyHasInvestedInJointVentures'+ YEAR + '] option:selected').text();
  1183.                   }
  1184.                   else if(groupid ==  "descriptionOfInformationOfAssociatesTable") {
  1185.                  
  1186.                           tMandatory = $(':input[name=whetherCompanyHasInvestedInAssociates'+  YEAR + '] option:selected').text();
  1187.                   }
  1188.                   else if(groupid == "detailsOfSubsidiariesTable") {
  1189.                  
  1190.                           tMandatory = $(':input[name=whetherCompanyHasSubsidiaryCompanies'+  YEAR + '] option:selected').text();
  1191.                          
  1192.                   }  else if(groupid == "disclosureOfDefinedBenefitPlansTable") {
  1193.                  
  1194.                           tMandatory = "Yes";
  1195.                   }
  1196.                  
  1197.                  /* if(tMandatory == "Yes") {
  1198.                  
  1199.                           vresult = false;
  1200.                   }*/
  1201.                  
  1202.                  
  1203.                   tablefields = $('table[name='+groupid+'] input[year="'+YEAR.split('_')[1]+'"][type!=formula]');  
  1204.                   for (var i =0; i<tablefields.length; i++) {
  1205.                  
  1206.                           if (tablefields[i].value != ""
  1207.                                         && tablefields[i].value != "--select--"
  1208.                                         && tablefields[i].value != "INDIA") {
  1209.                  
  1210.                           status = 'on';
  1211.                           break;
  1212.                         }
  1213.                  
  1214.                   }
  1215.                  
  1216.                  
  1217.                   if(($('#'+ID).val() != "" && $('#'+ID).val() != '--select--') && !$('#'+ID).is(':disabled') && tMandatory == 'Yes' && status == 'on') {
  1218.                  
  1219.                  
  1220.                         vresult = false ;
  1221.                   }
  1222.                 } else if (groupid == 'undefined' && (field.value == "" ||   field.value =="--select--") && ($('#'+ID).val() != "" &&   $('#'+ID).val() != '--select--') && !$('#'+ID).is(':disabled')) {
  1223.                    // check Mandatory for partial and table validation.
  1224.                  
  1225.                       vresult = false;
  1226.                    } else if (groupid != 'undefined' && groupid.indexOf('Table') != -1 &&   type == 'full' && tablenotall != null ) {
  1227.                    // Mandatory check for full validations for table line // items.
  1228.                  
  1229.                   var year = '_CURYEAR'; var y = 0; yr = 'current year';
  1230.                   if (field.name.indexOf('_PREVYEAR') != -1) {
  1231.                  
  1232.                           year = '_PREVYEAR'; y = 1; yr = 'previous year';
  1233.                   }
  1234.                   var fieldName =  field.name.split('_')[0];
  1235.                   var tablenotall = field.getAttribute('tablenotall').replace(/Member/g, '').split(',');
  1236.                   var flag = false; var status = 'off';
  1237.                   fname =  fieldName.charAt(0).toUpperCase()+ fieldName.substr(1).replace(/([A-Z][a-z])/g,' $1').replace(/^/,"").toLowerCase();
  1238.                   tablefields = $('table[name='+groupid+'] input[year="'+YEAR.split('_')[1]+'"][type!=formula]');  
  1239.                   for (var i =0; i<tablefields.length; i++) {
  1240.                  
  1241.                           if (tablefields[i].value != ""
  1242.                                         && tablefields[i].value != "--select--"
  1243.                                         && tablefields[i].value != "INDIA") {
  1244.                  
  1245.                           status = 'on';
  1246.                           break;
  1247.                         }
  1248.                  
  1249.                   }
  1250.                   tMandatory = "";
  1251.                   if(groupid ==  "disclosureOfClassesOfShareCapitalTable") {
  1252.                          
  1253.                           tMandatory =  'Yes';
  1254.                   }else  if(groupid ==  "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable") {
  1255.                  
  1256.                           tMandatory =  $(':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'+  YEAR + '] option:selected').text();
  1257.                          
  1258.                    } else if(groupid == "disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable") {
  1259.                  
  1260.                            tMandatory =  $(':input[name=whetherCompaniesAuditorsReportOrderIsApplicableOnCompany'+ YEAR + '] option:selected').text();
  1261.                    }   else if(groupid ==  "disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable") {
  1262.                  
  1263.                            tMandatory = $(':input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'+  YEAR + '] option:selected').text();
  1264.                   }
  1265.                    else if(groupid ==  "disclosureOfInterestsInSignificantJointVenturesTable") {
  1266.                  
  1267.                            tMandatory =   $(':input[name=whetherCompanyHasInvestedInJointVentures'+ YEAR + '] option:selected').text();
  1268.                   }
  1269.                   else if(groupid ==  "descriptionOfInformationOfAssociatesTable") {
  1270.                  
  1271.                           tMandatory = $(':input[name=whetherCompanyHasInvestedInAssociates'+  YEAR + '] option:selected').text();
  1272.                   } else if(groupid == "detailsOfSubsidiariesTable") {
  1273.                  
  1274.                           tMandatory = $(':input[name=whetherCompanyHasSubsidiaryCompanies'+  YEAR + '] option:selected').text();
  1275.                   } else if(groupid == "disclosureOfDefinedBenefitPlansTable") {
  1276.                  
  1277.                           tMandatory = "Yes";
  1278.                   }
  1279.                  
  1280.                  
  1281.                   if ((field.value == "" || field.value == "--select--") && status == 'on' && ($('#'+ID).val() != "" && $('#'+ID).val() != '--select--') &&  !$('#'+ID).is(':disabled') && tMandatory == 'Yes') {
  1282.                    // validation for table line items which is expanded but not saved.
  1283.                  
  1284.                          
  1285.                           validationAlert += "<div><a eid = '" + field.name + "' onclick ='goErrorPage(event)' memberorder='" + memberName + "'><a  class='errorreport' eid = '" + field.name + "' onclick ='goErrorPage(event)' memberorder='" + memberName + "'>" + fname +
  1286.                                              +"(" + yr + ")</a><span eid = '" + field.name + "' class='err'>" + memberName + "</span></a>" + "<p>" + field.getAttribute("data-original-title") + "</p></div>";
  1287.                           vresult = false;
  1288.                    }
  1289.                   if(tMandatory == 'Yes') {
  1290.                            $ .each( eval("inputdata.fields[" + y + "]." + groupid),
  1291.                           function(key, val) {
  1292.                          
  1293.                           found = $.inArray(key, tablenotall);
  1294.                          
  1295.                           mstatus = eval("inputdata.fields[" + y + "]." + groupid + "['" + key +  "'].memberStatus");
  1296.                            // vresult = true;
  1297.                          
  1298.                          
  1299.                           if (found == -1 && mstatus == 'on' && key != memberName) {
  1300.                          
  1301.                           length = 1;
  1302.                          
  1303.                           if(key.indexOf(':') == -1) {
  1304.                          
  1305.                           length = $('div[dbmembername='+key+']').length;
  1306.                            }
  1307.                          
  1308.                           if(length == 1) {
  1309.                          
  1310.                           fvalue = eval("inputdata.fields[" + y + "]." + groupid + "['" + key +"']." + fieldName);
  1311.                          
  1312.                           idvalue = eval("inputdata.fields[" + Y + "]." + groupid + "['" + key + "']." + fieldName);
  1313.                          
  1314.                           if ((fvalue == "" || fvalue == "--select--") && idvalue != "" && idvalue != "--select--") {
  1315.                          
  1316.                           validationAlert += "<div><a eid = '" + field.name + "' onclick ='goErrorPage(event)' memberorder='" + key + "'><a class='errorreport' eid = '" + field.name + "' onclick='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" +
  1317.                                                                 +"<span  eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" + field .getAttribute("data-original-title") + "</p></div>";
  1318.                           vresult = false;
  1319.                           } } }
  1320.                          
  1321.                           });
  1322.                    }
  1323.                   } } }
  1324.  
  1325.                 /*
  1326.                  * if((field.value == "" || field.value == '--select--') && vresult) {
  1327.                  *
  1328.                  * year = '_PREVYEAR'; y = 0; yr = 'current year';
  1329.                  * if(field.name.indexOf('_PREVYEAR') != -1) {
  1330.                  *
  1331.                  * year = '_CURYEAR'; yr = 'previous year'; y = 1; }
  1332.                  *
  1333.                  * ID = field.name.split('_')[0] + year ; if($('#'+ID).val() &&
  1334.                  * !$('#'+ID).is(':disabled')) {
  1335.                  *
  1336.                  * if(validationType == 'full') { key = ''; fieldName =
  1337.                  * field.name.split('_')[0]; fname = fieldName.charAt(0).toUpperCase() +
  1338.                  * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  1339.                  * "").toLowerCase(); validationAlert += "<div><a eid = '" +
  1340.                  * field.name + "' onclick ='goErrorPage(event)' memberorder='" + key +
  1341.                  * "'>" + "<a class='errorreport' eid = '" + field.name + "' onclick
  1342.                  * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  1343.                  * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  1344.                  * field.getAttribute("data-original-title") + "</p></div>"; }
  1345.                  *
  1346.                  * vresult = false ; }
  1347.                  *
  1348.                  *  }
  1349.                  */
  1350.                
  1351.                
  1352.                 var openingClosingBalance = [
  1353.                  "cashAndCashEquivalentsCashFlowStatementEndingBalance",
  1354.                  "cashAndCashEquivalentsCashFlowStatement",
  1355.                  "cashAndCashEquivalentsCashFlowStatementEndingBalance",
  1356.                  "numberOfSharesOutstanding",
  1357.                  "numberOfSharesOutstandingEndingBalance",
  1358.                 "shareCapital",
  1359.                 "shareCapitalEndingBalance",
  1360.                 "reserves",    
  1361.                 "reservesEndingBalance",
  1362.                 "producingProperties",
  1363.                 "preProducingProperties",
  1364.                 "producingPropertiesEndingBalance",
  1365.                 "preProducingPropertiesEndingBalance",
  1366.                 "equityShareWarrantsAtBeginningOfPeriod",
  1367.                 "equityShareWarrantsEndingBalance",
  1368.                 "tangibleAssetsBeginingBalance",
  1369.                 "tangibleAssetsEndingBalance",
  1370.                 "intangibleAssetsBeginingBalance",
  1371.                 "intangibleAssetsEndingBalance",
  1372.                 "definedBenefitObligationAtPresentValue",
  1373.                 "definedBenefitObligationAtPresentValueEndingBalance",
  1374.                 "planAssetsAtFairValue",
  1375.                 "planAssetsAtFairValueEndingBalance",
  1376.                 "reimbursementRightsAtFairValue",
  1377.                 "reimbursementRightsAtFairValueEndingBalance",
  1378.                 "otherProvisions",
  1379.                 "otherProvisionsEndingBalance"
  1380.                 ];
  1381.  
  1382.                 if(vresult && $.inArray(field.id.split('_')[0],openingClosingBalance) != -1) {
  1383.                        
  1384.                         vresult = validateOpeningAndClosingBalance(field);
  1385.                        
  1386.                 }
  1387.                
  1388.                 if(vresult && mAttr == 'mandatoryForOnemember' && validationType == 'full' && field.id.indexOf('_CURYEAR') != -1) {
  1389.                         // for DisclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportLineItems
  1390.                         vresult = validateDisclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable(field);
  1391.                        
  1392.                 }
  1393.                
  1394.  
  1395.                 if (!vresult && field.tagName != 'TABLE') {
  1396.  
  1397.                         // Valdiation failed for text fields
  1398.                         $(":input[name = " + field.name + "]").css('background', 'yellow');
  1399.  
  1400.                 } else if (vresult && field.tagName != 'TABLE') {
  1401.  
  1402.                         $(":input[name = " + field.name + "]").css('background', 'none')
  1403.                                         .removeClass('vborder');
  1404.  
  1405.                 } else if (vresult && field.tagName == 'TABLE') {
  1406.  
  1407.                         tablename = field.getAttribute('tablename');
  1408.                         $("#" + tablename + ' span').removeClass('tError');
  1409.                 }
  1410.  
  1411.                 if (vresult == false) {
  1412.  
  1413.                         validationResult = false;
  1414.                 }
  1415.         }
  1416.         $.unblockUI();
  1417.         //disableLoadingNotesPopup();
  1418.         return validationResult;
  1419.  
  1420. }
  1421.  
  1422. // Schedule Validation starts here
  1423.  
  1424. // 100100 validation starts here
  1425. validateSchedule = {
  1426.  
  1427.         validate100100 : function(field) {
  1428.  
  1429.                 var validationResult = true;
  1430.                 var fieldList = [ "equityAndLiabilities" ];
  1431.  
  1432.                 var year = "_CURYEAR";
  1433.                 if (field.name.indexOf(year) == -1) {
  1434.                         // if the field is previous year
  1435.                         year = "_PREVYEAR";
  1436.                 }
  1437.  
  1438.                 for ( var i = 0; i < fieldList.length; i++) {
  1439.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1440.                                 return validate26(field);
  1441.                         }
  1442.                 }
  1443.                 return validationResult;
  1444.         },
  1445.  
  1446.         validate100200 : function(field) {
  1447.  
  1448.                 var validationResult = true;
  1449.                 var fieldList = [ "taxExpenseOfDiscontinuingOperations",
  1450.                                   "revenueFromOtherFinancialServices",
  1451.                                   "depletionExpense",
  1452.                                   "deferredTax"
  1453.                                  ];
  1454.  
  1455.                 var year = "_CURYEAR";
  1456.                 if (field.name.indexOf(year) == -1) {
  1457.                         // if the field is previous year
  1458.                         year = "_PREVYEAR";
  1459.                 }
  1460.  
  1461.                 for ( var i = 0; i < fieldList.length; i++) {
  1462.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1463.                                 return validate99(field);
  1464.                         }
  1465.                 }
  1466.                 return validationResult;
  1467.         },
  1468.         validate200100 : function(field) {
  1469.  
  1470.                 var validationResult = true;
  1471.                 var fieldList = [
  1472.                                 "whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany",
  1473.                                 "valueOfSharesAuthorised",
  1474.                                 "numberOfSharesIssued_",
  1475.                                 "valueOfSharesIssued",
  1476.                                 "numberOfSharesSubscribedAndFullyPaid",
  1477.                                 "valueOfSharesSubscribedAndFullyPaid",
  1478.                                 "numberOfSharesSubscribedButNotFullyPaid",
  1479.                                 "valueOfSharesSubscribedButNotFullyPaid",
  1480.                                 "numberOfSharesSubscribed",
  1481.                                 "valueOfSharesSubscribed",
  1482.                                 "numberOfSharesPaidUp",
  1483.                                 "valueOfSharesCalled",
  1484.                                 "amountOfPublicIssueDuringPeriod",
  1485.                                 "amountOfBonusIssueDuringPeriod",
  1486.                                 "amountOfRightsIssueDuringPeriod",
  1487.                                 "amountOfPrivatePlacementIssueDuringPeriod",
  1488.                                 "amountOfPreferentialAllotmentIssueDuringPeriod",
  1489.                                 "amountOfIssueAllottedForContractsWithoutPaymentReceivedInCashDuringPeriod",
  1490.                                 "amountOfIssueUnderSchemeOfAmalgamationDuringPeriod",
  1491.                                 "amountOfOtherIssuesDuringPeriod",
  1492.                                 "amountOfIssueArisingOutOfConversionOfSecuritiesDuringPeriod",
  1493.                                 "decreaseInAmountOfSharesRedeemed",
  1494.                                 "decreaseInAmountOfSharesBoughtBack",
  1495.                                 "otherDecreaseInAmountOfShares",
  1496.                                 "numberOfSharesIssuedInPublicOffering",
  1497.                                 "numberOfSharesIssuedAsBonusShares",
  1498.                                 "numberOfSharesIssuedAsRights",
  1499.                                 "numberOfSharesIssuedInPrivatePlacement",
  1500.                                 "numberOfSharesIssuedAsPreferentialAllotment",
  1501.                                 "numberOfSharesAllottedForContractsWithoutPaymentReceivedInCash",
  1502.                                 "numberOfSharesIssuedUnderSchemeOfAmalgamation",
  1503.                                 "numberOfOtherIssuesOfShares",
  1504.                                 "numberOfSharesArisingOutOfConversionOfSecurities",
  1505.                                 "numberOfSharesRedeemed",
  1506.                                 "numberOfSharesBoughtBack",
  1507.                                 "otherDecreaseInNumberOfShares",
  1508.                                 "CINOfShareholder",
  1509.                                 "PANOfShareholder",
  1510.                                 "numberOfSharesHeldInCompany",
  1511.                                 "percentageOfShareholdingInCompany",
  1512.                                 "numberOfPersonsOnPrivatePlacementOfEquityShare",
  1513.                                 "natureOfSecurityOnPrivatePlacementOfEquityShare",
  1514.                                 "numberOfPersonsOnPrivatePlacementOfPreferenceShare",
  1515.                                 "natureOfSecurityOnPrivatePlacementOfPreferenceShare",
  1516.                                 "amountOfReductionInCapitalDuringYear",
  1517.                                 "percentageOfCapitalReductionToCapitalPriorToReduction",
  1518.                                 "whetherMoneyRaisedFromPublicOfferingDuringYear",
  1519.                                 "amountRaisedFromPublicOfferingDuringYear",
  1520.                                 "amountUtilisedTowardsSpecifiedPurposesForPublicOffering",
  1521.                                 "amountRemainingUnutilisedReceivedInRespectOfPublicOffering",
  1522.                                 "detailsOfOutstandingUnutilisedAmountsReceivedInRespectOfPublicOffering",
  1523.  
  1524.                 ];
  1525.  
  1526.                 var year = "_CURYEAR";
  1527.                 if (field.name.indexOf(year) == -1) {
  1528.                         // if the field is previous year
  1529.                         year = "_PREVYEAR";
  1530.                 }
  1531.  
  1532.                 for ( var i = 0; i < fieldList.length; i++) {
  1533.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1534.                                 return validate306to317(field);
  1535.                         }
  1536.                 }
  1537.                 return validationResult;
  1538.         },
  1539.  
  1540.         validateSpecific200100 : function(field) {
  1541.  
  1542.                 var validationResult = true;
  1543.                 var fieldList = [
  1544.                                 "whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany",
  1545.                                 "percentageOfShareholdingInCompany" ];
  1546.  
  1547.                 var year = "_CURYEAR";
  1548.                 if (field.name.indexOf(year) == -1) {
  1549.                         // if the field is previous year
  1550.                         year = "_PREVYEAR";
  1551.                 }
  1552.  
  1553.                 for ( var i = 0; i < fieldList.length; i++) {
  1554.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1555.                                 return validate460(field);
  1556.                         }
  1557.                 }
  1558.                 return validationResult;
  1559.         },
  1560.  
  1561.         validate200200 : function(field) {
  1562.  
  1563.                 var validationResult = true;
  1564.                 var fieldList = [ "descriptionOfNatureAndPurposeOfOtherReserves",
  1565.                                   "appropriationTowardsBonusShares"
  1566.                                   ];
  1567.  
  1568.                 var year = "_CURYEAR";
  1569.                 if (field.name.indexOf(year) == -1) {
  1570.                         // if the field is previous year
  1571.                         year = "_PREVYEAR";
  1572.                 }
  1573.  
  1574.                 for ( var i = 0; i < fieldList.length; i++) {
  1575.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1576.                                 return validate554(field);
  1577.                         }
  1578.                 }
  1579.                 return validationResult;
  1580.         },
  1581.  
  1582.         validate200300 : function(field) {
  1583.  
  1584.                 var validationResult = true;
  1585.                 var fieldList = [ "borrowings1", "natureOfSecurity",
  1586.                                 "outstandingAmountOfContinuingDefaultPrincipal",
  1587.                                 "outstandingAmountOfContinuingDefaultInterest",
  1588.                                 "rateOfInterest" ];
  1589.  
  1590.                 var year = "_CURYEAR";
  1591.                 if (field.name.indexOf(year) == -1) {
  1592.                         // if the field is previous year
  1593.                         year = "_PREVYEAR";
  1594.                 }
  1595.  
  1596.                 for ( var i = 0; i < fieldList.length; i++) {
  1597.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1598.                                 return validate633_643_644(field);
  1599.                         }
  1600.                 }
  1601.                 return validationResult;
  1602.         },
  1603.  
  1604.         validate200400 : function(field) {
  1605.  
  1606.                 var validationResult = true;
  1607.                 var fieldList = [ "natureOfOtherNonCurrentInvestments",
  1608.                                 "marketValueOfQuotedNonCurrentInvestments",
  1609.  
  1610.                 ];
  1611.  
  1612.                 var year = "_CURYEAR";
  1613.                 if (field.name.indexOf(year) == -1) {
  1614.                         // if the field is previous year
  1615.                         year = "_PREVYEAR";
  1616.                 }
  1617.  
  1618.                 for ( var i = 0; i < fieldList.length; i++) {
  1619.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1620.                                 return validate693(field);
  1621.                         }
  1622.                 }
  1623.                 return validationResult;
  1624.         },
  1625.  
  1626.         validate200500 : function(field) {
  1627.  
  1628.                 var validationResult = true;
  1629.                 var fieldList = [ "natureOfOtherCurrentInvestments",
  1630.                                 "marketValueOfQuotedCurrentInvestments",
  1631.  
  1632.                 ];
  1633.  
  1634.                 var year = "_CURYEAR";
  1635.                 if (field.name.indexOf(year) == -1) {
  1636.                         // if the field is previous year
  1637.                         year = "_PREVYEAR";
  1638.                 }
  1639.  
  1640.                 for ( var i = 0; i < fieldList.length; i++) {
  1641.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1642.                                 return validate728(field);
  1643.                         }
  1644.                 }
  1645.                 return validationResult;
  1646.         },
  1647.         validate200600 : function(field) {
  1648.  
  1649.                 var validationResult = true;
  1650.                 var fieldList = [ "natureOfOtherProvisions",
  1651.                                                 "natureOfOtherLoansAndAdvances",
  1652.                                                 "natureOfOtherNonCurrentAssetsOthers",
  1653.                                                 "natureOfOtherInventories",
  1654.                                                 "tradeReceivablesDueByOthers",
  1655.                                                 "loansAndAdvancesDueByPrivateCompaniesInWhichAnyDirectorIsMember",
  1656.                                                 "longTermTradeReceivablesDueByPrivateCompaniesInWhichAnyDirectorIsMember",
  1657.                                                 "balancesHeldWithBanksToExtentHeldAgainstOtherCommitments",
  1658.                                                 "applicationMoneyReceivedForAllotmentOfSecuritiesAndDueForRefundInterestAccrued"
  1659.                 ];
  1660.  
  1661.                 var year = "_CURYEAR";
  1662.                 if (field.name.indexOf(year) == -1) {
  1663.                         // if the field is previous year
  1664.                         year = "_PREVYEAR";
  1665.                 }
  1666.  
  1667.                 for ( var i = 0; i < fieldList.length; i++) {
  1668.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1669.                                 return validate788_938_978_1006(field);
  1670.                         }
  1671.                 }
  1672.                 return validationResult;
  1673.         },
  1674.  
  1675.         validate200700 : function(field) {
  1676.  
  1677.                 var validationResult = true;
  1678.                 var fieldList = [
  1679.                                 "CINOfMicroSmallAndMediumEnterprise",
  1680.                                 "percentageOfShareCapitalHeldByForeignCompany",
  1681.                                 "valueOfShareCapitalHeldByForeignCompany",
  1682.                                 "percentageOfPaidUpCapitalHeldByForeignHoldingCompanyAndOrWithItsSubsidiaries",
  1683.                                 "valueOfPaidUpCapitalHeldByForeignHoldingCompanyAndOrWithItsSubsidiaries",
  1684.                                 "ifYesWhetherCompanyHasFiledComplianceReportWithCentralGovernment",
  1685.                                 "SRNOfFormA",
  1686.                                 "whetherAuditOfCostRecordsOfCompanyHasBeenMandatedByCentralGovernmentUnderSection233BOfCompaniesAct1956",
  1687.                                 "ifYesChooseProductsIndustriesCoveredUnderCostAudit",
  1688.                                 "whetherCompanyHasFiledCostAuditReport", "ifYesSRNOfForm1",
  1689.  
  1690.                 ];
  1691.  
  1692.                 var year = "_CURYEAR";
  1693.                 if (field.name.indexOf(year) == -1) {
  1694.                         // if the field is previous year
  1695.                         year = "_PREVYEAR";
  1696.                 }
  1697.  
  1698.                 for ( var i = 0; i < fieldList.length; i++) {
  1699.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1700.                                 return validate1152to1155_1207(field);
  1701.                         }
  1702.                 }
  1703.                 return validationResult;
  1704.         },
  1705.  
  1706.         validateSpecific200700 : function(field) {
  1707.  
  1708.                 var validationResult = true;
  1709.                 var fieldList = [ "CINOfMicroSmallAndMediumEnterprise", ];
  1710.  
  1711.                 var year = "_CURYEAR";
  1712.                 if (field.name.indexOf(year) == -1) {
  1713.                         // if the field is previous year
  1714.                         year = "_PREVYEAR";
  1715.                 }
  1716.  
  1717.                 for ( var i = 0; i < fieldList.length; i++) {
  1718.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1719.                                 return validate1140(field);
  1720.                         }
  1721.                 }
  1722.                 return validationResult;
  1723.         },
  1724.  
  1725.         validate201000 : function(field) {
  1726.  
  1727.                 var validationResult = true;
  1728.                 var fieldList = [ "natureOfOtherTangibleAssets",
  1729.                           "otherAdjustmentsTangibleAssetsOthers"
  1730.                 ];
  1731.  
  1732.                 var year = "_CURYEAR";
  1733.                 if (field.name.indexOf(year) == -1) {
  1734.                         // if the field is previous year
  1735.                         year = "_PREVYEAR";
  1736.                 }
  1737.  
  1738.                 for ( var i = 0; i < fieldList.length; i++) {
  1739.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1740.                                 return validate1321(field);
  1741.                         }
  1742.                 }
  1743.                 return validationResult;
  1744.         },
  1745.         validate201100 : function(field) {
  1746.  
  1747.                 var validationResult = true;
  1748.                 var fieldList = [ "natureOfOtherIntangibleAssets",
  1749.                                   "otherAdjustmentsIntangibleAssetsOthers"
  1750.  
  1751.                 ];
  1752.  
  1753.                 var year = "_CURYEAR";
  1754.                 if (field.name.indexOf(year) == -1) {
  1755.                         // if the field is previous year
  1756.                         year = "_PREVYEAR";
  1757.                 }
  1758.  
  1759.                 for ( var i = 0; i < fieldList.length; i++) {
  1760.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1761.                                 return validate1443(field);
  1762.                         }
  1763.                 }
  1764.                 return validationResult;
  1765.         },
  1766.         validate201600 : function(field) {
  1767.  
  1768.                 var validationResult = true;
  1769.                 var fieldList = [
  1770.                                 "permanentAccountNumberOfRelatedParty",
  1771.                                 "cinOfRelatedParty",
  1772.                                 "remunerationForKeyManagerialPersonnel",
  1773.                                 "descriptionOfNatureOfRelatedPartyRelationship",
  1774.                                 "purchasesOfGoodsRelatedPartyTransactions",
  1775.                                 "purchasesOfGoodsRelatedPartyTransactionsPercentage",
  1776.                                 "revenueFromSaleOfGoodsRelatedPartyTransactions",
  1777.                                 "revenueFromSaleOfGoodsRelatedPartyTransactionsPercentage",
  1778.                                 "purchasesOfTangibleAssetsRelatedPartyTransactions",
  1779.                                 "purchasesOfTangibleAssetsRelatedPartyTransactionsPercentage",
  1780.                                 "salesOfTangibleAssetsRelatedPartyTransactions",
  1781.                                 "salesOfTangibleAssetsRelatedPartyTransactionsPercentage",
  1782.                                 "servicesReceivedRelatedPartyTransactions",
  1783.                                 "servicesReceivedRelatedPartyTransactionsPercentage",
  1784.                                 "revenueFromRenderingOfServicesRelatedPartyTransactions",
  1785.                                 "revenueFromRenderingOfServicesRelatedPartyTransactionsPercentage",
  1786.                                 "leasesAsLessorRelatedPartyTransactions",
  1787.                                 "leasesAsLessorRelatedPartyTransactionsPercentage",
  1788.                                 "leasesAsLesseeRelatedPartyTransactions",
  1789.                                 "leasesAsLesseeRelatedPartyTransactionsPercentage",
  1790.                                 "advancesGivenDuringYearRelatedPartyTransactions",
  1791.                                 "advancesGivenDuringYearRelatedPartyTransactionsPercentage",
  1792.                                 "advancesTakenDuringYearRelatedPartyTransactions",
  1793.                                 "advancesTakenDuringYearRelatedPartyTransactionsPercentage",
  1794.                                 "interestReceivedDuringYearRelatedPartyTransactions",
  1795.                                 "interestReceivedDuringYearRelatedPartyTransactionsPercentage",
  1796.                                 "interestPaidDuringYearRelatedPartyTransactions",
  1797.                                 "interestPaidDuringYearRelatedPartyTransactionsPercentage",
  1798.                                 "reimbursementOfExpensesIncurredOnBehalfOfCompanyDuringYearRelatedPartyTransactions",
  1799.                                 "reimbursementOfExpensesIncurredOnBehalfOfCompanyDuringYearRelatedPartyTransactionsPercentage",
  1800.                                 "reimbursementOfExpensesIncurredByRelatedPartyDuringYearRelatedPartyTransactions",
  1801.                                 "reimbursementOfExpensesIncurredByRelatedPartyDuringYearRelatedPartyTransactionsPercentage",
  1802.                                 "hirePurchaseAsPurchaserRelatedPartyTransactions",
  1803.                                 "hirePurchaseAsPurchaserRelatedPartyTransactionsPercentage",
  1804.                                 "hirePurchaseAsSellerRelatedPartyTransactions",
  1805.                                 "hirePurchaseAsSellerRelatedPartyTransactionsPercentage",
  1806.                                 "transfersOfResearchAndDevelopmentFromentityRelatedPartyTransactions",
  1807.                                 "transfersOfResearchAndDevelopmentFromEntityRelatedPartyTransactionsPercentage",
  1808.                                 "transfersOfResearchAndDevelopmentToentityRelatedPartyTransactions",
  1809.                                 "transfersOfResearchAndDevelopmentToEntityRelatedPartyTransactionsPercentage",
  1810.                                 "transfersUnderLicenseAgreementsFromentityRelatedPartyTransactions",
  1811.                                 "transfersUnderLicenseAgreementsFromEntityRelatedPartyTransactionsPercentage",
  1812.                                 "transfersUnderLicenseAgreementsToentityRelatedPartyTransactions",
  1813.                                 "transfersUnderLicenseAgreementsToEntityRelatedPartyTransactionsPercentage",
  1814.                                 "transfersOfLoanUnderFinanceAgreementsFromentityRelatedPartyTransactions",
  1815.                                 "transfersOfLoanUnderFinanceAgreementsFromEntityRelatedPartyTransactionsPercentage",
  1816.                                 "transfersOfLoanUnderFinanceAgreementsToentityRelatedPartyTransactions",
  1817.                                 "transfersOfLoanUnderFinanceAgreementsToEntityRelatedPartyTransactionsPercentage",
  1818.                                 "equityContributionsMadeUnderFinanceAgreementsRelatedPartyTransactions",
  1819.                                 "equityContributionsMadeUnderFinanceAgreementsRelatedPartyTransactionsPercentage",
  1820.                                 "equityContributionsReceivedUnderFinanceAgreementsRelatedPartyTransactions",
  1821.                                 "equityContributionsReceivedUnderFinanceAgreementsRelatedPartyTransactionsPercentage",
  1822.                                 "provisionOfGuaranteesOrCollateralByentityRelatedPartyTransactions",
  1823.                                 "provisionOfGuaranteesOrCollateralByEntityRelatedPartyTransactionsPercentage",
  1824.                                 "provisionOfGuaranteesOrCollateralToentityRelatedPartyTransactions",
  1825.                                 "provisionOfGuaranteesOrCollateralToEntityRelatedPartyTransactionsPercentage",
  1826.                                 "servicesReceivedFromManagementContracts",
  1827.                                 "servicesReceivedFromManagementContractsPercentage",
  1828.                                 "revenueFromServicesRenderedThroughManagementContracts",
  1829.                                 "revenueFromServicesRenderedThroughManagementContractsPercentage",
  1830.                                 "expenseFromAgencyArrangements",
  1831.                                 "expenseFromAgencyArrangementsPercentage",
  1832.                                 "revenueFormAgencyArrangements",
  1833.                                 "revenueFormAgencyArrangementsPercentage",
  1834.                                 "otherRelatedPartyTransactionsExpense",
  1835.                                 "otherRelatedPartyTransactionsExpensePercentage",
  1836.                                 "otherRelatedPartyTransactionsIncome",
  1837.                                 "otherRelatedPartyTransactionsIncomePercentage",
  1838.                                 "whetherCompanyIsSubsidiaryCompany",
  1839.                                 "sectionUnderWhichCompanyIsSubsidiary"
  1840.  
  1841.                 ];
  1842.  
  1843.                 var year = "_CURYEAR";
  1844.                 if (field.name.indexOf(year) == -1) {
  1845.                         // if the field is previous year
  1846.                         year = "_PREVYEAR";
  1847.                 }
  1848.  
  1849.                 for ( var i = 0; i < fieldList.length; i++) {
  1850.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1851.                                 return validate1999_2000_2076(field);
  1852.                         }
  1853.                 }
  1854.                 return validationResult;
  1855.         },
  1856.  
  1857.         validateSpecific201600 : function(field) {
  1858.  
  1859.                 var validationResult = true;
  1860.                 var fieldList = [
  1861.                                 "whetherThereAreAnyRelatedPartyTransactionsDuringYear",
  1862.                                 "descriptionOfNatureOfRelatedPartyRelationship" ];
  1863.  
  1864.                 var year = "_CURYEAR";
  1865.                 if (field.name.indexOf(year) == -1) {
  1866.                         // if the field is previous year
  1867.                         year = "_PREVYEAR";
  1868.                 }
  1869.  
  1870.                 for ( var i = 0; i < fieldList.length; i++) {
  1871.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1872.                                 return validate1994(field);
  1873.                         }
  1874.                 }
  1875.                 return validationResult;
  1876.         },
  1877.         validate202300 : function(field) {
  1878.  
  1879.                 var validationResult = true;
  1880.                 var fieldList = [ "CINOfAmalgamatingCompany",
  1881.  
  1882.                 ];
  1883.  
  1884.                 var year = "_CURYEAR";
  1885.                 if (field.name.indexOf(year) == -1) {
  1886.                         // if the field is previous year
  1887.                         year = "_PREVYEAR";
  1888.                 }
  1889.  
  1890.                 for ( var i = 0; i < fieldList.length; i++) {
  1891.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1892.                                 return validate2302(field);
  1893.                         }
  1894.                 }
  1895.                 return validationResult;
  1896.         },
  1897.         validate202400 : function(field) {
  1898.  
  1899.                 var validationResult = true;
  1900.                 var fieldList = [ "whetherCompanyHasInvestedInAssociates",
  1901.                                 "cinOfAssociateEntity_", "PANOfAssociateEntity_",
  1902.                                 "cinOfAssociateEntityWhoseReportingDateIsDifferent",
  1903.                                 "PANOfAssociateEntityWhoseReportingDateIsDifferent"
  1904.  
  1905.                 ];
  1906.  
  1907.                 var year = "_CURYEAR";
  1908.                 if (field.name.indexOf(year) == -1) {
  1909.                         // if the field is previous year
  1910.                         year = "_PREVYEAR";
  1911.                 }
  1912.  
  1913.                 for ( var i = 0; i < fieldList.length; i++) {
  1914.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1915.                                 return validate2334_2335(field);
  1916.                         }
  1917.                 }
  1918.                 return validationResult;
  1919.         },
  1920.  
  1921.         validate202500 : function(field) {
  1922.  
  1923.                 var validationResult = true;
  1924.                 var fieldList = [ "whetherCompanyHasInvestedInJointVentures",
  1925.                                 "cinOfJointVenturer_", "PANOfJointVenturer_",
  1926.                                 "cinOfJointVenturerWhoseReportingDateIsDifferent",
  1927.                                 "PANOfJointVenturerWhoseReportingDateIsDifferent"
  1928.  
  1929.                 ];
  1930.  
  1931.                 var year = "_CURYEAR";
  1932.                 if (field.name.indexOf(year) == -1) {
  1933.                         // if the field is previous year
  1934.                         year = "_PREVYEAR";
  1935.                 }
  1936.  
  1937.                 for ( var i = 0; i < fieldList.length; i++) {
  1938.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1939.                                 return validate2380_2381(field);
  1940.                         }
  1941.                 }
  1942.                 return validationResult;
  1943.         },
  1944.  
  1945.         validate202800 : function(field) {
  1946.  
  1947.                 var validationResult = true;
  1948.                 var fieldList = [ "whetherCompanyHasSubsidiaryCompanies",
  1949.                                 "CINOfSubsidiaryCompany", "PANOfSubsidiaryCompany",
  1950.                                 "SRNOfFilingOfBalanceSheetBySubsidiary",
  1951.                                 "reasonIfNoFilingHasBeenMadeBySubsidiary",
  1952.                                 "startDateOfAccountingPeriodOfSubsidiary",
  1953.                                 "endDateOfAccountingPeriodOfSubsidiary",
  1954.                                 "dateOfCeasingToBeSubsidiary",
  1955.                                 "numberOfSharesHeldOfSubsidiary",
  1956.                                 "faceValueOfSharesOfSubsidiary",
  1957.                                 "paidUpValueOfSharesHeldOfSubsidiary",
  1958.                                 "percentageOfShareholdingInSubsidiary",
  1959.                                 "proportionOfVotingPowerInSubsidiary",
  1960.                                 "nameOfGuaranteedPartyOnLoansBorrowedBySubsidiary",
  1961.                                 "CINOfGuaranteedPartyOnLoansBorrowedBySubsidiary",
  1962.                                 "amountGuaranteedOnLoansBorrowedBySubsidiary",
  1963.                                 "nameOfGuaranteedPartyOnLoansBorrowedByCompany",
  1964.                                 "CINOfGuaranteedPartyOnLoansBorrowedByCompany",
  1965.                                 "amountGuaranteedOnLoansBorrowedByCompany",
  1966.                                 /*"preferenceShareCapitalOfSubsidiary"*/   // preferenceShareCapitalOfSubsidiary ,equityShareCapitalOfSubsidiary are made it as mandatory. so formula mandatory validaiton is removed.
  1967.  
  1968.                 ];
  1969.  
  1970.                 var year = "_CURYEAR";
  1971.                 if (field.name.indexOf(year) == -1) {
  1972.                         // if the field is previous year
  1973.                         year = "_PREVYEAR";
  1974.                 }
  1975.  
  1976.                 for ( var i = 0; i < fieldList.length; i++) {
  1977.                         if (field.name.indexOf(fieldList[i]) != -1) {
  1978.                                 return validate2454_2455_2458_2459_2462to2470_2488to2494(field);
  1979.                         }
  1980.                 }
  1981.                 return validationResult;
  1982.         },
  1983.        
  1984.         validate300500 : function(field) {
  1985.  
  1986.                 var validationResult = true;
  1987.                 var fieldList = [
  1988.                         "interestOnOtherLongTermInvestments",
  1989.                         "dividendIncomeLongTermInvestmentsFromOthers",
  1990.                         "otherInterestCharges",
  1991.                         "provisionWealthTax",
  1992.                         "otherBenefitsToDirectors",
  1993.                         "costCommunicationConnectivity",
  1994.                         "otherMiscellaneousExpenditureWrittenOff",
  1995.                         "paymentForReimbursementOfExpenses"
  1996.                        
  1997.                 ];
  1998.  
  1999.                 var year = "_CURYEAR";
  2000.                 if (field.name.indexOf(year) == -1) {
  2001.                         // if the field is previous year
  2002.                         year = "_PREVYEAR";
  2003.                 }
  2004.  
  2005.                 for ( var i = 0; i < fieldList.length; i++) {
  2006.                         if (field.name.indexOf(fieldList[i]) != -1) {
  2007.                                 return validate2907(field);
  2008.                         }
  2009.                 }
  2010.                 return validationResult;
  2011.         },
  2012.  
  2013.         validate300600 : function(field) {
  2014.  
  2015.                 var validationResult = true;
  2016.                 var fieldList = [
  2017.                         "changesInOtherInventories",    
  2018.                         "expenditureOnOtherMatters",        
  2019.                         "specialDividendRemittedInForeignCurrency",
  2020.                         "earningsOnOtherIncome",
  2021.                         "exportRevenueServices",
  2022.                         "exportSaleTradedGoods",
  2023.                                 "totalNumberOfNonResidentShareHolders",
  2024.                                 "totalNumberOfSharesHeldByNonResidentShareHoldersOnWhichDividendsWereDue",
  2025.                                 "yearToWhichDividendsRelate",
  2026.                                 "endDateOfAccountingPeriodOfPartnershipFirmOrAssociationOfPersonsOrLimitedLiabilityPartnershipsInRespectOfWhichProfitOrLossesHaveBeenAccountedInCompanysBooksInCaseWhereYearEndingIsDifferentForPartnershipFirmOrAssociationOfPersonsOrLimitedLiabilityPartnershipsAndCompany",
  2027.  
  2028.                 ];
  2029.  
  2030.                 var year = "_CURYEAR";
  2031.                 if (field.name.indexOf(year) == -1) {
  2032.                         // if the field is previous year
  2033.                         year = "_PREVYEAR";
  2034.                 }
  2035.  
  2036.                 for ( var i = 0; i < fieldList.length; i++) {
  2037.                         if (field.name.indexOf(fieldList[i]) != -1) {
  2038.                                 return validate3318to3320_3358(field);
  2039.                         }
  2040.                 }
  2041.                 return validationResult;
  2042.         },
  2043.  
  2044.         validate300700 : function(field) {
  2045.  
  2046.                 var validationResult = true;
  2047.                 var fieldList = [ "directorIdentificationNumberOfDirector",
  2048.                                           "dateOfBirthOfDirector",
  2049.                                           "commissionDirector"
  2050.  
  2051.                 ];
  2052.  
  2053.                 var year = "_CURYEAR";
  2054.                 if (field.name.indexOf(year) == -1) {
  2055.                         // if the field is previous year
  2056.                         year = "_PREVYEAR";
  2057.                 }
  2058.  
  2059.                 for ( var i = 0; i < fieldList.length; i++) {
  2060.                         if (field.name.indexOf(fieldList[i]) != -1) {
  2061.                                 return validate3403(field);
  2062.                         }
  2063.                 }
  2064.                 return validationResult;
  2065.         },
  2066.  
  2067.         validate400100 : function(field) {
  2068.  
  2069.                 var validationResult = true;
  2070.                 var fieldList = [ "dateOfBoardMeetingWhenFinalAccountsWereApproved",
  2071.                                 "dateOfStartOfReportingPeriod", "dateOfEndOfReportingPeriod",
  2072.                                 "descriptionOfPresentationCurrency",
  2073.                                 "dateTillWhichRegisterOfMembersRemainedClosed",
  2074.                                 "productOrServiceCategoryITC4DigitCode",
  2075.                                 "highestTurnoverContributingProductOrServiceITC8DigitCode"
  2076.  
  2077.                 ];
  2078.  
  2079.                 var year = "_CURYEAR";
  2080.                 if (field.name.indexOf(year) == -1) {
  2081.                         // if the field is previous year
  2082.                         year = "_PREVYEAR";
  2083.                 }
  2084.  
  2085.                 for ( var i = 0; i < fieldList.length; i++) {
  2086.                         if (field.name.indexOf(fieldList[i]) != -1) {
  2087.                                 return validate3528_3530_3531_3540(field);
  2088.                         }
  2089.                 }
  2090.                 return validationResult;
  2091.         },
  2092.  
  2093.         validate400200 : function(field) {
  2094.  
  2095.                 var validationResult = true;
  2096.                 var fieldList = [ "nameOfAuditFirm",
  2097.                                 "firmsRegistrationNumberOfAuditFirm",
  2098.                                 "dateOfSigningAuditReportByAuditors", ];
  2099.  
  2100.                 var year = "_CURYEAR";
  2101.                 if (field.name.indexOf(year) == -1) {
  2102.                         // if the field is previous year
  2103.                         year = "_PREVYEAR";
  2104.                 }
  2105.  
  2106.                 for ( var i = 0; i < fieldList.length; i++) {
  2107.                         if (field.name.indexOf(fieldList[i]) != -1) {
  2108.                                 return validate3616_3618_3623(field);
  2109.                         }
  2110.                 }
  2111.                 return validationResult;
  2112.         },
  2113.  
  2114.         validate400400 : function(field) {
  2115.  
  2116.                 var validationResult = true;
  2117.                 var fieldList = [ "dateOfSigningBoardReport" ];
  2118.  
  2119.                 var year = "_CURYEAR";
  2120.                 if (field.name.indexOf(year) == -1) {
  2121.                         // if the field is previous year
  2122.                         year = "_PREVYEAR";
  2123.                 }
  2124.  
  2125.                 for ( var i = 0; i < fieldList.length; i++) {
  2126.                         if (field.name.indexOf(fieldList[i]) != -1) {
  2127.                                 return validate3736(field);
  2128.                         }
  2129.                 }
  2130.                 return validationResult;
  2131.         },
  2132.  
  2133.         validateTable200100 : function(field) {
  2134.  
  2135.                 var validationResult = true;
  2136.                 var fieldList = [ "groupingHeadTable4", ];
  2137.                 for ( var i = 0; i < fieldList.length; i++) {
  2138.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2139.                                 return validate200100_Table40(field);
  2140.                         }
  2141.                 }
  2142.                 return validationResult;
  2143.         },
  2144.         validateTable200300 : function(field) {
  2145.  
  2146.                 var validationResult = true;
  2147.                 var fieldList = [ "groupingHeadTable1", "groupingHeadTable2", ];
  2148.                 for ( var i = 0; i < fieldList.length; i++) {
  2149.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2150.                                 return validate200300_Table10_Table20(field);
  2151.                         }
  2152.                 }
  2153.                 return validationResult;
  2154.         },
  2155.         validateTable201600 : function(field) {
  2156.  
  2157.                 var validationResult = true;
  2158.                 var fieldList = [ "groupingHeadTable2", ];
  2159.                 for ( var i = 0; i < fieldList.length; i++) {
  2160.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2161.                                 return validate201600_Table20(field);
  2162.                         }
  2163.                 }
  2164.                 return validationResult;
  2165.         },
  2166.         validateTable202400 : function(field) {
  2167.  
  2168.                 var validationResult = true;
  2169.                 var fieldList = [ "groupingHeadTable2", ];
  2170.                 for ( var i = 0; i < fieldList.length; i++) {
  2171.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2172.                                 return validate202400_Table20(field);
  2173.                         }
  2174.                 }
  2175.                 return validationResult;
  2176.         },
  2177.         validateTable202500 : function(field) {
  2178.  
  2179.                 var validationResult = true;
  2180.                 var fieldList = [ "groupingHeadTable4", ];
  2181.                 for ( var i = 0; i < fieldList.length; i++) {
  2182.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2183.                                 return validate202500_Table40(field);
  2184.                         }
  2185.                 }
  2186.                 return validationResult;
  2187.         },
  2188.         validateTable202600 : function(field) {
  2189.  
  2190.                 var validationResult = true;
  2191.                 var fieldList = [ "groupingHeadTable2", ];
  2192.                 for ( var i = 0; i < fieldList.length; i++) {
  2193.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2194.                                 return validate202600_Table20(field);
  2195.                         }
  2196.                 }
  2197.                 return validationResult;
  2198.         },
  2199.         validateTable202800 : function(field) {
  2200.  
  2201.                 var validationResult = true;
  2202.                 var fieldList = [ "groupingHeadTable1", ];
  2203.                 for ( var i = 0; i < fieldList.length; i++) {
  2204.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2205.                                 return validate202800_Table10(field);
  2206.                         }
  2207.                 }
  2208.                 return validationResult;
  2209.         },
  2210.         validateTable300700 : function(field) {
  2211.  
  2212.                 var validationResult = true;
  2213.                 var fieldList = [ "groupingHeadTable1", ];
  2214.                 for ( var i = 0; i < fieldList.length; i++) {
  2215.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2216.                                 return validate300700_Table10(field);
  2217.                         }
  2218.                 }
  2219.                 return validationResult;
  2220.         },
  2221.         validateTable400200 : function(field) {
  2222.  
  2223.                 var validationResult = true;
  2224.                 var fieldList = [ "groupingHeadTable1", "groupingHeadTable2", ];
  2225.                 for ( var i = 0; i < fieldList.length; i++) {
  2226.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2227.                                 return validate400200_Table10_Table20(field);
  2228.                         }
  2229.                 }
  2230.                 return validationResult;
  2231.         },
  2232.         validateTable400300 : function(field) {
  2233.  
  2234.                 var validationResult = true;
  2235.                 var fieldList = [ "groupingHeadTable0",
  2236.  
  2237.                 ];
  2238.                 for ( var i = 0; i < fieldList.length; i++) {
  2239.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2240.                                 return validate400300_Table0(field);
  2241.                         }
  2242.                 }
  2243.                 return validationResult;
  2244.         },
  2245.  
  2246.         validateTable400400 : function(field) {
  2247.  
  2248.                 var validationResult = true;
  2249.                 var fieldList = [ "groupingHeadTable9",
  2250.  
  2251.                 ];
  2252.                 for ( var i = 0; i < fieldList.length; i++) {
  2253.                         if (field.id.indexOf(fieldList[i]) != -1) {
  2254.                                 return validate400300_Table90(field);
  2255.                         }
  2256.                 }
  2257.                 return validationResult;
  2258.         }
  2259.  
  2260. };
  2261.  
  2262. function validate26(field) {
  2263.  
  2264.         var year = "_CURYEAR";
  2265.         if (field.name.indexOf(year) == -1) {
  2266.                 // this is applicable for previous year
  2267.                 year = "_PREVYEAR";
  2268.         }
  2269.  
  2270.         if (field.name.indexOf("equityAndLiabilities") != -1) {
  2271.  
  2272.                 var field1Value = $('input[name=equityAndLiabilities' + year + ']')
  2273.                                 .val();
  2274.                 var field2Value = $('input[name=assets' + year + ']').val();
  2275.                 if (field1Value != field2Value) {
  2276.                         return false;
  2277.                 }
  2278.         }
  2279.         return true;
  2280. }
  2281.  
  2282. function validate99(field) {
  2283.  
  2284.         var year = "_CURYEAR";
  2285.         if (field.name.indexOf(year) == -1) {
  2286.                 // this is applicable for previous year
  2287.                 year = "_PREVYEAR";
  2288.         }
  2289.  
  2290.         if (field.name.indexOf("taxExpenseOfDiscontinuingOperations") != -1) {
  2291.  
  2292.                 var field1Value = $(
  2293.                                 'input[name=taxExpenseOfDiscontinuingOperations' + year + ']')
  2294.                                 .val();
  2295.                 var field2Value = $(
  2296.                                 'input[name=profitLossFromDiscontinuingOperationsBeforeTax'
  2297.                                                 + year + ']').val();
  2298.                 if ((field1Value == "") && (field2Value != "")) {
  2299.  
  2300.                         if (validationType == "full") {
  2301.                                 key = "";
  2302.                                 fieldName = field.name.split('_')[0];
  2303.                                 fname = fieldName.charAt(0).toUpperCase()
  2304.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  2305.                                                                 .replace(/^ /, "").toLowerCase();
  2306.                                 validationAlert += "<div><a eid = '" + field.name
  2307.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  2308.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  2309.                                                 + field.name
  2310.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  2311.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  2312.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  2313.                                                 + "<p>" + field.getAttribute("data-original-title")
  2314.                                                 + "</p></div>";
  2315.                         }
  2316.                         return false;
  2317.                 }
  2318.         } else if (field.name.indexOf("revenueFromOtherFinancialServices") != -1) {
  2319.                
  2320.                
  2321.                 formulafield = "revenueFromOperations";
  2322.                 calcfields =[
  2323.                                         "revenueFromSaleOfProducts",
  2324.                                         "revenueFromSaleOfServices",
  2325.                                         "otherOperatingRevenues",
  2326.                                         "exciseDuty",
  2327.                                         "serviceTaxCollected",
  2328.                                         "otherDutiesTaxesCollected",
  2329.                                         "revenueFromInterest",
  2330.                                         "revenueFromOtherFinancialServices"
  2331.                              ];        
  2332.                 return validateFormulaMandatory(formulafield,calcfields,field);
  2333.                
  2334.         } else if (field.name.indexOf("depletionExpense") != -1) {
  2335.                
  2336.                
  2337.                 formulafield = "depreciationDepletionAndAmortisationExpense";
  2338.                 calcfields =[
  2339.                                         "depreciationExpense",
  2340.                                         "amortisationExpense",
  2341.                                         "depletionExpense"
  2342.                              ];        
  2343.                 return validateFormulaMandatory(formulafield,calcfields,field);
  2344.                
  2345.         }  else if (field.name.indexOf("deferredTax") != -1) {
  2346.                
  2347.                
  2348.                 formulafield = "taxExpense";
  2349.                 calcfields =[
  2350.                                         "currentTax",
  2351.                                         "deferredTax"
  2352.                                        
  2353.                              ];        
  2354.                 return validateFormulaMandatory(formulafield,calcfields,field);
  2355.                
  2356.         }
  2357.         return true;
  2358. }
  2359. // 200100 Validation starts here
  2360. function validate306to317(field) {
  2361.  
  2362.         var year = "_CURYEAR";
  2363.         var yr = "current year";
  2364.         var y = 0;
  2365.         if (field.name.indexOf(year) == -1) {
  2366.                 // this is applicable for previous year
  2367.                 year = "_PREVYEAR";
  2368.                 yr = "previous year";
  2369.                 y = 1;
  2370.         }
  2371.         /*
  2372.          * if (field.name
  2373.          * .indexOf("whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany1") !=
  2374.          * -1 && validationType != 'table') {
  2375.          *
  2376.          * var tMandatory = $(
  2377.          * ':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany' +
  2378.          * year + '] option:selected').text();
  2379.          *
  2380.          * if (tMandatory == 'Yes') { var values = [];
  2381.          *  $ .each(
  2382.          * inputdata.fields[y].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable,
  2383.          * function(key, val) {
  2384.          *  $ .each( eval("inputdata.fields[" + y +
  2385.          * "].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable['" + key +
  2386.          * "']"), function(k) {
  2387.          *
  2388.          * if (v != "" && k != "member" && k != "memberStatus") { values.push(v); }
  2389.          * }); }); if (values.length == 0) {
  2390.          *
  2391.          * return false; } } } else
  2392.          */if (field.name.indexOf("valueOfSharesAuthorised") != -1) {
  2393.  
  2394.                 var field1Value = 0, field2Value = 0, field3Value = 0;
  2395.  
  2396.                 var flag = true;
  2397.                 table = field.getAttribute('groupid');
  2398.                 fieldName = field.name.split('_')[0];
  2399.                 if (validationType == "full") {
  2400.  
  2401.                         $
  2402.                                         .each(
  2403.                                                         eval("inputdata.fields[" + y + "]." + table),
  2404.                                                         function(key, val) {
  2405.  
  2406.                                                                 var tablenotall = field.getAttribute(
  2407.                                                                                 'tablenotall').replace(/Member/g, '')
  2408.                                                                                 .split(',');
  2409.                                                                 found = $.inArray(key, tablenotall);
  2410.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  2411.                                                                                 + table + "['" + key
  2412.                                                                                 + "'].memberStatus");
  2413.  
  2414.                                                                 if (found == -1 && mstatus == 'on') {
  2415.  
  2416.                                                                         field1Value = isNaN(field1Value = parseFloat(eval(
  2417.                                                                                         "inputdata.fields[" + y + "]."
  2418.                                                                                                         + table + "['" + key
  2419.                                                                                                         + "']." + fieldName)
  2420.                                                                                         .replace(',', ''))) ? 0
  2421.                                                                                         : field1Value;
  2422.                                                                         field2Value = isNaN(field2Value = parseFloat(eval(
  2423.                                                                                         "inputdata.fields["
  2424.                                                                                                         + y
  2425.                                                                                                         + "]."
  2426.                                                                                                         + table
  2427.                                                                                                         + "['"
  2428.                                                                                                         + key
  2429.                                                                                                         + "'].numberOfSharesAuthorised")
  2430.                                                                                         .replace(',', ''))) ? 0
  2431.                                                                                         : field2Value;
  2432.                                                                         if(key.split(':').length == 3) {
  2433.                                                                                
  2434.                                                                                 field3Value = isNaN(field3Value = parseFloat(eval(
  2435.                                                                                                 "inputdata.fields[" + y + "]."
  2436.                                                                                                                 + table + "['" + key
  2437.                                                                                                                 + "'].parValuePerShare")
  2438.                                                                                                 .replace(',', ''))) ? 1                   // if parvalue is "" then value replaced to 1 , because  parvalue is tablenotall
  2439.                                                                                                 : field3Value;
  2440.                                                                         } else {
  2441.                                                                                
  2442.                                                                                 field3Value = 1;
  2443.                                                                         }
  2444.  
  2445.                                                                         if (field1Value != (field2Value * field3Value)) {
  2446.  
  2447.                                                                                 fname = fieldName.charAt(0)
  2448.                                                                                                 .toUpperCase()
  2449.                                                                                                 + fieldName.substr(1).replace(
  2450.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  2451.                                                                                                                 .replace(/^ /, "")
  2452.                                                                                                                 .toLowerCase();
  2453.                                                                                 validationAlert += "<div><a eid = '"
  2454.                                                                                                 + field.name
  2455.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  2456.                                                                                                 + key
  2457.                                                                                                 + "'><a class='errorreport' eid = '"
  2458.                                                                                                 + field.name
  2459.                                                                                                 + "'  "
  2460.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  2461.                                                                                                 + key
  2462.                                                                                                 + "'>"
  2463.                                                                                                 + fname
  2464.                                                                                                 + "("
  2465.                                                                                                 + yr
  2466.                                                                                                 + ")</a><span eid = '"
  2467.                                                                                                 + field.name
  2468.                                                                                                 + "' class='err'>"
  2469.                                                                                                 + key
  2470.                                                                                                 + "</span></a>"
  2471.                                                                                                 + "<p>"
  2472.                                                                                                 + field
  2473.                                                                                                                 .getAttribute("data-original-title")
  2474.                                                                                                 + "</p></div>";
  2475.  
  2476.                                                                                 flag = false;
  2477.                                                                         }
  2478.                                                                 }
  2479.                                                         });
  2480.  
  2481.                         if (flag == false) {
  2482.  
  2483.                                 return false;
  2484.                         }
  2485.  
  2486.                 } else {
  2487.                         field1Value = isNaN(field1Value = parseFloat($(
  2488.                                         'input[name=valueOfSharesAuthorised' + year + ']').val()
  2489.                                         .replace(',', ''))) ? 0 : field1Value;
  2490.                         field2Value = isNaN(field2Value = parseFloat($(
  2491.                                         'input[name=numberOfSharesAuthorised' + year + ']').val()
  2492.                                         .replace(',', ''))) ? 0 : field2Value;
  2493.                         if($('input[name=parValuePerShare' + year + ']').is(':visible')) {
  2494.                        
  2495.                                 field3Value = isNaN(field3Value = parseFloat($('input[name=parValuePerShare' + year + ']').val().replace(',', ''))) ? 0 : field3Value;
  2496.                         } else {
  2497.                                
  2498.                                 field3Value = 1;
  2499.                         }
  2500.                        
  2501.                         if (field1Value != (field2Value * field3Value)) {
  2502.  
  2503.                                 if (validationType == 'full') {
  2504.                                         key = "";
  2505.                                         fieldName = field.getAttribute('name').split('_')[0];
  2506.                                         fname = fieldName.charAt(0).toUpperCase()
  2507.                                                         + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  2508.                                                                         ' $1').replace(/^ /, "").toLowerCase();
  2509.                                         validationAlert += "<div><a eid = '" + field.name
  2510.                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  2511.                                                         + key + "'><a class='errorreport' eid = '"
  2512.                                                         + field.name + "'  "
  2513.                                                         + "onclick ='goErrorPage(event)' memberorder='"
  2514.                                                         + key + "'>" + fname + "</a><span eid = '"
  2515.                                                         + field.name + "' class='err'>" + key
  2516.                                                         + "</span></a>" + "<p>"
  2517.                                                         + field.getAttribute("data-original-title")
  2518.                                                         + "</p></div>";
  2519.                                 }
  2520.  
  2521.                                 return false;
  2522.  
  2523.                         }
  2524.                 }
  2525.  
  2526.         } else if (field.name.indexOf("numberOfSharesIssued_") != -1) {
  2527.  
  2528.                 var noSharesIssued, noSharesAuthorized;
  2529.  
  2530.                 var flag = true;
  2531.                 table = field.getAttribute('groupid');
  2532.                 fieldName = field.name.split('_')[0];
  2533.                 if (validationType == "full") {
  2534.  
  2535.                         $
  2536.                                         .each(
  2537.                                                         eval("inputdata.fields[" + y + "]." + table),
  2538.                                                         function(key, val) {
  2539.  
  2540.                                                                 var tablenotall = field.getAttribute(
  2541.                                                                                 'tablenotall').replace(/Member/g, '')
  2542.                                                                                 .split(',');
  2543.                                                                 found = $.inArray(key, tablenotall);
  2544.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  2545.                                                                                 + table + "['" + key
  2546.                                                                                 + "'].memberStatus");
  2547.  
  2548.                                                                 if (found == -1 && mstatus == 'on') {
  2549.  
  2550.                                                                         noSharesIssued = isNaN(noSharesIssued = parseFloat(eval(
  2551.                                                                                         "inputdata.fields[" + y + "]."
  2552.                                                                                                         + table + "['" + key
  2553.                                                                                                         + "']." + fieldName)
  2554.                                                                                         .replace(',', ''))) ? 0
  2555.                                                                                         : noSharesIssued;
  2556.                                                                         noSharesAuthorized = isNaN(noSharesAuthorized = parseFloat(eval(
  2557.                                                                                         "inputdata.fields["
  2558.                                                                                                         + y
  2559.                                                                                                         + "]."
  2560.                                                                                                         + table
  2561.                                                                                                         + "['"
  2562.                                                                                                         + key
  2563.                                                                                                         + "'].numberOfSharesAuthorised")
  2564.                                                                                         .replace(',', ''))) ? 0
  2565.                                                                                         : noSharesAuthorized;
  2566.                                                                        
  2567.                                                                         sharesFullyPaid = isNaN(sharesFullyPaid = parseFloat(eval("inputdata.fields["+ y+ "]."+ table+ "['"+ key+ "'].numberOfSharesSubscribedAndFullyPaid")
  2568.                                                                                                            .replace(',', ''))) ? 0 : sharesFullyPaid;
  2569.                                                                        
  2570.                                                                         sharesNotFullyPaid = isNaN(sharesNotFullyPaid = parseFloat(eval("inputdata.fields["     + y     + "]."+ table+ "['"     + key+ "'].numberOfSharesSubscribedButNotFullyPaid")
  2571.                                                                                                                 .replace(',', ''))) ? 0 : sharesNotFullyPaid;
  2572.                                                                        
  2573.                                                                         sharesSubcribed =  sharesFullyPaid + sharesNotFullyPaid ;
  2574.  
  2575.                                                                         if (noSharesIssued > noSharesAuthorized || noSharesIssued < sharesSubcribed) {  // number of shares issued greater than or equal to number of shares subscribed.
  2576.  
  2577.                                                                                 fname = fieldName.charAt(0)
  2578.                                                                                                 .toUpperCase()
  2579.                                                                                                 + fieldName.substr(1).replace(
  2580.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  2581.                                                                                                                 .replace(/^ /, "")
  2582.                                                                                                                 .toLowerCase();
  2583.                                                                                 validationAlert += "<div><a eid = '"
  2584.                                                                                                 + field.name
  2585.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  2586.                                                                                                 + key
  2587.                                                                                                 + "'><a class='errorreport' eid = '"
  2588.                                                                                                 + field.name
  2589.                                                                                                 + "'  "
  2590.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  2591.                                                                                                 + key
  2592.                                                                                                 + "'>"
  2593.                                                                                                 + fname
  2594.                                                                                                 + "("
  2595.                                                                                                 + yr
  2596.                                                                                                 + ")</a><span eid = '"
  2597.                                                                                                 + field.name
  2598.                                                                                                 + "' class='err'>"
  2599.                                                                                                 + key
  2600.                                                                                                 + "</span></a>"
  2601.                                                                                                 + "<p>"
  2602.                                                                                                 + field
  2603.                                                                                                                 .getAttribute("data-original-title")
  2604.                                                                                                 + "</p></div>";
  2605.  
  2606.                                                                                 flag = false;
  2607.                                                                         }
  2608.  
  2609.                                                                 }
  2610.                                                         });
  2611.  
  2612.                         if (flag == false) {
  2613.  
  2614.                                 return false;
  2615.                         }
  2616.  
  2617.                 } else {
  2618.  
  2619.                         noSharesIssued = isNaN(noSharesIssued = parseFloat($(
  2620.                                         'input[name=numberOfSharesIssued' + year + ']').val()
  2621.                                         .replace(',', ''))) ? 0 : noSharesIssued;
  2622.                         noSharesAuthorized = isNaN(noSharesAuthorized = parseFloat($(
  2623.                                         'input[name=numberOfSharesAuthorised' + year + ']').val()
  2624.                                         .replace(',', ''))) ? 0 : noSharesAuthorized;
  2625.                        
  2626.                         sharesFullyPaid = isNaN(sharesFullyPaid = parseFloat($('input[name=numberOfSharesSubscribedAndFullyPaid' + year + ']').val().replace(',', ''))) ? 0 : sharesFullyPaid;
  2627.                        
  2628.                         sharesNotFullyPaid = isNaN(sharesNotFullyPaid = parseFloat($('input[name=numberOfSharesSubscribedButNotFullyPaid' + year + ']').val().replace(',', ''))) ? 0 : sharesNotFullyPaid;
  2629.  
  2630.                         sharesSubcribed =  sharesFullyPaid + sharesNotFullyPaid ;
  2631.                        
  2632.                         if (noSharesIssued > noSharesAuthorized || noSharesIssued < sharesSubcribed) {
  2633.                                
  2634.                                 return false;
  2635.                         }
  2636.  
  2637.                 }
  2638.         } else if (field.name.indexOf("valueOfSharesIssued") != -1) {
  2639.  
  2640.                 var valSharesAuthorized, valSharesIssued, noSharesIssued, valPerShare;
  2641.  
  2642.                 var flag = true;
  2643.                 table = field.getAttribute('groupid');
  2644.                 fieldName = field.name.split('_')[0];
  2645.                 if (validationType == "full") {
  2646.  
  2647.                         $
  2648.                                         .each(
  2649.                                                         eval("inputdata.fields[" + y + "]." + table),
  2650.                                                         function(key, val) {
  2651.  
  2652.                                                                 var tablenotall = field.getAttribute(
  2653.                                                                                 'tablenotall').replace(/Member/g, '')
  2654.                                                                                 .split(',');
  2655.                                                                 found = $.inArray(key, tablenotall);
  2656.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  2657.                                                                                 + table + "['" + key
  2658.                                                                                 + "'].memberStatus");
  2659.  
  2660.                                                                 if (found == -1 && mstatus == 'on') {
  2661.  
  2662.                                                                         valSharesAuthorized = isNaN(valSharesAuthorized = parseFloat(eval(
  2663.                                                                                         "inputdata.fields["
  2664.                                                                                                         + y
  2665.                                                                                                         + "]."
  2666.                                                                                                         + table
  2667.                                                                                                         + "['"
  2668.                                                                                                         + key
  2669.                                                                                                         + "'].valueOfSharesAuthorised")
  2670.                                                                                         .replace(',', ''))) ? 0
  2671.                                                                                         : valSharesAuthorized;
  2672.                                                                         valSharesIssued = isNaN(valSharesIssued = parseFloat(eval(
  2673.                                                                                         "inputdata.fields[" + y + "]."
  2674.                                                                                                         + table + "['" + key
  2675.                                                                                                         + "'].valueOfSharesIssued")
  2676.                                                                                         .replace(',', ''))) ? 0
  2677.                                                                                         : valSharesIssued;
  2678.                                                                         noSharesIssued = isNaN(noSharesIssued = parseFloat(eval(
  2679.                                                                                         "inputdata.fields[" + y + "]."
  2680.                                                                                                         + table + "['" + key
  2681.                                                                                                         + "'].numberOfSharesIssued")
  2682.                                                                                         .replace(',', ''))) ? 0
  2683.                                                                                         : noSharesIssued;
  2684.                                                                        
  2685.                                                                         if(key.split(':').length == 3) { // parvalue only applicable for child members
  2686.                                                                                
  2687.                                                                        
  2688.                                                                                 valPerShare = isNaN(valPerShare = parseFloat(eval(
  2689.                                                                                                 "inputdata.fields[" + y + "]."
  2690.                                                                                                                 + table + "['" + key
  2691.                                                                                                                 + "'].parValuePerShare")
  2692.                                                                                                 .replace(',', ''))) ? 1
  2693.                                                                                                 : valPerShare;
  2694.                                                                         } else {
  2695.                                                                                
  2696.                                                                                 valPerShare = 1;
  2697.                                                                         }
  2698.  
  2699.                                                                         if ((valSharesIssued > valSharesAuthorized)
  2700.                                                                                         || (valSharesIssued != (noSharesIssued * valPerShare))) {
  2701.  
  2702.                                                                                 fname = fieldName.charAt(0)
  2703.                                                                                                 .toUpperCase()
  2704.                                                                                                 + fieldName.substr(1).replace(
  2705.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  2706.                                                                                                                 .replace(/^ /, "")
  2707.                                                                                                                 .toLowerCase();
  2708.                                                                                 validationAlert += "<div><a eid = '"
  2709.                                                                                                 + field.name
  2710.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  2711.                                                                                                 + key
  2712.                                                                                                 + "'><a class='errorreport' eid = '"
  2713.                                                                                                 + field.name
  2714.                                                                                                 + "'  "
  2715.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  2716.                                                                                                 + key
  2717.                                                                                                 + "'>"
  2718.                                                                                                 + fname
  2719.                                                                                                 + "("
  2720.                                                                                                 + yr
  2721.                                                                                                 + ")</a><span eid = '"
  2722.                                                                                                 + field.name
  2723.                                                                                                 + "' class='err'>"
  2724.                                                                                                 + key
  2725.                                                                                                 + "</span></a>"
  2726.                                                                                                 + "<p>"
  2727.                                                                                                 + field
  2728.                                                                                                                 .getAttribute("data-original-title")
  2729.                                                                                                 + "</p></div>";
  2730.  
  2731.                                                                                 flag = false;
  2732.                                                                         }
  2733.                                                                 }
  2734.                                                         });
  2735.  
  2736.                         if (flag == false) {
  2737.  
  2738.                                 return false;
  2739.                         }
  2740.  
  2741.                 } else {
  2742.                         valSharesAuthorized = isNaN(valSharesAuthorized = parseFloat($(
  2743.                                         'input[name=valueOfSharesAuthorised' + year + ']').val()
  2744.                                         .replace(',', ''))) ? 0 : valSharesAuthorized;
  2745.                         valSharesIssued = isNaN(valSharesIssued = parseFloat($(
  2746.                                         'input[name=valueOfSharesIssued' + year + ']').val()
  2747.                                         .replace(',', ''))) ? 0 : valSharesIssued;
  2748.                         noSharesIssued = isNaN(noSharesIssued = parseFloat($(
  2749.                                         'input[name=numberOfSharesIssued' + year + ']').val()
  2750.                                         .replace(',', ''))) ? 0 : noSharesIssued;
  2751.                        
  2752.                         if($('input[name=parValuePerShare' + year + ']').is(':visible')) {
  2753.                                
  2754.                                 valPerShare = isNaN(valPerShare = parseFloat($(
  2755.                                                 'input[name=parValuePerShare' + year + ']').val().replace(
  2756.                                                 ',', ''))) ? 0 : valPerShare;
  2757.                         }else {
  2758.                                
  2759.                                 valPerShare = 1;
  2760.                         }
  2761.  
  2762.                         if ((valSharesIssued > valSharesAuthorized)
  2763.                                         || (valSharesIssued != (noSharesIssued * valPerShare))) {
  2764.                                 return false;
  2765.                         }
  2766.                 }
  2767.         } else if (field.name.indexOf("numberOfSharesSubscribedAndFullyPaid") != -1) {
  2768.  
  2769.                 var noSharesSubscribedFully, noSharesIssued;
  2770.  
  2771.                 var flag = true;
  2772.                 table = field.getAttribute('groupid');
  2773.                 fieldName = field.name.split('_')[0];
  2774.                 if (validationType == "full") {
  2775.  
  2776.                         $
  2777.                                         .each(
  2778.                                                         eval("inputdata.fields[" + y + "]." + table),
  2779.                                                         function(key, val) {
  2780.  
  2781.                                                                 var tablenotall = field.getAttribute(
  2782.                                                                                 'tablenotall').replace(/Member/g, '')
  2783.                                                                                 .split(',');
  2784.                                                                 found = $.inArray(key, tablenotall);
  2785.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  2786.                                                                                 + table + "['" + key
  2787.                                                                                 + "'].memberStatus");
  2788.  
  2789.                                                                 if (found == -1 && mstatus == 'on') {
  2790.  
  2791.                                                                         noSharesSubscribedFully = isNaN(noSharesSubscribedFully = parseFloat(eval(
  2792.                                                                                         "inputdata.fields[" + y + "]."
  2793.                                                                                                         + table + "['" + key
  2794.                                                                                                         + "']." + fieldName)
  2795.                                                                                         .replace(',', ''))) ? 0
  2796.                                                                                         : noSharesSubscribedFully;
  2797.                                                                         noSharesIssued = isNaN(noSharesIssued = parseFloat(eval(
  2798.                                                                                         "inputdata.fields[" + y + "]."
  2799.                                                                                                         + table + "['" + key
  2800.                                                                                                         + "'].numberOfSharesIssued")
  2801.                                                                                         .replace(',', ''))) ? 0
  2802.                                                                                         : noSharesIssued;
  2803.  
  2804.                                                                         if (noSharesSubscribedFully > noSharesIssued) {
  2805.  
  2806.                                                                                 fname = fieldName.charAt(0)
  2807.                                                                                                 .toUpperCase()
  2808.                                                                                                 + fieldName.substr(1).replace(
  2809.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  2810.                                                                                                                 .replace(/^ /, "")
  2811.                                                                                                                 .toLowerCase();
  2812.                                                                                 validationAlert += "<div><a eid = '"
  2813.                                                                                                 + field.name
  2814.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  2815.                                                                                                 + key
  2816.                                                                                                 + "'><a class='errorreport' eid = '"
  2817.                                                                                                 + field.name
  2818.                                                                                                 + "'  "
  2819.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  2820.                                                                                                 + key
  2821.                                                                                                 + "'>"
  2822.                                                                                                 + fname
  2823.                                                                                                 + "("
  2824.                                                                                                 + yr
  2825.                                                                                                 + ")</a><span eid = '"
  2826.                                                                                                 + field.name
  2827.                                                                                                 + "' class='err'>"
  2828.                                                                                                 + key
  2829.                                                                                                 + "</span></a>"
  2830.                                                                                                 + "<p>"
  2831.                                                                                                 + field
  2832.                                                                                                                 .getAttribute("data-original-title")
  2833.                                                                                                 + "</p></div>";
  2834.  
  2835.                                                                                 flag = false;
  2836.                                                                         }
  2837.                                                                 }
  2838.                                                         });
  2839.  
  2840.                         if (flag == false) {
  2841.  
  2842.                                 return false;
  2843.                         }
  2844.  
  2845.                 } else {
  2846.  
  2847.                         noSharesSubscribedFully = isNaN(noSharesSubscribedFully = parseFloat($(
  2848.                                         'input[name=numberOfSharesSubscribedAndFullyPaid' + year
  2849.                                                         + ']').val().replace(',', ''))) ? 0
  2850.                                         : noSharesSubscribedFully;
  2851.                         noSharesIssued = isNaN(noSharesIssued = parseFloat($(
  2852.                                         'input[name=numberOfSharesIssued' + year + ']').val()
  2853.                                         .replace(',', ''))) ? 0 : noSharesIssued;
  2854.  
  2855.                         if (noSharesSubscribedFully > noSharesIssued) {
  2856.                                 return false;
  2857.                         }
  2858.                 }
  2859.  
  2860.         } else if (field.name.indexOf("valueOfSharesSubscribedAndFullyPaid") != -1) {
  2861.  
  2862.                 var valSharesSubscribedFully, valSharesIssued;
  2863.  
  2864.                 var flag = true;
  2865.                 table = field.getAttribute('groupid');
  2866.                 fieldName = field.name.split('_')[0];
  2867.                 if (validationType == "full") {
  2868.  
  2869.                         $
  2870.                                         .each(
  2871.                                                         eval("inputdata.fields[" + y + "]." + table),
  2872.                                                         function(key, val) {
  2873.  
  2874.                                                                 var tablenotall = field.getAttribute(
  2875.                                                                                 'tablenotall').replace(/Member/g, '')
  2876.                                                                                 .split(',');
  2877.                                                                 found = $.inArray(key, tablenotall);
  2878.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  2879.                                                                                 + table + "['" + key
  2880.                                                                                 + "'].memberStatus");
  2881.  
  2882.                                                                 if (found == -1 && mstatus == 'on') {
  2883.  
  2884.                                                                         valSharesSubscribedFully = isNaN(parseFloat(valSharesSubscribedFully = eval(
  2885.                                                                                         "inputdata.fields[" + y + "]."
  2886.                                                                                                         + table + "['" + key
  2887.                                                                                                         + "']." + fieldName)
  2888.                                                                                         .replace(',', ''))) ? 0
  2889.                                                                                         : valSharesSubscribedFully;
  2890.                                                                         noSharesIssued = isNaN(parseFloat(noSharesIssued = eval(
  2891.                                                                                         "inputdata.fields[" + y + "]."
  2892.                                                                                                         + table + "['" + key
  2893.                                                                                                         + "'].numberOfSharesIssued")
  2894.                                                                                         .replace(',', ''))) ? 0
  2895.                                                                                         : noSharesIssued;
  2896.                                                                         if(key.split(':').length == 3) {
  2897.                                                                                
  2898.                                                                                 parValue = isNaN(parseFloat(parValue = eval(
  2899.                                                                                                 "inputdata.fields[" + y + "]."
  2900.                                                                                                                 + table + "['" + key
  2901.                                                                                                                 + "'].parValuePerShare")
  2902.                                                                                                 .replace(',', ''))) ? 1 : parValue;
  2903.                                                                         } else {
  2904.                                                                                
  2905.                                                                                 parValue = 1;
  2906.                                                                         }
  2907.  
  2908.                                                                         valSharesIssued = noSharesIssued * parValue;
  2909.  
  2910.                                                                         if (valSharesSubscribedFully > valSharesIssued) {
  2911.  
  2912.                                                                                 fname = fieldName.charAt(0)
  2913.                                                                                                 .toUpperCase()
  2914.                                                                                                 + fieldName.substr(1).replace(
  2915.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  2916.                                                                                                                 .replace(/^ /, "")
  2917.                                                                                                                 .toLowerCase();
  2918.                                                                                 validationAlert += "<div><a eid = '"
  2919.                                                                                                 + field.name
  2920.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  2921.                                                                                                 + key
  2922.                                                                                                 + "'><a class='errorreport' eid = '"
  2923.                                                                                                 + field.name
  2924.                                                                                                 + "'  "
  2925.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  2926.                                                                                                 + key
  2927.                                                                                                 + "'>"
  2928.                                                                                                 + fname
  2929.                                                                                                 + "("
  2930.                                                                                                 + yr
  2931.                                                                                                 + ")</a><span eid = '"
  2932.                                                                                                 + field.name
  2933.                                                                                                 + "' class='err'>"
  2934.                                                                                                 + key
  2935.                                                                                                 + "</span></a>"
  2936.                                                                                                 + "<p>"
  2937.                                                                                                 + field
  2938.                                                                                                                 .getAttribute("data-original-title")
  2939.                                                                                                 + "</p></div>";
  2940.  
  2941.                                                                                 flag = false;
  2942.                                                                         }
  2943.                                                                 }
  2944.                                                         });
  2945.  
  2946.                         if (flag == false) {
  2947.  
  2948.                                 return false;
  2949.                         }
  2950.  
  2951.                 } else {
  2952.  
  2953.                         valSharesSubscribedFully = isNaN(parseFloat(valSharesSubscribedFully = $(
  2954.                                         'input[name=valueOfSharesSubscribedAndFullyPaid' + year
  2955.                                                         + ']').val().replace(',', ''))) ? 0
  2956.                                         : valSharesSubscribedFully;
  2957.                         noSharesIssued = isNaN(parseFloat(noSharesIssued = $(
  2958.                                         'input[name=numberOfSharesIssued' + year + ']').val()
  2959.                                         .replace(',', ''))) ? 0 : noSharesIssued;
  2960.                         if($('input[name=parValuePerShare' + year + ']').is(':visible')) {
  2961.                                 // if parvalue is applicable for this member.
  2962.                                 parValue = isNaN(parseFloat(parValue = $(
  2963.                                                 'input[name=parValuePerShare' + year + ']').val().replace(
  2964.                                                 ',', ''))) ? 0 : parValue;
  2965.                         } else {
  2966.                            
  2967.                                 // if parvalue is not applciable for this memebr.
  2968.                                 parValue = 1;
  2969.                         }
  2970.  
  2971.  
  2972.                         valSharesIssued = noSharesIssued * parValue;
  2973.  
  2974.                         if (valSharesSubscribedFully > valSharesIssued) {
  2975.                                 return false;
  2976.                         }
  2977.                 }
  2978.         } else if (field.name.indexOf("numberOfSharesSubscribedButNotFullyPaid") != -1) {
  2979.  
  2980.                 var noSharesSubscribedFully, noSharesIssued;
  2981.  
  2982.                 var flag = true;
  2983.                 table = field.getAttribute('groupid');
  2984.                 fieldName = field.name.split('_')[0];
  2985.                 if (validationType == "full") {
  2986.  
  2987.                         $
  2988.                                         .each(
  2989.                                                         eval("inputdata.fields[" + y + "]." + table),
  2990.                                                         function(key, val) {
  2991.  
  2992.                                                                 var tablenotall = field.getAttribute(
  2993.                                                                                 'tablenotall').replace(/Member/g, '')
  2994.                                                                                 .split(',');
  2995.                                                                 found = $.inArray(key, tablenotall);
  2996.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  2997.                                                                                 + table + "['" + key
  2998.                                                                                 + "'].memberStatus");
  2999.  
  3000.                                                                 if (found == -1 && mstatus == 'on') {
  3001.  
  3002.                                                                         noSharesSubscribedFully = isNaN(noSharesSubscribedFully = parseFloat(eval(
  3003.                                                                                         "inputdata.fields[" + y + "]."
  3004.                                                                                                         + table + "['" + key
  3005.                                                                                                         + "']." + fieldName)
  3006.                                                                                         .replace(',', ''))) ? 0
  3007.                                                                                         : noSharesSubscribedFully;
  3008.                                                                         noSharesIssued = isNaN(noSharesIssued = parseFloat(eval(
  3009.                                                                                         "inputdata.fields[" + y + "]."
  3010.                                                                                                         + table + "['" + key
  3011.                                                                                                         + "'].numberOfSharesIssued")
  3012.                                                                                         .replace(',', ''))) ? 1
  3013.                                                                                         : noSharesIssued;
  3014.  
  3015.                                                                         if (noSharesSubscribedFully > noSharesIssued) {
  3016.  
  3017.                                                                                 fname = fieldName.charAt(0)
  3018.                                                                                                 .toUpperCase()
  3019.                                                                                                 + fieldName.substr(1).replace(
  3020.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  3021.                                                                                                                 .replace(/^ /, "")
  3022.                                                                                                                 .toLowerCase();
  3023.                                                                                 validationAlert += "<div><a eid = '"
  3024.                                                                                                 + field.name
  3025.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  3026.                                                                                                 + key
  3027.                                                                                                 + "'><a class='errorreport' eid = '"
  3028.                                                                                                 + field.name
  3029.                                                                                                 + "'  "
  3030.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  3031.                                                                                                 + key
  3032.                                                                                                 + "'>"
  3033.                                                                                                 + fname
  3034.                                                                                                 + "("
  3035.                                                                                                 + yr
  3036.                                                                                                 + ")</a><span eid = '"
  3037.                                                                                                 + field.name
  3038.                                                                                                 + "' class='err'>"
  3039.                                                                                                 + key
  3040.                                                                                                 + "</span></a>"
  3041.                                                                                                 + "<p>"
  3042.                                                                                                 + field
  3043.                                                                                                                 .getAttribute("data-original-title")
  3044.                                                                                                 + "</p></div>";
  3045.  
  3046.                                                                                 flag = false;
  3047.                                                                         }
  3048.                                                                 }
  3049.                                                         });
  3050.  
  3051.                         if (flag == false) {
  3052.  
  3053.                                 return false;
  3054.                         }
  3055.  
  3056.                 } else {
  3057.  
  3058.                         noSharesSubscribedFully = isNaN(noSharesSubscribedFully = parseFloat($(
  3059.                                         'input[name=numberOfSharesSubscribedButNotFullyPaid' + year
  3060.                                                         + ']').val().replace(',', ''))) ? 0
  3061.                                         : noSharesSubscribedFully;
  3062.                         noSharesIssued = isNaN(noSharesIssued = parseFloat($(
  3063.                                         'input[name=numberOfSharesIssued' + year + ']').val()
  3064.                                         .replace(',', ''))) ? 0 : noSharesIssued;
  3065.  
  3066.                         if (noSharesSubscribedFully > noSharesIssued) {
  3067.                                 return false;
  3068.                         }
  3069.                 }
  3070.  
  3071.         } else if (field.name.indexOf("valueOfSharesSubscribedButNotFullyPaid") != -1) {
  3072.  
  3073.                 var valSharesSubscribedFully, valSharesIssued;
  3074.  
  3075.                 var flag = true;
  3076.                 table = field.getAttribute('groupid');
  3077.                 fieldName = field.name.split('_')[0];
  3078.                 if (validationType == "full") {
  3079.  
  3080.                         $
  3081.                                         .each(
  3082.                                                         eval("inputdata.fields[" + y + "]." + table),
  3083.                                                         function(key, val) {
  3084.  
  3085.                                                                 var tablenotall = field.getAttribute(
  3086.                                                                                 'tablenotall').replace(/Member/g, '')
  3087.                                                                                 .split(',');
  3088.                                                                 found = $.inArray(key, tablenotall);
  3089.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  3090.                                                                                 + table + "['" + key
  3091.                                                                                 + "'].memberStatus");
  3092.  
  3093.                                                                 if (found == -1 && mstatus == 'on') {
  3094.  
  3095.                                                                         valSharesSubscribedFully = isNaN(parseFloat(valSharesSubscribedFully = eval(
  3096.                                                                                         "inputdata.fields[" + y + "]."
  3097.                                                                                                         + table + "['" + key
  3098.                                                                                                         + "']." + fieldName)
  3099.                                                                                         .replace(',', ''))) ? 0
  3100.                                                                                         : valSharesSubscribedFully;
  3101.                                                                         noSharesIssued = isNaN(parseFloat(noSharesIssued = eval(
  3102.                                                                                         "inputdata.fields[" + y + "]."
  3103.                                                                                                         + table + "['" + key
  3104.                                                                                                         + "'].numberOfSharesIssued")
  3105.                                                                                         .replace(',', ''))) ? 0
  3106.                                                                                         : noSharesIssued;
  3107.                                                                         if(key.split(':').length == 3) {
  3108.                                                                                
  3109.                                                                                 parValue = isNaN(parseFloat(parValue = eval(
  3110.                                                                                                 "inputdata.fields[" + y + "]."
  3111.                                                                                                                 + table + "['" + key
  3112.                                                                                                                 + "'].parValuePerShare")
  3113.                                                                                                 .replace(',', ''))) ? 1 : parValue;
  3114.                                                                         } else {
  3115.                                                                                
  3116.                                                                                 parValue = 1;
  3117.                                                                         }
  3118.  
  3119.                                                                         valSharesIssued = noSharesIssued * parValue;
  3120.  
  3121.                                                                         if (valSharesSubscribedFully > valSharesIssued) {
  3122.  
  3123.                                                                                 fname = fieldName.charAt(0)
  3124.                                                                                                 .toUpperCase()
  3125.                                                                                                 + fieldName.substr(1).replace(
  3126.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  3127.                                                                                                                 .replace(/^ /, "")
  3128.                                                                                                                 .toLowerCase();
  3129.                                                                                 validationAlert += "<div><a eid = '"
  3130.                                                                                                 + field.name
  3131.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  3132.                                                                                                 + key
  3133.                                                                                                 + "'><a class='errorreport' eid = '"
  3134.                                                                                                 + field.name
  3135.                                                                                                 + "'  "
  3136.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  3137.                                                                                                 + key
  3138.                                                                                                 + "'>"
  3139.                                                                                                 + fname
  3140.                                                                                                 + "("
  3141.                                                                                                 + yr
  3142.                                                                                                 + ")</a><span eid = '"
  3143.                                                                                                 + field.name
  3144.                                                                                                 + "' class='err'>"
  3145.                                                                                                 + key
  3146.                                                                                                 + "</span></a>"
  3147.                                                                                                 + "<p>"
  3148.                                                                                                 + field
  3149.                                                                                                                 .getAttribute("data-original-title")
  3150.                                                                                                 + "</p></div>";
  3151.  
  3152.                                                                                 flag = false;
  3153.                                                                         }
  3154.                                                                 }
  3155.                                                         });
  3156.  
  3157.                         if (flag == false) {
  3158.  
  3159.                                 return false;
  3160.                         }
  3161.  
  3162.                 } else {
  3163.  
  3164.                         valSharesSubscribedFully = isNaN(parseFloat(valSharesSubscribedFully = $(
  3165.                                         'input[name=valueOfSharesSubscribedButNotFullyPaid' + year
  3166.                                                         + ']').val().replace(',', ''))) ? 0
  3167.                                         : valSharesSubscribedFully;
  3168.                         noSharesIssued = isNaN(parseFloat(noSharesIssued = $(
  3169.                                         'input[name=numberOfSharesIssued' + year + ']').val()
  3170.                                         .replace(',', ''))) ? 0 : noSharesIssued;
  3171.                         if($('input[name=parValuePerShare' + year + ']').is(':visible')) {
  3172.                                 parValue = isNaN(parseFloat(parValue = $('input[name=parValuePerShare' + year + ']').val().replace(',', ''))) ? 0 : parValue;
  3173.                         } else {
  3174.                                
  3175.                                 parValue = 1;
  3176.                         }
  3177.  
  3178.                         valSharesIssued = noSharesIssued * parValue;
  3179.  
  3180.                         if (valSharesSubscribedFully > valSharesIssued) {
  3181.                                 return false;
  3182.                         }
  3183.                 }
  3184.         } else if (field.name.indexOf("numberOfSharesSubscribed") != -1) {
  3185.  
  3186.                 var noSharesSubscribed, noSharesIssued;
  3187.  
  3188.                 var flag = true;
  3189.                 table = field.getAttribute('groupid');
  3190.                 fieldName = field.name.split('_')[0];
  3191.                 if (validationType == "full") {
  3192.  
  3193.                         $
  3194.                                         .each(
  3195.                                                         eval("inputdata.fields[" + y + "]." + table),
  3196.                                                         function(key, val) {
  3197.  
  3198.                                                                 var tablenotall = field.getAttribute(
  3199.                                                                                 'tablenotall').replace(/Member/g, '')
  3200.                                                                                 .split(',');
  3201.                                                                 found = $.inArray(key, tablenotall);
  3202.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  3203.                                                                                 + table + "['" + key
  3204.                                                                                 + "'].memberStatus");
  3205.  
  3206.                                                                 if (found == -1 && mstatus == 'on') {
  3207.  
  3208.                                                                         noSharesSubscribed = isNaN(noSharesSubscribed = parseFloat(eval(
  3209.                                                                                         "inputdata.fields[" + y + "]."
  3210.                                                                                                         + table + "['" + key
  3211.                                                                                                         + "']." + fieldName)
  3212.                                                                                         .replace(',', ''))) ? 0
  3213.                                                                                         : noSharesSubscribed;
  3214.                                                                         noSharesIssued = isNaN(parseFloat(noSharesIssued = eval(
  3215.                                                                                         "inputdata.fields[" + y + "]."
  3216.                                                                                                         + table + "['" + key
  3217.                                                                                                         + "'].numberOfSharesIssued")
  3218.                                                                                         .replace(',', ''))) ? 0
  3219.                                                                                         : noSharesIssued;
  3220.  
  3221.                                                                         if (noSharesSubscribed > noSharesIssued) {
  3222.  
  3223.                                                                                 fname = fieldName.charAt(0)
  3224.                                                                                                 .toUpperCase()
  3225.                                                                                                 + fieldName.substr(1).replace(
  3226.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  3227.                                                                                                                 .replace(/^ /, "")
  3228.                                                                                                                 .toLowerCase();
  3229.                                                                                 validationAlert += "<div><a eid = '"
  3230.                                                                                                 + field.name
  3231.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  3232.                                                                                                 + key
  3233.                                                                                                 + "'><a class='errorreport' eid = '"
  3234.                                                                                                 + field.name
  3235.                                                                                                 + "'  "
  3236.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  3237.                                                                                                 + key
  3238.                                                                                                 + "'>"
  3239.                                                                                                 + fname
  3240.                                                                                                 + "("
  3241.                                                                                                 + yr
  3242.                                                                                                 + ")</a><span eid = '"
  3243.                                                                                                 + field.name
  3244.                                                                                                 + "' class='err'>"
  3245.                                                                                                 + key
  3246.                                                                                                 + "</span></a>"
  3247.                                                                                                 + "<p>"
  3248.                                                                                                 + field
  3249.                                                                                                                 .getAttribute("data-original-title")
  3250.                                                                                                 + "</p></div>";
  3251.  
  3252.                                                                                 flag = false;
  3253.                                                                         }
  3254.                                                                 }
  3255.                                                         });
  3256.  
  3257.                         if (flag == false) {
  3258.  
  3259.                                 return false;
  3260.                         }
  3261.  
  3262.                 } else {
  3263.  
  3264.                         noSharesSubscribed = isNaN(noSharesSubscribed = parseFloat($(
  3265.                                         'input[name=numberOfSharesSubscribed' + year + ']').val()
  3266.                                         .replace(',', ''))) ? 0 : noSharesSubscribed;
  3267.                         noSharesIssued = isNaN(parseFloat(noSharesIssued = $(
  3268.                                         'input[name=numberOfSharesIssued' + year + ']').val()
  3269.                                         .replace(',', ''))) ? 0 : noSharesIssued;
  3270.  
  3271.                         if (noSharesSubscribed > noSharesIssued) {
  3272.                                 return false;
  3273.                         }
  3274.  
  3275.                 }
  3276.         } else if (field.name.indexOf("valueOfSharesSubscribed") != -1) {
  3277.  
  3278.                 var valSharesSubscribed, valSharesIssued;
  3279.  
  3280.                 var flag = true;
  3281.                 table = field.getAttribute('groupid');
  3282.                 fieldName = field.name.split('_')[0];
  3283.                 if (validationType == "full") {
  3284.  
  3285.                         $
  3286.                                         .each(
  3287.                                                         eval("inputdata.fields[" + y + "]." + table),
  3288.                                                         function(key, val) {
  3289.  
  3290.                                                                 var tablenotall = field.getAttribute(
  3291.                                                                                 'tablenotall').replace(/Member/g, '')
  3292.                                                                                 .split(',');
  3293.                                                                 found = $.inArray(key, tablenotall);
  3294.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  3295.                                                                                 + table + "['" + key
  3296.                                                                                 + "'].memberStatus");
  3297.  
  3298.                                                                 if (found == -1 && mstatus == 'on') {
  3299.  
  3300.                                                                         valSharesSubscribed = isNaN(valSharesSubscribed = parseFloat(eval(
  3301.                                                                                         "inputdata.fields[" + y + "]."
  3302.                                                                                                         + table + "['" + key
  3303.                                                                                                         + "']." + fieldName)
  3304.                                                                                         .replace(',', ''))) ? 0
  3305.                                                                                         : valSharesSubscribed;
  3306.                                                                         valSharesIssued = isNaN(valSharesIssued = parseFloat(eval(
  3307.                                                                                         "inputdata.fields[" + y + "]."
  3308.                                                                                                         + table + "['" + key
  3309.                                                                                                         + "'].valueOfSharesIssued")
  3310.                                                                                         .replace(',', ''))) ? 0
  3311.                                                                                         : valSharesIssued;
  3312.  
  3313.                                                                         if (valSharesSubscribed > valSharesIssued) {
  3314.  
  3315.                                                                                 fname = fieldName.charAt(0)
  3316.                                                                                                 .toUpperCase()
  3317.                                                                                                 + fieldName.substr(1).replace(
  3318.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  3319.                                                                                                                 .replace(/^ /, "")
  3320.                                                                                                                 .toLowerCase();
  3321.                                                                                 validationAlert += "<div><a eid = '"
  3322.                                                                                                 + field.name
  3323.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  3324.                                                                                                 + key
  3325.                                                                                                 + "'><a class='errorreport' eid = '"
  3326.                                                                                                 + field.name
  3327.                                                                                                 + "'  "
  3328.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  3329.                                                                                                 + key
  3330.                                                                                                 + "'>"
  3331.                                                                                                 + fname
  3332.                                                                                                 + "("
  3333.                                                                                                 + yr
  3334.                                                                                                 + ")</a><span eid = '"
  3335.                                                                                                 + field.name
  3336.                                                                                                 + "' class='err'>"
  3337.                                                                                                 + key
  3338.                                                                                                 + "</span></a>"
  3339.                                                                                                 + "<p>"
  3340.                                                                                                 + field
  3341.                                                                                                                 .getAttribute("data-original-title")
  3342.                                                                                                 + "</p></div>";
  3343.  
  3344.                                                                                 flag = false;
  3345.                                                                         }
  3346.                                                                 }
  3347.                                                         });
  3348.  
  3349.                         if (flag == false) {
  3350.  
  3351.                                 return false;
  3352.                         }
  3353.  
  3354.                 } else {
  3355.  
  3356.                         valSharesSubscribed = isNaN(valSharesSubscribed = parseFloat($(
  3357.                                         'input[name=valueOfSharesSubscribed' + year + ']').val()
  3358.                                         .replace(',', ''))) ? 0 : valSharesSubscribed;
  3359.                         valSharesIssued = isNaN(valSharesIssued = parseFloat($(
  3360.                                         'input[name=valueOfSharesIssued' + year + ']').val()
  3361.                                         .replace(',', ''))) ? 0 : valSharesIssued;
  3362.  
  3363.                         if (valSharesSubscribed > valSharesIssued) {
  3364.  
  3365.                                 return false;
  3366.                         }
  3367.  
  3368.                 }
  3369.         } else if (field.name.indexOf("numberOfSharesPaidUp") != -1) {
  3370.  
  3371.                 var noSharesSubscribed, noSharesPaidup;
  3372.  
  3373.                 var flag = true;
  3374.                 table = field.getAttribute('groupid');
  3375.                 fieldName = field.name.split('_')[0];
  3376.                 if (validationType == "full") {
  3377.  
  3378.                         $
  3379.                                         .each(
  3380.                                                         eval("inputdata.fields[" + y + "]." + table),
  3381.                                                         function(key, val) {
  3382.  
  3383.                                                                 var tablenotall = field.getAttribute(
  3384.                                                                                 'tablenotall').replace(/Member/g, '')
  3385.                                                                                 .split(',');
  3386.                                                                 found = $.inArray(key, tablenotall);
  3387.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  3388.                                                                                 + table + "['" + key
  3389.                                                                                 + "'].memberStatus");
  3390.  
  3391.                                                                 if (found == -1 && mstatus == 'on') {
  3392.  
  3393.                                                                         noSharesPaidup = isNaN(noSharesPaidup = parseFloat(eval(
  3394.                                                                                         "inputdata.fields[" + y + "]."
  3395.                                                                                                         + table + "['" + key
  3396.                                                                                                         + "']." + fieldName)
  3397.                                                                                         .replace(',', ''))) ? 0
  3398.                                                                                         : noSharesPaidup;
  3399.                                                                         noSharesSubscribedPaid = isNaN(parseFloat(noSharesSubscribedPaid = eval(
  3400.                                                                                         "inputdata.fields["
  3401.                                                                                                         + y
  3402.                                                                                                         + "]."
  3403.                                                                                                         + table
  3404.                                                                                                         + "['"
  3405.                                                                                                         + key
  3406.                                                                                                         + "'].numberOfSharesSubscribedAndFullyPaid")
  3407.                                                                                         .replace(',', ''))) ? 0
  3408.                                                                                         : noSharesSubscribedPaid;
  3409.                                                                         noSharesSubscribedNotPaid = isNaN(parseFloat(noSharesSubscribedNotPaid = eval(
  3410.                                                                                         "inputdata.fields["
  3411.                                                                                                         + y
  3412.                                                                                                         + "]."
  3413.                                                                                                         + table
  3414.                                                                                                         + "['"
  3415.                                                                                                         + key
  3416.                                                                                                         + "'].numberOfSharesSubscribedButNotFullyPaid")
  3417.                                                                                         .replace(',', ''))) ? 0
  3418.                                                                                         : noSharesSubscribedNotPaid;
  3419.  
  3420.                                                                         noSharesSubscribed = noSharesSubscribedPaid
  3421.                                                                                         + noSharesSubscribedNotPaid;
  3422.  
  3423.                                                                         if (noSharesPaidup > noSharesSubscribed) {
  3424.  
  3425.                                                                                 fname = fieldName.charAt(0)
  3426.                                                                                                 .toUpperCase()
  3427.                                                                                                 + fieldName.substr(1).replace(
  3428.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  3429.                                                                                                                 .replace(/^ /, "")
  3430.                                                                                                                 .toLowerCase();
  3431.                                                                                 validationAlert += "<div><a eid = '"
  3432.                                                                                                 + field.name
  3433.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  3434.                                                                                                 + key
  3435.                                                                                                 + "'><a class='errorreport' eid = '"
  3436.                                                                                                 + field.name
  3437.                                                                                                 + "'  "
  3438.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  3439.                                                                                                 + key
  3440.                                                                                                 + "'>"
  3441.                                                                                                 + fname
  3442.                                                                                                 + "("
  3443.                                                                                                 + yr
  3444.                                                                                                 + ")</a><span eid = '"
  3445.                                                                                                 + field.name
  3446.                                                                                                 + "' class='err'>"
  3447.                                                                                                 + key
  3448.                                                                                                 + "</span></a>"
  3449.                                                                                                 + "<p>"
  3450.                                                                                                 + field
  3451.                                                                                                                 .getAttribute("data-original-title")
  3452.                                                                                                 + "</p></div>";
  3453.  
  3454.                                                                                 flag = false;
  3455.                                                                         }
  3456.                                                                 }
  3457.                                                         });
  3458.  
  3459.                         if (flag == false) {
  3460.  
  3461.                                 return false;
  3462.                         }
  3463.  
  3464.                 } else {
  3465.  
  3466.                         noSharesPaidup = isNaN(parseFloat(noSharesPaidup = $(
  3467.                                         'input[name=numberOfSharesPaidUp' + year + ']').val()
  3468.                                         .replace(',', ''))) ? 0 : noSharesPaidup;
  3469.                         noSharesSubscribedPaid = isNaN(noSharesSubscribedPaid = parseFloat($(
  3470.                                         'input[name=numberOfSharesSubscribedAndFullyPaid' + year
  3471.                                                         + ']').val().replace(',', ''))) ? 0
  3472.                                         : noSharesSubscribedPaid;
  3473.                         noSharesSubscribedNotPaid = isNaN(noSharesSubscribedNotPaid = parseFloat($(
  3474.                                         'input[name=numberOfSharesSubscribedButNotFullyPaid' + year
  3475.                                                         + ']').val().replace(',', ''))) ? 0
  3476.                                         : noSharesSubscribedNotPaid;
  3477.                         noSharesSubscribed = noSharesSubscribedPaid
  3478.                                         + noSharesSubscribedNotPaid;
  3479.  
  3480.                         if (noSharesPaidup > noSharesSubscribed) {
  3481.  
  3482.                                 return false;
  3483.                         }
  3484.  
  3485.                 }
  3486.         } else if (field.name.indexOf("valueOfSharesCalled") != -1) {
  3487.  
  3488.                 var valSharesSubscribed, valSharesCalled;
  3489.  
  3490.                 var flag = true;
  3491.                 table = field.getAttribute('groupid');
  3492.                 fieldName = field.name.split('_')[0];
  3493.                 if (validationType == "full") {
  3494.  
  3495.                         $
  3496.                                         .each(
  3497.                                                         eval("inputdata.fields[" + y + "]." + table),
  3498.                                                         function(key, val) {
  3499.  
  3500.                                                                 var tablenotall = field.getAttribute(
  3501.                                                                                 'tablenotall').replace(/Member/g, '')
  3502.                                                                                 .split(',');
  3503.                                                                 found = $.inArray(key, tablenotall);
  3504.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  3505.                                                                                 + table + "['" + key
  3506.                                                                                 + "'].memberStatus");
  3507.  
  3508.                                                                 if (found == -1 && mstatus == 'on') {
  3509.  
  3510.                                                                         valSharesCalled = isNaN(valSharesCalled = parseFloat(eval(
  3511.                                                                                         "inputdata.fields[" + y + "]."
  3512.                                                                                                         + table + "['" + key
  3513.                                                                                                         + "']." + fieldName)
  3514.                                                                                         .replace(',', ''))) ? 0
  3515.                                                                                         : valSharesCalled;
  3516.                                                                         valSharesSubscribedPaid = isNaN(parseFloat(valSharesSubscribedPaid = eval(
  3517.                                                                                         "inputdata.fields["
  3518.                                                                                                         + y
  3519.                                                                                                         + "]."
  3520.                                                                                                         + table
  3521.                                                                                                         + "['"
  3522.                                                                                                         + key
  3523.                                                                                                         + "'].valueOfSharesSubscribedAndFullyPaid")
  3524.                                                                                         .replace(',', ''))) ? 0
  3525.                                                                                         : valSharesSubscribedPaid;
  3526.                                                                         valSharesSubscribedNotPaid = isNaN(parseFloat(valSharesSubscribedNotPaid = eval(
  3527.                                                                                         "inputdata.fields["
  3528.                                                                                                         + y
  3529.                                                                                                         + "]."
  3530.                                                                                                         + table
  3531.                                                                                                         + "['"
  3532.                                                                                                         + key
  3533.                                                                                                         + "'].valueOfSharesSubscribedButNotFullyPaid")
  3534.                                                                                         .replace(',', ''))) ? 0
  3535.                                                                                         : valSharesSubscribedNotPaid;
  3536.  
  3537.                                                                         valSharesSubscribed = valSharesSubscribedPaid
  3538.                                                                                         + valSharesSubscribedNotPaid;
  3539.  
  3540.                                                                         if (valSharesCalled > valSharesSubscribed) {
  3541.  
  3542.                                                                                 fname = fieldName.charAt(0)
  3543.                                                                                                 .toUpperCase()
  3544.                                                                                                 + fieldName.substr(1).replace(
  3545.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  3546.                                                                                                                 .replace(/^ /, "")
  3547.                                                                                                                 .toLowerCase();
  3548.                                                                                 validationAlert += "<div><a eid = '"
  3549.                                                                                                 + field.name
  3550.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  3551.                                                                                                 + key
  3552.                                                                                                 + "'><a class='errorreport' eid = '"
  3553.                                                                                                 + field.name
  3554.                                                                                                 + "'  "
  3555.                                                                                                 + "onclick ='goErrorPage(event)' memberorder='"
  3556.                                                                                                 + key
  3557.                                                                                                 + "'>"
  3558.                                                                                                 + fname
  3559.                                                                                                 + "("
  3560.                                                                                                 + yr
  3561.                                                                                                 + ")</a><span eid = '"
  3562.                                                                                                 + field.name
  3563.                                                                                                 + "' class='err'>"
  3564.                                                                                                 + key
  3565.                                                                                                 + "</span></a>"
  3566.                                                                                                 + "<p>"
  3567.                                                                                                 + field
  3568.                                                                                                                 .getAttribute("data-original-title")
  3569.                                                                                                 + "</p></div>";
  3570.  
  3571.                                                                                 flag = false;
  3572.                                                                         }
  3573.                                                                 }
  3574.                                                         });
  3575.  
  3576.                         if (flag == false) {
  3577.  
  3578.                                 return false;
  3579.                         }
  3580.  
  3581.                 } else {
  3582.  
  3583.                         valSharesCalled = isNaN(valSharesCalled = parseFloat($(
  3584.                                         'input[name=valueOfSharesCalled' + year + ']').val()
  3585.                                         .replace(',', ''))) ? 0 : valSharesCalled;
  3586.  
  3587.                         valSharesSubscribedPaid = isNaN(valSharesSubscribedPaid = parseFloat($(
  3588.                                         'input[name=valueOfSharesSubscribedAndFullyPaid' + year
  3589.                                                         + ']').val().replace(',', ''))) ? 0
  3590.                                         : valSharesSubscribedPaid;
  3591.                         valSharesSubscribedNotPaid = isNaN(valSharesSubscribedNotPaid = parseFloat($(
  3592.                                         'input[name=valueOfSharesSubscribedButNotFullyPaid' + year
  3593.                                                         + ']').val().replace(',', ''))) ? 0
  3594.                                         : valSharesSubscribedNotPaid;
  3595.  
  3596.                         valSharesSubscribed = valSharesSubscribedPaid
  3597.                                         + valSharesSubscribedNotPaid;
  3598.  
  3599.                         if (valSharesCalled > valSharesSubscribed) {
  3600.  
  3601.                                 return false;
  3602.                         }
  3603.  
  3604.                 }
  3605.         }
  3606.            // Validation starts here of amt of shares is entered , number of shares is mandatroy..
  3607.         else if (field.name.indexOf("amountOfPublicIssueDuringPeriod") != -1) {
  3608.                
  3609.                 return validateConditionalMandatory(field,"numberOfSharesIssuedInPublicOffering",year,y);
  3610.         } else if (field.name.indexOf("amountOfBonusIssueDuringPeriod") != -1) {
  3611.                
  3612.                 return validateConditionalMandatory(field,"numberOfSharesIssuedAsBonusShares",year,y);
  3613.                
  3614.         } else if (field.name.indexOf("amountOfRightsIssueDuringPeriod") != -1) {
  3615.                
  3616.                 return validateConditionalMandatory(field,"numberOfSharesIssuedAsRights",year,y);
  3617.         } else if (field.name.indexOf("amountOfPreferentialAllotmentIssueDuringPeriod") != -1) {
  3618.                
  3619.                 return validateConditionalMandatory(field,"numberOfSharesIssuedAsPreferentialAllotment",year,y);
  3620.         } else if (field.name
  3621.                         .indexOf("amountOfIssueAllottedForContractsWithoutPaymentReceivedInCashDuringPeriod") != -1) {
  3622.                
  3623.                 return validateConditionalMandatory(field,"numberOfSharesAllottedForContractsWithoutPaymentReceivedInCash",year,y);
  3624.         } else if (field.name
  3625.                         .indexOf("amountOfIssueUnderSchemeOfAmalgamationDuringPeriod") != -1) {
  3626.                
  3627.                 return validateConditionalMandatory(field,"numberOfSharesIssuedUnderSchemeOfAmalgamation",year,y);
  3628.                
  3629.                
  3630.                
  3631.         } else if (field.name.indexOf("amountOfOtherIssuesDuringPeriod") != -1) {
  3632.                
  3633.                 return validateConditionalMandatory(field,"numberOfOtherIssuesOfShares",year,y);
  3634.                
  3635.         } else if (field.name
  3636.                         .indexOf("amountOfIssueArisingOutOfConversionOfSecuritiesDuringPeriod") != -1) {
  3637.                
  3638.                 return validateConditionalMandatory(field,"numberOfSharesArisingOutOfConversionOfSecurities",year,y);
  3639.         } else if (field.name.indexOf("decreaseInAmountOfSharesRedeemed") != -1) {
  3640.                
  3641.                 return validateConditionalMandatory(field,"numberOfSharesRedeemed",year,y);
  3642.                
  3643.         } else if (field.name.indexOf("decreaseInAmountOfSharesBoughtBack") != -1) {
  3644.                
  3645.                 return validateConditionalMandatory(field,"numberOfSharesBoughtBack",year,y);
  3646.         } else if (field.name.indexOf("otherDecreaseInAmountOfShares") != -1) {
  3647.                
  3648.                
  3649.                 return validateConditionalMandatory(field,"otherDecreaseInNumberOfShares",year,y);
  3650.                
  3651.                
  3652.         } else if (field.name.indexOf("numberOfSharesIssuedInPublicOffering") != -1) {
  3653.                
  3654.                 return validateConditionalMandatory(field,"amountOfPublicIssueDuringPeriod",year,y);
  3655.                
  3656.         } else if (field.name.indexOf("numberOfSharesIssuedAsBonusShares") != -1) {
  3657.                
  3658.                 return validateConditionalMandatory(field,"amountOfBonusIssueDuringPeriod",year,y);
  3659.                
  3660.         } else if (field.name.indexOf("numberOfSharesIssuedAsRights") != -1) {
  3661.                
  3662.                 return validateConditionalMandatory(field,"amountOfRightsIssueDuringPeriod",year,y);
  3663.                
  3664.         } else if (field.name.indexOf("numberOfSharesIssuedInPrivatePlacement") != -1) {
  3665.                
  3666.                 return validateConditionalMandatory(field,"amountOfPrivatePlacementIssueDuringPeriod",year,y);
  3667.                
  3668.         } else if (field.name
  3669.                         .indexOf("numberOfSharesIssuedAsPreferentialAllotment") != -1) {
  3670.                
  3671.                 return validateConditionalMandatory(field,"amountOfPreferentialAllotmentIssueDuringPeriod",year,y);
  3672.         } else if (field.name
  3673.                         .indexOf("numberOfSharesAllottedForContractsWithoutPaymentReceivedInCash") != -1) {
  3674.                
  3675.                 return validateConditionalMandatory(field,"amountOfIssueAllottedForContractsWithoutPaymentReceivedInCashDuringPeriod",year,y);
  3676.                
  3677.         } else if (field.name
  3678.                         .indexOf("numberOfSharesIssuedUnderSchemeOfAmalgamation") != -1) {
  3679.                
  3680.                 return validateConditionalMandatory(field,"amountOfIssueUnderSchemeOfAmalgamationDuringPeriod",year,y);
  3681.                
  3682.         } else if (field.name.indexOf("numberOfOtherIssuesOfShares") != -1) {
  3683.                
  3684.                 return validateConditionalMandatory(field,"amountOfOtherIssuesDuringPeriod",year,y);
  3685.                
  3686.         } else if (field.name
  3687.                         .indexOf("numberOfSharesArisingOutOfConversionOfSecurities") != -1) {
  3688.                
  3689.                 return validateConditionalMandatory(field,"amountOfIssueArisingOutOfConversionOfSecuritiesDuringPeriod",year,y);
  3690.                
  3691.         } else if (field.name.indexOf("numberOfSharesRedeemed") != -1) {
  3692.                
  3693.                 return validateConditionalMandatory(field,"decreaseInAmountOfSharesRedeemed",year,y);
  3694.                
  3695.         } else if (field.name.indexOf("numberOfSharesBoughtBack") != -1) {
  3696.                
  3697.                
  3698.                 return validateConditionalMandatory(field,"decreaseInAmountOfSharesBoughtBack",year,y);
  3699.                
  3700.         } else if (field.name.indexOf("otherDecreaseInNumberOfShares") != -1) {
  3701.                
  3702.                
  3703.                 return validateConditionalMandatory(field,"otherDecreaseInAmountOfShares",year,y);
  3704.                
  3705.                
  3706.         }
  3707. /*  Ends  validation for if no of shares/amt of shares is entered amt of shares/ no of shares mandatory */
  3708.          
  3709.         // Disclosure of share holding more than five percent in company table
  3710.         // Validation
  3711.  
  3712.         else if (field.name.indexOf("CINOfShareholder") != -1) {
  3713.  
  3714.                 var CINOfShareholder, countryOfShareholder, PANOfShareholder;
  3715.  
  3716.                 mandatory = $(
  3717.                                 ':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'+year+'] option:selected')
  3718.                                 .text();
  3719.  
  3720.                 var flag = true;
  3721.                 table = field.getAttribute('groupid');
  3722.                 fieldName = field.name.split('_')[0];
  3723.  
  3724.                 if (validationType == "full" && mandatory != 'No') {
  3725.  
  3726.                         $
  3727.                                         .each(
  3728.                                                         eval("inputdata.fields[" + y + "]." + table),
  3729.                                                         function(key, val) {
  3730.  
  3731.                                                                 var tablenotall = field.getAttribute(
  3732.                                                                                 'tablenotall').replace(/Member/g, '')
  3733.                                                                                 .split(',');
  3734.                                                                 found = $.inArray(key, tablenotall);
  3735.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  3736.                                                                                 + table + "['" + key
  3737.                                                                                 + "'].memberStatus");
  3738.  
  3739.                                                                 if (found == -1 && mstatus == 'on') {
  3740.  
  3741.                                                                         CINOfShareholder = eval("inputdata.fields["
  3742.                                                                                         + y + "]." + table + "['" + key
  3743.                                                                                         + "'].CINOfShareholder");
  3744.                                                                         countryOfShareholder = eval("inputdata.fields["
  3745.                                                                                         + y
  3746.                                                                                         + "]."
  3747.                                                                                         + table
  3748.                                                                                         + "['"
  3749.                                                                                         + key
  3750.                                                                                         + "'].countryOfIncorporationOrResidenceOfShareholder");
  3751.                                                                         PANOfShareholder = eval("inputdata.fields["
  3752.                                                                                         + y + "]." + table + "['" + key
  3753.                                                                                         + "'].PANOfShareholder");
  3754.  
  3755.                                                                         if (PANOfShareholder == "") {
  3756.                                                                                 if (CINOfShareholder == ""
  3757.                                                                                                 && countryOfShareholder == "INDIA") {
  3758.  
  3759.                                                                                         fname = fieldName.charAt(0)
  3760.                                                                                                         .toUpperCase()
  3761.                                                                                                         + fieldName
  3762.                                                                                                                         .substr(1)
  3763.                                                                                                                         .replace(
  3764.                                                                                                                                         /([A-Z][a-z])/g,
  3765.                                                                                                                                         ' $1')
  3766.                                                                                                                         .replace(/^ /, "")
  3767.                                                                                                                         .toLowerCase();
  3768.                                                                                         validationAlert += "<div><a eid = '"
  3769.                                                                                                         + field.name
  3770.                                                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  3771.                                                                                                         + key
  3772.                                                                                                         + "'>"
  3773.                                                                                                         + "<a class='errorreport' eid = '"
  3774.                                                                                                         + field.name
  3775.                                                                                                         + "' onclick ='goErrorPage(event)' memberorder='"
  3776.                                                                                                         + key
  3777.                                                                                                         + "'>"
  3778.                                                                                                         + fname
  3779.                                                                                                         + "("
  3780.                                                                                                         + yr
  3781.                                                                                                         + ")</a>"
  3782.                                                                                                         + "<span eid = '"
  3783.                                                                                                         + field.name
  3784.                                                                                                         + "' class='err'>"
  3785.                                                                                                         + key
  3786.                                                                                                         + "</span></a>"
  3787.                                                                                                         + "<p>"
  3788.                                                                                                         + field
  3789.                                                                                                                         .getAttribute("data-original-title")
  3790.                                                                                                         + "</p></div>";
  3791.  
  3792.                                                                                         flag = false;
  3793.  
  3794.                                                                                 }
  3795.                                                                         }
  3796.                                                                 }
  3797.                                                         });
  3798.  
  3799.                         if (flag == false) {
  3800.  
  3801.                                 return false;
  3802.                         }
  3803.  
  3804.                 } else {
  3805.  
  3806.                         CINOfShareholder = ($('input[name=CINOfShareholder' + year + ']')
  3807.                                         .val());
  3808.                         countryOfShareholder = ($(':input[name=countryOfIncorporationOrResidenceOfShareholder'
  3809.                                         + year + ']').val());
  3810.                         PANOfShareholder = ($('input[name=PANOfShareholder' + year + ']')
  3811.                                         .val());
  3812.  
  3813.                         if (PANOfShareholder == "" && mandatory != 'No') {
  3814.  
  3815.                                 if (CINOfShareholder == "" && countryOfShareholder == "INDIA") {
  3816.  
  3817.                                         return false;
  3818.                                 }
  3819.                         }
  3820.  
  3821.                 }
  3822.  
  3823.         } else if (field.name.indexOf("PANOfShareholder") != -1) {
  3824.  
  3825.                 var CINOfShareholder, countryOfShareholder, PANOfShareholder;
  3826.  
  3827.                 var flag = true;
  3828.                 table = field.getAttribute('groupid');
  3829.                 fieldName = field.name.split('_')[0];
  3830.                 mandatory = $(':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'+year+'] option:selected').text();
  3831.                 if (validationType == "full" && mandatory != 'No') {
  3832.              
  3833.                         // if table is not mandatory then no need to validate.
  3834.                         $
  3835.                                         .each(
  3836.                                                         eval("inputdata.fields[" + y + "]." + table),
  3837.                                                         function(key, val) {
  3838.  
  3839.                                                                 var tablenotall = field.getAttribute(
  3840.                                                                                 'tablenotall').replace(/Member/g, '')
  3841.                                                                                 .split(',');
  3842.                                                                 found = $.inArray(key, tablenotall);
  3843.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  3844.                                                                                 + table + "['" + key
  3845.                                                                                 + "'].memberStatus");
  3846.  
  3847.                                                                 if (found == -1 && mstatus == 'on') {
  3848.  
  3849.                                                                         CINOfShareholder = eval("inputdata.fields["
  3850.                                                                                         + y + "]." + table + "['" + key
  3851.                                                                                         + "'].CINOfShareholder");
  3852.                                                                         countryOfShareholder = eval("inputdata.fields["
  3853.                                                                                         + y
  3854.                                                                                         + "]."
  3855.                                                                                         + table
  3856.                                                                                         + "['"
  3857.                                                                                         + key
  3858.                                                                                         + "'].countryOfIncorporationOrResidenceOfShareholder");
  3859.                                                                         PANOfShareholder = eval("inputdata.fields["
  3860.                                                                                         + y + "]." + table + "['" + key
  3861.                                                                                         + "'].PANOfShareholder");
  3862.  
  3863.                                                                         if (CINOfShareholder == "") {
  3864.  
  3865.                                                                                 if (PANOfShareholder == ""
  3866.                                                                                                 && countryOfShareholder == "INDIA") {
  3867.  
  3868.                                                                                         fname = fieldName.charAt(0)
  3869.                                                                                                         .toUpperCase()
  3870.                                                                                                         + fieldName
  3871.                                                                                                                         .substr(1)
  3872.                                                                                                                         .replace(
  3873.                                                                                                                                         /([A-Z][a-z])/g,
  3874.                                                                                                                                         ' $1')
  3875.                                                                                                                         .replace(/^ /, "")
  3876.                                                                                                                         .toLowerCase();
  3877.                                                                                         validationAlert += "<div><a eid = '"
  3878.                                                                                                         + field.name
  3879.                                                                                                         + "'  onclick ='goErrorPage(event)' memberorder='"
  3880.                                                                                                         + key
  3881.                                                                                                         + "'>"
  3882.                                                                                                         + "<a class='errorreport' eid = '"
  3883.                                                                                                         + field.name
  3884.                                                                                                         + "' onclick ='goErrorPage(event)' memberorder='"
  3885.                                                                                                         + key
  3886.                                                                                                         + "'>"
  3887.                                                                                                         + fname
  3888.                                                                                                         + "("
  3889.                                                                                                         + yr
  3890.                                                                                                         + ")</a>"
  3891.                                                                                                         + "<span eid = '"
  3892.                                                                                                         + field.name
  3893.                                                                                                         + "' class='err'>"
  3894.                                                                                                         + key
  3895.                                                                                                         + "</span></a>"
  3896.                                                                                                         + "<p>"
  3897.                                                                                                         + field
  3898.                                                                                                                         .getAttribute("data-original-title")
  3899.                                                                                                         + "</p></div>";
  3900.  
  3901.                                                                                         flag = false;
  3902.                                                                                 }
  3903.                                                                         }
  3904.                                                                 }
  3905.                                                         });
  3906.  
  3907.                         if (flag == false) {
  3908.  
  3909.                                 return false;
  3910.                         }
  3911.  
  3912.                 } else if(mandatory != 'No'){
  3913.                        
  3914.              // if table is not required to enter.    
  3915.                         CINOfShareholder = ($('input[name=CINOfShareholder' + year + ']')
  3916.                                         .val());
  3917.                         countryOfShareholder = ($(':input[name=countryOfIncorporationOrResidenceOfShareholder'
  3918.                                         + year + ']').val());
  3919.                         PANOfShareholder = ($('input[name=PANOfShareholder' + year + ']')
  3920.                                         .val());
  3921.  
  3922.                         if (CINOfShareholder == "") {
  3923.  
  3924.                                 if (PANOfShareholder == "" && countryOfShareholder == "INDIA") {
  3925.  
  3926.                                         return false;
  3927.                                 }
  3928.                         }
  3929.  
  3930.                 }
  3931.         } else if (field.name.indexOf("percentageOfShareholdingInCompany") != -1
  3932.                         && validationType != "table") {
  3933.  
  3934.                 mandatory = $(':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'+year+'] option:selected').text();
  3935.                
  3936.                 if(mandatory =='Yes') {
  3937.                        
  3938.                         var eqShare = 0, preShare = 0, e = 0, p = 0;
  3939.        
  3940.                         table = "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable";
  3941.        
  3942.                         $
  3943.                                         .each(
  3944.                                                         inputdata.fields[y].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable,
  3945.                                                         function(key, val) {
  3946.        
  3947.                                                                 var tablenotall = field.getAttribute('tablenotall')
  3948.                                                                                 .replace(/Member/g, '').split(',');
  3949.                                                                 found = $.inArray(key, tablenotall);
  3950.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  3951.                                                                                 + table + "['" + key + "'].memberStatus");
  3952.        
  3953.                                                                 if (found == -1 && mstatus == 'on') {
  3954.        
  3955.                                                                         if (key.indexOf("EquityShares") != -1) {
  3956.        
  3957.                                                                                 e = isNaN(e = parseFloat(eval(
  3958.                                                                                                 "inputdata.fields["
  3959.                                                                                                                 + y
  3960.                                                                                                                 + "].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable['"
  3961.                                                                                                                 + key
  3962.                                                                                                                 + "'].percentageOfShareholdingInCompany")
  3963.                                                                                                 .replace(',', ''))) ? 0 : e;
  3964.                                                                                 eqShare += e;
  3965.        
  3966.                                                                         } else if (key.indexOf("PreferenceShares") != -1) {
  3967.        
  3968.                                                                                 p = isNaN(e = parseFloat(eval(
  3969.                                                                                                 "inputdata.fields["
  3970.                                                                                                                 + y
  3971.                                                                                                                 + "].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable['"
  3972.                                                                                                                 + key
  3973.                                                                                                                 + "'].percentageOfShareholdingInCompany")
  3974.                                                                                                 .replace(',', ''))) ? 0 : p;
  3975.        
  3976.                                                                                 preShare += p;
  3977.        
  3978.                                                                         }
  3979.                                                                 }
  3980.                                                         });
  3981.        
  3982.                         if (eqShare > 1 || preShare > 1) {
  3983.                                
  3984.                                 // if summation of percentage is greater than 1(100%)
  3985.        
  3986.                                 memberOrder = "ShareCapital:EquityShares:EquityShares1:NameOfShareholder:Shareholder1";
  3987.        
  3988.                                 fieldName = field.getAttribute('name').split('_')[0];
  3989.                                 fieldName = fieldName.charAt(0).toUpperCase()
  3990.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  3991.                                                                 .replace(/^ /, "").toLowerCase();
  3992.        
  3993.                                 validationAlert += "<div><a class='errorreport' eid = '"
  3994.                                                 + field.name
  3995.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  3996.                                                 + memberOrder + "'>" + fieldName + "(" + yr
  3997.                                                 + ")</a><span eid = '" + field.name + "' class='err'>"
  3998.                                                 + memberOrder + "</span>" + "<div id='" + field.name
  3999.                                                 + "_spinner'></div><p>"
  4000.                                                 + field.getAttribute("data-original-title") + "</p></div>";
  4001.        
  4002.                                 // validationAlert += "<div><a eid = '"+field.name+"'
  4003.                                 // class='errorreport' onclick ='goErrorPage(event)'
  4004.                                 // memberorder='"+memberOrder+"'>"+fieldName+"["+memberOrder+"]</a><p>"+
  4005.                                 // field.getAttribute("data-original-title")+"</p></div>";
  4006.                                 return false;
  4007.        
  4008.                         }
  4009.                 }
  4010.  
  4011.         } else if (field.name.indexOf("numberOfSharesHeldInCompany") != -1 && validationType != "table") {
  4012.                
  4013.                 mandatory = $(':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'+year+'] option:selected').text();
  4014.                
  4015.                         var sharesHeld = 0, sharesPaidUp = 0, pn, n;
  4016.                         table = "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable";
  4017.                         $.each(inputdata.fields[y].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable,function(key, val) {
  4018.        
  4019.                                                                 var tablenotall = field.getAttribute('tablenotall')
  4020.                                                                                 .replace(/Member/g, '').split(',');
  4021.                                                                 found = $.inArray(key, tablenotall);
  4022.                                                                 mstatus = eval("inputdata.fields[" + y + "]."+ table + "['" + key + "'].memberStatus");
  4023.        
  4024.                                                                 if (found == -1 && mstatus == 'on' && key.split(':').length == 5) {  // len 5, to get only child members.
  4025.        
  4026.                                                                         n = eval("inputdata.fields["+y+ "]."+ table + "['"+ key+ "'].numberOfSharesHeldInCompany");
  4027.                                                                         if (n != "") {
  4028.        
  4029.                                                                                 sharesHeld += parseFloat(n);
  4030.                                                                         }
  4031.                                                                 }
  4032.                                                         });
  4033.        
  4034.                         $.each(inputdata.fields[y].disclosureOfClassesOfShareCapitalTable,function(key, val) {
  4035.        
  4036.                                                                 table = "disclosureOfClassesOfShareCapitalTable";
  4037.                                                                 var tablenotall = field.getAttribute('tablenotall').replace(/Member/g, '').split(',');
  4038.                                                                 found = $.inArray(key, tablenotall);
  4039.                                                                 mstatus = eval("inputdata.fields[" + y + "]."+ table + "['" + key + "'].memberStatus");
  4040.        
  4041.                                                                 if (found == -1 && mstatus == 'on' && key.split(':').length == 3) {
  4042.        
  4043.                                                                         pn = eval("inputdata.fields["+ y+ "]."+ table + "['"+ key + "'].numberOfSharesPaidUp");
  4044.                                                                         if (pn != "") {
  4045.        
  4046.                                                                                 sharesPaidUp += parseFloat(pn);
  4047.                                                                         }
  4048.                                                                 }
  4049.                                                         });
  4050.        
  4051.                         if (sharesHeld > sharesPaidUp) {
  4052.        
  4053.                                 memberOrder = "ShareCapital:EquityShares:EquityShares1:NameOfShareholder:Shareholder1";
  4054.        
  4055.                                 fieldName = field.getAttribute('name').split('_')[0];
  4056.                                 fieldName = fieldName.charAt(0).toUpperCase()
  4057.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4058.                                                                 .replace(/^ /, "").toLowerCase();
  4059.        
  4060.                                 validationAlert += "<div><a class='errorreport' eid = '"
  4061.                                                 + field.name
  4062.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4063.                                                 + memberOrder + "'>" + fieldName + "(" + yr
  4064.                                                 + ")</a><span eid = '" + field.name + "' class='err'>"
  4065.                                                 + memberOrder + "</span>" + "<div id='" + field.name
  4066.                                                 + "_spinner'></div><p>"
  4067.                                                 + field.getAttribute("data-original-title") + "</p></div>";
  4068.        
  4069.                                 return false;
  4070.                         }
  4071.          
  4072.          
  4073.         }
  4074.  
  4075.         // DisclosureOfDetailsOnPrivatePlacementOfShare Validation
  4076.  
  4077.         else if (field.name
  4078.                         .indexOf("numberOfPersonsOnPrivatePlacementOfEquityShare") != -1
  4079.                         && validationType == 'full') {
  4080.  
  4081.                 var value = "";
  4082.                 var pShare = $(
  4083.                                 'input[name = numberOfPersonsOnPrivatePlacementOfPreferenceShare'
  4084.                                                 + year + ']').val();
  4085.                 var flag = false;
  4086.                 $
  4087.                                 .each(
  4088.                                                 inputdata.fields[y].disclosureOfClassesOfShareCapitalTable,
  4089.                                                 function(key, val) {
  4090.  
  4091.                                                         value = eval("inputdata.fields["
  4092.                                                                         + y
  4093.                                                                         + "].disclosureOfClassesOfShareCapitalTable['"
  4094.                                                                         + key
  4095.                                                                         + "'].numberOfSharesIssuedInPrivatePlacement");
  4096.                                                         if (value != "") {
  4097.                                                                 flag = true;
  4098.                                                                 return;
  4099.                                                         }
  4100.                                                 });
  4101.  
  4102.                 if (field.value == '' && pShare == '' && flag == true) {
  4103.  
  4104.                         key = '';
  4105.                         fieldName = field.name.split('_')[0];
  4106.                         fname = fieldName.charAt(0).toUpperCase()
  4107.                                         + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4108.                                                         .replace(/^ /, "").toLowerCase();
  4109.                         validationAlert += "<div><a eid = '" + field.name
  4110.                                         + "'  onclick ='goErrorPage(event)' memberorder='" + key
  4111.                                         + "'>" + "<a class='errorreport' eid = '" + field.name
  4112.                                         + "' onclick ='goErrorPage(event)' memberorder='" + key
  4113.                                         + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4114.                                         + field.name + "' class='err'>" + key + "</span></a>"
  4115.                                         + "<p>" + field.getAttribute("data-original-title")
  4116.                                         + "</p></div>";
  4117.  
  4118.                         return false;
  4119.                 }
  4120.  
  4121.                 return true;
  4122.         } else if (field.name
  4123.                         .indexOf("natureOfSecurityOnPrivatePlacementOfEquityShare") != -1) {
  4124.  
  4125.                 var noPvtPlacemetEqShare, securityPvtplacementEqShares;
  4126.  
  4127.                 noPvtPlacemetEqShare = isNaN(noPvtPlacemetEqShare = parseFloat($(
  4128.                                 'input[name=numberOfPersonsOnPrivatePlacementOfEquityShare'
  4129.                                                 + year + ']').val().replace(',', ''))) ? 0
  4130.                                 : noPvtPlacemetEqShare;
  4131.                 securityPvtplacementEqShares = $(
  4132.                                 'input[name=natureOfSecurityOnPrivatePlacementOfEquityShare'
  4133.                                                 + year + ']').val();
  4134.  
  4135.                 if (noPvtPlacemetEqShare > 0 && securityPvtplacementEqShares == "") {
  4136.  
  4137.                         if (validationType == 'full') {
  4138.                                 key = '';
  4139.                                 fieldName = field.name.split('_')[0];
  4140.                                 fname = fieldName.charAt(0).toUpperCase()
  4141.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4142.                                                                 .replace(/^ /, "").toLowerCase();
  4143.                                 validationAlert += "<div><a eid = '" + field.name
  4144.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4145.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4146.                                                 + field.name
  4147.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4148.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4149.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4150.                                                 + "<p>" + field.getAttribute("data-original-title")
  4151.                                                 + "</p></div>";
  4152.  
  4153.                         }
  4154.  
  4155.                         return false;
  4156.                 }
  4157.  
  4158.         } else if (field.name
  4159.                         .indexOf("numberOfPersonsOnPrivatePlacementOfPreferenceShare") != -1
  4160.                         && validationType == 'full') {
  4161.  
  4162.                 var value = "";
  4163.                 var eShare = $(
  4164.                                 'input[name = numberOfPersonsOnPrivatePlacementOfEquityShare'
  4165.                                                 + year + ']').val();
  4166.                 var flag = false;
  4167.                 $
  4168.                                 .each(
  4169.                                                 inputdata.fields[y].disclosureOfClassesOfShareCapitalTable,
  4170.                                                 function(key, val) {
  4171.  
  4172.                                                         value = eval("inputdata.fields["
  4173.                                                                         + y
  4174.                                                                         + "].disclosureOfClassesOfShareCapitalTable['"
  4175.                                                                         + key
  4176.                                                                         + "'].numberOfSharesIssuedInPrivatePlacement");
  4177.                                                         if (value != "") {
  4178.                                                                 flag = true;
  4179.                                                                 return;
  4180.                                                         }
  4181.                                                 });
  4182.  
  4183.                 if (field.value == '' && eShare == '' && flag == true) {
  4184.  
  4185.                         key = '';
  4186.                         fieldName = field.name.split('_')[0];
  4187.                         fname = fieldName.charAt(0).toUpperCase()
  4188.                                         + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4189.                                                         .replace(/^ /, "").toLowerCase();
  4190.                         validationAlert += "<div><a eid = '" + field.name
  4191.                                         + "'  onclick ='goErrorPage(event)' memberorder='" + key
  4192.                                         + "'>" + "<a class='errorreport' eid = '" + field.name
  4193.                                         + "' onclick ='goErrorPage(event)' memberorder='" + key
  4194.                                         + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4195.                                         + field.name + "' class='err'>" + key + "</span></a>"
  4196.                                         + "<p>" + field.getAttribute("data-original-title")
  4197.                                         + "</p></div>";
  4198.  
  4199.                         return false;
  4200.                 }
  4201.                 return true;
  4202.  
  4203.         } else if (field.name
  4204.                         .indexOf("natureOfSecurityOnPrivatePlacementOfPreferenceShare") != -1) {
  4205.  
  4206.                 var noPvtPlacemetPrShare, securityPvtplacementPrShares;
  4207.  
  4208.                 noPvtPlacemetPrShare = isNaN(noPvtPlacemetPrShare = parseFloat($(
  4209.                                 'input[name=numberOfPersonsOnPrivatePlacementOfPreferenceShare'
  4210.                                                 + year + ']').val().replace(',', ''))) ? 0
  4211.                                 : noPvtPlacemetPrShare;
  4212.                 securityPvtplacementPrShares = $(
  4213.                                 'input[name=natureOfSecurityOnPrivatePlacementOfPreferenceShare'
  4214.                                                 + year + ']').val()
  4215.  
  4216.                 if (noPvtPlacemetPrShare > 0 && securityPvtplacementPrShares == "") {
  4217.  
  4218.                         if (validationType == 'full') {
  4219.                                 key = '';
  4220.                                 fieldName = field.name.split('_')[0];
  4221.                                 fname = fieldName.charAt(0).toUpperCase()
  4222.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4223.                                                                 .replace(/^ /, "").toLowerCase();
  4224.                                 validationAlert += "<div><a eid = '" + field.name
  4225.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4226.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4227.                                                 + field.name
  4228.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4229.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4230.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4231.                                                 + "<p>" + field.getAttribute("data-original-title")
  4232.                                                 + "</p></div>";
  4233.  
  4234.                         }
  4235.                         return false;
  4236.                 }
  4237.  
  4238.         } else if (field.name.indexOf("amountOfReductionInCapitalDuringYear") != -1) {
  4239.  
  4240.                 var reductnAmt, reductnYear;
  4241.  
  4242.                 reductnAmt = ($('input[name=amountOfReductionInCapitalDuringYear'
  4243.                                 + year + ']').val());
  4244.                 reductnYear = ($(':input[name=whetherReductionInCapitalDoneDuringYear'
  4245.                                 + year + '] option:selected')).text();
  4246.  
  4247.                 if (reductnYear == "Yes" && reductnAmt == "") {
  4248.  
  4249.                         if (validationType == 'full') {
  4250.                                 key = '';
  4251.                                 fieldName = field.name.split('_')[0];
  4252.                                 fname = fieldName.charAt(0).toUpperCase()
  4253.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4254.                                                                 .replace(/^ /, "").toLowerCase();
  4255.                                 validationAlert += "<div><a eid = '" + field.name
  4256.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4257.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4258.                                                 + field.name
  4259.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4260.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4261.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4262.                                                 + "<p>" + field.getAttribute("data-original-title")
  4263.                                                 + "</p></div>";
  4264.  
  4265.                         }
  4266.  
  4267.                         return false;
  4268.                 }
  4269.         } else if (field.name
  4270.                         .indexOf("percentageOfCapitalReductionToCapitalPriorToReduction") != -1) {
  4271.  
  4272.                 var capReductnPercent, reductnYear;
  4273.  
  4274.                 capReductnPercent = ($('input[name=percentageOfCapitalReductionToCapitalPriorToReduction'
  4275.                                 + year + ']').val());
  4276.                 reductnYear = ($(':input[name=whetherReductionInCapitalDoneDuringYear'
  4277.                                 + year + '] option:selected')).text();
  4278.                 if (reductnYear == "Yes" && capReductnPercent == "") {
  4279.  
  4280.                         if (validationType == 'full') {
  4281.                                 key = '';
  4282.                                 fieldName = field.name.split('_')[0];
  4283.                                 fname = fieldName.charAt(0).toUpperCase()
  4284.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4285.                                                                 .replace(/^ /, "").toLowerCase();
  4286.                                 validationAlert += "<div><a eid = '" + field.name
  4287.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4288.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4289.                                                 + field.name
  4290.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4291.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4292.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4293.                                                 + "<p>" + field.getAttribute("data-original-title")
  4294.                                                 + "</p></div>";
  4295.  
  4296.                         }
  4297.  
  4298.                         return false;
  4299.                 }
  4300.         } else if (field.name
  4301.                         .indexOf("whetherMoneyRaisedFromPublicOfferingDuringYear") != -1) {
  4302.  
  4303.                 var pubIssueAmt, raisedYear;
  4304.  
  4305.                 /*
  4306.                  * pubIssueAmt = ($('input[name=amountOfPublicIssueDuringPeriod' + year +
  4307.                  * ']').val());
  4308.                  */
  4309.                 var flag = false;
  4310.                 $.each(inputdata.fields[y].disclosureOfClassesOfShareCapitalTable,
  4311.                                 function(key, val) {
  4312.  
  4313.                                         value = eval("inputdata.fields[" + y
  4314.                                                         + "].disclosureOfClassesOfShareCapitalTable['"
  4315.                                                         + key + "'].amountOfPublicIssueDuringPeriod");
  4316.                                         if (value != "") {
  4317.                                                 flag = true;
  4318.                                                 return;
  4319.                                         }
  4320.                                 });
  4321.  
  4322.                 raisedYear = ($(':input[name=whetherMoneyRaisedFromPublicOfferingDuringYear'
  4323.                                 + year + '] option:selected')).text();
  4324.  
  4325.                 if (raisedYear != "Yes" && flag == true) {
  4326.  
  4327.                         if (validationType == 'full') {
  4328.                                 key = '';
  4329.                                 fieldName = field.name.split('_')[0];
  4330.                                 fname = fieldName.charAt(0).toUpperCase()
  4331.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4332.                                                                 .replace(/^ /, "").toLowerCase();
  4333.                                 validationAlert += "<div><a eid = '" + field.name
  4334.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4335.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4336.                                                 + field.name
  4337.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4338.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4339.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4340.                                                 + "<p>" + field.getAttribute("data-original-title")
  4341.                                                 + "</p></div>";
  4342.  
  4343.                         }
  4344.                         return false;
  4345.                 }
  4346.         } else if (field.name.indexOf("amountRaisedFromPublicOfferingDuringYear") != -1) {
  4347.  
  4348.                 var raisedAmt, raisedYear;
  4349.  
  4350.                 raisedAmt = ($('input[name=amountRaisedFromPublicOfferingDuringYear'
  4351.                                 + year + ']').val());
  4352.                 raisedYear = ($(':input[name=whetherMoneyRaisedFromPublicOfferingDuringYear'
  4353.                                 + year + '] option:selected')).text();
  4354.  
  4355.                 if (raisedYear == "Yes" && raisedAmt == "") {
  4356.  
  4357.                         if (validationType == 'full') {
  4358.                                 key = '';
  4359.                                 fieldName = field.name.split('_')[0];
  4360.                                 fname = fieldName.charAt(0).toUpperCase()
  4361.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4362.                                                                 .replace(/^ /, "").toLowerCase();
  4363.                                 validationAlert += "<div><a eid = '" + field.name
  4364.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4365.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4366.                                                 + field.name
  4367.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4368.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4369.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4370.                                                 + "<p>" + field.getAttribute("data-original-title")
  4371.                                                 + "</p></div>";
  4372.  
  4373.                         }
  4374.  
  4375.                         return false;
  4376.                 }
  4377.         } else if (field.name
  4378.                         .indexOf("amountUtilisedTowardsSpecifiedPurposesForPublicOffering") != -1) {
  4379.  
  4380.                 var utlisedAmt, raisedYear;
  4381.  
  4382.                 utlisedAmt = ($('input[name=amountUtilisedTowardsSpecifiedPurposesForPublicOffering'
  4383.                                 + year + ']').val());
  4384.                 raisedYear = ($(':input[name=whetherMoneyRaisedFromPublicOfferingDuringYear'
  4385.                                 + year + '] option:selected')).text();
  4386.  
  4387.                 if (raisedYear == "Yes" && utlisedAmt == "") {
  4388.  
  4389.                         if (validationType == 'full') {
  4390.                                 key = '';
  4391.                                 fieldName = field.name.split('_')[0];
  4392.                                 fname = fieldName.charAt(0).toUpperCase()
  4393.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4394.                                                                 .replace(/^ /, "").toLowerCase();
  4395.                                 validationAlert += "<div><a eid = '" + field.name
  4396.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4397.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4398.                                                 + field.name
  4399.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4400.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4401.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4402.                                                 + "<p>" + field.getAttribute("data-original-title")
  4403.                                                 + "</p></div>";
  4404.  
  4405.                         }
  4406.  
  4407.                         return false;
  4408.                 }
  4409.         } else if (field.name
  4410.                         .indexOf("amountRemainingUnutilisedReceivedInRespectOfPublicOffering") != -1) {
  4411.  
  4412.                 var remainAmt, raisedYear;
  4413.  
  4414.                 remainAmt = ($('input[name=amountRemainingUnutilisedReceivedInRespectOfPublicOffering'
  4415.                                 + year + ']').val());
  4416.                 raisedYear = ($(':input[name=whetherMoneyRaisedFromPublicOfferingDuringYear'
  4417.                                 + year + '] option:selected')).text();
  4418.  
  4419.                 if (raisedYear == "Yes" && remainAmt == "") {
  4420.  
  4421.                         if (validationType == 'full') {
  4422.                                 key = '';
  4423.                                 fieldName = field.name.split('_')[0];
  4424.                                 fname = fieldName.charAt(0).toUpperCase()
  4425.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4426.                                                                 .replace(/^ /, "").toLowerCase();
  4427.                                 validationAlert += "<div><a eid = '" + field.name
  4428.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4429.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4430.                                                 + field.name
  4431.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4432.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4433.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4434.                                                 + "<p>" + field.getAttribute("data-original-title")
  4435.                                                 + "</p></div>";
  4436.  
  4437.                         }
  4438.                         return false;
  4439.                 }
  4440.         } else if (field.name
  4441.                         .indexOf("detailsOfOutstandingUnutilisedAmountsReceivedInRespectOfPublicOffering") != -1) {
  4442.  
  4443.                 var remainAmt, amtDetails;
  4444.  
  4445.                 remainAmt = isNaN(remainAmt = parseFloat($('input[name=amountRemainingUnutilisedReceivedInRespectOfPublicOffering' + year + ']').val().replace(',', ''))) ? 0 : remainAmt;
  4446.                                
  4447.                 amtDetails = ($('input[name=detailsOfOutstandingUnutilisedAmountsReceivedInRespectOfPublicOffering'
  4448.                                 + year + ']').val());
  4449.  
  4450.                 if ((amtDetails == "")  && (remainAmt != ""   || remainAmt != 0)) {
  4451.  
  4452.                         if (validationType == 'full') {
  4453.                                 key = '';
  4454.                                 fieldName = field.name.split('_')[0];
  4455.                                 fname = fieldName.charAt(0).toUpperCase()
  4456.                                                 + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4457.                                                                 .replace(/^ /, "").toLowerCase();
  4458.                                 validationAlert += "<div><a eid = '" + field.name
  4459.                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4460.                                                 + key + "'>" + "<a class='errorreport' eid = '"
  4461.                                                 + field.name
  4462.                                                 + "' onclick ='goErrorPage(event)' memberorder='" + key
  4463.                                                 + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4464.                                                 + field.name + "' class='err'>" + key + "</span></a>"
  4465.                                                 + "<p>" + field.getAttribute("data-original-title")
  4466.                                                 + "</p></div>";
  4467.  
  4468.                         }
  4469.  
  4470.                         return false;
  4471.                 }
  4472.         }
  4473.         return true;
  4474. }
  4475.  
  4476. // 200100 specific validation starts here
  4477. function validate460(field) {
  4478.  
  4479.         var year = "_CURYEAR";
  4480.         var y = 0;
  4481.         if (field.name.indexOf(year) == -1) {
  4482.                 // this is applicable for previous year
  4483.                 year = "_PREVYEAR";
  4484.                 y = 1;
  4485.         }
  4486.         if (field.name
  4487.                         .indexOf("whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany") != -1) {
  4488.  
  4489.                 var tMandatory = $(
  4490.                                 ':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'
  4491.                                                 + year + '] option:selected').text();
  4492.  
  4493.                 if (tMandatory == 'Yes') {
  4494.                         var CIN = [], PAN = [], c, p;
  4495.  
  4496.                         $
  4497.                                         .each(
  4498.                                                         inputdata.fields[y].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable,
  4499.                                                         function(key, val) {
  4500.                                                                 c = (eval("inputdata.fields["
  4501.                                                                                 + y
  4502.                                                                                 + "].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable['"
  4503.                                                                                 + key + "'].CINOfShareholder"));
  4504.                                                                 if (c != "") {
  4505.                                                                         CIN.push(c);
  4506.                                                                 }
  4507.                                                                 p = (eval("inputdata.fields["
  4508.                                                                                 + y
  4509.                                                                                 + "].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable['"
  4510.                                                                                 + key + "'].PANOfShareholder"));
  4511.                                                                 if (p != "") {
  4512.                                                                         PAN.push(p);
  4513.                                                                 }
  4514.                                                         });
  4515.                         if (CIN.length == 0 && PAN.length == 0) {
  4516.                                 return false;
  4517.                         }
  4518.                 }
  4519.  
  4520.         } else if (field.name.indexOf("percentageOfShareholdingInCompany") != -1) {
  4521.  
  4522.                 var eqShare = 0, preShare = 0, e = 0, p = 0;
  4523.  
  4524.                 $
  4525.                                 .each(
  4526.                                                 inputdata.fields[y].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable,
  4527.                                                 function(key, val) {
  4528.  
  4529.                                                         if (key.indexOf("EquityShares") != -1) {
  4530.  
  4531.                                                                 e = isNaN(e = parseFloat(eval(
  4532.                                                                                 "inputdata.fields["
  4533.                                                                                                 + y
  4534.                                                                                                 + "].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable['"
  4535.                                                                                                 + key
  4536.                                                                                                 + "'].percentageOfShareholdingInCompany")
  4537.                                                                                 .replace(',', ''))) ? 0 : e;
  4538.                                                                 eqShare += e;
  4539.  
  4540.                                                         } else if (key.indexOf("PreferenceShares") != -1) {
  4541.  
  4542.                                                                 p = isNaN(p = parseFloat(eval(
  4543.                                                                                 "inputdata.fields["
  4544.                                                                                                 + y
  4545.                                                                                                 + "].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable['"
  4546.                                                                                                 + key
  4547.                                                                                                 + "'].percentageOfShareholdingInCompany")
  4548.                                                                                 .replace(',', ''))) ? 0 : p;
  4549.  
  4550.                                                                 preShare += p;
  4551.  
  4552.                                                         }
  4553.  
  4554.                                                 });
  4555.  
  4556.                 if (eqShare > 100 || preShare > 100) {
  4557.  
  4558.                         return false;
  4559.  
  4560.                 }
  4561.  
  4562.         }
  4563.         return true;
  4564. }
  4565.  
  4566. // 200200 Validation starts here
  4567. function validate554(field) {
  4568.  
  4569.         var year = "_CURYEAR";
  4570.         var y = 0;
  4571.         var yr = "current year";
  4572.         if (field.name.indexOf(year) == -1) {
  4573.                 // this is applicable for previous year
  4574.                 year = "_PREVYEAR";
  4575.                 y = 1;
  4576.                 yr = "previous year";
  4577.         }
  4578.  
  4579.         if (field.name.indexOf("descriptionOfNatureAndPurposeOfOtherReserves") != -1 ) {
  4580.                
  4581.                 var flag = true;
  4582.                 var mactive = false;
  4583.                 table = field.getAttribute('groupid');
  4584.                 fieldName = field.name.split('_')[0];
  4585.  
  4586.                 if (validationType == "full") {
  4587.  
  4588.                         $
  4589.                                         .each(
  4590.                                                         eval("inputdata.fields[" + y + "]." + table),
  4591.                                                         function(key, val) {
  4592.  
  4593.                                                                 var tablenotall = field.getAttribute(
  4594.                                                                                 'tablenotall').replace(/Member/g, '').split(',');
  4595.                                                                 found = $.inArray(key, tablenotall);
  4596.                                                                 mstatus = eval("inputdata.fields[" + y + "]."+ table + "['" + key+ "'].memberStatus");
  4597.  
  4598.                                                                 if (found == -1 && mstatus == 'on'      && key.indexOf("OtherReservesOthers") != -1) {
  4599.  
  4600.                                                                         descReserves = eval("inputdata.fields["
  4601.                                                                                         + y + "]." + table + "['" + key
  4602.                                                                                         + "']." + fieldName);
  4603.                                                                         if (descReserves == "") {
  4604.  
  4605.                                                                                 fname = fieldName.charAt(0)
  4606.                                                                                                 .toUpperCase()
  4607.                                                                                                 + fieldName.substr(1).replace(
  4608.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  4609.                                                                                                                 .replace(/^ /, "")
  4610.                                                                                                                 .toLowerCase();
  4611.                                                                                 validationAlert += "<div><a eid = '"
  4612.                                                                                                 + field.name
  4613.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4614.                                                                                                 + key
  4615.                                                                                                 + "'>"
  4616.                                                                                                 + "<a class='errorreport' eid = '"
  4617.                                                                                                 + field.name
  4618.                                                                                                 + "' onclick ='goErrorPage(event)' memberorder='"
  4619.                                                                                                 + key
  4620.                                                                                                 + "'>"
  4621.                                                                                                 + fname
  4622.                                                                                                 + "("
  4623.                                                                                                 + yr
  4624.                                                                                                 + ")</a>"
  4625.                                                                                                 + "<span eid = '"
  4626.                                                                                                 + field.name
  4627.                                                                                                 + "' class='err'>"
  4628.                                                                                                 + key
  4629.                                                                                                 + "</span></a>"
  4630.                                                                                                 + "<p>"
  4631.                                                                                                 + field
  4632.                                                                                                                 .getAttribute("data-original-title")
  4633.                                                                                                 + "</p></div>";
  4634.  
  4635.                                                                                 flag = false;
  4636.  
  4637.                                                                         }
  4638.                                                                 }
  4639.                                                         });
  4640.  
  4641.                         if (flag == false) {
  4642.  
  4643.                                 return false;
  4644.                         }
  4645.  
  4646.                 } else if (validationType != "full"     && (field.getAttribute('order1').indexOf('OtherReservesOthers') != -1)) {
  4647.                        
  4648.                         /*tablename = table;
  4649.                         tablefields =$('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+'][type!=formula]'); // get input fields either for current year or previous year
  4650.  
  4651.                         for ( var i = 0; i < tablefields.length; i++) {
  4652.  
  4653.                                 tField = tablefields[i];
  4654.  
  4655.                                 if (tField.value != "" && tField.value != "--select--" && tField.value != 'INDIA') {
  4656.  
  4657.                                         mactive = true;
  4658.                                         break;
  4659.                                 }
  4660.  
  4661.                         }*/
  4662.                        
  4663.                
  4664.                                 var descReserves = $('input[name=descriptionOfNatureAndPurposeOfOtherReserves' + year + ']').val();
  4665.        
  4666.                                 if (descReserves == "") {
  4667.        
  4668.                                         return false;
  4669.                                 }
  4670.                 }      
  4671.                        
  4672.         } else if (field.name.indexOf("appropriationTowardsBonusShares") != -1) {
  4673.                
  4674.                
  4675.                 formulafield =  "changesInReserves";
  4676.                 calcfields =[
  4677.                                         "profitLossForPeriod",
  4678.                                         "otherAdditionsToReserves",
  4679.                                         "securitiesPremiumAdjustedBonusShares",
  4680.                                         "securitiesPremiumAdjustedWritingOffPreliminaryExpenses",
  4681.                                         "securitiesPremiumAdjustedWritingOffDiscountExpensesIssueSharesDebentures",
  4682.                                         "securitiesPremiumAdjustedPremiumPayableRedemptionPreferenceSharesDebentures",
  4683.                                         "otherUtilisationOfSecuritiesPremiumIfPermitted",
  4684.                                         "otherDeductionsToReserves",
  4685.                                         "interimEquityDividendAppropriation",
  4686.                                         "interimPreferredDividendAppropriation",
  4687.                                         "interimSpecialDividendAppropriation",
  4688.                                         "finalEquityDividendAppropriation",
  4689.                                         "finalPreferredDividendAppropriation",
  4690.                                         "finalSpecialDividendAppropriation",
  4691.                                         "equityDividendTaxAppropriation",
  4692.                                         "preferredDividendTaxAppropriation",
  4693.                                         "transferToGeneralReserve",
  4694.                                         "appropriationTowardsBonusShares"                      
  4695.                              ];        
  4696.                 return validateFormulaMandatory(formulafield,calcfields,field);
  4697.                
  4698.         }
  4699.  
  4700.         return true;
  4701. }
  4702.  
  4703. // 200300 Validation starts here
  4704.  
  4705. function validate633_643_644(field) {
  4706.  
  4707.         var year = "_CURYEAR";
  4708.         y = 0;
  4709.         yr = "current year";
  4710.         if (field.name.indexOf(year) == -1) {
  4711.                 // this is applicable for previous year
  4712.                 year = "_PREVYEAR";
  4713.                 y = 1;
  4714.                 yr = "previous year";
  4715.  
  4716.         }
  4717.  
  4718.         /*
  4719.          * if(validationType != 'full') { var l =
  4720.          * field.getAttribute('order1').split(':').length;
  4721.          * if(field.name.indexOf("natureOfSecurity") != -1 &&
  4722.          * field.getAttribute('order1').split(':')[l-1] == "SecuredBorrowings") {
  4723.          *
  4724.          * var nSecu = $('input[name=natureOfSecurity'+year+']').val();
  4725.          *
  4726.          * if(nSecu == "") {
  4727.          *
  4728.          * return false; } } } else
  4729.          */if (field.name.indexOf("outstandingAmountOfContinuingDefaultPrincipal") != -1) {
  4730.  
  4731.                 var contAmt, beginDate;
  4732.                 var flag = true;
  4733.                 table = field.getAttribute('groupid');
  4734.                 fieldName = field.name.split('_')[0];
  4735.                 if (validationType == "full") {
  4736.  
  4737.                         $
  4738.                                         .each(
  4739.                                                         eval("inputdata.fields[" + y + "]." + table),
  4740.                                                         function(key, val) {
  4741.  
  4742.                                                                 var tablenotall = field.getAttribute(
  4743.                                                                                 'tablenotall').replace(/Member/g, '')
  4744.                                                                                 .split(',');
  4745.                                                                 found = $.inArray(key, tablenotall);
  4746.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  4747.                                                                                 + table + "['" + key
  4748.                                                                                 + "'].memberStatus");
  4749.  
  4750.                                                                 if (found == -1 && mstatus == 'on') {
  4751.  
  4752.                                                                         contAmt = eval("inputdata.fields["
  4753.                                                                                         + y
  4754.                                                                                         + "]."
  4755.                                                                                         + table
  4756.                                                                                         + "['"
  4757.                                                                                         + key
  4758.                                                                                         + "'].outstandingAmountOfContinuingDefaultPrincipal");
  4759.                                                                         beginDate = eval("inputdata.fields["
  4760.                                                                                         + y
  4761.                                                                                         + "]."
  4762.                                                                                         + table
  4763.                                                                                         + "['"
  4764.                                                                                         + key
  4765.                                                                                         + "'].beginningDateOfContinuingDefaultForBorrowings");
  4766.  
  4767.                                                                         if (contAmt == "" && beginDate != "") {
  4768.  
  4769.                                                                                 fname = fieldName.charAt(0)
  4770.                                                                                                 .toUpperCase()
  4771.                                                                                                 + fieldName.substr(1).replace(
  4772.                                                                                                                 /([A-Z][a-z])/g, ' $1')
  4773.                                                                                                                 .replace(/^ /, "")
  4774.                                                                                                                 .toLowerCase();
  4775.                                                                                 validationAlert += "<div><a eid = '"
  4776.                                                                                                 + field.name
  4777.                                                                                                 + "'  onclick ='goErrorPage(event)' memberorder='"
  4778.                                                                                                 + key
  4779.                                                                                                 + "'>"
  4780.                                                                                                 + "<a class='errorreport' eid = '"
  4781.                                                                                                 + field.name
  4782.                                                                                                 + "' onclick ='goErrorPage(event)' memberorder='"
  4783.                                                                                                 + key
  4784.                                                                                                 + "'>"
  4785.                                                                                                 + fname
  4786.                                                                                                 + "("
  4787.                                                                                                 + yr
  4788.                                                                                                 + ")</a>"
  4789.                                                                                                 + "<span eid = '"
  4790.                                                                                                 + field.name
  4791.                                                                                                 + "' class='err'>"
  4792.                                                                                                 + key
  4793.                                                                                                 + "</span></a>"
  4794.                                                                                                 + "<p>"
  4795.                                                                                                 + field
  4796.                                                                                                                 .getAttribute("data-original-title")
  4797.                                                                                                 + "</p></div>";
  4798.  
  4799.                                                                                 flag = false;
  4800.                                                                         }
  4801.                                                                 }
  4802.                                                         });
  4803.  
  4804.                         if (flag == false) {
  4805.  
  4806.                                 return false;
  4807.                         }
  4808.  
  4809.                 } else {
  4810.  
  4811.                         contAmt = ($('input[name=outstandingAmountOfContinuingDefaultPrincipal'
  4812.                                         + year + ']').val());
  4813.                         beginDate = ($('input[name=beginningDateOfContinuingDefaultForBorrowings'
  4814.                                         + year + ']').val());
  4815.  
  4816.                         if (contAmt == "" && beginDate != "") {
  4817.                                 return false;
  4818.                         }
  4819.                 }
  4820.         } else if (field.name
  4821.                         .indexOf("outstandingAmountOfContinuingDefaultInterest") != -1) {
  4822.  
  4823.                 var contAmt, beginDate;
  4824.  
  4825.                 var flag = true;
  4826.                 table = field.getAttribute('groupid');
  4827.                 fieldName = field.name.split('_')[0];
  4828.                 if (validationType == "full") {
  4829.  
  4830.                         $
  4831.                                         .each(
  4832.                                                         eval("inputdata.fields[" + y + "]." + table),
  4833.                                                         function(key, val) {
  4834.  
  4835.                                                                 var tablenotall = field.getAttribute(
  4836.                                                                                 'tablenotall').replace(/Member/g, '')
  4837.                                                                                 .split(',');
  4838.                                                                 found = $.inArray(key, tablenotall);
  4839.                                                                 mstatus = eval("inputdata.fields[" + y + "]."
  4840.                                                                                 + table + "['" + key
  4841.                                                                                 + "'].memberStatus");
  4842.  
  4843.                                                                 if (found == -1 && mstatus == 'on') {
  4844.                                                                         contAmt = eval("inputdata.fields["
  4845.                                                                                         + y
  4846.                                                                                         + "]."
  4847.                                                                                         + table
  4848.                                                                                         + "['"
  4849.                                                                                         + key
  4850.                                                                                         + "'].outstandingAmountOfContinuingDefaultInterest");
  4851.                 &nbs