1(function ($) { 2 "use strict"; 3 $.ETC = $.ETC || {}; 4 $.ETC.FKS = $.ETC.FKS || {}; 5 6 $.ETC.FKS.Events = { 7 initForm: function (frm, data, nmck) { 8 frm.maxPriceCalcType = -1; 9 frm.readOnly = data.IsReadOnly == true; 10 frm.is223 = data.Is223 == true; 11 frm.Nmck = data.LotNmckSchema3Changed; 12 frm.DisableGrntCustRenewBtn = true; 13 $.ETC.EventContainer.init( 14 frm.container 15 .data('init', data) 16 .on('LotPriceTypeChanged', function (e, priceType) { _eventLotPriceTypeChanged(frm, e, priceType); }) 17 .on('DeliveryPlaceIndicationChanged', function (e, deliveryPlaceIndication) { _eventDeliveryPlaceIndicationChanged(frm, e, deliveryPlaceIndication); }) 18 .on('LotQuantityUndefinedChanged', function (e, isUdefined) { _eventLotQuantityUndefinedChanged(frm, e, isUdefined); }) 19 .on('LotOnlyNumericPriceInit', function (e, isOnlyNumericPrice) { _eventLotOnlyNumericPriceInit(frm, e, isOnlyNumericPrice); }) 20 .on('LotGuaranteePayTypeChanged', function (e, payType) { _eventLotGuaranteePayTypeChanged(frm, e, payType); }) 21 .on('LotGarantCntrInit', function (e, payType) { _eventLotGarantCntrInit(frm, e, payType); }) 22 .on('LotGarantAppInit', function (e, payType) { _eventLotGarantAppInit(frm, e, payType); }) 23 .on('LotGarantProvInit', function (e, payType) { _eventLotGarantProvInit(frm, e, payType); }) 24 .on('LotCustomerIsQuantityUndefinedChange', function (e, isUndefined) { _eventLotCustomerIsQuantityUndefinedChange(frm, e, isUndefined); }) 25 .on('LotCustomerIsOverwriteDeliveryPlaceChanged', function (e, isOverwrite) { _eventLotCustomerIsOverwriteDeliveryPlaceChanged(frm, e, isOverwrite); }) 26 .on('LotCustomerIsOverwriteDeliveryTermChanged', function (e, isOverwrite) { _eventLotCustomerIsOverwriteDeliveryTermChanged(frm, e, isOverwrite); }) 27 .on('LotCustomerIsOverwritePaymentTermChanged', function (e, isOverwrite) { _eventLotCustomerIsOverwritePaymentTermChanged(frm, e, isOverwrite); }) 28 .on('LotCustomerIsNeedOverwriteGarantAppChanged', function (e, isNeedOverwrite) { _eventLotCustomerIsNeedOverwriteGarantAppChanged(frm, e, isNeedOverwrite); }) 29 .on('LotCustomerIsNeedOverwriteGarantCntrChanged', function (e, isNeedOverwrite) { _eventLotCustomerIsNeedOverwriteGarantCntrChanged(frm, e, isNeedOverwrite); }) 30 .on('LotCustomerIsNeedOverwriteGarantProvChanged', function (e, isNeedOverwrite) { _eventLotCustomerIsNeedOverwriteGarantProvChanged(frm, e, isNeedOverwrite); }) 31 .on('LotPurchaseFeatureChanged', function (e, data1) { _eventLotPurchaseFeatureChanged(frm, e, data1); }) 32 .on('LotPrefValueAsSelectChanged', function (e, data1) { _lotPrefValueAsSelectChanged(frm, e, data1); }) 33 .on('LotGuaranteeAmountChanged', function (e, amount) { _recalcPercentGarant(frm, e, amount, nmck); }) 34 .on('LotGuaranteePartInPercentsChanged', function (e, percent) { _recalcAmountGarant(frm, e, percent, nmck); }) 35 .on('LotIsNeedOverwriteGarantAppChanged', function (e, isNeedOverwrite) { _eventLotIsNeedOverwriteGarantAppChanged(frm, e, isNeedOverwrite); }) 36 .on('LotIsNeedOverwriteGarantProvChanged', function (e, isNeedOverwrite) { _eventLotIsNeedOverwriteGarantProvChanged(frm, e, isNeedOverwrite); }) 37 .on('LotIsNeedOverwriteGarantCntrChanged', function (e, isNeedOverwrite) { _eventLotIsNeedOverwriteGarantCntrChanged(frm, e, isNeedOverwrite); }) 38 .on('LotGarantRecalcInit', function (e) { _eventLotGarantRecalcInit(frm, nmck); }) 39 .on('LotCustomerPriceTypeChanged', function (e, price) { _eventLotGarantRecalcInit(frm, price); })
40 .on('LotNmckChanged', function (e, nmck) { _eventLotNmckChanged(frm, nmck); }) 41 .on('LotNoPublicDiscussionChanged', function (e, flag) { _eventLotNoPublicDiscussionChanged(frm, flag); }) 42 .on('LotPublicDiscussionPlaceChanged', function (e, place) { _eventLotPublicDiscussionPlaceChanged(frm, place); }) 43 .on('LotPublicDiscussionNumberChanged', function (e, number) { _eventLotPublicDiscussionNumberChanged(frm, number); }) 44 .on('LotNmckSchema3Changed', function (e, nmck) { _lotNmckSchema3Changed(frm, nmck); }) 45 .on('LotIsNeedPublicDiscussionChanged', function (e, need) { _lotIsNeedPublicDiscussionChanged(frm, need); }) 46 .on('LotIsNeedPublicDiscussionSchema4Changed', function (e, need) { _lotIsNeedPublicDiscussionSchema4Changed(frm, need); }) 47 .on('LotPublicDiscussionPlaceSchema3Changed', function (e, place) { _publicDiscussionPlaceSchema3Changed(frm, place); }) 48 .on('LotPublicDiscussionPlaceSchema4Changed', function (e, place) { _publicDiscussionPlaceSchema4Changed(frm, place); }) 49 .on('PriceProofTypeChanged', function (e, type) { _eventPriceProofTypeChanged(frm, type); }) 50 .on('IsContractLifeCycleChanged', function (e, value) { _eventContractLifeCycleChanged(frm, value); }) 51 .on('ContractMultiInfoChanged', function (e, value) { _contractMultiInfoChanged(frm, value); }) 52 .on('IsLotGarantCntrNotNeedChanged', function (e, value) { _isLotGarantCntrNotNeedChanged(frm, value); }) 53 .on('IsLotCustomerGarantCntrNotNeedChanged', function (e, value) { _isLotCustomerGarantCntrNotNeedChanged(frm, value); }) 54 .on('IsLotCustomerGarantProvNotNeedChanged', function (e, value) { _isLotCustomerGarantProvNotNeedChanged(frm, value); }) 55 .on('IsOnesideRejectionChanged', function (e, value) { _isLotCustomerIsOnesideRejectionChanged(frm, value); }) 56 .on('IsLotGarantPurNotNeedChanged', function (e, value) { _isLotGarantPurNotNeedChanged(frm, value); }) 57 .on('IsLotGarantProvNotNeedChanged', function (e, value) { _isLotGarantProvNotNeedChanged(frm, value); }) 58 .on('IsLotCustomerGarantPurNotNeedChanged', function (e, value) { _isLotCustomerGarantPurNotNeedChanged(frm, value); }) 59 .on('IsMaxPriceCurrencyChanged', function (e, value) { _isMaxPriceCurrencyChanged(frm, value); }) 60 .on('MaxPriceCalcTypeChanged', function (e, value) { _maxPriceCalcTypeChanged(frm, value); }) 61 .on('MaxPriceDateChanged', function (e, value) { _maxPriceDateChanged(frm, value); }) 62 .on('MaxPriceValueChanged', function (e, value) { _maxPriceValueChanged(frm, value); }) 63 .on('MaxPriceCurrencyChanged', function (e, value) { _maxPriceCurrencyChanged(frm, value); }) 64 .on('PriceProposalTypeChanged', function (e, value) { _PriceProposalTypeChanged(frm, value); }) 65 .on('IsPriceDetermWithVatChanged', function (e, value) { _IsPriceDetermWithVatChanged(frm, value); }) 66 .on('IsNmckUndefinedChanged', function (e, value) { _IsNmckUndefinedChanged(frm, value); }) 67 .on('VatRateChanged', function (e, value) { _VatRateChanged(frm, value); }) 68 .on('IsPriceWithVatChanged', function (e, value) { _IsPriceWithVatChanged(frm, value); }) 69 .on('SumVatChanged', function (e, value) { _SumVatChanged(frm, value); }) 70 .on('Lot223GarantCntrInit', function (e, payType) { _eventLot223GarantCntrInit(frm, payType); }) 71 .on('Lot223GarantAppInit', function (e, payType) { _eventLot223GarantAppInit(frm, payType); }) 72 .on('RtsGarantPayTypeChanged', function (e, payType) { _eventRtsLotGuaranteePayTypeChanged(frm, e, payType); }) 73 .on('IsOverwriteGrntCntrCust', function (e, val) { _isOverwriteGrntCntrCust(frm, e, val); }) 74 .on('IsOverwriteGrntAppCust', function (e, val) { _isOverwriteGrntAppCust(frm, e, val); }) 75 .on('IsOverwriteGrntProvCust', function (e, val) { _isOverwriteGrntProvCust(frm, e, val); }) 76 .on('IsDrugPurchaseChanged', function (e, val) { _isDrugPurchaseChanged(frm, e, val); }) 77 .on('IsMedicalCommissionDecisionChanged', function (e, val) { _isMedicalCommissionDecisionChanged(frm, e, val); }) 78 .on('IsTreasurySupportCntrReqChanged', function (e, val) { _isTreasurySupportCntrReqChanged(frm, e, val); }) 79 80 81 ); 82 83 function _isMedicalCommissionDecisionChanged(frm, e, val) { 84 if (val == true) { 85 $("#Model_MedicalDecisionFilesHeader_c", frm.container).show(); 86 $("#Model_MedicalDecisionFiles_c", frm.container).show(); 87 } else { 88 $("#Model_MedicalDecisionFilesHeader_c", frm.container).hide(); 89 $("#Model_MedicalDecisionFiles_c", frm.container).hide(); 90 } 91 } 92 function _isTreasurySupportCntrReqChanged(frm, e, val) { 93 frm.toggle({ 94 TreasurySupportContractType: val 95 }); 96 } 97 98 99 function _isDrugPurchaseChanged(frm, e, val) { 100 101 if (val == true) { 102 $("#Model_IsMedicalCommissionDecisionHeader_c", frm.container).show(); 103 $("#Model_MedicalDecisionFilesHeader_c", frm.container).show(); 104 $("#Model_MedicalDecisionFiles_c", frm.container).show(); 105 _isMedicalCommissionDecisionChanged(frm, e, $('#Model_IsMedicalCommissionDecision', frm.container).is(':checked')) 106 107 } else { 108 $("#Model_IsMedicalCommissionDecisionHeader_c", frm.container).hide(); 109 $("#Model_MedicalDecisionFilesHeader_c", frm.container).hide(); 110 $("#Model_MedicalDecisionFiles_c", frm.container).hide(); 111 } 112 frm.toggle({ 113 IsMedicalCommissionDecision: val 114 }); 115 } 116 117 _eventDeliveryPlaceIndicationChangedInit(frm); 118 $('#Model_recalcHref').on('click', function () { 119 calcMaxPriceValue(frm); 120 }); 121 _recheckOverwriteGuaranteeCustBtn(frm); 122 123 function _eventRtsLotGuaranteePayTypeChanged(frm, e, payType) { 124 var idElement = e.target.id; 125 if (idElement.indexOf("GarantCntr") != -1) { 126 _eventLot223GarantCntrInit(frm, payType); 127 } else { 128 _eventLot223GarantAppInit(frm, payType); 129 } 130 } 131 132 function _eventLot223GarantCntrInit(frm, payType) { 133 $('#Model_GarantCntr_PartInPercents', frm.container).prop('readonly', payType == 1); 134 $('#Model_GarantCntr_Amount', frm.container).prop('readonly', payType == 2); 135 var val = false; 136 if (payType != 1 && payType != 2) 137 val = true; 138 frm.toggle({ 139 GarantCntr_Amount: !val, 140 GarantCntr_Percent: !val, 141 GarantCntr_PartInPercents: !val, 142 GarantCntr_AdditionalInfoContent: payType != 4, 143 GarantCntrInfo: payType != 4 144 }); 145 146 } 147 148 function _eventLot223GarantAppInit(frm, payType) { 149 $('#Model_GarantApp_PartInPercents', frm.container).prop('readonly', payType == 1); 150 $('#Model_GarantApp_Amount', frm.container).prop('readonly', payType == 2); 151 var val = false; 152 if (payType != 1 && payType != 2 && payType != 3) 153 val = true; 154 frm.toggle({ 155 GarantApp_Amount: !val, 156 GarantApp_Percent: !val, 157 GarantApp_PartInPercents: !val, 158 GarantApp_AdditionalInfoContent: payType != 4, 159 GarantAppInfo: payType != 4 160 }); 161 } 162
163 function _SumVatChanged(frm, val) { 164 _VatRateChanged(frm, $('#Model_VatRate', frm.container).val()); 165 } 166 function _IsPriceWithVatChanged(frm, val) { 167 if (frm.readOnly 168 || frm.is223 != true) 169 return; 170 _VatRateChanged(frm, $('#Model_VatRate', frm.container).val()); 171 } 172 function _VatRateChanged(frm, val) { 173 $('#Model_SumVat', frm.container).prop("readonly", true); 174 $('#Model_NmckPriceExVat', frm.container).prop("readonly", true); 175 176 if (frm.readOnly 177 || frm.is223 != true) 178 return; 179 180 var nmck = frm.Nmck; 181 var isNmckExTax = $('#Model_IsPriceWithVat', frm.container).is(':checked') != true; 182 if ($('#Model_IsMaxPriceCurrency', frm.container).is(':checked')) 183 nmck = $('#Model_MaxPriceValue', frm.container).val(); 184 185 var calcVal = 0; 186 if (nmck != undefined 187 || !isNaN(nmck)) { 188 switch (val + '') { 189 case '1': //0 190 191 break; 192 case '2': //10 193 if (isNmckExTax) 194 calcVal = Num.div(Math.round(Num.mul(Num.div(Num.mul(nmck, 10), 100), 100)), 100); 195 else 196 calcVal = Num.div(Math.round(Num.mul(Num.sub(nmck, Num.div(nmck, 1.1)), 100)), 100); 197 break; 198 case '3': //20 199 if (isNmckExTax) 200 calcVal = Num.div(Math.round(Num.mul(Num.div(Num.mul(nmck, 20), 100), 100)), 100); 201 else 202 calcVal = Num.div(Math.round(Num.mul(Num.sub(nmck, Num.div(nmck, 1.2)), 100)), 100); 203 break; 204 case '4': //10/110 205 if (isNmckExTax) 206 calcVal = Num.div(Math.round(Num.mul(Num.div(Num.mul(nmck, 10), 110), 100)), 100); 207 else 208 calcVal = Num.div(Math.round(Num.mul(Num.sub(nmck, Num.div(nmck, Num.add(1, Num.div(10, 110)))), 100)), 100); 209 break; 210 case '5': //20/120 211 if (isNmckExTax) 212 calcVal = Num.div(Math.round(Num.mul(Num.div(Num.mul(nmck, 20), 120), 100)), 100); 213 else 214 calcVal = Num.div(Math.round(Num.mul(Num.sub(nmck, Num.div(nmck, Num.add(1, Num.div(20, 120)))), 100)), 100); 215 break; 216 case '6': 217 $('#Model_SumVat', frm.container).prop("readonly", false); 218 calcVal = $('#Model_SumVat', frm.container).val(); 219 if (calcVal == undefined || isNaN(calcVal) || calcVal == "") 220 calcVal = 0; 221 break; 222 } 223 var nmckExTax = isNmckExTax ? nmck : Num.sub(nmck, calcVal); 224 if (isNaN(nmckExTax)) 225 nmckExTax = ""; 226 $('#Model_NmckPriceExVat', frm.container).val(nmckExTax); 227 } 228 $('#Model_SumVat', frm.container).val(calcVal); 229 } 230 231 function _PriceProposalTypeChanged(frm, val) { 232 233 frm.toggle({ 234 IsPriceWithVat: val == 0, 235 IsPriceDetermWithVat: val == 0, 236 VatRate: val == 0, 237 SumVat: val == 0, 238 NmckPriceExVat: val == 0 239 }); 240 if (frm.readOnly 241 || frm.is223 != true) 242 return; 243 if (val != 0) { 244 $('#Model_IsPriceDetermWithVat', frm.container).prop("checked", false); 245 $('#Model_IsPriceDetermWithVat', frm.container).val(false); 246 } 247 _IsPriceDetermWithVatChanged(frm, $('#Model_IsPriceDetermWithVat', frm.container).is(':checked')); 248 249 } 250 251 function _IsPriceDetermWithVatChanged(frm, val) { 252 frm.toggle({ 253 VatRate: val, 254 SumVat: val, 255 NmckPriceExVat: val 256 }); 257 if (frm.readOnly 258 || frm.is223 != true) 259 return; 260 261 } 262 263 function _IsNmckUndefinedChanged(frm, val) { 264 265 frm.toggle({ 266 NmckPrice: !val, 267 PriceInfo: val 268 }); 269 if (frm.readOnly 270 || frm.is223 != true) 271 return; 272 273 if (val == true) { 274 275 $('#Model_IsMaxPriceCurrency', frm.container).prop("checked", false); 276 $('#Model_IsMaxPriceCurrency', frm.container).val(false); 277 $('#Model_IsMaxPriceCurrency', frm.container).prop('disabled', true); 278 _isMaxPriceCurrencyChanged(frm, false); 279 280 $('#Model_IsPriceDetermWithVat', frm.container).prop("checked", false); 281 $('#Model_IsPriceDetermWithVat', frm.container).val(false); 282 $('#Model_IsPriceDetermWithVat', frm.container).prop('disabled', true); 283 _IsPriceDetermWithVatChanged(frm, false); 284 } else { 285 $('#Model_IsMaxPriceCurrency', frm.container).prop('disabled', false); 286 $('#Model_IsPriceDetermWithVat', frm.container).prop('disabled', false); 287 } 288 } 289 290 function _maxPriceCurrencyChanged(frm, val) { 291 if (!frm.readOnly) { 292 $('#Model_MaxPriceCurrencyRate', frm.container).val(""); 293 $('#Model_MaxPriceValue', frm.container).val(""); 294 $('#Model_MaxPriceCurrencyRateDisplay', frm.container).html(""); 295 $('#Model_MaxPriceValueDisplay', frm.container).html(""); 296 $('#Model_MaxPriceDate', frm.container).val(""); 297 $('#Model_MaxPriceDateDisplay', frm.container).val(""); 298 $('#Model_MaxPriceDateDisplay', frm.container).html(""); 299 300 var dd = $('#Model_MaxPriceDate', frm.container); 301 if (dd.is('span')) 302 dd.html(""); 303 else 304 dd.val(""); 305 } 306 calcMaxPriceValue(frm); 307 } 308 function _maxPriceValueChanged(frm, val) { 309 _VatRateChanged(frm, $('#Model_VatRate', frm.container).val()); 310 } 311 312 function _contractMultiInfoChanged(frm, value) { 313 frm.toggle({ 314 ContractCount: value == 1, 315 }); 316 } 317 function _maxPriceDateChanged(frm, val) { 318 //calcMaxPriceValue(frm); 319 var dd = $('#Model_MaxPriceDateDisplay', frm.container); 320 if (!dd.is('span')) 321 $('#Model_MaxPriceDateDisplay', frm.container).val(val); 322 else 323 $('#Model_MaxPriceDateDisplay', frm.container).html(val); 324 325 326 } 327 328 function _eventContractLifeCycleChanged(frm, value) { 329 frm.toggle({ 330 LotContractLifeCycleContainer: value, 331 LotContractLifeCycle: value, 332 ContractLcPrice: value, 333 ContractLcServicePrice: value 334 }); 335 } 336 337 function _isLotGarantCntrNotNeedChanged(frm, val) { 338 339 //if (val) 340 // _initGarantCntr(frm, $("input[name='Model.GarantCntr.PayType']:checked", frm.container).val())); 341 342 var isNeedOverride = $("input[name='Model.IsNeedOverwriteGarantCntr']:checked", frm.container).val() + '' == 'true'; 343 var isNeedOverrideCust = $("input[name='Model.IsOverwriteGrntCntrCust']:checked", frm.container).val() + '' == 'true'; 344 345 if (isNeedOverrideCust == false && isNeedOverride == false) 346 return; 347 348 frm.toggle({ 349 GarantCntr_Procedure: !val, 350 GarantCntr_SettlementAccount: !val, 351 GarantCntr_PersonalAccount: !val, 352 GarantCntr_Bik: !val, 353 GarantCntr_PayType: !val, 354 GarantCntr_Amount: !val, 355 GarantCntr_Percent: !val, 356 GarantCntr_PartInPercents: !val, 357 AdvanceInPercents: !val, 358 //GarantCntrNotNeed: val 359 }); 360 if (isNeedOverrideCust == true) { 361 frm.toggle({ 362 GarantCntr_SettlementAccount: false, 363 GarantCntr_PersonalAccount: false, 364 GarantCntr_Bik: false, 365 }); 366 } 367 368 } 369 370 function _isOverwriteGrntAppCust(frm, e, isNeedOverwrite) { 371 372 useLotInfoElementToggle(frm, 'GarantApp', !isNeedOverwrite); 373 frm.toggle({ 374 //GarantApp_Head: isNeedOverwrite, 375 GarantApp_Procedure: isNeedOverwrite, 376 GarantApp_SettlementAccount: false,//isNeedOverwrite, 377 GarantApp_PersonalAccount: false,//isNeedOverwrite, 378 GarantApp_Bik: false,//isNeedOverwrite, 379 GarantApp_PayType: isNeedOverwrite, 380 GarantApp_PartInPercents: isNeedOverwrite, 381 GarantApp_Amount: isNeedOverwrite, 382 GarantApp_IsBail: isNeedOverwrite, 383 GarantApp_AdditionalInfoContent: isNeedOverwrite, 384 IsGarantPurNotNeed: isNeedOverwrite 385 }); 386 var isNeedOverwriteFlag = $("input[id='Model_IsNeedOverwriteGarantApp']", frm.container); 387 if (isNeedOverwrite) { 388 _isLotGarantPurNotNeedChanged(frm, $("input[name='Model.IsGarantPurNotNeed']:checked", frm.container).val() == 'true'); 389 390 if (isNeedOverwriteFlag != null && isNeedOverwriteFlag.is(':checked')) 391 isNeedOverwriteFlag.prop("checked", false); 392 if (isNeedOverwriteFlag != null) 393 isNeedOverwriteFlag.attr("disabled", true); 394 } else { 395 if (isNeedOverwriteFlag != null) 396 isNeedOverwriteFlag.removeAttr("disabled"); 397 if (isNeedOverwriteFlag != null && isNeedOverwriteFlag.is(':checked')) { 398 _eventLotIsNeedOverwriteGarantAppChanged(frm, e, true); 399 } 400 } 401 _recheckOverwriteGuaranteeCustBtn(frm); 402 } 403 function _isOverwriteGrntCntrCust(frm, e, isNeedOverwrite) { 404 405 useLotInfoElementToggle(frm, 'GarantCntr', !isNeedOverwrite); 406 frm.toggle({ 407 GarantCntr_Procedure: isNeedOverwrite, 408 GarantCntr_SettlementAccount: false,//isNeedOverwrite, 409 GarantCntr_PersonalAccount: false,//isNeedOverwrite, 410 GarantCntr_Bik: false,//isNeedOverwrite, 411 GarantCntr_PayType: isNeedOverwrite, 412 GarantCntr_PartInPercents: isNeedOverwrite, 413 GarantCntr_Amount: isNeedOverwrite, 414 GarantCntr_IsBail: isNeedOverwrite, 415 GarantCntr_AdditionalInfoContent: isNeedOverwrite, 416 IsGarantCntrNotNeed: isNeedOverwrite, 417 //GarantCntrNotNeed: isNeedOverwrite, 418 AdvanceInPercents: isNeedOverwrite 419 }); 420 421 var isNeedOverwriteFlag = $("input[id='Model_IsNeedOverwriteGarantCntr']", frm.container); 422 if (isNeedOverwrite) { 423 _isLotGarantCntrNotNeedChanged(frm, $("input[name='Model.IsGarantCntrNotNeed']:checked", frm.container).val() == 'true'); 424 425 if (isNeedOverwriteFlag != null && isNeedOverwriteFlag.is(':checked')) 426 isNeedOverwriteFlag.prop("checked", false); 427 if (isNeedOverwriteFlag != null) 428 isNeedOverwriteFlag.attr("disabled", true); 429 } else { 430 if (isNeedOverwriteFlag != null) 431 isNeedOverwriteFlag.removeAttr("disabled"); 432 if (isNeedOverwriteFlag != null && isNeedOverwriteFlag.is(':checked')) { 433 _eventLotIsNeedOverwriteGarantCntrChanged(frm, e, true); 434 } 435 } 436 _recheckOverwriteGuaranteeCustBtn(frm); 437 } 438 function _isOverwriteGrntProvCust(frm, e, isNeedOverwrite) { 439 useLotInfoElementToggle(frm, 'GarantProv', !isNeedOverwrite); 440 frm.toggle({ 441 //GarantProv_Head: isNeedOverwrite, 442 GarantProv_Procedure: isNeedOverwrite, 443 GarantProv_SettlementAccount: false,//isNeedOverwrite, 444 GarantProv_PersonalAccount: false,//isNeedOverwrite, 445 GarantProv_Bik: false,//isNeedOverwrite, 446 GarantProv_PayType: isNeedOverwrite, 447 GarantProv_PartInPercents: isNeedOverwrite, 448 GarantProv_Amount: isNeedOverwrite, 449 GarantProv_IsBail: isNeedOverwrite, 450 GarantProv_AdditionalInfoContent: isNeedOverwrite,
451 IsGarantProvNotNeed: isNeedOverwrite 452 }); 453 454 var isNeedOverwriteFlag = $("input[id='Model_IsNeedOverwriteGarantProv']", frm.container); 455 if (isNeedOverwrite) { 456 _isLotGarantProvNotNeedChanged(frm, $("input[name='Model.IsGarantProvNotNeed']:checked", frm.container).val()); 457 458 if (isNeedOverwriteFlag != null && isNeedOverwriteFlag.is(':checked')) 459 isNeedOverwriteFlag.prop("checked", false); 460 if (isNeedOverwriteFlag != null) 461 isNeedOverwriteFlag.attr("disabled", true); 462 } else { 463 if (isNeedOverwriteFlag != null) 464 isNeedOverwriteFlag.removeAttr("disabled"); 465 if (isNeedOverwriteFlag != null && isNeedOverwriteFlag.is(':checked')) { 466 _eventLotIsNeedOverwriteGarantProvChanged(frm, e, true); 467 } 468 } 469 _recheckOverwriteGuaranteeCustBtn(frm); 470 471 } 472 function _recheckOverwriteGuaranteeCustBtn(frm) { 473 if (frm.readOnly) 474 return; 475 var btn = $("[name='updateguarantee']", frm.container); 476 if (btn != null) { 477 478 var isNeedOverwriteAppFlag = $("input[id='Model_IsOverwriteGrntAppCust']", frm.container); 479 var isNeedOverwriteCntrFlag = $("input[id='Model_IsOverwriteGrntCntrCust']", frm.container); 480 var isNeedOverwriteProvFlag = $("input[id='Model_IsOverwriteGrntProvCust']", frm.container); 481 var enabled = (isNeedOverwriteAppFlag != null && isNeedOverwriteAppFlag.is(':checked')) 482 || (isNeedOverwriteCntrFlag != null && isNeedOverwriteCntrFlag.is(':checked')) 483 || (isNeedOverwriteProvFlag != null && isNeedOverwriteProvFlag.is(':checked')); 484 485 btn.attr("disabled", !enabled); 486 } 487 } 488 489 function _isLotCustomerGarantCntrNotNeedChanged(frm, val) { 490 491 492 var isNeedOverride = $("input[name='Model.IsNeedOverwriteGarantCntr']:checked", frm.container).val(); 493 494 if (isNeedOverride == false 495 || isNeedOverride == undefined) 496 return; 497 498 frm.toggle({ 499 GarantCntr_Procedure: !val, 500 GarantCntr_SettlementAccount: !val, 501 GarantCntr_PersonalAccount: !val, 502 GarantCntr_Bik: !val, 503 GarantCntr_IsBail: !val, 504 GarantCntr_AdditionalInfoContent: !val, 505 GarantCntr_PayType: !val, 506 GarantCntr_Amount: !val, 507 GarantCntr_Percent: !val, 508 GarantCntr_PartInPercents: !val, 509 AdvanceInPercents: !val, 510 //GarantCntrNotNeed: val 511 }); 512 } 513 514 function _isLotCustomerIsOnesideRejectionChanged(frm, val) { 515 frm.toggle({ 516 OnesideRejection : val 517 }); 518 } 519 520 function _isLotCustomerGarantProvNotNeedChanged(frm, val) { 521 522 var isNeedOverride = $("input[name='Model.IsNeedOverwriteGarantProv']:checked", frm.container).val(); 523 524 if (isNeedOverride == false 525 || isNeedOverride == undefined) 526 return; 527 528 frm.toggle({ 529 GarantProv_Procedure: !val, 530 GarantProv_SettlementAccount: !val, 531 GarantProv_PersonalAccount: !val, 532 GarantProv_Bik: !val, 533 GarantProv_IsBail: !val, 534 GarantProv_AdditionalInfoContent: !val, 535 GarantProv_PayType: !val, 536 GarantProv_Amount: !val, 537 GarantProv_Percent: !val, 538 GarantProv_PartInPercents: !val 539 }); 540 frm.toggle({ 541 GarantProv_Amount: !val, 542 GarantProv_Percent: !val 543 }); 544 545 } 546 547 function _isLotGarantPurNotNeedChanged(frm, val) { 548 549 550 var isNeedOverride = $("input[name='Model.IsNeedOverwriteGarantApp']:checked", frm.container).val(); 551 var isNeedOverrideCust = $("input[name='Model.IsOverwriteGrntAppCust']:checked", frm.container).val(); 552 553 if ((isNeedOverrideCust == 'false' 554 || isNeedOverrideCust == undefined) 555 && (isNeedOverride == 'false' 556 || isNeedOverride == undefined)) 557 return; 558 559 frm.toggle({ 560 GarantApp_Procedure: !val, 561 GarantApp_SettlementAccount: !val, 562 GarantApp_PersonalAccount: !val, 563 GarantApp_Bik: !val, 564 GarantApp_IsBail: !val, 565 GarantApp_PayType: !val, 566 GarantApp_Amount: !val, 567 GarantApp_Percent: !val, 568 GarantApp_PartInPercents: !val, 569// AdvanceInPercents: !val 570 }); 571 if (isNeedOverrideCust == 'true') { 572 frm.toggle({ 573 GarantApp_SettlementAccount: false, 574 GarantApp_PersonalAccount: false, 575 GarantApp_Bik: false, 576 }); 577 } 578 579 } 580
581 function _isLotGarantProvNotNeedChanged(frm, val) { 582 583 584 var isNeedOverride = $("input[name='Model.IsNeedOverwriteGarantProv']:checked", frm.container).val(); 585 var isNeedOverrideCust = $("input[name='Model.IsOverwriteGrntProvCust']:checked", frm.container).val(); 586 587 if ((isNeedOverrideCust == 'false' 588 || isNeedOverrideCust == undefined) 589 && (isNeedOverride == 'false' 590 || isNeedOverride == undefined)) 591 return; 592 593 frm.toggle({ 594 GarantProv_Procedure: !val, 595 GarantProv_SettlementAccount: !val, 596 GarantProv_PersonalAccount: !val, 597 GarantProv_Bik: !val, 598 GarantProv_IsBail: !val, 599 GarantProv_PayType: !val, 600 GarantProv_Amount: !val, 601 GarantProv_Percent: !val, 602 GarantProv_PartInPercents: !val, 603 GarantProv_AdditionalInfoContent: !val 604 }); 605 if (isNeedOverrideCust == 'true') { 606 frm.toggle({ 607 GarantProv_SettlementAccount: false, 608 GarantProv_PersonalAccount: false, 609 GarantProv_Bik: false 610 }); 611 } 612 } 613 614 function _isMaxPriceCurrencyChanged(frm, val) { 615 frm.toggle({ 616 MaxPriceCurrency: val, 617 //MaxPriceDate: val, 618 MaxPriceDateDisplay: val, 619 MaxPriceCurrencyRateDisplay: val, 620 MaxPriceValueDisplay: val 621 }); 622 if (frm.is223) { 623 frm.toggle({ 624 Currency: !val 625 }); 626 } 627 if (val) { 628 $("#Model_contentRefReniew_c", frm.container).show(); 629 $('#Model_MaxPriceCurrencyRate', frm.container).prop('readonly', true); 630 $('#Model_MaxPriceValue', frm.container).prop('readonly', true); 631 $('#Model_MaxPriceCalcType', frm.container).prop('readonly', true); 632 633 //calcMaxPriceValue(frm); 634 } else { 635 $("#Model_contentRefReniew_c", frm.container).hide(); 636 } 637 } 638 function _maxPriceCalcTypeChanged(frm, val) { 639 $('#Model_MaxPriceCurrencyRate', frm.container).prop('readonly', (val == 0 || val == 2)); 640 $('#Model_MaxPriceValue', frm.container).prop('readonly', (val == 0 || val == 1)); 641 frm.maxPriceCalcType = val; 642 calcMaxPriceValue(frm); 643 } 644 645 function calcMaxPriceValue(frm) { 646 if (frm.readOnly) 647 return; 648 649 //if (frm.maxPriceCalcType == 0) 650 { 651 var lotKey = $('#Model_Key', frm.container).val(); 652 var lotAmount = $('#Model_NmckPrice', frm.container).val(); 653 if ($('#Model_NmckPrice', frm.container).is('Span') && frm.nmck != undefined) 654 lotAmount = frm.nmck; 655 var currencyCode = $('#Model_MaxPriceCurrencyCode', frm.container).val(); 656 if (currencyCode != null 657 && currencyCode != undefined 658 && currencyCode != "") { 659 $.ajax({
660 type: "POST", 661 url: '/FKS/Home/Lot/GetCurrencyRate', 662 data: { code: currencyCode, key: lotKey, amount: lotAmount }, 663 dataType: "json", 664 success: function (data) { 665 if (data.message != "") { 666 $.Dm.Notify(data.message); 667 } else { 668 $('#Model_MaxPriceCurrencyRate', frm.container).val(Number(data.rate).toFixed(4)); 669 $('#Model_MaxPriceValue', frm.container).val(Number(data.amount).toFixed(2)); 670 if ($('#Model_VatRate', frm.container) != null) { 671 _VatRateChanged(frm, $('#Model_VatRate', frm.container).val()); 672 } 673 $('#Model_MaxPriceCurrencyRateDisplay', frm.container).html(Number(data.rate).toFixed(4)); 674 $('#Model_MaxPriceValueDisplay', frm.container).html(Number(data.amount).toFixed(2)); 675 676 var dd = $('#Model_MaxPriceDate', frm.container); 677 if (dd.is('span')) 678 dd.html(data.rateDate); 679 else 680 dd.val(data.rateDate).trigger("onchange"); 681 //$('#Model_MaxPriceDateDisplay', frm.container).val(Model_MaxPriceDateDisplay); 682 } 683 }, 684 error: function () { 685 $.Dm.Notify('ÐÑибка полÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾ кÑÑÑе конвеÑÑаÑии. ÐбновиÑе ÑÑÑаниÑÑ.'); 686 } 687 }); 688 } 689 } 690 } 691 692 693 function _isLotCustomerGarantPurNotNeedChanged(frm, val) { 694 695 var isNeedOverride = $("input[name='Model.IsNeedOverwriteGarantApp']:checked", frm.container).val(); 696 697 if (isNeedOverride == false 698 || isNeedOverride == undefined) 699 return; 700 701 frm.toggle({ 702 GarantApp_Procedure: !val, 703 GarantApp_SettlementAccount: !val, 704 GarantApp_PersonalAccount: !val, 705 GarantApp_Bik: !val, 706 GarantApp_IsBail: !val, 707 GarantApp_AdditionalInfoContent: !val, 708 GarantApp_PayType: !val, 709 GarantApp_Amount: !val, 710 GarantApp_Percent: !val, 711 GarantApp_PartInPercents: !val, 712// AdvanceInPercents: !val 713 }); 714 } 715 716 function _eventPriceProofTypeChanged(frm, type) { 717 frm.toggle({ 718 PriceProof_Description: type == 6 719 }); 720 } 721 722 function _eventLotNmckChanged(frm, nmck) { 723 var isVisibleNoPublicDiscussion = _isVisiblePublicDiscussion(frm, nmck); 724 frm.nmck = nmck; 725 frm.toggle({ 726 NoPublicDiscussion: isVisibleNoPublicDiscussion 727 && $('input[name="Model.PublicDiscussionNumber"]', frm.container).valToNumber() == null 728 && $('input[name="Model.PublicDiscussionHref"]', frm.container).val() == undefined, 729 PublicDiscussion_Place: isVisibleNoPublicDiscussion 730 && $("input#Model_NoPublicDiscussion", frm.container).is(':checked') == 'False' 731 }); 732 733 if (!isVisibleNoPublicDiscussion) { 734 $("input#Model_NoPublicDiscussion", frm.container).prop("checked", "checked"); 735 $('#Model_PublicDiscussion_Place', frm.container).val("") 736 frm.toggle({ 737 NoPublicDiscussion: false 738 }); 739 } else { 740 $("input#Model_NoPublicDiscussion", frm.container).prop("checked", false); 741 } 742 _eventLotPublicDiscussionPlaceChanged(frm, $('input[name="Model.PublicDiscussion.Place"]:checked', frm.container).val()); 743 _eventLotNoPublicDiscussionChanged(frm, $("input#Model_NoPublicDiscussion", frm.container).is(':checked')); 744 } 745 746 // ÐпÑеделÑÐµÑ Ð²Ð¸Ð´Ð¸Ð¼Ð¾ÑÑÑ Ð±Ð»Ð¾ÐºÐ° "ÐбÑеÑÑвенное обÑÑждение" 747 function _isVisiblePublicDiscussion(frm, nmck) { 748 var isVisiblePublicDiscussion = (nmck > 1e9); 749 return isVisiblePublicDiscussion; 750 } 751 752 // ÐбÑабоÑÑик Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐÐÐ¦Ð Ð´Ð»Ñ ÑÑ ÐµÐ¼Ñ 3 753 function _lotNmckSchema3Changed(frm, nmck) { 754 var isNeed = $("input#Model_IsNeedPublicDiscussion", frm.container).is(':checked');
755 frm.nmck = nmck; 756 _togglePublicDiscussion(frm, nmck, isNeed); 757 calcMaxPriceValue(frm); 758 } 759 760 // ÐбÑабоÑÑик Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñлага Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи обÑеÑÑвенного обÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ 761 function _lotIsNeedPublicDiscussionChanged(frm, isNeed) { 762 var nmck = $('input#Model_NmckPrice', frm.container).valToNumber(); 763 _togglePublicDiscussion(frm, nmck, isNeed); 764 } 765 766 // ÐбÑабоÑÑик Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñлага Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи обÑеÑÑвенного обÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ 767 function _lotIsNeedPublicDiscussionSchema4Changed(frm, isNeed) { 768 _togglePublicDiscussionSchema4(frm, isNeed); 769 } 770 771 // ÐеÑеклÑÑение видимоÑÑи блока обÑеÑÑвенного обÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ 772 function _togglePublicDiscussion(frm, nmck, isNeed) { 773 var isVisiblePublicDiscussion = _isVisiblePublicDiscussion(frm, nmck); 774 frm.toggle({ 775 IsNeedPublicDiscussion: isVisiblePublicDiscussion || isNeed, 776 PublicDiscussion_Place: isNeed 777 }); 778 _publicDiscussionPlaceSchema3Changed(frm, $('input[name="Model.PublicDiscussion.Place"]:checked', frm.container).val()); 779 } 780 781 function _togglePublicDiscussionSchema4(frm, isNeed) { 782 frm.toggle({ 783 PublicDiscussion_Place2020: isNeed 784 }); 785 _publicDiscussionPlaceSchema4Changed(frm, $('input[name="Model.PublicDiscussion.Place2020"]:checked', frm.container).val()); 786 } 787 788 // Ðа изменение меÑÑа пÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿ÑблиÑного обÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑÑ ÐµÐ¼Ðµ 3 и 4 789 function _publicDiscussionPlaceSchema3Changed(frm, place) { 790 var isNeed = $("input#Model_IsNeedPublicDiscussion", frm.container).is(':checked'); 791 frm.toggle({ 792 PublicDiscussion_Number: place == '0' && isNeed, 793 PublicDiscussion_Href: place == '1' && isNeed 794 }); 795 } 796 function _publicDiscussionPlaceSchema4Changed(frm, place) { 797 if (place == undefined) 798 place = $('input[name="Model.PublicDiscussion.Place2020"]:checked', frm.container).val(); 799 var isNeed = $("input#Model_IsNeedPublicDiscussion", frm.container).is(':checked'); 800 frm.toggle({ 801 PublicDiscussion_Number2020: place == '0' && isNeed, 802 PublicDiscussion_Place2020: isNeed 803 }); 804 } 805 806 function _eventLotNoPublicDiscussionChanged(frm, flag) { 807 var nmck = $('input#Model_NmckPrice', frm.container).valToNumber(); 808 var isVisibleNoPublicDiscussion = _isVisiblePublicDiscussion(frm, nmck); 809 if (flag) { 810 $('#Model_PublicDiscussion_Place', frm.container).val(""); 811 } 812 frm.toggle({ 813 PublicDiscussion_Place: isVisibleNoPublicDiscussion && !flag 814 }); 815 816 _eventLotPublicDiscussionPlaceChanged(frm, $('input[name="Model.PublicDiscussion.Place"]:checked', frm.container).val()); 817 } 818 819 function _eventLotPublicDiscussionPlaceChanged(frm, place) { 820 frm.toggle({ 821 PublicDiscussion_Number: place == '0', 822 PublicDiscussion_Href: place == '1' 823 }); 824 if (place == '0') 825 $('#Model_PublicDiscussion_Href', frm.container).val(""); 826 if (place == '1') 827 $('#Model_PublicDiscussion_Number', frm.container).val(""); 828 if (place != "") 829 _eventLotPublicDiscussionNumberChanged(frm, ""); 830 } 831 832 function _eventLotPublicDiscussionNumberChanged(frm, obj) { 833 var nmck = $('input#Model_NmckPrice', frm.container).valToNumber(); 834 var isVisibleNoPublicDiscussion = _isVisiblePublicDiscussion(frm, nmck); 835 frm.toggle({ 836 NoPublicDiscussion: isVisibleNoPublicDiscussion && (obj == "" || undefined) 837 }); 838 } 839 840 function _eventDeliveryPlaceIndicationChangedInit(frm) { 841 var dp = $("input#Model_DeliveryPlaceIndication_1", frm.container); 842 if (dp.val() != null) { 843 frm.toggle({ 844 DeliveryPlaceIndication_4: false 845 }); 846 _eventDeliveryPlaceIndicationChanged(frm, null, dp.is(':checked') ? '1' : '2'); 847 } 848 } 849 850 function _eventLotGuaranteePayTypeChanged(frm, e, payType) { 851 var idElement = e.target.id; 852 if (idElement.indexOf("GarantCntr") != -1) { 853 _initGarantCntr(frm, payType); 854 } 855 else if (idElement.indexOf("GarantProv") != -1) { 856 _initGarantProv(frm, payType); 857 }else { 858 _initGarantApp(frm, payType); 859 } 860 } 861 function _eventDeliveryPlaceIndicationChanged(frm, e, deliveryPlaceIndication) { 862 switch (deliveryPlaceIndication) { 863 case '1': 864 frm.toggle({ 865 DeliveryPlace: true, 866 Region: true, 867 RegionOkato: true 868 }); 869 break; 870 case '2': 871 case '3': 872 frm.toggle({ 873 DeliveryPlace: false, 874 Region: false, 875 RegionOkato: false 876 }); 877 break; 878 } 879 } 880 881 function _initGarantApp(frm, payType) { 882 $('#Model_GarantApp_PartInPercents', frm.container).prop('readonly', payType == 1); 883 $('#Model_GarantApp_Amount', frm.container).prop('readonly', payType == 2); 884 } 885 886 function _initGarantCntr(frm, payType) { 887 $('#Model_GarantCntr_PartInPercents', frm.container).prop('readonly', payType == 1); 888 $('#Model_GarantCntr_Amount', frm.container).prop('readonly', payType == 2); 889 } 890 function _initGarantProv(frm, payType) { 891 $('#Model_GarantProv_PartInPercents', frm.container).prop('readonly', payType == 1); 892 $('#Model_GarantProv_Amount', frm.container).prop('readonly', payType == 2); 893 } 894 895 function _eventLotGarantCntrInit(frm, e, payType) { 896 _initGarantCntr(frm, payType); 897 } 898 899 function _eventLotGarantAppInit(frm, e, payType) { 900 _initGarantApp(frm, payType); 901 } 902 function _eventLotGarantProvInit(frm, e, payType) { 903 _initGarantProv(frm, payType); 904 } 905 906 function _eventLotOnlyNumericPriceInit(frm, e, isOnlyNumericPrice) { 907 if (isOnlyNumericPrice) { 908 $('#Model_PriceType_2, #Model_PriceType_3', frm.container).prop('disabled', true); 909 } 910 } 911 912 function _eventLotQuantityUndefinedChanged(frm, e, isUdefined) { 913 frm.toggle({ QuantityInfo: !isUdefined }); 914 } 915 916 function _eventLotPriceTypeChanged(frm, e, priceType) { 917 switch (priceType) { 918 case '1': 919 frm.toggle({ 920 PriceInfo: false, 921 Currency: true, 922 NmckPrice: true 923 }); 924 925 break; 926 case '2': 927 frm.toggle({ 928 PriceInfo: true, 929 Currency: true, 930 NmckPrice: false 931 }); 932 break; 933 case '3': 934 frm.toggle({ 935 PriceInfo: false, 936 Currency: false, 937 NmckPrice: false 938 }); 939 break; 940 } 941 } 942 943 function _eventLotCustomerIsQuantityUndefinedChange(frm, e, isUndefined) { 944 frm.toggle({ 945 Quantity: !isUndefined 946 }); 947 } 948 949 function _eventLotCustomerIsOverwriteDeliveryPlaceChanged(frm, e, isOverwrite) { 950 useLotInfoElementToggle(frm, 'DeliveryPlace', !isOverwrite); 951 frm.toggle({ 952 DeliveryPlace: isOverwrite 953 }); 954 } 955 956 function _eventLotCustomerIsOverwriteDeliveryTermChanged(frm, e, isOverwrite) { 957 useLotInfoElementToggle(frm, 'DeliveryTerm', !isOverwrite); 958 frm.toggle({ 959 DeliveryTerm: isOverwrite 960 }); 961 } 962 963 function _eventLotCustomerIsOverwritePaymentTermChanged(frm, e, isOverwrite) { 964 useLotInfoElementToggle(frm, 'PaymentTerm', !isOverwrite); 965 frm.toggle({ 966 PaymentTerm: isOverwrite 967 }); 968 } 969 970 function useLotInfoElementToggle(frm, element, isShow) { 971 var el = $('.useLotInfo' + element, frm.container).parent('tr'); 972 if (isShow) { 973 el.show(); 974 } else { 975 el.hide(); 976 } 977 } 978 979 980 function _eventLotIsNeedOverwriteGarantAppChanged(frm, e, isNeedOverwrite) { 981 useLotInfoElementToggle(frm, 'GarantApp', !isNeedOverwrite); 982 frm.toggle({ 983 //GarantApp_Head: isNeedOverwrite, 984 GarantApp_Procedure: isNeedOverwrite, 985 GarantApp_SettlementAccount: isNeedOverwrite, 986 GarantApp_PersonalAccount: isNeedOverwrite, 987 GarantApp_Bik: isNeedOverwrite, 988 GarantApp_PayType: isNeedOverwrite, 989 GarantApp_PartInPercents: isNeedOverwrite, 990 GarantApp_Amount: isNeedOverwrite, 991 GarantApp_IsBail: isNeedOverwrite, 992 GarantApp_AdditionalInfoContent: isNeedOverwrite, 993 IsGarantPurNotNeed: isNeedOverwrite 994 }); 995 var isNeedOverwriteCustFlag = $("input[id='Model_IsOverwriteGrntAppCust']", frm.container); 996 if (isNeedOverwrite) { 997 _isLotGarantPurNotNeedChanged(frm, $("input[name='Model.IsGarantPurNotNeed']:checked", frm.container).val()); 998 999 if (isNeedOverwriteCustFlag != null && isNeedOverwriteCustFlag.is(':checked')) 1000 isNeedOverwriteCustFlag.prop("checked", false); 1001 if (isNeedOverwriteCustFlag != null) 1002 isNeedOverwriteCustFlag.attr("disabled", true); 1003 } else { 1004 if (isNeedOverwriteCustFlag != null) 1005 isNeedOverwriteCustFlag.removeAttr("disabled"); 1006 } 1007 } 1008 1009 function _eventLotIsNeedOverwriteGarantProvChanged(frm, e, isNeedOverwrite) { 1010 useLotInfoElementToggle(frm, 'GarantProv', !isNeedOverwrite); 1011 frm.toggle({ 1012 //GarantProv_Head: isNeedOverwrite, 1013 GarantProv_Procedure: isNeedOverwrite, 1014 GarantProv_SettlementAccount: isNeedOverwrite, 1015 GarantProv_PersonalAccount: isNeedOverwrite, 1016 GarantProv_Bik: isNeedOverwrite, 1017 GarantProv_PayType: isNeedOverwrite, 1018 GarantProv_PartInPercents: isNeedOverwrite, 1019 GarantProv_Amount: isNeedOverwrite, 1020 GarantProv_IsBail: isNeedOverwrite, 1021 GarantProv_AdditionalInfoContent: isNeedOverwrite,
1022 IsGarantProvNotNeed: isNeedOverwrite 1023 }); 1024 1025 var isNeedOverwriteCustFlag = $("input[id='Model_IsOverwriteGrntProvCust']", frm.container); 1026 if (isNeedOverwrite) { 1027 _isLotGarantProvNotNeedChanged(frm, $("input[name='Model.IsGarantProvNotNeed']:checked", frm.container).val()); 1028 1029 if (isNeedOverwriteCustFlag != null && isNeedOverwriteCustFlag.is(':checked')) 1030 isNeedOverwriteCustFlag.prop("checked", false); 1031 if (isNeedOverwriteCustFlag != null) 1032 isNeedOverwriteCustFlag.attr("disabled", true); 1033 } else { 1034 if (isNeedOverwriteCustFlag != null) 1035 isNeedOverwriteCustFlag.removeAttr("disabled"); 1036 } 1037 } 1038 1039 1040 function _eventLotCustomerIsNeedOverwriteGarantAppChanged(frm, e, isNeedOverwrite) { 1041 useLotInfoElementToggle(frm, 'GarantApp', !isNeedOverwrite); 1042 frm.toggle({ 1043 GarantApp_Procedure: isNeedOverwrite, 1044 GarantApp_SettlementAccount: isNeedOverwrite, 1045 GarantApp_PersonalAccount: isNeedOverwrite, 1046 GarantApp_Bik: isNeedOverwrite, 1047 GarantApp_PayType: isNeedOverwrite, 1048 GarantApp_PartInPercents: isNeedOverwrite, 1049 GarantApp_Amount: isNeedOverwrite, 1050 GarantApp_IsBail: isNeedOverwrite, 1051 GarantApp_AdditionalInfoContent: isNeedOverwrite, 1052 IsGarantAppNotNeed: isNeedOverwrite 1053 }); 1054 if (isNeedOverwrite) 1055 _isLotCustomerGarantPurNotNeedChanged(frm, $("input[name='Model.IsGarantAppNotNeed']:checked", frm.container).val()); 1056 } 1057 1058 function _eventLotCustomerIsNeedOverwriteGarantCntrChanged(frm, e, isNeedOverwrite) { 1059 useLotInfoElementToggle(frm, 'GarantCntr', !isNeedOverwrite); 1060 frm.toggle({ 1061 GarantCntr_Procedure: isNeedOverwrite, 1062 GarantCntr_SettlementAccount: isNeedOverwrite, 1063 GarantCntr_PersonalAccount: isNeedOverwrite, 1064 GarantCntr_Bik: isNeedOverwrite, 1065 GarantCntr_PayType: isNeedOverwrite, 1066 GarantCntr_PartInPercents: isNeedOverwrite, 1067 GarantCntr_Amount: isNeedOverwrite, 1068 GarantCntr_IsBail: isNeedOverwrite, 1069 GarantCntr_AdditionalInfoContent: isNeedOverwrite, 1070 IsGarantCntrNotNeed: isNeedOverwrite, 1071 //GarantCntrNotNeed: isNeedOverwrite, 1072 AdvanceInPercents: isNeedOverwrite 1073 }); 1074 if (isNeedOverwrite) 1075 _isLotCustomerGarantCntrNotNeedChanged(frm, $("input[name='Model.IsGarantCntrNotNeed']:checked", frm.container).val()); 1076 1077 } 1078 1079 function _eventLotCustomerIsNeedOverwriteGarantProvChanged(frm, e, isNeedOverwrite) { 1080 useLotInfoElementToggle(frm, 'GarantProv', !isNeedOverwrite); 1081 frm.toggle({ 1082 GarantProv_Procedure: isNeedOverwrite, 1083 GarantProv_SettlementAccount: isNeedOverwrite, 1084 GarantProv_PersonalAccount: isNeedOverwrite, 1085 GarantProv_Bik: isNeedOverwrite, 1086 GarantProv_PayType: isNeedOverwrite, 1087 GarantProv_PartInPercents: isNeedOverwrite, 1088 GarantProv_Amount: isNeedOverwrite, 1089 GarantProv_IsBail: isNeedOverwrite, 1090 GarantProv_AdditionalInfoContent: isNeedOverwrite, 1091 IsGarantProvNotNeed: isNeedOverwrite 1092 }); 1093 if (isNeedOverwrite) 1094 _isLotCustomerGarantProvNotNeedChanged(frm, $("input[name='Model.IsGarantProvNotNeed']:checked", frm.container).val()); 1095 1096 } 1097 1098 function _eventLotIsNeedOverwriteGarantCntrChanged(frm, e, isNeedOverwrite) { 1099 useLotInfoElementToggle(frm, 'GarantCntr', !isNeedOverwrite); 1100 frm.toggle({ 1101 GarantCntr_Procedure: isNeedOverwrite, 1102 GarantCntr_SettlementAccount: isNeedOverwrite, 1103 GarantCntr_PersonalAccount: isNeedOverwrite, 1104 GarantCntr_Bik: isNeedOverwrite, 1105 GarantCntr_PayType: isNeedOverwrite, 1106 GarantCntr_PartInPercents: isNeedOverwrite, 1107 GarantCntr_Amount: isNeedOverwrite, 1108 GarantCntr_IsBail: isNeedOverwrite, 1109 GarantCntr_AdditionalInfoContent: isNeedOverwrite, 1110 IsGarantCntrNotNeed: isNeedOverwrite, 1111 //GarantCntrNotNeed: isNeedOverwrite, 1112 AdvanceInPercents: isNeedOverwrite 1113 }); 1114 1115 var isNeedOverwriteCustFlag = $("input[id='Model_IsOverwriteGrntCntrCust']", frm.container); 1116 if (isNeedOverwrite) { 1117 _isLotGarantCntrNotNeedChanged(frm, $("input[name='Model.IsGarantCntrNotNeed']:checked", frm.container).val()=='true'); 1118 1119 if (isNeedOverwriteCustFlag != null && isNeedOverwriteCustFlag.is(':checked')) 1120 isNeedOverwriteCustFlag.prop("checked", false); 1121 if (isNeedOverwriteCustFlag != null) 1122 isNeedOverwriteCustFlag.attr("disabled", true); 1123 } else { 1124 if (isNeedOverwriteCustFlag != null) 1125 isNeedOverwriteCustFlag.removeAttr("disabled"); 1126 } 1127 1128 } 1129 1130 function _lotPrefValueAsSelectChanged(frm, e, val) { 1131 if (val + "" == "0") 1132 return; 1133 if (frm.readOnly) 1134 return; 1135 1136 if ($('#Model_ValueAsSelect option[value='+val+']', frm.container).text() + "" != "") { 1137 $("input[id='Model_Value']", frm.container).val(Number($('#Model_ValueAsSelect option[value='+val+']', frm.container).text())); 1138 } 1139 } 1140 1141 function _eventLotPurchaseFeatureChanged(frm, e, data) { 1142 if (frm.readOnly) 1143 return; 1144 data = data || {}; //надо Ð±Ñ Ð¿Ð¾Ð½ÑÑÑ Ð¿Ð¾ÑÐµÐ¼Ñ data не пÑÐ¸Ñ Ð¾Ð´Ð¸Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° 1145 frm.toggle({ Value: !data.IsFlag, ValueAsSelect: false }); 1146 1147 if (!data.IsFlag) { 1148 /*if (isNaN(data.MaxValue)) 1149 $("input[id='Model_Value']", frm.container).val(""); 1150 */ 1151 $("input[id='Model_Value']", frm.container).prop('readonly', false); 1152 if (!isNaN(data.MaxValue) && data.MaxValue == data.MinValue) { 1153 $("input[id='Model_Value']", frm.container).val(Number(data.MinValue).toFixed(2)); 1154 $("input[id='Model_Value']", frm.container).prop('readonly', true); 1155 frm.toggle({ ValueAsSelect: false }); 1156 } 1157 if (!isNaN(data.MaxValue) && !isNaN(data.MinValue) 1158 && Number(data.MaxValue) != Number(data.MinValue)) 1159 { 1160 var tval = $("input[id='Model_Value']", frm.container).val(); 1161 if (tval == "" || isNaN(tval)) 1162 tval = data.MinValue; 1163 if ((Number(tval) > Number(data.MaxValue) 1164 || Number(tval) < Number(data.MinValue)) 1165 || (Number(tval) != Number(data.MaxValue) 1166 && Number(tval) != Number(data.MinValue))) { 1167 tval = data.MinValue; 1168 } 1169 $("input[id='Model_Value']", frm.container).val(tval); 1170 frm.toggle({ Value: false, ValueAsSelect: true });
1171 $('#Model_ValueAsSelect option[value=1]', frm.container).text(data.MinValue).prop('selected', Number(tval) == Number(data.MinValue)); 1172 $('#Model_ValueAsSelect option[value=2]', frm.container).text(data.MaxValue).prop('selected', Number(tval) == Number(data.MaxValue)); 1173 } 1174 } else { 1175 $("input[id='Model_Value']", frm.container).val(""); 1176 } 1177 } 1178 1179 1180 function _recalcPercentGarant(frm, e, amount, nmck) { 1181 var idElement = e.target.id; 1182 if (nmck > 0) { 1183 if (idElement.indexOf("GarantCntr") != -1) { 1184 _recalcPercentGarantCntr(frm, amount, nmck); 1185 } 1186 else if (idElement.indexOf("GarantProv") != -1) { 1187 _recalcPercentGarantProv(frm, amount, nmck); 1188 }else { 1189 _recalcPercentGarantApp(frm, amount, nmck); 1190 } 1191 } 1192 } 1193 1194 function _recalcPercentGarantCntr(frm, amount, nmck) { 1195 if (isNaN(amount)) 1196 return; 1197 var percent = Num.div(amount * 100, nmck); 1198 if (isNaN(percent)) { 1199 $('#Model_GarantCntr_PartInPercents', frm.container).val(""); 1200 return; 1201 } 1202 percent = Math.round(percent * 100) / 100; 1203 $('#Model_GarantCntr_PartInPercents', frm.container).val(Number(percent).toFixed(2)); 1204 } 1205 1206 function _recalcPercentGarantApp(frm, amount, nmck) { 1207 if (isNaN(amount)) 1208 return; 1209 var percent = Num.div(amount * 100, nmck); 1210 if (isNaN(percent)) { 1211 $('#Model_GarantCntr_PartInPercents', frm.container).val(""); 1212 return; 1213 } 1214 percent = Math.round(percent * 100) / 100; 1215 $('#Model_GarantApp_PartInPercents', frm.container).val(Number(percent).toFixed(2)); 1216 } 1217 function _recalcPercentGarantProv(frm, amount, nmck) { 1218 if (isNaN(amount)) 1219 return; 1220 var percent = Num.div(amount * 100, nmck); 1221 if (isNaN(percent)) { 1222 $('#Model_GarantProv_PartInPercents', frm.container).val(""); 1223 return; 1224 } 1225 percent = Math.round(percent * 100) / 100; 1226 $('#Model_GarantProv_PartInPercents', frm.container).val(Number(percent).toFixed(2)); 1227 } 1228 1229 function _recalcAmountGarant(frm, e, percent, nmck) { 1230 var idElement = e.target.id; 1231 if (nmck > 0) { 1232 if (idElement.indexOf("GarantCntr") != -1) { 1233 _recalcAmountGarantCntr(frm, percent, nmck); 1234 }else if (idElement.indexOf("GarantProv") != -1) { 1235 _recalcAmountGarantProv(frm, percent, nmck); 1236 }else { 1237 _recalcAmountGarantApp(frm, percent, nmck); 1238 } 1239 } 1240 } 1241 function _recalcAmountGarantProv(frm, percent, nmck) { 1242 if (isNaN(percent)) 1243 return; 1244 var valRnd = _amountRnd(percent, nmck); 1245 if (isNaN(valRnd)) 1246 $('#Model_GarantProv_Amount', frm.container).val(""); 1247 else 1248 $('#Model_GarantProv_Amount', frm.container).val(Number(valRnd).toFixed(2)); 1249 } 1250 1251 function _recalcAmountGarantCntr(frm, percent, nmck) { 1252 if (isNaN(percent)) 1253 return; 1254 var valRnd = _amountRnd(percent, nmck); 1255 if (isNaN(valRnd)) 1256 $('#Model_GarantCntr_Amount', frm.container).val(""); 1257 else 1258 $('#Model_GarantCntr_Amount', frm.container).val(Number(valRnd).toFixed(2)); 1259 } 1260 1261 function _recalcAmountGarantApp(frm, percent, nmck) { 1262 var valRnd = _amountRnd(percent, nmck); 1263 if (isNaN(valRnd)) 1264 $('#Model_GarantApp_Amount', frm.container).val(""); 1265 else 1266 $('#Model_GarantApp_Amount', frm.container).val(Number(valRnd).toFixed(2)); 1267 } 1268 1269 function _amountRnd(percent, nmck) { 1270 if (isNaN(percent)) 1271 return; 1272 var value = Num.mul(percent, nmck); 1273 if (isNaN(value)) 1274 return; 1275 value = Num.div(value, 100); 1276 var valRnd = Math.round(Num.mul(value, 100)) / 100; 1277 1278 return valRnd; 1279 } 1280 1281 function _eventLotGarantRecalcInit(frm, nmck) { 1282 var amountEl; 1283 var amount; 1284 var percentEl; 1285 var percent; 1286 if (nmck > 0) { 1287 if ($("input[name='Model.GarantApp.PayType']:checked", frm.container).val() == '1') { 1288 amountEl = $('#Model_GarantApp_Amount', frm.container); 1289 if (amountEl.val != null && amountEl.val() != null && amountEl.val() != '') 1290 { 1291 amount = amountEl.parseNumber({ format: "#,###.00", locale: "ru" }, false); 1292 _recalcPercentGarantApp(frm, amount, nmck); 1293 } 1294 1295 } 1296 if ($("input[name='Model.GarantApp.PayType']:checked", frm.container).val() == '2') { 1297 percentEl = $('#Model_GarantApp_PartInPercents', frm.container); 1298 if (percentEl.val != null && percentEl.val() != null && percentEl.val() != '') 1299 { 1300 percent = percentEl.parseNumber({ format: "#,###.00", locale: "ru" }, false); 1301 _recalcAmountGarantApp(frm, percent, nmck); 1302 } 1303 } 1304 1305 if ($("input[name='Model.GarantCntr.PayType']:checked", frm.container).val() == '1') { 1306 amountEl = $('#Model_GarantCntr_Amount', frm.container); 1307 if (amountEl.val != null && amountEl.val() != null && amountEl.val() != '') 1308 { 1309 amount = amountEl.parseNumber({ format: "#,###.00", locale: "ru" }, false); 1310 _recalcPercentGarantCntr(frm, amount, nmck); 1311 } 1312 } 1313 1314 if ($("input[name='Model.GarantCntr.PayType']:checked", frm.container).val() == '2') { 1315 percentEl = $('#Model_GarantCntr_PartInPercents', frm.container); 1316 if (percentEl.val != null && percentEl.val() != null && percentEl.val() != '') 1317 { 1318 percent = percentEl.parseNumber({ format: "#,###.00", locale: "ru" }, false); 1319 _recalcAmountGarantCntr(frm, percent, nmck); 1320 } 1321 } 1322 if ($("input[name='Model.GarantProv.PayType']:checked", frm.container).val() == '1') { 1323 amountEl = $('#Model_GarantProv_Amount', frm.container); 1324 if (amountEl.val != null && amountEl.val() != null && amountEl.val() != '') 1325 { 1326 amount = amountEl.parseNumber({ format: "#,###.00", locale: "ru" }, false); 1327 _recalcPercentGarantProv(frm, amount, nmck); 1328 } 1329 } 1330 1331 if ($("input[name='Model.GarantProv.PayType']:checked", frm.container).val() == '2') { 1332 percentEl = $('#Model_GarantProv_PartInPercents', frm.container); 1333 if (percentEl.val != null && percentEl.val() != null && percentEl.val() != '') { 1334 percent = percentEl.parseNumber({ format: "#,###.00", locale: "ru" }, false); 1335 _recalcAmountGarantProv(frm, percent, nmck); 1336 } 1337 } 1338 } 1339 } 1340 1341 } 1342 }; 1343 1344 $.ETC.FKS.AuctionEvents = { 1345 initForm: function (frm, data) { 1346 frm.readOnly = data.IsReadOnly == true; 1347 frm.Nmck = data.LotNmck; 1348 $.ETC.EventContainer.init( 1349 frm.container 1350 .data('init', data) 1351 .on('AuctionStepInPercentChanged', function (e, flag) { 1352 _auctionStepInPercentChanged(frm, flag); 1353 }) 1354 .on('IsAutomaticStepDecreasingChanged', function (e, flag) { 1355 _isAutomaticStepDecreasingChanged(frm, flag); 1356 }) 1357 .on('IsAutomaticProlongationChanged', function (e, flag) { 1358 _isAutomaticProlongationChanged(frm, flag); 1359 }) 1360 .on('IsAuctionWithStepChanged', function (e, flag) { 1361 _isAuctionWithStepChanged(frm, flag); 1362 }) 1363 .on('IsAuctionLimitReductionChanged', function (e, flag) { 1364 _isAuctionLimitReductionChanged(frm, flag); 1365 }) 1366 .on('IsAuctionForSecondPlaceChanged', function (e, flag) { 1367 _isAuctionForSecondPlaceChanged(frm, flag); 1368 }) 1369 1370 ); 1371 1372 _initControls(frm); 1373 1374 function _initControls(frm) { 1375 _auctionStepInPercentChanged(frm, $("input#Model_AuctionStepInPercent").is(':checked')); 1376 _isAutomaticStepDecreasingChanged(frm, $("input#Model_IsAutomaticStepDecreasing").is(':checked')); 1377 _isAutomaticProlongationChanged(frm, $("input#Model_IsAutomaticProlongation").is(':checked')); 1378 _isAuctionWithStepChanged(frm, $("input#Model_IsAuctionWithStep").is(':checked')); 1379 _isAuctionLimitReductionChanged(frm, $("input#Model_IsAuctionLimitReduction").is(':checked')); 1380 _isAuctionForSecondPlaceChanged(frm, $("input#Model_IsAuctionForSecondPlace").is(':checked')); 1381 } 1382 1383 function _isAuctionForSecondPlaceChanged(frm, flag) { 1384 frm.toggle({ 1385 SecondPhaseDurationInMin: flag 1386 }); 1387 } 1388 1389 1390 function _isAuctionLimitReductionChanged(frm, flag) { 1391 frm.toggle({ 1392 LimitPriceReductionVal: flag 1393 }); 1394 } 1395 1396 function _auctionStepInPercentChanged(frm, flag) { 1397 frm.toggle({ 1398 MinAuctionStep: !flag, 1399 MaxAuctionStep: !flag, 1400 MaxAuctionStepInPercent: flag, 1401 MinAuctionStepInPercent: flag 1402 }); 1403 1404 if (flag) { 1405 $("#Model_MinAuctionStep").val(0); 1406 $("#Model_MaxAuctionStep").val(0); 1407 } else { 1408 $("#Model_MinAuctionStepInPercent").val(0); 1409 $("#Model_MaxAuctionStepInPercent").val(0); 1410 } 1411 } 1412 function _isAutomaticStepDecreasingChanged(frm, flag) { 1413 frm.toggle({ 1414 StepDecreasingValue: flag 1415 }); 1416 } 1417 1418 function _isAutomaticProlongationChanged(frm, flag) { 1419 frm.toggle({ 1420 PriceWaitingTimeInMin: flag, 1421 AuctionEndDate: !flag, 1422 NextpriceWaitingTimeInMin: flag 1423 }); 1424 } 1425 1426 function _isAuctionWithStepChanged(frm, flag) { 1427 1428 frm.toggle({ 1429 AuctionStepInPercent: flag, 1430 MinAuctionStep: flag, 1431 MaxAuctionStep: flag, 1432 MaxAuctionStepInPercent: flag, 1433 MinAuctionStepInPercent: flag, 1434 IsAutomaticStepDecreasing: flag, 1435 StepDecreasingValue: flag 1436 }); 1437 if (flag) { 1438 _auctionStepInPercentChanged(frm, $("input#Model_AuctionStepInPercent").is(':checked')); 1439 _isAutomaticStepDecreasingChanged(frm, $("input#Model_IsAutomaticStepDecreasing").is(':checked')); 1440 1441 } 1442 1443 } 1444 1445 } 1446 }; 1447 1448 $.ETC.FKS.Events.ItemRestrictionNpa = { 1449 initForm: function (frm, data) { 1450 1451 $.ETC.EventContainer.init( 1452 frm.container 1453 .data('init', data) 1454 .on('ImposibilityBanChanged', function (e, val) { _ImposibilityBanChanged(frm, val); return false; }) 1455 .on('NpaTypeChanged', function (e, val) { _NpaTypeChanged(frm, val); return false; }) 1456 ); 1457 initEvents(); 1458 _NpaTypeChanged(frm, true); 1459 1460 function initEvents() { 1461 var flagInputs = $('input#Model_Type'); 1462 for (var i = 0; i < flagInputs.length; i++) { 1463 $(flagInputs[i]).bind("change", function (e, val) { _NpaTypeChanged(frm); }); 1464 } 1465 } 1466 1467 function _NpaTypeChanged(frm, onlySetFlag) { 1468 if (onlySetFlag == undefined) onlySetFlag = false; 1469 1470 var code = ""; 1471 var flagInputs = $('input#Model_Type', frm.container); 1472 var npa = $('#Model_Npa', frm.container); 1473 var lock4 = false; 1474 var lock1and2 = false; 1475 for (var i = 0; i < flagInputs.length; i++) { 1476 if (flagInputs[i].checked) { 1477 switch (flagInputs[i].value + "") { 1478 case "1":// "AC": ÑÑловие допÑÑка 1479 code = code == "2" ? "4" : "3"; 1480 lock4 = true; 1481 break; 1482 case "2"://"RA": огÑаниÑение 1483 code = code == "3" ? "4" : "2"; 1484 lock4 = true; 1485 break; 1486 case "4"://"BAN": запÑÐµÑ 1487 code = "1"; 1488 lock1and2 = true; 1489 break; 1490 } 1491 } 1492 flagInputs[i].disabled = false; 1493 } 1494 for (var i = 0; i < flagInputs.length; i++) { 1495 if (lock4 1496 && (flagInputs[i].value + "") == "4") { 1497 flagInputs[i].checked = false; 1498 flagInputs[i].disabled = true; 1499 } 1500 if (lock1and2 1501 && (flagInputs[i].value + "") != "4") { 1502 flagInputs[i].checked = false; 1503 flagInputs[i].disabled = true; 1504 } 1505 } 1506 if (!onlySetFlag) { 1507 npa.DmLookup2({ 'clear': true });
1508 npa.DmLookup2({ setUrlParam: { n: "NpaTypeCode", v: code } }); 1509 } 1510 npa.DmLookup2({ enable: code != "" }); 1511 } 1512 1513 function _ImposibilityBanChanged(frm, val) { 1514 frm.toggle({ 1515 ImposibilityBanReason: val == true 1516 }); 1517 } 1518 } 1519 }; 1520 1521})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.