23 $serviceShowInfo =
true;
24 $serviceLoadMenu =
true;
25 $serviceShowMenu =
true;
26 $serviceLiveCheck =
true;
29 require_once(dirname(__FILE__) .
'/../library/hcuService.i');
32 require_once(dirname(__FILE__) .
'/../library/hcuTransferScheduled.i');
38 PermCheckFeatureScreen($dbh, $HB_ENV, $MC, FEATURE_SCHEDULED_TRANSFERS);
43 $Transfer_List_ary = TX_list($dbh, $HB_ENV,
"",
true);
44 setFmsgTxCookie($HB_ENV, $Transfer_List_ary);
50 WHERE cu = '{$HB_ENV['Cu']}' AND role = 'transfernotify'";
51 $em_rs = db_query($sql, $dbh);
52 list($notifyemail) = db_fetch_array($em_rs, 0);
53 db_free_result($em_rs);
61 $cuTransTypesAllowed = Get_HaveTrans($dbh, $HB_ENV);
63 $disallowTransfersToDiffAccount = ($HB_ENV[
"flagset3"] & GetFlagsetValue(
"CU3_DISALLOW_MULT_ACCOUNTS_TRANSFER")) !== 0;
65 if (trim($notifyemail) ==
'' || (($HB_ENV[
'flagset2'] & GetFlagsetValue(
"CU2_PROCRECUR")) !== GetFlagsetValue(
"CU2_PROCRECUR"))) {
68 $serviceErrorMsg = $MC->msg(
'Option not set', HCU_DISPLAY_AS_HTML);
69 $serviceErrorCode =
'915';
71 require_once(dirname(__FILE__) .
'/../includes/hcuErrorPage.i');
74 } elseif ($HB_ENV[
'live'] && (($HB_ENV[
'Fset3'] & GetFlagsetValue(
'CU3_API_XAC')) && ($HB_ENV[
'Fmsg_tx'] & GetMsgTxValue(
'MSGTX_TMP_XAX_LD')) == 0)) {
78 $serviceErrorCode =
'911';
80 require_once(dirname(__FILE__) .
'/../includes/hcuErrorPage.i');
86 $acctFromListAry[] = Array(
"acctText" =>
'',
"acctValue" =>
'',
"acctAvail" =>
'',
'acctClass' =>
'');
87 $acctToListAry[] = Array(
"acctText" =>
'',
"acctValue" =>
'',
"acctAvail" =>
'',
'acctClass' =>
'');
88 $fromAccountCount = 0;
90 if (count($Transfer_List_ary[
'acctlist']) > 0) {
91 foreach ($Transfer_List_ary[
'acctlist'] as $acct_key => $acct_values) {
95 if ($acct_values[
'from'] ==
'Y') {
96 switch ($acct_values[
'acctclass']) {
103 Array(
"desc" => $MC->msg(
'Available', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'available']),
104 Array(
"desc" => $MC->msg(
'Balance', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'balance'])
110 $acctFromListAry[] = Array(
111 "acctText" => htmlspecialchars_decode(mobile_displayhtml($acct_values[
'description']),ENT_QUOTES),
112 "acctValue" => mobile_displayhtml($acct_key),
113 "acctAvail" => $acct_values[
'available'],
114 "acctInfo" => $acctInfo,
115 "acctClass" => $acct_values[
'acctclass'],
116 "permissionAcct" => $acct_values[
"member"]
122 if ($acct_values[
'to'] ==
'Y' && $acct_values[
'acctclass'] !=
'O') {
124 $historyAcct = explode(
'|', $acct_key);
129 if ($acct_values[
'trust'] !=
'transfer'){
130 switch ($historyAcct[0]) {
133 Array(
"desc" => $MC->msg(
'Balance', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'balance'])
138 Array(
"desc" => $MC->msg(
'Payoff', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'payoff']),
139 Array(
"desc" => $MC->msg(
'Balance', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'balance']),
140 Array(
"desc" => $MC->msg(
'Payment', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'paymentdue'])
145 Array(
"desc" => $MC->msg(
'Payoff', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'payoff']),
146 Array(
"desc" => $MC->msg(
'Balance', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'balance']),
147 Array(
"desc" => $MC->msg(
'Payment', HCU_DISPLAY_AS_RAW),
"value" => $acct_values[
'paymentdue'])
152 $acctToListAry[] = Array(
153 "acctText" => htmlspecialchars_decode($acct_values[
'description'], ENT_QUOTES),
154 "acctValue" => mobile_displayhtml($acct_key),
155 "acctInfo" => $acctInfo,
156 'acctClass' => $acct_values[
'acctclass'],
157 "permissionAcct" => $acct_values[
"member"]
162 $transferFrequencyList = TxIntervalList($MC);
163 $transferContinueList = Array(
164 Array(
"value" =>
"continuous",
"text" => $MC->msg(
'Transfer Continue Until', HCU_DISPLAY_AS_RAW) .
' ' .$MC->msg(
'Transfer Further Notice', HCU_DISPLAY_AS_RAW)),
165 Array(
"value" =>
"continueuntil",
"text" => $MC->msg(
'Transfer Continue Until', HCU_DISPLAY_AS_RAW))
167 $transferScheduleStatus = Array(
168 Array(
'value' =>
'A',
'text' => $MC->msg(
'Active', HCU_DISPLAY_AS_RAW)),
169 Array(
'value' =>
'I',
'text' => $MC->msg(
'Inactive', HCU_DISPLAY_AS_RAW))
175 $noticesAry = Get_NoticeInfo($dbh, $HB_ENV, $MC,
"D",
"rptTransferTerms",
true);
177 $hasTermsRPT =
false;
178 $hasTermsPopupRPT =
false;
180 $termsLinkDisplayRPT =
"";
182 if ( $noticesAry[
"status"][
"code"] ==
"000" && HCU_array_key_exists(
'0', $noticesAry[
'notice'])) {
183 if ( $noticesAry[
"notice"][0][
"notice_id"] ) {
185 $noticeOption = $noticesAry[
'notice'][0];
187 $noticeOptions = Array (
188 'docsid' => $noticeOption[
'notice_id'],
189 'docstype' => $noticeOption[
'notice_type'],
192 'expireTime' => mktime() + 86400
195 $encryptedDocDetails= HCU_PayloadEncode($HB_ENV[
'Cu'], $noticeOptions);
197 $noticeOptions[
'noticeOnly'] = 1;
199 $encryptedDocDetailsNoticeOnly= HCU_PayloadEncode($HB_ENV[
'Cu'], $noticeOptions);
203 $termsURLRPT = $HB_ENV[
'homebankingpath'] .
'/hcuViewNotice.prg?cu=' . $HB_ENV[
'cu'] .
'&x=' . urlencode($encryptedDocDetails);
206 $termsURLNoticeOnly = $HB_ENV[
'homebankingpath'] .
'/hcuViewNotice.prg?cu=' . $HB_ENV[
'cu'] .
'&x=' . urlencode($encryptedDocDetailsNoticeOnly);
209 $hasTermsPopupRPT = $noticeOption[
"notice_popup"] ? true :
false;
211 $termsButtonText = $noticeOption[
"notice_linkdisplay"];
217 require_once(dirname(__FILE__) .
'/../includes/hcuPreContent.i');
222 $monthsToSchedule = 12;
227 $startScheduleDate = mktime(0, 0, 0, date(
'n'), date(
'd') + 1);
231 $endScheduleDate = mktime(0, 0, 0, date(
'n') + $monthsToSchedule);
236 $perTransactionLimits = array(
238 FEATURE_EXTERNAL_TRANSFERS,
239 FEATURE_M2M_TRANSFERS,
240 FEATURE_ACH_PAYMENTS,
241 FEATURE_ACH_COLLECTIONS
243 $perTransactionAmounts = array();
245 foreach ($perTransactionLimits as $key => $value) {
246 $permissionInputs = array(
"feature" => $value);
247 $limits = Perm_GetValidationLimits( $dbh, $HB_ENV, $permissionInputs );
249 if ($limits ===
false) {
250 $perTransactionAmounts[$value] = 0;
252 $perTransactionAmounts[$value] = floatval( $limits[
"amount_per_transaction"] );
257 <style type=
"text/css">
258 .hcu-cursor-pointer {
277 .account_cell_value {
284 @media only screen and (max-width: 500px) {
290 .account_cell_value {
295 @media (max-width: 767px) {
300 @media (min-width: 767px) {
301 .local-sm-
auto-width {
305 #formSchedule .field-label-wrapper { padding: 5px 5px 5px 20px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; } 306 #formSchedule .field-label-wrapper label { display: block; padding: 10px 0 6px 4px; color: #333333; font-size:1.2em; margin-left: -10px; width: 100%;} 307 #formSchedule .field-label-wrapper label hr { z-index: 0; display:inline-block; width: 100%; position:relative; top:-24px;background-color:#000000;} 310 #hcuCalendarSchedule { 313 margin: 10px 0 0 0px;
316 #hcuCalendarSchedule .k-content { 319 #hcuCalendarSchedule, 320 #hcuCalendarSchedule .k-content, 321 #hcuCalendarSchedule .k-header, 322 #hcuCalendarSchedule th, 323 #hcuCalendarSchedule .k-link, 324 #hcuCalendarSchedule .k-state-focused { 327 #hcuCalendarSchedule td.k-state-selected { 328 background: transparent;
330 #hcuCalendarSchedule .k-state-selected .k-link, 331 #hcuCalendarSchedule .k-state-selected .k-link .k-state-selected { 335 #hcuCalendarSchedule .k-state-hover { 336 background: transparent;
337 border-color: transparent;
340 #hcuCalendarSchedule .k-content .k-state-hover, 341 #hcuCalendarSchedule .k-content .k-state-focused { 345 #hcuCalendarSchedule .k-state-selected, #hcuCalendarSchedule .k-state-selected.k-state-focused 351 #hcuCalendarSchedule .k-content .k-link { 357 #hcuCalendarSchedule th { 361 #hcuCalendarSchedule td.k-other-month .k-link { 364 #hcuCalendarSchedule th, 365 #hcuCalendarSchedule td { 369 #hcuTableScheduled tbody tr:hover { 374 margin: 10px 0 0 0px;
377 #hcuCalendarSchedule .calDateBox { 381 #hcuCalendarSchedule .calDateBox .calDate { 382 border-top: 2px solid red;
384 #hcuCalendarSchedule .k-state-selected .calDateBox .calDate { 385 border-top: 2px solid #70c114;
388 #hcuCalendarSchedule .calDate { 393 #hcuCalendarSchedule .calDateCnt { 412 <div
class=
"container-fluid" id=
"scheduledTransferScreen" style=
"display: none;">
414 <div
class=
"well well-sm col-xs-12">
415 <h3><?php echo $MC->msg(
"Scheduled Transactions", HCU_DISPLAY_AS_HTML); ?></h3>
418 <div
class=
"col-sm-3">
419 <a href role=
"button" href=
"#" class=
"k-button hcu-all-100" id=
"btnNewSchedule" 420 style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
421 <span
class=
"fa fa-plus"></span>
422 <span> <?php echo $MC->msg(
'Add Schedule', HCU_DISPLAY_AS_HTML); ?></span>
426 <div
class=
"col-sm-3">
427 <a href role=
"button" href=
"#" class=
"k-button hcu-all-100" id=
"btnGroupCalendar" 428 style=
"display: none; margin-top: 7.5px; margin-bottom: 7.5px;">
429 <span
class=
"fa fa-calendar"></span>
430 <span> <?php echo $MC->msg(
"Calendar View", HCU_DISPLAY_AS_HTML); ?></span>
433 <a href role=
"button" href=
"#" class=
"k-button hcu-all-100" id=
"btnGroupList" 434 style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
435 <span
class=
"fa fa-list-alt"></span>
436 <span> <?php echo $MC->msg(
"List View", HCU_DISPLAY_AS_HTML); ?></span>
441 <div
class=
"row" style=
"margin-top: 15px;">
442 <div
class=
"col-xs-12">
443 <div
class=
"" id=
"hcuCalendarSchedule"></div>
447 <div
class=
"row" style=
"margin-top: 15px;">
448 <div
class=
"col-xs-12">
449 <div
class=
"" id=
"hcuTableScheduled"></div>
457 <div
id=
"editWindow" name=
"editWindow" style=
"display: none;" class=
"container-fluid"><!-- DISPLAY NONE -->
458 <div
id=
'editErrors'></div>
459 <div
class=
"well well-sm col-sm-12">
461 <form
id=
"formSchedule" name=
"formSchedule">
462 <input type=
'hidden' name=
'txFromMember'> <?php
463 <input type=
'hidden' name=
'txToMember'>
464 <!-- FROM ACCOUNT -->
465 <fieldset style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
466 <div
class=
"col-xs-12">
467 <label
for=
"transferFrom"><?php echo $MC->msg(
'From', HCU_DISPLAY_AS_HTML); ?></label>
468 <input
id=
"transferFrom" class=
"distinctAcct hcu-all-100" name=
"transferFrom" 470 data-required-msg=
"<?php echo $MC->msg('Select From', HCU_DISPLAY_AS_HTML);?>" 471 data-role=
"dropdownlist" 472 data-value-field=
"acctValue" 473 data-text-field=
"acctText" 475 source: localSourceAcctListAry, 476 value: selectedSchedule.txFromSuffix, 479 events: {change: changeAccount}" />
480 <div data-bind=
"visible: isUpdate">
481 <div
class=
"col-sm-12" >
482 <div
class=
"static-control-label" data-bind=
"text:selectedSchedule.txFromDesc"></div>
485 <span
class=
"k-invalid-msg" data-
for=
"transferFrom" title=
"">
486 <span
class=
"k-icon k-warning"></span>
492 <fieldset style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
493 <div
class=
"col-xs-12">
494 <label
for=
"transferTo"><?php echo $MC->msg(
'To', HCU_DISPLAY_AS_HTML); ?></label>
495 <input
id=
"transferTo" class=
"distinctAcct hcu-all-100" name=
"transferTo" 497 homecu-distinct=
"distinctAcct" 498 data-required-msg=
"<?php echo $MC->msg('Select To', HCU_DISPLAY_AS_HTML);?>" 499 data-homecuCustomDistinct-msg=
" 500 <?php echo $MC->msg('Selected the Same Accounts', HCU_DISPLAY_AS_HTML); ?>" 501 data-role=
"dropdownlist" 502 data-value-field=
"acctValue" 503 data-text-field=
"acctText" 504 data-
auto-bind=
"false" 506 source: toAcctDataSource, 507 value: selectedSchedule.txToSuffix, 508 enabled: hasToRecords, 510 events: {change: changeAccount}" />
511 <div data-bind=
"visible: isUpdate">
512 <div
class=
"col-sm-12" >
513 <div
class=
"static-control-label" data-bind=
"text:selectedSchedule.txToDesc"></div>
516 <span
class=
"k-invalid-msg" data-
for=
"transferTo" title=
"">
517 <span
class=
"k-icon k-warning"></span>
522 <fieldset style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
524 <div
class=
"col-xs-12">
525 <label
for=
"transferAmount"><?php echo $MC->msg(
'Amount', HCU_DISPLAY_AS_HTML); ?></label>
526 <input
id=
"transferAmount" class=
"hcu-all-100" name=
"transferAmount" type=
"number" 528 data-required-msg=
"<?php echo $MC->msg('Enter Amount', HCU_DISPLAY_AS_HTML);?>" 529 data-role=
"numerictextbox" 532 data-spinners=
"false" 536 value: selectedSchedule.txAmount, 537 events: {change: change}" />
538 <span
class=
"k-invalid-msg" data-
for=
"transferAmount" title=
"">
539 <span
class=
"k-icon k-warning"></span>
544 <fieldset style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
546 <div
class=
"col-xs-12">
547 <label
for=
"transferFrequency"><?php echo $MC->msg(
'Repeat', HCU_DISPLAY_AS_HTML); ?></label>
548 <input
class=
"hcu-all-100" id=
"transferFrequency" name=
"transferFrequency" required
549 data-role=
"dropdownlist" 550 data-value-field=
"value" 551 data-text-field=
"text" 553 source: localSourceFreqListAry, 554 value: selectedSchedule.txFrequency, 555 events: {change: changeFrequency}" />
556 <span
class=
"k-invalid-msg" data-
for=
"transferFrequency" title=
"">
557 <span
class=
"k-icon k-warning"></span>
562 <fieldset style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
564 <div
class=
"col-xs-12 col-sm-6">
565 <label
for=
"transferOnDate"><?php echo $MC->msg(
'Transfer On', HCU_DISPLAY_AS_HTML); ?></label>
566 <input
class=
"hcu-all-100" id=
"transferOnDate" name=
"transferOnDate" type=
"text" 567 placeholder=
"eg. MM/DD/YYYY" 570 homecu-dategtvalue=
"<?php echo date('m/d/Y'); ?>" 572 <?php echo $MC->msg('Transfer On', HCU_DISPLAY_AS_HTML) ?>: 573 <?php echo $MC->msg('is a Required Field', HCU_DISPLAY_AS_HTML); ?>" 574 data-homecuCustomMatch-msg=
" 575 <?php echo $MC->msg('Transfer On', HCU_DISPLAY_AS_HTML) ?>: 576 <?php echo $MC->msg('is not a valid date', HCU_DISPLAY_AS_HTML); ?>" 577 data-homecuCustomDateGTValue-msg=
" 578 <?php echo $MC->msg('Transfer On', HCU_DISPLAY_AS_HTML) ?>: 579 <?php echo $MC->msg('must be future date', HCU_DISPLAY_AS_HTML); ?>" 580 data-role=
"datepicker" 581 data-format=
"MM/dd/yyyy" 583 value: selectedSchedule.txDateStart, 584 events: {change: change}" />
585 <span
class=
"k-invalid-msg" data-
for=
"transferOnDate" title=
"">
586 <span
class=
"k-icon k-warning"></span>
590 <div
class=
"col-xs-12 col-sm-6">
591 <label> </label>
592 <button
class=
"hcu-all-100 k-button" id=
"transferSkip" 594 disabled: disableSkip, 595 events: { click: scheduleSkip } 597 <?php echo $MC->msg(
'Skip Transaction', HCU_DISPLAY_AS_HTML); ?>
602 <fieldset style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
603 <!-- CONTINUE UNTIL -->
604 <div
class=
"col-xs-12" 605 data-bind=
"visible: isRepeat">
606 <input
class=
"hcu-all-100" id=
"transferContUntil" name=
"transferContUntil" 607 data-role=
"dropdownlist" 608 data-value-field=
"value" 609 data-text-field=
"text" 611 source: localSourceContListAry, 612 value: selectedSchedule.txContinue, 613 events: {change: changeContUntil}" />
617 <fieldset style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
619 <div
class=
"col-xs-12" 620 data-bind=
"visible: showContDate">
621 <input
class=
" hcu-all-100" type=
"text" id=
"transferRptUntilDate" name=
"transferRptUntilDate" 622 placeholder=
"eg. MM/DD/YYYY" 624 homecu-dategtvalue=
"transferOnDate" 625 homecu-dategttype=
"field" 626 data-required-msg=
"<?php echo $MC->msg('Continue Until must be entered', HCU_DISPLAY_AS_HTML); ?>" 627 data-homecuCustomMatch-msg=
"<?php echo $MC->msg('Transfer Continue Until', HCU_DISPLAY_AS_HTML) . ' ' . $MC->msg('is not a valid date', HCU_DISPLAY_AS_HTML); ?>" 628 data-homecuCustomDateGTValue-msg=
"<?php echo $MC->msg('Stop date after transfer', HCU_DISPLAY_AS_HTML); ?>" 629 data-role=
"datepicker" 630 data-format=
"MM/dd/yyyy" 632 value: selectedSchedule.txDateEnd, 633 events: { change: change }" />
634 <span
class=
"k-invalid-msg" data-
for=
"transferRptUntilDate" title=
"">
635 <span
class=
"k-icon k-warning"></span>
640 <fieldset style=
"margin-top: 7.5px; margin-bottom: 7.5px;">
641 <!-- ACTIVE STATUS-->
642 <div
class=
"col-xs-12" data-bind=
"visible: isUpdate">
643 <label
for=
"transferActive">Status</label>
644 <input
class=
"hcu-all-100" id=
'transferActive' name=
'transferActive' 645 data-role=
"dropdownlist" 646 data-value-field=
"value" 647 data-text-field=
"text" 649 source: localScheduleStatusAry, 650 value: selectedSchedule.txStatus, 651 events: { change: changeStatus }" />
652 <span
class=
"k-invalid-msg" data-
for=
"transferActive" title=
"">
653 <span
class=
"k-icon k-warning"></span>
659 <div
class=
"hcu-template">
660 <div
class=
"hcu-edit-buttons k-state-default">
661 <span
class=
"hcu-icon-delete">
662 <a href=
"##" id=
"lnkDelete" 665 events:{ click: scheduleDelete, enabled: selectedSchedule.txId }">
666 <i
class=
"fa fa-trash fa-lg"></i>
669 <a href=
"##" id=
"lnkCancel" style=
"" 670 data-bind=
"events:{ click: scheduleCancel }"><?php echo $MC->msg(
"Cancel", HCU_DISPLAY_AS_HTML); ?></a>
672 <a href=
"##" id=
"btnUpdate" class=
"k-button k-primary" 674 events:{ click: scheduleSave }">
675 <i
class=
"fa fa-check fa-lg"></i><?php echo $MC->msg(
"Update", HCU_DISPLAY_AS_HTML); ?>
680 <div
id=
"hcuDiscard">
681 <p><?php echo $MC->msg(
"Scheduled Transaction Changed", HCU_DISPLAY_AS_HTML); ?></p>
682 <p><?php echo $MC->msg(
"ACH Discard Changes?", HCU_DISPLAY_AS_HTML); ?></p>
684 <div
class=
"" id=
"hcuDelete">
685 <p><?php echo $MC->msg(
"Scheduled Transaction Deleted", HCU_DISPLAY_AS_HTML); ?> </p>
686 <p><?php echo $MC->msg(
"ACH Continue", HCU_DISPLAY_AS_HTML); ?></p>
688 <div
class=
"" id=
"hcuSkip">
689 <p><?php echo $MC->msg(
"Skip Transaction Msg", HCU_DISPLAY_AS_HTML); ?> </p>
690 <p><?php echo $MC->msg(
"Skip Transaction Confirm", HCU_DISPLAY_AS_HTML); ?></p>
692 <div
id=
'gridToolbar' style=
"display: none;">
693 <label
class=
"filter-label" for=
"filter">Filter Transactions:</label><input type=
"search" id=
"filter" style=
"width: 100px; margin-left: 5px;"/>
699 var dsScheduled =
null;
700 var toAcctDataSource =
null;
701 var viewScheduled =
null;
703 var wndDiscard =
null;
704 var wndDelete =
null;
708 var dateSelected =
null;
709 var currentView =
null;
710 var scheduleTip =
null;
712 var window_stack = [];
713 var scheduleDates = [];
714 var scheduledRecords = [];
715 var scheduledDatesRecords = [];
717 var sourceFreqListAry = <?php echo HCU_JsonEncode($transferFrequencyList);?>;
718 var sourceContListAry = <?php echo HCU_JsonEncode($transferContinueList);?>;
719 var scheduleStatusAry = <?php echo HCU_JsonEncode($transferScheduleStatus); ?>;
720 var sourceAcctListAry = <?php echo HCU_JsonEncode($acctFromListAry); ?>;
721 var targetAcctListAry = <?php echo HCU_JsonEncode($acctToListAry); ?>;
722 var perTransactionAmounts = <?php echo HCU_JsonEncode($perTransactionAmounts); ?>;
725 var terms = <?php echo HCU_JsonEncode($hasTermsRPT && $hasTermsPopupRPT); ?>;
727 var today =
new Date();
730 var mbl_col_template =
"";
732 function getAcctSeg(pField, pSeg) {
733 var field_name = pField ===
'from' ?
'transferFrom' :
'transferTo';
736 var list_field = $(
"#" + field_name).data(
"kendoDropDownList");
737 var data_item = list_field.dataItem(list_field.select());
738 var data_value = data_item.acctValue;
739 var data_segments = data_value.split(
"|");
741 if (data_value !== undefined) {
744 value = data_segments[0];
747 value = data_segments[1];
750 value = data_segments[2];
752 case "permissionAcct":
753 value = data_item[
"permissionAcct"]; <?php
761 function callMe(pValue) {
763 var lookupDate = kendo.toString(pValue.date,
'MM/dd/yyyy');
764 if (scheduledDatesRecords[lookupDate]) {
765 var scheduledItems = scheduledDatesRecords[lookupDate];
766 return scheduledItems.length;
772 function ShowToolTip(e) {
773 return $(e.target).text().trim();
776 function setDataAttributes(showContinue, showEnd) {
778 $(
"label[for='transferOnDate']").text(
"<?php echo $MC->msg('Transfer Start On', HCU_DISPLAY_AS_JS); ?>");
779 $(
"#transferOnDate").attr(
"data-required-msg",
780 "<?php echo $MC->msg('Transfer Start On', HCU_DISPLAY_AS_HTML) ?>: " +
781 "<?php echo $MC->msg('is a Required Field', HCU_DISPLAY_AS_HTML); ?>");
782 $(
"#transferOnDate").attr(
"data-homecuCustomMatch-msg",
783 "<?php echo $MC->msg('Transfer Start On', HCU_DISPLAY_AS_HTML) ?>: " +
784 "<?php echo $MC->msg('is not a valid date', HCU_DISPLAY_AS_HTML); ?>");
785 $(
"#transferOnDate").attr(
"data-homecuCustomDateGTValue-msg",
786 "<?php echo $MC->msg('Transfer Start On', HCU_DISPLAY_AS_HTML) ?>: " +
787 "<?php echo $MC->msg('must be future date', HCU_DISPLAY_AS_HTML); ?>");
789 $(
"label[for='transferOnDate']").text(
"<?php echo $MC->msg('Transfer On', HCU_DISPLAY_AS_JS); ?>");
790 $(
"#transferOnDate").attr(
"data-required-msg",
791 "<?php echo $MC->msg('Transfer On', HCU_DISPLAY_AS_HTML) ?>: " +
792 "<?php echo $MC->msg('is a Required Field', HCU_DISPLAY_AS_HTML); ?>");
793 $(
"#transferOnDate").attr(
"data-homecuCustomMatch-msg",
794 "<?php echo $MC->msg('Transfer On', HCU_DISPLAY_AS_HTML) ?>: " +
795 "<?php echo $MC->msg('is not a valid date', HCU_DISPLAY_AS_HTML); ?>");
796 $(
"#transferOnDate").attr(
"data-homecuCustomDateGTValue-msg",
797 "<?php echo $MC->msg('Transfer On', HCU_DISPLAY_AS_HTML) ?>: " +
798 "<?php echo $MC->msg('must be future date', HCU_DISPLAY_AS_HTML); ?>");
802 $(
"#transferRptUntilDate").attr(
"required",
true);
804 $(
"#transferRptUntilDate").removeAttr(
"required");
805 $(
"#transferRptUntilDate").data(
"kendoDatePicker").value(
"");
808 var today =
new Date();
809 var tomorrow =
new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);
810 var dayafter =
new Date(today.getFullYear(), today.getMonth(), today.getDate() + 2);
812 $(
"#transferOnDate").data(
"kendoDatePicker").min(tomorrow);
813 $(
"#transferRptUntilDate").data(
"kendoDatePicker").min(dayafter);
820 function setDataValues() {
822 var dateStart = viewScheduled.selectedSchedule.txDateStart;
823 var dateFormat = kendo.toString(
new Date(dateStart),
"MM/dd/yyyy");
824 $(
"#transferOnDate").val(dateFormat);
827 function openEditSchedule() {
828 $.homecuValidator.settings.formStatusField =
"editErrors";
829 $.homecuValidator.hideMessage();
830 $.homecuValidator.setup({
831 formValidate:
"formSchedule",
832 validateOnClick:
'btnUpdate',
833 formErrorTitle:
"<?php echo $MC->msg("Error Occurred
", HCU_DISPLAY_AS_JS) ?>",
834 formStatusField:
"editErrors"});
835 kendo.bind(
'#editWindow', viewScheduled);
838 setDataAttributes(viewScheduled.isRepeat, viewScheduled.showContDate);
841 wnd.title(viewScheduled.isNew ?
'<?php echo $MC->msg("New Scheduled Transaction"); ?>' :
'<?php echo $MC->msg("Edit Scheduled Transaction"); ?>');
846 function changeScheduledView() {
847 dateSelected = kendo.toString(this.value(),
'MM/dd/yyyy');
848 var dateFormat = kendo.toString(this.value(),
'D');
850 scheduledDatesRecords[dateSelected] ?
851 scheduledDatesRecords[dateSelected] :
853 var dateFilters = [];
854 for (var i = 0; i < dateItems.length; i++) {
862 if (dateFilters.length > 0) {
863 $(
"#hcuTableScheduled").data(
"kendoGrid").dataSource.filter({
868 $(
"#hcuTableScheduled").data(
"kendoGrid").dataSource.filter({
877 function SwitchView(showView) {
878 if (showView ==
"list") {
879 $(
"#hcuCalendarSchedule").hide();
881 $(
"#filter").data(
"kendoDropDownList").select(0);
883 }
else if (showView ==
"calendar") {
884 $(
"#hcuCalendarSchedule").show();
885 $(
"#hcuCalendarSchedule").data(
"kendoCalendar").trigger(
"change");
890 allFilters.push({ field:
"txStatus",
operator:
"eq", value:
'A' });
891 allFilters.push({ field:
"txApproved",
operator:
"eq", value:
'10' });
893 var currentDate = kendo.toString(
new Date(),
"MM/dd/yyyy");
894 allFilters.push({ field:
"txDateNext",
operator:
"gte", value: currentDate });
896 $(
"#hcuTableScheduled").data(
"kendoGrid").dataSource.filter({ logic:
"and", filters: allFilters});
899 function returnUTCDate(localDate) {
900 return Date.UTC(localDate.getFullYear(), localDate.getMonth(), localDate.getDate());
903 function BuildCalendar() {
906 if ($(
'#hcuCalendarSchedule').html() !==
'') {
907 var calendar = $(
"#hcuCalendarSchedule").data(
"kendoCalendar");
908 curDate = calendar.current();
910 $(
"#hcuCalendarSchedule").html(
'');
913 $(
'#hcuCalendarSchedule').kendoCalendar({
914 dates: scheduledDates,
916 min:
new Date(<?php echo date(
'Y', $startScheduleDate) .
', ' . (date(
'm', $startScheduleDate) - 1) .
', ' . date(
'd', $startScheduleDate); ?>),
917 max:
new Date(<?php echo date(
'Y', $endScheduleDate) .
', ' . (date(
'm', $endScheduleDate) - 1) .
', ' . date(
'd', $endScheduleDate); ?>),
921 '# if ($.inArray(returnUTCDate(data.date), data.dates) != -1) { #' +
922 '<div class="calDateBox">' +
923 '<div class="calDate">#= data.value #</div>' +
924 '<div class="calDateCnt">#= callMe(data) #</div>' +
928 '<div class="calDate">#= data.value #</div>' +
929 '<div class="calDateCnt"></div>' +
933 change: changeScheduledView,
938 if ($(
'#btnGroupCalendar').parent().hasClass(
'k-state-selected')) {
939 var calendar = $(
"#hcuCalendarSchedule").data(
"kendoCalendar");
941 curDate = calendar.navigateDown(curDate);
945 $(
'#hcuCalendarSchedule').data(
'kendoCalendar').trigger(
'change');
948 function InitDataSources() {
950 dsScheduled =
new kendo.data.DataSource ({
954 serverFiltering:
false,
960 url:
'hcuTransfer.data',
962 contentType:
'application/json',
965 action:
'readSchedule',
966 cu:
'<?php echo $HB_ENV['cu
']; ?>' 972 url:
'hcuTransfer.data?cu=<?php echo $HB_ENV['cu
']; ?>',
973 contentType:
"application/x-www-form-urlencoded",
977 action:
'updateSchedule' 982 url:
'hcuTransfer.data?cu=<?php echo $HB_ENV['cu
']; ?>',
983 contentType:
"application/x-www-form-urlencoded",
987 action:
'createSchedule' 992 url:
'hcuTransfer.data?cu=<?php echo $HB_ENV['cu
']; ?>',
993 contentType:
"application/x-www-form-urlencoded",
997 action:
'deleteSchedule' 1000 parameterMap:
function(data, operation) {
1001 ShowWaitWindow(
'Loading Data');
1003 if (operation ===
'read') {
1004 return {form:
'schedule', action:
'readSchedule', cu:
'<?php echo $HB_ENV['cu
']; ?>'};
1005 }
else if (operation ===
'create' || operation ===
'update') {
1006 if (data.txDateStart !==
null) {
1007 data.txDateStart = kendo.toString(data.txDateStart,
"MM/dd/yyyy");
1009 if (data.txDateEnd !==
null) {
1010 data.txDateEnd = kendo.toString(data.txDateEnd,
"MM/dd/yyyy");
1012 data[
'txContinue'] = $(
'#transferContUntil').val();
1014 if (operation ==
'update' && txSkip) {
1015 data.action =
"skipSchedule";
1019 data.txFromMember = $(
"#transferFrom").data(
"kendoDropDownList").dataItem().permissionAcct;
1021 if (operation ==
'create') {
1022 data.txToMember = $(
"#transferTo").data(
"kendoDropDownList").dataItem().permissionAcct;
1027 }
else if (operation ===
'destroy') {
1032 requestStart:
function(request) {
1033 dsAction = request.type;
1035 requestEnd:
function(response) {
1038 if (response.hasOwnProperty(
"response")) {
1039 if (response.response.hasOwnProperty(
"Results")) {
1041 var results = response.response.Results[0];
1042 if (results.homecuErrors.length > 0) {
1043 throw results.homecuErrors;
1045 if (response.type !=
"read") {
1046 $.homecuValidator.settings.formStatusField =
"formStatus";
1047 $.homecuValidator.displayMessage(results.homecuInfo);
1052 throw "Error Parsing Server";
1055 throw "Error Parsing Server";
1058 if (!response.hasOwnProperty(
"type") || response.type ==
"read") {
1059 $.homecuValidator.settings.formStatusField =
"formStatus";
1060 $.homecuValidator.displayMessage(errors, $.homecuValidator.settings.statusError);
1062 $.homecuValidator.settings.formStatusField =
"editErrors";
1063 $.homecuValidator.displayMessage(errors, $.homecuValidator.settings.statusError);
1068 parse:
function(response) {
1070 var resultData =
null;
1072 if (response.hasOwnProperty(
"Results")) {
1073 results = response.Results[0];
1074 resultData = results.homecuData;
1077 if (results.homecuErrors.length > 0) {
1078 if (dsAction ==
"create") {
1079 return viewScheduled.selectedSchedule;
1084 if (resultData == undefined || resultData ==
null) {
1088 scheduledDates = resultData.scheduleDates ?
1089 resultData.scheduleDates :
1092 scheduledDatesRecords = resultData.scheduleOccur ?
1093 resultData.scheduleOccur :
1096 scheduledRecords = resultData.scheduleItems ?
1097 resultData.scheduleItems :
1100 $(
"#hcuTableScheduled").data(
'kendoGrid').dataSource.data(scheduledRecords);
1101 $(
"#hcuTableScheduled").data(
'kendoGrid').dataSource.sort({
1102 field:
"txDateNext",
1106 if (window_stack.length > 0) {
1108 viewScheduled.selectedSchedule.dirty =
false;
1109 viewScheduled.set(
"selectedSchedule",
null);
1110 viewScheduled.set(
"hasChanges",
false);
1116 SwitchView(currentView);
1118 return scheduledRecords;
1123 txId: {type:
'number'},
1124 txFromSuffix: {type:
'string'},
1125 txFromDesc: {type:
'string'},
1126 txFromMember: {type:
'string'},
1127 txToSuffix: {type:
'string'},
1128 txToDesc: {type:
'string'},
1129 txToMember: {type:
'string'},
1130 txAmount: {type:
'number', defaultValue:
null},
1131 txFrequency: {type:
'string', defaultValue:
'OneTime'},
1132 txDateStart: {type:
'date', defaultValue:
new Date(<?php echo date(
'Y') .
', ' . (date(
'n') - 1) .
', ' . (date(
'j') + 1); ?>)},
1133 txDateNext: {type:
'date', defaultValue:
new Date(<?php echo date(
'Y') .
', ' . (date(
'n') - 1) .
', ' . (date(
'j') + 1); ?>)},
1134 txDateEnd: {type:
'date', defaultValue:
new Date(<?php echo date(
'Y') .
', ' . (date(
'n') - 1) .
', ' . (date(
'j') + 2); ?>)},
1135 txStatus: {type:
'string', defaultValue:
'A'},
1136 txContinue: {type:
'string', defaultValue:
'continuous' }
1142 toAcctDataSource =
new kendo.data.DataSource({
1146 url:
'hcuTransfer.data?cu=<?php echo $HB_ENV['cu
']; ?>&action=GetTransferToOptions',
1150 beforeSend:
function() {
1151 ShowWaitWindow(
'<?php echo $MC->msg("Please Wait", HCU_DISPLAY_AS_JS); ?>...');
1154 success:
function(result) {
1156 error:
function(result) {
1159 parameterMap:
function(data, operation) {
1160 var returnString = $(
'#formSchedule').serialize();
1161 return returnString;
1165 errors:
function(response) {
1170 if (response[
'Results']) {
1172 if (response[
'Results'][0]) {
1174 if (response[
'Results'][0][
'homecuErrors']) {
1175 if (response[
'Results'][0][
'homecuErrors'].length > 0) {
1176 return {error: response[
'Results'][0][
'homecuErrors']};
1180 throw "<?php echo $MC->msg('Error parsing server', HCU_DISPLAY_AS_JS) ?>";
1183 throw "<?php echo $MC->msg('Error parsing server', HCU_DISPLAY_AS_JS) ?>";
1186 return {error: err};
1190 parse:
function(response) {
1195 data:
function (response) {
1196 var returnVal = response ==
null || response.Results ==
null || response.Results[0] ==
null ? [] : response.Results[0].homecuData;
1198 viewScheduled.set(
"hasToRecords", returnVal !=
null && returnVal.length > 0);
1203 error:
function(e) {
1208 if (e.errors.error.length > 0) {
1209 $.homecuValidator.displayMessage(e.errors.error, $.homecuValidator.settings.statusError);
1213 $.homecuValidator.displayMessage(
'<?php echo $MC->msg('Transfer Error
', HCU_DISPLAY_AS_JS); ?>', $.homecuValidator.settings.statusError);
1217 requestEnd:
function (e) {
1224 function InitDataViews() {
1226 "<div class=\"col-xs-4\"><strong><?php echo $MC->msg('Type', HCU_DISPLAY_AS_JS); ?>:</strong></div>" +
1227 "<div class=\"col-xs-8\">#= txFeature#</div>";
1230 "<div class=\"col-xs-4\"><strong><?php echo $MC->msg('From', HCU_DISPLAY_AS_JS); ?>:</strong></div>" +
1231 "<div class=\"col-xs-8 showEllipsis\">#= txFromDesc #</div>";
1234 "<div class=\"col-xs-4\"><strong><?php echo $MC->msg('To', HCU_DISPLAY_AS_JS); ?>:</strong></div>" +
1235 "<div class=\"col-xs-8 showEllipsis\">#= txToDesc #</div>";
1238 "<div class=\"col-xs-4\"><strong><?php echo $MC->msg('Amount', HCU_DISPLAY_AS_JS); ?>:</strong></div>" +
1239 "<div class=\"col-xs-8 showEllipsis\">#= kendo.toString(txAmount, 'c') #</div>";
1242 "<div class=\"col-xs-4\"><strong><?php echo $MC->msg('Next Date', HCU_DISPLAY_AS_JS); ?>:</strong></div>" +
1243 "<div class=\"col-xs-8 showEllipsis\">#= (txDateNext == null || txDateNext == \"\") ? \"\" : kendo.toString(kendo.parseDate(txDateNext, \"yyyy-MM-dd\"), \"MM/dd/yyyy\") #</div>";
1246 "<div class=\"col-xs-4\"><strong><?php echo $MC->msg('Status', HCU_DISPLAY_AS_JS); ?></strong></div>" +
1247 "<div class=\"col-xs-8 showEllipsis\">#if(txApproved == 99){#<span class=\"hcu-activity-fg-cancelled\"><?php echo $MC->msg("Cancelled
") ?></span>#}else if(txApproved == 90){#<span class=\"hcu-activity-fg-declined\"><?php echo $MC->msg("Declined
") ?></span>#}else if(txApproved == 10 && txStatus == \"A\" && txFrequency == \"OneTime\" && txFrequencyCount == 1){#<span class=\"hcu-activity-fg-approved\"><?php echo $MC->msg("Completed
") ?></span>#}else if(txApproved == 10 && txStatus == \"A\"){#<span class=\"hcu-activity-fg-approved\"><?php echo $MC->msg("Active
") ?></span>#}else if(txApproved == 10 && txStatus == \"I\"){#<span class=\"hcu-activity-fg-declined\"><?php echo $MC->msg("Inactive
") ?></span>#}else{#<span class=\"hcu-activity-fg-awaiting\"><?php echo $MC->msg("Pending
") ?></span>#}#</div>";
1250 $(
'#hcuTableScheduled').kendoGrid({
1255 toolbar: kendo.template($(
'#gridToolbar').html()),
1257 {field:
'txFeature',
1258 title:
'<?php echo $MC->msg('Type
', HCU_DISPLAY_AS_JS); ?>',
1259 attributes: {
"class":
"showEllipsis" },
1260 template:
'#= txFeature#',
1263 {field:
'txFromDesc',
1264 title:
'<?php echo $MC->msg('From
', HCU_DISPLAY_AS_JS); ?>',
1265 attributes: {
"class":
"showEllipsis" },
1269 title:
'<?php echo $MC->msg('To
', HCU_DISPLAY_AS_JS); ?>',
1270 attributes: {
"class":
"showEllipsis" },
1275 title:
'<?php echo $MC->msg('Amount
', HCU_DISPLAY_AS_JS); ?>',
1279 {field:
'txDateNext',
1280 title:
'<?php echo $MC->msg('Next Date
', HCU_DISPLAY_AS_JS); ?>',
1281 template:
'#= (txDateNext == null || txDateNext == "") ? "" : kendo.toString(kendo.parseDate(txDateNext, "yyyy-MM-dd"), "MM/dd/yyyy") #',
1286 template:
"#if(txFrequency == \"OneTime\"){#<span class=\"fa fa-calendar-o\"></span>#}else if(txContinue == \"continuous\"){#<span class=\"fa fa-retweet\"></span>#}else{#<span class=\"fa fa-calendar-times-o\"></span>#}#",
1287 minScreenWidth: 1200
1290 values: scheduleStatusAry,
1291 title:
'<?php echo $MC->msg('Status
', HCU_DISPLAY_AS_JS); ?>',
1293 template:
"#if(txApproved == 99){#<span class=\"hcu-activity-fg-cancelled\"><?php echo $MC->msg("Cancelled
") ?></span>#}else if(txApproved == 90){#<span class=\"hcu-activity-fg-declined\"><?php echo $MC->msg("Declined
") ?></span>#}else if(txApproved == 10 && txStatus == \"A\" && txFrequency == \"OneTime\" && txFrequencyCount == 1){#<span class=\"hcu-activity-fg-approved\"><?php echo $MC->msg("Completed
") ?></span>#}else if(txApproved == 10 && txStatus == \"A\"){#<span class=\"hcu-activity-fg-approved\"><?php echo $MC->msg("Active
") ?></span>#}else if(txApproved == 10 && txStatus == \"I\"){#<span class=\"hcu-activity-fg-declined\"><?php echo $MC->msg("Inactive
") ?></span>#}else{#<span class=\"hcu-activity-fg-awaiting\"><?php echo $MC->msg("Pending
") ?></span>#}#",
1294 minScreenWidth: 1200
1297 attributes: {
"class":
"hcu-bs-no-padding" },
1298 template: mbl_col_template
1301 change:
function(e) {
1303 var rowSelected = this.select();
1304 var rowItem = this.dataItem(rowSelected);
1305 var rowId = rowItem.txId;
1308 for (var i = 0; i < dsScheduled.data().length; i++) {
1309 var item = dsScheduled.data()[i];
1310 if (item.txId == rowId) {
1316 var rowSchedule = dsScheduled.data()[rowIndex];
1317 viewScheduled.setSelectedSchedule(rowSchedule);
1318 viewScheduled.showEditForm();
1320 this.select().removeClass(
"k-state-selected");
1326 { text:
"Active", value:
"Active" },
1327 { text:
"All", value:
"All" }
1330 var dropdown = $(
"#filter").kendoDropDownList({
1331 dataTextField:
"text",
1332 dataValueField:
"value",
1333 dataSource: filterdata,
1335 change:
function() {
1337 $(
"#hcuTableScheduled").data(
"kendoGrid").dataSource.filter([]);
1338 var value = this.value();
1339 var allFilters = [];
1341 if (value ==
'Active') {
1343 allFilters.push({ field:
"txStatus",
operator:
"eq", value:
'A' });
1344 allFilters.push({ field:
"txApproved",
operator:
"eq", value:
'10' });
1346 var currentDate = kendo.toString(
new Date(),
"MM/dd/yyyy");
1347 allFilters.push({ field:
"txDateNext",
operator:
"gte", value: currentDate });
1349 $(
"#hcuTableScheduled").data(
"kendoGrid").dataSource.filter({ logic:
"and", filters: allFilters});
1351 }
else if (value ==
'All') {
1352 $(
"#hcuTableScheduled").data(
"kendoGrid").dataSource.filter([]);
1357 viewScheduled = kendo.observable({
1358 localSourceAcctListAry: sourceAcctListAry,
1359 localSourceFreqListAry: sourceFreqListAry,
1360 localSourceContListAry: sourceContListAry,
1361 localScheduleStatusAry: scheduleStatusAry,
1362 sourceSchedule: dsScheduled,
1363 selectedSchedule:
null,
1365 showContDate:
false,
1370 hasToRecords:
false,
1372 previousApproved:
'',
1373 onetimeComplete:
false,
1374 toAcctDataSource: toAcctDataSource,
1375 setSelectedSchedule:
function(newSelectedItem) {
1377 this.
set(
'selectedSchedule', newSelectedItem);
1379 this.
set(
'isUpdate', (newSelectedItem.txId > 0));
1380 this.
set(
"isNew", (newSelectedItem.txId == 0));
1381 this.
set(
'hasChanges',
false);
1382 this.
set(
'previousStatus', newSelectedItem.txStatus);
1383 this.
set(
'previousApproved', newSelectedItem.txApproved);
1386 newSelectedItem.txFrequency ==
"OneTime" &&
1387 newSelectedItem.txFrequencyCount == 1;
1388 this.
set(
"onetimeComplete", completed);
1391 this.selectedSchedule.txId == 0 ||
1392 this.selectedSchedule.txStatus ==
'I';
1393 this.
set(
"disableSkip", disableSkip);
1396 this.selectedSchedule.txFrequency !==
"OneTime";
1398 this.selectedSchedule.txFrequency !==
"OneTime" &&
1399 this.selectedSchedule.txContinue !==
"continuous";
1401 this.
set(
'isRepeat', showContinue);
1402 this.
set(
'showContDate', showEnd);
1404 resetSelectedSchedule:
function() {
1405 this.
set(
"selectedSchedule",
null);
1406 this.
set(
"isNew",
false);
1407 this.
set(
"isUpdate",
false);
1408 this.
set(
"isRepeat",
false);
1409 this.
set(
"hasChanges",
false);
1410 this.
set(
"showContinue",
false);
1411 this.
set(
"previousStatus",
'');
1412 this.
set(
"previousApproved",
'');
1413 this.
set(
"onetimeComplete",
false);
1415 changeFrequency:
function(e) {
1417 this.selectedSchedule.txFrequency !==
"OneTime";
1419 this.selectedSchedule.txFrequency !==
"OneTime" &&
1420 this.selectedSchedule.txContinue !==
"continuous";
1422 this.
set(
'isRepeat', showContinue);
1423 this.
set(
'showContDate', showEnd);
1428 setDataAttributes(showContinue, showEnd);
1430 change:
function() {
1431 this.
set(
'hasChanges',
true);
1433 changeAccount:
function(e) {
1434 this.
set(
'hasChanges',
true);
1435 var dropdownID = e.sender.element[0].id;
1436 var dropdownVal = e.sender.value();
1437 var dataItem = e.sender.dataItem();
1438 if (dropdownID ==
"transferFrom") {
1439 $(
"[name='txFromMember']").val(dataItem.permissionAcct);
1440 this.selectedSchedule.txFromSuffix = dropdownVal;
1445 if (dropdownVal !=
"") {
1446 this.toAcctDataSource.read();
1448 this.
set(
"hasToRecords",
false);
1449 $(
"[name='txToMember']").val(
"");
1450 this.selectedSchedule.set(
"txToSuffix",
"");
1453 $(
"[name='txToMember']").val(dataItem.permissionAcct);
1454 this.selectedSchedule.txToSuffix = dropdownVal;
1457 changeStatus:
function(e) {
1460 changeContUntil:
function(e) {
1463 this.selectedSchedule.txContinue !==
"continuous";
1465 this.
set(
'showContDate', showEnd);
1466 this.selectedSchedule.txContinue = e.sender.value();
1469 setDataAttributes(this.isRepeat, this.showContDate);
1471 scheduleSave:
function(e) {
1472 if (this.hasChanges) {
1475 var from_acct_type =
"";
1476 var to_acct_type =
"";
1481 from_acct_type = getAcctSeg(
"from",
"type");
1482 to_acct_type = getAcctSeg(
"to",
"type");
1483 var to_acct_sfx = getAcctSeg(
"to",
"sfx");
1486 if (from_acct_type ===
'L' && to_acct_type ===
'L') {
1487 errors[errors.length] =
'<?php echo $MC->msg('Loan Add-on cannot payment
', HCU_DISPLAY_AS_JS); ?>';
1490 <?php
if (!array_key_exists(
'LC', $cuTransTypesAllowed)): ?>
1491 if (from_acct_type ===
'L' && to_acct_sfx ===
'CW') {
1492 errors[errors.length] =
'<?php echo $MC->msg('Loan Add-on cannot check withdrawal
', HCU_DISPLAY_AS_JS); ?>';
1496 var tf_list = $(
"#transferFrequency").data(
"kendoDropDownList");
1497 var tf_select = tf_list.select();
1499 if (tf_select > 0) {
1501 if (from_acct_type ===
'L' || to_acct_sfx ===
'CW') {
1502 errors[errors.length] =
"<?php echo $MC->msg('Repeating transfer not available', HCU_DISPLAY_AS_JS); ?>";
1507 if ($disallowTransfersToDiffAccount) { ?>
1508 var fromAcct = getAcctSeg (
'from',
'permissionAcct');
1509 var toAcct = getAcctSeg (
'to',
'permissionAcct');
1510 var typesRelevant = [
"D",
"L"];
1512 if (typesRelevant.indexOf(from_acct_type) != -1 && typesRelevant.indexOf(to_acct_type) != -1 && fromAcct != toAcct) {
1513 errors.push(
'<?php echo $MC->msg('Transfers between accounts are prohibited
', HCU_DISPLAY_AS_JS); ?>');
1520 if (this.selectedSchedule.txFeature ==
"External Transfer") {
1521 from_acct_type =
"X";
1522 }
else if (this.selectedSchedule.txFeature ==
"Member-To-Member Transfer") {
1523 from_acct_type =
"M";
1524 }
else if (this.selectedSchedule.txFeature ==
"Collection") {
1525 from_acct_type =
"AC";
1526 }
else if (this.selectedSchedule.txFeature ==
"Payment") {
1527 from_acct_type =
"AP";
1529 from_acct_type =
"";
1533 if (this.previousStatus ==
'I' || this.previousApproved !=
'10' || this.onetimeComplete) {
1534 errors[errors.length] =
'<?php echo $MC->msg('Cannot Update Transfer
', HCU_DISPLAY_AS_JS); ?>';
1539 var txAmount = $(
"#transferAmount").data(
"kendoNumericTextBox").value();
1542 if (from_acct_type ==
"X" || to_acct_type ==
"X") {
1543 txLimit = perTransactionAmounts.TRNEXT;
1544 }
else if (from_acct_type ==
"M" || to_acct_type ==
"M") {
1545 txLimit = perTransactionAmounts.TRNM2M;
1546 }
else if (from_acct_type ==
"AC") {
1547 txLimit = perTransactionAmounts.ACHCOL;
1548 }
else if (from_acct_type ==
"AP") {
1549 txLimit = perTransactionAmounts.ACHPMT;
1551 txLimit = perTransactionAmounts.TRN;
1554 if ( txAmount > txLimit ) {
1555 errors[errors.length] =
'<?php echo $MC->msg('Transfer Amount over allowed
', HCU_DISPLAY_AS_JS); ?>';
1558 if ($.homecuValidator.homecuValidate) {
1560 if (errors.length > 0) {
1562 $.homecuValidator.homecuResetMessage = $.homecuValidator.homecuValidate;
1563 $.homecuValidator.displayMessage(errors, $.homecuValidator.settings.statusError);
1564 $.homecuValidator.homecuResetMessage =
true;
1565 $.homecuValidator.homecuValidate =
false;
1569 this.selectedSchedule.dirty =
true;
1570 this.sourceSchedule.sync();
1575 scheduleCancel:
function(e) {
1576 if (this.hasChanges) {
1580 window_stack[window_stack.length-1].close();
1583 scheduleDelete:
function(e) {
1586 scheduleSkip:
function(e) {
1590 showEditForm:
function() {
1596 wnd = $(
'#editWindow').kendoWindow({
1601 title:
'<?php echo $MC->msg("Scheduled Transaction", HCU_DISPLAY_AS_JS); ?>',
1604 activate:
function() {
1605 var ow = $(
'#editWindow').data(
'kendoWindow');
1606 window_stack.push(ow);
1607 $(window).scrollTop(0);
1609 close:
function(e) {
1610 if (viewScheduled.hasChanges) {
1615 kendo.unbind($(
"#editWindow"));
1618 }).data(
'kendoWindow');
1620 wndDiscard = $(
"#hcuDiscard").kendoDialog({
1621 title:
'<?php echo $MC->msg("Discard Changes", HCU_DISPLAY_AS_JS); ?>',
1626 window_stack.push(
this);
1632 { text:
'<?php echo $MC->msg("No", HCU_DISPLAY_AS_JS); ?>',
1633 action:
function() {}
1636 text:
'<?php echo $MC->msg("Yes", HCU_DISPLAY_AS_JS); ?>', primary:
true,
1637 action:
function() {
1638 dsScheduled.cancelChanges();
1639 viewScheduled.resetSelectedSchedule();
1644 }).data(
"kendoDialog");
1646 wndDelete = $(
"#hcuDelete").kendoDialog({
1647 title:
'<?php echo $MC->msg("Delete Scheduled Transaction", HCU_DISPLAY_AS_JS); ?>',
1652 window_stack.push(
this);
1658 { text:
'<?php echo $MC->msg("No", HCU_DISPLAY_AS_JS); ?>',
1659 action:
function() {}
1662 text:
'<?php echo $MC->msg("Yes", HCU_DISPLAY_AS_JS); ?>', primary:
true,
1663 action:
function() {
1664 dsScheduled.remove(viewScheduled.selectedSchedule);
1669 }).data(
"kendoDialog");
1671 wndSkip = $(
"#hcuSkip").kendoDialog({
1672 title:
'<?php echo $MC->msg("Skip Transaction", HCU_DISPLAY_AS_JS); ?>',
1677 window_stack.push(
this);
1683 { text:
'<?php echo $MC->msg("No", HCU_DISPLAY_AS_JS); ?>',
1684 action:
function() {}
1687 text:
'<?php echo $MC->msg("Yes", HCU_DISPLAY_AS_JS); ?>', primary:
true,
1688 action:
function() {
1690 viewScheduled.selectedSchedule.dirty =
true;
1691 viewScheduled.sourceSchedule.sync();
1695 }).data(
"kendoDialog");
1698 jQuery.extend(jQuery.expr[
':'], {
1699 overflown: function (el) {
1700 return el.offsetHeight < el.scrollHeight || el.offsetWidth < el.scrollWidth;
1703 scheduleTip = homecuTooltip.defaults;
1704 scheduleTip.filter =
".showEllipsis:overflown";
1705 scheduleTip.content = ShowToolTip;
1706 $(
"#hcuTableScheduled").kendoTooltip(scheduleTip);
1708 $(
'#btnGroupCalendar').click(
function(e) {
1711 $(
'#btnGroupList').show();
1713 currentView =
"calendar";
1714 SwitchView(currentView);
1717 $(
'#btnGroupList').click(
function(e) {
1720 $(
'#btnGroupCalendar').show();
1722 currentView =
"list";
1723 SwitchView(currentView);
1726 $(
'#btnNewSchedule').click(
function(e) {
1729 var data = dsScheduled.data();
1730 var newItem = data[0];
1731 var calendar = $(
'#hcuCalendarSchedule').data(
'kendoCalendar');
1732 if (calendar.value()) {
1733 newItem.txDateStart = calendar.value();
1736 viewScheduled.resetSelectedSchedule();
1737 viewScheduled.setSelectedSchedule(newItem);
1742 var width = $(window).width();
1743 var grid = $(
"#hcuTableScheduled").data(
"kendoGrid");
1746 if ($(window).width() >= 768) {
1753 $(window).resize(
function() {
1754 width = $(window).width();
1764 function InitScreen() {
1769 $(
"#scheduledTransferScreen").show();
1775 $(document).ready(
function() {
1777 ShowNotice(
'<?php echo $termsURLRPT; ?>',
"<?php echo $termsLinkDisplayRPT ?>",
1785 var urlPage =
"hcuAccounts.prg";
1786 var urlRedirect =
"<?php echo $HB_ENV["homebankingpath
"] ?>/" + urlPage +
"?" +
"<?php echo $HB_ENV["cuquery
"] ?>";
1788 window.location.replace(urlRedirect);
1796 $(document).on(
"click",
".k-overlay",
function () {
1797 if(window_stack.length > 0) {
1798 window_stack[window_stack.length-1].close();
1805 require_once(dirname(__FILE__) .
'/../includes/hcuPostContent.i');