Advertisement
Guest User

Untitled

a guest
Feb 5th, 2013
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 417.83 KB | None | 0 0
  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. beginDate = eval("inputdata.fields["
  4852. + y
  4853. + "]."
  4854. + table
  4855. + "['"
  4856. + key
  4857. + "'].beginningDateOfContinuingDefaultForBorrowings");
  4858.  
  4859. if (contAmt == "" && beginDate != "") {
  4860.  
  4861. fname = fieldName.charAt(0)
  4862. .toUpperCase()
  4863. + fieldName.substr(1).replace(
  4864. /([A-Z][a-z])/g, ' $1')
  4865. .replace(/^ /, "")
  4866. .toLowerCase();
  4867. validationAlert += "<div><a eid = '"
  4868. + field.name
  4869. + "' onclick ='goErrorPage(event)' memberorder='"
  4870. + key
  4871. + "'>"
  4872. + "<a class='errorreport' eid = '"
  4873. + field.name
  4874. + "' onclick ='goErrorPage(event)' memberorder='"
  4875. + key
  4876. + "'>"
  4877. + fname
  4878. + "("
  4879. + yr
  4880. + ")</a>"
  4881. + "<span eid = '"
  4882. + field.name
  4883. + "' class='err'>"
  4884. + key
  4885. + "</span></a>"
  4886. + "<p>"
  4887. + field
  4888. .getAttribute("data-original-title")
  4889. + "</p></div>";
  4890.  
  4891. flag = false;
  4892. }
  4893. }
  4894. });
  4895.  
  4896. if (flag == false) {
  4897.  
  4898. return false;
  4899. }
  4900.  
  4901. } else {
  4902.  
  4903. contAmt = ($('input[name=outstandingAmountOfContinuingDefaultInterest'
  4904. + year + ']').val());
  4905. beginDate = ($('input[name=beginningDateOfContinuingDefaultForBorrowings'
  4906. + year + ']').val());
  4907.  
  4908. if (contAmt == "" && beginDate != "") {
  4909. return false;
  4910. }
  4911. }
  4912. }
  4913. return true;
  4914.  
  4915. }
  4916.  
  4917. // 200400 Validation starts here
  4918.  
  4919. function validate693(field) {
  4920.  
  4921. var year = "_CURYEAR";
  4922. y = 0;
  4923. yr = "current year";
  4924. if (field.name.indexOf(year) == -1) {
  4925. // this is applicable for previous year
  4926. year = "_PREVYEAR";
  4927. yr = "previous year";
  4928. y = 1;
  4929. }
  4930. /*
  4931. * if (field.name.indexOf("natureOfOtherNonCurrentInvestments") != -1) {
  4932. *
  4933. * var flag = true; table = field.getAttribute('groupid'); fieldName =
  4934. * field.name.split('_')[0];
  4935. *
  4936. * if (validationType == "full") {
  4937. * $ .each( eval("inputdata.fields[" + y + "]." + table), function(key,
  4938. * val) {
  4939. *
  4940. * var tablenotall = field.getAttribute( 'tablenotall').replace(/Member/g,
  4941. * '') .split(','); found = $.inArray(key, tablenotall); mstatus =
  4942. * eval("inputdata.fields[" + y + "]." + table + "['" + key +
  4943. * "'].memberStatus");
  4944. *
  4945. * if (found == -1 && mstatus == 'on') {
  4946. *
  4947. * fvalue = eval("inputdata.fields[" + y + "]." + table + "['" + key + "']." +
  4948. * fieldName); clas = eval("inputdata.fields[" + y + "]." + table + "['" +
  4949. * key + "'].classOfNonCurrentInvestments");
  4950. *
  4951. * if (clas == "Other investments" && fvalue == "") {
  4952. *
  4953. * fname = fieldName.charAt(0) .toUpperCase() + fieldName.substr(1).replace(
  4954. * /([A-Z][a-z])/g, ' $1') .replace(/^ /, "") .toLowerCase();
  4955. * validationAlert += "<div><a eid = '" + field.name + "' onclick
  4956. * ='goErrorPage(event)' memberorder='" + key + "'>" + "<a
  4957. * class='errorreport' eid = '" + field.name + "' onclick
  4958. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  4959. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  4960. * field .getAttribute("data-original-title") + "</p></div>";
  4961. *
  4962. * flag = false;
  4963. * } } });
  4964. *
  4965. * if (flag == false) {
  4966. *
  4967. * return false; }
  4968. * } else {
  4969. *
  4970. * var clas = $( ':input[name=classOfNoncurrentInvestments' + year + ']')
  4971. * .val(); if (clas == "Other investments" && field.value == "") {
  4972. *
  4973. *
  4974. * return false; } } } else
  4975. */if (field.name.indexOf("marketValueOfQuotedNonCurrentInvestments") != -1) {
  4976.  
  4977. var valNcurInvesmt = $(
  4978. 'input[name=marketValueOfQuotedNonCurrentInvestments' + year
  4979. + ']').val();
  4980. var amtNcurInvesmt = $(
  4981. 'input[name=aggregateAmountOfQuotedNonCurrentInvestments'
  4982. + year + ']').val();
  4983.  
  4984. if (amtNcurInvesmt != "" && valNcurInvesmt == "") {
  4985. if (validationType == "full") {
  4986. key = "";
  4987. fieldName = field.name.split('_')[0];
  4988. fname = fieldName.charAt(0).toUpperCase()
  4989. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  4990. .replace(/^ /, "").toLowerCase();
  4991. validationAlert += "<div><a eid = '" + field.name
  4992. + "' onclick ='goErrorPage(event)' memberorder='"
  4993. + key + "'>" + "<a class='errorreport' eid = '"
  4994. + field.name
  4995. + "' onclick ='goErrorPage(event)' memberorder='" + key
  4996. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  4997. + field.name + "' class='err'>" + key + "</span></a>"
  4998. + "<p>" + field.getAttribute("data-original-title")
  4999. + "</p></div>";
  5000. }
  5001. return false;
  5002.  
  5003. }
  5004. }
  5005. return true;
  5006. }
  5007.  
  5008. // 200500 Validation starts here
  5009.  
  5010. function validate728(field) {
  5011.  
  5012. var year = "_CURYEAR";
  5013. y = 0;
  5014. yr = "current year";
  5015. if (field.name.indexOf(year) == -1) {
  5016. // this is applicable for previous year
  5017. year = "_PREVYEAR";
  5018. yr = "previous year";
  5019. }
  5020. /*
  5021. * if (field.name.indexOf("natureOfOtherCurrentInvestments") != -1) {
  5022. *
  5023. * var flag = true; table = field.getAttribute('groupid'); fieldName =
  5024. * field.name.split('_')[0];
  5025. *
  5026. * if (validationType == "full") {
  5027. * $ .each( eval("inputdata.fields[" + y + "]." + table), function(key,
  5028. * val) {
  5029. *
  5030. * var tablenotall = field.getAttribute( 'tablenotall').replace(/Member/g,
  5031. * '') .split(','); found = $.inArray(key, tablenotall); mstatus =
  5032. * eval("inputdata.fields[" + y + "]." + table + "['" + key +
  5033. * "'].memberStatus");
  5034. *
  5035. * if (found == -1 && mstatus == 'on') {
  5036. *
  5037. * fvalue = eval("inputdata.fields[" + y + "]." + table + "['" + key + "']." +
  5038. * fieldName); clas = eval("inputdata.fields[" + y + "]." + table + "['" +
  5039. * key + "'].classOfCurrentInvestments");
  5040. *
  5041. * if (clas == "Other investments" && fvalue == "") {
  5042. *
  5043. * fname = fieldName.charAt(0) .toUpperCase() + fieldName.substr(1).replace(
  5044. * /([A-Z][a-z])/g, ' $1') .replace(/^ /, "") .toLowerCase();
  5045. * validationAlert += "<div><a eid = '" + field.name + "' onclick
  5046. * ='goErrorPage(event)' memberorder='" + key + "'>" + "<a
  5047. * class='errorreport' eid = '" + field.name + "' onclick
  5048. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  5049. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  5050. * field .getAttribute("data-original-title") + "</p></div>";
  5051. *
  5052. * flag = false;
  5053. * } } });
  5054. *
  5055. * if (flag == false) {
  5056. *
  5057. * return false; }
  5058. * } else {
  5059. *
  5060. * var clas = $('input[name=classOfCurrentInvestments' + year + ']') .val();
  5061. * if (clas == "Other investments" && field.value == "") {
  5062. *
  5063. * if (validationType == "full") { key = ""; fieldName =
  5064. * field.name.split('_')[0]; fname = fieldName.charAt(0).toUpperCase() +
  5065. * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  5066. * "").toLowerCase(); validationAlert += "<div><a eid = '" + field.name + "'
  5067. * onclick ='goErrorPage(event)' memberorder='" + key + "'>" + "<a
  5068. * class='errorreport' eid = '" + field.name + "' onclick
  5069. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  5070. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  5071. * field.getAttribute("data-original-title") + "</p></div>"; } return
  5072. * false; } } } else
  5073. */if (field.name.indexOf("marketValueOfQuotedCurrentInvestments") != -1) {
  5074.  
  5075. var valCurInvesmt = $(
  5076. 'input[name=marketValueOfQuotedCurrentInvestments' + year + ']')
  5077. .val();
  5078. var amtCurInvesmt = $(
  5079. 'input[name=aggregateAmountOfQuotedCurrentInvestments' + year
  5080. + ']').val();
  5081.  
  5082. if (amtCurInvesmt != "" && valCurInvesmt == "") {
  5083.  
  5084. if (validationType == "full") {
  5085.  
  5086. key = ""; // if field is direct line item
  5087.  
  5088. validationAlert += "<div><a eid = '" + field.name
  5089. + "' onclick ='goErrorPage(event)' memberorder='"
  5090. + key + "'>" + "<a class='errorreport' eid = '"
  5091. + field.name
  5092. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5093. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5094. + field.name + "' class='err'>" + key + "</span></a>"
  5095. + "<p>" + field.getAttribute("data-original-title")
  5096. + "</p></div>";
  5097.  
  5098. }
  5099.  
  5100. return false;
  5101. }
  5102. }
  5103. return true;
  5104. }
  5105.  
  5106. // 200600 validation starts here
  5107.  
  5108. function validate788_938_978_1006(field) {
  5109.  
  5110. var year = "_CURYEAR";
  5111. y = 0;
  5112. yr = "current year";
  5113. if (field.name.indexOf(year) == -1) {
  5114. // this is applicable for previous year
  5115. year = "_PREVYEAR";
  5116. yr = "previous year";
  5117. y = 1;
  5118. }
  5119.  
  5120. if (field.name.indexOf("natureOfOtherProvisions") != -1) {
  5121.  
  5122. var flag = false;
  5123. table = "disclosureOfBreakupOfProvisionsTable";
  5124. fieldName = field.name.split('_')[0];
  5125. var OthrPro = "";
  5126. $
  5127. .each(
  5128. eval("inputdata.fields[" + y + "]." + table),
  5129. function(key, val) {
  5130.  
  5131. /*var tablenotall = field.getAttribute(
  5132. 'tablenotall').replace(/Member/g, '')
  5133. .split(',');
  5134. found = $.inArray(key, tablenotall);*/
  5135. mstatus = eval("inputdata.fields[" + y + "]."
  5136. + table + "['" + key
  5137. + "'].memberStatus");
  5138.  
  5139. if (mstatus == 'on') {
  5140.  
  5141. /*nOthrPro = eval("inputdata.fields[" + y
  5142. + "]." + table + "['" + key + "']."
  5143. + fieldName);*/
  5144. // validtion changed for nature of other provisions, previously it is mentioned as not a direct field
  5145. OthrPro = isNaN(OthrPro = parseFloat(eval(
  5146. "inputdata.fields[" + y + "]."
  5147. + table + "['" + key
  5148. + "'].otherProvisions")
  5149. .replace(',', ''))) ? "" : OthrPro;
  5150.  
  5151. if(OthrPro != 0 && OthrPro != "") {
  5152. flag = true;
  5153. return;
  5154.  
  5155. }
  5156.  
  5157. /*if ((OthrPro != "" && OthrPro != "0")
  5158. && nOthrPro == "") {
  5159.  
  5160. fname = fieldName.charAt(0)
  5161. .toUpperCase()
  5162. + fieldName.substr(1).replace(
  5163. /([A-Z][a-z])/g, ' $1')
  5164. .replace(/^ /, "")
  5165. .toLowerCase();
  5166. validationAlert += "<div><a eid = '"
  5167. + field.name
  5168. + "' onclick ='goErrorPage(event)' memberorder='"
  5169. + key
  5170. + "'>"
  5171. + "<a class='errorreport' eid = '"
  5172. + field.name
  5173. + "' onclick ='goErrorPage(event)' memberorder='"
  5174. + key
  5175. + "'>"
  5176. + fname
  5177. + "("
  5178. + yr
  5179. + ")</a>"
  5180. + "<span eid = '"
  5181. + field.name
  5182. + "' class='err'>"
  5183. + key
  5184. + "</span></a>"
  5185. + "<p>"
  5186. + field
  5187. .getAttribute("data-original-title")
  5188. + "</p></div>";
  5189.  
  5190. flag = false;
  5191.  
  5192. }*/
  5193. }
  5194. });
  5195.  
  5196. var nOthrPro = $('input[name=natureOfOtherProvisions' + year + ']')
  5197. .val();
  5198.  
  5199. /*var OthrPro = isNaN(OthrPro = parseFloat($(
  5200. 'input[name=otherProvisions' + year + ']').val().replace(
  5201. ',', ''))) ? 0 : OthrPro;*/
  5202.  
  5203. if (OthrPro != 0 && OthrPro != "" && nOthrPro == "") {
  5204.  
  5205. if(validationType == 'full') {
  5206.  
  5207. key = "" ;
  5208. validationAlert += "<div><a eid = '"
  5209. + field.name
  5210. + "' onclick ='goErrorPage(event)' memberorder='"
  5211. + key
  5212. + "'>"
  5213. + "<a class='errorreport' eid = '"
  5214. + field.name
  5215. + "' onclick ='goErrorPage(event)' memberorder='"
  5216. + key
  5217. + "'>"
  5218. + fname
  5219. + "("
  5220. + yr
  5221. + ")</a>"
  5222. + "<span eid = '"
  5223. + field.name
  5224. + "' class='err'>"
  5225. + key
  5226. + "</span></a>"
  5227. + "<p>"
  5228. + field
  5229. .getAttribute("data-original-title")
  5230. + "</p></div>";
  5231.  
  5232. }
  5233. return false;
  5234. }
  5235.  
  5236.  
  5237. } else if (field.name.indexOf("natureOfOtherLoansAndAdvances") != -1) {
  5238.  
  5239. var flag = true;
  5240. table = field.getAttribute('groupid');
  5241. fieldName = field.name.split('_')[0];
  5242.  
  5243. if (validationType == "full") {
  5244.  
  5245. $
  5246. .each(
  5247. eval("inputdata.fields[" + y + "]." + table),
  5248. function(key, val) {
  5249.  
  5250. if (key.indexOf('OtherLoansAndAdvancesOthers') != -1) {
  5251.  
  5252. var tablenotall = field.getAttribute(
  5253. 'tablenotall').replace(/Member/g,
  5254. '').split(',');
  5255. found = $.inArray(key, tablenotall);
  5256. mstatus = eval("inputdata.fields[" + y
  5257. + "]." + table + "['" + key
  5258. + "'].memberStatus");
  5259.  
  5260. if (found == -1 && mstatus == 'on') {
  5261.  
  5262. nOthrPro = eval("inputdata.fields[" + y
  5263. + "]." + table + "['" + key
  5264. + "']." + fieldName);
  5265.  
  5266. if (nOthrPro == "") {
  5267.  
  5268. fname = fieldName.charAt(0)
  5269. .toUpperCase()
  5270. + fieldName
  5271. .substr(1)
  5272. .replace(
  5273. /([A-Z][a-z])/g,
  5274. ' $1')
  5275. .replace(/^ /, "")
  5276. .toLowerCase();
  5277. validationAlert += "<div><a eid = '"
  5278. + field.name
  5279. + "' onclick ='goErrorPage(event)' memberorder='"
  5280. + key
  5281. + "'>"
  5282. + "<a class='errorreport' eid = '"
  5283. + field.name
  5284. + "' onclick ='goErrorPage(event)' memberorder='"
  5285. + key
  5286. + "'>"
  5287. + fname
  5288. + "("
  5289. + yr
  5290. + ")</a>"
  5291. + "<span eid = '"
  5292. + field.name
  5293. + "' class='err'>"
  5294. + key
  5295. + "</span></a>"
  5296. + "<p>"
  5297. + field
  5298. .getAttribute("data-original-title")
  5299. + "</p></div>";
  5300.  
  5301. flag = false;
  5302.  
  5303. }
  5304. }
  5305. }
  5306. });
  5307.  
  5308. if (flag == false) {
  5309.  
  5310. return false;
  5311. }
  5312.  
  5313. } else {
  5314.  
  5315. if (field.getAttribute('order1').indexOf(
  5316. 'OtherLoansAndAdvancesOthers') != -1
  5317. && field.value == "") {
  5318.  
  5319. return false;
  5320.  
  5321. }
  5322. }
  5323. } else if (field.name.indexOf("natureOfOtherNonCurrentAssetsOthers") != -1) {
  5324.  
  5325. var nOthrNoncurAssetOthr = $(
  5326. 'input[name=natureOfOtherNonCurrentAssetsOthers' + year + ']')
  5327. .val();
  5328. var OthrNoncurAssetOthr = $(
  5329. 'input[name=otherNonCurrentAssetsOthers' + year + ']').val();
  5330.  
  5331. if (nOthrNoncurAssetOthr == "" && OthrNoncurAssetOthr != ""
  5332. && OthrNoncurAssetOthr != "0") {
  5333.  
  5334. if (validationType == "full") {
  5335.  
  5336. key = ""; // if field is direct line item
  5337.  
  5338. validationAlert += "<div><a eid = '" + field.name
  5339. + "' onclick ='goErrorPage(event)' memberorder='"
  5340. + key + "'>" + "<a class='errorreport' eid = '"
  5341. + field.name
  5342. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5343. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5344. + field.name + "' class='err'>" + key + "</span></a>"
  5345. + "<p>" + field.getAttribute("data-original-title")
  5346. + "</p></div>";
  5347.  
  5348. }
  5349.  
  5350. return false;
  5351. }
  5352.  
  5353. } else if (field.name.indexOf("tradeReceivablesDueByOthers") != -1) {
  5354.  
  5355.  
  5356. formulafield ="tradeReceivablesDueByDirectorsOtherOfficersOrOthers";
  5357. calcfields =[
  5358. "tradeReceivablesDueByDirectors",
  5359. "tradeReceivablesDueByOtherOfficers",
  5360. "tradeReceivablesDueByOthers"
  5361. ];
  5362. return validateFormulaMandatory(formulafield,calcfields,field);
  5363.  
  5364. } else if (field.name.indexOf("loansAndAdvancesDueByPrivateCompaniesInWhichAnyDirectorIsMember") != -1) {
  5365.  
  5366.  
  5367. formulafield = "loansAndAdvancesDueByFirmsOrCompaniesInWhichAnyDirectorIsPartnerOrDirector";
  5368. calcfields =[
  5369. "loansAndAdvancesDueByFirmsInWhichAnyDirectorIsPartner",
  5370. "loansAndAdvancesDueByPrivateCompaniesInWhichAnyDirectorIsDirector",
  5371. "loansAndAdvancesDueByPrivateCompaniesInWhichAnyDirectorIsMember"
  5372. ];
  5373. return validateFormulaMandatory(formulafield,calcfields,field);
  5374.  
  5375. } else if (field.name.indexOf("longTermTradeReceivablesDueByPrivateCompaniesInWhichAnyDirectorIsMember") != -1) {
  5376.  
  5377.  
  5378. formulafield = "longTermTradeReceivablesDueByFirmsOrCompaniesInWhichAnyDirectorIsPartnerOrDirector";
  5379. calcfields =[
  5380. "longTermTradeReceivablesDueByFirmsInWhichAnyDirectorIsPartner",
  5381. "longTermTradeReceivablesDueByPrivateCompaniesInWhichAnyDirectorIsDirector",
  5382. "longTermTradeReceivablesDueByPrivateCompaniesInWhichAnyDirectorIsMember"
  5383. ];
  5384. return validateFormulaMandatory(formulafield,calcfields,field);
  5385.  
  5386. } else if (field.name.indexOf("balancesHeldWithBanksToExtentHeldAgainstOtherCommitments") != -1) {
  5387.  
  5388.  
  5389. formulafield = "balancesHeldWithBanksToExtentHeldAsMarginMoneyOrSecurityAgainstBorrowingsGuaranteesOrOtherCommitments";
  5390. calcfields =[
  5391. "balancesHeldWithBanksToExtentHeldAsMarginMoney",
  5392. "balancesHeldWithBanksToExtentHeldAsSecurityAgainstBorrowings",
  5393. "balancesHeldWithBanksToExtentHeldAsGuarantees",
  5394. "balancesHeldWithBanksToExtentHeldAgainstOtherCommitments"
  5395. ];
  5396. return validateFormulaMandatory(formulafield,calcfields,field);
  5397.  
  5398. } else if (field.name.indexOf("applicationMoneyReceivedForAllotmentOfSecuritiesAndDueForRefundInterestAccrued") != -1) {
  5399.  
  5400.  
  5401. formulafield = "applicationMoneyReceivedForAllotmentOfSecuritiesAndDueForRefundAndInterestAccruedThereon";
  5402. calcfields =[
  5403. "applicationMoneyReceivedForAllotmentOfSecuritiesAndDueForRefundPrincipal",
  5404. "applicationMoneyReceivedForAllotmentOfSecuritiesAndDueForRefundInterestAccrued"
  5405. ];
  5406. return validateFormulaMandatory(formulafield,calcfields,field);
  5407.  
  5408. }
  5409.  
  5410. return true;
  5411. }
  5412.  
  5413. // 200700 specific validation
  5414. /*
  5415. * function validate1140(field) {
  5416. *
  5417. * var year = "_CURYEAR"; var y = 0; yr = "current year"; if
  5418. * (field.name.indexOf(year) == -1) { // this is applicable for previous year
  5419. * year = "_PREVYEAR"; y = 1; yr = "pervious year"; }
  5420. *
  5421. * if (field.name.indexOf("CINOfMicroSmallAndMediumEnterprise") != -1) {
  5422. *
  5423. * var CIN = [], c; var index = ""; var memberName =
  5424. * field.getAttribute('order1'); fieldName = field.name.split('_')[0]; table =
  5425. * field.getAttribute('groupid'); $ .each(
  5426. * eval("inputdata.fields["+y+"]."+table), function(key, val) {
  5427. *
  5428. * if( key != memberName) { c = eval("inputdata.fields[" + y + "]."+table+"['" +
  5429. * key + "']."+fieldName); if (c != "") {
  5430. *
  5431. * CIN.push(c); } }else if(cin != "") {
  5432. *
  5433. * CIN.push(cin);
  5434. * } }); $(CIN).each(function(k, v) {
  5435. *
  5436. * index = $.map(CIN, function(o, i) { if (o === CIN) return i; }); if
  5437. * (index.length > 1) {
  5438. *
  5439. * return false; } });
  5440. *
  5441. * if (index.length > 1) {
  5442. *
  5443. * if (validationType == "full") { key = memberName ; fieldName =
  5444. * field.name.split('_')[0]; fname = fieldName.charAt(0).toUpperCase() +
  5445. * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  5446. * "").toLowerCase(); validationAlert += "<div><a eid = '" + field.name + "'
  5447. * onclick ='goErrorPage(event)' memberorder='" + key + "'>" + "<a
  5448. * class='errorreport' eid = '" + field.name + "' onclick ='goErrorPage(event)'
  5449. * memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '" +
  5450. * field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  5451. * field.getAttribute("data-original-title") + "</p></div>"; } else {
  5452. *
  5453. * return false;
  5454. * } } if(validationType == 'full') {
  5455. *
  5456. * return validateCIN_PAN(field,"",""); }
  5457. * } return true; }
  5458. */
  5459.  
  5460. // 200700 validation starts here
  5461. function validate1152to1155_1207(field) {
  5462.  
  5463. var year = "_CURYEAR";
  5464. y = 0;
  5465. yr = "current year";
  5466. if (field.name.indexOf(year) == -1) {
  5467. // this is applicable for previous year
  5468. year = "_PREVYEAR";
  5469. yr = "previous year";
  5470. y = 1;
  5471. }
  5472.  
  5473. if (field.name.indexOf("CINOfMicroSmallAndMediumEnterprise") != -1) {
  5474.  
  5475. var CINOfMicroSmallAndMediumEnterprise = $(
  5476. 'input[name=CINOfMicroSmallAndMediumEnterprise' + year + ']')
  5477. .val();
  5478.  
  5479. var CIN = [], c;
  5480. var index = "";
  5481. var memberName = field.getAttribute('order1');
  5482. fieldName = field.name.split('_')[0];
  5483. table = field.getAttribute('groupid');
  5484. $.each(eval("inputdata.fields[" + y + "]." + table),
  5485. function(key, val) {
  5486.  
  5487. if (key != memberName) {
  5488. c = eval("inputdata.fields[" + y + "]." + table + "['"
  5489. + key + "']." + fieldName);
  5490. if (c != "") {
  5491.  
  5492. CIN.push(c);
  5493. }
  5494. } else if (CINOfMicroSmallAndMediumEnterprise != "") {
  5495.  
  5496. CIN.push(CINOfMicroSmallAndMediumEnterprise);
  5497.  
  5498. }
  5499. });
  5500. $(CIN)
  5501. .each(
  5502. function(k, v) {
  5503.  
  5504. index = $
  5505. .map(
  5506. CIN,
  5507. function(o, i) {
  5508. if (o.toLowerCase() === CINOfMicroSmallAndMediumEnterprise
  5509. .toLowerCase())
  5510. return i;
  5511. });
  5512. if (index.length > 1) {
  5513.  
  5514. return false;
  5515. }
  5516. });
  5517.  
  5518. if (index.length > 1
  5519. || CINOfMicroSmallAndMediumEnterprise.toLowerCase() == cinNum
  5520. .toLowerCase()) {
  5521.  
  5522. if (validationType == "full") {
  5523. key = memberName;
  5524. fieldName = field.name.split('_')[0];
  5525. fname = fieldName.charAt(0).toUpperCase()
  5526. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5527. .replace(/^ /, "").toLowerCase();
  5528. validationAlert += "<div><a eid = '" + field.name
  5529. + "' onclick ='goErrorPage(event)' memberorder='"
  5530. + key + "'>" + "<a class='errorreport' eid = '"
  5531. + field.name
  5532. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5533. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5534. + field.name + "' class='err'>" + key + "</span></a>"
  5535. + "<p>" + field.getAttribute("data-original-title")
  5536. + "</p></div>";
  5537. } else {
  5538.  
  5539. return false;
  5540.  
  5541. }
  5542. }
  5543.  
  5544. if (validationType == 'full') {
  5545.  
  5546. return validateCIN_PAN(field,"", "");
  5547. }
  5548.  
  5549. } else if (field.name
  5550. .indexOf("percentageOfShareCapitalHeldByForeignCompany") != -1) {
  5551.  
  5552. var percentForigen = $(
  5553. 'input[name=percentageOfShareCapitalHeldByForeignCompany'
  5554. + year + ']').val();
  5555. var valForigen = $(
  5556. 'input[name=valueOfShareCapitalHeldByForeignCompany' + year
  5557. + ']').val();
  5558.  
  5559. if (valForigen != "" && percentForigen == "") {
  5560.  
  5561. if (validationType == "full") {
  5562. key = "";
  5563. fieldName = field.name.split('_')[0];
  5564. fname = fieldName.charAt(0).toUpperCase()
  5565. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5566. .replace(/^ /, "").toLowerCase();
  5567. validationAlert += "<div><a eid = '" + field.name
  5568. + "' onclick ='goErrorPage(event)' memberorder='"
  5569. + key + "'>" + "<a class='errorreport' eid = '"
  5570. + field.name
  5571. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5572. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5573. + field.name + "' class='err'>" + key + "</span></a>"
  5574. + "<p>" + field.getAttribute("data-original-title")
  5575. + "</p></div>";
  5576.  
  5577. }
  5578. return false;
  5579. }
  5580. } else if (field.name.indexOf("valueOfShareCapitalHeldByForeignCompany") != -1) {
  5581.  
  5582. var percentForigen = $(
  5583. 'input[name=percentageOfShareCapitalHeldByForeignCompany'
  5584. + year + ']').val();
  5585. var valForigen = $(
  5586. 'input[name=valueOfShareCapitalHeldByForeignCompany' + year
  5587. + ']').val();
  5588.  
  5589. if (percentForigen != "" && valForigen == "") {
  5590. if (validationType == "full") {
  5591. key = "";
  5592. fieldName = field.name.split('_')[0];
  5593. fname = fieldName.charAt(0).toUpperCase()
  5594. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5595. .replace(/^ /, "").toLowerCase();
  5596. validationAlert += "<div><a eid = '" + field.name
  5597. + "' onclick ='goErrorPage(event)' memberorder='"
  5598. + key + "'>" + "<a class='errorreport' eid = '"
  5599. + field.name
  5600. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5601. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5602. + field.name + "' class='err'>" + key + "</span></a>"
  5603. + "<p>" + field.getAttribute("data-original-title")
  5604. + "</p></div>";
  5605.  
  5606. }
  5607.  
  5608. return false;
  5609. }
  5610. } else if (field.name
  5611. .indexOf("percentageOfPaidUpCapitalHeldByForeignHoldingCompanyAndOrWithItsSubsidiaries") != -1) {
  5612.  
  5613. var percentForigenSub = $(
  5614. 'input[name=percentageOfPaidUpCapitalHeldByForeignHoldingCompanyAndOrWithItsSubsidiaries'
  5615. + year + ']').val();
  5616. var valForigenSub = $(
  5617. 'input[name=valueOfPaidUpCapitalHeldByForeignHoldingCompanyAndOrWithItsSubsidiaries'
  5618. + year + ']').val();
  5619.  
  5620. if (valForigenSub != "" && percentForigenSub == "") {
  5621. if (validationType == "full") {
  5622. key = "";
  5623. fieldName = field.name.split('_')[0];
  5624. fname = fieldName.charAt(0).toUpperCase()
  5625. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5626. .replace(/^ /, "").toLowerCase();
  5627. validationAlert += "<div><a eid = '" + field.name
  5628. + "' onclick ='goErrorPage(event)' memberorder='"
  5629. + key + "'>" + "<a class='errorreport' eid = '"
  5630. + field.name
  5631. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5632. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5633. + field.name + "' class='err'>" + key + "</span></a>"
  5634. + "<p>" + field.getAttribute("data-original-title")
  5635. + "</p></div>";
  5636.  
  5637. }
  5638.  
  5639. return false;
  5640. }
  5641. } else if (field.name
  5642. .indexOf("valueOfPaidUpCapitalHeldByForeignHoldingCompanyAndOrWithItsSubsidiaries") != -1) {
  5643.  
  5644. var percentForigenSub = $(
  5645. 'input[name=percentageOfPaidUpCapitalHeldByForeignHoldingCompanyAndOrWithItsSubsidiaries'
  5646. + year + ']').val();
  5647. var valForigenSub = $(
  5648. 'input[name=valueOfPaidUpCapitalHeldByForeignHoldingCompanyAndOrWithItsSubsidiaries'
  5649. + year + ']').val();
  5650.  
  5651. if (percentForigenSub != "" && valForigenSub == "") {
  5652.  
  5653. if (validationType == "full") {
  5654. key = "";
  5655. fieldName = field.name.split('_')[0];
  5656. fname = fieldName.charAt(0).toUpperCase()
  5657. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5658. .replace(/^ /, "").toLowerCase();
  5659. validationAlert += "<div><a eid = '" + field.name
  5660. + "' onclick ='goErrorPage(event)' memberorder='"
  5661. + key + "'>" + "<a class='errorreport' eid = '"
  5662. + field.name
  5663. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5664. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5665. + field.name + "' class='err'>" + key + "</span></a>"
  5666. + "<p>" + field.getAttribute("data-original-title")
  5667. + "</p></div>";
  5668.  
  5669. }
  5670. return false;
  5671. }
  5672. } else if (field.name
  5673. .indexOf("ifYesWhetherCompanyHasFiledComplianceReportWithCentralGovernment") != -1) {
  5674.  
  5675. var hasFiled = $(
  5676. ':input[name=ifYesWhetherCompanyHasFiledComplianceReportWithCentralGovernment'
  5677. + year + '] option:selected').text();
  5678. var whether = $(
  5679. ':input[name=whetherMaintenanceOfCostRecordsByCompanyHasBeenMandatedUnderAnyCostAccountingRecordsRulesNotifiedUnderCompaniesAct1956'
  5680. + year + '] option:selected').text();
  5681. if (hasFiled == "--select--" && whether == "Yes") {
  5682. if (validationType == "full") {
  5683. key = "";
  5684. fieldName = field.name.split('_')[0];
  5685. fname = fieldName.charAt(0).toUpperCase()
  5686. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5687. .replace(/^ /, "").toLowerCase();
  5688. validationAlert += "<div><a eid = '" + field.name
  5689. + "' onclick ='goErrorPage(event)' memberorder='"
  5690. + key + "'>" + "<a class='errorreport' eid = '"
  5691. + field.name
  5692. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5693. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5694. + field.name + "' class='err'>" + key + "</span></a>"
  5695. + "<p>" + field.getAttribute("data-original-title")
  5696. + "</p></div>";
  5697.  
  5698. }
  5699.  
  5700. return false;
  5701. }
  5702. } else if (field.name.indexOf("SRNOfFormA") != -1) {
  5703.  
  5704. var SRN = $('input[name=SRNOfFormA' + year + ']').val();
  5705. var hasFiled = $(
  5706. ':input[name=ifYesWhetherCompanyHasFiledComplianceReportWithCentralGovernment'
  5707. + year + '] option:selected').text();
  5708.  
  5709. if (hasFiled == "Yes" && SRN == "") {
  5710. if (validationType == "full") {
  5711. key = "";
  5712. fieldName = field.name.split('_')[0];
  5713. fname = fieldName.charAt(0).toUpperCase()
  5714. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5715. .replace(/^ /, "").toLowerCase();
  5716. validationAlert += "<div><a eid = '" + field.name
  5717. + "' onclick ='goErrorPage(event)' memberorder='"
  5718. + key + "'>" + "<a class='errorreport' eid = '"
  5719. + field.name
  5720. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5721. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5722. + field.name + "' class='err'>" + key + "</span></a>"
  5723. + "<p>" + field.getAttribute("data-original-title")
  5724. + "</p></div>";
  5725.  
  5726. }
  5727.  
  5728. return false;
  5729. }
  5730. } else if (field.name
  5731. .indexOf("whetherAuditOfCostRecordsOfCompanyHasBeenMandatedByCentralGovernmentUnderSection233BOfCompaniesAct1956") != -1) {
  5732.  
  5733. var hasFiled = $(
  5734. ':input[name=whetherAuditOfCostRecordsOfCompanyHasBeenMandatedByCentralGovernmentUnderSection233BOfCompaniesAct1956'
  5735. + year + '] option:selected').text();
  5736. var whether = $(
  5737. ':input[name=whetherMaintenanceOfCostRecordsByCompanyHasBeenMandatedUnderAnyCostAccountingRecordsRulesNotifiedUnderCompaniesAct1956'
  5738. + year + '] option:selected').text();
  5739. if (hasFiled == "--select--" && whether == "Yes") {
  5740. if (validationType == "full") {
  5741. key = "";
  5742. fieldName = field.name.split('_')[0];
  5743. fname = fieldName.charAt(0).toUpperCase()
  5744. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5745. .replace(/^ /, "").toLowerCase();
  5746. validationAlert += "<div><a eid = '" + field.name
  5747. + "' onclick ='goErrorPage(event)' memberorder='"
  5748. + key + "'>" + "<a class='errorreport' eid = '"
  5749. + field.name
  5750. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5751. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5752. + field.name + "' class='err'>" + key + "</span></a>"
  5753. + "<p>" + field.getAttribute("data-original-title")
  5754. + "</p></div>";
  5755.  
  5756. }
  5757.  
  5758. return false;
  5759. }
  5760. } else if (field.name
  5761. .indexOf("ifYesChooseProductsIndustriesCoveredUnderCostAudit") != -1) {
  5762.  
  5763. var hasFiled = $(
  5764. ':input[name=ifYesChooseProductsIndustriesCoveredUnderCostAudit'
  5765. + year + '] option:selected').text();
  5766. var whether = $(
  5767. ':input[name=whetherAuditOfCostRecordsOfCompanyHasBeenMandatedByCentralGovernmentUnderSection233BOfCompaniesAct1956'
  5768. + year + '] option:selected').text();
  5769. if (hasFiled == "--select--" && whether == "Yes") {
  5770. if (validationType == "full") {
  5771. key = "";
  5772. fieldName = field.name.split('_')[0];
  5773. fname = fieldName.charAt(0).toUpperCase()
  5774. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5775. .replace(/^ /, "").toLowerCase();
  5776. validationAlert += "<div><a eid = '" + field.name
  5777. + "' onclick ='goErrorPage(event)' memberorder='"
  5778. + key + "'>" + "<a class='errorreport' eid = '"
  5779. + field.name
  5780. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5781. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5782. + field.name + "' class='err'>" + key + "</span></a>"
  5783. + "<p>" + field.getAttribute("data-original-title")
  5784. + "</p></div>";
  5785.  
  5786. }
  5787.  
  5788. return false;
  5789. }
  5790. } else if (field.name.indexOf("whetherCompanyHasFiledCostAuditReport") != -1) {
  5791.  
  5792. var hasFiled = $(
  5793. ':input[name=whetherCompanyHasFiledCostAuditReport' + year
  5794. + '] option:selected').text();
  5795. var whether = $(
  5796. ':input[name=whetherAuditOfCostRecordsOfCompanyHasBeenMandatedByCentralGovernmentUnderSection233BOfCompaniesAct1956'
  5797. + year + '] option:selected').text();
  5798. if (hasFiled == "--select--" && whether == "Yes") {
  5799. if (validationType == "full") {
  5800. key = "";
  5801. fieldName = field.name.split('_')[0];
  5802. fname = fieldName.charAt(0).toUpperCase()
  5803. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5804. .replace(/^ /, "").toLowerCase();
  5805. validationAlert += "<div><a eid = '" + field.name
  5806. + "' onclick ='goErrorPage(event)' memberorder='"
  5807. + key + "'>" + "<a class='errorreport' eid = '"
  5808. + field.name
  5809. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5810. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5811. + field.name + "' class='err'>" + key + "</span></a>"
  5812. + "<p>" + field.getAttribute("data-original-title")
  5813. + "</p></div>";
  5814.  
  5815. }
  5816.  
  5817. return false;
  5818. }
  5819. } else if (field.name.indexOf("ifYesSRNOfForm1") != -1) {
  5820.  
  5821. var hasFiled = $('input[name=ifYesSRNOfForm1' + year + ']').val();
  5822. var whether = $(
  5823. ':input[name=whetherCompanyHasFiledCostAuditReport' + year
  5824. + '] option:selected').text();
  5825. if (hasFiled == "" && whether == "Yes") {
  5826. if (validationType == "full") {
  5827. key = "";
  5828. fieldName = field.name.split('_')[0];
  5829. fname = fieldName.charAt(0).toUpperCase()
  5830. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  5831. .replace(/^ /, "").toLowerCase();
  5832. validationAlert += "<div><a eid = '" + field.name
  5833. + "' onclick ='goErrorPage(event)' memberorder='"
  5834. + key + "'>" + "<a class='errorreport' eid = '"
  5835. + field.name
  5836. + "' onclick ='goErrorPage(event)' memberorder='" + key
  5837. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  5838. + field.name + "' class='err'>" + key + "</span></a>"
  5839. + "<p>" + field.getAttribute("data-original-title")
  5840. + "</p></div>";
  5841.  
  5842. }
  5843.  
  5844. return false;
  5845. }
  5846. }
  5847. return true;
  5848. }
  5849.  
  5850. // 201000 validation starts here
  5851. function validate1321(field) {
  5852.  
  5853. var year = "_CURYEAR";
  5854. y = 0;
  5855. yr = "current year";
  5856. if (field.name.indexOf(year) == -1) {
  5857. // this is applicable for previous year
  5858. year = "_PREVYEAR";
  5859. y = 1;
  5860. yr = "previous year";
  5861. }
  5862.  
  5863. if (field.name.indexOf("natureOfOtherTangibleAssets") != -1) {
  5864.  
  5865. var flag = true;
  5866. table = field.getAttribute('groupid');
  5867. fieldName = field.name.split('_')[0];
  5868.  
  5869. if (validationType == "full") {
  5870.  
  5871. $
  5872. .each(
  5873. eval("inputdata.fields[" + y + "]." + table),
  5874. function(key, val) {
  5875.  
  5876. var tablenotall = field.getAttribute(
  5877. 'tablenotall').replace(/Member/g, '')
  5878. .split(',');
  5879. found = $.inArray(key, tablenotall);
  5880. mstatus = eval("inputdata.fields[" + y + "]."
  5881. + table + "['" + key
  5882. + "'].memberStatus");
  5883.  
  5884. if (found == -1
  5885. && mstatus == 'on'
  5886. && key
  5887. .indexOf("OtherIntangibleAssetsOthers") != -1) {
  5888.  
  5889. nOthrTangible = eval("inputdata.fields["
  5890. + y + "]." + table + "['" + key
  5891. + "']." + fieldName);
  5892. if (nOthrTangible == "") {
  5893.  
  5894. fname = fieldName.charAt(0)
  5895. .toUpperCase()
  5896. + fieldName.substr(1).replace(
  5897. /([A-Z][a-z])/g, ' $1')
  5898. .replace(/^ /, "")
  5899. .toLowerCase();
  5900. validationAlert += "<div><a eid = '"
  5901. + field.name
  5902. + "' onclick ='goErrorPage(event)' memberorder='"
  5903. + key
  5904. + "'>"
  5905. + "<a class='errorreport' eid = '"
  5906. + field.name
  5907. + "' onclick ='goErrorPage(event)' memberorder='"
  5908. + key
  5909. + "'>"
  5910. + fname
  5911. + "("
  5912. + yr
  5913. + ")</a>"
  5914. + "<span eid = '"
  5915. + field.name
  5916. + "' class='err'>"
  5917. + key
  5918. + "</span></a>"
  5919. + "<p>"
  5920. + field
  5921. .getAttribute("data-original-title")
  5922. + "</p></div>";
  5923.  
  5924. flag = false;
  5925.  
  5926. }
  5927. }
  5928. });
  5929.  
  5930. if (flag == false) {
  5931.  
  5932. return false;
  5933. }
  5934.  
  5935. } else if (validationType != "full"
  5936. && (field.getAttribute('order1').indexOf(
  5937. 'OtherTangibleAssetsOthers') != -1)) {
  5938.  
  5939. var nOthrTangible = $(
  5940. 'input[name=natureOfOtherTangibleAssets' + year + ']')
  5941. .val();
  5942.  
  5943. if (nOthrTangible == "") {
  5944.  
  5945. return false;
  5946. }
  5947. }
  5948. } else if (field.name.indexOf("otherAdjustmentsTangibleAssetsOthers") != -1) {
  5949.  
  5950.  
  5951. formulafield = "changesInTangibleAssets";
  5952. calcfields =[
  5953. "additionsOtherThanThroughBusinessCombinationsTangibleAssets",
  5954. "acquisitionsThroughBusinessCombinationsTangibleAssets",
  5955. "depreciationTangibleAssets",
  5956. "impairmentLossRecognisedInProfitOrLossTangibleAssets",
  5957. "reversalOfImpairmentLossRecognisedInProfitOrLossTangibleAssets",
  5958. "revaluationIncreaseDecreaseTangibleAssets",
  5959. "disposalsTangibleAssetsThroughDemergers",
  5960. "disposalsTangibleAssetsOthers",
  5961. "increaseDecreaseThroughNetExchangeDifferencesTangibleAssets",
  5962. "otherAdjustmentsTangibleAssetsOthers"
  5963. ];
  5964. return validateFormulaMandatory(formulafield,calcfields,field);
  5965.  
  5966. }
  5967. return true;
  5968. }
  5969.  
  5970. // 201100 validation starts here
  5971. function validate1443(field) {
  5972.  
  5973. var year = "_CURYEAR";
  5974. y = 0;
  5975. yr = "current year";
  5976.  
  5977. if (field.name.indexOf(year) == -1) {
  5978. // this is applicable for previous year
  5979. year = "_PREVYEAR";
  5980. y = 1;
  5981. yr = "previous year";
  5982. }
  5983.  
  5984. if (field.name.indexOf("natureOfOtherIntangibleAssets") != -1) {
  5985.  
  5986. var flag = true;
  5987. table = field.getAttribute('groupid');
  5988. fieldName = field.name.split('_')[0];
  5989.  
  5990. if (validationType == "full") {
  5991.  
  5992. $
  5993. .each(
  5994. eval("inputdata.fields[" + y + "]." + table),
  5995. function(key, val) {
  5996.  
  5997. var tablenotall = field.getAttribute(
  5998. 'tablenotall').replace(/Member/g, '')
  5999. .split(',');
  6000. found = $.inArray(key, tablenotall);
  6001. mstatus = eval("inputdata.fields[" + y + "]."
  6002. + table + "['" + key
  6003. + "'].memberStatus");
  6004.  
  6005. if (found == -1
  6006. && mstatus == 'on'
  6007. && key
  6008. .indexOf("OtherIntangibleAssetsOthers") != -1) {
  6009.  
  6010. nOthrInTangible = eval("inputdata.fields["
  6011. + y + "]." + table + "['" + key
  6012. + "']." + fieldName);
  6013. if (nOthrInTangible == "") {
  6014.  
  6015. fname = fieldName.charAt(0)
  6016. .toUpperCase()
  6017. + fieldName.substr(1).replace(
  6018. /([A-Z][a-z])/g, ' $1')
  6019. .replace(/^ /, "")
  6020. .toLowerCase();
  6021. validationAlert += "<div><a eid = '"
  6022. + field.name
  6023. + "' onclick ='goErrorPage(event)' memberorder='"
  6024. + key
  6025. + "'>"
  6026. + "<a class='errorreport' eid = '"
  6027. + field.name
  6028. + "' onclick ='goErrorPage(event)' memberorder='"
  6029. + key
  6030. + "'>"
  6031. + fname
  6032. + "("
  6033. + yr
  6034. + ")</a>"
  6035. + "<span eid = '"
  6036. + field.name
  6037. + "' class='err'>"
  6038. + key
  6039. + "</span></a>"
  6040. + "<p>"
  6041. + field
  6042. .getAttribute("data-original-title")
  6043. + "</p></div>";
  6044.  
  6045. flag = false;
  6046.  
  6047. }
  6048. }
  6049. });
  6050.  
  6051. if (flag == false) {
  6052.  
  6053. return false;
  6054. }
  6055.  
  6056. } else if (validationType != "full"
  6057. && (field.getAttribute('order1').indexOf(
  6058. 'OtherIntangibleAssetsOthers') != -1)) {
  6059.  
  6060. var nOthrInTangible = $(
  6061. 'input[name=natureOfOtherIntangibleAssets' + year + ']')
  6062. .val();
  6063. if (nOthrInTangible == "") {
  6064. return false;
  6065. }
  6066. }
  6067. } else if (field.name.indexOf("otherAdjustmentsIntangibleAssetsOthers") != -1) {
  6068.  
  6069.  
  6070. formulafield = "changesInIntangibleAssets";
  6071. calcfields =[
  6072. "additionsThroughInternalDevelopment",
  6073. "additionsOtherThanThroughBusinessCombinationsIntangibleAssets",
  6074. "acquisitionsThroughBusinessCombinationsIntangibleAssets",
  6075. "amortizationIntangibleAssets",
  6076. "impairmentLossRecognisedInProfitOrLossIntangibleAssets",
  6077. "reversalOfImpairmentLossRecognisedInProfitOrLossIntangibleAssets",
  6078. "revaluationIncreaseDecreaseIntangibleAssets",
  6079. "disposalsIntangibleAssetsThroughDemergers",
  6080. "disposalsIntangibleAssetsOthers",
  6081. "retirementsOfIntangibleAssets",
  6082. "increaseDecreaseThroughNetExchangeDifferencesIntangibleAssets",
  6083. "otherAdjustmentsIntangibleAssetsOthers",
  6084. ];
  6085. return validateFormulaMandatory(formulafield,calcfields,field);
  6086.  
  6087. }
  6088. return true;
  6089. }
  6090. // 201600 validation
  6091. function validate1999_2000_2076(field) {
  6092.  
  6093. var year = "_CURYEAR";
  6094. var y = 0;
  6095. yr = "current year";
  6096. if (field.name.indexOf(year) == -1) {
  6097. // this is applicable for previous year
  6098. year = "_PREVYEAR";
  6099. y = 1;
  6100. yr = "previous year";
  6101. }
  6102.  
  6103. if (field.name.indexOf("permanentAccountNumberOfRelatedParty") != -1) {
  6104.  
  6105. var tMandatory = $(':input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'+ year + '] option:selected').text();
  6106.  
  6107. if(tMandatory != 'No') {
  6108. var PANRelatedParty = $(
  6109. 'input[name=permanentAccountNumberOfRelatedParty' + year + ']')
  6110. .val();
  6111. var countryRelatedparty = $(
  6112. ':input[name=countryOfIncorporationOrResidenceOfRelatedParty'
  6113. + year + ']').val();
  6114. var CINRelatedParty = $('input[name=cinOfRelatedParty' + year + ']')
  6115. .val();
  6116.  
  6117. var PAN = [], p;
  6118. var index = "";
  6119.  
  6120. var memberName = field.getAttribute('order1');
  6121. fieldName = field.name.split('_')[0];
  6122. table = field.getAttribute('groupid');
  6123. $.each(eval("inputdata.fields[" + y + "]." + table),
  6124. function(key, val) {
  6125.  
  6126. if (key != memberName) {
  6127. p = eval("inputdata.fields[" + y + "]." + table + "['"
  6128. + key + "']." + fieldName);
  6129. if (p != "") {
  6130.  
  6131. PAN.push(p);
  6132. }
  6133. } else if (PANRelatedParty != "") {
  6134.  
  6135. PAN.push(PANRelatedParty);
  6136.  
  6137. }
  6138. });
  6139.  
  6140. $(PAN).each(function(k, v) {
  6141.  
  6142. index = $.map(PAN, function(o, i) {
  6143. if (o === PANRelatedParty)
  6144. return i;
  6145. });
  6146. if (index.length > 1) {
  6147.  
  6148. // if not unique in dimensonal
  6149. return false;
  6150. }
  6151. });
  6152.  
  6153. if (index.length > 1
  6154. || PANRelatedParty == panNum
  6155. || (PANRelatedParty === "" && CINRelatedParty == "" && countryRelatedparty == "INDIA")) {
  6156.  
  6157. if (validationType == "full") {
  6158. key = memberName;
  6159. fieldName = field.name.split('_')[0];
  6160. fname = fieldName.charAt(0).toUpperCase()
  6161. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  6162. .replace(/^ /, "").toLowerCase();
  6163. validationAlert += "<div><a eid = '" + field.name
  6164. + "' onclick ='goErrorPage(event)' memberorder='"
  6165. + key + "'>" + "<a class='errorreport' eid = '"
  6166. + field.name
  6167. + "' onclick ='goErrorPage(event)' memberorder='" + key
  6168. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  6169. + field.name + "' class='err'>" + key + "</span></a>"
  6170. + "<p>" + field.getAttribute("data-original-title")
  6171. + "</p></div>";
  6172. } else {
  6173.  
  6174. return false;
  6175.  
  6176. }
  6177.  
  6178. } /*
  6179. * else if (PANRelatedParty == panNum) {
  6180. *
  6181. * if (validationType == "full") { key =
  6182. * "CategoriesOfRelatedParties1"; fieldName =
  6183. * field.name.split('_')[0]; fname =
  6184. * fieldName.charAt(0).toUpperCase() +
  6185. * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  6186. * "").toLowerCase(); validationAlert += "<div><a eid = '" +
  6187. * field.name + "' onclick ='goErrorPage(event)' memberorder='" +
  6188. * key + "'>" + "<a class='errorreport' eid = '" + field.name + "'
  6189. * onclick ='goErrorPage(event)' memberorder='" + key + "'>" + fname +
  6190. * "(" + yr + ")</a>" + "<span eid = '" + field.name + "'
  6191. * class='err'>" + key + "</span></a>" + "<p>" +
  6192. * field.getAttribute("data-original-title") + "</p></div>";
  6193. * }
  6194. *
  6195. * return false; }
  6196. */
  6197.  
  6198. if (validationType == 'full') {
  6199.  
  6200. return validateCIN_PAN(
  6201. field,
  6202. $('input[name=cinOfRelatedParty' + year + ']'),
  6203. $(':input[name=countryOfIncorporationOrResidenceOfRelatedParty'
  6204. + year + ']'));
  6205. }
  6206. }
  6207. } else if (field.name.indexOf("cinOfRelatedParty") != -1) {
  6208.  
  6209. var tMandatory = $(':input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'+ year + '] option:selected').text();
  6210.  
  6211. if(tMandatory != 'No') {
  6212.  
  6213. var PANRelatedParty = $(
  6214. 'input[name=permanentAccountNumberOfRelatedParty' + year + ']')
  6215. .val();
  6216. var CINRelatedParty = $('input[name=cinOfRelatedParty' + year + ']')
  6217. .val();
  6218. var countryRelatedparty = $(
  6219. ':input[name=countryOfIncorporationOrResidenceOfRelatedParty'
  6220. + year + ']').val();
  6221.  
  6222. var CIN = [], c;
  6223. var index = "";
  6224. var memberName = field.getAttribute('order1');
  6225. fieldName = field.name.split('_')[0];
  6226. table = field.getAttribute('groupid');
  6227. $.each(eval("inputdata.fields[" + y + "]." + table),
  6228. function(key, val) {
  6229.  
  6230. if (key != memberName) {
  6231. c = eval("inputdata.fields[" + y + "]." + table + "['"
  6232. + key + "']." + fieldName);
  6233. if (c != "") {
  6234.  
  6235. CIN.push(c);
  6236. }
  6237. } else if (CINRelatedParty != "") {
  6238.  
  6239. CIN.push(CINRelatedParty);
  6240.  
  6241. }
  6242. });
  6243. $(CIN).each(function(k, v) {
  6244.  
  6245. index = $.map(CIN, function(o, i) {
  6246. if (o === CINRelatedParty)
  6247. return i;
  6248. });
  6249. if (index.length > 1) {
  6250. return false;
  6251. }
  6252. });
  6253.  
  6254. if (index.length > 1
  6255. || CINRelatedParty == cinNum
  6256. || (PANRelatedParty === "" && CINRelatedParty == "" && countryRelatedparty == "INDIA")) {
  6257.  
  6258. if (validationType == "full") {
  6259. key = memberName;
  6260. fieldName = field.name.split('_')[0];
  6261. fname = fieldName.charAt(0).toUpperCase()
  6262. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  6263. .replace(/^ /, "").toLowerCase();
  6264. validationAlert += "<div><a eid = '" + field.name
  6265. + "' onclick ='goErrorPage(event)' memberorder='"
  6266. + key + "'>" + "<a class='errorreport' eid = '"
  6267. + field.name
  6268. + "' onclick ='goErrorPage(event)' memberorder='" + key
  6269. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  6270. + field.name + "' class='err'>" + key + "</span></a>"
  6271. + "<p>" + field.getAttribute("data-original-title")
  6272. + "</p></div>";
  6273. } else {
  6274.  
  6275. return false;
  6276.  
  6277. }
  6278. }
  6279. if (validationType == 'full') {
  6280.  
  6281. return validateCIN_PAN(
  6282. field,
  6283. $('input[name=permanentAccountNumberOfRelatedParty' + year
  6284. + ']'),
  6285. $(':input[name=countryOfIncorporationOrResidenceOfRelatedParty'
  6286. + year + ']'));
  6287. }
  6288. }
  6289.  
  6290. } else if (field.name.indexOf("remunerationForKeyManagerialPersonnel") != -1) {
  6291.  
  6292. var flag = true;
  6293. table = field.getAttribute('groupid');
  6294. fieldName = field.name.split('_')[0];
  6295.  
  6296. if (validationType == "full") {
  6297.  
  6298. $
  6299. .each(
  6300. eval("inputdata.fields[" + y + "]." + table),
  6301. function(key, val) {
  6302.  
  6303. var tablenotall = field.getAttribute(
  6304. 'tablenotall').replace(/Member/g, '')
  6305. .split(',');
  6306. found = $.inArray(key, tablenotall);
  6307. mstatus = eval("inputdata.fields[" + y + "]."
  6308. + table + "['" + key
  6309. + "'].memberStatus");
  6310.  
  6311. if (found == -1 && mstatus == 'on') {
  6312.  
  6313. renumeration = eval("inputdata.fields[" + y
  6314. + "]." + table + "['" + key + "']."
  6315. + fieldName);
  6316. natureRelatedParty = eval("inputdata.fields["
  6317. + y
  6318. + "]."
  6319. + table
  6320. + "['"
  6321. + key
  6322. + "'].descriptionOfNatureOfRelatedPartyRelationship");
  6323. if (natureRelatedParty == "Key managerial Personnel"
  6324. && renumeration == "") {
  6325.  
  6326. fname = fieldName.charAt(0)
  6327. .toUpperCase()
  6328. + fieldName.substr(1).replace(
  6329. /([A-Z][a-z])/g, ' $1')
  6330. .replace(/^ /, "")
  6331. .toLowerCase();
  6332. validationAlert += "<div><a eid = '"
  6333. + field.name
  6334. + "' onclick ='goErrorPage(event)' memberorder='"
  6335. + key
  6336. + "'>"
  6337. + "<a class='errorreport' eid = '"
  6338. + field.name
  6339. + "' onclick ='goErrorPage(event)' memberorder='"
  6340. + key
  6341. + "'>"
  6342. + fname
  6343. + "("
  6344. + yr
  6345. + ")</a>"
  6346. + "<span eid = '"
  6347. + field.name
  6348. + "' class='err'>"
  6349. + key
  6350. + "</span></a>"
  6351. + "<p>"
  6352. + field
  6353. .getAttribute("data-original-title")
  6354. + "</p></div>";
  6355.  
  6356. flag = false;
  6357.  
  6358. }
  6359. }
  6360. });
  6361.  
  6362. if (flag == false) {
  6363.  
  6364. return false;
  6365. }
  6366.  
  6367. } else {
  6368.  
  6369. var renumeration = $(
  6370. 'input[name=remunerationForKeyManagerialPersonnel' + year
  6371. + ']').val();
  6372. var natureRelatedParty = $(
  6373. ':input[name=descriptionOfNatureOfRelatedPartyRelationship'
  6374. + year + '] option:selected').text();
  6375. if (natureRelatedParty == "Key Management Personnel"
  6376. && renumeration == "") {
  6377. return false;
  6378. }
  6379. }
  6380.  
  6381. } else if (field.name
  6382. .indexOf("descriptionOfNatureOfRelatedPartyRelationship") != -1
  6383. && validationType == 'full') {
  6384.  
  6385. var desc = "";
  6386. var flag = false;
  6387. $
  6388. .each(
  6389. inputdata.fields[y].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable,
  6390. function(key, val) {
  6391.  
  6392. desc = eval("inputdata.fields["
  6393. + y
  6394. + "].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable['"
  6395. + key
  6396. + "'].descriptionOfNatureOfRelatedPartyRelationship");
  6397. if (desc == 'Holding company'
  6398. || desc == 'Ultimate Holding company') {
  6399.  
  6400. flag = true;
  6401.  
  6402. }
  6403. });
  6404.  
  6405. var whethersubsidairy = $(
  6406. ':input[name=whetherCompanyIsSubsidiaryCompany' + year
  6407. + '] option:selected').text();
  6408. if (whethersubsidairy == "Yes" && flag != true) {
  6409.  
  6410. if (validationType == "full") {
  6411. key = "CategoriesOfRelatedParties1";
  6412. fieldName = field.name.split('_')[0];
  6413. fname = fieldName.charAt(0).toUpperCase()
  6414. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  6415. .replace(/^ /, "").toLowerCase();
  6416. validationAlert += "<div><a eid = '" + field.name
  6417. + "' onclick ='goErrorPage(event)' memberorder='"
  6418. + key + "'>" + "<a class='errorreport' eid = '"
  6419. + field.name
  6420. + "' onclick ='goErrorPage(event)' memberorder='" + key
  6421. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  6422. + field.name + "' class='err'>" + key + "</span></a>"
  6423. + "<p>" + field.getAttribute("data-original-title")
  6424. + "</p></div>";
  6425.  
  6426. }
  6427. return false;
  6428. }
  6429. } else if (field.name
  6430. .indexOf("otherRelatedPartyTransactionsIncomePercentage") != -1
  6431. && field.getAttribute('order1') != undefined) {
  6432.  
  6433. var whether = $(
  6434. ':input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'
  6435. + year + '] option:selected').text();
  6436.  
  6437. if (whether != "No") {
  6438. vresult = validateRelatedParty(field);
  6439. if (!vresult) {
  6440.  
  6441. return false;
  6442. }
  6443. }
  6444. } else if (field.name.indexOf("whetherCompanyIsSubsidiaryCompany") != -1) {
  6445.  
  6446. var desc = 0;
  6447. var flag = false;
  6448. $
  6449. .each(
  6450. inputdata.fields[y].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable,
  6451. function(key, val) {
  6452.  
  6453. desc = eval("inputdata.fields["
  6454. + y
  6455. + "].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable['"
  6456. + key
  6457. + "'].descriptionOfNatureOfRelatedPartyRelationship");
  6458. if (desc == 'Holding company'
  6459. || desc == 'Ultimate Holding company') {
  6460.  
  6461. flag = true;
  6462.  
  6463. }
  6464. });
  6465.  
  6466. var whethersubsidairy = $(
  6467. ':input[name=whetherCompanyIsSubsidiaryCompany' + year
  6468. + '] option:selected').text();
  6469. if (whethersubsidairy != "Yes" && flag == true) {
  6470. if (validationType == "full") {
  6471. key = "";
  6472. fieldName = field.name.split('_')[0];
  6473. fname = fieldName.charAt(0).toUpperCase()
  6474. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  6475. .replace(/^ /, "").toLowerCase();
  6476. validationAlert += "<div><a eid = '" + field.name
  6477. + "' onclick ='goErrorPage(event)' memberorder='"
  6478. + key + "'>" + "<a class='errorreport' eid = '"
  6479. + field.name
  6480. + "' onclick ='goErrorPage(event)' memberorder='" + key
  6481. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  6482. + field.name + "' class='err'>" + key + "</span></a>"
  6483. + "<p>" + field.getAttribute("data-original-title")
  6484. + "</p></div>";
  6485.  
  6486. }
  6487.  
  6488. return false;
  6489. }
  6490.  
  6491. } else if (field.name.indexOf("sectionUnderWhichCompanyIsSubsidiary") != -1) {
  6492.  
  6493. var subsidiary = $(
  6494. ':input[name=sectionUnderWhichCompanyIsSubsidiary' + year
  6495. + '] option:selected').text();
  6496. var whethersubsidairy = $(
  6497. ':input[name=whetherCompanyIsSubsidiaryCompany' + year
  6498. + '] option:selected').text();
  6499. if (whethersubsidairy == "Yes" && subsidiary == "--select--") {
  6500. if (validationType == "full") {
  6501. key = "";
  6502. fieldName = field.name.split('_')[0];
  6503. fname = fieldName.charAt(0).toUpperCase()
  6504. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  6505. .replace(/^ /, "").toLowerCase();
  6506. validationAlert += "<div><a eid = '" + field.name
  6507. + "' onclick ='goErrorPage(event)' memberorder='"
  6508. + key + "'>" + "<a class='errorreport' eid = '"
  6509. + field.name
  6510. + "' onclick ='goErrorPage(event)' memberorder='" + key
  6511. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  6512. + field.name + "' class='err'>" + key + "</span></a>"
  6513. + "<p>" + field.getAttribute("data-original-title")
  6514. + "</p></div>";
  6515.  
  6516. }
  6517.  
  6518. return false;
  6519. }
  6520.  
  6521. }
  6522. return true;
  6523. }
  6524. // 201600 specific validation starts here
  6525. function validate1994(field) {
  6526.  
  6527. var year = "_CURYEAR";
  6528. var y = 0;
  6529. var yr = "current year";
  6530. if (field.name.indexOf(year) == -1) {
  6531. // this is applicable for previous year
  6532. year = "_PREVYEAR";
  6533. y = 1;
  6534. yr = "previous year";
  6535. }
  6536. if (field.name
  6537. .indexOf("whetherThereAreAnyRelatedPartyTransactionsDuringYear") != -1) {
  6538.  
  6539. var tMandatory = $(
  6540. 'input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'
  6541. + year + '] option:selected').text();
  6542.  
  6543. if (tMandatory == 'Yes') {
  6544. var CIN = [], PAN = [], c, p;
  6545.  
  6546. $
  6547. .each(
  6548. inputdata.fields[y].disclosureOfShareholdingMoreThanFivePerCentInCompanyTable,
  6549. function(key, val) {
  6550. c = (eval("inputdata.fields["
  6551. + y
  6552. + "].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable['"
  6553. + key + "'].cinOfRelatedParty"));
  6554. if (c != "") {
  6555. CIN.push(c);
  6556. }
  6557. p = (eval("inputdata.fields["
  6558. + y
  6559. + "].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable['"
  6560. + key
  6561. + "'].permanentAccountNumberOfRelatedParty"));
  6562. if (p != "") {
  6563. PAN.push(p);
  6564. }
  6565. });
  6566. if (CIN.length == 0 && PAN.length == 0) {
  6567.  
  6568. if (validationType == "full") {
  6569. key = "";
  6570. fieldName = field.name.split('_')[0];
  6571. fname = fieldName.charAt(0).toUpperCase()
  6572. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  6573. ' $1').replace(/^ /, "").toLowerCase();
  6574. validationAlert += "<div><a eid = '" + field.name
  6575. + "' onclick ='goErrorPage(event)' memberorder='"
  6576. + key + "'>" + "<a class='errorreport' eid = '"
  6577. + field.name
  6578. + "' onclick ='goErrorPage(event)' memberorder='"
  6579. + key + "'>" + fname + "(" + yr + ")</a>"
  6580. + "<span eid = '" + field.name + "' class='err'>"
  6581. + key + "</span></a>" + "<p>"
  6582. + field.getAttribute("data-original-title")
  6583. + "</p></div>";
  6584.  
  6585. }
  6586. return false;
  6587. }
  6588. }
  6589.  
  6590. } else if (field.name
  6591. .indexOf("descriptionOfNatureOfRelatedPartyRelationship") != -1
  6592. && validationType == 'full') {
  6593.  
  6594. var desc = "";
  6595. var flag = false;
  6596. $
  6597. .each(
  6598. inputdata.fields[y].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable,
  6599. function(key, val) {
  6600.  
  6601. desc = eval("inputdata.fields["
  6602. + y
  6603. + "].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable['"
  6604. + key
  6605. + "'].descriptionOfNatureOfRelatedPartyRelationship");
  6606. if (desc == 'Holding company'
  6607. || desc == 'Ultimate Holding company') {
  6608.  
  6609. flag = true;
  6610.  
  6611. }
  6612. });
  6613.  
  6614. var whethersubsidairy = $(
  6615. ':input[name=whetherCompanyIsSubsidiaryCompany' + year
  6616. + '] option:selected').text();
  6617. if (whethersubsidairy == "Yes" && flag != true) {
  6618.  
  6619. if (validationType == "full") {
  6620. key = "CategoriesOfRelatedParties1";
  6621. fieldName = field.name.split('_')[0];
  6622. fname = fieldName.charAt(0).toUpperCase()
  6623. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  6624. .replace(/^ /, "").toLowerCase();
  6625. validationAlert += "<div><a eid = '" + field.name
  6626. + "' onclick ='goErrorPage(event)' memberorder='"
  6627. + key + "'>" + "<a class='errorreport' eid = '"
  6628. + field.name
  6629. + "' onclick ='goErrorPage(event)' memberorder='" + key
  6630. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  6631. + field.name + "' class='err'>" + key + "</span></a>"
  6632. + "<p>" + field.getAttribute("data-original-title")
  6633. + "</p></div>";
  6634.  
  6635. }
  6636. return false;
  6637. }
  6638.  
  6639. }
  6640. return true;
  6641. }
  6642. // 202300 validation starts here
  6643. function validate2302(field) {
  6644.  
  6645. var year = "_CURYEAR";
  6646. yr = "current year";
  6647. y = 0;
  6648. if (field.name.indexOf(year) == -1) {
  6649. // this is applicable for previous year
  6650. year = "_PREVYEAR";
  6651. y = 1;
  6652. yr = "previous year";
  6653. }
  6654.  
  6655. if (field.name.indexOf("CINOfAmalgamatingCompany") != -1
  6656. && field.getAttribute('order1') != null) {
  6657.  
  6658. var CIN = [], c;
  6659. var country = $(
  6660. ':input[name=countryOfIncorporationOrResidenceOfAmalgamatingCompany'
  6661. + year + ']').val();
  6662. var cin = $('input[name=CINOfAmalgamatingCompany' + year + ']').val();
  6663. var index = "";
  6664. var memberName = field.getAttribute('order1');
  6665. fieldName = field.name.split('_')[0];
  6666. table = field.getAttribute('groupid');
  6667. $.each(eval("inputdata.fields[" + y + "]." + table),
  6668. function(key, val) {
  6669.  
  6670. if (key != memberName) {
  6671. c = eval("inputdata.fields[" + y + "]." + table + "['"
  6672. + key + "']." + fieldName);
  6673. if (c != "") {
  6674.  
  6675. CIN.push(c);
  6676. }
  6677. } else if (cin != "") {
  6678.  
  6679. CIN.push(cin);
  6680.  
  6681. }
  6682. });
  6683. $(CIN).each(function(k, v) {
  6684.  
  6685. index = $.map(CIN, function(o, i) {
  6686. if (o === cin)
  6687. return i;
  6688. });
  6689. if (index.length > 1) {
  6690.  
  6691. return false;
  6692. }
  6693. });
  6694.  
  6695. if ((cin == "" && country == "INDIA") || cin == cinNum
  6696. || index.length > 1) {
  6697.  
  6698. if (validationType == "full") {
  6699. key = memberName;
  6700. fieldName = field.name.split('_')[0];
  6701. fname = fieldName.charAt(0).toUpperCase()
  6702. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  6703. .replace(/^ /, "").toLowerCase();
  6704. validationAlert += "<div><a eid = '" + field.name
  6705. + "' onclick ='goErrorPage(event)' memberorder='"
  6706. + key + "'>" + "<a class='errorreport' eid = '"
  6707. + field.name
  6708. + "' onclick ='goErrorPage(event)' memberorder='" + key
  6709. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  6710. + field.name + "' class='err'>" + key + "</span></a>"
  6711. + "<p>" + field.getAttribute("data-original-title")
  6712. + "</p></div>";
  6713. } else {
  6714.  
  6715. return false;
  6716.  
  6717. }
  6718. }
  6719. if (validationType == 'full') {
  6720.  
  6721. return validateCIN_PAN(
  6722. field,
  6723. "",
  6724. $(':input[name=countryOfIncorporationOrResidenceOfAmalgamatingCompany'
  6725. + year + ']'));
  6726. }
  6727. }
  6728. return true;
  6729. }
  6730.  
  6731. // 202400 validation
  6732.  
  6733. function validate2334_2335(field) {
  6734.  
  6735. var year = "_CURYEAR";
  6736. var y = 0;
  6737. yr = 'current year';
  6738. if (field.name.indexOf(year) == -1) {
  6739. // this is applicable for previous year
  6740. year = "_PREVYEAR";
  6741. y = 1;
  6742. yr = 'previous year';
  6743. }
  6744. /*
  6745. * if (field.name.indexOf("whetherCompanyHasInvestedInAssociates") != -1 &&
  6746. * validationType != 'table') {
  6747. *
  6748. * var tMandatory = $( ':input[name=whetherCompanyHasInvestedInAssociates' +
  6749. * year + '] option:selected').text();
  6750. *
  6751. * if (tMandatory == 'Yes') { var values = [];
  6752. * $ .each( inputdata.fields[y].descriptionOfInformationOfAssociatesTable,
  6753. * function(key, val) {
  6754. * $ .each( eval("inputdata.fields[" + y +
  6755. * "].descriptionOfInformationOfAssociatesTable['" + key + "']"),
  6756. * function(k, v) {
  6757. *
  6758. * if (v != "" && k != "member" && k != "memberStatus") { values.push(v); }
  6759. * }); }); if (values.length == 0) {
  6760. *
  6761. * if (validationType == "full") { key = ""; fieldName =
  6762. * field.name.split('_')[0]; fname = fieldName.charAt(0).toUpperCase() +
  6763. * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  6764. * "").toLowerCase(); validationAlert += "<div><a eid = '" + field.name + "'
  6765. * onclick ='goErrorPage(event)' memberorder='" + key + "'>" + "<a
  6766. * class='errorreport' eid = '" + field.name + "' onclick
  6767. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  6768. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  6769. * field.getAttribute("data-original-title") + "</p></div>";
  6770. * }
  6771. *
  6772. * return false; } }
  6773. * } else
  6774. */if (field.name.indexOf("cinOfAssociateEntity_") != -1
  6775. && field.getAttribute("order1") != undefined) {
  6776.  
  6777. var tMandatory = $(
  6778. ':input[name=whetherCompanyHasInvestedInAssociates' + year
  6779. + '] option:selected').text();
  6780. if (tMandatory != "No") {
  6781.  
  6782. var pan = $('input[name=PANOfAssociateEntity' + year + ']').val();
  6783. var country = $(
  6784. ':input[name=countryOfIncorporationOrResidenceAssociate'
  6785. + year + ']').val();
  6786. var cin = $('input[name=cinOfAssociateEntity' + year + ']').val();
  6787.  
  6788. var CIN = [], c;
  6789. var index = "";
  6790. var memberName = field.getAttribute('order1');
  6791. fieldName = field.name.split('_')[0];
  6792. table = field.getAttribute('groupid');
  6793. $.each(eval("inputdata.fields[" + y + "]." + table), function(key,
  6794. val) {
  6795.  
  6796. if (key != memberName) {
  6797. c = eval("inputdata.fields[" + y + "]." + table + "['"
  6798. + key + "']." + fieldName);
  6799. if (c != "") {
  6800.  
  6801. CIN.push(c);
  6802. }
  6803. } else if (cin != "") {
  6804.  
  6805. CIN.push(cin);
  6806.  
  6807. }
  6808. });
  6809. $(CIN).each(function(k, v) {
  6810.  
  6811. index = $.map(CIN, function(o, i) {
  6812. if (o === cin)
  6813. return i;
  6814. });
  6815. if (index.length > 1) {
  6816.  
  6817. return false;
  6818. }
  6819. });
  6820.  
  6821. if ((pan === "" && cin == "" && country == "INDIA")
  6822. || cin == cinNum || index.length > 1) {
  6823.  
  6824. if (validationType == "full") {
  6825. key = memberName;
  6826. fieldName = field.name.split('_')[0];
  6827. fname = fieldName.charAt(0).toUpperCase()
  6828. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  6829. ' $1').replace(/^ /, "").toLowerCase();
  6830. validationAlert += "<div><a eid = '" + field.name
  6831. + "' onclick ='goErrorPage(event)' memberorder='"
  6832. + key + "'>" + "<a class='errorreport' eid = '"
  6833. + field.name
  6834. + "' onclick ='goErrorPage(event)' memberorder='"
  6835. + key + "'>" + fname + "(" + yr + ")</a>"
  6836. + "<span eid = '" + field.name + "' class='err'>"
  6837. + key + "</span></a>" + "<p>"
  6838. + field.getAttribute("data-original-title")
  6839. + "</p></div>";
  6840. } else {
  6841.  
  6842. return false;
  6843.  
  6844. }
  6845. }
  6846. if (validationType == 'full') {
  6847.  
  6848. return validateCIN_PAN(
  6849. field,
  6850. $('input[name=PANOfAssociateEntity' + year + ']'),
  6851. $(':input[name=countryOfIncorporationOrResidenceAssociate'
  6852. + year + ']'));
  6853. }
  6854. }
  6855.  
  6856. } else if (field.name.indexOf("PANOfAssociateEntity_") != -1
  6857. && field.getAttribute("order1") != undefined) {
  6858.  
  6859. var tMandatory = $(
  6860. ':input[name=whetherCompanyHasInvestedInAssociates' + year
  6861. + '] option:selected').text();
  6862. if (tMandatory != "No") {
  6863.  
  6864. var pan = $('input[name=PANOfAssociateEntity' + year + ']').val();
  6865. var country = $(
  6866. ':input[name=countryOfIncorporationOrResidenceAssociate'
  6867. + year + ']').val();
  6868. var cin = $('input[name=cinOfAssociateEntity' + year + ']').val();
  6869. var PAN = [], p;
  6870. var index = "";
  6871.  
  6872. var memberName = field.getAttribute('order1');
  6873. fieldName = field.name.split('_')[0];
  6874. table = field.getAttribute('groupid');
  6875. $.each(eval("inputdata.fields[" + y + "]." + table), function(key,
  6876. val) {
  6877.  
  6878. if (key != memberName) {
  6879. p = eval("inputdata.fields[" + y + "]." + table + "['"
  6880. + key + "']." + fieldName);
  6881. if (p != "") {
  6882.  
  6883. PAN.push(p);
  6884. }
  6885. } else if (pan != "") {
  6886.  
  6887. PAN.push(pan);
  6888.  
  6889. }
  6890. });
  6891. $(PAN).each(function(k, v) {
  6892.  
  6893. index = $.map(PAN, function(o, i) {
  6894. if (o === pan)
  6895. return i;
  6896. });
  6897. if (index.length > 1) {
  6898.  
  6899. return false;
  6900. }
  6901. });
  6902.  
  6903. if ((pan === "" && cin == "" && country == "INDIA")
  6904. || pan == panNum || index.length > 1) {
  6905.  
  6906. if (validationType == "full") {
  6907. key = memberName;
  6908. fieldName = field.name.split('_')[0];
  6909. fname = fieldName.charAt(0).toUpperCase()
  6910. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  6911. ' $1').replace(/^ /, "").toLowerCase();
  6912. validationAlert += "<div><a eid = '" + field.name
  6913. + "' onclick ='goErrorPage(event)' memberorder='"
  6914. + key + "'>" + "<a class='errorreport' eid = '"
  6915. + field.name
  6916. + "' onclick ='goErrorPage(event)' memberorder='"
  6917. + key + "'>" + fname + "(" + yr + ")</a>"
  6918. + "<span eid = '" + field.name + "' class='err'>"
  6919. + key + "</span></a>" + "<p>"
  6920. + field.getAttribute("data-original-title")
  6921. + "</p></div>";
  6922. } else {
  6923.  
  6924. return false;
  6925.  
  6926. }
  6927. }
  6928.  
  6929. if (validationType == 'full') {
  6930.  
  6931. return validateCIN_PAN(
  6932. field,
  6933. $('input[name=cinOfAssociateEntity' + year + ']'),
  6934. $(':input[name=countryOfIncorporationOrResidenceAssociate'
  6935. + year + ']'));
  6936.  
  6937. }
  6938. }
  6939.  
  6940. } else if (field.name
  6941. .indexOf("cinOfAssociateEntityWhoseReportingDateIsDifferent") != -1
  6942. && field.getAttribute('order1') != null) {
  6943.  
  6944. var cin = $(
  6945. 'input[name=cinOfAssociateEntityWhoseReportingDateIsDifferent'
  6946. + year + ']').val();
  6947.  
  6948. var CIN = [], c;
  6949. var index = "";
  6950. var memberName = field.getAttribute('order1');
  6951. fieldName = field.name.split('_')[0];
  6952. table = field.getAttribute('groupid');
  6953. $.each(eval("inputdata.fields[" + y + "]." + table),
  6954. function(key, val) {
  6955.  
  6956. if (key != memberName) {
  6957. c = eval("inputdata.fields[" + y + "]." + table + "['"
  6958. + key + "']." + fieldName);
  6959. if (c != "") {
  6960.  
  6961. CIN.push(c);
  6962. }
  6963. } else if (cin != "") {
  6964.  
  6965. CIN.push(cin);
  6966.  
  6967. }
  6968. });
  6969. $(CIN).each(function(k, v) {
  6970.  
  6971. index = $.map(CIN, function(o, i) {
  6972. if (o === cin)
  6973. return i;
  6974. });
  6975. if (index.length > 1) {
  6976.  
  6977. return false;
  6978. }
  6979. });
  6980.  
  6981. if (cin == cinNum || index.length > 1) {
  6982.  
  6983. if (validationType == "full") {
  6984. key = memberName;
  6985. fieldName = field.name.split('_')[0];
  6986. fname = fieldName.charAt(0).toUpperCase()
  6987. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  6988. .replace(/^ /, "").toLowerCase();
  6989. validationAlert += "<div><a eid = '" + field.name
  6990. + "' onclick ='goErrorPage(event)' memberorder='"
  6991. + key + "'>" + "<a class='errorreport' eid = '"
  6992. + field.name
  6993. + "' onclick ='goErrorPage(event)' memberorder='" + key
  6994. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  6995. + field.name + "' class='err'>" + key + "</span></a>"
  6996. + "<p>" + field.getAttribute("data-original-title")
  6997. + "</p></div>";
  6998. } else {
  6999.  
  7000. return false;
  7001.  
  7002. }
  7003. }
  7004. if (validationType == 'full') {
  7005.  
  7006. return validateCIN_PAN(field, "", "");
  7007. }
  7008.  
  7009. } else if (field.name
  7010. .indexOf("PANOfAssociateEntityWhoseReportingDateIsDifferent") != -1
  7011. && $(field).is(':visible')) {
  7012.  
  7013. var pan = $(
  7014. 'input[name=PANOfAssociateEntityWhoseReportingDateIsDifferent'
  7015. + year + ']').val();
  7016.  
  7017. var PAN = [], p;
  7018. var index = "";
  7019.  
  7020. var memberName = field.getAttribute('order1');
  7021. fieldName = field.name.split('_')[0];
  7022. table = field.getAttribute('groupid');
  7023. $.each(eval("inputdata.fields[" + y + "]." + table),
  7024. function(key, val) {
  7025.  
  7026. if (key != memberName) {
  7027. p = eval("inputdata.fields[" + y + "]." + table + "['"
  7028. + key + "']." + fieldName);
  7029. if (p != "") {
  7030.  
  7031. PAN.push(p);
  7032. }
  7033. } else if (pan != "") {
  7034.  
  7035. PAN.push(pan);
  7036.  
  7037. }
  7038. });
  7039. $(PAN).each(function(k, v) {
  7040.  
  7041. index = $.map(PAN, function(o, i) {
  7042. if (o === pan)
  7043. return i;
  7044. });
  7045. if (index.length > 1) {
  7046.  
  7047. return false;
  7048. }
  7049. });
  7050.  
  7051. if (pan == panNum || index.length > 1) {
  7052.  
  7053. if (validationType == "full") {
  7054. key = memberName;
  7055. fieldName = field.name.split('_')[0];
  7056. fname = fieldName.charAt(0).toUpperCase()
  7057. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  7058. .replace(/^ /, "").toLowerCase();
  7059. validationAlert += "<div><a eid = '" + field.name
  7060. + "' onclick ='goErrorPage(event)' memberorder='"
  7061. + key + "'>" + "<a class='errorreport' eid = '"
  7062. + field.name
  7063. + "' onclick ='goErrorPage(event)' memberorder='" + key
  7064. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  7065. + field.name + "' class='err'>" + key + "</span></a>"
  7066. + "<p>" + field.getAttribute("data-original-title")
  7067. + "</p></div>";
  7068. } else {
  7069.  
  7070. return false;
  7071.  
  7072. }
  7073. }
  7074.  
  7075. if (validationType == 'full') {
  7076.  
  7077. return validateCIN_PAN(field, "", "");
  7078.  
  7079. }
  7080.  
  7081. }
  7082.  
  7083. return true;
  7084. }
  7085. // 202500 validation starts here
  7086. function validate2380_2381(field) {
  7087.  
  7088. var year = "_CURYEAR";
  7089. var y = 0;
  7090. var yr = "current year";
  7091. if (field.name.indexOf(year) == -1) {
  7092. // this is applicable for previous year
  7093. year = "_PREVYEAR";
  7094. y = 1;
  7095. yr = "previous year";
  7096. }
  7097. /*
  7098. * if (field.name.indexOf("whetherCompanyHasInvestedInJointVentures") != -1 &&
  7099. * validationType != 'table' ) {
  7100. *
  7101. * var tMandatory = $(
  7102. * ':input[name=whetherCompanyHasInvestedInJointVentures' + year + ']
  7103. * option:selected').text();
  7104. *
  7105. * if (tMandatory == 'Yes') { var values = [];
  7106. * $ .each(
  7107. * inputdata.fields[y].disclosureOfInterestsInSignificantJointVenturesTable,
  7108. * function(key, val) {
  7109. * $ .each( eval("inputdata.fields[" + y +
  7110. * "].disclosureOfInterestsInSignificantJointVenturesTable['" + key + "']"),
  7111. * function(k, v) {
  7112. *
  7113. * if (v != "" && k != "member" && k != "memberStatus") { values.push(v); }
  7114. * }); }); if (values.length == 0) {
  7115. *
  7116. * if (validationType == "full") { key = ""; fieldName =
  7117. * field.name.split('_')[0]; fname = fieldName.charAt(0).toUpperCase() +
  7118. * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  7119. * "").toLowerCase(); validationAlert += "<div><a eid = '" + field.name + "'
  7120. * onclick ='goErrorPage(event)' memberorder='" + key + "'>" + "<a
  7121. * class='errorreport' eid = '" + field.name + "' onclick
  7122. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  7123. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  7124. * field.getAttribute("data-original-title") + "</p></div>";
  7125. * } return false; } }
  7126. * } else
  7127. */if (field.name.indexOf("cinOfJointVenturer_") != -1
  7128. && field.getAttribute("order1") != undefined) {
  7129.  
  7130. var yesRno = $(
  7131. ':input[name=whetherCompanyHasInvestedInJointVentures' + year
  7132. + '] option:selected').text();
  7133.  
  7134. if (yesRno != 'No') {
  7135.  
  7136. var pan = $('input[name=PANOfJointVenturer' + year + ']').val();
  7137. var country = $(
  7138. ':input[name=countryOfIncorporationOrResidenceOfJointlyControlledEntity'
  7139. + year + ']').val();
  7140. var cin = $('input[name=cinOfJointVenturer' + year + ']').val();
  7141. var CIN = [], c;
  7142. var index;
  7143. var index = "";
  7144. var memberName = field.getAttribute('order1');
  7145. fieldName = field.name.split('_')[0];
  7146. table = field.getAttribute('groupid');
  7147. $.each(eval("inputdata.fields[" + y + "]." + table), function(key,
  7148. val) {
  7149.  
  7150. if (key != memberName) {
  7151. c = eval("inputdata.fields[" + y + "]." + table + "['"
  7152. + key + "']." + fieldName);
  7153. if (c != "") {
  7154.  
  7155. CIN.push(c);
  7156. }
  7157. } else if (cin != "") {
  7158.  
  7159. CIN.push(cin);
  7160.  
  7161. }
  7162. });
  7163. $(CIN).each(function(k, v) {
  7164.  
  7165. index = $.map(CIN, function(o, i) {
  7166. if (o === cin)
  7167. return i;
  7168. });
  7169. if (index.length > 1) {
  7170.  
  7171. return false;
  7172. }
  7173. });
  7174.  
  7175. if ((pan === "" && cin == "" && country == "INDIA")
  7176. || cin == cinNum || index.length > 1) {
  7177.  
  7178. if (validationType == "full") {
  7179. key = memberName;
  7180. fieldName = field.name.split('_')[0];
  7181. fname = fieldName.charAt(0).toUpperCase()
  7182. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  7183. ' $1').replace(/^ /, "").toLowerCase();
  7184. validationAlert += "<div><a eid = '" + field.name
  7185. + "' onclick ='goErrorPage(event)' memberorder='"
  7186. + key + "'>" + "<a class='errorreport' eid = '"
  7187. + field.name
  7188. + "' onclick ='goErrorPage(event)' memberorder='"
  7189. + key + "'>" + fname + "(" + yr + ")</a>"
  7190. + "<span eid = '" + field.name + "' class='err'>"
  7191. + key + "</span></a>" + "<p>"
  7192. + field.getAttribute("data-original-title")
  7193. + "</p></div>";
  7194. } else {
  7195.  
  7196. return false;
  7197.  
  7198. }
  7199. }
  7200. if (validationType == 'full') {
  7201.  
  7202. return validateCIN_PAN(
  7203. field,
  7204. $('input[name=PANOfJointVenturer' + year + ']'),
  7205. $(':input[name=countryOfIncorporationOrResidenceOfJointlyControlledEntity'
  7206. + year + ']'));
  7207. }
  7208. }
  7209.  
  7210. } else if (field.name.indexOf("PANOfJointVenturer_") != -1
  7211. && field.getAttribute("order1") != undefined) {
  7212.  
  7213. var yesRno = $(
  7214. ':input[name=whetherCompanyHasInvestedInJointVentures' + year
  7215. + '] option:selected').text();
  7216. if (yesRno != 'No') {
  7217.  
  7218. var pan = $('input[name=PANOfJointVenturer' + year + ']').val();
  7219. var country = $(
  7220. ':input[name=countryOfIncorporationOrResidenceOfJointlyControlledEntity'
  7221. + year + ']').val();
  7222. var cin = $('input[name=cinOfJointVenturer' + year + ']').val();
  7223. var PAN = [], p;
  7224. var index = "";
  7225.  
  7226. var memberName = field.getAttribute('order1');
  7227. fieldName = field.name.split('_')[0];
  7228. table = field.getAttribute('groupid');
  7229. $.each(eval("inputdata.fields[" + y + "]." + table), function(key,
  7230. val) {
  7231.  
  7232. if (key != memberName) {
  7233. p = eval("inputdata.fields[" + y + "]." + table + "['"
  7234. + key + "']." + fieldName);
  7235. if (p != "") {
  7236.  
  7237. PAN.push(p);
  7238. }
  7239. } else if (pan != "") {
  7240.  
  7241. PAN.push(pan);
  7242.  
  7243. }
  7244. });
  7245. $(PAN).each(function(k, v) {
  7246.  
  7247. index = $.map(PAN, function(o, i) {
  7248. if (o === pan)
  7249. return i;
  7250. });
  7251. if (index.length > 1) {
  7252.  
  7253. return false;
  7254. }
  7255. });
  7256.  
  7257. if ((pan === "" && cin == "" && country == "INDIA")
  7258. || pan == panNum || index.length > 1) {
  7259.  
  7260. if (validationType == "full") {
  7261. key = memberName;
  7262. fieldName = field.name.split('_')[0];
  7263. fname = fieldName.charAt(0).toUpperCase()
  7264. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  7265. ' $1').replace(/^ /, "").toLowerCase();
  7266. validationAlert += "<div><a eid = '" + field.name
  7267. + "' onclick ='goErrorPage(event)' memberorder='"
  7268. + key + "'>" + "<a class='errorreport' eid = '"
  7269. + field.name
  7270. + "' onclick ='goErrorPage(event)' memberorder='"
  7271. + key + "'>" + fname + "(" + yr + ")</a>"
  7272. + "<span eid = '" + field.name + "' class='err'>"
  7273. + key + "</span></a>" + "<p>"
  7274. + field.getAttribute("data-original-title")
  7275. + "</p></div>";
  7276. } else {
  7277.  
  7278. return false;
  7279.  
  7280. }
  7281. }
  7282.  
  7283. if (validationType == 'full') {
  7284.  
  7285. return validateCIN_PAN(
  7286. field,
  7287. $('input[name=cinOfJointVenturer' + year + ']'),
  7288. $(':input[name=countryOfIncorporationOrResidenceOfJointlyControlledEntity'
  7289. + year + ']'));
  7290.  
  7291. }
  7292. }
  7293.  
  7294. } else if (field.name
  7295. .indexOf("cinOfJointVenturerWhoseReportingDateIsDifferent") != -1) {
  7296.  
  7297. var cin = $(
  7298. 'input[name=cinOfJointVenturerWhoseReportingDateIsDifferent'
  7299. + year + ']').val();
  7300.  
  7301. var CIN = [], c;
  7302. var index = "";
  7303. var memberName = field.getAttribute('order1');
  7304. fieldName = field.name.split('_')[0];
  7305. table = field.getAttribute('groupid');
  7306. $.each(eval("inputdata.fields[" + y + "]." + table),
  7307. function(key, val) {
  7308.  
  7309. if (key != memberName) {
  7310. c = eval("inputdata.fields[" + y + "]." + table + "['"
  7311. + key + "']." + fieldName);
  7312. if (c != "") {
  7313.  
  7314. CIN.push(c);
  7315. }
  7316. } else if (cin != "") {
  7317.  
  7318. CIN.push(cin);
  7319.  
  7320. }
  7321. });
  7322. $(CIN).each(function(k, v) {
  7323.  
  7324. index = $.map(CIN, function(o, i) {
  7325. if (o === cin)
  7326. return i;
  7327. });
  7328. if (index.length > 1) {
  7329.  
  7330. return false;
  7331. }
  7332. });
  7333.  
  7334. if (cin == cinNum || index.length > 1) {
  7335.  
  7336. if (validationType == "full") {
  7337. key = memberName;
  7338. fieldName = field.name.split('_')[0];
  7339. fname = fieldName.charAt(0).toUpperCase()
  7340. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  7341. .replace(/^ /, "").toLowerCase();
  7342. validationAlert += "<div><a eid = '" + field.name
  7343. + "' onclick ='goErrorPage(event)' memberorder='"
  7344. + key + "'>" + "<a class='errorreport' eid = '"
  7345. + field.name
  7346. + "' onclick ='goErrorPage(event)' memberorder='" + key
  7347. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  7348. + field.name + "' class='err'>" + key + "</span></a>"
  7349. + "<p>" + field.getAttribute("data-original-title")
  7350. + "</p></div>";
  7351. } else {
  7352.  
  7353. return false;
  7354.  
  7355. }
  7356. }
  7357. if (validationType == 'full') {
  7358.  
  7359. return validateCIN_PAN(field, "", "");
  7360. }
  7361.  
  7362. } else if (field.name
  7363. .indexOf("PANOfJointVenturerWhoseReportingDateIsDifferent") != -1) {
  7364.  
  7365. var pan = $(
  7366. 'input[name=PANOfJointVenturerWhoseReportingDateIsDifferent'
  7367. + year + ']').val();
  7368.  
  7369. var PAN = [], p;
  7370. var index = "";
  7371.  
  7372. var memberName = field.getAttribute('order1');
  7373. fieldName = field.name.split('_')[0];
  7374. table = field.getAttribute('groupid');
  7375. $.each(eval("inputdata.fields[" + y + "]." + table),
  7376. function(key, val) {
  7377.  
  7378. if (key != memberName) {
  7379. p = eval("inputdata.fields[" + y + "]." + table + "['"
  7380. + key + "']." + fieldName);
  7381. if (p != "") {
  7382.  
  7383. PAN.push(p);
  7384. }
  7385. } else if (pan != "") {
  7386.  
  7387. PAN.push(pan);
  7388.  
  7389. }
  7390. });
  7391. $(PAN).each(function(k, v) {
  7392.  
  7393. index = $.map(PAN, function(o, i) {
  7394. if (o === pan)
  7395. return i;
  7396. });
  7397. if (index.length > 1) {
  7398.  
  7399. return false;
  7400. }
  7401. });
  7402.  
  7403. if (pan == panNum || index.length > 1) {
  7404.  
  7405. if (validationType == "full") {
  7406. key = memberName;
  7407. fieldName = field.name.split('_')[0];
  7408. fname = fieldName.charAt(0).toUpperCase()
  7409. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  7410. .replace(/^ /, "").toLowerCase();
  7411. validationAlert += "<div><a eid = '" + field.name
  7412. + "' onclick ='goErrorPage(event)' memberorder='"
  7413. + key + "'>" + "<a class='errorreport' eid = '"
  7414. + field.name
  7415. + "' onclick ='goErrorPage(event)' memberorder='" + key
  7416. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  7417. + field.name + "' class='err'>" + key + "</span></a>"
  7418. + "<p>" + field.getAttribute("data-original-title")
  7419. + "</p></div>";
  7420. } else {
  7421.  
  7422. return false;
  7423.  
  7424. }
  7425. }
  7426.  
  7427. if (validationType == 'full') {
  7428.  
  7429. return validateCIN_PAN(field, "", "");
  7430.  
  7431. }
  7432.  
  7433. }/*
  7434. * else if (field.name.indexOf("cinOfJointVenturer") != -1) {
  7435. *
  7436. * var flag = true; table = field.getAttribute('groupid'); fieldName =
  7437. * field.name.split('_')[0]; if (validationType == "full") {
  7438. * $ .each( eval("inputdata.fields[" + y + "]." + table), function(key,
  7439. * val) {
  7440. *
  7441. * var tablenotall = field.getAttribute(
  7442. * 'tablenotall').replace(/Member/g, '') .split(','); found =
  7443. * $.inArray(key, tablenotall); mstatus = eval("inputdata.fields[" + y +
  7444. * "]." + table + "['" + key + "'].memberStatus");
  7445. *
  7446. * if (found == -1 && mstatus == 'on') {
  7447. *
  7448. * PAN = eval("inputdata.fields[" + y + "]." + table + "['" + key +
  7449. * "'].PANOfJointVenturer"); country = eval("inputdata.fields[" + y +
  7450. * "]." + table + "['" + key +
  7451. * "'].countryOfIncorporationOrResidenceOfJointlyControlledEntity"); CIN =
  7452. * eval("inputdata.fields[" + y + "]." + table + "['" + key +
  7453. * "'].cinOfJointVenturer"); if (PAN === "" && CIN == "" && country ==
  7454. * "INDIA") {
  7455. *
  7456. * fname = fieldName.charAt(0) .toUpperCase() +
  7457. * fieldName.substr(1).replace( /([A-Z][a-z])/g, ' $1') .replace(/^ /,
  7458. * "") .toLowerCase(); validationAlert += "<div><a eid = '" +
  7459. * field.name + "' onclick ='goErrorPage(event)' memberorder='" + key +
  7460. * "'>" + "<a class='errorreport' eid = '" + field.name + "' onclick
  7461. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  7462. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  7463. * field .getAttribute("data-original-title") + "</p></div>";
  7464. *
  7465. * flag = false; }
  7466. * } });
  7467. *
  7468. * if (flag == false) {
  7469. *
  7470. * return false; }
  7471. * } else {
  7472. *
  7473. * var PAN = $('input[name=PANOfJointVenturer' + year + ']').val(); var
  7474. * country = $(
  7475. * ':input[name=countryOfIncorporationOrResidenceOfJointlyControlledEntity' +
  7476. * year + ']').val(); var CIN = $('input[name=cinOfJointVenturer' + year +
  7477. * ']').val(); if (PAN === "" && CIN == "" && country == "INDIA") {
  7478. * return false; } }
  7479. * } else if (field.name.indexOf("PANOfJointVenturer") != -1) {
  7480. *
  7481. * var flag = true; table = field.getAttribute('groupid'); fieldName =
  7482. * field.name.split('_')[0]; if (validationType == "full") {
  7483. * $ .each( eval("inputdata.fields[" + y + "]." + table), function(key,
  7484. * val) {
  7485. *
  7486. * var tablenotall = field.getAttribute(
  7487. * 'tablenotall').replace(/Member/g, '') .split(','); found =
  7488. * $.inArray(key, tablenotall); mstatus = eval("inputdata.fields[" + y +
  7489. * "]." + table + "['" + key + "'].memberStatus");
  7490. *
  7491. * if (found == -1 && mstatus == 'on') {
  7492. *
  7493. * PAN = eval("inputdata.fields[" + y + "]." + table + "['" + key +
  7494. * "'].PANOfJointVenturer"); country = eval("inputdata.fields[" + y +
  7495. * "]." + table + "['" + key +
  7496. * "'].countryOfIncorporationOrResidenceOfJointlyControlledEntity"); CIN =
  7497. * eval("inputdata.fields[" + y + "]." + table + "['" + key +
  7498. * "'].cinOfJointVenturer"); if (PAN === "" && CIN == "" && country ==
  7499. * "INDIA") {
  7500. *
  7501. * fname = fieldName.charAt(0) .toUpperCase() +
  7502. * fieldName.substr(1).replace( /([A-Z][a-z])/g, ' $1') .replace(/^ /,
  7503. * "") .toLowerCase(); validationAlert += "<div><a eid = '" +
  7504. * field.name + "' onclick ='goErrorPage(event)' memberorder='" + key +
  7505. * "'>" + "<a class='errorreport' eid = '" + field.name + "' onclick
  7506. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  7507. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  7508. * field .getAttribute("data-original-title") + "</p></div>";
  7509. *
  7510. * flag = false; }
  7511. * } });
  7512. *
  7513. * if (flag == false) {
  7514. *
  7515. * return false; }
  7516. * } else {
  7517. *
  7518. * var PAN = $('input[name=PANOfJointVenturer' + year + ']').val(); var
  7519. * country = $(
  7520. * ':input[name=countryOfIncorporationOrResidenceOfJointlyControlledEntity' +
  7521. * year + ']').val(); var CIN = $('input[name=cinOfJointVenturer' + year +
  7522. * ']').val(); if (PAN === "" && CIN == "" && country == "INDIA") {
  7523. * return false; } } }
  7524. */
  7525. return true;
  7526. }
  7527.  
  7528. // 202800 validation starts here
  7529. function validate2454_2455_2458_2459_2462to2470_2488to2494(field) {
  7530.  
  7531. var year = "_CURYEAR";
  7532. var y = 0;
  7533. yr = "current year";
  7534. if (field.name.indexOf(year) == -1) {
  7535. // this is applicable for previous year
  7536. year = "_PREVYEAR";
  7537. y = 1;
  7538. yr = "previous year";
  7539. }
  7540. /*
  7541. * if (field.name.indexOf("whetherCompanyHasSubsidiaryCompanies") != -1 &&
  7542. * validationType == 'full') {
  7543. *
  7544. * var tMandatory = $( ':input[name=whetherCompanyHasSubsidiaryCompanies' +
  7545. * year + '] option:selected').text();
  7546. *
  7547. * if (tMandatory == 'Yes') { var values = [];
  7548. *
  7549. * $.each(inputdata.fields[y].detailsOfSubsidiariesTable, function( key,
  7550. * val) {
  7551. * $ .each( eval("inputdata.fields[" + y + "].detailsOfSubsidiariesTable['" +
  7552. * key + "']"), function(k, v) {
  7553. *
  7554. * if (v != "" && k != "member" && k != "memberStatus") { values.push(v); }
  7555. * }); }); if (values.length == 0) {
  7556. *
  7557. * key = ""; fieldName = field.name.split('_')[0]; fname =
  7558. * fieldName.charAt(0).toUpperCase() +
  7559. * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  7560. * "").toLowerCase(); validationAlert += "<div><a eid = '" + field.name + "'
  7561. * onclick ='goErrorPage(event)' memberorder='" + key + "'>" + "<a
  7562. * class='errorreport' eid = '" + field.name + "' onclick
  7563. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  7564. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  7565. * field.getAttribute("data-original-title") + "</p></div>";
  7566. *
  7567. * return false; } }
  7568. * } else
  7569. */if (field.name.indexOf("CINOfSubsidiaryCompany") != -1
  7570. && field.getAttribute('order1') != undefined) {
  7571.  
  7572. var tMandatory = $(
  7573. ':input[name=whetherCompanyHasSubsidiaryCompanies' + year
  7574. + '] option:selected').text();
  7575.  
  7576. if (tMandatory != 'No') {
  7577.  
  7578. var pan = $('input[name=PANOfSubsidiaryCompany' + year + ']').val();
  7579. var country = $(
  7580. ':input[name=countryOfIncorporationOrResidenceOfSubsidiary'
  7581. + year + ']').val();
  7582. var cin = $('input[name=CINOfSubsidiaryCompany' + year + ']').val();
  7583.  
  7584. var CIN = [], c;
  7585. var index = "";
  7586. var memberName = field.getAttribute('order1');
  7587. fieldName = field.name.split('_')[0];
  7588. table = field.getAttribute('groupid');
  7589. $.each(eval("inputdata.fields[" + y + "]." + table), function(key,
  7590. val) {
  7591.  
  7592. if (key != memberName) {
  7593. c = eval("inputdata.fields[" + y + "]." + table + "['"
  7594. + key + "']." + fieldName);
  7595. if (c != "") {
  7596.  
  7597. CIN.push(c);
  7598. }
  7599. } else if (cin != "") {
  7600.  
  7601. CIN.push(cin);
  7602.  
  7603. }
  7604. });
  7605. $(CIN).each(function(k, v) {
  7606.  
  7607. index = $.map(CIN, function(o, i) {
  7608. if (o === cin)
  7609. return i;
  7610. });
  7611. if (index.length > 1) {
  7612.  
  7613. return false;
  7614. }
  7615. });
  7616.  
  7617. if ((pan === "" && cin == "" && country == "INDIA")
  7618. || cin == cinNum || index.length > 1) {
  7619.  
  7620. if (validationType == "full") {
  7621. key = memberName;
  7622. fieldName = field.name.split('_')[0];
  7623. fname = fieldName.charAt(0).toUpperCase()
  7624. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  7625. ' $1').replace(/^ /, "").toLowerCase();
  7626. validationAlert += "<div><a eid = '" + field.name
  7627. + "' onclick ='goErrorPage(event)' memberorder='"
  7628. + key + "'>" + "<a class='errorreport' eid = '"
  7629. + field.name
  7630. + "' onclick ='goErrorPage(event)' memberorder='"
  7631. + key + "'>" + fname + "(" + yr + ")</a>"
  7632. + "<span eid = '" + field.name + "' class='err'>"
  7633. + key + "</span></a>" + "<p>"
  7634. + field.getAttribute("data-original-title")
  7635. + "</p></div>";
  7636. } else {
  7637.  
  7638. return false;
  7639.  
  7640. }
  7641. }
  7642. if (validationType == 'full') {
  7643.  
  7644. return validateCIN_PAN(
  7645. field,
  7646. $('input[name=PANOfSubsidiaryCompany' + year + ']'),
  7647. $(':input[name=countryOfIncorporationOrResidenceOfSubsidiary'
  7648. + year + ']'));
  7649. }
  7650. }
  7651.  
  7652. } else if (field.name.indexOf("PANOfSubsidiaryCompany") != -1
  7653. && field.getAttribute('order1') != undefined) {
  7654.  
  7655. var tMandatory = $(
  7656. ':input[name=whetherCompanyHasSubsidiaryCompanies' + year
  7657. + '] option:selected').text();
  7658.  
  7659. if (tMandatory != 'No') {
  7660.  
  7661. var pan = $('input[name=PANOfSubsidiaryCompany' + year + ']').val();
  7662. var country = $(
  7663. ':input[name=countryOfIncorporationOrResidenceOfSubsidiary'
  7664. + year + ']').val();
  7665. var cin = $('input[name=CINOfSubsidiaryCompany' + year + ']').val();
  7666.  
  7667. var PAN = [], p;
  7668. var index = "";
  7669.  
  7670. var memberName = field.getAttribute('order1');
  7671. fieldName = field.name.split('_')[0];
  7672. table = field.getAttribute('groupid');
  7673. $.each(eval("inputdata.fields[" + y + "]." + table), function(key,
  7674. val) {
  7675.  
  7676. if (key != memberName) {
  7677. p = eval("inputdata.fields[" + y + "]." + table + "['"
  7678. + key + "']." + fieldName);
  7679. if (p != "") {
  7680.  
  7681. PAN.push(p);
  7682. }
  7683. } else if (pan != "") {
  7684.  
  7685. PAN.push(pan);
  7686.  
  7687. }
  7688. });
  7689. $(PAN).each(function(k, v) {
  7690.  
  7691. index = $.map(PAN, function(o, i) {
  7692. if (o === pan)
  7693. return i;
  7694. });
  7695. if (index.length > 1) {
  7696.  
  7697. return false;
  7698. }
  7699. });
  7700.  
  7701. if ((pan === "" && cin == "" && country == "INDIA")
  7702. || pan == panNum || index.length > 1) {
  7703.  
  7704. if (validationType == "full") {
  7705. key = memberName;
  7706. fieldName = field.name.split('_')[0];
  7707. fname = fieldName.charAt(0).toUpperCase()
  7708. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  7709. ' $1').replace(/^ /, "").toLowerCase();
  7710. validationAlert += "<div><a eid = '" + field.name
  7711. + "' onclick ='goErrorPage(event)' memberorder='"
  7712. + key + "'>" + "<a class='errorreport' eid = '"
  7713. + field.name
  7714. + "' onclick ='goErrorPage(event)' memberorder='"
  7715. + key + "'>" + fname + "(" + yr + ")</a>"
  7716. + "<span eid = '" + field.name + "' class='err'>"
  7717. + key + "</span></a>" + "<p>"
  7718. + field.getAttribute("data-original-title")
  7719. + "</p></div>";
  7720. } else {
  7721.  
  7722. return false;
  7723.  
  7724. }
  7725. }
  7726.  
  7727. if (validationType == 'full') {
  7728.  
  7729. return validateCIN_PAN(
  7730. field,
  7731. $('input[name=CINOfSubsidiaryCompany' + year + ']'),
  7732. $(':input[name=countryOfIncorporationOrResidenceOfSubsidiary'
  7733. + year + ']'));
  7734.  
  7735. }
  7736. }
  7737.  
  7738. } else if (field.name.indexOf("SRNOfFilingOfBalanceSheetBySubsidiary") != -1) {
  7739.  
  7740. var flag = true;
  7741. table = field.getAttribute('groupid');
  7742. fieldName = field.name.split('_')[0];
  7743. if (validationType == "full") {
  7744.  
  7745. $
  7746. .each(
  7747. eval("inputdata.fields[" + y + "]." + table),
  7748. function(key, val) {
  7749.  
  7750. var tablenotall = field.getAttribute(
  7751. 'tablenotall').replace(/Member/g, '')
  7752. .split(',');
  7753. found = $.inArray(key, tablenotall);
  7754. mstatus = eval("inputdata.fields[" + y + "]."
  7755. + table + "['" + key
  7756. + "'].memberStatus");
  7757.  
  7758. if (found == -1 && mstatus == 'on') {
  7759.  
  7760. SRN = eval("inputdata.fields["
  7761. + y
  7762. + "]."
  7763. + table
  7764. + "['"
  7765. + key
  7766. + "'].SRNOfFilingOfBalanceSheetBySubsidiary");
  7767. hasFiled = eval("inputdata.fields["
  7768. + y
  7769. + "]."
  7770. + table
  7771. + "['"
  7772. + key
  7773. + "'].whetherSubsidiaryHasFiledBalanceSheet");
  7774. CIN = eval("inputdata.fields[" + y + "]."
  7775. + table + "['" + key
  7776. + "'].CINOfSubsidiaryCompany");
  7777. if (hasFiled == "Yes" && CIN != ""
  7778. && SRN == "") {
  7779.  
  7780. fname = fieldName.charAt(0)
  7781. .toUpperCase()
  7782. + fieldName.substr(1).replace(
  7783. /([A-Z][a-z])/g, ' $1')
  7784. .replace(/^ /, "")
  7785. .toLowerCase();
  7786. validationAlert += "<div><a eid = '"
  7787. + field.name
  7788. + "' onclick ='goErrorPage(event)' memberorder='"
  7789. + key
  7790. + "'>"
  7791. + "<a class='errorreport' eid = '"
  7792. + field.name
  7793. + "' onclick ='goErrorPage(event)' memberorder='"
  7794. + key
  7795. + "'>"
  7796. + fname
  7797. + "("
  7798. + yr
  7799. + ")</a>"
  7800. + "<span eid = '"
  7801. + field.name
  7802. + "' class='err'>"
  7803. + key
  7804. + "</span></a>"
  7805. + "<p>"
  7806. + field
  7807. .getAttribute("data-original-title")
  7808. + "</p></div>";
  7809.  
  7810. flag = false;
  7811. }
  7812.  
  7813. }
  7814. });
  7815.  
  7816. if (flag == false) {
  7817.  
  7818. return false;
  7819. }
  7820.  
  7821. } else {
  7822.  
  7823. var SRN = $(
  7824. 'input[name=SRNOfFilingOfBalanceSheetBySubsidiary' + year
  7825. + ']').val();
  7826. var hasFiled = $(
  7827. ':input[name=whetherSubsidiaryHasFiledBalanceSheet' + year
  7828. + '] option:selected').text();
  7829. var CIN = $('input[name=CINOfSubsidiaryCompany' + year + ']').val();
  7830. if (hasFiled == "Yes" && CIN != "" && SRN == "") {
  7831. return false;
  7832. }
  7833. }
  7834. } else if (field.name.indexOf("reasonIfNoFilingHasBeenMadeBySubsidiary") != -1) {
  7835.  
  7836. var flag = true;
  7837. table = field.getAttribute('groupid');
  7838. fieldName = field.name.split('_')[0];
  7839. if (validationType == "full") {
  7840.  
  7841. $
  7842. .each(
  7843. eval("inputdata.fields[" + y + "]." + table),
  7844. function(key, val) {
  7845.  
  7846. var tablenotall = field.getAttribute(
  7847. 'tablenotall').replace(/Member/g, '')
  7848. .split(',');
  7849. found = $.inArray(key, tablenotall);
  7850. mstatus = eval("inputdata.fields[" + y + "]."
  7851. + table + "['" + key
  7852. + "'].memberStatus");
  7853.  
  7854. if (found == -1 && mstatus == 'on') {
  7855.  
  7856. fvalue = eval("inputdata.fields["
  7857. + y
  7858. + "]."
  7859. + table
  7860. + "['"
  7861. + key
  7862. + "'].reasonIfNoFilingHasBeenMadeBySubsidiary");
  7863. hasFiled = eval("inputdata.fields["
  7864. + y
  7865. + "]."
  7866. + table
  7867. + "['"
  7868. + key
  7869. + "'].whetherSubsidiaryHasFiledBalanceSheet");
  7870. CIN = eval("inputdata.fields[" + y + "]."
  7871. + table + "['" + key
  7872. + "'].CINOfSubsidiaryCompany");
  7873. if (hasFiled == "No" && CIN != ""
  7874. && fvalue == "") {
  7875.  
  7876. fname = fieldName.charAt(0)
  7877. .toUpperCase()
  7878. + fieldName.substr(1).replace(
  7879. /([A-Z][a-z])/g, ' $1')
  7880. .replace(/^ /, "")
  7881. .toLowerCase();
  7882. validationAlert += "<div><a eid = '"
  7883. + field.name
  7884. + "' onclick ='goErrorPage(event)' memberorder='"
  7885. + key
  7886. + "'>"
  7887. + "<a class='errorreport' eid = '"
  7888. + field.name
  7889. + "' onclick ='goErrorPage(event)' memberorder='"
  7890. + key
  7891. + "'>"
  7892. + fname
  7893. + "("
  7894. + yr
  7895. + ")</a>"
  7896. + "<span eid = '"
  7897. + field.name
  7898. + "' class='err'>"
  7899. + key
  7900. + "</span></a>"
  7901. + "<p>"
  7902. + field
  7903. .getAttribute("data-original-title")
  7904. + "</p></div>";
  7905.  
  7906. flag = false;
  7907. }
  7908.  
  7909. }
  7910. });
  7911.  
  7912. if (flag == false) {
  7913.  
  7914. return false;
  7915. }
  7916.  
  7917. } else {
  7918.  
  7919. var hasFiled = $(
  7920. ':input[name=whetherSubsidiaryHasFiledBalanceSheet' + year
  7921. + '] option:selected').text();
  7922. var CIN = $(':input[name=CINOfSubsidiaryCompany' + year + ']')
  7923. .val();
  7924. if (hasFiled == "No" && CIN != "" && field.value == "") {
  7925. return false;
  7926. }
  7927.  
  7928. }
  7929. } else if (field.name.indexOf("endDateOfAccountingPeriodOfSubsidiary") != -1) {
  7930.  
  7931. var flag = true;
  7932. table = field.getAttribute('groupid');
  7933. fieldName = field.name.split('_')[0];
  7934. if (validationType == "full") {
  7935.  
  7936. $
  7937. .each(
  7938. eval("inputdata.fields[" + y + "]." + table),
  7939. function(key, val) {
  7940.  
  7941. var tablenotall = field.getAttribute(
  7942. 'tablenotall').replace(/Member/g, '')
  7943. .split(',');
  7944. found = $.inArray(key, tablenotall);
  7945. mstatus = eval("inputdata.fields[" + y + "]."
  7946. + table + "['" + key
  7947. + "'].memberStatus");
  7948.  
  7949. if (found == -1 && mstatus == 'on') {
  7950.  
  7951. startDate = eval("inputdata.fields["
  7952. + y
  7953. + "]."
  7954. + table
  7955. + "['"
  7956. + key
  7957. + "'].startDateOfAccountingPeriodOfSubsidiary");
  7958. endDate = eval("inputdata.fields["
  7959. + y
  7960. + "]."
  7961. + table
  7962. + "['"
  7963. + key
  7964. + "'].endDateOfAccountingPeriodOfSubsidiary");
  7965.  
  7966. if (startDate > endDate) {
  7967.  
  7968. fname = fieldName.charAt(0)
  7969. .toUpperCase()
  7970. + fieldName.substr(1).replace(
  7971. /([A-Z][a-z])/g, ' $1')
  7972. .replace(/^ /, "")
  7973. .toLowerCase();
  7974. validationAlert += "<div><a eid = '"
  7975. + field.name
  7976. + "' onclick ='goErrorPage(event)' memberorder='"
  7977. + key
  7978. + "'>"
  7979. + "<a class='errorreport' eid = '"
  7980. + field.name
  7981. + "' onclick ='goErrorPage(event)' memberorder='"
  7982. + key
  7983. + "'>"
  7984. + fname
  7985. + "("
  7986. + yr
  7987. + ")</a>"
  7988. + "<span eid = '"
  7989. + field.name
  7990. + "' class='err'>"
  7991. + key
  7992. + "</span></a>"
  7993. + "<p>"
  7994. + field
  7995. .getAttribute("data-original-title")
  7996. + "</p></div>";
  7997.  
  7998. flag = false;
  7999. }
  8000.  
  8001. }
  8002. });
  8003.  
  8004. if (flag == false) {
  8005.  
  8006. return false;
  8007. }
  8008.  
  8009. } else {
  8010.  
  8011. var startDate = new Date($(
  8012. 'input[name=startDateOfAccountingPeriodOfSubsidiary' + year
  8013. + ']').val());
  8014. var endDate = new Date($(
  8015. 'input[name=endDateOfAccountingPeriodOfSubsidiary' + year
  8016. + ']').val());
  8017.  
  8018. if (startDate > endDate) {
  8019. return false;
  8020. }
  8021. }
  8022. } else if (field.name.indexOf("dateOfCeasingToBeSubsidiary") != -1) {
  8023.  
  8024. var flag = true;
  8025. table = field.getAttribute('groupid');
  8026. fieldName = field.name.split('_')[0];
  8027. if (validationType == "full") {
  8028.  
  8029. $
  8030. .each(
  8031. eval("inputdata.fields[" + y + "]." + table),
  8032. function(key, val) {
  8033.  
  8034. var tablenotall = field.getAttribute(
  8035. 'tablenotall').replace(/Member/g, '')
  8036. .split(',');
  8037. found = $.inArray(key, tablenotall);
  8038. mstatus = eval("inputdata.fields[" + y + "]."
  8039. + table + "['" + key
  8040. + "'].memberStatus");
  8041.  
  8042. if (found == -1 && mstatus == 'on') {
  8043.  
  8044. becomingDate = new Date(
  8045. eval("inputdata.fields["
  8046. + y
  8047. + "]."
  8048. + table
  8049. + "['"
  8050. + key
  8051. + "'].dateOfBecomingSubsidiary"));
  8052. ceasingDate = new Date(
  8053. eval("inputdata.fields["
  8054. + y
  8055. + "]."
  8056. + table
  8057. + "['"
  8058. + key
  8059. + "'].dateOfCeasingToBeSubsidiary"));
  8060.  
  8061. if (becomingDate > ceasingDate) {
  8062.  
  8063. fname = fieldName.charAt(0)
  8064. .toUpperCase()
  8065. + fieldName.substr(1).replace(
  8066. /([A-Z][a-z])/g, ' $1')
  8067. .replace(/^ /, "")
  8068. .toLowerCase();
  8069. validationAlert += "<div><a eid = '"
  8070. + field.name
  8071. + "' onclick ='goErrorPage(event)' memberorder='"
  8072. + key
  8073. + "'>"
  8074. + "<a class='errorreport' eid = '"
  8075. + field.name
  8076. + "' onclick ='goErrorPage(event)' memberorder='"
  8077. + key
  8078. + "'>"
  8079. + fname
  8080. + "("
  8081. + yr
  8082. + ")</a>"
  8083. + "<span eid = '"
  8084. + field.name
  8085. + "' class='err'>"
  8086. + key
  8087. + "</span></a>"
  8088. + "<p>"
  8089. + field
  8090. .getAttribute("data-original-title")
  8091. + "</p></div>";
  8092.  
  8093. flag = false;
  8094. }
  8095.  
  8096. }
  8097. });
  8098.  
  8099. if (flag == false) {
  8100.  
  8101. return false;
  8102. }
  8103.  
  8104. } else {
  8105.  
  8106. var becomingDate = new Date($(
  8107. 'input[name=dateOfBecomingSubsidiary' + year + ']').val());
  8108. var ceasingDate = new Date($(
  8109. 'input[name=dateOfCeasingToBeSubsidiary' + year + ']')
  8110. .val());
  8111.  
  8112. if (becomingDate > ceasingDate) {
  8113. return false;
  8114. }
  8115. }
  8116. } else if (field.name.indexOf("numberOfSharesHeldOfSubsidiary") != -1) {
  8117.  
  8118. var flag = true;
  8119. table = field.getAttribute('groupid');
  8120. fieldName = field.name.split('_')[0];
  8121. if (validationType == "full") {
  8122.  
  8123. $
  8124. .each(
  8125. eval("inputdata.fields[" + y + "]." + table),
  8126. function(key, val) {
  8127.  
  8128. var tablenotall = field.getAttribute(
  8129. 'tablenotall').replace(/Member/g, '')
  8130. .split(',');
  8131. found = $.inArray(key, tablenotall);
  8132. mstatus = eval("inputdata.fields[" + y + "]."
  8133. + table + "['" + key
  8134. + "'].memberStatus");
  8135.  
  8136. if (found == -1 && mstatus == 'on') {
  8137.  
  8138. NoShares = eval("inputdata.fields["
  8139. + y
  8140. + "]."
  8141. + table
  8142. + "['"
  8143. + key
  8144. + "'].numberOfSharesHeldOfSubsidiary");
  8145. valShares = eval("inputdata.fields["
  8146. + y
  8147. + "]."
  8148. + table
  8149. + "['"
  8150. + key
  8151. + "'].faceValueOfSharesOfSubsidiary");
  8152.  
  8153. if (NoShares == "" && valShares != "") {
  8154.  
  8155. fname = fieldName.charAt(0)
  8156. .toUpperCase()
  8157. + fieldName.substr(1).replace(
  8158. /([A-Z][a-z])/g, ' $1')
  8159. .replace(/^ /, "")
  8160. .toLowerCase();
  8161. validationAlert += "<div><a eid = '"
  8162. + field.name
  8163. + "' onclick ='goErrorPage(event)' memberorder='"
  8164. + key
  8165. + "'>"
  8166. + "<a class='errorreport' eid = '"
  8167. + field.name
  8168. + "' onclick ='goErrorPage(event)' memberorder='"
  8169. + key
  8170. + "'>"
  8171. + fname
  8172. + "("
  8173. + yr
  8174. + ")</a>"
  8175. + "<span eid = '"
  8176. + field.name
  8177. + "' class='err'>"
  8178. + key
  8179. + "</span></a>"
  8180. + "<p>"
  8181. + field
  8182. .getAttribute("data-original-title")
  8183. + "</p></div>";
  8184.  
  8185. flag = false;
  8186. }
  8187.  
  8188. }
  8189. });
  8190.  
  8191. if (flag == false) {
  8192.  
  8193. return false;
  8194. }
  8195.  
  8196. } else {
  8197.  
  8198. var NoShares = $(
  8199. 'input[name=numberOfSharesHeldOfSubsidiary' + year + ']')
  8200. .val();
  8201. var valShares = $(
  8202. 'input[name=faceValueOfSharesOfSubsidiary' + year + ']')
  8203. .val();
  8204.  
  8205. if (NoShares == "" && valShares != "") {
  8206. return false;
  8207. }
  8208. }
  8209. } else if (field.name.indexOf("faceValueOfSharesOfSubsidiary") != -1) {
  8210.  
  8211. var flag = true;
  8212. table = field.getAttribute('groupid');
  8213. fieldName = field.name.split('_')[0];
  8214. if (validationType == "full") {
  8215.  
  8216. $
  8217. .each(
  8218. eval("inputdata.fields[" + y + "]." + table),
  8219. function(key, val) {
  8220.  
  8221. var tablenotall = field.getAttribute(
  8222. 'tablenotall').replace(/Member/g, '')
  8223. .split(',');
  8224. found = $.inArray(key, tablenotall);
  8225. mstatus = eval("inputdata.fields[" + y + "]."
  8226. + table + "['" + key
  8227. + "'].memberStatus");
  8228.  
  8229. if (found == -1 && mstatus == 'on') {
  8230.  
  8231. NoShares = eval("inputdata.fields["
  8232. + y
  8233. + "]."
  8234. + table
  8235. + "['"
  8236. + key
  8237. + "'].numberOfSharesHeldOfSubsidiary");
  8238. valShares = eval("inputdata.fields["
  8239. + y
  8240. + "]."
  8241. + table
  8242. + "['"
  8243. + key
  8244. + "'].faceValueOfSharesOfSubsidiary");
  8245.  
  8246. if (valShares == "" && NoShares != "") {
  8247.  
  8248. fname = fieldName.charAt(0)
  8249. .toUpperCase()
  8250. + fieldName.substr(1).replace(
  8251. /([A-Z][a-z])/g, ' $1')
  8252. .replace(/^ /, "")
  8253. .toLowerCase();
  8254. validationAlert += "<div><a eid = '"
  8255. + field.name
  8256. + "' onclick ='goErrorPage(event)' memberorder='"
  8257. + key
  8258. + "'>"
  8259. + "<a class='errorreport' eid = '"
  8260. + field.name
  8261. + "' onclick ='goErrorPage(event)' memberorder='"
  8262. + key
  8263. + "'>"
  8264. + fname
  8265. + "("
  8266. + yr
  8267. + ")</a>"
  8268. + "<span eid = '"
  8269. + field.name
  8270. + "' class='err'>"
  8271. + key
  8272. + "</span></a>"
  8273. + "<p>"
  8274. + field
  8275. .getAttribute("data-original-title")
  8276. + "</p></div>";
  8277.  
  8278. flag = false;
  8279. }
  8280.  
  8281. }
  8282. });
  8283.  
  8284. if (flag == false) {
  8285.  
  8286. return false;
  8287. }
  8288.  
  8289. } else {
  8290.  
  8291. var NoShares = $(
  8292. 'input[name=numberOfSharesHeldOfSubsidiary' + year + ']')
  8293. .val();
  8294. var valShares = $(
  8295. 'input[name=faceValueOfSharesOfSubsidiary' + year + ']')
  8296. .val();
  8297.  
  8298. if (valShares == "" && NoShares != "") {
  8299. return false;
  8300. }
  8301. }
  8302. } else if (field.name.indexOf("paidUpValueOfSharesHeldOfSubsidiary") != -1) {
  8303.  
  8304. var flag = true;
  8305. table = field.getAttribute('groupid');
  8306. fieldName = field.name.split('_')[0];
  8307. if (validationType == "full") {
  8308.  
  8309. $
  8310. .each(
  8311. eval("inputdata.fields[" + y + "]." + table),
  8312. function(key, val) {
  8313.  
  8314. var tablenotall = field.getAttribute(
  8315. 'tablenotall').replace(/Member/g, '')
  8316. .split(',');
  8317. found = $.inArray(key, tablenotall);
  8318. mstatus = eval("inputdata.fields[" + y + "]."
  8319. + table + "['" + key
  8320. + "'].memberStatus");
  8321.  
  8322. if (found == -1 && mstatus == 'on') {
  8323.  
  8324. NoShares = eval("inputdata.fields["
  8325. + y
  8326. + "]."
  8327. + table
  8328. + "['"
  8329. + key
  8330. + "'].numberOfSharesHeldOfSubsidiary");
  8331. paidupValShares = eval("inputdata.fields["
  8332. + y
  8333. + "]."
  8334. + table
  8335. + "['"
  8336. + key
  8337. + "'].paidUpValueOfSharesHeldOfSubsidiary");
  8338.  
  8339. if (paidupValShares == "" && NoShares != "") {
  8340.  
  8341. fname = fieldName.charAt(0)
  8342. .toUpperCase()
  8343. + fieldName.substr(1).replace(
  8344. /([A-Z][a-z])/g, ' $1')
  8345. .replace(/^ /, "")
  8346. .toLowerCase();
  8347. validationAlert += "<div><a eid = '"
  8348. + field.name
  8349. + "' onclick ='goErrorPage(event)' memberorder='"
  8350. + key
  8351. + "'>"
  8352. + "<a class='errorreport' eid = '"
  8353. + field.name
  8354. + "' onclick ='goErrorPage(event)' memberorder='"
  8355. + key
  8356. + "'>"
  8357. + fname
  8358. + "("
  8359. + yr
  8360. + ")</a>"
  8361. + "<span eid = '"
  8362. + field.name
  8363. + "' class='err'>"
  8364. + key
  8365. + "</span></a>"
  8366. + "<p>"
  8367. + field
  8368. .getAttribute("data-original-title")
  8369. + "</p></div>";
  8370.  
  8371. flag = false;
  8372. }
  8373.  
  8374. }
  8375. });
  8376.  
  8377. if (flag == false) {
  8378.  
  8379. return false;
  8380. }
  8381.  
  8382. } else {
  8383.  
  8384. var NoShares = $(
  8385. 'input[name=numberOfSharesHeldOfSubsidiary' + year + ']')
  8386. .val();
  8387. var paidupValShares = $(
  8388. 'input[name=paidUpValueOfSharesHeldOfSubsidiary' + year
  8389. + ']').val();
  8390.  
  8391. if (paidupValShares == "" && NoShares != "") {
  8392. return false;
  8393. }
  8394. }
  8395. } else if (field.name.indexOf("percentageOfShareholdingInSubsidiary") != -1) {
  8396.  
  8397. var flag = true;
  8398. table = field.getAttribute('groupid');
  8399. fieldName = field.name.split('_')[0];
  8400. if (validationType == "full") {
  8401.  
  8402. $
  8403. .each(
  8404. eval("inputdata.fields[" + y + "]." + table),
  8405. function(key, val) {
  8406.  
  8407. var tablenotall = field.getAttribute(
  8408. 'tablenotall').replace(/Member/g, '')
  8409. .split(',');
  8410. found = $.inArray(key, tablenotall);
  8411. mstatus = eval("inputdata.fields[" + y + "]."
  8412. + table + "['" + key
  8413. + "'].memberStatus");
  8414.  
  8415. if (found == -1 && mstatus == 'on') {
  8416.  
  8417. holdingShares = eval("inputdata.fields["
  8418. + y
  8419. + "]."
  8420. + table
  8421. + "['"
  8422. + key
  8423. + "'].percentageOfShareholdingInSubsidiary");
  8424. paidupValShares = eval("inputdata.fields["
  8425. + y
  8426. + "]."
  8427. + table
  8428. + "['"
  8429. + key
  8430. + "'].paidUpValueOfSharesHeldOfSubsidiary");
  8431.  
  8432. if (holdingShares == ""
  8433. && paidupValShares != "") {
  8434.  
  8435. fname = fieldName.charAt(0)
  8436. .toUpperCase()
  8437. + fieldName.substr(1).replace(
  8438. /([A-Z][a-z])/g, ' $1')
  8439. .replace(/^ /, "")
  8440. .toLowerCase();
  8441. validationAlert += "<div><a eid = '"
  8442. + field.name
  8443. + "' onclick ='goErrorPage(event)' memberorder='"
  8444. + key
  8445. + "'>"
  8446. + "<a class='errorreport' eid = '"
  8447. + field.name
  8448. + "' onclick ='goErrorPage(event)' memberorder='"
  8449. + key
  8450. + "'>"
  8451. + fname
  8452. + "("
  8453. + yr
  8454. + ")</a>"
  8455. + "<span eid = '"
  8456. + field.name
  8457. + "' class='err'>"
  8458. + key
  8459. + "</span></a>"
  8460. + "<p>"
  8461. + field
  8462. .getAttribute("data-original-title")
  8463. + "</p></div>";
  8464.  
  8465. flag = false;
  8466. }
  8467.  
  8468. }
  8469. });
  8470.  
  8471. if (flag == false) {
  8472.  
  8473. return false;
  8474. }
  8475.  
  8476. } else {
  8477.  
  8478. var holdingShares = $(
  8479. 'input[name=percentageOfShareholdingInSubsidiary' + year
  8480. + ']').val();
  8481. var paidupValShares = $(
  8482. 'input[name=paidUpValueOfSharesHeldOfSubsidiary' + year
  8483. + ']').val();
  8484.  
  8485. if (holdingShares == "" && paidupValShares != "") {
  8486. return false;
  8487. }
  8488. }
  8489. } else if (field.name
  8490. .indexOf("nameOfGuaranteedPartyOnLoansBorrowedBySubsidiary") != -1) {
  8491.  
  8492. var flag = true;
  8493. table = field.getAttribute('groupid');
  8494. fieldName = field.name.split('_')[0];
  8495. if (validationType == "full") {
  8496.  
  8497. $
  8498. .each(
  8499. eval("inputdata.fields[" + y + "]." + table),
  8500. function(key, val) {
  8501.  
  8502. var tablenotall = field.getAttribute(
  8503. 'tablenotall').replace(/Member/g, '')
  8504. .split(',');
  8505. found = $.inArray(key, tablenotall);
  8506. mstatus = eval("inputdata.fields[" + y + "]."
  8507. + table + "['" + key
  8508. + "'].memberStatus");
  8509.  
  8510. if (found == -1 && mstatus == 'on') {
  8511.  
  8512. fvalue = eval("inputdata.fields["
  8513. + y
  8514. + "]."
  8515. + table
  8516. + "['"
  8517. + key
  8518. + "'].nameOfGuaranteedPartyOnLoansBorrowedBySubsidiary");
  8519. gurantedAmt = eval("inputdata.fields["
  8520. + y
  8521. + "]."
  8522. + table
  8523. + "['"
  8524. + key
  8525. + "'].amountGuaranteedOnLoansBorrowedBySubsidiary");
  8526. CIN = eval("inputdata.fields["
  8527. + y
  8528. + "]."
  8529. + table
  8530. + "['"
  8531. + key
  8532. + "'].CINOfGuaranteedPartyOnLoansBorrowedBySubsidiary");
  8533.  
  8534. if (fvalue == ""
  8535. && (gurantedAmt != "" || CIN != "")) {
  8536.  
  8537. fname = fieldName.charAt(0)
  8538. .toUpperCase()
  8539. + fieldName.substr(1).replace(
  8540. /([A-Z][a-z])/g, ' $1')
  8541. .replace(/^ /, "")
  8542. .toLowerCase();
  8543. validationAlert += "<div><a eid = '"
  8544. + field.name
  8545. + "' onclick ='goErrorPage(event)' memberorder='"
  8546. + key
  8547. + "'>"
  8548. + "<a class='errorreport' eid = '"
  8549. + field.name
  8550. + "' onclick ='goErrorPage(event)' memberorder='"
  8551. + key
  8552. + "'>"
  8553. + fname
  8554. + "("
  8555. + yr
  8556. + ")</a>"
  8557. + "<span eid = '"
  8558. + field.name
  8559. + "' class='err'>"
  8560. + key
  8561. + "</span></a>"
  8562. + "<p>"
  8563. + field
  8564. .getAttribute("data-original-title")
  8565. + "</p></div>";
  8566.  
  8567. flag = false;
  8568. }
  8569.  
  8570. }
  8571. });
  8572.  
  8573. if (flag == false) {
  8574.  
  8575. return false;
  8576. }
  8577.  
  8578. } else {
  8579. var gurantedAmt = $(
  8580. 'input[name=amountGuaranteedOnLoansBorrowedBySubsidiary'
  8581. + year + ']').val();
  8582. var CIN = $(
  8583. 'input[name=CINOfGuaranteedPartyOnLoansBorrowedBySubsidiary'
  8584. + year + ']').val();
  8585.  
  8586. if (field.value == "" && (gurantedAmt != "" || CIN != "")) {
  8587. return false;
  8588. }
  8589. }
  8590. } else if (field.name
  8591. .indexOf("amountGuaranteedOnLoansBorrowedBySubsidiary") != -1) {
  8592.  
  8593. var flag = true;
  8594. table = field.getAttribute('groupid');
  8595. fieldName = field.name.split('_')[0];
  8596. if (validationType == "full") {
  8597.  
  8598. $
  8599. .each(
  8600. eval("inputdata.fields[" + y + "]." + table),
  8601. function(key, val) {
  8602.  
  8603. var tablenotall = field.getAttribute(
  8604. 'tablenotall').replace(/Member/g, '')
  8605. .split(',');
  8606. found = $.inArray(key, tablenotall);
  8607. mstatus = eval("inputdata.fields[" + y + "]."
  8608. + table + "['" + key
  8609. + "'].memberStatus");
  8610.  
  8611. if (found == -1 && mstatus == 'on') {
  8612.  
  8613. fvalue = eval("inputdata.fields["
  8614. + y
  8615. + "]."
  8616. + table
  8617. + "['"
  8618. + key
  8619. + "'].amountGuaranteedOnLoansBorrowedBySubsidiary");
  8620. gurantedPartyName = eval("inputdata.fields["
  8621. + y
  8622. + "]."
  8623. + table
  8624. + "['"
  8625. + key
  8626. + "'].nameOfGuaranteedPartyOnLoansBorrowedBySubsidiary");
  8627. CIN = eval("inputdata.fields["
  8628. + y
  8629. + "]."
  8630. + table
  8631. + "['"
  8632. + key
  8633. + "'].CINOfGuaranteedPartyOnLoansBorrowedBySubsidiary");
  8634. ;
  8635.  
  8636. if (fvalue == ""
  8637. && (gurantedPartyName != "" || CIN != "")) {
  8638.  
  8639. fname = fieldName.charAt(0)
  8640. .toUpperCase()
  8641. + fieldName.substr(1).replace(
  8642. /([A-Z][a-z])/g, ' $1')
  8643. .replace(/^ /, "")
  8644. .toLowerCase();
  8645. validationAlert += "<div><a eid = '"
  8646. + field.name
  8647. + "' onclick ='goErrorPage(event)' memberorder='"
  8648. + key
  8649. + "'>"
  8650. + "<a class='errorreport' eid = '"
  8651. + field.name
  8652. + "' onclick ='goErrorPage(event)' memberorder='"
  8653. + key
  8654. + "'>"
  8655. + fname
  8656. + "("
  8657. + yr
  8658. + ")</a>"
  8659. + "<span eid = '"
  8660. + field.name
  8661. + "' class='err'>"
  8662. + key
  8663. + "</span></a>"
  8664. + "<p>"
  8665. + field
  8666. .getAttribute("data-original-title")
  8667. + "</p></div>";
  8668.  
  8669. flag = false;
  8670. }
  8671.  
  8672. }
  8673. });
  8674.  
  8675. if (flag == false) {
  8676.  
  8677. return false;
  8678. }
  8679.  
  8680. } else {
  8681.  
  8682. var gurantedPartyName = $(
  8683. 'input[name=nameOfGuaranteedPartyOnLoansBorrowedBySubsidiary'
  8684. + year + ']').val();
  8685. var CIN = $(
  8686. 'input[name=CINOfGuaranteedPartyOnLoansBorrowedBySubsidiary'
  8687. + year + ']').val();
  8688.  
  8689. if (field.value == "" && (gurantedPartyName != "" || CIN != "")) {
  8690. return false;
  8691. }
  8692. }
  8693. } else if (field.name
  8694. .indexOf("nameOfGuaranteedPartyOnLoansBorrowedByCompany") != -1) {
  8695.  
  8696. var flag = true;
  8697. table = field.getAttribute('groupid');
  8698. fieldName = field.name.split('_')[0];
  8699. if (validationType == "full") {
  8700.  
  8701. $
  8702. .each(
  8703. eval("inputdata.fields[" + y + "]." + table),
  8704. function(key, val) {
  8705.  
  8706. var tablenotall = field.getAttribute(
  8707. 'tablenotall').replace(/Member/g, '')
  8708. .split(',');
  8709. found = $.inArray(key, tablenotall);
  8710. mstatus = eval("inputdata.fields[" + y + "]."
  8711. + table + "['" + key
  8712. + "'].memberStatus");
  8713.  
  8714. if (found == -1 && mstatus == 'on') {
  8715.  
  8716. fvalue = eval("inputdata.fields["
  8717. + y
  8718. + "]."
  8719. + table
  8720. + "['"
  8721. + key
  8722. + "'].nameOfGuaranteedPartyOnLoansBorrowedByCompany");
  8723. gurantedAmt = eval("inputdata.fields["
  8724. + y
  8725. + "]."
  8726. + table
  8727. + "['"
  8728. + key
  8729. + "'].amountGuaranteedOnLoansBorrowedByCompany");
  8730. CIN = eval("inputdata.fields["
  8731. + y
  8732. + "]."
  8733. + table
  8734. + "['"
  8735. + key
  8736. + "'].CINOfGuaranteedPartyOnLoansBorrowedBySubsidiary");
  8737.  
  8738. if (fvalue == ""
  8739. && (gurantedAmt != "" || CIN != "")) {
  8740.  
  8741. fname = fieldName.charAt(0)
  8742. .toUpperCase()
  8743. + fieldName.substr(1).replace(
  8744. /([A-Z][a-z])/g, ' $1')
  8745. .replace(/^ /, "")
  8746. .toLowerCase();
  8747. validationAlert += "<div><a eid = '"
  8748. + field.name
  8749. + "' onclick ='goErrorPage(event)' memberorder='"
  8750. + key
  8751. + "'>"
  8752. + "<a class='errorreport' eid = '"
  8753. + field.name
  8754. + "' onclick ='goErrorPage(event)' memberorder='"
  8755. + key
  8756. + "'>"
  8757. + fname
  8758. + "("
  8759. + yr
  8760. + ")</a>"
  8761. + "<span eid = '"
  8762. + field.name
  8763. + "' class='err'>"
  8764. + key
  8765. + "</span></a>"
  8766. + "<p>"
  8767. + field
  8768. .getAttribute("data-original-title")
  8769. + "</p></div>";
  8770.  
  8771. flag = false;
  8772. }
  8773.  
  8774. }
  8775. });
  8776.  
  8777. if (flag == false) {
  8778.  
  8779. return false;
  8780. }
  8781.  
  8782. } else {
  8783. var gurantedAmt = $(
  8784. 'input[name=amountGuaranteedOnLoansBorrowedByCompany'
  8785. + year + ']').val();
  8786. var CIN = $(
  8787. 'input[name=CINOfGuaranteedPartyOnLoansBorrowedBySubsidiary'
  8788. + year + ']').val();
  8789.  
  8790. if (field.value == "" && (gurantedAmt != "" || CIN != "")) {
  8791. return false;
  8792. }
  8793. }
  8794. } else if (field.name.indexOf("amountGuaranteedOnLoansBorrowedByCompany") != -1) {
  8795.  
  8796. var flag = true;
  8797. table = field.getAttribute('groupid');
  8798. fieldName = field.name.split('_')[0];
  8799. if (validationType == "full") {
  8800.  
  8801. $
  8802. .each(
  8803. eval("inputdata.fields[" + y + "]." + table),
  8804. function(key, val) {
  8805.  
  8806. var tablenotall = field.getAttribute(
  8807. 'tablenotall').replace(/Member/g, '')
  8808. .split(',');
  8809. found = $.inArray(key, tablenotall);
  8810. mstatus = eval("inputdata.fields[" + y + "]."
  8811. + table + "['" + key
  8812. + "'].memberStatus");
  8813.  
  8814. if (found == -1 && mstatus == 'on') {
  8815.  
  8816. fvalue = eval("inputdata.fields["
  8817. + y
  8818. + "]."
  8819. + table
  8820. + "['"
  8821. + key
  8822. + "'].amountGuaranteedOnLoansBorrowedByCompany");
  8823. gurantedPartyName = eval("inputdata.fields["
  8824. + y
  8825. + "]."
  8826. + table
  8827. + "['"
  8828. + key
  8829. + "'].nameOfGuaranteedPartyOnLoansBorrowedByCompany");
  8830. CIN = eval("inputdata.fields["
  8831. + y
  8832. + "]."
  8833. + table
  8834. + "['"
  8835. + key
  8836. + "'].CINOfGuaranteedPartyOnLoansBorrowedByCompany");
  8837.  
  8838. if (fvalue == ""
  8839. && (gurantedPartyName != "" || CIN != "")) {
  8840.  
  8841. fname = fieldName.charAt(0)
  8842. .toUpperCase()
  8843. + fieldName.substr(1).replace(
  8844. /([A-Z][a-z])/g, ' $1')
  8845. .replace(/^ /, "")
  8846. .toLowerCase();
  8847. validationAlert += "<div><a eid = '"
  8848. + field.name
  8849. + "' onclick ='goErrorPage(event)' memberorder='"
  8850. + key
  8851. + "'>"
  8852. + "<a class='errorreport' eid = '"
  8853. + field.name
  8854. + "' onclick ='goErrorPage(event)' memberorder='"
  8855. + key
  8856. + "'>"
  8857. + fname
  8858. + "("
  8859. + yr
  8860. + ")</a>"
  8861. + "<span eid = '"
  8862. + field.name
  8863. + "' class='err'>"
  8864. + key
  8865. + "</span></a>"
  8866. + "<p>"
  8867. + field
  8868. .getAttribute("data-original-title")
  8869. + "</p></div>";
  8870.  
  8871. flag = false;
  8872. }
  8873.  
  8874. }
  8875. });
  8876.  
  8877. if (flag == false) {
  8878.  
  8879. return false;
  8880. }
  8881.  
  8882. } else {
  8883.  
  8884. var gurantedPartyName = $(
  8885. 'input[name=nameOfGuaranteedPartyOnLoansBorrowedByCompany'
  8886. + year + ']').val();
  8887. var CIN = $(
  8888. 'input[name=CINOfGuaranteedPartyOnLoansBorrowedByCompany'
  8889. + year + ']').val();
  8890.  
  8891. if (field.value == "" && (gurantedPartyName != "" || CIN != "")) {
  8892. return false;
  8893. }
  8894. }
  8895. } /*else if (field.name.indexOf("preferenceShareCapitalOfSubsidiary") != -1) {
  8896.  
  8897.  
  8898. formulafield ="shareCapitalOfSubsidiary";
  8899. calcfields =[
  8900. "equityShareCapitalOfSubsidiary",
  8901. "preferenceShareCapitalOfSubsidiary",
  8902. ];
  8903. return validateFormulaMandatory(formulafield,calcfields,field);
  8904.  
  8905. } */
  8906. return true;
  8907. }
  8908.  
  8909. // 300500 validation starts here
  8910.  
  8911. function validate2907(field) {
  8912.  
  8913. var year = "_CURYEAR";
  8914. if (field.name.indexOf(year) != -1) {
  8915. // this is applicable for previous year
  8916. year = "_PREVYEAR";
  8917. }
  8918. if (field.name.indexOf("interestOnOtherLongTermInvestments") != -1) {
  8919.  
  8920.  
  8921. formulafield = "interestIncome";
  8922. calcfields =[
  8923. "interestOnFixedDepositsCurrentInvestments",
  8924. "interestFromCustomersOnAmountsOverdueCurrentInvestments",
  8925. "interestOnCurrentIntercorporateDeposits",
  8926. "interestOnCurrentDebtSecurities",
  8927. "interestOnCurrentGovernmentSecurities",
  8928. "interestOnOtherCurrentInvestments",
  8929. "interestOnFixedDepositsLongTermInvestments",
  8930. "interestFromCustomersOnAmountsOverdueLongTermInvestments",
  8931. "interestOnLongTermIntercorporateDeposits",
  8932. "interestOnLongTermDebtSecurities",
  8933. "interestOnLongTermGovernmentSecurities",
  8934. "interestOnOtherLongTermInvestments"
  8935. ];
  8936. return validateFormulaMandatory(formulafield,calcfields,field);
  8937.  
  8938. } else if (field.name.indexOf("dividendIncomeLongTermInvestmentsFromOthers") != -1) {
  8939.  
  8940.  
  8941. formulafield = "dividendIncome";
  8942. calcfields =[
  8943. "dividendIncomeCurrentInvestmentsFromSubsidiaries",
  8944. "dividendIncomeCurrentEquitySecurities",
  8945. "dividendIncomeCurrentMutualFunds",
  8946. "dividendIncomeCurrentInvestmentsFromOthers",
  8947. "dividendIncomeLongTermInvestmentsFromSubsidiaries",
  8948. "dividendIncomeLongTermEquitySecurities",
  8949. "dividendIncomeLongTermMutualFunds",
  8950. "dividendIncomeLongTermInvestmentsFromOthers",
  8951. ];
  8952. return validateFormulaMandatory(formulafield,calcfields,field);
  8953.  
  8954. } else if (field.name.indexOf("otherInterestCharges") != -1) {
  8955.  
  8956.  
  8957. formulafield = "interestExpense";
  8958. calcfields =[
  8959. "interestExpenseLongTermLoansBanks",
  8960. "interestExpenseLongTermLoansOthers",
  8961. "interestExpenseLongTermLoans",
  8962. "interestExpenseShortTermLoansBanks",
  8963. "interestExpenseShortTermLoansOthers",
  8964. "interestExpenseShortTermLoans",
  8965. "interestExpenseDeposits",
  8966. "interestExpenseDebtSecurities",
  8967. "interestExpenseOtherBorrowings",
  8968. "interestExpenseBorrowings",
  8969. "interestLeaseFinancing",
  8970. "otherInterestCharges",
  8971. ];
  8972. return validateFormulaMandatory(formulafield,calcfields,field);
  8973.  
  8974. } else if (field.name.indexOf("provisionWealthTax") != -1) {
  8975.  
  8976.  
  8977. formulafield = "ratesAndTaxesExcludingTaxesOnIncome";
  8978. calcfields =["centralExciseDuty",
  8979. "purchaseTax",
  8980. "otherCessTaxes",
  8981. "costTaxesOtherLeviesByGovernmentLocalAuthorities",
  8982. "provisionWealthTax",
  8983. ];
  8984. return validateFormulaMandatory(formulafield,calcfields,field);
  8985.  
  8986. } else if (field.name.indexOf("otherBenefitsToDirectors") != -1) {
  8987.  
  8988.  
  8989. formulafield = "remunerationToDirectors";
  8990. calcfields =["salaryToDirectors",
  8991. "commissionToDirectors",
  8992. "otherBenefitsToDirectors",
  8993. ];
  8994. return validateFormulaMandatory(formulafield,calcfields,field);
  8995.  
  8996. } else if (field.name.indexOf("costCommunicationConnectivity") != -1) {
  8997.  
  8998.  
  8999. formulafield = "costInformationTechnology";
  9000. calcfields =["costSoftware",
  9001. "costHardware",
  9002. "costCommunicationConnectivity",
  9003. ];
  9004. return validateFormulaMandatory(formulafield,calcfields,field);
  9005.  
  9006. } else if (field.name.indexOf("otherMiscellaneousExpenditureWrittenOff") != -1) {
  9007.  
  9008.  
  9009. formulafield = "miscellaneousExpenditureWrittenOff";
  9010. calcfields =["financingChargesWrittenOff",
  9011. "voluntaryRetirementCompensationWrittenOff",
  9012. "technicalKnowhowWrittenOff",
  9013. "otherMiscellaneousExpenditureWrittenOff"
  9014. ];
  9015. return validateFormulaMandatory(formulafield,calcfields,field);
  9016.  
  9017. } else if (field.name.indexOf("paymentForReimbursementOfExpenses") != -1) {
  9018.  
  9019.  
  9020. formulafield = "paymentsToAuditor";
  9021. calcfields =["paymentForAuditServices",
  9022. "paymentForTaxationMatters",
  9023. "paymentForCompanyLawMatters",
  9024. "paymentForManagementServices",
  9025. "paymentForOtherServices",
  9026. "paymentForReimbursementOfExpenses"
  9027. ];
  9028. return validateFormulaMandatory(formulafield,calcfields,field);
  9029.  
  9030. }
  9031.  
  9032. return true;
  9033.  
  9034. }
  9035.  
  9036.  
  9037.  
  9038.  
  9039.  
  9040.  
  9041. // 300600 validation starts here
  9042.  
  9043. function validate3318to3320_3358(field) {
  9044.  
  9045. var year = "_CURYEAR";
  9046. if (field.name.indexOf(year) != -1) {
  9047. // this is applicable for previous year
  9048. year = "_PREVYEAR";
  9049. }
  9050. if (field.name.indexOf("changesInOtherInventories") != -1) {
  9051.  
  9052.  
  9053. formulafield = "changesInInventoriesOfFinishedGoodsWorkInProgressAndStockInTrade";
  9054. calcfields =["changesInInventoriesOfFinishedGoods",
  9055. "changesInInventoriesOfWorkInProgress",
  9056. "changesInInventoriesOfStockInTrade",
  9057. "changesInOtherInventories"
  9058. ];
  9059. return validateFormulaMandatory(formulafield,calcfields,field);
  9060.  
  9061. } else if (field.name.indexOf("expenditureOnOtherMatters") != -1) {
  9062.  
  9063.  
  9064. formulafield = "expenditureInForeignCurrency";
  9065. calcfields =["expenditureOnRoyalty",
  9066. "expenditureOnKnowHow",
  9067. "expenditureOnProfessionalAndConsultationFees",
  9068. "expenditureOnInterest",
  9069. "expenditureOnOtherMatters"
  9070. ];
  9071. return validateFormulaMandatory(formulafield,calcfields,field);
  9072.  
  9073. } else if (field.name.indexOf("specialDividendRemittedInForeignCurrency") != -1) {
  9074.  
  9075.  
  9076. formulafield = "amountOfDividendRemittedInForeignCurrency";
  9077. calcfields =["finalDividendRemittedInForeignCurrency",
  9078. "interimDividendRemittedInForeignCurrency",
  9079. "specialDividendRemittedInForeignCurrency"
  9080. ];
  9081.  
  9082. return validateFormulaMandatory(formulafield,calcfields,field);
  9083.  
  9084.  
  9085. /*var dividendAmt = $(
  9086. 'input[name=amountOfDividendRemittedInForeignCurrency' + year
  9087. + ']').val();*/
  9088. /*var field1Value = isNaN(field1Value = parseFloat($(
  9089. 'input[name=finalDividendRemittedInForeignCurrency' + year + ']').val()
  9090. .replace(',', ''))) ? "" : field1Value;
  9091. var field2Value = isNaN(field2Value = parseFloat($(
  9092. 'input[name=interimDividendRemittedInForeignCurrency' + year + ']').val()
  9093. .replace(',', ''))) ? "" : field2Value;
  9094. var field3Value = isNaN(field3Value = parseFloat($(
  9095. 'input[name=specialDividendRemittedInForeignCurrency' + year + ']').val().replace(
  9096. ',', ''))) ? "" : field3Value;
  9097.  
  9098. var dividendAmt = field1Value + field2Value + field3Value ;
  9099.  
  9100. if (field.value == "" && (dividendAmt != "" && dividendAmt != 0)) {
  9101. if (validationType == "full") {
  9102. key = "";
  9103. fieldName = field.name.split('_')[0];
  9104. fname = fieldName.charAt(0).toUpperCase()
  9105. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9106. .replace(/^ /, "").toLowerCase();
  9107. validationAlert += "<div><a eid = '" + field.name
  9108. + "' onclick ='goErrorPage(event)' memberorder='"
  9109. + key + "'>" + "<a class='errorreport' eid = '"
  9110. + field.name
  9111. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9112. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9113. + field.name + "' class='err'>" + key + "</span></a>"
  9114. + "<p>" + field.getAttribute("data-original-title")
  9115. + "</p></div>";
  9116. }
  9117.  
  9118. return false;
  9119. }*/
  9120.  
  9121. } else if (field.name.indexOf("earningsOnOtherIncome") != -1) {
  9122.  
  9123.  
  9124. formulafield = "earningsInForeignCurrency";
  9125. calcfields =[
  9126. "fobValueOfManufacturedGoodsExported",
  9127. "fobValueOfTradedGoodsExported",
  9128. "earningsOnRoyalty",
  9129. "earningsOnKnowHow",
  9130. "earningsOnProfessionalAndConsultationFees",
  9131. "earningsOnInterest",
  9132. "earningsOnDividend",
  9133. "earningsOnOtherIncome",
  9134. ];
  9135. return validateFormulaMandatory(formulafield,calcfields,field);
  9136.  
  9137. } else if (field.name.indexOf("exportSaleTradedGoods") != -1) {
  9138.  
  9139.  
  9140. formulafield ="revenueFromSaleOfProducts";
  9141. calcfields =[
  9142. "domesticSaleManufacturedGoods",
  9143. "domesticSaleTradedGoods",
  9144. "exportSaleManufacturedGoods",
  9145. "exportSaleTradedGoods"
  9146. ];
  9147. return validateFormulaMandatory(formulafield,calcfields,field);
  9148.  
  9149. } else if (field.name.indexOf("exportRevenueServices") != -1) {
  9150.  
  9151.  
  9152. formulafield = "revenueFromSaleOfServices";
  9153. calcfields =[
  9154. "domesticRevenueServices",
  9155. "exportRevenueServices"
  9156. ];
  9157. return validateFormulaMandatory(formulafield,calcfields,field);
  9158.  
  9159. } else if (field.name.indexOf("totalNumberOfNonResidentShareHolders") != -1) {
  9160.  
  9161. /*var dividendAmt = $(
  9162. 'input[name=amountOfDividendRemittedInForeignCurrency' + year
  9163. + ']').val();*/
  9164. var field1Value = isNaN(field1Value = parseFloat($(
  9165. 'input[name=finalDividendRemittedInForeignCurrency' + year + ']').val()
  9166. .replace(',', ''))) ? "" : field1Value;
  9167. var field2Value = isNaN(field2Value = parseFloat($(
  9168. 'input[name=interimDividendRemittedInForeignCurrency' + year + ']').val()
  9169. .replace(',', ''))) ? "" : field2Value;
  9170. var field3Value = isNaN(field3Value = parseFloat($(
  9171. 'input[name=specialDividendRemittedInForeignCurrency' + year + ']').val().replace(
  9172. ',', ''))) ? "" : field3Value;
  9173.  
  9174. var dividendAmt = field1Value + field2Value + field3Value ;
  9175.  
  9176. if (field.value == "" && (dividendAmt != "" && dividendAmt != 0)) {
  9177. if (validationType == "full") {
  9178. key = "";
  9179. fieldName = field.name.split('_')[0];
  9180. fname = fieldName.charAt(0).toUpperCase()
  9181. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9182. .replace(/^ /, "").toLowerCase();
  9183. validationAlert += "<div><a eid = '" + field.name
  9184. + "' onclick ='goErrorPage(event)' memberorder='"
  9185. + key + "'>" + "<a class='errorreport' eid = '"
  9186. + field.name
  9187. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9188. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9189. + field.name + "' class='err'>" + key + "</span></a>"
  9190. + "<p>" + field.getAttribute("data-original-title")
  9191. + "</p></div>";
  9192. }
  9193.  
  9194. return false;
  9195. }
  9196.  
  9197. } else if (field.name
  9198. .indexOf("totalNumberOfSharesHeldByNonResidentShareHoldersOnWhichDividendsWereDue") != -1) {
  9199.  
  9200. /*var dividendAmt = $(
  9201. 'input[name=amountOfDividendRemittedInForeignCurrency' + year
  9202. + ']').val();*/
  9203. var field1Value = isNaN(field1Value = parseFloat($(
  9204. 'input[name=finalDividendRemittedInForeignCurrency' + year + ']').val()
  9205. .replace(',', ''))) ? "" : field1Value;
  9206. var field2Value = isNaN(field2Value = parseFloat($(
  9207. 'input[name=interimDividendRemittedInForeignCurrency' + year + ']').val()
  9208. .replace(',', ''))) ? "" : field2Value;
  9209. var field3Value = isNaN(field3Value = parseFloat($(
  9210. 'input[name=specialDividendRemittedInForeignCurrency' + year + ']').val().replace(
  9211. ',', ''))) ? "" : field3Value;
  9212.  
  9213. var dividendAmt = field1Value + field2Value + field3Value ;
  9214.  
  9215. if (field.value == "" && (dividendAmt != "" && dividendAmt != 0)) {
  9216.  
  9217. if (validationType == "full") {
  9218. key = "";
  9219. fieldName = field.name.split('_')[0];
  9220. fname = fieldName.charAt(0).toUpperCase()
  9221. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9222. .replace(/^ /, "").toLowerCase();
  9223. validationAlert += "<div><a eid = '" + field.name
  9224. + "' onclick ='goErrorPage(event)' memberorder='"
  9225. + key + "'>" + "<a class='errorreport' eid = '"
  9226. + field.name
  9227. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9228. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9229. + field.name + "' class='err'>" + key + "</span></a>"
  9230. + "<p>" + field.getAttribute("data-original-title")
  9231. + "</p></div>";
  9232. }
  9233. return false;
  9234. }
  9235.  
  9236. } else if (field.name.indexOf("yearToWhichDividendsRelate") != -1) {
  9237.  
  9238. /*var dividendAmt = $(
  9239. 'input[name=amountOfDividendRemittedInForeignCurrency' + year
  9240. + ']').val();*/
  9241.  
  9242. var field1Value = isNaN(field1Value = parseFloat($(
  9243. 'input[name=finalDividendRemittedInForeignCurrency' + year + ']').val()
  9244. .replace(',', ''))) ? "" : field1Value;
  9245. var field2Value = isNaN(field2Value = parseFloat($(
  9246. 'input[name=interimDividendRemittedInForeignCurrency' + year + ']').val()
  9247. .replace(',', ''))) ? "" : field2Value;
  9248. var field3Value = isNaN(field3Value = parseFloat($(
  9249. 'input[name=specialDividendRemittedInForeignCurrency' + year + ']').val().replace(
  9250. ',', ''))) ? "" : field3Value;
  9251.  
  9252. var dividendAmt = field1Value + field2Value + field3Value ;
  9253.  
  9254. if (field.value == "" && (dividendAmt != "" && dividendAmt != 0)) {
  9255.  
  9256. if (validationType == "full") {
  9257. key = "";
  9258. fieldName = field.name.split('_')[0];
  9259. fname = fieldName.charAt(0).toUpperCase()
  9260. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9261. .replace(/^ /, "").toLowerCase();
  9262. validationAlert += "<div><a eid = '" + field.name
  9263. + "' onclick ='goErrorPage(event)' memberorder='"
  9264. + key + "'>" + "<a class='errorreport' eid = '"
  9265. + field.name
  9266. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9267. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9268. + field.name + "' class='err'>" + key + "</span></a>"
  9269. + "<p>" + field.getAttribute("data-original-title")
  9270. + "</p></div>";
  9271. }
  9272. return false;
  9273. }
  9274.  
  9275. } else if (field.name
  9276. .indexOf("endDateOfAccountingPeriodOfPartnershipFirmOrAssociationOfPersonsOrLimitedLiabilityPartnershipsInRespectOfWhichProfitOrLossesHaveBeenAccountedInCompanysBooksInCaseWhereYearEndingIsDifferentForPartnershipFirmOrAssociationOfPersonsOrLimitedLiabilityPartnershipsAndCompany") != -1) {
  9277.  
  9278. var startDate = new Date(
  9279. $(
  9280. 'input[name=startDateOfAccountingPeriodOfPartnershipFirmOrAssociationOfPersonsOrLimitedLiabilityPartnershipsInRespectOfWhichProfitOrLossesHaveBeenAccountedInCompanysBooksInCaseWhereYearEndingIsDifferentForPartnershipFirmOrAssociationOfPersonsOrLimitedLiabilityPartnershipsAndCompany'
  9281. + year + ']').val());
  9282. var endDate = new Date(field.value);
  9283. if (startDate > endDate) {
  9284. if (validationType == "full") {
  9285. key = "";
  9286. fieldName = field.name.split('_')[0];
  9287. fname = fieldName.charAt(0).toUpperCase()
  9288. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9289. .replace(/^ /, "").toLowerCase();
  9290. validationAlert += "<div><a eid = '" + field.name
  9291. + "' onclick ='goErrorPage(event)' memberorder='"
  9292. + key + "'>" + "<a class='errorreport' eid = '"
  9293. + field.name
  9294. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9295. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9296. + field.name + "' class='err'>" + key + "</span></a>"
  9297. + "<p>" + field.getAttribute("data-original-title")
  9298. + "</p></div>";
  9299. }
  9300.  
  9301. return false;
  9302. }
  9303.  
  9304. }
  9305. return true;
  9306. }
  9307.  
  9308. // 300700 validation starts here
  9309.  
  9310. function validate3403(field) {
  9311.  
  9312. var year = "_CURYEAR";
  9313. var y = 0;
  9314. yr = "current year";
  9315. if (field.name.indexOf(year) == -1) {
  9316. // this is applicable for previous year
  9317. year = "_PREVYEAR";
  9318. y = 1;
  9319. yr = "previous year";
  9320. }
  9321. if (field.name.indexOf("directorIdentificationNumberOfDirector") != -1) {
  9322.  
  9323. var din = $(
  9324. 'input[name=directorIdentificationNumberOfDirector' + year
  9325. + ']').val();
  9326.  
  9327. var DIN = [], d;
  9328. var index;
  9329. $
  9330. .each(
  9331. inputdata.fields[y].disclosureOfDirectorsAndRemunerationToDirectorsTable,
  9332. function(key, val) {
  9333.  
  9334. d = eval("inputdata.fields["
  9335. + y
  9336. + "].disclosureOfDirectorsAndRemunerationToDirectorsTable['"
  9337. + key
  9338. + "'].directorIdentificationNumberOfDirector");
  9339. if (d != "") {
  9340.  
  9341. DIN.push(d);
  9342. }
  9343. });
  9344. $(DIN).each(function(k, v) {
  9345.  
  9346. index = $.map(DIN, function(o, i) {
  9347. if (o === din)
  9348. return i;
  9349. });
  9350. if (index.length > 1) {
  9351.  
  9352. flag = false;
  9353. return false;
  9354.  
  9355. }
  9356. });
  9357.  
  9358. if (flag == false) {
  9359.  
  9360. if (validationType == "full") {
  9361. key = "Directors1";
  9362. fieldName = field.name.split('_')[0];
  9363. fname = fieldName.charAt(0).toUpperCase()
  9364. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9365. .replace(/^ /, "").toLowerCase();
  9366. validationAlert += "<div><a eid = '" + field.name
  9367. + "' onclick ='goErrorPage(event)' memberorder='"
  9368. + key + "'>" + "<a class='errorreport' eid = '"
  9369. + field.name
  9370. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9371. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9372. + field.name + "' class='err'>" + key + "</span></a>"
  9373. + "<p>" + field.getAttribute("data-original-title")
  9374. + "</p></div>";
  9375. }
  9376.  
  9377. }
  9378.  
  9379. } else if (field.name.indexOf("dateOfBirthOfDirector") != -1) {
  9380.  
  9381. var flag = true;
  9382. table = field.getAttribute('groupid');
  9383. fieldName = field.name.split('_')[0];
  9384. fname = fieldName.charAt(0).toUpperCase()
  9385. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1').replace(
  9386. /^ /, "").toLowerCase();
  9387. memberName = field.getAttribute('order1');
  9388.  
  9389. curDate = new Date().getFullYear();
  9390. dobDirector = new Date(field.value).getFullYear();
  9391.  
  9392. diff = curDate - dobDirector;
  9393.  
  9394. if (validationType == "full") {
  9395.  
  9396. if ((diff < 18) && memberName != undefined) {
  9397.  
  9398. validationAlert += "<div><a eid = '" + field.name
  9399. + "' onclick ='goErrorPage(event)' memberorder='"
  9400. + memberName + "'><a class='errorreport' eid = '"
  9401. + field.name
  9402. + "' onclick ='goErrorPage(event)' memberorder='"
  9403. + memberName + "'>" + fname + "(" + yr
  9404. + ")</a><span eid = '" + field.name + "' class='err'>"
  9405. + memberName + "</span></a>" + "<p>"
  9406. + field.getAttribute("data-original-title")
  9407. + "</p></div>";
  9408. vresult = false;
  9409. flag = false;
  9410. }
  9411.  
  9412. $
  9413. .each(
  9414. eval("inputdata.fields[" + y + "]." + table),
  9415. function(key, val) {
  9416.  
  9417. var tablenotall = field.getAttribute(
  9418. 'tablenotall').replace(/Member/g, '')
  9419. .split(',');
  9420. found = $.inArray(key, tablenotall);
  9421. mstatus = eval("inputdata.fields[" + y + "]."
  9422. + table + "['" + key
  9423. + "'].memberStatus");
  9424.  
  9425. if (found == -1 && mstatus == 'on'
  9426. && key != memberName) {
  9427.  
  9428. curDate = new Date().getFullYear();
  9429. dobDirector = new Date(
  9430. eval("inputdata.fields["
  9431. + y
  9432. + "]."
  9433. + table
  9434. + "['"
  9435. + key
  9436. + "'].dateOfBirthOfDirector"))
  9437. .getFullYear();
  9438.  
  9439. diff = curDate - dobDirector;
  9440.  
  9441. if (diff < 18) {
  9442.  
  9443. validationAlert += "<div><a eid = '"
  9444. + field.name
  9445. + "' onclick ='goErrorPage(event)' memberorder='"
  9446. + key
  9447. + "'>"
  9448. + "<a class='errorreport' eid = '"
  9449. + field.name
  9450. + "' onclick ='goErrorPage(event)' memberorder='"
  9451. + key
  9452. + "'>"
  9453. + fname
  9454. + "("
  9455. + yr
  9456. + ")</a>"
  9457. + "<span eid = '"
  9458. + field.name
  9459. + "' class='err'>"
  9460. + key
  9461. + "</span></a>"
  9462. + "<p>"
  9463. + field
  9464. .getAttribute("data-original-title")
  9465. + "</p></div>";
  9466.  
  9467. flag = false;
  9468. }
  9469.  
  9470. } /*
  9471. * else if (found == -1 && key ==
  9472. * 'Directors1') {
  9473. *
  9474. * curDate = new Date().getFullYear();
  9475. * dobDirector = new Date(
  9476. * eval("inputdata.fields[" + y + "]." +
  9477. * table + "['" + key +
  9478. * "'].dateOfBirthOfDirector"))
  9479. * .getFullYear();
  9480. *
  9481. * diff = curDate - dobDirector;
  9482. *
  9483. * if (diff < 18) { fname =
  9484. * fieldName.charAt(0) .toUpperCase() +
  9485. * fieldName.substr(1).replace(
  9486. * /([A-Z][a-z])/g, ' $1') .replace(/^ /,
  9487. * "") .toLowerCase(); validationAlert += "<div><a
  9488. * eid = '" + field.name + "' onclick
  9489. * ='goErrorPage(event)' memberorder='" +
  9490. * key + "'>" + "<a class='errorreport' eid = '" +
  9491. * field.name + "' onclick
  9492. * ='goErrorPage(event)' memberorder='" +
  9493. * key + "'>" + fname + "(" + yr + ")</a>" + "<span
  9494. * eid = '" + field.name + "' class='err'>" +
  9495. * key + "</span></a>" + "<p>" + field
  9496. * .getAttribute("data-original-title") + "</p></div>";
  9497. *
  9498. * flag = false;
  9499. * }
  9500. * }
  9501. */
  9502.  
  9503. });
  9504.  
  9505. if (flag == false) {
  9506.  
  9507. return false;
  9508. }
  9509.  
  9510. } else {
  9511.  
  9512. var curDate = new Date().getFullYear();
  9513. var dobDirector = new Date(field.value).getFullYear();
  9514.  
  9515. var diff = curDate - dobDirector;
  9516. if (diff < 18) {
  9517.  
  9518. return false;
  9519. }
  9520. }
  9521. } else if (field.name.indexOf("commissionDirector") != -1) {
  9522.  
  9523.  
  9524. formulafield = "salaryToDirector";
  9525. calcfields =[
  9526. "basicPayDirector",
  9527. "allowancesDirector",
  9528. "perquisitesDirector",
  9529. "commissionDirector"
  9530. ];
  9531. return validateFormulaMandatory(formulafield,calcfields,field);
  9532.  
  9533. }
  9534. return true;
  9535. }
  9536.  
  9537. // 400100 validation starts here
  9538.  
  9539. function validate3528_3530_3531_3540(field) {
  9540.  
  9541. var year = "_CURYEAR";
  9542. yr = "current year";
  9543. if (field.name.indexOf(year) == -1) {
  9544. // this is applicable for previous year
  9545. year = "_PREVYEAR";
  9546. yr = "previous year";
  9547. }
  9548.  
  9549. if (field.name.indexOf("dateOfBoardMeetingWhenFinalAccountsWereApproved") != -1) {
  9550.  
  9551. var endDate = new Date($(
  9552. 'input[name=dateOfEndOfReportingPeriod' + year + ']').val());
  9553. var meetingDate = new Date(field.value);
  9554. if (endDate > meetingDate) {
  9555.  
  9556. if (validationType == "full") {
  9557. key = "";
  9558. fieldName = field.name.split('_')[0];
  9559. fname = fieldName.charAt(0).toUpperCase()
  9560. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9561. .replace(/^ /, "").toLowerCase();
  9562. validationAlert += "<div><a eid = '" + field.name
  9563. + "' onclick ='goErrorPage(event)' memberorder='"
  9564. + key + "'>" + "<a class='errorreport' eid = '"
  9565. + field.name
  9566. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9567. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9568. + field.name + "' class='err'>" + key + "</span></a>"
  9569. + "<p>" + field.getAttribute("data-original-title")
  9570. + "</p></div>";
  9571. }
  9572. return false;
  9573. }
  9574. } else if (field.name.indexOf("dateOfStartOfReportingPeriod") != -1) {
  9575.  
  9576. var date = new Date("01/04/2011");
  9577.  
  9578. if (field.name.indexOf('_PREVYEAR') != -1) {
  9579.  
  9580. var date = new Date("01/04/2010");
  9581. }
  9582. var startDate = new Date(field.value);
  9583. if (date > startDate) {
  9584.  
  9585. if (validationType == "full") {
  9586. key = "";
  9587. fieldName = field.name.split('_')[0];
  9588. fname = fieldName.charAt(0).toUpperCase()
  9589. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9590. .replace(/^ /, "").toLowerCase();
  9591. validationAlert += "<div><a eid = '" + field.name
  9592. + "' onclick ='goErrorPage(event)' memberorder='"
  9593. + key + "'>" + "<a class='errorreport' eid = '"
  9594. + field.name
  9595. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9596. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9597. + field.name + "' class='err'>" + key + "</span></a>"
  9598. + "<p>" + field.getAttribute("data-original-title")
  9599. + "</p></div>";
  9600. }
  9601. return false;
  9602. }
  9603. } else if (field.name.indexOf("dateOfEndOfReportingPeriod") != -1) {
  9604.  
  9605. var startDate = new Date($(
  9606. 'input[name=dateOfStartOfReportingPeriod' + year + ']').val());
  9607. var fieldDate = new Date(field.value);
  9608. var diff = (fieldDate.getFullYear() - startDate.getFullYear()) * 12;
  9609. var flag = true;
  9610. diff -= startDate.getMonth() + 1;
  9611. diff += fieldDate.getMonth();
  9612.  
  9613.  
  9614. if(field.name.indexOf('_PREVYEAR') != -1) {
  9615.  
  9616. // In case of previous year date entered in this field, should be one day less than date entered in field Date of start of reporting period for current year.
  9617.  
  9618. decDate = new Date($('input[name=dateOfStartOfReportingPeriod_CURYEAR]').val());
  9619. decDate = new Date(decDate.setDate( decDate.getDate() - 1 ));
  9620. if(decDate.toDateString() != fieldDate.toDateString()) {
  9621.  
  9622. flag = false;
  9623. }
  9624.  
  9625. }
  9626.  
  9627. if (Math.abs(diff) > 18 || startDate > fieldDate || !flag) {
  9628. if (validationType == "full") {
  9629. key = "";
  9630. fieldName = field.name.split('_')[0];
  9631. fname = fieldName.charAt(0).toUpperCase()
  9632. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9633. .replace(/^ /, "").toLowerCase();
  9634. validationAlert += "<div><a eid = '" + field.name
  9635. + "' onclick ='goErrorPage(event)' memberorder='"
  9636. + key + "'>" + "<a class='errorreport' eid = '"
  9637. + field.name
  9638. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9639. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9640. + field.name + "' class='err'>" + key + "</span></a>"
  9641. + "<p>" + field.getAttribute("data-original-title")
  9642. + "</p></div>";
  9643. }
  9644.  
  9645. return false;
  9646. }
  9647.  
  9648.  
  9649.  
  9650. } else if (field.name.indexOf("descriptionOfPresentationCurrency") != -1) {
  9651.  
  9652. if (field.value != "INR") {
  9653.  
  9654. if (validationType == "full") {
  9655. key = "";
  9656. fieldName = field.name.split('_')[0];
  9657. fname = fieldName.charAt(0).toUpperCase()
  9658. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9659. .replace(/^ /, "").toLowerCase();
  9660. validationAlert += "<div><a eid = '" + field.name
  9661. + "' onclick ='goErrorPage(event)' memberorder='"
  9662. + key + "'>" + "<a class='errorreport' eid = '"
  9663. + field.name
  9664. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9665. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9666. + field.name + "' class='err'>" + key + "</span></a>"
  9667. + "<p>" + field.getAttribute("data-original-title")
  9668. + "</p></div>";
  9669. }
  9670. return false;
  9671. }
  9672. } else if (field.name
  9673. .indexOf("dateTillWhichRegisterOfMembersRemainedClosed") != -1) {
  9674.  
  9675. var frmDate = new Date($(
  9676. 'input[name=dateFromWhichRegisterOfMembersRemainedClosed'
  9677. + year + ']').val());
  9678. var tilDate = new Date(field.value);
  9679. if (frmDate > tilDate) {
  9680.  
  9681. if (validationType == "full") {
  9682. key = "";
  9683. fieldName = field.name.split('_')[0];
  9684. fname = fieldName.charAt(0).toUpperCase()
  9685. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  9686. .replace(/^ /, "").toLowerCase();
  9687. validationAlert += "<div><a eid = '" + field.name
  9688. + "' onclick ='goErrorPage(event)' memberorder='"
  9689. + key + "'>" + "<a class='errorreport' eid = '"
  9690. + field.name
  9691. + "' onclick ='goErrorPage(event)' memberorder='" + key
  9692. + "'>" + fname + "(" + yr + ")</a>" + "<span eid = '"
  9693. + field.name + "' class='err'>" + key + "</span></a>"
  9694. + "<p>" + field.getAttribute("data-original-title")
  9695. + "</p></div>";
  9696. }
  9697. return false;
  9698. }
  9699. } /*
  9700. * else if (field.name.indexOf("productOrServiceCategoryITC4DigitCode") !=
  9701. * -1) {
  9702. *
  9703. * var regx = /^[0-9]{4}$/; y = 0; var flag = true; table =
  9704. * field.getAttribute('groupid'); fieldName = field.name.split('_')[0];
  9705. * if (validationType == "full") {
  9706. * $ .each( eval("inputdata.fields[" + y + "]." + table), function(key,
  9707. * val) {
  9708. *
  9709. * var tablenotall = field.getAttribute(
  9710. * 'tablenotall').replace(/Member/g, '') .split(','); found =
  9711. * $.inArray(key, tablenotall); mstatus = eval("inputdata.fields[" + y +
  9712. * "]." + table + "['" + key + "'].memberStatus");
  9713. *
  9714. * if (found == -1 && mstatus == 'on') {
  9715. *
  9716. * fvalue = eval("inputdata.fields[" + y + "]." + table + "['" + key +
  9717. * "']." + fieldName);
  9718. *
  9719. * if (!regx.test(fvalue) && fvalue != "") {
  9720. *
  9721. * fname = fieldName.charAt(0) .toUpperCase() +
  9722. * fieldName.substr(1).replace( /([A-Z][a-z])/g, ' $1') .replace(/^ /,
  9723. * "") .toLowerCase(); validationAlert += "<div><a eid = '" +
  9724. * field.name + "' onclick ='goErrorPage(event)' memberorder='" + key +
  9725. * "'>" + "<a class='errorreport' eid = '" + field.name + "' onclick
  9726. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  9727. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  9728. * field .getAttribute("data-original-title") + "</p></div>";
  9729. *
  9730. * flag = false; }
  9731. * } });
  9732. *
  9733. * if (flag == false) {
  9734. *
  9735. * return false;
  9736. * }
  9737. *
  9738. * if (validationType == "full" && flag == true && field.value != "" &&
  9739. * !regx.test(field.value)) {
  9740. *
  9741. * key = "TypesOfPrincipalProductOrServices1"; fname =
  9742. * fieldName.charAt(0).toUpperCase() +
  9743. * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  9744. * "").toLowerCase(); validationAlert += "<div><a eid = '" +
  9745. * field.name + "' onclick ='goErrorPage(event)' memberorder='" + key +
  9746. * "'>" + "<a class='errorreport' eid = '" + field.name + "' onclick
  9747. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  9748. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  9749. * field.getAttribute("data-original-title") + "</p></div>";
  9750. *
  9751. * flag = false;
  9752. * }
  9753. * } else if (!regx.test(field.value) && field.value != "") {
  9754. *
  9755. * return false; }
  9756. *
  9757. * if(!regx.test(field.value) && field.value != "" ) {
  9758. *
  9759. * if(validationType == "full") { key = ""; fieldName =
  9760. * field.name.split('_')[0]; fname =
  9761. * fieldName.charAt(0).toUpperCase()+fieldName.substr(1).replace(/([A-Z][a-z])/g, '
  9762. * $1').replace(/^ /, "" ).toLowerCase(); validationAlert += "<div><a
  9763. * eid = '"+field.name+"' onclick ='goErrorPage(event)'
  9764. * memberorder='"+key+"'>" + "<a class='errorreport' eid =
  9765. * '"+field.name+"' onclick ='goErrorPage(event)'
  9766. * memberorder='"+key+"'>"+fname+"("+yr+")</a>" + "<span eid =
  9767. * '"+field.name+"' class='err'>"+key+"</span></a>" +"<p>"+
  9768. * field.getAttribute("data-original-title")+"</p></div>"; } return
  9769. * false; }
  9770. *
  9771. * } else if (field.name
  9772. * .indexOf("highestTurnoverContributingProductOrServiceITC8DigitCode") !=
  9773. * -1) {
  9774. *
  9775. * var regx = /^[0-9]{8}$/; y = 0; var flag = true; table =
  9776. * field.getAttribute('groupid'); fieldName = field.name.split('_')[0];
  9777. * if (validationType == "full") {
  9778. * $ .each( eval("inputdata.fields[" + y + "]." + table), function(key,
  9779. * val) {
  9780. *
  9781. * var tablenotall = field.getAttribute(
  9782. * 'tablenotall').replace(/Member/g, '') .split(','); found =
  9783. * $.inArray(key, tablenotall); mstatus = eval("inputdata.fields[" + y +
  9784. * "]." + table + "['" + key + "'].memberStatus");
  9785. *
  9786. * if (found == -1 && mstatus == 'on') {
  9787. *
  9788. * fvalue = eval("inputdata.fields[" + y + "]." + table + "['" + key +
  9789. * "']." + fieldName);
  9790. *
  9791. * if (!regx.test(fvalue) && fvalue != "") {
  9792. *
  9793. * fname = fieldName.charAt(0) .toUpperCase() +
  9794. * fieldName.substr(1).replace( /([A-Z][a-z])/g, ' $1') .replace(/^ /,
  9795. * "") .toLowerCase(); validationAlert += "<div><a eid = '" +
  9796. * field.name + "' onclick ='goErrorPage(event)' memberorder='" + key +
  9797. * "'>" + "<a class='errorreport' eid = '" + field.name + "' onclick
  9798. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  9799. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  9800. * field .getAttribute("data-original-title") + "</p></div>";
  9801. *
  9802. * flag = false; }
  9803. * } });
  9804. *
  9805. * if (validationType == "full" && flag == true && field.value != "" &&
  9806. * !regx.test(field.value)) {
  9807. *
  9808. * key = "TypesOfPrincipalProductOrServices1"; fname =
  9809. * fieldName.charAt(0).toUpperCase() +
  9810. * fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1') .replace(/^ /,
  9811. * "").toLowerCase(); validationAlert += "<div><a eid = '" +
  9812. * field.name + "' onclick ='goErrorPage(event)' memberorder='" + key +
  9813. * "'>" + "<a class='errorreport' eid = '" + field.name + "' onclick
  9814. * ='goErrorPage(event)' memberorder='" + key + "'>" + fname + "(" + yr + ")</a>" + "<span
  9815. * eid = '" + field.name + "' class='err'>" + key + "</span></a>" + "<p>" +
  9816. * field.getAttribute("data-original-title") + "</p></div>";
  9817. *
  9818. * flag = false;
  9819. * }
  9820. *
  9821. * if (flag == false) {
  9822. *
  9823. * return false; }
  9824. * } else if (!regx.test(field.value) && field.value != "") {
  9825. *
  9826. * return false; }
  9827. */
  9828. /*
  9829. * if(!regx.test(field.value)) { if(validationType == "full") { key = "";
  9830. * fieldName = field.name.split('_')[0]; fname =
  9831. * fieldName.charAt(0).toUpperCase()+fieldName.substr(1).replace(/([A-Z][a-z])/g, '
  9832. * $1').replace(/^ /, "" ).toLowerCase(); validationAlert += "<div><a eid =
  9833. * '"+field.name+"' onclick ='goErrorPage(event)' memberorder='"+key+"'>" + "<a
  9834. * class='errorreport' eid = '"+field.name+"' onclick ='goErrorPage(event)'
  9835. * memberorder='"+key+"'>"+fname+"("+yr+")</a>" + "<span eid =
  9836. * '"+field.name+"' class='err'>"+key+"</span></a>" +"<p>"+
  9837. * field.getAttribute("data-original-title")+"</p></div>"; }
  9838. *
  9839. * return false; }
  9840. */
  9841. // }
  9842. return true;
  9843. }
  9844.  
  9845. // 400200 validation starts here
  9846. function validate3616_3618_3623(field) {
  9847.  
  9848. var year = "_CURYEAR";
  9849. y = 0;
  9850. yr = "current year";
  9851. if (field.name.indexOf(year) == -1) {
  9852. // this is applicable for previous year
  9853. year = "_PREVYEAR";
  9854. y = 1;
  9855. yr = "previous year";
  9856. }
  9857.  
  9858. if ((field.name.indexOf("nameOfAuditFirm") != -1)
  9859. || (field.name.indexOf("firmsRegistrationNumberOfAuditFirm") != -1)) {
  9860.  
  9861. var flag = true;
  9862. table = field.getAttribute('groupid');
  9863. fieldName = field.name.split('_')[0];
  9864. fname = fieldName.charAt(0).toUpperCase()
  9865. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1').replace(
  9866. /^ /, "").toLowerCase();
  9867. memberName = field.getAttribute('order1');
  9868. var auditorCategory = $(':input[name=categoryOfAuditor' + year + ']')
  9869. .val();
  9870. if (validationType == "full") {
  9871.  
  9872. if (field.value == "" && auditorCategory == "Auditors firm"
  9873. && memberName != undefined) {
  9874.  
  9875. validationAlert += "<div><a eid = '" + field.name
  9876. + "' onclick ='goErrorPage(event)' memberorder='"
  9877. + memberName + "'><a class='errorreport' eid = '"
  9878. + field.name
  9879. + "' onclick ='goErrorPage(event)' memberorder='"
  9880. + memberName + "'>" + fname + "(" + yr
  9881. + ")</a><span eid = '" + field.name + "' class='err'>"
  9882. + memberName + "</span></a>" + "<p>"
  9883. + field.getAttribute("data-original-title")
  9884. + "</p></div>";
  9885. vresult = false;
  9886. flag = false;
  9887.  
  9888. }
  9889.  
  9890. $
  9891. .each(
  9892. eval("inputdata.fields[" + y + "]." + table),
  9893. function(key, val) {
  9894.  
  9895. var tablenotall = field.getAttribute(
  9896. 'tablenotall').replace(/Member/g, '')
  9897. .split(',');
  9898. found = $.inArray(key, tablenotall);
  9899. mstatus = eval("inputdata.fields[" + y + "]."
  9900. + table + "['" + key
  9901. + "'].memberStatus");
  9902.  
  9903. if (found == -1 && mstatus == 'on'
  9904. && key != memberName) {
  9905.  
  9906. fvalue = eval("inputdata.fields[" + y
  9907. + "]." + table + "['" + key + "']."
  9908. + fieldName);
  9909. auditorCategory = eval("inputdata.fields["
  9910. + y + "]." + table + "['" + key
  9911. + "'].categoryOfAuditor");
  9912.  
  9913. if (fvalue == ""
  9914. && auditorCategory == "Auditors firm") {
  9915.  
  9916. fname = fieldName.charAt(0)
  9917. .toUpperCase()
  9918. + fieldName.substr(1).replace(
  9919. /([A-Z][a-z])/g, ' $1')
  9920. .replace(/^ /, "")
  9921. .toLowerCase();
  9922. validationAlert += "<div><a eid = '"
  9923. + field.name
  9924. + "' onclick ='goErrorPage(event)' memberorder='"
  9925. + key
  9926. + "'>"
  9927. + "<a class='errorreport' eid = '"
  9928. + field.name
  9929. + "' onclick ='goErrorPage(event)' memberorder='"
  9930. + key
  9931. + "'>"
  9932. + fname
  9933. + "("
  9934. + yr
  9935. + ")</a>"
  9936. + "<span eid = '"
  9937. + field.name
  9938. + "' class='err'>"
  9939. + key
  9940. + "</span></a>"
  9941. + "<p>"
  9942. + field
  9943. .getAttribute("data-original-title")
  9944. + "</p></div>";
  9945.  
  9946. flag = false;
  9947. }
  9948.  
  9949. }
  9950. });
  9951.  
  9952. if (flag == false) {
  9953.  
  9954. return false;
  9955. }
  9956.  
  9957. } else {
  9958.  
  9959. var auditorCategory = $(
  9960. ':input[name=categoryOfAuditor' + year + ']').val();
  9961. if (field.value == "" && auditorCategory == "Auditors firm") {
  9962. return false;
  9963. }
  9964.  
  9965. }
  9966.  
  9967. } else if (field.name.indexOf("dateOfSigningAuditReportByAuditors") != -1
  9968. && field.getAttribute('order1') != undefined) {
  9969.  
  9970. var flag = true;
  9971. table = field.getAttribute('groupid');
  9972. fieldName = field.name.split('_')[0];
  9973. fname = fieldName.charAt(0).toUpperCase()
  9974. + fieldName.substr(1).replace(/([A-Z][a-z])/g, ' $1').replace(
  9975. /^ /, "").toLowerCase();
  9976. memberName = field.getAttribute('order1');
  9977.  
  9978. var fieldDate = new Date(field.value);
  9979. var signBSDate = new Date(
  9980. $(
  9981. 'input[name=dateOfSigningOfBalanceSheetByAuditors'
  9982. + year + ']').val());
  9983.  
  9984. if (validationType == "full") {
  9985.  
  9986. if ((signBSDate > fieldDate) && memberName != undefined) {
  9987.  
  9988. validationAlert += "<div><a eid = '" + field.name
  9989. + "' onclick ='goErrorPage(event)' memberorder='"
  9990. + memberName + "'><a class='errorreport' eid = '"
  9991. + field.name
  9992. + "' onclick ='goErrorPage(event)' memberorder='"
  9993. + memberName + "'>" + fname + "(" + yr
  9994. + ")</a><span eid = '" + field.name + "' class='err'>"
  9995. + memberName + "</span></a>" + "<p>"
  9996. + field.getAttribute("data-original-title")
  9997. + "</p></div>";
  9998. flag = false;
  9999. vresult = false;
  10000.  
  10001. }
  10002.  
  10003. $
  10004. .each(
  10005. eval("inputdata.fields[" + y + "]." + table),
  10006. function(key, val) {
  10007.  
  10008. var tablenotall = field.getAttribute(
  10009. 'tablenotall').replace(/Member/g, '')
  10010. .split(',');
  10011. found = $.inArray(key, tablenotall);
  10012. mstatus = eval("inputdata.fields[" + y + "]."
  10013. + table + "['" + key
  10014. + "'].memberStatus");
  10015.  
  10016. if (found == -1 && mstatus == 'on'
  10017. && key != memberName) {
  10018.  
  10019. fieldDate = new Date(
  10020. eval("inputdata.fields[" + y + "]."
  10021. + table + "['" + key
  10022. + "']." + fieldName));
  10023. signBSDate = new Date(
  10024. eval("inputdata.fields["
  10025. + y
  10026. + "]."
  10027. + table
  10028. + "['"
  10029. + key
  10030. + "'].dateOfSigningOfBalanceSheetByAuditors"));
  10031.  
  10032. if (signBSDate > fieldDate) {
  10033.  
  10034. fname = fieldName.charAt(0)
  10035. .toUpperCase()
  10036. + fieldName.substr(1).replace(
  10037. /([A-Z][a-z])/g, ' $1')
  10038. .replace(/^ /, "")
  10039. .toLowerCase();
  10040. validationAlert += "<div><a eid = '"
  10041. + field.name
  10042. + "' onclick ='goErrorPage(event)' memberorder='"
  10043. + key
  10044. + "'>"
  10045. + "<a class='errorreport' eid = '"
  10046. + field.name
  10047. + "' onclick ='goErrorPage(event)' memberorder='"
  10048. + key
  10049. + "'>"
  10050. + fname
  10051. + "("
  10052. + yr
  10053. + ")</a>"
  10054. + "<span eid = '"
  10055. + field.name
  10056. + "' class='err'>"
  10057. + key
  10058. + "</span></a>"
  10059. + "<p>"
  10060. + field
  10061. .getAttribute("data-original-title")
  10062. + "</p></div>";
  10063.  
  10064. flag = false;
  10065. }
  10066.  
  10067. }
  10068. });
  10069.  
  10070. if (flag == false) {
  10071.  
  10072. return false;
  10073. }
  10074.  
  10075. } else {
  10076. var fieldDate = new Date(field.value);
  10077. var signBSDate = new Date($(
  10078. 'input[name=dateOfSigningOfBalanceSheetByAuditors' + year
  10079. + ']').val());
  10080. if (signBSDate > fieldDate) {
  10081. return false;
  10082. }
  10083. }
  10084. }
  10085. return true;
  10086. }
  10087.  
  10088. // 400400 validation starts here
  10089.  
  10090. /*
  10091. * function validate3736(field) {
  10092. *
  10093. * var year = "_CURYEAR"; if (field.name.indexOf(year) == -1) { // this is
  10094. * applicable for previous year year ="_PREVYEAR"; }
  10095. *
  10096. * if(field.name.indexOf("dateOfSigningBoardReport") != -1) { var date = new
  10097. * Date(field.value); var meetingDate = new Date(
  10098. * $('input[name=dateOfBoardOfDirectorsMeetingInWhichBoardReportReferredToUnderSection217WasApproved'+year+']').val());
  10099. * if(meetingDate > date) { if(validationType == "full") { key = ""; fieldName =
  10100. * field.name.split('_')[0]; fname =
  10101. * fieldName.charAt(0).toUpperCase()+fieldName.substr(1).replace(/([A-Z][a-z])/g, '
  10102. * $1').replace(/^ /, "" ).toLowerCase(); validationAlert += "<div><a eid =
  10103. * '"+field.name+"' onclick ='goErrorPage(event)' memberorder='"+key+"'>" + "<a
  10104. * class='errorreport' eid = '"+field.name+"' onclick ='goErrorPage(event)'
  10105. * memberorder='"+key+"'>"+fname+"("+yr+")</a>" + "<span eid =
  10106. * '"+field.name+"' class='err'>"+key+"</span></a>" +"<p>"+
  10107. * field.getAttribute("data-original-title")+"</p></div>"; }
  10108. *
  10109. * return false; } } return true; }
  10110. */
  10111.  
  10112. // Table Mandatory validations starts here
  10113. function validate200300_Table10_Table20(table) {
  10114.  
  10115. if (table.id.indexOf("groupingHeadTable") != -1 && validationType == "full") {
  10116.  
  10117. var mstatus = "off";
  10118. var flag1 = false;
  10119. var flag2 = false;
  10120. tablename = table.getAttribute('tablename');
  10121.  
  10122. for ( var y = 0; y < 2; y++) {
  10123. $.each(inputdata.fields[y].classificationOfBorrowingsTable,
  10124. function(key, val) {
  10125.  
  10126. if (key.indexOf("BondsDebentures") != -1) {
  10127.  
  10128. mstatus = eval("inputdata.fields[" + y
  10129. + "].classificationOfBorrowingsTable['"
  10130. + key + "'].memberStatus");
  10131.  
  10132. if (mstatus == "on") {
  10133.  
  10134. flag1 = true;
  10135.  
  10136. }
  10137. }
  10138.  
  10139. });
  10140.  
  10141. $.each(inputdata.fields[y].detailsOfBondsOrDebenturesTable,
  10142. function(key, val) {
  10143.  
  10144. mstatus = eval("inputdata.fields[" + y
  10145. + "].detailsOfBondsOrDebenturesTable['" + key
  10146. + "'].memberStatus");
  10147.  
  10148. if (mstatus == "on") {
  10149.  
  10150. flag2 = true;
  10151.  
  10152. }
  10153.  
  10154. });
  10155.  
  10156. if (table.id == "groupingHeadTable1") {
  10157.  
  10158. if (flag1 == false && flag2 == true) {
  10159.  
  10160. if (validationType == 'full') {
  10161.  
  10162. memberOrder = "ClassificationBasedOnTimePeriod:LongTerm:Borrowings:BondsDebentures:Bonds:SecuredUnsecuredBorrowings:SecuredBorrowings";
  10163.  
  10164. tableName = table.getAttribute('name').split('_')[0];
  10165. tableName = tableName.charAt(0).toUpperCase()
  10166. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  10167. ' $1').replace(/^ /, "").toLowerCase();
  10168. tMandatory = table.getAttribute('mandatory');
  10169. validationAlert += "<div><a eid = '"
  10170. + table.getAttribute('name')
  10171. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  10172. + memberOrder + "'tMandatory ='" + tMandatory
  10173. + "' >" + tableName + "[" + memberOrder
  10174. + "]</a>" + "<p>" + tMandatory + "</p></div>";
  10175. } else {
  10176.  
  10177. $('#' + tablename + ' span').addClass('tError');
  10178. }
  10179.  
  10180. return false;
  10181. }
  10182.  
  10183. } else if (table.id == "groupingHeadTable2") {
  10184.  
  10185. if (flag2 == false && flag1 == true) {
  10186.  
  10187. if (validationType == 'full') {
  10188.  
  10189. memberOrder = "DetailsOfBondsOrDebentures1";
  10190.  
  10191. tableName = table.getAttribute('name').split('_')[0];
  10192. tableName = tableName.charAt(0).toUpperCase()
  10193. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  10194. ' $1').replace(/^ /, "").toLowerCase();
  10195. tMandatory = table.getAttribute('mandatory');
  10196. validationAlert += "<div><a eid = '"
  10197. + table.getAttribute('name')
  10198. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  10199. + memberOrder + "'tMandatory ='" + tMandatory
  10200. + "' >" + tableName + "[" + memberOrder
  10201. + "]</a>" + "<p>" + tMandatory + "</p></div>";
  10202.  
  10203. } else {
  10204.  
  10205. $('#' + tablename + ' span').addClass('tError');
  10206. }
  10207. return false;
  10208. }
  10209.  
  10210. }
  10211. }
  10212. }
  10213.  
  10214. return true;
  10215. }
  10216.  
  10217. function validate202600_Table20(table) {
  10218.  
  10219. if (table.id.indexOf("groupingHeadTable") != -1) {
  10220.  
  10221. var mstatus = "off";
  10222. var flag = false;
  10223. tablename = table.getAttribute('tablename');
  10224.  
  10225. for ( var y = 0; y < 2; y++) {
  10226.  
  10227. tablefields =$('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+'][type!=formula]'); // get input fields either for current year or previous year
  10228.  
  10229. for ( var i = 0; i < tablefields.length; i++) {
  10230.  
  10231. tField = tablefields[i];
  10232.  
  10233. if (tField.value != "" && tField.value != "--select--"
  10234. && tField.value != 'INDIA') {
  10235.  
  10236. flag = true;
  10237. break;
  10238. }
  10239.  
  10240. }
  10241.  
  10242. if (flag != true) {
  10243.  
  10244. $
  10245. .each(
  10246. inputdata.fields[y].disclosureOfDetailsOfSubsidiariesTable,
  10247. function(key, val) {
  10248.  
  10249. mstatus = eval("inputdata.fields["
  10250. + y
  10251. + "].disclosureOfDetailsOfSubsidiariesTable['"
  10252. + key + "'].memberStatus");
  10253.  
  10254. if (mstatus == "on") {
  10255.  
  10256. flag = true;
  10257.  
  10258. }
  10259.  
  10260. });
  10261.  
  10262. if (table.id == "groupingHeadTable2") {
  10263.  
  10264. if (flag == false) {
  10265.  
  10266. if (validationType == 'full') {
  10267. memberOrder = "Subsidiaries1";
  10268.  
  10269. tableName = table.getAttribute('name').split('_')[0];
  10270. tableName = tableName.charAt(0).toUpperCase()
  10271. + tableName.substr(1).replace(
  10272. /([A-Z][a-z])/g, ' $1').replace(
  10273. /^ /, "").toLowerCase();
  10274. tMandatory = table.getAttribute('mandatory');
  10275. validationAlert += "<div><a eid = '"
  10276. + table.getAttribute('name')
  10277. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  10278. + memberOrder + "'tMandatory ='"
  10279. + tMandatory + "' >" + tableName + "["
  10280. + memberOrder + "]</a>" + "<p>"
  10281. + tMandatory + "</p></div>";
  10282.  
  10283. } else {
  10284.  
  10285. $('#' + tablename + ' span').addClass('tError');
  10286. }
  10287. return false;
  10288. }
  10289.  
  10290. }
  10291. }
  10292. }
  10293. }
  10294.  
  10295. return true;
  10296. }
  10297.  
  10298. function validate200100_Table40(table,xxx, Year) {
  10299.  
  10300. tableid = table.id ;
  10301. if(tableid == undefined) {
  10302.  
  10303. tableid = table.attr('id');
  10304. }
  10305.  
  10306. if (tableid.indexOf("groupingHeadTable4") != -1) {
  10307.  
  10308. var mstatus = "off";
  10309. var flag = false;
  10310. var year = Year;
  10311. if(year == undefined) {
  10312. yr = 0;
  10313. ylen = 2;
  10314. }if(year == '_CURYEAR') {
  10315. yr = 0;
  10316. ylen = 1;
  10317. } else if(year == '_PREVYEAR') {
  10318. yr = 1;
  10319. ylen = 2;
  10320. }
  10321.  
  10322.  
  10323. if(xxx == 'xxx' ) {
  10324.  
  10325. tablename = table.attr('tablename');
  10326.  
  10327. } else {
  10328.  
  10329. tablename = table.getAttribute('tablename');
  10330. }
  10331.  
  10332. for ( var y = yr; y < ylen; y++) {
  10333.  
  10334. if (y == 1) {
  10335.  
  10336. year = '_PREVYEAR';
  10337. } else {
  10338.  
  10339. year = '_CURYEAR';
  10340. }
  10341.  
  10342. var tMandatory = $(
  10343. ':input[name=whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany'
  10344. + year + '] option:selected').text();
  10345.  
  10346.  
  10347. if(xxx == 'xxx') {
  10348. //for table , 'No' selection
  10349. tablefields =$('table[tablename=' + tablename + '] :input[year="'+year.split('_')[1]+'"][type!=formula]'); // get input fields for either current year or previous year
  10350.  
  10351. } else {
  10352.  
  10353. tablefields =$('table[tablename=' + tablename + '] :input[type!=formula]'); // get input fields for both current year and previous year
  10354.  
  10355. }
  10356.  
  10357. for ( var i = 0; i < tablefields.length; i++) {
  10358.  
  10359. tField = tablefields[i];
  10360.  
  10361. if (tField.value != "" && tField.value != "--select--"
  10362. && tField.value != 'INDIA') {
  10363.  
  10364. flag = true;
  10365. break;
  10366. } else {
  10367. // if field does not contain any value.
  10368. flag = false ;
  10369. }
  10370. }
  10371.  
  10372.  
  10373.  
  10374.  
  10375. if (flag != true) {
  10376.  
  10377. $.each(eval("inputdata.fields[" + y + "]." + tablename),
  10378.  
  10379. function(key, val) {
  10380.  
  10381. mstatus = eval("inputdata.fields[" + y + "]."
  10382. + tablename + "['" + key + "'].memberStatus");
  10383. if (mstatus == 'on') {
  10384.  
  10385. // even if memberstatus is on check whether the member does not contains value or not.
  10386. for ( var i = 0; i < tablefields.length; i++) {
  10387.  
  10388. field = tablefields[i].id.split('_')[0]; // get field id.
  10389. fvalue = eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "']."+field);
  10390.  
  10391. if (fvalue != "" && fvalue != "--select--"
  10392. && fvalue != 'INDIA') {
  10393.  
  10394. flag = true;
  10395. break;
  10396. }
  10397.  
  10398. } if (flag == true) {
  10399.  
  10400. // even if memberstatus is on check whether data is deleted currently .
  10401.  
  10402. flen = $(':input[order1="'+key+'"]').length ;
  10403. if(flen != 0) {
  10404.  
  10405. for ( var i = 0; i < tablefields.length; i++) {
  10406.  
  10407. tField = tablefields[i];
  10408.  
  10409. if (tField.value != "" && tField.value != "--select--"
  10410. && tField.value != 'INDIA') {
  10411.  
  10412. flag = true;
  10413. return ;
  10414. } else {
  10415. // if field does not contain any value.
  10416. flag = false ;
  10417. }
  10418. }
  10419.  
  10420. }
  10421.  
  10422. }
  10423.  
  10424. } /*else {
  10425. // if member status is off.
  10426. flag = false ;
  10427. }
  10428. */
  10429. });
  10430. }
  10431.  
  10432. if (((flag != true && tMandatory == 'Yes') /*|| (flag == true && tMandatory == 'No')*/) && xxx != 'xxx') {
  10433.  
  10434. // if 'Yes' is selected that corresponding table is mandatory. ie In that table, atleast one member should contain value.
  10435. // if 'No' is selected that corresponding table is not mandatory. ie In that table any of the member should not contain value.
  10436.  
  10437. $('#' + tablename) .show(); // show table membres if validation fails.
  10438. if(tMandatory == 'No') {
  10439.  
  10440. rule = table.getAttribute('mandatory').replace('mandatory', 'not mandatory').replace(/yes/i, 'No');
  10441. rule += ". Delete all members or reomve all the values from member." ;
  10442. $('#' + tablename+' span:first').text(rule);
  10443. } else {
  10444.  
  10445. rule = table.getAttribute('mandatory');
  10446. $('#' + tablename+' span:first').text(rule);
  10447. }
  10448. if (validationType == 'full') {
  10449. memberOrder = "ShareCapital:EquityShares:EquityShares1:NameOfShareholder:Shareholder1";
  10450.  
  10451. tableName = table.getAttribute('name').split('_')[0];
  10452. tableName = tableName.charAt(0).toUpperCase()
  10453. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  10454. ' $1').replace(/^ /, "").toLowerCase();
  10455. tMandatory = table.getAttribute('mandatory');
  10456. validationAlert += "<div><a eid = '"
  10457. + table.getAttribute('name')
  10458. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  10459. + memberOrder + "'tMandatory ='" + rule
  10460. + "' >" + tableName + "[" + memberOrder
  10461. + "]</a>" + "<p>" + rule+ "</p></div>";
  10462. } else if(tMandatory == 'Yes'){
  10463.  
  10464. $('#' + tablename + ' span').addClass('tError').removeClass('tError1');
  10465. } else {
  10466.  
  10467. $('#' + tablename + ' span').addClass('tError1').removeClass('tError');
  10468. }
  10469.  
  10470. return false;
  10471. }
  10472. // for tableShowHide fun
  10473. else if(xxx == 'xxx' && flag == true) {
  10474.  
  10475. return true;
  10476. } else if(xxx == 'xxx' && flag == false) {
  10477.  
  10478. return false ;
  10479. }
  10480. }
  10481. }
  10482.  
  10483. return true;
  10484. }
  10485.  
  10486. function validate201600_Table20(table, xxx, Year) {
  10487.  
  10488. tableid = table.id ;
  10489. if(tableid == undefined) {
  10490.  
  10491. tableid = table.attr('id');
  10492. }
  10493.  
  10494. if (tableid.indexOf("groupingHeadTable2") != -1) {
  10495.  
  10496. var mstatus = "off";
  10497. var flag = false;
  10498. var year = Year;
  10499. if(year == undefined) {
  10500. yr = 0;
  10501. ylen = 2;
  10502. }if(year == '_CURYEAR') {
  10503. yr = 0;
  10504. ylen = 1;
  10505. } else if(year == '_PREVYEAR') {
  10506. yr = 1;
  10507. ylen = 2;
  10508. }
  10509. if(xxx == 'xxx' ) {
  10510.  
  10511. tablename = table.attr('tablename');
  10512.  
  10513. } else {
  10514.  
  10515. tablename = table.getAttribute('tablename');
  10516. }
  10517.  
  10518.  
  10519. for ( var y = yr; y < ylen; y++) {
  10520.  
  10521. if (y == 1) {
  10522.  
  10523. year = '_PREVYEAR';
  10524. } else {
  10525.  
  10526. year = '_CURYEAR';
  10527. }
  10528. var tMandatory = $(
  10529. ':input[name=whetherThereAreAnyRelatedPartyTransactionsDuringYear'
  10530. + year + '] option:selected').text();
  10531.  
  10532. if(xxx == 'xxx') {
  10533.  
  10534. tablefields =$('table[tablename=' + tablename + '] :input[year="'+year.split('_')[1]+'"][type!=formula]'); // get input fields for either current year or previous year
  10535.  
  10536. } else {
  10537.  
  10538. tablefields =$('table[tablename=' + tablename + '] :input[type!=formula]'); // get input fields for both current year and previous year
  10539.  
  10540. }
  10541.  
  10542. for ( var i = 0; i < tablefields.length; i++) {
  10543.  
  10544. tField = tablefields[i];
  10545.  
  10546. if (tField.value != "" && tField.value != "--select--"
  10547. && tField.value != 'INDIA') {
  10548.  
  10549. flag = true;
  10550. break;
  10551. } else {
  10552. // if field does not contain any value.
  10553. flag = false ;
  10554. }
  10555.  
  10556. }
  10557.  
  10558. if (flag != true) {
  10559.  
  10560. $
  10561. .each(
  10562. inputdata.fields[y].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable,
  10563. function(key, val) {
  10564.  
  10565. mstatus = eval("inputdata.fields["
  10566. + y
  10567. + "].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable['"
  10568. + key + "'].memberStatus");
  10569. if (mstatus == 'on') {
  10570.  
  10571. // even if memberstatus is on check whether the member does not contains value or not.
  10572. for ( var i = 0; i < tablefields.length; i++) {
  10573.  
  10574. field = tablefields[i].id.split('_')[0]; // get field id.
  10575. fvalue = eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "']."+field);
  10576.  
  10577. if (fvalue != "" && fvalue != "--select--"
  10578. && fvalue != 'INDIA') {
  10579.  
  10580. flag = true;
  10581. break;
  10582. }
  10583.  
  10584. } if (flag == true) {
  10585.  
  10586. // even if memberstatus is on check whether data is deleted currently .
  10587.  
  10588. flen = $(':input[order1="'+key+'"]').length ;
  10589. if(flen != 0) {
  10590.  
  10591. for ( var i = 0; i < tablefields.length; i++) {
  10592.  
  10593. tField = tablefields[i];
  10594.  
  10595. if (tField.value != "" && tField.value != "--select--"
  10596. && tField.value != 'INDIA') {
  10597.  
  10598. flag = true;
  10599. return ;
  10600. } else {
  10601. // if field does not contain any value.
  10602. flag = false ;
  10603. }
  10604. }
  10605.  
  10606. }
  10607.  
  10608. }
  10609. } /*else {
  10610.  
  10611. flag = false ;
  10612. }*/
  10613.  
  10614. });
  10615. }
  10616. if (((flag != true && tMandatory == 'Yes') /*|| (flag == true && tMandatory == 'No')*/) && xxx != 'xxx' ) {
  10617.  
  10618. $('#' + tablename) .show();
  10619. if(tMandatory == 'No') {
  10620.  
  10621. rule = table.getAttribute('mandatory').replace('mandatory', 'not mandatory').replace(/yes/i, 'No');
  10622. rule += ". Delete all members or reomve all the values from member." ;
  10623. $('#' + tablename+' span:first').text(rule);
  10624. } else {
  10625.  
  10626. rule = table.getAttribute('mandatory');
  10627. $('#' + tablename+' span:first').text(rule);
  10628. }
  10629. if (validationType == 'full') {
  10630. memberOrder = "CategoriesOfRelatedParties1";
  10631.  
  10632. tableName = table.getAttribute('name').split('_')[0];
  10633. tableName = tableName.charAt(0).toUpperCase()
  10634. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  10635. ' $1').replace(/^ /, "").toLowerCase();
  10636. tMandatory = table.getAttribute('mandatory');
  10637. validationAlert += "<div><a eid = '"
  10638. + table.getAttribute('name')
  10639. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  10640. + memberOrder + "'tMandatory ='" + rule
  10641. + "' >" + tableName + "[" + memberOrder
  10642. + "]</a>" + "<p>" + rule+ "</p></div>";
  10643. } else if(tMandatory == 'Yes'){
  10644.  
  10645. $('#' + tablename + ' span').addClass('tError').removeClass('tError1');
  10646. } else {
  10647.  
  10648. $('#' + tablename + ' span').addClass('tError1').removeClass('tError');
  10649. }
  10650.  
  10651. return false;
  10652. } else if(xxx == 'xxx' && flag == true) {
  10653.  
  10654. return true;
  10655. } else if(xxx == 'xxx' && flag == false) {
  10656.  
  10657. return false ;
  10658. }
  10659. }
  10660. }
  10661.  
  10662. return true;
  10663. }
  10664.  
  10665. function validate202400_Table20(table, xxx , Year) {
  10666.  
  10667. tableid = table.id ;
  10668. if(tableid == undefined) {
  10669.  
  10670. tableid = table.attr('id');
  10671. }
  10672. if (tableid.indexOf("groupingHeadTable2") != -1) {
  10673.  
  10674. var mstatus = "off";
  10675. var flag = false;
  10676. var year = Year;
  10677. if(year == undefined) {
  10678. yr = 0;
  10679. ylen = 2;
  10680. }if(year == '_CURYEAR') {
  10681. yr = 0;
  10682. ylen = 1;
  10683. } else if(year == '_PREVYEAR') {
  10684. yr = 1;
  10685. ylen = 2;
  10686. }
  10687. if(xxx == 'xxx' ) {
  10688.  
  10689. tablename = table.attr('tablename');
  10690.  
  10691. } else {
  10692.  
  10693. tablename = table.getAttribute('tablename');
  10694. }
  10695.  
  10696. for ( var y = yr; y < ylen; y++) {
  10697.  
  10698. if (y == 1) {
  10699.  
  10700. year = '_PREVYEAR';
  10701. } else {
  10702.  
  10703. year = '_CURYEAR';
  10704. }
  10705.  
  10706. var tMandatory = $(
  10707. ':input[name=whetherCompanyHasInvestedInAssociates' + year
  10708. + '] option:selected').text();
  10709.  
  10710.  
  10711. if(xxx == 'xxx') {
  10712.  
  10713. tablefields =$('table[tablename=' + tablename + '] :input[year="'+year.split('_')[1]+'"][type!=formula]'); // get input fields for either current year or previous year
  10714.  
  10715. } else {
  10716.  
  10717. tablefields =$('table[tablename=' + tablename + '] :input[type!=formula]'); // get input fields for both current year and previous year
  10718.  
  10719. }
  10720.  
  10721. for ( var i = 0; i < tablefields.length; i++) {
  10722.  
  10723. tField = tablefields[i];
  10724.  
  10725. if (tField.value != "" && tField.value != "--select--"
  10726. && tField.value != 'INDIA') {
  10727.  
  10728. flag = true;
  10729. break;
  10730. } else {
  10731.  
  10732. flag = false ;
  10733. }
  10734. }
  10735.  
  10736. if (flag != true) {
  10737. $
  10738. .each(
  10739. inputdata.fields[y].descriptionOfInformationOfAssociatesTable,
  10740. function(key, val) {
  10741.  
  10742. mstatus = eval("inputdata.fields["
  10743. + y
  10744. + "].descriptionOfInformationOfAssociatesTable['"
  10745. + key + "'].memberStatus");
  10746. if (mstatus == 'on') {
  10747.  
  10748. // even if memberstatus is on check whether the member does not contains value or not.
  10749. for ( var i = 0; i < tablefields.length; i++) {
  10750.  
  10751. field = tablefields[i].id.split('_')[0]; // get field id.
  10752. fvalue = eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "']."+field);
  10753.  
  10754. if (fvalue != "" && fvalue != "--select--"
  10755. && fvalue != 'INDIA') {
  10756.  
  10757. flag = true;
  10758. break;
  10759. }
  10760.  
  10761. } if (flag == true) {
  10762.  
  10763. // even if memberstatus is on check whether data is deleted currently .
  10764.  
  10765. flen = $(':input[order1="'+key+'"]').length ;
  10766. if(flen != 0) {
  10767.  
  10768. for ( var i = 0; i < tablefields.length; i++) {
  10769.  
  10770. tField = tablefields[i];
  10771.  
  10772. if (tField.value != "" && tField.value != "--select--"
  10773. && tField.value != 'INDIA') {
  10774.  
  10775. flag = true;
  10776. return ;
  10777. } else {
  10778. // if field does not contain any value.
  10779. flag = false ;
  10780. }
  10781. }
  10782.  
  10783. }
  10784.  
  10785. }
  10786. }/* else {
  10787.  
  10788. flag = false ;
  10789. }*/
  10790.  
  10791. });
  10792.  
  10793. }
  10794.  
  10795. if (((flag != true && tMandatory == 'Yes') /*|| (flag == true && tMandatory == 'No')*/) && xxx != 'xxx') {
  10796.  
  10797. $('#' + tablename) .show();
  10798. if(tMandatory == 'No') {
  10799.  
  10800. rule = table.getAttribute('mandatory').replace('mandatory', 'not mandatory').replace(/yes/i, 'No');
  10801. rule += ". Delete all members or reomve all the values from member." ;
  10802. $('#' + tablename+' span:first').text(rule);
  10803. } else {
  10804.  
  10805. rule = table.getAttribute('mandatory');
  10806. $('#' + tablename+' span:first').text(rule);
  10807. }
  10808. if (validationType == 'full') {
  10809. memberOrder = "InvestmentsInAssociates1";
  10810.  
  10811. tableName = table.getAttribute('name').split('_')[0];
  10812. tableName = tableName.charAt(0).toUpperCase()
  10813. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  10814. ' $1').replace(/^ /, "").toLowerCase();
  10815. tMandatory = table.getAttribute('mandatory');
  10816. validationAlert += "<div><a eid = '"
  10817. + table.getAttribute('name')
  10818. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  10819. + memberOrder + "'tMandatory ='" + rule
  10820. + "' >" + tableName + "[" + memberOrder
  10821. + "]</a>" + "<p>" + rule+ "</p></div>";
  10822. } else if(tMandatory == 'Yes'){
  10823.  
  10824. $('#' + tablename + ' span').addClass('tError').removeClass('tError1');
  10825. } else {
  10826.  
  10827. $('#' + tablename + ' span').addClass('tError1').removeClass('tError');
  10828. }
  10829.  
  10830. return false;
  10831. } else if(xxx == 'xxx' && flag == true) {
  10832.  
  10833. return true;
  10834. } else if(xxx == 'xxx' && flag == false) {
  10835.  
  10836. return false ;
  10837. }
  10838. }
  10839. }
  10840.  
  10841. return true;
  10842. }
  10843.  
  10844. function validate202500_Table40(table,xxx,Year) {
  10845.  
  10846.  
  10847. tableid = table.id ;
  10848. if(tableid == undefined) {
  10849.  
  10850. tableid = table.attr('id');
  10851. }
  10852.  
  10853. if (tableid.indexOf("groupingHeadTable4") != -1) {
  10854.  
  10855. var mstatus = "off";
  10856. var flag = false;
  10857. var year = Year;
  10858. if(year == undefined) {
  10859. yr = 0;
  10860. ylen = 2;
  10861. }if(year == '_CURYEAR') {
  10862. yr = 0;
  10863. ylen = 1;
  10864. } else if(year == '_PREVYEAR') {
  10865. yr = 1;
  10866. ylen = 2;
  10867. }
  10868.  
  10869. if(xxx == 'xxx' ) {
  10870.  
  10871. tablename = table.attr('tablename');
  10872.  
  10873. } else {
  10874.  
  10875. tablename = table.getAttribute('tablename');
  10876. }
  10877.  
  10878. for ( var y = yr; y < ylen; y++) {
  10879.  
  10880. if (y == 1) {
  10881.  
  10882. year = '_PREVYEAR';
  10883. } else {
  10884.  
  10885. year = '_CURYEAR';
  10886. }
  10887.  
  10888. var tMandatory = $(
  10889. ':input[name=whetherCompanyHasInvestedInJointVentures'
  10890. + year + '] option:selected').text();
  10891.  
  10892. if(xxx == 'xxx') {
  10893.  
  10894. tablefields =$('table[tablename=' + tablename + '] :input[year="'+year.split('_')[1]+'"][type!=formula]'); // get input fields for either current year or previous year
  10895.  
  10896. } else {
  10897.  
  10898. tablefields =$('table[tablename=' + tablename + '] :input[type!=formula]'); // get input fields for both current year and previous year
  10899.  
  10900. }
  10901.  
  10902. for ( var i = 0; i < tablefields.length; i++) {
  10903.  
  10904. tField = tablefields[i];
  10905.  
  10906. if (tField.value != "" && tField.value != "--select--"
  10907. && tField.value != 'INDIA') {
  10908.  
  10909. flag = true;
  10910. break;
  10911. } else {
  10912.  
  10913. flag = false ;
  10914. }
  10915.  
  10916. }
  10917.  
  10918. if (flag != true) {
  10919.  
  10920. $
  10921. .each(
  10922. inputdata.fields[y].disclosureOfInterestsInSignificantJointVenturesTable,
  10923. function(key, val) {
  10924.  
  10925. mstatus = eval("inputdata.fields["
  10926. + y
  10927. + "].disclosureOfInterestsInSignificantJointVenturesTable['"
  10928. + key + "'].memberStatus");
  10929. if (mstatus == 'on') {
  10930.  
  10931. // even if memberstatus is on check whether the member does not contains value or not.
  10932. for ( var i = 0; i < tablefields.length; i++) {
  10933.  
  10934. field = tablefields[i].id.split('_')[0]; // get field id.
  10935. fvalue = eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "']."+field);
  10936.  
  10937. if (fvalue != "" && fvalue != "--select--"
  10938. && fvalue != 'INDIA') {
  10939.  
  10940. flag = true;
  10941. break;
  10942. }
  10943.  
  10944. } if (flag == true) {
  10945.  
  10946. // even if memberstatus is on check whether data is deleted currently .
  10947.  
  10948. flen = $(':input[order1="'+key+'"]').length ;
  10949. if(flen != 0) {
  10950.  
  10951. for ( var i = 0; i < tablefields.length; i++) {
  10952.  
  10953. tField = tablefields[i];
  10954.  
  10955. if (tField.value != "" && tField.value != "--select--"
  10956. && tField.value != 'INDIA') {
  10957.  
  10958. flag = true;
  10959. return ;
  10960. } else {
  10961. // if field does not contain any value.
  10962. flag = false ;
  10963. }
  10964. }
  10965.  
  10966. }
  10967.  
  10968. }
  10969. }/* else {
  10970.  
  10971. flag = false ;
  10972. }*/
  10973.  
  10974. });
  10975. }
  10976.  
  10977. if (((flag != true && tMandatory == 'Yes') /*|| (flag == true && tMandatory == 'No')*/) && xxx != 'xxx') {
  10978.  
  10979. $('#' + tablename) .show();
  10980. if(tMandatory == 'No') {
  10981.  
  10982. rule = table.getAttribute('mandatory').replace('mandatory', 'not mandatory').replace(/yes/i, 'No');
  10983. rule += ". Delete all members or reomve all the values from member." ;
  10984. $('#' + tablename+' span:first').text(rule);
  10985. } else {
  10986.  
  10987. rule = table.getAttribute('mandatory');
  10988. $('#' + tablename+' span:first').text(rule);
  10989. }
  10990. if (validationType == 'full') {
  10991. memberOrder = "InterestsInSignificantJointVentures1";
  10992.  
  10993. tableName = table.getAttribute('name').split('_')[0];
  10994. tableName = tableName.charAt(0).toUpperCase()
  10995. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  10996. ' $1').replace(/^ /, "").toLowerCase();
  10997. tMandatory = table.getAttribute('mandatory');
  10998. validationAlert += "<div><a eid = '"
  10999. + table.getAttribute('name')
  11000. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  11001. + memberOrder + "'tMandatory ='" + rule
  11002. + "' >" + tableName + "[" + memberOrder
  11003. + "]</a>" + "<p>" + rule+ "</p></div>";
  11004. } else if(tMandatory == 'Yes'){
  11005.  
  11006. $('#' + tablename + ' span').addClass('tError').removeClass('tError1');
  11007. } else {
  11008.  
  11009. $('#' + tablename + ' span').addClass('tError1').removeClass('tError');
  11010. }
  11011.  
  11012. return false;
  11013. } else if(xxx == 'xxx' && flag == true) {
  11014.  
  11015. return true;
  11016. } else if(xxx == 'xxx' && flag == false) {
  11017.  
  11018. return false ;
  11019. }
  11020.  
  11021. }
  11022. }
  11023.  
  11024. return true;
  11025. }
  11026.  
  11027. function validate202800_Table10(table, xxx , Year) {
  11028.  
  11029. tableid = table.id ;
  11030. if(tableid == undefined) {
  11031.  
  11032. tableid = table.attr('id');
  11033. }
  11034.  
  11035.  
  11036. if (tableid.indexOf("groupingHeadTable1") != -1) {
  11037.  
  11038. var mstatus = "off";
  11039. var flag = false;
  11040. var year = Year;
  11041. if(year == undefined) {
  11042. yr = 0;
  11043. ylen = 2;
  11044. }if(year == '_CURYEAR') {
  11045. yr = 0;
  11046. ylen = 1;
  11047. } else if(year == '_PREVYEAR') {
  11048. yr = 1;
  11049. ylen = 2;
  11050. }
  11051. if(xxx == 'xxx' ) {
  11052.  
  11053. tablename = table.attr('tablename');
  11054.  
  11055. } else {
  11056.  
  11057. tablename = table.getAttribute('tablename');
  11058. }
  11059.  
  11060. for ( var y = yr; y < ylen; y++) {
  11061.  
  11062. if (y == 1) {
  11063.  
  11064. year = '_PREVYEAR';
  11065. } else {
  11066.  
  11067. year = '_CURYEAR';
  11068. }
  11069.  
  11070. var tMandatory = $(
  11071. ':input[name=whetherCompanyHasSubsidiaryCompanies' + year
  11072. + '] option:selected').text();
  11073.  
  11074. if(xxx == 'xxx') {
  11075.  
  11076. tablefields =$('table[tablename=' + tablename + '] :input[year="'+year.split('_')[1]+'"][type!=formula]'); // get input fields for either current year or previous year
  11077.  
  11078. } else {
  11079.  
  11080. tablefields =$('table[tablename=' + tablename + '] :input[type!=formula]'); // get input fields for both current year and previous year
  11081.  
  11082. }
  11083.  
  11084. for ( var i = 0; i < tablefields.length; i++) {
  11085.  
  11086. tField = tablefields[i];
  11087.  
  11088. if (tField.value != "" && tField.value != "--select--"
  11089. && tField.value != 'INDIA') {
  11090.  
  11091. flag = true;
  11092. break;
  11093. } else {
  11094.  
  11095. flag = false ;
  11096. }
  11097.  
  11098. }
  11099.  
  11100. if (flag != true) {
  11101.  
  11102. $.each(inputdata.fields[y].detailsOfSubsidiariesTable,
  11103. function(key, val) {
  11104.  
  11105. mstatus = eval("inputdata.fields[" + y
  11106. + "].detailsOfSubsidiariesTable['"
  11107. + key + "'].memberStatus");
  11108. if (mstatus == 'on') {
  11109.  
  11110. // even if memberstatus is on check whether the member does not contains value or not.
  11111. for ( var i = 0; i < tablefields.length; i++) {
  11112.  
  11113. field = tablefields[i].id.split('_')[0]; // get field id.
  11114. fvalue = eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "']."+field);
  11115.  
  11116. if (fvalue != "" && fvalue != "--select--"
  11117. && fvalue != 'INDIA') {
  11118.  
  11119. flag = true;
  11120. break;
  11121. }
  11122.  
  11123. } if (flag == true) {
  11124.  
  11125. // even if memberstatus is on check whether data is deleted currently .
  11126.  
  11127. flen = $(':input[order1="'+key+'"]').length ;
  11128. if(flen != 0) {
  11129.  
  11130. for ( var i = 0; i < tablefields.length; i++) {
  11131.  
  11132. tField = tablefields[i];
  11133.  
  11134. if (tField.value != "" && tField.value != "--select--"
  11135. && tField.value != 'INDIA') {
  11136.  
  11137. flag = true;
  11138. return ;
  11139. } else {
  11140. // if field does not contain any value.
  11141. flag = false ;
  11142. }
  11143. }
  11144.  
  11145. }
  11146.  
  11147. }
  11148. }/* else {
  11149.  
  11150. flag = false ;
  11151. }*/
  11152.  
  11153. });
  11154. }
  11155.  
  11156. if (((flag != true && tMandatory == 'Yes') /*|| (flag == true && tMandatory == 'No')*/) && xxx != 'xxx') {
  11157.  
  11158. $('#' + tablename) .show();
  11159. if(tMandatory == 'No') {
  11160.  
  11161. rule = table.getAttribute('mandatory').replace('mandatory', 'not mandatory').replace(/yes/i, 'No');
  11162. rule += ". Delete all members or reomve all the values from member." ;
  11163. $('#' + tablename+' span:first').text(rule);
  11164. } else {
  11165.  
  11166. rule = table.getAttribute('mandatory');
  11167. $('#' + tablename+' span:first').text(rule);
  11168. }
  11169. if (validationType == 'full') {
  11170. memberOrder = "Subsidires1";
  11171.  
  11172. tableName = table.getAttribute('name').split('_')[0];
  11173. tableName = tableName.charAt(0).toUpperCase()
  11174. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  11175. ' $1').replace(/^ /, "").toLowerCase();
  11176. tMandatory = table.getAttribute('mandatory');
  11177. validationAlert += "<div><a eid = '"
  11178. + table.getAttribute('name')
  11179. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  11180. + memberOrder + "'tMandatory ='" + rule
  11181. + "' >" + tableName + "[" + memberOrder
  11182. + "]</a>" + "<p>" + rule+ "</p></div>";
  11183. } else if(tMandatory == 'Yes'){
  11184.  
  11185. $('#' + tablename + ' span').addClass('tError').removeClass('tError1');
  11186. } else {
  11187.  
  11188. $('#' + tablename + ' span').addClass('tError1').removeClass('tError');
  11189. }
  11190.  
  11191. return false;
  11192. } else if(xxx == 'xxx' && flag == true) {
  11193.  
  11194. return true;
  11195. } else if(xxx == 'xxx' && flag == false) {
  11196.  
  11197. return false ;
  11198. }
  11199. }
  11200. }
  11201.  
  11202. return true;
  11203. }
  11204.  
  11205. function validate300700_Table10(table) {
  11206.  
  11207. if (table.id.indexOf("groupingHeadTable1") != -1) {
  11208.  
  11209. var mstatus = "off";
  11210. var flag = false;
  11211. var year = '_CURYEAR';
  11212. tablename = table.getAttribute('tablename');
  11213.  
  11214. for ( var y = 0; y < 2; y++) {
  11215.  
  11216. if (y == 1) {
  11217.  
  11218. year = '_PREVYEAR';
  11219. }
  11220.  
  11221. tablefields =$('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+'][type!=formula]'); // get input fields either for current year or previous year
  11222.  
  11223. for ( var i = 0; i < tablefields.length; i++) {
  11224.  
  11225. tField = tablefields[i];
  11226.  
  11227. if (tField.value != "" && tField.value != "--select--"
  11228. && tField.value != 'INDIA') {
  11229.  
  11230. flag = true;
  11231. break;
  11232. } else {
  11233.  
  11234. flag = false ;
  11235. }
  11236.  
  11237. }
  11238.  
  11239. if (flag != true) {
  11240.  
  11241. $
  11242. .each(
  11243. inputdata.fields[y].disclosureOfDirectorsAndRemunerationToDirectorsTable,
  11244. function(key, val) {
  11245.  
  11246. mstatus = eval("inputdata.fields["
  11247. + y
  11248. + "].disclosureOfDirectorsAndRemunerationToDirectorsTable['"
  11249. + key + "'].memberStatus");
  11250. if (mstatus == 'on') {
  11251.  
  11252. flag = true;
  11253. return false;
  11254. } else {
  11255.  
  11256. flag = false ;
  11257. }
  11258.  
  11259. });
  11260. }
  11261.  
  11262. if (flag != true) {
  11263.  
  11264. if (validationType == 'full') {
  11265. memberOrder = "Directors1";
  11266. tableName = table.getAttribute('name').split('_')[0];
  11267. tableName = tableName.charAt(0).toUpperCase()
  11268. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  11269. ' $1').replace(/^ /, "").toLowerCase();
  11270. tMandatory = table.getAttribute('mandatory');
  11271. validationAlert += "<div><a eid = '"
  11272. + table.getAttribute('name')
  11273. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  11274. + memberOrder + "'tMandatory ='" + tMandatory
  11275. + "' >" + tableName + "[" + memberOrder + "]</a>"
  11276. + "<p>" + tMandatory + "</p></div>";
  11277. } else {
  11278.  
  11279. $('#' + tablename + ' span').addClass('tError');
  11280. }
  11281. return false;
  11282. }
  11283.  
  11284. }
  11285. }
  11286.  
  11287. return true;
  11288. }
  11289.  
  11290. function validate400200_Table10_Table20(table, xxx, Year) {
  11291.  
  11292. tableid = table.id ;
  11293. if(tableid == undefined) {
  11294.  
  11295. tableid = table.attr('id');
  11296. }
  11297.  
  11298.  
  11299. if (tableid.indexOf("groupingHeadTable1") != -1) {
  11300.  
  11301. var mstatus = "off";
  11302. var flag = false;
  11303. var year = Year;
  11304. if(year == undefined) {
  11305. yr = 0;
  11306. ylen = 2;
  11307. }if(year == '_CURYEAR') {
  11308. yr = 0;
  11309. ylen = 1;
  11310. } else if(year == '_PREVYEAR') {
  11311. yr = 1;
  11312. ylen = 2;
  11313. }
  11314.  
  11315. if(xxx == 'xxx' ) {
  11316.  
  11317. tablename = table.attr('tablename');
  11318.  
  11319. } else {
  11320.  
  11321. tablename = table.getAttribute('tablename');
  11322. }
  11323.  
  11324. for ( var y = yr; y < ylen; y++) {
  11325.  
  11326. if (y == 1) {
  11327.  
  11328. year = '_PREVYEAR';
  11329. } else {
  11330.  
  11331. year = '_CURYEAR';
  11332. }
  11333.  
  11334. var tMandatory = $(
  11335. ':input[name=whetherCompaniesAuditorsReportOrderIsApplicableOnCompany'
  11336. + year + '] option:selected').text();
  11337.  
  11338.  
  11339. if(xxx == 'xxx') {
  11340.  
  11341. tablefields =$('table[tablename=' + tablename + '] :input[year="'+year.split('_')[1]+'"][type!=formula]'); // get input fields for either current year or previous year
  11342.  
  11343. } else {
  11344.  
  11345. tablefields =$('table[tablename=' + tablename + '] :input'); // get input fields for both current year and previous year
  11346.  
  11347. }
  11348.  
  11349. for ( var i = 0; i < tablefields.length; i++) {
  11350.  
  11351. tField = tablefields[i];
  11352.  
  11353. if (tField.value != "" && tField.value != "--select--"
  11354. && tField.value != 'INDIA') {
  11355.  
  11356. flag = true;
  11357. break;
  11358. } else {
  11359.  
  11360. flag = false ;
  11361. }
  11362.  
  11363. }
  11364.  
  11365. if (flag != true) {
  11366.  
  11367. $
  11368. .each(
  11369. inputdata.fields[y].disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable,
  11370. function(key, val) {
  11371.  
  11372. mstatus = eval("inputdata.fields["
  11373. + y
  11374. + "].disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable['"
  11375. + key + "'].memberStatus");
  11376. if (mstatus == 'on') {
  11377.  
  11378. // even if memberstatus is on check whether the member does not contains value or not.
  11379. for ( var i = 0; i < tablefields.length; i++) {
  11380.  
  11381. field = tablefields[i].id.split('_')[0]; // get field id.
  11382. fvalue = eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "']."+field);
  11383.  
  11384. if (fvalue != "" && fvalue != "--select--"
  11385. && fvalue != 'INDIA') {
  11386.  
  11387. flag = true;
  11388. break;
  11389. }
  11390.  
  11391. } if (flag == true) {
  11392.  
  11393. // even if memberstatus is on check whether data is deleted currently .
  11394.  
  11395. flen = $(':input[order1="'+key+'"]').length ;
  11396. if(flen != 0) {
  11397.  
  11398. for ( var i = 0; i < tablefields.length; i++) {
  11399.  
  11400. tField = tablefields[i];
  11401.  
  11402. if (tField.value != "" && tField.value != "--select--"
  11403. && tField.value != 'INDIA') {
  11404.  
  11405. flag = true;
  11406. return ;
  11407. } else {
  11408. // if field does not contain any value.
  11409. flag = false ;
  11410. }
  11411. }
  11412.  
  11413. }
  11414.  
  11415. }
  11416. } /*else {
  11417.  
  11418. flag = false ;
  11419. }*/
  11420.  
  11421. });
  11422. }
  11423.  
  11424. if (((flag != true && tMandatory == 'Yes') /*|| (flag == true && tMandatory == 'No')*/) && xxx != 'xxx') {
  11425.  
  11426. $('#' + tablename) .show();
  11427. if(tMandatory == 'No') {
  11428.  
  11429. rule = table.getAttribute('mandatory').replace('mandatory', 'not mandatory').replace(/yes/i, 'No');
  11430. rule += ". Delete all members or reomve all the values from member." ;
  11431. $('#' + tablename+' span:first').text(rule);
  11432. } else {
  11433.  
  11434. rule = table.getAttribute('mandatory');
  11435. $('#' + tablename+' span:first').text(rule);
  11436. }
  11437. if (validationType == 'full') {
  11438. memberOrder = "AuditorsFavourableOpinion";
  11439.  
  11440. tableName = table.getAttribute('name').split('_')[0];
  11441. tableName = tableName.charAt(0).toUpperCase()
  11442. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  11443. ' $1').replace(/^ /, "").toLowerCase();
  11444. tMandatory = table.getAttribute('mandatory');
  11445. validationAlert += "<div><a eid = '"
  11446. + table.getAttribute('name')
  11447. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  11448. + memberOrder + "'tMandatory ='" + rule
  11449. + "' >" + tableName + "[" + memberOrder
  11450. + "]</a>" + "<p>" + rule+ "</p></div>";
  11451. } else if(tMandatory == 'Yes'){
  11452.  
  11453. $('#' + tablename + ' span').addClass('tError').removeClass('tError1');
  11454. } else {
  11455.  
  11456. $('#' + tablename + ' span').addClass('tError1').removeClass('tError');
  11457. }
  11458.  
  11459. return false;
  11460. } else if(xxx == 'xxx' && flag == true) {
  11461.  
  11462. return true;
  11463. } else if(xxx == 'xxx' && flag == false) {
  11464.  
  11465. return false ;
  11466. }
  11467. }
  11468. } else if (tableid.indexOf("groupingHeadTable2") != -1) {
  11469.  
  11470. var mstatus = "off";
  11471. var flag = false;
  11472. if(xxx == 'xxx' ) {
  11473.  
  11474. tablename = table.attr('tablename');
  11475.  
  11476. } else {
  11477.  
  11478. tablename = table.getAttribute('tablename');
  11479. }
  11480.  
  11481. for ( var y = 0; y < 1; y++) {
  11482. // if y = 0 for current year
  11483.  
  11484. tablefields = $('table[tablename=detailsRegardingAuditorsTable] :input[type!=formula]');
  11485.  
  11486. for ( var i = 0; i < tablefields.length; i++) {
  11487.  
  11488. tField = tablefields[i];
  11489.  
  11490. if (tField.value != "" && tField.value != "--select--"
  11491. && tField.value != 'INDIA') {
  11492.  
  11493. flag = true;
  11494. break;
  11495. } else {
  11496.  
  11497. flag = false ;
  11498. }
  11499.  
  11500. }
  11501.  
  11502. if (flag != true) {
  11503.  
  11504. $.each(inputdata.fields[y].detailsRegardingAuditorsTable,
  11505. function(key, val) {
  11506.  
  11507. mstatus = eval("inputdata.fields[" + y
  11508. + "].detailsRegardingAuditorsTable['" + key
  11509. + "'].memberStatus");
  11510.  
  11511. if (mstatus == "on") {
  11512.  
  11513. flag = true;
  11514.  
  11515. } /*else {
  11516.  
  11517. flag = false ;
  11518. }*/
  11519.  
  11520. });
  11521. }
  11522.  
  11523. if (table.id == "groupingHeadTable2") {
  11524.  
  11525. if (flag == false) {
  11526.  
  11527. if (validationType == 'full') {
  11528. memberOrder = "Auditors1";
  11529.  
  11530. tableName = table.getAttribute('name').split('_')[0];
  11531. tableName = tableName.charAt(0).toUpperCase()
  11532. + tableName.substr(1).replace(/([A-Z][a-z])/g,
  11533. ' $1').replace(/^ /, "").toLowerCase();
  11534. tMandatory = table.getAttribute('mandatory');
  11535. validationAlert += "<div><a eid = '"
  11536. + table.getAttribute('name')
  11537. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  11538. + memberOrder + "'tMandatory ='" + tMandatory
  11539. + "' >" + tableName + "[" + memberOrder
  11540. + "]</a>" + "<p>" + tMandatory + "</p></div>";
  11541. } else {
  11542.  
  11543. $('#' + tablename + ' span').addClass('tError');
  11544. }
  11545.  
  11546. return false;
  11547. }
  11548.  
  11549. }
  11550. }
  11551. }
  11552.  
  11553. return true;
  11554. }
  11555.  
  11556. function validate400300_Table0(table) {
  11557.  
  11558. if (table.id.indexOf("groupingHeadTable") != -1) {
  11559.  
  11560. var mstatus = "off";
  11561. var flag = false;
  11562.  
  11563. tablename = table.getAttribute('tablename');
  11564.  
  11565. for ( var y = 0; y < 2; y++) {
  11566.  
  11567. if( y == 0) {
  11568.  
  11569. year = '_CURYEAR';
  11570. } else {
  11571.  
  11572. year = '_PREVYEAR';
  11573. }
  11574.  
  11575. tablefields = $('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+'][type!=formula]'); // get input fields either for current year or previous year
  11576.  
  11577. for ( var i = 0; i < tablefields.length; i++) {
  11578.  
  11579. tField = tablefields[i];
  11580.  
  11581. if (tField.value != "" && tField.value != "--select--"
  11582. && tField.value != 'INDIA') {
  11583.  
  11584. flag = true;
  11585. break;
  11586. } else {
  11587.  
  11588. flag = false ;
  11589. }
  11590.  
  11591. }
  11592.  
  11593. if (flag != true) {
  11594.  
  11595. tablefields =$('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+'][type!=formula]'); // get input fields either for current year or previous year
  11596.  
  11597. for ( var i = 0; i < tablefields.length; i++) {
  11598.  
  11599. tField = tablefields[i];
  11600.  
  11601. if (tField.value != "" && tField.value != "--select--"
  11602. && tField.value != 'INDIA') {
  11603.  
  11604. flag = true;
  11605. break;
  11606. } else {
  11607.  
  11608. flag = false ;
  11609. }
  11610.  
  11611. }
  11612.  
  11613. if (flag != true) {
  11614.  
  11615. $
  11616. .each(
  11617. inputdata.fields[y].detailsofDirectorsSigningBalanceSheetTable,
  11618. function(key, val) {
  11619.  
  11620. mstatus = eval("inputdata.fields["
  11621. + y
  11622. + "].detailsofDirectorsSigningBalanceSheetTable['"
  11623. + key + "'].memberStatus");
  11624.  
  11625. if (mstatus == "on") {
  11626.  
  11627. flag = true;
  11628.  
  11629. }
  11630.  
  11631. });
  11632. }
  11633.  
  11634. if (table.id == "groupingHeadTable0") {
  11635.  
  11636. if (flag == false) {
  11637.  
  11638. if (validationType == 'full') {
  11639. memberOrder = "ManagerSigningBalanceSheet1";
  11640.  
  11641. tableName = table.getAttribute('name').split('_')[0];
  11642. tableName = tableName.charAt(0).toUpperCase()
  11643. + tableName.substr(1).replace(
  11644. /([A-Z][a-z])/g, ' $1').replace(
  11645. /^ /, "").toLowerCase();
  11646. tMandatory = table.getAttribute('mandatory');
  11647. validationAlert += "<div><a eid = '"
  11648. + table.getAttribute('name')
  11649. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  11650. + memberOrder + "'tMandatory ='"
  11651. + tMandatory + "' >" + tableName + "["
  11652. + memberOrder + "]</a>" + "<p>"
  11653. + tMandatory + "</p></div>";
  11654. return false;
  11655. } else {
  11656.  
  11657. $('#' + tablename + ' span').addClass('tError');
  11658. }
  11659. }
  11660.  
  11661. }
  11662. }
  11663.  
  11664. }
  11665. }
  11666.  
  11667. return true;
  11668. }
  11669.  
  11670. function validate400400_Table90(table) {
  11671.  
  11672. if (table.id.indexOf("groupingHeadTable") != -1) {
  11673.  
  11674. var mstatus = "off";
  11675. var flag = false;
  11676. tablename = table.getAttribute('tablename');
  11677.  
  11678. for ( var y = 0; y < 2; y++) {
  11679.  
  11680. if( y == 0) {
  11681.  
  11682. year = '_CURYEAR';
  11683. } else {
  11684.  
  11685. year = '_PREVYEAR';
  11686. }
  11687.  
  11688.  
  11689. if (flag != true) {
  11690.  
  11691. tablefields =$('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+'][type!=formula]'); // get input fields either for current year or previous year
  11692.  
  11693. for ( var i = 0; i < tablefields.length; i++) {
  11694.  
  11695. tField = tablefields[i];
  11696.  
  11697. if (tField.value != "" && tField.value != "--select--"
  11698. && tField.value != 'INDIA') {
  11699.  
  11700. flag = true;
  11701. break;
  11702. } else {
  11703.  
  11704. flag = false ;
  11705. }
  11706.  
  11707. }
  11708.  
  11709. if (flag != true) {
  11710.  
  11711. $
  11712. .each(
  11713. inputdata.fields[y].detailsofDirectorsSigningBoardReportTable,
  11714. function(key, val) {
  11715.  
  11716. mstatus = eval("inputdata.fields["
  11717. + y
  11718. + "].detailsofDirectorsSigningBoardReportTable['"
  11719. + key + "'].memberStatus");
  11720.  
  11721. if (mstatus == "on") {
  11722.  
  11723. flag = true;
  11724.  
  11725. }
  11726.  
  11727. });
  11728. }
  11729.  
  11730. if (table.id == "groupingHeadTable9") {
  11731.  
  11732. if (flag == false) {
  11733.  
  11734. if (validationType == 'full') {
  11735.  
  11736. memberOrder = "DirectorsSigningBoardReport1";
  11737.  
  11738. tableName = table.getAttribute('name').split('_')[0];
  11739. tableName = tableName.charAt(0).toUpperCase()
  11740. + tableName.substr(1).replace(
  11741. /([A-Z][a-z])/g, ' $1').replace(
  11742. /^ /, "").toLowerCase();
  11743. tMandatory = table.getAttribute('mandatory');
  11744. validationAlert += "<div><a eid = '"
  11745. + table.getAttribute('name')
  11746. + "' class='errorreport' onclick ='goErrorPage(event)'memberorder='"
  11747. + memberOrder + "'tMandatory ='"
  11748. + tMandatory + "' >" + tableName + "["
  11749. + memberOrder + "]</a>" + "<p>"
  11750. + tMandatory + "</p></div>";
  11751. } else {
  11752.  
  11753. $('#' + tablename + ' span').addClass('tError');
  11754. }
  11755. return false;
  11756. }
  11757.  
  11758. }
  11759. }
  11760.  
  11761. }
  11762. }
  11763.  
  11764. return true;
  11765. }
  11766.  
  11767. // Go to Error Page for validations
  11768. function goErrorPage(e) {
  11769.  
  11770. $('#dialog-valert').dialog('close');
  11771. loadProcessingUI('Processing...','15%');
  11772. window.setTimeout(goErrorPage_Delay,100,e);
  11773. }
  11774. function goErrorPage_Delay(e) {
  11775.  
  11776. if(e.target.tagName == "TD") {
  11777.  
  11778. noteNo= e.target.parentElement.getAttribute('nid');
  11779. fName = e.target.parentElement.getAttribute('fname');
  11780. order = e.target.parentElement.getAttribute('memberorder');
  11781. year = e.target.parentElement.getAttribute('year');
  11782. fieldName = fName.charAt(0).toLowerCase()+fName.substr(1);
  11783. eid = fieldName + year ;
  11784. sid = noteNo ; // set schedule number.
  11785. autoTrigger = false ; // made autoTrigger as true temporarly, due to some expansions pblm. will make this to "false" later.
  11786.  
  11787. if(order == undefined){
  11788.  
  11789. order = "undefined";
  11790. } else {
  11791.  
  11792. order = order.split(':');
  11793. }
  11794.  
  11795. filljson(0,noteNo,'Schedule');
  11796.  
  11797.  
  11798. if(fieldName.indexOf('Table') != -1) {
  11799.  
  11800. var l = $('#'+fieldName).parentsUntil('div#fcontent').length;
  11801. //$('#'+fieldName).css('background','yellow');
  11802. var pageId = $('#'+fieldName).parentsUntil('div#fcontent')[l-1].id ;
  11803.  
  11804. } else {
  11805.  
  11806. var l = $('#'+fieldName+year).parentsUntil('div#fcontent').length;
  11807. //$('#'+fieldName).css('background','yellow');
  11808. var pageId = $('#'+fieldName+year).parentsUntil('div#fcontent')[l-1].id ;
  11809.  
  11810. }
  11811.  
  11812. $('#Validation').show();
  11813.  
  11814. } else {
  11815.  
  11816.  
  11817. var eid = e.target.getAttribute('eid');// error field id or table id.
  11818. var l = $('#' + eid).parentsUntil('div#fcontent').length;
  11819. var pageId = $('#' + eid).parentsUntil('div#fcontent')[l - 1].id;
  11820. order = e.target.getAttribute('memberorder').split(':');
  11821. $('#vImg').show();
  11822.  
  11823. }
  11824.  
  11825. var pno = pageId.replace(/[^0-9]/g, '');
  11826. var slen = $("#" + pageId).show().siblings('div.fcontent').hide().length;
  11827. $('div#NPbuttombar.NPbuttombar_schedule').show();
  11828.  
  11829. if(order.length == 1) {
  11830.  
  11831. autoTrigger = false; // if the member length is 1 ,to prevent auto trigger of memeber click.
  11832. }
  11833. if (slen != 0) {
  11834. if (slen == pno - 1) {
  11835.  
  11836. $("#saveandcontinue").show();
  11837. $("#continue").hide();
  11838. $('#prev').show();
  11839.  
  11840. } else if (pno == 1 && slen != 0) {
  11841.  
  11842. $('#prev').hide();
  11843. $("#saveandcontinue").hide();
  11844. $("#continue").show();
  11845. } /*
  11846. * else if (slen == 0) {
  11847. *
  11848. * $("#saveandcontinue").show(); $("#continue").hide();
  11849. * $('#prev').hide();
  11850. * }
  11851. */else {
  11852.  
  11853. $("#continue").show();
  11854. $("#saveandcontinue").hide();
  11855. $('#prev').show();
  11856. }
  11857. }
  11858. // var order = memberOrder.split(":");
  11859.  
  11860.  
  11861. tMandatory = e.target.getAttribute('tMandatory');
  11862. if (order == "dynamicMember" || tMandatory != '') {
  11863.  
  11864. /*
  11865. * $('#' + eid + '_eTableMandatory').remove();
  11866. *
  11867. * $('#' + eid).append( "<div id='" + eid + "_eTableMandatory'
  11868. * style='color:orange'>" + tMandatory + "</div>");
  11869. */
  11870.  
  11871. $('#' + eid + ' span').addClass('tError');
  11872.  
  11873. /*
  11874. * setTimeout(function() { $('#' + eid + '_eTableMandatory').fadeOut();
  11875. * $('#' + eid + '_eTableMandatory').empty(); }, 10000);
  11876. */
  11877.  
  11878. }
  11879.  
  11880. notDynamic = order[0].charAt(order[0].length - 1);
  11881. if (isNaN(notDynamic) || order != "undefined") {
  11882.  
  11883. // for explicit members
  11884.  
  11885. dontValidate = true; // validation not required when of click member
  11886.  
  11887. var torder = order[0];
  11888. for ( var i = 0; i < order.length; i++) {
  11889.  
  11890. /*
  11891. * if (id === undefined) {
  11892. *
  11893. * torder = order[i]; id = $("a[name='" + torder +
  11894. * "']:visible").attr('id'); } $("#" + id).trigger('click'); torder +=
  11895. * ":" + order[i + 1];
  11896. */
  11897.  
  11898. //mno = torder.replace(/[^0-9]/g, ''); // member number
  11899. mno = $("a[membername='" + torder + "']").index();
  11900. nxtMembers = "AddMoreMember"+order[i-1]; // next member clcik id
  11901.  
  11902. if(mno > 10) {
  11903.  
  11904. // for sequential order membres.
  11905.  
  11906. len = mno/10;
  11907.  
  11908. for(var j=1 ; j <len; j++) {
  11909.  
  11910. $("#" + nxtMembers).trigger('click');
  11911.  
  11912. }
  11913. }
  11914.  
  11915. dontValidate = true; // validation not required when click of member
  11916. if( i == 0) {
  11917.  
  11918. var id = $("a[membername='" + torder + "']:visible").attr('id'); // getting id from member name, in a schedule memeber name is may not unique, so that visible member only.
  11919. $("#" + id).trigger('click');
  11920.  
  11921. } else {
  11922.  
  11923. var id = $("a[membername='" + torder + "']:visible").attr('id');
  11924. }
  11925. $("#" + id).trigger('click');
  11926. torder = order[i + 1];
  11927.  
  11928. }
  11929. } else if( eid.indexOf('Table') == -1){
  11930. // 1. for implicit members
  11931. // 2. not required trigger a member for table mandatory valdiations.
  11932. dontValidate = true; // validation not required when click of member
  11933. $("a[dbmembername = " + order + "]").trigger('click');
  11934. }
  11935.  
  11936. $('div#NPbuttombar.NPbuttombar_schedule').show();
  11937.  
  11938. //spinner.stop(target); // stop spinner
  11939.  
  11940. $('#dialog-valert').dialog('close');
  11941.  
  11942.  
  11943. directPageJumpAction("", pno, (slen + 1), "jumpNextPage");
  11944.  
  11945. if (eid.indexOf('Table') == -1) {
  11946.  
  11947. $('#' + eid).focus().css('background', 'yellow');
  11948. scrollTo = $("#" + eid).offset().top - 300;
  11949. $('html, body').animate({
  11950. scrollTop : scrollTo
  11951. }, 1000);
  11952.  
  11953. } else {
  11954.  
  11955. $('#' + eid + ' span').css('background', 'yellow');
  11956. }
  11957.  
  11958. $('#valertImg').siblings().on('click', function() {
  11959.  
  11960. $('#vImg').hide();
  11961.  
  11962. });
  11963. $('#main-nav').children().on('click', function() {
  11964.  
  11965. $('#vImg').hide();
  11966.  
  11967. });
  11968.  
  11969.  
  11970. autoTrigger = true; // to allow member expansion after end of this function.
  11971.  
  11972. $.unblockUI();
  11973. }
  11974.  
  11975. function dailogOpen() {
  11976.  
  11977. $('#vImg').show();
  11978. $('#dialog-valert').dialog('open');
  11979. }
  11980.  
  11981. function addspaceinTooltip(frule) {
  11982.  
  11983. t = "";
  11984. if (frule != undefined) {
  11985.  
  11986. if (frule.length == 1) {
  11987.  
  11988. // if frule in the format of array
  11989. tooltip = frule[0].split(' ');
  11990. } else if (frule.length > 1) {
  11991.  
  11992. // if frule is string
  11993. tooltip = frule.split(' ');
  11994. }
  11995. $.each(tooltip, function() {
  11996.  
  11997. tip = this;
  11998. if (tip.length >= 15) {
  11999.  
  12000. // split by caps letter
  12001. tip = this.charAt(0).toUpperCase()
  12002. + this.substr(1).replace(/([A-Z][a-z])/g, ' $1')
  12003. .replace(/^ /, "").toLowerCase();
  12004.  
  12005. }
  12006.  
  12007. t += tip + " ";
  12008.  
  12009. });
  12010.  
  12011. }
  12012.  
  12013. return t;
  12014. }
  12015.  
  12016. validateRelatedParty = function(field) {
  12017.  
  12018. year = "_CURYEAR";
  12019. y = 0;
  12020. var flag = "";
  12021. if (field.name.indexOf("_PREVYEAR") != -1) {
  12022.  
  12023. year = "_PREVYEAR";
  12024. y = 1;
  12025.  
  12026. }
  12027.  
  12028. var tablename = "disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable";
  12029.  
  12030. var arr = [
  12031. "purchasesOfGoodsRelatedPartyTransactions",
  12032. "purchasesOfGoodsRelatedPartyTransactionsPercentage",
  12033. "revenueFromSaleOfGoodsRelatedPartyTransactions",
  12034. "revenueFromSaleOfGoodsRelatedPartyTransactionsPercentage",
  12035. "purchasesOfTangibleAssetsRelatedPartyTransactions",
  12036. "purchasesOfTangibleAssetsRelatedPartyTransactionsPercentage",
  12037. "salesOfTangibleAssetsRelatedPartyTransactions",
  12038. "salesOfTangibleAssetsRelatedPartyTransactionsPercentage",
  12039. "servicesReceivedRelatedPartyTransactions",
  12040. "servicesReceivedRelatedPartyTransactionsPercentage",
  12041. "revenueFromRenderingOfServicesRelatedPartyTransactions",
  12042. "revenueFromRenderingOfServicesRelatedPartyTransactionsPercentage",
  12043. "leasesAsLessorRelatedPartyTransactions",
  12044. "leasesAsLessorRelatedPartyTransactionsPercentage",
  12045. "leasesAsLesseeRelatedPartyTransactions",
  12046. "leasesAsLesseeRelatedPartyTransactionsPercentage",
  12047. "advancesGivenDuringYearRelatedPartyTransactions",
  12048. "advancesGivenDuringYearRelatedPartyTransactionsPercentage",
  12049. "advancesTakenDuringYearRelatedPartyTransactions",
  12050. "advancesTakenDuringYearRelatedPartyTransactionsPercentage",
  12051. "interestReceivedDuringYearRelatedPartyTransactions",
  12052. "interestReceivedDuringYearRelatedPartyTransactionsPercentage",
  12053. "interestPaidDuringYearRelatedPartyTransactions",
  12054. "interestPaidDuringYearRelatedPartyTransactionsPercentage",
  12055. "reimbursementOfExpensesIncurredOnBehalfOfCompanyDuringYearRelatedPartyTransactions",
  12056. "reimbursementOfExpensesIncurredOnBehalfOfCompanyDuringYearRelatedPartyTransactionsPercentage",
  12057. "reimbursementOfExpensesIncurredByRelatedPartyDuringYearRelatedPartyTransactions",
  12058. "reimbursementOfExpensesIncurredByRelatedPartyDuringYearRelatedPartyTransactionsPercentage",
  12059. "hirePurchaseAsPurchaserRelatedPartyTransactions",
  12060. "hirePurchaseAsPurchaserRelatedPartyTransactionsPercentage",
  12061. "hirePurchaseAsSellerRelatedPartyTransactions",
  12062. "hirePurchaseAsSellerRelatedPartyTransactionsPercentage",
  12063. "transfersOfResearchAndDevelopmentFromentityRelatedPartyTransactions",
  12064. "transfersOfResearchAndDevelopmentFromEntityRelatedPartyTransactionsPercentage",
  12065. "transfersOfResearchAndDevelopmentToentityRelatedPartyTransactions",
  12066. "transfersOfResearchAndDevelopmentToEntityRelatedPartyTransactionsPercentage",
  12067. "transfersUnderLicenseAgreementsFromentityRelatedPartyTransactions",
  12068. "transfersUnderLicenseAgreementsFromEntityRelatedPartyTransactionsPercentage",
  12069. "transfersUnderLicenseAgreementsToentityRelatedPartyTransactions",
  12070. "transfersUnderLicenseAgreementsToEntityRelatedPartyTransactionsPercentage",
  12071. "transfersOfLoanUnderFinanceAgreementsFromentityRelatedPartyTransactions",
  12072. "transfersOfLoanUnderFinanceAgreementsFromEntityRelatedPartyTransactionsPercentage",
  12073. "transfersOfLoanUnderFinanceAgreementsToentityRelatedPartyTransactions",
  12074. "transfersOfLoanUnderFinanceAgreementsToEntityRelatedPartyTransactionsPercentage",
  12075. "equityContributionsMadeUnderFinanceAgreementsRelatedPartyTransactions",
  12076. "equityContributionsMadeUnderFinanceAgreementsRelatedPartyTransactionsPercentage",
  12077. "equityContributionsReceivedUnderFinanceAgreementsRelatedPartyTransactions",
  12078. "equityContributionsReceivedUnderFinanceAgreementsRelatedPartyTransactionsPercentage",
  12079. "provisionOfGuaranteesOrCollateralByentityRelatedPartyTransactions",
  12080. "provisionOfGuaranteesOrCollateralByEntityRelatedPartyTransactionsPercentage",
  12081. "provisionOfGuaranteesOrCollateralToentityRelatedPartyTransactions",
  12082. "provisionOfGuaranteesOrCollateralToEntityRelatedPartyTransactionsPercentage",
  12083. "servicesReceivedFromManagementContracts",
  12084. "servicesReceivedFromManagementContractsPercentage",
  12085. "revenueFromServicesRenderedThroughManagementContracts",
  12086. "revenueFromServicesRenderedThroughManagementContractsPercentage",
  12087. "expenseFromAgencyArrangements",
  12088. "expenseFromAgencyArrangementsPercentage",
  12089. "revenueFormAgencyArrangements",
  12090. "revenueFormAgencyArrangementsPercentage",
  12091. "otherRelatedPartyTransactionsExpense",
  12092. "otherRelatedPartyTransactionsExpensePercentage",
  12093. "otherRelatedPartyTransactionsIncome",
  12094. "otherRelatedPartyTransactionsIncomePercentage" ];
  12095.  
  12096. if (validationType != "full") {
  12097.  
  12098. var status = 'off';
  12099. tablefields = $('table[name="disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable"] input[year="'+year.split('_')[1]+'"][type!=formula]');
  12100. for (var i =0; i<tablefields.length; i++) {
  12101.  
  12102. if (tablefields[i].value != ""&& tablefields[i].value != "--select--" && tablefields[i].value != "INDIA") {
  12103.  
  12104. status = 'on';
  12105. break;
  12106. }
  12107.  
  12108. }
  12109. if(status == 'off') {
  12110.  
  12111. return true ;
  12112. } else if(status == 'on') {
  12113.  
  12114. for ( var i = 0; i < arr.length; i++) {
  12115.  
  12116. fvalue = $('#' + arr[i] + year).val();
  12117.  
  12118. if (fvalue != "") {
  12119.  
  12120. flag = true;
  12121. return true;
  12122. }
  12123.  
  12124. }
  12125.  
  12126. for ( var i = 0; i < arr.length; i++) {
  12127.  
  12128. $("#" + arr[i] + year).css('background', 'yellow');
  12129.  
  12130. flag = false;
  12131.  
  12132. }
  12133.  
  12134. return false;
  12135.  
  12136. }
  12137.  
  12138. } else if (validationType == "full") {
  12139.  
  12140. var mactive = false;
  12141.  
  12142. $
  12143. .each(
  12144. inputdata.fields[y].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable,
  12145. function(key, val) {
  12146.  
  12147. memberstatus = eval("inputdata.fields["
  12148. + y
  12149. + "].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable['"
  12150. + key + "'].memberStatus");
  12151. if(memberstatus == 'on') {
  12152.  
  12153. var tableLineItems = $('table[name='+groupid+'] input[year="'+year.split('_')[1]+'"]');
  12154.  
  12155. for(var i=0; i<tableLineItems.length;i++){
  12156.  
  12157. var fieldname = tableLineItems[i].id.split('_')[0];
  12158. var value = eval("inputdata.fields[" + y + "]." + groupid + "['" + key+ "']."+fieldname);
  12159. if(value != "" && value != 'INDIA' && value != '--select--') {
  12160.  
  12161. mactive = true;
  12162. break;
  12163. }
  12164.  
  12165. }
  12166.  
  12167. // even if memberstatus is on to check whether it contains value or not
  12168. /*$.each(eval("inputdata.fields[" + y + "]." + tablename + "['" + key+ "']"),
  12169. function(field, value) {
  12170.  
  12171. if(value != "" && value != 'INDIA' && value != '--select--') {
  12172.  
  12173. mactive = true ;
  12174. return ;
  12175. }
  12176.  
  12177.  
  12178. });*/
  12179.  
  12180. if(mactive == false){
  12181.  
  12182. // if does not contain value to make that member status off.
  12183. eval("inputdata.fields[" + y+ "]." + tablename + "['" + key+ "'].memberStatus='off'");
  12184. }
  12185.  
  12186. }
  12187.  
  12188. if (memberstatus == "on" && mactive == true) {
  12189.  
  12190. for ( var i = 0; i < arr.length; i++) {
  12191.  
  12192. fvalue = eval("inputdata.fields["
  12193. + y
  12194. + "].disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable['"
  12195. + key + "']." + arr[i]);
  12196.  
  12197. if (fvalue != "") {
  12198.  
  12199. flag = true;
  12200. return true;
  12201. }
  12202.  
  12203. }
  12204. for ( var i = 0; i < arr.length; i++) {
  12205.  
  12206. fieldName = arr[i];
  12207. fname = fieldName.charAt(0).toUpperCase()
  12208. + fieldName.substr(1).replace(
  12209. /([A-Z][a-z])/g, ' $1')
  12210. .replace(/^ /, "")
  12211. .toLowerCase();
  12212. validationAlert += "<div><a eid = '"
  12213. + field.name
  12214. + "' onclick ='goErrorPage(event)' memberorder='"
  12215. + key
  12216. + "'>"
  12217. + "<a class='errorreport' eid = '"
  12218. + field.name
  12219. + "' onclick ='goErrorPage(event)' memberorder='"
  12220. + key
  12221. + "'>"
  12222. + fname
  12223. + "("
  12224. + yr
  12225. + ")</a>"
  12226. + "<span eid = '"
  12227. + field.name
  12228. + "' class='err'>"
  12229. + key
  12230. + "</span></a>"
  12231. + "<p>"
  12232. + field
  12233. .getAttribute("data-original-title")
  12234. + "</p></div>";
  12235.  
  12236. flag = false;
  12237. }
  12238.  
  12239. }
  12240.  
  12241. });
  12242.  
  12243. }
  12244.  
  12245. if (flag === false) {
  12246. // if flag "" also it will return false. so given === to check exact equals
  12247. return false;
  12248. }
  12249.  
  12250. return true;
  12251. }
  12252.  
  12253. // CIN PAN Validation for dimensonal members
  12254.  
  12255. function validateCIN_PAN(field, field1, country) {
  12256.  
  12257. year = "_CURYEAR";
  12258. y = 0;
  12259. yr = "current year";
  12260. var flag = true;
  12261. if (field.name.indexOf("_PREVYEAR") != -1) {
  12262.  
  12263. year = "_PREVYEAR";
  12264. y = 1;
  12265. yr = "previous year";
  12266.  
  12267. }
  12268.  
  12269. fieldName = field.name.split('_')[0];
  12270. if (field1 != "") {
  12271.  
  12272. fieldName1 = field1.attr('name').split('_')[0];
  12273. f1value = field1.val();
  12274. }
  12275. if (country != "") {
  12276.  
  12277. countryName = country.attr('name').split('_')[0];
  12278. cvalue = country.val();
  12279. }
  12280.  
  12281. table = field.getAttribute('groupid');
  12282. memberName = field.getAttribute('order1');
  12283.  
  12284. if (fieldName.search(/cin/i) != -1) {
  12285.  
  12286. panNum_cinNum = cinNum;
  12287.  
  12288. } else {
  12289.  
  12290. panNum_cinNum = panNum;
  12291. }
  12292.  
  12293. var PAN_CIN = [], p_c;
  12294. var index = "";
  12295. $.each(eval("inputdata.fields[" + y + "]." + table), function(key, val) {
  12296.  
  12297. if (key != memberName) {
  12298. p_c = eval("inputdata.fields[" + y + "]." + table + "['" + key
  12299. + "']." + fieldName);
  12300. } else {
  12301.  
  12302. p_c = field.value;
  12303.  
  12304. }
  12305. if (p_c != "") {
  12306.  
  12307. PAN_CIN.push(p_c);
  12308. }
  12309. });
  12310.  
  12311.  
  12312. $(PAN_CIN).each(function(k, v) {
  12313.  
  12314. index = $
  12315. .map(
  12316. PAN_CIN,
  12317. function(o, i) {
  12318. if (o
  12319. .toLowerCase() === field.value
  12320. .toLowerCase())
  12321. return i;
  12322. });
  12323. });
  12324.  
  12325. if(field1 == "" && country != "") {
  12326.  
  12327.  
  12328. if(index.length > 1 || (field.value == "" && cvalue == 'INDIA')) {
  12329.  
  12330. flag = false ;
  12331.  
  12332. }
  12333.  
  12334. } else if(field1 == "" && country == "") {
  12335.  
  12336.  
  12337. if(index.length > 1 ) {
  12338.  
  12339. flag = false ;
  12340.  
  12341. }
  12342. } else {
  12343.  
  12344.  
  12345. if(index.length > 1 || (field.value == "" && f1value == "" && cvalue == 'INDIA')) {
  12346.  
  12347. flag = false ;
  12348.  
  12349. }
  12350.  
  12351. }
  12352.  
  12353. $
  12354. .each(
  12355. eval("inputdata.fields[" + y + "]." + table),
  12356. function(key, val) {
  12357.  
  12358. var tablenotall = field.getAttribute('tablenotall')
  12359. .replace(/Member/g, '').split(',');
  12360. found = $.inArray(key, tablenotall);
  12361. mstatus = eval("inputdata.fields[" + y + "]." + table
  12362. + "['" + key + "'].memberStatus");
  12363.  
  12364. if (found == -1 && mstatus == 'on' && key != memberName) {
  12365.  
  12366. pan_cin = eval("inputdata.fields[" + y + "]."
  12367. + table + "['" + key + "']." + fieldName);
  12368. if (field1 != "") {
  12369.  
  12370. pan_cin1 = eval("inputdata.fields[" + y + "]."
  12371. + table + "['" + key + "']."
  12372. + fieldName1);
  12373. } else {
  12374.  
  12375. pan_cin1 = "";
  12376. }
  12377. if (country != "") {
  12378. Country = eval("inputdata.fields[" + y + "]."
  12379. + table + "['" + key + "']."
  12380. + countryName);
  12381. } else {
  12382.  
  12383. Country = 'novalue';
  12384.  
  12385. }
  12386.  
  12387. $(PAN_CIN)
  12388. .each(
  12389. function(k, v) {
  12390.  
  12391. index = $
  12392. .map(
  12393. PAN_CIN,
  12394. function(o, i) {
  12395. if (o
  12396. .toLowerCase() === pan_cin
  12397. .toLowerCase())
  12398. return i;
  12399. });
  12400. if (index.length > 1
  12401. || pan_cin
  12402. .toLowerCase() == panNum_cinNum
  12403. .toLowerCase()
  12404. || (pan_cin1 == ""
  12405. && pan_cin == "" && Country == 'INDIA')) {
  12406.  
  12407. fname = fieldName.charAt(0)
  12408. .toUpperCase()
  12409. + fieldName
  12410. .substr(1)
  12411. .replace(
  12412. /([A-Z][a-z])/g,
  12413. ' $1')
  12414. .replace(
  12415. /^ /,
  12416. "")
  12417. .toLowerCase();
  12418. validationAlert += "<div><a eid = '"
  12419. + field.name
  12420. + "' onclick ='goErrorPage(event)' memberorder='"
  12421. + key
  12422. + "'>"
  12423. + "<a class='errorreport' eid = '"
  12424. + field.name
  12425. + "' onclick ='goErrorPage(event)' memberorder='"
  12426. + key
  12427. + "'>"
  12428. + fname
  12429. + "("
  12430. + yr
  12431. + ")</a>"
  12432. + "<span eid = '"
  12433. + field.name
  12434. + "' class='err'>"
  12435. + key
  12436. + "</span></a>"
  12437. + "<p>"
  12438. + field
  12439. .getAttribute("data-original-title")
  12440. + "</p></div>";
  12441.  
  12442. flag = false;
  12443. return false;
  12444. }
  12445. });
  12446.  
  12447. }
  12448. });
  12449.  
  12450. if (flag == false) {
  12451.  
  12452. return false;
  12453. }
  12454.  
  12455. return true;
  12456. }
  12457.  
  12458. function tableShowOrHide(e) {
  12459.  
  12460. // Hide or show that table if 'Yes' or 'No' is selected.
  12461. var field = e.target.id ;
  12462. if($.inArray(field.split('_')[0],tableDependency) != -1) {
  12463. var fvalue = $('#'+field).val();
  12464. var YEAR = '_CURYEAR' ;
  12465. var year ='_PREVYEAR';
  12466. var yr = '<span style="color:red">previous year</span>';
  12467. if(field.indexOf('_CURYEAR') != -1) {
  12468.  
  12469. YEAR = '_PREVYEAR';
  12470. year = '_CURYEAR';
  12471. yr ='<span style="color:red">current year</span>';
  12472. }
  12473. var splitID =field.split('_')[0]+YEAR;
  12474. var svalue = $('#'+splitID +' option:selected').text();
  12475.  
  12476. if(field.indexOf('whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany') != -1) {
  12477. //200100
  12478. tablename = "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable" ;
  12479.  
  12480. } else if(field.indexOf('whetherCompaniesAuditorsReportOrderIsApplicableOnCompany') != -1) {
  12481.  
  12482. tablename = "disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable" ;
  12483.  
  12484. } else if(field.indexOf('whetherThereAreAnyRelatedPartyTransactionsDuringYear') != -1) {
  12485.  
  12486. tablename = "disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable" ;
  12487.  
  12488. } else if(field.indexOf('whetherCompanyHasInvestedInJointVentures') != -1) {
  12489.  
  12490. tablename = "disclosureOfInterestsInSignificantJointVenturesTable" ;
  12491.  
  12492.  
  12493. } else if(field.indexOf('whetherCompanyHasInvestedInAssociates') != -1) {
  12494.  
  12495. tablename = "descriptionOfInformationOfAssociatesTable" ;
  12496.  
  12497. } else if(field.indexOf('whetherCompanyHasSubsidiaryCompanies') != -1) {
  12498. // 202800
  12499. tablename = "detailsOfSubsidiariesTable" ;
  12500.  
  12501. }
  12502. var table_name = tablename.charAt(0).toUpperCase()+ tablename.substr(1).replace(/([A-Z][a-z])/g, ' $1').replace(/^ /, "").toLowerCase();
  12503.  
  12504. if(fvalue =='false') {
  12505.  
  12506. if(fvalue == 'false' && (svalue == 'No' || svalue == "") ) {
  12507. if(tablename != "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable"){
  12508.  
  12509. confirmMsg = "This operation will delete all Members of "+table_name+". <br />It cannot be restored at a later time!<br/>Do you want to continue?";
  12510. } else {
  12511.  
  12512. confirmMsg = "This operation will delete all values of "+table_name+". <br />This values cannot be restored at a later time!<br/> Do you want to continue?";
  12513. }
  12514.  
  12515. } else {
  12516.  
  12517. confirmMsg = "This operation will delete all values in "+yr+" of "+table_name+". <br />This values cannot be restored at a later time!<br/> Do you want to continue?";
  12518. }
  12519.  
  12520. var table = $('table[name="'+tablename+'"]');
  12521. var flag = true ;
  12522. if(tablename == 'disclosureOfShareholdingMoreThanFivePerCentInCompanyTable') {
  12523.  
  12524. flag = validate200100_Table40(table,'xxx',year) ;
  12525. } else if(tablename == 'disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable') {
  12526.  
  12527. flag = validate400200_Table10_Table20(table,'xxx',year) ;
  12528. } else if(tablename == 'disclosureOfRelationshipAndTransactionsBetweenRelatedPartiesTable') {
  12529.  
  12530. flag = validate201600_Table20(table,'xxx',year) ;
  12531. } else if(tablename == 'disclosureOfInterestsInSignificantJointVenturesTable') {
  12532.  
  12533. flag = validate202500_Table40(table,'xxx',year) ;
  12534. } else if(tablename == 'descriptionOfInformationOfAssociatesTable') {
  12535.  
  12536. flag = validate202400_Table20(table,'xxx',year) ;
  12537. } else if(tablename == 'detailsOfSubsidiariesTable') {
  12538.  
  12539. flag = validate202800_Table10(table,'xxx',year) ;
  12540. }
  12541.  
  12542. if(tablename != 'disclosureOfShareholdingMoreThanFivePerCentInCompanyTable' && tablename != 'disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable') {
  12543.  
  12544. mlen = $('#'+tablename+'Members').children('div.dynamicmember').length;
  12545. } else if(tablename == 'disclosureOfShareholdingMoreThanFivePerCentInCompanyTable' || tablename == 'disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable') {
  12546.  
  12547. mlen = 1;
  12548. }
  12549. if(flag == true) {
  12550. $.confirm({
  12551. 'title' : 'Delete Confirmation',
  12552. 'message' : confirmMsg,
  12553. 'buttons' : {
  12554. 'Yes' : {
  12555. 'class' : 'blue',
  12556. 'action': function() {
  12557.  
  12558. if(field.indexOf('whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany') == -1 && field.indexOf('whetherCompaniesAuditorsReportOrderIsApplicableOnCompany') == -1 ) {
  12559. if(fvalue == 'false' && (svalue == 'No' || svalue == "") ) {
  12560.  
  12561.  
  12562. for(var i = 0 ; i < mlen ; i ++ ) {
  12563.  
  12564. e = $('#'+tablename+'Members').find('img')[i] ;
  12565. var removememberselectionmode = e.nextSibling.getAttribute('class');
  12566. var tableName = e.getAttribute('group_id');
  12567. var dbMemberName = e.getAttribute('dbmembername');
  12568. var name = e.getAttribute('name');
  12569. var tableNum = e.nextSibling.getAttribute('tableNum');
  12570. var membercount = e.getAttribute('membercount');
  12571. $('a[dbmembername='+dbMemberName+']').css('display','none');
  12572. $('a[dbmembername='+dbMemberName+']').parent().css('display','none');
  12573. var tablepath = eval('DynamicMemberList.'+tableName);
  12574. tablepath[membercount].memberName = ""; // Making the member name and member order empty while deleting the dynamic member
  12575. tablepath[membercount].memberOrder = "";
  12576. removeDynamicMemberData(tableName,dbMemberName,tableNum,name,removememberselectionmode,year); // only to delete selected year
  12577. var gettingTablePathCurYear = eval('inputdata.fields[0].'+tableName);
  12578. var gettingMemberPathCurYear = eval(gettingTablePathCurYear[dbMemberName]);
  12579. gettingMemberPathCurYear.memberStatus = 'off';
  12580. var gettingTablePathPrevYear = eval('inputdata.fields[1].'+tableName);
  12581. var gettingMemberPathPrevYear = eval(gettingTablePathPrevYear[dbMemberName]);
  12582. gettingMemberPathPrevYear.memberStatus = 'off';
  12583.  
  12584. }
  12585. //Checking weather the dynamic member list is empty or not
  12586. if( DynamicMemberList != "" && DynamicMemberList != undefined )
  12587. {
  12588. saveDynamicMemberList(JSON.stringify(DynamicMemberList,null,"\t"),'');
  12589. }
  12590. else
  12591. {
  12592. saveDynamicMemberList(DynamicMemberList,''); // here session is empty only
  12593. }
  12594. //$('#'+tablename).hide(); // to hide member
  12595. //$ ('table[name = '+tablename+']').hide(); // to hide table
  12596. $('#'+tablename+'Members').empty();
  12597.  
  12598.  
  12599.  
  12600. if(fvalue == 'false' && (svalue == 'No' || svalue == "") ) {
  12601.  
  12602.  
  12603. $('#'+tablename).hide(); // to hide member
  12604. $ ('table[name = '+tablename+']').hide(); // to hide table
  12605.  
  12606. } else if(fvalue == 'false') {
  12607.  
  12608. $('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+']').attr('disabled','disabled').css('background','whitesmoke');
  12609.  
  12610. }
  12611.  
  12612. } else if(fvalue == 'false' && (svalue == 'Yes' || svalue == "") ) {
  12613.  
  12614.  
  12615. mlen = $('#'+tablename+'Members').children('div.dynamicmember').length;
  12616. for(var i = 0 ; i < mlen ; i ++ ) {
  12617.  
  12618. e = $('#'+tablename+'Members').find('img')[i] ;
  12619. var removememberselectionmode = e.nextSibling.getAttribute('class');
  12620. var tableName = e.getAttribute('group_id');
  12621. var dbMemberName = e.getAttribute('dbmembername');
  12622. var name = e.getAttribute('name');
  12623. var tableNum = e.nextSibling.getAttribute('tableNum');
  12624. var membercount = e.getAttribute('membercount');
  12625. var tablepath = eval('DynamicMemberList.'+tableName);
  12626. removeDynamicMemberData(tableName,dbMemberName,tableNum,name,removememberselectionmode,year);
  12627. if(year == '_CURYEAR') {
  12628.  
  12629. var gettingTablePathCurYear = eval('inputdata.fields[0].'+tableName);
  12630. var gettingMemberPathCurYear = eval(gettingTablePathCurYear[dbMemberName]);
  12631. gettingMemberPathCurYear.memberStatus = 'off';
  12632. } else {
  12633.  
  12634. var gettingTablePathPrevYear = eval('inputdata.fields[1].'+tableName);
  12635. var gettingMemberPathPrevYear = eval(gettingTablePathPrevYear[dbMemberName]);
  12636. gettingMemberPathPrevYear.memberStatus = 'off';
  12637.  
  12638. }
  12639.  
  12640. }
  12641.  
  12642.  
  12643.  
  12644. }
  12645.  
  12646. } else if(field.indexOf('whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany') != -1 || field.indexOf('whetherCompaniesAuditorsReportOrderIsApplicableOnCompany') != -1 ) {
  12647.  
  12648. if(year == '_CURYEAR') {
  12649.  
  12650. yr = 0 ;
  12651.  
  12652. } else {
  12653.  
  12654. yr = 1;
  12655. }
  12656.  
  12657. removeTableData(tablename,yr);
  12658.  
  12659.  
  12660. }
  12661.  
  12662.  
  12663. }
  12664. },
  12665. 'No' : {
  12666. 'class' : 'gray',
  12667. 'action': function(){
  12668.  
  12669.  
  12670. $('#'+field).val('true');
  12671. fvalue = 'true';
  12672. $('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+']').removeAttr('disabled').css('background','none');
  12673. $('#'+tablename).show();
  12674. if(tablename != 'disclosureOfShareholdingMoreThanFivePerCentInCompanyTable' || tablename != 'disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable') {
  12675.  
  12676. mlen = $('#'+tablename+'Members').children('div.dynamicmember').length;
  12677. } else if(tablename == 'disclosureOfShareholdingMoreThanFivePerCentInCompanyTable' || tablename == 'disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable' ) {
  12678.  
  12679. mlen = 1;
  12680. }
  12681.  
  12682. if(($ ('table[name = '+tablename+'] :input:first')).attr('order1')!= undefined && mlen > 0) {
  12683.  
  12684. $ ('table[name = '+tablename+']').show();
  12685. }
  12686.  
  12687.  
  12688. }
  12689. }
  12690. }
  12691. });
  12692.  
  12693.  
  12694. } else {
  12695.  
  12696. if(fvalue == 'false' && (svalue == 'No' || svalue == "") ) {
  12697.  
  12698.  
  12699. $('#'+tablename).hide(); // to hide member
  12700. $ ('table[name = '+tablename+']').hide(); // to hide table
  12701.  
  12702. } else if(fvalue == 'false') {
  12703.  
  12704. $('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+']').attr('disabled','disabled').css('background','whitesmoke');
  12705.  
  12706. }
  12707.  
  12708.  
  12709. }
  12710.  
  12711. if(mlen == 0 || field.indexOf('whetherThereAreAnyShareholdersHoldingMoreThanFivePerCentSharesInCompany') != -1 || field.indexOf('whetherCompaniesAuditorsReportOrderIsApplicableOnCompany') != -1 ) {
  12712.  
  12713. if(fvalue == 'false' && (svalue == 'No' || svalue == "") ) {
  12714.  
  12715.  
  12716. $('#'+tablename).hide(); // to hide member
  12717. $ ('table[name = '+tablename+']').hide(); // to hide table
  12718.  
  12719. } else if(fvalue == 'false') {
  12720.  
  12721. $('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+']').attr('disabled','disabled').css('background','whitesmoke');
  12722.  
  12723. }
  12724. }
  12725.  
  12726. $('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+']').attr('disabled','disabled').css('background','whitesmoke');
  12727.  
  12728. } else {
  12729.  
  12730. $('#'+tablename).show();
  12731. $('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+']').removeAttr('disabled').css('background','none');
  12732. if(svalue == 'No' || svalue == "") {
  12733.  
  12734. $('table[tablename=' + tablename + '] :input[year='+YEAR.split('_')[1]+']').attr('disabled','disabled').css('background','whitesmoke');
  12735. }
  12736. if(tablename != 'disclosureOfShareholdingMoreThanFivePerCentInCompanyTable' || tablename != 'disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable') {
  12737.  
  12738. mlen = $('#'+tablename+'Members').children('div.dynamicmember').length;
  12739. } else if(tablename == 'disclosureOfShareholdingMoreThanFivePerCentInCompanyTable' || tablename == 'disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable' ) {
  12740.  
  12741. mlen = 1;
  12742. }
  12743. if(($ ('table[name = '+tablename+'] :input:first')).attr('order1')!= undefined && mlen > 0) {
  12744.  
  12745. $ ('table[name = '+tablename+']').show();
  12746. }
  12747.  
  12748. // to add order1, order2, order3 in table line items if yes is selected.
  12749. filltabledata(inputdata.fields[1],"PREVYEAR",0, " ", orderList, orderTable);
  12750. }
  12751. }
  12752.  
  12753. }
  12754.  
  12755.  
  12756. function removeTableData(tablename , yr) {
  12757.  
  12758. if(yr != 0) {
  12759.  
  12760. ylen = 2 ;
  12761. } else {
  12762.  
  12763. ylen = 1;
  12764. }
  12765.  
  12766. var year = '_CURYEAR';
  12767. var membername = "";
  12768. for ( var y = yr; y < ylen; y++) {
  12769.  
  12770. if (y == 1) {
  12771.  
  12772. year = '_PREVYEAR';
  12773. }
  12774.  
  12775.  
  12776. tablefields =$('table[tablename=' + tablename + '] :input[year='+year.split('_')[1]+'][type!=formula]'); // get input fields either for current year or previous year
  12777. for(var i = 0 ; i<1; i++) {
  12778.  
  12779. if(tablefields[i].getAttribute('order1') != undefined) {
  12780.  
  12781. membername = tablefields[i].getAttribute('order1');
  12782. }
  12783. }
  12784. tablefields.val("");
  12785.  
  12786. $.each(eval("inputdata.fields[" + y + "]." + tablename),function(key, val) {
  12787.  
  12788. mstatus = eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "'].memberStatus");
  12789.  
  12790. if(mstatus == 'on'||(mstatus == 'off' && membername == key)) {
  12791.  
  12792.  
  12793. field = tablefields[i].id.split('_')[0]; // get field id.
  12794. eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "']."+field+"=''");
  12795. eval("inputdata.fields[" + y + "]."+ tablename + "['" + key + "'].memberStatus='off'");
  12796.  
  12797. // Added to remove data from db.
  12798.  
  12799. if( sendJson.fields[''+y+''][''+tablename+''] != undefined )
  12800. {
  12801. if( sendJson.fields[''+y+''][''+tablename+''][''+key+''] != undefined )
  12802. {
  12803. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['cinNumber'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['cinNumber'];
  12804. inputdata.fields[''+yr+''][''+tablename+''][''+key+'']['id'] = ""; // While deleting member path id have to remove in UI(inputjson file)
  12805. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['id'] = ""; // removed for Data not saved bug.
  12806. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['lastUpdated'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['lastUpdated'];
  12807. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['member'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['member'];
  12808. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['userName'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['userName'];
  12809. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['year'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['year'];
  12810. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['memberStatus'] = 'off';
  12811. }
  12812. else
  12813. {
  12814. sendJson.fields[''+y+''][''+tablename+''][''+key+''] = {};
  12815. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['cinNumber'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['cinNumber'];
  12816. inputdata.fields[''+yr+''][''+tablename+''][''+key+'']['id'] = "";
  12817. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['id'] = "";
  12818. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['lastUpdated'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['lastUpdated'];
  12819. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['member'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['member'];
  12820. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['userName'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['userName'];
  12821. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['year'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['year'];
  12822. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['memberStatus'] = 'off';
  12823. }
  12824. }
  12825. else
  12826. {
  12827. sendJson.fields[''+y+''][''+tablename+''] = {};
  12828. sendJson.fields[''+y+''][''+tablename+''][''+key+''] = {};
  12829. inputdata.fields[''+yr+''][''+tablename+''][''+key+'']['id'] = "";
  12830. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['cinNumber'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['cinNumber'];
  12831. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['id'] = "";
  12832. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['lastUpdated'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['lastUpdated'];
  12833. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['member'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['member'];
  12834. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['userName'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['userName'];
  12835. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['year'] = inputdata.fields[''+y+''][''+tablename+''][''+key+'']['year'];
  12836. sendJson.fields[''+y+''][''+tablename+''][''+key+'']['memberStatus'] = 'off';
  12837.  
  12838. }
  12839.  
  12840.  
  12841.  
  12842.  
  12843. }
  12844. });
  12845.  
  12846. }
  12847. }
  12848.  
  12849. function validateConditionalMandatory(field,cfield,year,y) {
  12850.  
  12851. var flag = true;
  12852. table = field.getAttribute('groupid');
  12853. fieldName = field.getAttribute('name').split('_')[0]; // to get actual field name
  12854. cfieldName = cfield; // to get conditional field name.
  12855. if (validationType == "full") {
  12856.  
  12857. $
  12858. .each(
  12859. eval("inputdata.fields[" + y + "]." + table),
  12860. function(key, val) {
  12861.  
  12862. var tablenotall = field.getAttribute(
  12863. 'tablenotall').replace(/Member/g, '')
  12864. .split(',');
  12865. found = $.inArray(key, tablenotall);
  12866. mstatus = eval("inputdata.fields[" + y + "]."
  12867. + table + "['" + key
  12868. + "'].memberStatus");
  12869.  
  12870. if (found == -1 && mstatus == 'on') {
  12871.  
  12872. var fvalue = eval("inputdata.fields[" + y + "]."+ table + "['" + key+ "']." + fieldName);
  12873. var cvalue = eval("inputdata.fields[" + y + "]."+ table + "['" + key+ "']." + cfieldName);
  12874.  
  12875.  
  12876. if (fvalue == "" && cvalue != "") {
  12877.  
  12878. // if amt of shares is empty if no of shares is entered.
  12879.  
  12880. fname = fieldName.charAt(0)
  12881. .toUpperCase()
  12882. + fieldName.substr(1).replace(
  12883. /([A-Z][a-z])/g, ' $1')
  12884. .replace(/^ /, "")
  12885. .toLowerCase();
  12886. validationAlert += "<div><a eid = '"
  12887. + field.name
  12888. + "' onclick ='goErrorPage(event)' memberorder='"
  12889. + key
  12890. + "'><a class='errorreport' eid = '"
  12891. + field.name
  12892. + "' "
  12893. + "onclick ='goErrorPage(event)' memberorder='"
  12894. + key
  12895. + "'>"
  12896. + fname
  12897. + "("
  12898. + yr
  12899. + ")</a><span eid = '"
  12900. + field.name
  12901. + "' class='err'>"
  12902. + key
  12903. + "</span></a>"
  12904. + "<p>"
  12905. + field
  12906. .getAttribute("data-original-title")
  12907. + "</p></div>";
  12908.  
  12909. flag = false;
  12910. }
  12911. }
  12912. });
  12913.  
  12914. if (flag == false) {
  12915.  
  12916. return false;
  12917. }
  12918.  
  12919. } else {
  12920.  
  12921. var fvalue = $('input[name='+fieldName + year + ']').val();
  12922. var cvalue = $('input[name='+cfieldName+ year+ ']').val();
  12923.  
  12924. if (fvalue == "" && cvalue != "") {
  12925. return false;
  12926. }
  12927.  
  12928. }
  12929.  
  12930. return true;
  12931. }
  12932.  
  12933. function validateOpeningAndClosingBalance(field) {
  12934.  
  12935. if(sid != '100100' && sid != '100200') {
  12936.  
  12937. // if field is repeated in 100100 & 100200, this validation is not applicable.
  12938.  
  12939. if(field.id.indexOf('cashAndCashEquivalentsCashFlowStatement_CURYEAR') != -1) {
  12940. // 100300 & 100400
  12941. field1 = $('#cashAndCashEquivalentsCashFlowStatementEndingBalance_PREVYEAR');
  12942.  
  12943. } else if(field.id.indexOf('cashAndCashEquivalentsCashFlowStatementEndingBalance_PREVYEAR') != -1) {
  12944. // 100300 & 100400
  12945. field1 = $('#cashAndCashEquivalentsCashFlowStatement_CURYEAR');
  12946.  
  12947. } else if(field.id.indexOf('numberOfSharesOutstanding_CURYEAR') != -1) {
  12948.  
  12949. // 200100
  12950. field1 = $('#numberOfSharesOutstandingEndingBalance_PREVYEAR');
  12951.  
  12952. } else if(field.id.indexOf('numberOfSharesOutstandingEndingBalance_PREVYEAR') != -1) {
  12953.  
  12954. // 200100
  12955. field1 = $('#numberOfSharesOutstanding_CURYEAR');
  12956.  
  12957. } else if(field.id.indexOf('shareCapital1_CURYEAR') != -1) {
  12958.  
  12959. // 200100
  12960. field1 = $('#shareCapitalEndingBalance_PREVYEAR');
  12961.  
  12962. } else if(field.id.indexOf('shareCapitalEndingBalance_PREVYEAR') != -1) {
  12963.  
  12964. // 200100
  12965. field1 = $('#shareCapital1_CURYEAR');
  12966.  
  12967. } else if(field.id.indexOf('reserves_CURYEAR') != -1) {
  12968.  
  12969. // 200200
  12970. field1 = $('#reservesEndingBalance_PREVYEAR');
  12971.  
  12972. } else if(field.id.indexOf('reservesEndingBalance_PREVYEAR') != -1) {
  12973.  
  12974. // 200200
  12975. field1 = $('#reserves_CURYEAR');
  12976.  
  12977. } else if(field.id.indexOf('producingProperties_CURYEAR') != -1 ) {
  12978.  
  12979. // 200600
  12980. field1 = $('#producingPropertiesEndingBalance_PREVYEAR');
  12981.  
  12982. } else if(field.id.indexOf('producingPropertiesEndingBalance_PREVYEAR') != -1 ) {
  12983.  
  12984. // 200600
  12985. field1 = $('#producingProperties_CURYEAR');
  12986.  
  12987. } else if(field.id.indexOf('preProducingProperties_CURYEAR') != -1) {
  12988.  
  12989. // 200600
  12990. field1 = $('#preProducingPropertiesEndingBalance_PREVYEAR');
  12991.  
  12992. } else if(field.id.indexOf('preProducingPropertiesEndingBalance_PREVYEAR') != -1) {
  12993.  
  12994. // 200600
  12995. field1 = $('#preProducingProperties_CURYEAR');
  12996.  
  12997. } else if(field.id.indexOf('equityShareWarrantsAtBeginningOfPeriod_CURYEAR') != -1) {
  12998.  
  12999. // 200700
  13000. field1 = $('#equityShareWarrantsEndingBalance_PREVYEAR');
  13001.  
  13002. } else if(field.id.indexOf('equityShareWarrantsEndingBalance_PREVYEAR') != -1) {
  13003.  
  13004. // 200700
  13005. field1 = $('#equityShareWarrantsAtBeginningOfPeriod_CURYEAR');
  13006.  
  13007. } else if(field.id == 'tangibleAssetsBeginingBalance_CURYEAR') {
  13008.  
  13009. // 201000
  13010. field1 = $('#tangibleAssetsEndingBalance_PREVYEAR');
  13011.  
  13012. } else if(field.id == 'tangibleAssetsEndingBalance_PREVYEAR') {
  13013.  
  13014. // 201000
  13015. field1 = $('#tangibleAssetsBeginingBalance_CURYEAR');
  13016.  
  13017. } else if(field.id.indexOf('intangibleAssetsBeginingBalance_CURYEAR') != -1) {
  13018.  
  13019. // 201100
  13020. field1 = $('#intangibleAssetsEndingBalance_PREVYEAR');
  13021.  
  13022. } else if(field.id.indexOf('intangibleAssetsEndingBalance_PREVYEAR') != -1) {
  13023.  
  13024. // 201100
  13025. field1 = $('#intangibleAssetsBeginingBalance_CURYEAR');
  13026.  
  13027. } else if(field.id.indexOf('definedBenefitObligationAtPresentValue_CURYEAR') != -1) {
  13028.  
  13029. // 201200
  13030. field1 = $('#definedBenefitObligationAtPresentValueEndingBalance_PREVYEAR');
  13031.  
  13032. } else if(field.id.indexOf('definedBenefitObligationAtPresentValueEndingBalance_PREVYEAR') != -1) {
  13033.  
  13034. // 201200
  13035. field1 = $('#definedBenefitObligationAtPresentValue_CURYEAR');
  13036.  
  13037. } else if(field.id.indexOf('planAssetsAtFairValue_CURYEAR') != -1) {
  13038.  
  13039. // 201200
  13040. field1 = $('#planAssetsAtFairValueEndingBalance_PREVYEAR');
  13041.  
  13042. } else if(field.id.indexOf('planAssetsAtFairValueEndingBalance_PREVYEAR') != -1) {
  13043.  
  13044. // 201200
  13045. field1 = $('#planAssetsAtFairValue_CURYEAR');
  13046.  
  13047. } else if(field.id.indexOf('reimbursementRightsAtFairValue_CURYEAR') != -1) {
  13048.  
  13049. // 201200
  13050. field1 = $('#reimbursementRightsAtFairValueEndingBalance_PREVYEAR');
  13051.  
  13052. } else if(field.id.indexOf('reimbursementRightsAtFairValueEndingBalance_PREVYEAR') != -1) {
  13053.  
  13054. // 201200
  13055. field1 = $('#reimbursementRightsAtFairValue_CURYEAR');
  13056.  
  13057. } else if(field.id.indexOf('otherProvisions_CURYEAR') != -1) {
  13058.  
  13059. // 202100
  13060. field1 = $('#otherProvisionsEndingBalance_PREVYEAR');
  13061.  
  13062. } else if(field.id.indexOf('otherProvisionsEndingBalance_PREVYEAR') != -1) {
  13063.  
  13064. // 202100
  13065. field1 = $('#otherProvisions_CURYEAR');
  13066.  
  13067. } else {
  13068.  
  13069. return true;
  13070.  
  13071. }
  13072.  
  13073. if (field1.val() == undefined) {
  13074.  
  13075. // if field1 is not present.
  13076. return true;
  13077. }
  13078.  
  13079. var year = '_CURYEAR';
  13080. var y = 0;
  13081. yr = 'current year';
  13082. var status = 'off';
  13083. var Y = 1;
  13084. if (field.name.indexOf('_PREVYEAR') != -1) {
  13085.  
  13086. year = '_PREVYEAR';
  13087. y = 1;
  13088. yr = 'previous year';
  13089. Y = 0;
  13090. }
  13091.  
  13092. var fvalue = isNaN(fvalue = parseFloat(field.value.replace(',', ''))) ? "" : fvalue;
  13093. var f1value = isNaN(f1value = parseFloat(field1.val().replace(',', ''))) ? "" : f1value;
  13094. groupid = field.getAttribute('groupid');// table name
  13095. tablenotall = field.getAttribute('tablenotall');
  13096. memberName = field.getAttribute('order1');
  13097. if (groupid == null) {
  13098.  
  13099. groupid = "undefined";
  13100. }
  13101. if ((groupid == 'undefined' || groupid == "") && validationType == 'full' && (fvalue != f1value)) {
  13102.  
  13103. // check Mandatory for direct line items
  13104. key = "";
  13105. fieldName = field.name.split('_')[0];
  13106. fname = fieldName.charAt(0).toUpperCase()
  13107. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  13108. ' $1').replace(/^ /, "").toLowerCase();
  13109. validationAlert += "<div><a eid = '" + field.name
  13110. + "' onclick ='goErrorPage(event)' memberorder='"
  13111. + key + "'><a class='errorreport' eid = '"
  13112. + field.name
  13113. + "' onclick ='goErrorPage(event)' memberorder='"
  13114. + key + "'>" + fname + "(" + yr
  13115. + ")</a><span eid = '" + field.name
  13116. + "' class='err'>" + key + "</span></a>" + "<p>"
  13117. + field.getAttribute("data-original-title")
  13118. + "</p></div>";
  13119.  
  13120. return false;
  13121.  
  13122. } else if (groupid != 'undefined'
  13123. && groupid.indexOf('Table') != -1 && validationType != "full"
  13124. && (fvalue != f1value)
  13125. && memberName != undefined) {
  13126.  
  13127. // check Mandatory for partial and table validation.
  13128.  
  13129. return false ;
  13130.  
  13131. } else if (groupid == 'undefined'
  13132. && (fvalue != f1value)) {
  13133.  
  13134. // check Mandatory for direct field in partial validation.
  13135.  
  13136. return false ;
  13137.  
  13138. } else if (groupid != 'undefined'
  13139. && groupid.indexOf('Table') != -1 && validationType == 'full'
  13140. && tablenotall != null) {
  13141.  
  13142. // Mandatory check for full validations for table line
  13143. // items.
  13144.  
  13145. var year = '_CURYEAR';
  13146. var y = 0;
  13147. yr = 'current year';
  13148. if (field.name.indexOf('_PREVYEAR') != -1) {
  13149.  
  13150. year = '_PREVYEAR';
  13151. y = 1;
  13152. yr = 'previous year';
  13153. }
  13154. var fieldName = field.name.split('_')[0];
  13155. var field1Name = field1.attr('name').split('_')[0];
  13156. var tablenotall = field.getAttribute('tablenotall')
  13157. .replace(/Member/g, '').split(',');
  13158. fname = fieldName.charAt(0).toUpperCase()
  13159. + fieldName.substr(1).replace(/([A-Z][a-z])/g,
  13160. ' $1').replace(/^ /, "").toLowerCase();
  13161.  
  13162. found = $.inArray(memberName, tablenotall); // check whether the member is present in tablenotall
  13163.  
  13164.  
  13165. if ((fvalue != f1value) && found == -1) {
  13166.  
  13167. // if validation fails and not present in tablenotall
  13168.  
  13169. validationAlert += "<div><a eid = '"
  13170. + field.name
  13171. + "' onclick ='goErrorPage(event)' memberorder='"
  13172. + memberName
  13173. + "'><a class='errorreport' eid = '"
  13174. + field.name
  13175. + "' onclick ='goErrorPage(event)' memberorder='"
  13176. + memberName + "'>" + fname + "(" + yr
  13177. + ")</a><span eid = '" + field.name
  13178. + "' class='err'>" + memberName + "</span></a>"
  13179. + "<p>"
  13180. + field.getAttribute("data-original-title")
  13181. + "</p></div>";
  13182. return false ;
  13183.  
  13184. }
  13185.  
  13186. $
  13187. .each(
  13188. eval("inputdata.fields[" + y + "]."
  13189. + groupid),
  13190. function(key, val) {
  13191.  
  13192. found = $.inArray(key, tablenotall);
  13193.  
  13194. mstatus = eval("inputdata.fields[" + y
  13195. + "]." + groupid + "['" + key
  13196. + "'].memberStatus");
  13197.  
  13198.  
  13199. if (found == -1 && key != memberName ) {
  13200.  
  13201. length = 1;
  13202.  
  13203. if (key.indexOf(':') == -1) {
  13204.  
  13205. length = $('div[dbmembername='
  13206. + key + ']').length;
  13207.  
  13208. }
  13209.  
  13210. if (length == 1) {
  13211.  
  13212. fvalue = isNaN(fvalue = parseFloat(eval("inputdata.fields[" + y + "]." + groupid + "['" + key+ "']." + fieldName).replace(',', ''))) ? "": fvalue;
  13213. f1value = isNaN(f1value = parseFloat(eval("inputdata.fields[" + Y + "]." + groupid + "['" + key+ "']." + field1Name).replace(',', ''))) ? "": f1value;
  13214.  
  13215. if (fvalue != f1value ) {
  13216.  
  13217. validationAlert += "<div><a eid = '"
  13218. + field.name
  13219. + "' onclick ='goErrorPage(event)' memberorder='"
  13220. + key
  13221. + "'><a class='errorreport' eid = '"
  13222. + field.name
  13223. + "' onclick ='goErrorPage(event)' memberorder='"
  13224. + key
  13225. + "'>"
  13226. + fname
  13227. + "("
  13228. + yr
  13229. + ")</a><span eid = '"
  13230. + field.name
  13231. + "' class='err'>"
  13232. + key
  13233. + "</span></a>"
  13234. + "<p>"
  13235. + field
  13236. .getAttribute("data-original-title")
  13237. + "</p></div>";
  13238. return false;
  13239. }
  13240. }
  13241. }
  13242.  
  13243. });
  13244.  
  13245. }
  13246. }
  13247.  
  13248. return true;
  13249.  
  13250. }
  13251.  
  13252. function validateTableSequentialOrder(e) {
  13253.  
  13254.  
  13255. var table = e.target.getAttribute('group_id');
  13256. var membername = e.target.getAttribute('membername');
  13257. var orderNo = membername.replace(/[^0-9]/g, ''); // to get only number in member
  13258. var membrorder = e.target.getAttribute('name'); // to get memeber order upto axis
  13259. var morder ="";
  13260. var prevMorder = ""; // used to check whether previous membr is entered or not
  13261.  
  13262. // to get member order for clicking member.
  13263. var axisno = e.target.getAttribute('axis');
  13264.  
  13265. if(axisno == "0") {
  13266.  
  13267. morder = membrorder ;
  13268. prevMorder = membrorder.replace(/\d+/g, '') + (""+orderNo -1);
  13269. } else if(axisno == "1") {
  13270.  
  13271. morder = order1 +":"+membrorder ;
  13272. prevMorder = order1 +":"+membrorder.replace(/\d+/g, '') + (""+orderNo -1);
  13273. } else if(axisno == "2") {
  13274.  
  13275. morder = order1 +":"+order2 +":"+membrorder ;
  13276. prevMorder = order1 +":"+membrorder.replace(/\d+/g, '') + (""+orderNo -1);
  13277. }
  13278.  
  13279. //var prevMorder = morder.replace(/\d+/g, '') + (""+orderNo -1); // to get previous member order
  13280. var prevMemberName = membername.replace(/\d+/g, '') + (""+orderNo -1); // to get previous member name;
  13281. var status = 'off';
  13282. var status1 = 'off'; // status1 and status 2 is used to check addtional members which are comes under, clicked member
  13283. var status2 = 'off';
  13284.  
  13285.  
  13286.  
  13287. if(table == "disclosureOfShareholdingMoreThanFivePerCentInCompanyTable" && (membername.indexOf('EquityShare') != -1||membername.indexOf('PreferenceShare') != -1 ) && !isNaN(orderNo)) {
  13288.  
  13289. prevMorder += ":NameOfShareholder:Shareholder1";
  13290.  
  13291. } else if(table == "detailsOfRawMaterialsSparePartsAndComponentsConsumedTable" && !isNaN(orderNo)) {
  13292.  
  13293. prevMorder2 = prevMorder+":ImportedAndIndigenous";
  13294. prevMorder1 = prevMorder+":ImportedAndIndigenous:Indigenous";
  13295. prevMorder += ":ImportedAndIndigenous:Imported";
  13296. }
  13297.  
  13298. if(!isNaN(orderNo) && orderNo != "1" && orderNo != "" ) {
  13299.  
  13300. if($.inArray(table,seqOrderTables) != -1) {
  13301.  
  13302. mstatus0 = eval("inputdata.fields[0]." + table + "['" + prevMorder+ "'].memberStatus"); // for cuurent year - first child
  13303. mstatus1 = eval("inputdata.fields[1]." + table + "['" + prevMorder+ "'].memberStatus"); // for previous year - first child
  13304. if(table == "detailsOfRawMaterialsSparePartsAndComponentsConsumedTable") {
  13305. mstatus00 = eval("inputdata.fields[0]." + table + "['" + prevMorder1+ "'].memberStatus"); // for cuurent year - second child
  13306. mstatus11 = eval("inputdata.fields[1]." + table + "['" + prevMorder1+ "'].memberStatus"); // for previous year - second child
  13307. mstatus000 = eval("inputdata.fields[0]." + table + "['" + prevMorder2+ "'].memberStatus"); // for cuurent year -parent member
  13308. mstatus111 = eval("inputdata.fields[1]." + table + "['" + prevMorder2+ "'].memberStatus"); // for previous year - parent member
  13309. }
  13310. if(mstatus0 == 'on' || mstatus1 == 'on' ) {
  13311.  
  13312. if(table == "detailsOfRawMaterialsSparePartsAndComponentsConsumedTable") {
  13313.  
  13314. if(mstatus00 == 'on' || mstatus11 == 'on' || mstatus000 == 'on' || mstatus111 == 'on' ) {
  13315.  
  13316. return true;
  13317. }
  13318. }
  13319. return true ;
  13320. } else {
  13321.  
  13322. tablefields = $('input[order1="'+prevMorder+'"][type!=formula]:visible:enabled');
  13323. if(table == "detailsOfRawMaterialsSparePartsAndComponentsConsumedTable") {
  13324.  
  13325. tablefields1 = $('input[order1="'+prevMorder1+'"][type!=formula]:visible:enabled');
  13326.  
  13327. for(var i = 0; i < tablefields1.length ; i++ ) {
  13328.  
  13329. if(tablefields1[i].value != "") {
  13330.  
  13331. status1 = 'on';
  13332. break;
  13333.  
  13334. }
  13335.  
  13336. }
  13337.  
  13338.  
  13339. tablefields2 = $('input[order1="'+prevMorder2+'"][type!=formula]:visible:enabled');
  13340.  
  13341. for(var i = 0; i < tablefields2.length ; i++ ) {
  13342.  
  13343. if(tablefields2[i].value != "") {
  13344.  
  13345. status2 = 'on';
  13346. break;
  13347.  
  13348. }
  13349.  
  13350. }
  13351.  
  13352.  
  13353.  
  13354. }
  13355.  
  13356. for(var i = 0; i < tablefields.length ; i++ ) {
  13357.  
  13358. if(tablefields[i].value != "") {
  13359.  
  13360. status = 'on';
  13361. break;
  13362.  
  13363. }
  13364.  
  13365. }
  13366.  
  13367.  
  13368. if(status == 'off' && status1 == 'off' && status2 == 'off') {
  13369.  
  13370. var alertMsg ="Members should be provided in sequential order. After "+prevMemberName+", "+membername+" should come;" +
  13371. "\nFor example : After member 1, member 2 should come; and Member 4 cannot be provided directly without providing member 2 and 3.";
  13372. alert(alertMsg);
  13373. return false ;
  13374. }
  13375.  
  13376. }
  13377.  
  13378.  
  13379. }
  13380. }
  13381.  
  13382. return true;
  13383. }
  13384.  
  13385. function validateFormulaMandatory(formulafield,calcfields,field) {
  13386.  
  13387. var year = '_CURYEAR';
  13388. var y = 0;
  13389. yr = 'current year';
  13390. var status = 'off';
  13391. groupid = field.getAttribute('groupid');// table name
  13392. tablenotall = field.getAttribute('tablenotall');
  13393. memberName = field.getAttribute('order1');
  13394. if (field.name.indexOf('_PREVYEAR') != -1) {
  13395.  
  13396. year = '_PREVYEAR';
  13397. y = 1;
  13398. yr = 'previous year';
  13399. }
  13400.  
  13401. if (groupid == null) {
  13402.  
  13403. groupid = "undefined";
  13404. }
  13405.  
  13406. if(groupid == 'undefined' || groupid == "") {
  13407.  
  13408. // checking fomula mandatory for direct line items.
  13409.  
  13410. for ( var i = 0; i < calcfields.length; i++) {
  13411.  
  13412. // checking whether formula associate fields contains value.
  13413. fvalue = $('#' + calcfields[i] + year).val().trim();
  13414.  
  13415. if (fvalue != "") {
  13416.  
  13417. flag = true;
  13418. return true;
  13419. }
  13420.  
  13421. }
  13422.  
  13423. for ( var i = 0; i < calcfields.length; i++) {
  13424.  
  13425. // making formula associate field color as yellow if validation fails.
  13426. $("#" + calcfields[i] + year).css('background', 'yellow');
  13427.  
  13428. flag = false;
  13429.  
  13430. }
  13431.  
  13432. if(validationType == 'full') {
  13433. key = "";
  13434. f_field = formulafield.charAt(0).toUpperCase()+formulafield.substring(1);
  13435. rule = "Atleast one element in '"+f_field+"' is mandatory";
  13436.  
  13437. validationAlert += "<div><a class='errorreport' eid = '"+ calcfields[0]+year+ "' onclick ='goErrorPage(event)' memberorder='"+ key+ "'>"
  13438. + f_field+ "("+ yr+ ")</a><p>"+rule+"</p></div>";
  13439.  
  13440. }
  13441.  
  13442. return false;
  13443.  
  13444. } else if(groupid != 'undefined' && groupid != "" && validationType != 'full') {
  13445.  
  13446. // checking formula mandtory for table line items at partial and table validation
  13447.  
  13448. found = $.inArray(memberName, tablenotall);
  13449. var status = 'off';
  13450. tablefields = $('table[name="'+groupid+'"] input[year="'+year.split('_')[1]+'"][type!=formula]');
  13451. for (var i =0; i<tablefields.length; i++) {
  13452.  
  13453. if (tablefields[i].value != ""&& tablefields[i].value != "--select--" && tablefields[i].value != "INDIA") {
  13454.  
  13455. status = 'on';
  13456. break;
  13457. }
  13458.  
  13459. }
  13460. if(status == 'off') {
  13461.  
  13462. return true ;
  13463. } else if(status == 'on' && found == -1) {
  13464.  
  13465. for ( var i = 0; i < calcfields.length; i++) {
  13466.  
  13467. fvalue = $('#' + calcfields[i] + year).val().trim();
  13468.  
  13469. if (fvalue != "") {
  13470.  
  13471. flag = true;
  13472. return true;
  13473. }
  13474.  
  13475. }
  13476.  
  13477. for ( var i = 0; i < calcfields.length; i++) {
  13478.  
  13479. $("#" + calcfields[i] + year).css('background', 'yellow');
  13480.  
  13481. flag = false;
  13482.  
  13483. }
  13484.  
  13485. return false;
  13486.  
  13487. }
  13488.  
  13489. } else if (validationType == "full" && groupid != 'undefined' && groupid != "" ) {
  13490.  
  13491. // checking formula mandatory for table line items at full validation.
  13492.  
  13493. var mactive = false;
  13494.  
  13495. $
  13496. .each(
  13497. eval("inputdata.fields[y]."+groupid),
  13498. function(key, val) {
  13499.  
  13500. memberstatus = eval("inputdata.fields["
  13501. + y
  13502. + "]."+groupid+"['"
  13503. + key + "'].memberStatus");
  13504. found = $.inArray(key, tablenotall);
  13505. if(memberstatus == 'on' && found == -1) {
  13506.  
  13507. var tablefields = $('table[name='+groupid+'] input[year="'+year.split('_')[1]+'"][type!=formula]');
  13508.  
  13509. for(var i=0; i<tablefields.length;i++){
  13510.  
  13511. var fieldname = tablefields[i].id.split('_')[0];
  13512. var value = eval("inputdata.fields[" + y + "]." + groupid + "['" + key+ "']."+fieldname).trim();
  13513. if(value != "" && value != 'INDIA' && value != '--select--') {
  13514.  
  13515. mactive = true;
  13516. break;
  13517. }
  13518.  
  13519. }
  13520.  
  13521. // even if memberstatus is on to check whether it contains value or not
  13522. /*$.each(eval("inputdata.fields[" + y + "]." + tablename + "['" + key+ "']"),
  13523. function(field, value) {
  13524.  
  13525. if(value != "" && value != 'INDIA' && value != '--select--') {
  13526.  
  13527. mactive = true ;
  13528. return ;
  13529. }
  13530.  
  13531.  
  13532. });*/
  13533.  
  13534. if(mactive == false){
  13535.  
  13536. // if does not contain value to make that member status off.
  13537. eval("inputdata.fields[" + y+ "]." + groupid + "['" + key+ "'].memberStatus='off'");
  13538. }
  13539.  
  13540. }
  13541.  
  13542. if (memberstatus == "on" && mactive == true) {
  13543.  
  13544. for ( var i = 0; i < calcfields.length; i++) {
  13545.  
  13546. fvalue = eval("inputdata.fields["
  13547. + y
  13548. + "]."+groupid+"['"
  13549. + key + "']." + calcfields[i]);
  13550.  
  13551. if (fvalue != "") {
  13552.  
  13553. flag = true;
  13554. return true;
  13555. }
  13556.  
  13557. }
  13558.  
  13559.  
  13560. /*fieldName = calcfields[i];
  13561. fname = fieldName.charAt(0).toUpperCase()
  13562. + fieldName.substr(1).replace(
  13563. /([A-Z][a-z])/g, ' $1')
  13564. .replace(/^ /, "")
  13565. .toLowerCase();*/
  13566.  
  13567. f_field = formulafield.charAt(0).toUpperCase()+formulafield.substring(1);
  13568. rule = "Atleast one element in '"+f_field+"' is mandatory";
  13569. //validationAlert += "Atleast one element in the following element is mandatory";
  13570. validationAlert += "<div><a class='errorreport' eid = '"+ calcfields[0]+year+"' onclick ='goErrorPage(event)' memberorder='"+ key+ "'>"
  13571. + f_field+ "("+ yr+ ")</a><span eid = '"+ calcfields[0]+year+ "' class='err'>"+ key+ "</span><p>"+rule +"</p></div>";
  13572. flag = false;
  13573.  
  13574. }
  13575.  
  13576. });
  13577.  
  13578. }
  13579.  
  13580. if (flag === false) {
  13581. // if flag "" also it will return false. so given === to check exact equals
  13582. return false;
  13583. }
  13584.  
  13585. return true;
  13586. }
  13587.  
  13588.  
  13589. function validateDisclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable (field) {
  13590.  
  13591. year = '_CURYEAR';
  13592. y = 0;
  13593. yr = 'current year';
  13594. tablename = "disclosureOfAuditorsQualificationsReservationsOrAdverseRemarksInAuditorsReportTable";
  13595. mactive = false;
  13596. flag = false;
  13597. if(field.id.indexOf('_PREVYEAR') != -1) {
  13598.  
  13599. year = '_CURYEAR';
  13600. y = 0;
  13601. yr = 'current year';
  13602.  
  13603. }
  13604.  
  13605. $.each(eval('inputdata.fields[y].'+tablename),function(m,f) {
  13606.  
  13607. if(this.memberStatus == 'on') {
  13608.  
  13609. mactive = isMemberActive(tablename,m,year);
  13610.  
  13611. if(mactive) {
  13612.  
  13613. return false; // to break each
  13614. }
  13615. }
  13616.  
  13617. });
  13618.  
  13619. if(mactive) {
  13620.  
  13621. fieldName = field.id.split('_')[0];
  13622.  
  13623. $.each(eval('inputdata.fields[y].'+tablename), function(m,f) {
  13624.  
  13625. if(eval("this."+fieldName)!= "") {
  13626.  
  13627. flag = true;
  13628. return false; // to break each.
  13629. }
  13630.  
  13631. });
  13632.  
  13633. if(flag) {
  13634.  
  13635. return true;
  13636. } else {
  13637. key = "AuditorsRemark:AuditorsFavourableRemark";
  13638. key1= "AuditorsRemark:AuditorsFavourableRemark";
  13639. key2= "AuditorsRemark:AuditorsUnfavourableRemark";
  13640. key3= "AuditorsRemark:AuditorsDisclaimerRemark";
  13641. key4= "AuditorsRemark:ClauseNotApplicable";
  13642. rule = "This element is mandatroy for atleast one following member[<a class='member_valert' eid = '"+ field.name+ "' onclick ='goErrorPage(event)' memberorder='"+ key1+ "'>'AuditorsFavourableRemark'</a>," +
  13643. "<a class='member_valert' eid = '"+ field.name+ "' onclick ='goErrorPage(event)' memberorder='"+ key2+ "'> 'AuditorsUnfavourableRemark'</a>," +
  13644. "<a class='member_valert' eid = '"+ field.name+ "' onclick ='goErrorPage(event)' memberorder='"+ key3+ "'>'AuditorsDisclaimerRemark'</a>, " +
  13645. "<a class='member_valert' eid = '"+ field.name+ "' onclick ='goErrorPage(event)' memberorder='"+ key4+ "'>'ClauseNotApplicable'</a>]";
  13646.  
  13647. fname = fieldName.charAt(0).toUpperCase()+ fieldName.substr(1).replace(/([A-Z][a-z])/g,' $1').replace(/^ /,"").toLowerCase();
  13648. validationAlert += "<div><a eid = '"+ field.name+ "' onclick ='goErrorPage(event)' memberorder='"+ key+ "'>"
  13649. + "<a class='errorreport' eid = '"+ field.name+ "' onclick ='goErrorPage(event)' memberorder='"+ key+ "'>"+ fname+ "("+ yr+ ")</a>"
  13650. + "<span eid = '"+ field.name+ "' class='err'>"+ key+ "</span></a>"
  13651. + "<p>"+rule+ "</p></div>";
  13652.  
  13653. return false;
  13654. }
  13655.  
  13656. }
  13657.  
  13658. }
  13659. function isMemberActive(groupid,key,year) {
  13660.  
  13661. var tablefields = $('table[name='+groupid+'] input[year="'+year.split('_')[1]+'"][type!=formula]');
  13662. for(var i=0; i<tablefields.length;i++) {
  13663.  
  13664. var fieldname = tablefields[i].id.split('_')[0];
  13665. var value = eval("inputdata.fields[" + y + "]." + groupid + "['" + key+ "']."+fieldname).trim();
  13666. if(value != "" && value != 'INDIA' && value != '--select--') {
  13667.  
  13668. return true;
  13669. }
  13670. }
  13671.  
  13672. return false;
  13673. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement