Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing: ==> isEMED [in template "20102#20129#438394" at line 4056, column 15] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if !isEMED [in template "20102#20129#438394" at line 4056, column 9] ----
1<#assign
2 isEditMode = themeDisplay.getURLCurrent()?contains('p_l_mode=edit')
3/>
4<!-- Essa verificação é necessária para que não encaminhe erros de freemarker ao KIBANA ao acessar a página de edição dos componentes -->
5<#if isEditMode >
6 <h3>Modo de edição identificado</h3>
7<#else>
8
9<style>
10
11 .ssp:not(.liferay-instance) .ssp-como-me-matricular__passo-passo-card {
12 background: white;
13 width: 100%;
14 padding: 32px 52px;
15 box-shadow: 2px 5px 12px #00000040;
16 border-radius: 20px;
17 display: flex;
18 flex-wrap: nowrap;
19 justify-content: space-between;
20 align-items: center;
21 }
22
23 .ssp:not(.liferay-instance) .ssp-como-me-matricular__passo-passo-card .item-passo-icone {
24 max-width: 100%;
25 height: 72px;
26 margin-bottom: 10px;
27 }
28
29 .ssp:not(.liferay-instance) .ssp-como-me-matricular__section {
30 background: #472247;
31 border-top: 18px solid #792F7A;
32 text-align: center;
33 padding-bottom: 60px;
34 }
35
36 .ssp:not(.liferay-instance) .ssp-como-me-matricular__section .title-section-white::after {
37
38
39 display: none;
40
41
42 }
43
44 .ssp:not(.liferay-instance) .ssp-como-me-matricular__section .title-section-white {
45 color: white;
46 font-size: 44px !important;
47 margin-bottom: 32px !important;
48 text-align:unset;
49 }
50
51 .ssp:not(.liferay-instance) .ssp-como-me-matricular__passo-passo-card .item-passo-title {
52 font-size: 28px;
53 color: #B767C2;
54 font-weight: bold;
55 line-height: 28px;
56 margin: 0;
57 margin-bottom:.5rem;
58 }
59
60
61.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__icon-credit-card::after {
62
63 font-size: 18px;
64
65}
66
67.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__icon-boleto::after {
68
69 font-size: 18px;
70
71}
72
73.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__header {
74 align-items:center;
75 color:#454F63;
76}
77
78.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__btn-close::after {
79 font-family: "Font Awesome 6 Pro";
80 font-weight: normal;
81 content: "\f00d";
82 font-style: normal;
83 font-size:30px;
84 cursor: pointer;
85}
86
87.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__body {
88
89 padding:0 15px;
90}
91
92.ssp-card-modal-forma-pagamento__tipos-content p {
93
94 color: #454F63!important;
95 font-size: 14px!important;
96}
97
98.ssp-card-modal-forma-pagamento__tipos-content strong {
99
100 font-weight: bold!important;
101}
102
103.txt-desconto-oito{
104
105 font-weight: 600!important;
106 border: 1px solid #f2f2f2;
107 border-right: 0;
108 border-left: 0;
109 padding: 10px 0;
110}
111
112.next-mobile{
113 color: white;
114 display: flex;
115 align-items: center;
116 text-decoration: none!important;
117}
118
119.next-mobile:hover{
120 color: white;
121 font-weight: normal!important;
122}
123
124.next-mobile::before{
125 font-family: "Montserrat", sans-serif;
126 content: "Próxima";
127 font-size: 14px;
128 font-weight: 600;
129 display: block;
130 margin-right: 9px;
131 color: white;
132}
133
134.next-mobile.slick-arrow.slick-disabled{
135 opacity: 0.4;
136}
137
138
139/* Prev Mobile button */
140
141
142.prev-mobile{
143 color: white;
144 display: flex;
145 align-items: center;
146 text-decoration: none;
147 text-decoration: none!important;
148}
149
150.prev-mobile:hover{
151 color: white;
152 font-weight: normal!important;
153}
154
155.prev-mobile::after{
156 font-family: "Montserrat", sans-serif;
157 content: "Anterior";
158 font-weight: 600;
159 font-size: 14px;
160 display: block;
161 margin-left: 9px;
162 color: white;
163}
164
165.prev-mobile.slick-arrow.slick-disabled{
166 opacity: 0.4;
167}
168
169
170.icon-ao-vivo{
171 font-size: 15px!important;
172 margin: 0 3px;
173}
174
175.ssp-card-detalhe-curso__tag-ao-vivo{
176 font-family: "Montserrat";
177 font-size: 19px;
178 letter-spacing: 0px;
179 color: #F77A3B;
180}
181
182.selecione-unidade-title-custom{
183
184 width:100%!important;
185
186}
187
188.recalcular{
189 background:#F6921E!important;
190 border: solid 1px #F6921E!important;
191}
192
193.ssp-card-detalhe-curso__description{
194
195 font-family: "Montserrat";
196 max-width: 800px;
197 font-size: 20px;
198 font-weight: 500;
199 font-stretch: normal;
200 font-style: normal;
201 line-height: 1.23;
202 letter-spacing: normal;
203 margin: 10px 0;
204 text-align: left;
205 color: #4f596f;
206
207}
208
209/* nova formatação para registro de interesse */
210.ssp:not(.liferay-instance) .ssp-aviso-novas-turmas__content {
211 display: flex;
212 flex-wrap: nowrap;
213 justify-content: center;
214 align-items: center;
215 padding: 10px 0;
216}
217
218/* Novas tags para formato de curso */
219
220.ssp-card-detalhe-curso__tag-formato{
221
222 font-size:18px;
223 font-weight:600;
224
225}
226
227.icon-formato{
228 margin-right:7px;
229}
230
231.online-aovivo{
232 position:relative;
233
234}
235
236.icon-small-wifi {
237 font-size: 13px;
238 position: absolute;
239 left: -12px;
240 top: -5px;
241}
242
243.ssp-desconto-2022 .modal-extensao_txteconomiza {
244 font-size: 14px !important;
245 font-weight: 100 !important;
246}
247.ssp-desconto-2022 .ssp-card-oferta-curso__desconto-content .ssp-card-oferta-curso__valor-desconto {
248 font-weight: 100 !important;
249}
250.ssp-desconto-2022 .modal-extensao-btn-conheca {
251 border: 1px solid #474F61 !important;
252 border-radius: 4px;
253 color: #474F61 !important;
254 font-size: 15px;
255 height: 50px;
256 margin-left: 0;
257 display: flex;
258 align-items: center;
259 justify-content: center;
260}
261
262.ssp-card-modal-forma-pagamento.ssp-desconto-2022 {
263 color: #454F63;
264}
265.ssp-card-oferta-curso__item-valor-investimento.ssp-desconto-2022 {
266 font-size: 22px !important;
267}
268.ssp-card-oferta-curso__item-valor-investimento.ssp-desconto-2022 span {
269 font-size: 13px !important;
270}
271.ssp-desconto-2022 span {
272 padding: 0 !important;
273}
274
275.ssp:not(.liferay-instance) .ssp-card-registro-interesse__select {
276 appearance: none !important;
277 -webkit-appearance: none !important;
278 -moz-appearance: none !important;
279
280 background-size: 25px 25px !important;
281 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTIgNTEyIj48IS0tIEZvbnQgQXdlc29tZSBQcm8gNS4xNS40IGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIC0tPjxwYXRoIGQ9Ik0xODcuOCAyNjQuNUw0MSA0MTIuNWMtNC43IDQuNy0xMi4zIDQuNy0xNyAwTDQuMiAzOTIuN2MtNC43LTQuNy00LjctMTIuMyAwLTE3TDEyMi43IDI1NiA0LjIgMTM2LjNjLTQuNy00LjctNC43LTEyLjMgMC0xN0wyNCA5OS41YzQuNy00LjcgMTIuMy00LjcgMTcgMGwxNDYuOCAxNDhjNC43IDQuNyA0LjcgMTIuMyAwIDE3eiIvPjwvc3ZnPg==);
282 background-repeat: no-repeat !important;
283 background-position-x: 99% !important;
284 background-position-y: 50% !important;
285}
286
287@media only screen and (max-width: 768px){
288
289 .ssp-card-detalhe-curso__tag-ao-vivo{
290 font-size: 14px;
291 display: none;
292 }
293 .ssp:not(.liferay-instance) .ssp-aviso-novas-turmas__content {
294
295 flex-wrap: wrap!important;
296
297}
298.ssp-card-modal-forma-pagamento__tipos-content p {
299
300 font-size: 12px!important;
301}
302
303
304 .ssp:not(.liferay-instance) .ssp-section-selecione-unidade {
305 padding: 30px 0!important;
306 padding-bottom: 30px !important;
307 background-color: #2a2e43;
308 }
309
310 .ssp:not(.liferay-instance) .ssp-aviso-novas-turmas__title {
311 padding-bottom: 1.25rem !important;
312 }
313
314 .selecione-unidade-title-custom{
315 width:100%!important;
316
317 }
318
319 .ssp-card-detalhe-curso__description{
320 width: 100%;
321 font-size: 15px;
322
323 }
324 .ssp-como-me-matricular__passo-passo-card {
325 padding: 30px 24px!important;
326
327 }
328
329 .emed-select-group {
330 box-shadow: none!important;
331 border: none !important;
332 border-bottom: 1px solid #6E6E6E!important;
333 border-radius: 0 !important;
334 padding: 0 !important;
335 margin: 1rem 0 !important;
336 }
337
338 .emed .ssp-card-registro-interesse__title-modal{
339 font-size: 20px!important;
340 }
341 .emed .ssp-card-registro-interesse__title-section-itens {
342 font-size: 15px!important;
343 margin-top: 0px!important;
344 margin-bottom: 0px!important;
345 color: #2a2e43;
346 }
347 .ssp-card-registro-interesse.emed [type="checkbox"] {
348 transform: scale(0.6);
349 margin-left: 2px;
350 }
351
352 .ssp-card-registro-interesse.emed label {
353 margin-left: 0px;
354 margin-right: 3px;
355 }
356}
357
358.ssp-card-oferta-curso__local-realizacao-content__title {
359 font-family: "Open Sans", sans-serif;
360 font-size: 10pt;
361 font-weight: normal;
362 color: #00488c;
363 font-weight: bold;
364 text-decoration: none!important;
365 padding-left: 10px;
366}
367
368 @media screen and (min-width: 767px){
369
370 .ssp-modal-local-realizacao{
371 width: 480px!important;
372 }
373 .ssp-card-modal-forma-pagamento__header {
374 margin-bottom: 20px;
375 }
376
377 .ssp-modal-local-realizacao__title{
378 color:#01488C !important;
379 text-align: center!important;
380 margin-left: -23px!important;
381 }
382
383 .ssp:not(.liferay-instance) .ssp-modal-local-realizacao__title {
384 font-size: 14pt;
385 }
386 .ssp:not(.liferay-instance) [data-info="data-para-matricula"] {
387 font-size: 14px !important;
388 text-align: left;
389 }
390 .ssp-modal-emed-txt-desconto-oito {
391 padding: 10px 0 0px!important;
392 }
393 .ssp:not(.liferay-instance) .ssp-modal-emed-info-valor-matricula {
394 color: #4F596F;
395 font-size: 15px!important;
396 text-align: center;
397 font-weight: 500!important;
398 }
399}
400
401@media screen and (max-width: 767px){
402 .ssp:not(.liferay-instance) .ssp-modal-local-realizacao {
403 width: 347px;
404 padding: 22px;
405 }
406 .ssp-modal {
407 padding-top: 72px!important;
408 }
409 .ssp-card-modal-forma-pagamento {
410 max-width: 335px!important;
411 }
412 .ssp-card-modal-forma-pagamento__body {
413 padding: 0px!important;
414 }
415 .ssp-modal-emed-txt-desconto-oito {
416 font-size: 12px !important;
417 }
418 .ssp-card-modal-forma-pagamento__header {
419 margin-bottom: 20px!important;
420 }
421 .txt-desconto-oito i {
422 font-size: 12px!important;
423 padding-top: 3px;
424 }
425 .txt-pague-vista {
426 font-size: 12px!important;
427 }
428 .txt-ganhe-mais {
429 font-size: 12px!important;
430 }
431 .ssp-modal-emed-info-valor-matricula {
432 color: #2A2E43!important;
433 font-size: 12px!important;
434 font-weight: 500!important;
435 }
436 .ssp:not(.liferay-instance) [data-info="data-para-matricula"] {
437 font-size: 12px !important;
438 line-height: 1.5;
439 text-align: left;
440 }
441
442 .ssp-desconto-2022 .txt-desconto-oito {
443 font-size: 14px !important;
444 }
445}
446
447@media screen and (max-width: 767px){
448 .ssp:not(.liferay-instance) .ssp-modal-local-realizacao__title {
449 font-size: 16pt;
450 }
451}
452
453.container-local-realizacao{
454 padding: 6px;
455 border: 0.5pt solid #cdd0d8;
456 border-radius: 5px;
457 width: 260px;
458 margin: 10px auto;
459 box-shadow: 1px 1px 1px #0000000F;
460}
461
462.idioma-online{
463 border:0!important;
464 box-shadow:none!important;
465}
466
467.btn-idiomas__aula-online .fa-wifi{
468 margin-right: 7px
469}
470
471.ssp-modal-local-realizacao__title{
472 color:#01488C !important;
473 text-align: center!important;
474}
475
476h6.ssp-modal-local-realizacao__title::after {
477 content: "";
478 display: block;
479 width: 20%;
480 padding-top: 10px;
481 border-bottom: 1px solid #01488C;
482 transition: .5s;
483 margin:auto;
484}
485
486.ssp:not(.liferay-instance) .ssp-card-oferta-curso__local-realizacao-content__icon-wifi::after {
487 font-family: "Font Awesome 5 Free";
488 content: '\f1eb';
489 font-weight: 600;
490 color: #00488c;
491 font-size: 8px;
492 font-style: normal;
493 margin-left: 2px;
494}
495
496.ssp:not(.liferay-instance) .ssp-card-oferta-curso__local-realizacao-content__icon-chalkboard-teacher::after {
497 font-family: "Font Awesome 5 Free";
498 content: '\f51c';
499 font-weight: 600;
500 color: #00488c;
501 font-size: 13px;
502 font-style: normal;
503}
504
505.ssp-card-oferta-curso__local-realizacao-content__icon-wifi{
506 display: flex;
507 margin-top: 0px;
508 margin-bottom: -10px;
509}
510
511.ssp:not(.liferay-instance) .ssp-modal__local-realizacao-content__icon-wifi::after {
512 font-family: "Font Awesome 5 Free";
513 content: '\f1eb';
514 font-weight: 600;
515 color: #00488c;
516 font-size: 9pt;
517 font-style: normal;
518 margin-right: 10px;
519}
520
521.ssp:not(.liferay-instance) .ssp-modal__local-realizacao-content__icon-chalkboard-teacher::after {
522 font-family: "Font Awesome 5 Free";
523 content: '\f51c';
524 font-weight: 600;
525 color: #00488c;
526 font-size: 16pt;
527 font-style: normal;
528 margin-left: -16px;
529}
530
531.ssp-modal__local-realizacao-content__icon-wifi{
532 display: flex;
533 margin-right: 2px
534}
535
536.ssp-modal-local-realizacao__texto{
537 text-align:center!important;
538}
539
540.texto-modal-emed{
541 text-align:left;
542}
543
544.nextPrevOpacity{
545 opacity: 0.3;
546}
547
548
549 .modal-extensao {
550 display: block;
551 position: fixed;
552 z-index: 2000;
553 padding-top: 100px;
554 left: 0;
555 top: 0;
556 width: 100%;
557 height: 100%;
558 overflow: auto;
559 background-color: black;
560 background-color: rgba(0, 0, 0, 0.6);
561 font-family: Montserrat;
562 }
563 .modal-extensao_content {
564 max-width: 700px;
565 width: 100%;
566 background: white;
567 border-radius: 12px;
568 padding: 30px 60px;
569 position: relative;
570 text-align: center;
571 margin: auto;
572 -webkit-animation-name: animatetop;
573 -webkit-animation-duration: 0.4s;
574 animation-name: animatetop;
575 animation-duration: 0.4s;
576 }
577 .modal-extensao-condicoes__title {
578 color: #000!important;
579 text-transform: uppercase!important;
580 font-size: 18px!important;
581
582 }
583 .modal-extensao-condicoes__subtitle {
584 color: #000!important;
585 font-size: 18px!important;
586 margin-bottom: 0px!important;
587
588 }
589 .modal-extensao__btn {
590 background-color: #5ACC75!important;
591 font-size: 14px;
592 float: right;
593 color: #ffffff;
594 min-width: 165px;
595 }
596 .modal-extensao__btn:hover {
597 background-color: #3fb25c!important;
598 border-color: transparent;
599 color: #ffffff;
600 }
601 .modal-extensao_subtitle {
602 font-size: 13.7px!important;
603 color: #2A2E43!important;
604 font-family: Montserrat, semi-bold!important;
605 font-weight: 600!important;
606 }
607 .modal-extensao_subtitle::after {
608 content: " ";
609 display: block;
610 width: 126px;
611 height: 2px;
612 background: #707070;
613 margin: 0 auto;
614 margin-top: 5px;
615 }
616 .modal-extensao_preco {
617 color: #454F63;
618 font-size: 25px;
619 font-family: Montserrat;
620 font-weight: bold;
621 }
622 .modal-extensao_ctboleto {
623 width: 50%;
624 float: left;
625 border-color: #D7D7DB;
626 border-style: solid;
627 border-width: 1px;
628 border-left: none;
629 font-size: 21px;
630 color: #454F63
631
632 }
633 .modal-extensao_ctcard {
634 width: 50%;
635 float: left;
636 border-color: #D7D7DB;
637 border-style: solid;
638 border-width: 1px;
639 border-right: none;
640 border-left: none;
641 font-size: 21px;
642 color: #454F63;
643 }
644
645 .modal-extensao_txtPag {
646 color:#2A2E43;
647 font-size: 9px;
648 font-family: Montserrat;
649 font-weight: 600;
650 display: block;
651 }
652 .modal-extensao_txteconomiza {
653 display: block;
654 font-size: 12px;
655 }
656 .modal-extensao_txtverde {
657 color: #5ACC75;
658 }
659 .modal-extensao_txtParcela {
660 color:#2A2E43;
661 font-size: 12px;
662 font-family: Montserrat;
663 font-weight: normal;
664 display: block;
665 }
666 .modal-extensao_txtporcent{
667 font-size: 9px;
668 color: #5ACC75;
669 font-weight: 600;
670 }
671 .modal-extensao-btn-conheca {
672 color: #2967F4 !important;
673 background-color: transparent;
674 border-color: #2967F4 !important;
675 box-shadow: none !important;
676 font-size: 14px !important;
677 margin-left: 10px;
678 transition: 0.3s;
679 float: left;
680 }
681 .modal-extensao-btn-conferir {
682 color: #2967F4 !important;
683 background-color: transparent;
684 border-color: #2967F4 !important;
685 box-shadow: none !important;
686 font-size: 14px !important;
687 margin-left: 10px;
688 transition: 0.3s;
689 min-width: 330px;
690 min-height: 50px;
691 }
692 .modal-extensao-btn-conferir:hover {
693 color: #ffffff!important;
694 }
695
696 .modal-extensao-btn-conheca:hover, .modal-extensao-btn-conheca:focus {
697 color: #ffffff!important;
698 }
699 .modal-extensao-btn-aluno-sim-nao {
700 color: #000000;
701 background-color: transparent;
702 border-color: #000000 !important;
703 box-shadow: none !important;
704 font-size: 14px !important;
705 margin-left: 10px;
706 transition: 0.3s;
707 min-width: 95px;
708 }
709 .modal-extensao-btn-aluno-sim-ativo {
710 color: #ffffff!important;
711 background-color: #3969EB!important;
712 border-color: #3969EB !important;
713 }
714 .modal-extensao-btn-aluno-sim-nao:hover {
715 background-color: transparent;
716 border-color: #3969EB !important;
717 color: #3969EB!important; }
718 .modal-extensao-voltar-icon,.modal-extensao-fechar {
719 font-size: 13px;
720 position: absolute;
721 top: 30px;
722 right: 20px;
723 cursor: pointer;
724 color: #000;
725 }
726
727 .modal-extensao-voltar-txticon {
728 color: #000;
729 font-size: 9px;
730 font-family: Montserrat;
731 font-weight: 600;
732 padding-left: 5px;
733 }
734 .modal-extensao-ico-check {
735 color: #5ACC75;
736 font-size: 65px;
737 }
738 .modal-extensao-aluno_txtcontent {
739 font-size: 18px!important;
740 color: #000;
741 }
742 .modal-extensao-aluno__btn {
743 background-color: #5ACC75!important;
744 font-size: 14px;
745 color: #ffffff;
746 min-width: 330px;
747 text-transform: uppercase;
748 min-height: 50px;
749 }
750 .modal-extensao-aluno__btn:hover {
751 color: #fff;
752 background-color: #3fb25c!important;
753 border-color: transparent;
754 color: #ffffff;
755 }
756 .modal-extensao-ico-percent {
757 background-color: blue;
758 color: #fff;
759 font-size: 48px;
760 border-radius: 50%;
761 padding: 10px 18px;
762 }
763
764 .btn-preco-ex-aluno,.btn-preco-padrao{
765
766 background:none;
767 border: none;
768 width: 100%;
769 display: flex;
770 align-items: center;
771 justify-content: space-between;
772 text-align: left;
773 font-size: 14px;
774 }
775
776 .custom-icon-right{
777 transform: rotate(0);
778 transition: all 0.5s;
779 }
780
781 .custom-icon-right-active{
782 transform: rotate(90deg);
783 }
784
785 .ssp-divisor{
786 width: 100%;
787 color: #D7D7DB;
788 margin: 15px 0;
789 }
790
791
792 @media only screen and (max-width: 768px){
793
794 .modal-extensao_content{
795 width:336px;
796 padding: 60px 20px 20px 20px;
797 }
798
799 .modal-extensao__btn{
800 width: 100%;
801 }
802
803 .modal-extensao-modal-extensao__btn {
804 float: initial;
805 width: 234px;
806 }
807 .modal-extensao-btn-conheca {
808 float: initial;
809 width: 100%;
810 margin-left: 0px;
811 }
812 .modal-extensao-aluno__btn {
813 min-width: 234px;
814 }
815 .modal-extensao-btn-conferir{
816 min-width: 234px;
817 margin-left: 0px;
818 }
819 }
820
821
822/* Emed */
823.ssp-btn-emed__voltar-curso {
824 border: 1px solid #474F61;
825 color: #474F61;
826 max-width: 372px;
827 margin-left: 60px;
828 height: 50px;
829 padding: 12px!important;
830}
831
832@media (max-width: 768px) {
833 .ssp-btn-emed__voltar-curso {
834 font-size: 14px;
835 margin-left: 0px!important;
836 }
837}
838
839@media only screen and (max-width: 767px){
840 .ssp:not(.liferay-instance) .ssp-emed-visita-text {
841 margin: 0;
842 transform: none;
843 margin-left: 10px;
844 }
845}
846
847.ssp:not(.liferay-instance) .icon-map-adress::after {
848 padding: 0 8px 0 0;
849}
850
851.ssp:not(.liferay-instance) .ssp-card-oferta-curso__mensagem-legal {
852 margin: 5px 0;
853}
854
855.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .btn-card-investimento {
856 width: 100%;
857 color: white !important;
858 font-size: 15px;
859 font-weight: 600;
860 margin: 10px 0;
861}
862
863.ssp-modal-emed-info-txt-matricula {
864 display: inline-block;
865}
866.ssp:not(.liferay-instance) .btn-card-investimento.--inscreva-se.disabled, .ssp:not(.liferay-instance) a.btn.btn-success.disabled.manutencao {
867 background: #BFC3C9 !important;
868 color: #454F63!important;
869 opacity: 1!important;
870 font-size: 14px;
871 border:none;
872}
873
874.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .btn-card-investimento.--bolsas.disabled {
875 background: #E5E8ED;
876 color: #454F63!important;
877 opacity: 1;
878 font-size: 14px;
879}
880
881.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .btn-card-investimento.--inscreva-se {
882 background-color: #5acc75;
883 text-transform: none;
884}
885
886.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .link-descontos-parcelamentos {
887 font-weight: 600;
888}
889
890.ssp:not(.liferay-instance) .ssp-card-oferta-curso__sem-vaga-title {
891 margin: 0;
892}
893
894.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-container {
895
896 padding: 0;
897
898}
899
900.ssp:not(.liferay-instance) .ssp-ofertas-emed__filtro-content {
901 padding: 40px 0;
902}
903
904.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .txt-boleto-cartao {
905 text-align: center;
906}
907.ssp-card-modal-emed-lineou {
908height: 1px;
909 background-color: #FC7834;
910 text-align: center;
911 width: 50%;
912 margin: 0px auto;
913 margin-bottom: 15px;
914}
915.ssp-card-modal-emed-lineou span {
916background-color: white;
917 position: relative;
918 top: -0.8em;
919 padding: 0 19px;
920 font-weight: bold;
921 color: #2A2E43;
922 font-size: 15px;
923}
924.ssp-modal-emed-txtValor {
925 font-size: 16px;
926 color: #04488C;
927 font-weight: bold;
928}
929.ssp-card-modal-emed-centralizaPagtos{
930max-width: 285px;margin:0 auto; margin-top: 18px!important;
931}
932.ssp-card-modal-forma-pagamento__tipos-content p {
933 font-weight: 500!important;
934}
935.textoCartoesAceitos {
936 font-weight: 500!important;
937}
938.ssp-card-modal-emed-valorObs {
939 color: #004A8C;
940 display: flex;
941 justify-content: center;
942 font-weight: 500;
943 padding-top: 11px;
944 font-size: 14px;
945}
946.ssp-card-modal-emed-boxDesconto{
947 border: 0!important;
948 font-weight: 500!important;
949 background-color: #F7F7F7;
950 border-radius: 13px;
951 padding: 20px 40px!important;
952 margin-bottom: 0!important;
953}
954.ssp-modal-emed-boxoito {
955 padding: 5px 45px!important;
956 text-align: center;
957 border-bottom: 0px!important;
958}
959.ssp-modal-emed-btfechar {
960 position: absolute;
961 right: 0;
962 display: flex;
963 flex-direction: column;
964 text-align: center;
965 line-height: 0.9;
966 top: -48px;
967 color: #E4E8F0;
968 font-weight: 500;
969 font-size: 14px;
970}
971.ssp-card-modal-forma-pagamento__btn-close:hover {
972 opacity: .6;
973}
974.ssp-card-modal-emed-ano {
975 font-weight: 500;
976 font-size: 22px;
977 color: #454F63;
978}
979.ssp:not(.liferay-instance) [data-info="msg-20-desconto"] {
980 font-weight: 500!important;
981
982}
983.ssp-card-modal-emed-valorObs i {
984 padding-top: 2px;
985 padding-right: 3px;
986}
987button[id^="btnComprarEmedModal_"] {
988 height: 50px;
989 font-weight: 600;
990 max-width: 372px;
991 width: 100%;
992 margin: 0 auto;
993 /* margin-left: 60px; */
994 display: block;
995 height: 50px;
996 padding: 12px !important;
997
998}
999.obsspan {
1000 justify-content: left;
1001 padding-bottom: 10px;
1002}
1003
1004
1005
1006
1007@media only screen and (max-width: 767px){
1008
1009 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__mensagem-legal {
1010 width: 100%;
1011 }
1012
1013 .ssp-card-modal-emed-valorObs {
1014 font-size: 12px;
1015 }
1016 .obsspan {
1017 justify-content: left;
1018 margin-left: -14px!important;
1019 }
1020 .ssp-modal-emed-boxoito {
1021 padding: 5px 0px!important;
1022 }
1023 .ssp-modal-emed-info-txt-matricula {
1024 display: inherit;
1025 }
1026 .ssp-card-modal-emed-boxDesconto{
1027 padding: 20px 20px!important;
1028 font-size: 12px!important;
1029 }
1030 .ssp:not(.liferay-instance) [data-info="msg-20-desconto"] {
1031 font-size: 12px !important;
1032 font-weight: 500!important;
1033 }
1034 .ssp-modal-emed-btfechar {
1035 font-size: 12px;
1036
1037 }
1038 button[id^="btnComprarEmedModal_"] {
1039 height: 50px;
1040 padding: 10px;
1041 border-radius: 4px;
1042 margin-left: 0px!important
1043 }
1044 button[id^="btnComprarEmedModal_"] span {
1045 font-size: 15px;
1046 font-weight: 600;
1047 }
1048 .ssp-btn-emed__voltar-curso_0 {
1049 font-weight: 600!important;
1050 height: 50px;
1051 border-radius: 4px!important;
1052 padding: 14px!important;
1053 }
1054
1055
1056}
1057
1058@media screen and (min-width: 1200px){
1059 .ssp-col-lg-without {
1060 flex: unset;
1061 width: unset;
1062 }
1063}
1064@media screen and (max-width: 1199px){
1065 .ssp-desconto-2022 .modal-extensao_txteconomiza {
1066 font-size: 12px !important;
1067 }
1068 .ssp-filters-px {
1069 padding: 0 !important;
1070 }
1071 .ssp-switch-label {
1072 margin: auto 0 !important;
1073 }
1074 .ssp-switch-label-message {
1075 margin-top: 10px;
1076 margin-bottom: 10px;
1077 padding-right: 0 !important;
1078 padding-left: 0 !important;
1079 }
1080 .ssp-container-selecione-unidade [name="unidades-ofertas"] {
1081 max-width: 316px!important;
1082 }
1083 .ssp-detalhe-curso-titulo-filter {
1084 font-size: 16px !important;
1085 }
1086}
1087
1088
1089.ssp-filters-px {
1090 padding: 0 80px;
1091}
1092/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
1093/* !!!!!!! CSS Destinado ao switch(toggle) !!!!!!! */
1094/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
1095.ssp-switch {
1096 position: relative;
1097 display: inline-block;
1098 width: 63px;
1099 height: 32px;
1100}
1101
1102.ssp-switch input {
1103 opacity: 0;
1104 width: 0;
1105 height: 0;
1106}
1107
1108.ssp-switch-label {
1109 margin: auto 15px;
1110 font: normal normal 600 16px/19px Montserrat;
1111 letter-spacing: 0px;
1112 color: #FFFFFF;
1113 white-space: nowrap;
1114}
1115
1116.ssp-switch-label-section {
1117 font: normal normal 600 18px/22px Montserrat;
1118 margin-bottom: 11px;
1119}
1120
1121.ssp-switch-label-message {
1122 font: normal normal medium 16px/19px Montserrat !important;
1123 letter-spacing: 0px;
1124 color: #FFFFFF;
1125 margin-top: 16px;
1126 padding-left: 25px;
1127 padding-right: 25px;
1128}
1129
1130.ssp-switch-divider {
1131 border-bottom: 1px solid #4a4d5f;
1132 width: 100%;
1133}
1134
1135.ssp:not(.liferay-instance) .ssp-detalhe-curso-titulo-filter.ssp-detalhe-curso-titulo-filter {
1136 font-size: 21px;
1137}
1138
1139.ssp-switch-slider {
1140 position: absolute;
1141 cursor: pointer;
1142 top: 0;
1143 left: 0;
1144 right: 0;
1145 bottom: 0;
1146 background-color: #00000000;
1147 border: 1px solid #FFFFFF;
1148 -webkit-transition: .4s;
1149 transition: .4s;
1150}
1151
1152.ssp-switch-slider:before {
1153 position: absolute;
1154 content: "";
1155 height: 21px;
1156 width: 21px;
1157 left: 4px;
1158 bottom: 4px;
1159 background-color: white;
1160 -webkit-transition: .4s;
1161 transition: .4s;
1162}
1163
1164input:checked + .ssp-switch-slider {
1165 background-color: #5ACC75;
1166 border: 1px solid #5ACC75;
1167}
1168input:checked + .ssp-switch-slider-secondary {
1169 background-color: #2967F4;
1170 border: 1px solid #2967F4;
1171}
1172
1173input:focus + .ssp-switch-slider {
1174 box-shadow: 0 0 1px #5ACC75;
1175}
1176input:focus + .ssp-switch-slider-secondary {
1177 box-shadow: 0 0 1px #2967F4;
1178}
1179
1180input:checked + .ssp-switch-slider:before {
1181 -webkit-transform: translateX(33px);
1182 -ms-transform: translateX(33px);
1183 transform: translateX(33px);
1184}
1185
1186/* Rounded sliders */
1187.ssp-switch-slider.round {
1188 border-radius: 34px;
1189}
1190
1191.ssp-switch-slider.round:before {
1192 border-radius: 50%;
1193}
1194
1195/*Utilizado no modal de registro de interesse #9309*/
1196option[value=""][disabled] {
1197 display: none;
1198}
1199/* Css para botao de idiomas online */
1200
1201.btn-idiomas__aula-online{
1202 background:#5382FF;
1203 color:white!important;
1204 text-decoration:none!important;
1205 padding:11px 14px;
1206 border-radius:4px;
1207 font-size:13px;
1208 font-weight:600;
1209 transition:.3s;
1210}
1211
1212.btn-idiomas__aula-online:hover{
1213 background:#5275D1;
1214 font-weight:600!important;
1215}
1216
1217.title-idioma-online__modal,.icon-wifi-title__modal{
1218 color:#5382FF!important;
1219 font-size:25px!important;
1220 margin:0!important;
1221 margin-right:5px!important;
1222}
1223
1224.btn-modal-entendi__idioma-online{
1225 font-size:16px!important;
1226 font-weight:600!important;
1227 color:#5382FF!important;
1228 border:#5382FF 1px solid!important;
1229 padding:15px 142px;
1230 width:auto!important;
1231}
1232
1233.btn-modal-entendi__idioma-online:hover{
1234 font-size:16px!important;
1235 font-weight:600!important;
1236 color:#5382FF!important;
1237 border:#5382FF 1px solid!important;
1238 background:white!important;
1239}
1240
1241@media only screen and (max-width: 768px){
1242
1243 .title-idioma-online__modal,.icon-wifi-title__modal{
1244 color:#5382FF!important;
1245 font-size:21px!important;
1246 margin:0!important;
1247 margin-right:5px!important;
1248 }
1249
1250 .btn-modal-entendi__idioma-online{
1251 font-size:16px!important;
1252 font-weight:600!important;
1253 color:#5382FF!important;
1254 border:#5382FF 1px solid!important;
1255 padding:12px 30%;
1256 width:auto!important;
1257 }
1258
1259}
1260
1261.btn-emed-lista-espera{
1262 background-color:#C560C7!important;
1263}
1264
1265.ssp:not(.liferay-instance) .ssp-container__form-select {
1266 max-width: 430px;
1267 width:100%;
1268}
1269
1270
1271@media (max-width: 768px){
1272 .ssp:not(.liferay-instance) .ssp-ofertas-emed__card {
1273 margin: 10px 20px;
1274 max-width: 335px;
1275 }
1276}
1277
1278/* css EMED Registro de interesse */
1279
1280.emed #periodo-registro-interesse,.emed #turmas-registro-interesse{
1281
1282 display: flex;
1283 align-items: center;
1284 padding: 0.625rem 0;
1285 width: 85%;
1286 justify-content: space-between;
1287 margin: 0 auto;
1288
1289}
1290
1291.ssp-card-registro-interesse__title-section-itens{
1292 margin: 10px 0 11.5px 0 !important;
1293 font-size: 20px;
1294 flex-basis: 120px;
1295}
1296
1297.ssp-card-registro-interesse__check-itens-content {
1298 display: flex!important;
1299 justify-content: center!important;
1300 flex: 0 1 90%!important;
1301}
1302.ssp-card-registro-interesse__check-item {
1303 display: flex;
1304 align-items: center;
1305 flex-basis: 100px;
1306}
1307
1308.ssp-card-registro-interesse label {
1309 margin-right: 0!important;
1310}
1311
1312.ssp-card-registro-interesse [type="checkbox"] {
1313box-shadow: 0px 0px 6px #00000029;
1314}
1315
1316#cursos-registro-interesse,#unidades-registro-interesse{
1317padding: 10px 0;
1318}
1319
1320.emed-select-group{
1321
1322box-shadow: 0px 0px 12px #00000010;
1323border: 1px solid #6E6E6E;
1324border-radius: 4px;
1325padding: 1.0rem 1.125rem;
1326margin: 1rem 0;
1327
1328}
1329
1330.ssp:not(.liferay-instance) .ssp-card-registro-interesse__add-mais > a {
1331 color: #457eff !important;
1332 }
1333
1334.emed .ssp-card-registro-interesse__btn-enviar {
1335background-color: #C560C7 !important;
1336}
1337
1338.ssp-card-registro-interesse__title-modal{
1339color:#C560C7 !important;
1340font-size: 35px !important;
1341font-weight: bold !important;
1342margin: 0 !important;
1343}
1344
1345#msg-transferencia-emed{
1346display: flex;
1347justify-content: center;
1348flex: wrap;
1349flex-direction: column;
1350align-items: center;
1351padding: 1rem 0;
1352}
1353
1354.transferencia-emed-title {
1355 color: #d266d4;
1356 display: flex;
1357 gap: 10px;
1358 font-size: 16px;
1359 font-weight: bold;
1360 align-items:center;
1361}
1362
1363.transferencia-emed-title p {
1364 margin: 0 !important;
1365 font-weight: bold !important;
1366 font-size: 16px!important;
1367}
1368
1369.transferencia-emed-link a{
1370 font-size: 15px;
1371 font-weight: 500!important;
1372 color: #792F7A;
1373 display: block;
1374 text-align: center;
1375}
1376
1377.transferencia-emed-link a:hover {
1378 font-weight: 500!important;
1379 color: #792F7A;
1380}
1381
1382.emed .ssp-card-registro-interesse__label-curso-selecionado{
1383color:#2A2E43!important;
1384font-weight: bold!important;
1385font-size: 28px;
1386}
1387
1388
1389/* css para registro de interesse atual */
1390
1391#periodo-registro-interesse,#dias-registro-interesse{
1392padding: .625rem 0;
1393}
1394
1395/* css card sem turma e registro de interesse emed*/
1396
1397.slick-area-emed {
1398 display: -webkit-box !important;
1399 display: -ms-flexbox !important;
1400 display: flex !important;
1401 -webkit-box-align: center;
1402 -ms-flex-align: center;
1403 align-items: center;
1404 -webkit-box-pack: center;
1405 -ms-flex-pack: center;
1406 justify-content: center;
1407 font-size: 0;
1408 -ms-flex-wrap: nowrap;
1409 flex-wrap: nowrap;
1410 }
1411
1412 .slick-area-emed .slick-track, .slick-area-emed .slick-list {
1413 width: 100%;
1414 }
1415
1416 @media only screen and (max-width: 1199px) and (min-width: 768px) {
1417 .slick-area-emed--md-bleed {
1418 width: 100vw;
1419 left: calc(-1 * calc(50vw - (740px / 2) + 37px))!important;
1420 }
1421 .slick-area-emed--md-bleed .slick-list {
1422 padding-left: calc(calc(50vw - (768px / 2) + 37px));
1423 padding-right: calc(calc(50vw - (768px / 2) + 37px));
1424 }
1425 .slick-area-emed--md-bleed .slick-arrow {
1426 display: none !important;
1427 }
1428 }
1429
1430 @media only screen and (min-width: 376px) and (max-width: 1024px) {
1431 .slick-area-emed--md-bleed {
1432 width: 100vw;
1433 left: calc(-1 * (calc(100vw / 2) - calc(310px / 2) - 3px));
1434 }
1435 .slick-area-emed--md-bleed .slick-list {
1436 padding-left: 2px;
1437 }
1438 .slick-area-emed--md-bleed .slick-arrow {
1439 display: none !important;
1440 }
1441 }
1442
1443 @media only screen and (max-width: 375px) {
1444
1445 .ssp-emed__card-slider-body {
1446 padding: 25px 30px;
1447 }
1448
1449
1450 .slick-area-emed--md-bleed {
1451 width: 100vw;
1452 left: calc(-1 * (calc(100vw / 2) - calc(310px / 2) - 3px));
1453 }
1454 /* .slick-area-emed--md-bleed .slick-list {
1455 padding-left: 20px;
1456
1457 } */
1458 .slick-area-emed--md-bleed .slick-arrow {
1459 display: none !important;
1460 }
1461 }
1462
1463 .slick-area__item {
1464 display: flex;
1465 flex-basis: auto;
1466 }
1467
1468 .ssp-emed__section__textCard {
1469 margin: 20px 0 0 0;
1470}
1471
1472 .ssp-emed__card-slider-body {
1473 padding: 25px 50px;
1474 min-height: 350px;
1475 display: flex;
1476 flex-direction: column;
1477 }
1478
1479 .slick-area__item {
1480 display: flex;
1481 flex-basis: auto;
1482 }
1483
1484 .ssp-emed__card-slider-body a {
1485 text-decoration: none!important;
1486 font-weight: normal;
1487 color: #78849E
1488 }
1489
1490 .ssp-emed__card-slider-body a:hover {
1491 font-weight: bold!important;
1492 color: #2a2e43
1493 }
1494
1495 .ssp-emed__card-slider {
1496 border-radius: 12px;
1497 background: transparent;
1498 -webkit-box-shadow: 0 0 12px 0 rgb(0 0 0 / 16%);
1499 box-shadow: 0 0 12px 0 rgb(0 0 0 / 16%);
1500 margin: 12px;
1501 position: relative;
1502 overflow: hidden;
1503 color: #ffffff!important;
1504 border: 1px solid #fff;
1505 min-height: 350px;
1506 }
1507
1508 .slick-initialized .slick-track {
1509 display: flex;
1510 }
1511
1512 .slick-initialized .slick-slide {
1513 height: inherit!important;
1514 display: flex;
1515 }
1516
1517 .ssp-emed__section__titleCard {
1518 font-size: 28px !important;
1519 color: #ffffff !important;
1520 margin: 0 !important;
1521 display: flex !important;
1522 justify-content: flex-start !important;
1523 flex-direction: row !important;
1524 align-items: start !important;
1525 flex-basis: 60px;
1526}
1527
1528.ssp-emed__section__titleCard i {
1529 font-size: 28px;
1530 color: #ffffff;
1531 margin: 0 0.85rem 0 0;
1532 line-height: 30px;
1533}
1534
1535.ssp-emed__section__titleCard i.fa-envelope {
1536 margin-top: 0px;
1537}
1538
1539.ssp-emed__section__titleCard i.fa-users-class {
1540 margin-top:2px;
1541}
1542
1543.ssp-emed__section__titleCard div {
1544 text-decoration: underline;
1545 font-size: 28px !important;
1546 font-weight: bold;
1547 margin: 0!important;
1548 transform:translateY(-2px)
1549}
1550
1551 .ssp-emed__section__introCard {
1552 display: block;
1553 font: 28px/30px 'Montserrat';
1554 font-weight: 600;
1555 margin: 20px 0;
1556 color: #ffffff;
1557 }
1558
1559 .ssp-emed__section__introCardCTA {
1560 font: 34px/36px 'Montserrat';
1561 font-weight: bold;
1562 display: block;
1563 margin: 20px 0;
1564 color: #ffffff;
1565 }
1566
1567 .ssp-emed__section__textCard {
1568 font: 22px/30px 'Montserrat';
1569 color: #ffffff;
1570 display: block;
1571 margin: 20px 0 0 0;
1572 position: relative;
1573 }
1574
1575 .ssp-emed__iconWrapper {
1576 display: inline-block;
1577 width: 50px;
1578 color: #B053B2;
1579 position: absolute;
1580 bottom: 0;
1581 right: 0;
1582 }
1583
1584 .ssp-emed__btn {
1585 background-color: #B053B2 ;
1586 color: #fff!important;
1587 font: normal normal 600 18px/22px Montserrat;
1588 box-shadow: 0px 4px 16px #455B6314;
1589 width: 100%;
1590 transition: .3s;
1591 padding:10px!important;
1592 }
1593
1594 .ssp-emed__btn:hover {
1595 opacity: 0.7;
1596 }
1597
1598 /*mobile emed*/
1599 @media only screen and (max-width: 1024px) {
1600 .slick-area-emed .slick-dots li.slick-active button:before {
1601 opacity: .75;
1602 color: #707070;
1603 }
1604
1605 .slick-area-emed .slick-dots li button:before {
1606 color: blue;
1607 }
1608
1609 .ssp-card-detalhe-curso__secundary-info-carga-horaria {
1610 min-width: 35%;
1611 text-align: end;
1612 }
1613 }
1614
1615 @media only screen and (max-width: 1199px) and (min-width: 768px) {
1616 .slick-area-emed--md-bleed {
1617 width: 100vw;
1618 left: calc(-1 * calc(50vw - (740px / 2) + 37px))!important;
1619 }
1620 .slick-area-emed--md-bleed .slick-list {
1621 padding-left: calc(calc(50vw - (768px / 2) + 37px));
1622 padding-right: calc(calc(50vw - (768px / 2) + 37px));
1623 }
1624 .slick-area-emed--md-bleed .slick-arrow {
1625 display: none !important;
1626 }
1627 }
1628
1629 @media only screen and (min-width: 375px) and (max-width: 1024px) {
1630 .slick-area-emed--md-bleed {
1631 width: 100vw;
1632 left: calc(-1 * (calc(100vw / 2) - calc(310px / 2) - 3px));
1633 }
1634 .slick-area-emed--md-bleed .slick-list {
1635 padding-left: 2px;
1636 }
1637 .slick-area-emed--md-bleed .slick-arrow {
1638 display: none !important;
1639 }
1640 .ssp-emed__section__titleCard {
1641 align-items: start !important;
1642 }
1643
1644 .ssp-emed__section__titleCard div {
1645 font-weight: bold !important;
1646 }
1647
1648 .ssp-emed__section__titleCard i {
1649 font-weight: 300 !important;
1650 font-size: 28px !important;
1651 margin: 3px 0.85rem 0 0;
1652 }
1653
1654 .transferencia-emed-title {
1655 font-size: 12px;
1656 }
1657
1658 .ssp:not(.liferay-instance) .ssp-card-registro-interesse__select {
1659 background-size: 15px 15px !important;
1660 padding: 0 10px;
1661 }
1662 }
1663
1664 @media only screen and (max-width: 550px) {
1665
1666 .ssp-emed__section__introCardCTA{
1667 font-size: 28px;
1668 }
1669
1670 #msg-transferencia-emed{
1671 gap:12px;
1672 }
1673
1674
1675
1676 .ssp-emed__card-slider {
1677 width:335px;
1678 min-height: 440px;
1679 }
1680
1681 .slick-initialized .slick-track {
1682 display: flex;
1683 }
1684
1685 .slick-initialized .slick-slide {
1686 height: inherit!important;
1687 display: flex;
1688 min-height: 440px;
1689 }
1690
1691 .ssp-emed__card-slider-body {
1692 padding: 25px 30px;
1693 }
1694
1695 .ssp-emed__section__titleCard div {
1696 transform: translateY(-5%);
1697 font-size: 24px!important;
1698 }
1699
1700 .slick-area-emed--md-bleed {
1701 width: 100vw;
1702 left: calc(-1 * (calc(100vw / 2) - calc(310px / 2) - 3px));
1703 }
1704 .slick-area-emed--md-bleed .slick-list {
1705 padding-left: 20px;
1706 }
1707 .slick-area-emed--md-bleed .slick-arrow {
1708 display: none !important;
1709 }
1710
1711 .ssp-card-registro-interesse__title-section-itens {
1712 flex-basis: 80px;
1713 }
1714
1715 .emed #periodo-registro-interesse, .emed #turmas-registro-interesse {
1716 width: 95%;
1717 }
1718
1719 .emed .ssp:not(.liferay-instance) .ssp-card-registro-interesse label {
1720 margin: 0!important;
1721 }
1722
1723 .emed .ssp-card-registro-interesse.emed [type="checkbox"] {
1724 margin-left: 0!important;
1725 }
1726
1727 .emed .ssp-card-registro-interesse__check-item {
1728 flex-basis: 100px;
1729 }
1730 }
1731
1732 .emed-select-group {
1733 box-shadow: 0px 0px 12px #00000010;
1734 border: 1px solid #6E6E6E;
1735 border-radius: 4px;
1736 margin: 1rem 0;
1737}
1738
1739.emed-select-group h4 {
1740 margin: 15px 0 10px 0;
1741}
1742.ssp-emed__section__textCard {
1743 margin: 20px 0 0 0;
1744}
1745
1746.ssp-card-msg-sucesso__btn{
1747 font-size: 20px;
1748}
1749
1750.ssp:not(.liferay-instance) .ssp-card-oferta-curso {
1751 height:fit-content;
1752}
1753
1754.ssp-card-duvida__bolsa-estudo{
1755
1756background:#DCE8FF;
1757padding: 30px;
1758max-width: 683px;
1759width: 100%;
1760border-radius: 14px;
1761display:flex;
1762justify-content:center;
1763align-items: center;
1764gap: 20px;
1765margin: 1rem auto;
1766
1767}
1768
1769.ssp-card-duvida__bolsa-estudo p{
1770
1771font-size: 16px!important;
1772font-weight: bold!important;
1773color: #2967F4!important;
1774margin: 0!important;;
1775
1776}
1777
1778.ssp-card-duvida__bolsa-estudo a{
1779
1780border:1px solid #2967F4!important;
1781font-size: 14px!important;
1782font-weight: 600;
1783text-decoration: none!important;
1784color: #2967F4!important;
1785padding:14px 27px;
1786border-radius:6px;
1787transition: .3s;
1788
1789}
1790
1791.ssp:not(.liferay-instance) .ssp-card-duvida__bolsa-estudo a:hover{
1792
1793font-size: 14px!important;
1794font-weight: 600!important;
1795background: #2967F4!important;
1796color:white !important;
1797opacity:1!important;
1798
1799}
1800
1801@media only screen and (max-width: 768px){
1802
1803.ssp-card-duvida__bolsa-estudo{
1804
1805 background:#DCE8FF;
1806 padding: 20px;
1807 flex-flow: column;
1808 width:90%;
1809
1810}
1811
1812.ssp-card-duvida__bolsa-estudo p{
1813
1814 max-width:200px;
1815 text-align: center;
1816
1817}
1818
1819.ssp-card-duvida__bolsa-estudo a{
1820
1821 padding:16px 27px;
1822
1823}
1824
1825}
1826
1827/* Novo Card de Oferta */
1828
1829 /* ajustes no card existente */
1830
1831 .ssp:not(.liferay-instance) .ssp-card-oferta__info-turma{
1832 margin-bottom: 30px;
1833 }
1834
1835 .ssp:not(.liferay-instance) .ssp-card-oferta__info-turma-content {
1836 margin-bottom: 5px;
1837 }
1838
1839 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__item-data-periodo{
1840 margin: 5px 0 10px 0;
1841 }
1842
1843 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora-item {
1844 border-radius: 0;
1845 background-color: unset;
1846 padding: 0;
1847 max-width: 100%;
1848 width: 100%;
1849 margin: 0;
1850 }
1851
1852 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora_content{
1853 margin:0;
1854 opacity: 0;
1855 transition: 0.3s;
1856 }
1857
1858 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora-item__dia {
1859 margin: 0;
1860 font-size: 17px;
1861 font-weight: bold;
1862 font-stretch: normal;
1863 font-style: normal;
1864 line-height: 1.23;
1865 letter-spacing: normal;
1866 text-align: center;
1867 }
1868
1869 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora-item__hora {
1870 margin: 0;
1871 font-size: 17px;
1872 font-weight: bold;
1873 font-stretch: normal;
1874 font-style: normal;
1875 line-height: 1.3;
1876 letter-spacing: normal;
1877 text-align: center;
1878 }
1879
1880 .modal-extensao_txteconomiza{
1881 font-size: 14px;
1882 color: #454F63;
1883 font-weight: 400;
1884 }
1885
1886 .btn.btn-lg {
1887 padding:.7rem;
1888
1889 }
1890
1891 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__desconto-content p{
1892 font-size: 17px;
1893 }
1894
1895 .ssp-card-oferta-curso__item-valor-investimento{
1896 font-size: 38px;
1897 }
1898
1899 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__formas-pagamento-content .ssp-card-oferta-curso__formas-pagamento-content__title{
1900 color: #454F63;
1901 font-weight: bold!important;
1902 font-size: 14px;
1903}
1904
1905.ssp:not(.liferay-instance) .ssp-card-oferta-curso__formas-pagamento-content .ssp-card-oferta-curso__formas-pagamento-content__icon-credit-card::after{
1906 color: #454F63!important;
1907 font-size: 14px;
1908}
1909
1910
1911.ssp:not(.liferay-instance) .ssp-card-oferta-curso__formas-pagamento-content span{
1912 color:#454F63;
1913 font-size: 14px;
1914 font-weight: 400;
1915}
1916
1917.ssp:not(.liferay-instance) .ssp-card-oferta-curso__formas-pagamento-content {
1918 padding-bottom: 0;
1919}
1920
1921 /* local realizacao */
1922
1923 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__local-realizacao-content__title {
1924 font-size: 13px;
1925 color: #00488C;
1926 font-weight: 600;
1927 text-decoration: none!important;
1928 border: 1px solid #00488C;
1929 padding: 11px 14px;
1930 transition:.3s;
1931 border-radius: 4px;
1932 display: flex;
1933 gap: 5px;
1934 align-items: center;
1935 }
1936
1937 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__local-realizacao-content__title:hover {
1938 color: white;
1939 font-weight: 600!important;
1940 background: #08488C;
1941 }
1942
1943 .container-local-realizacao {
1944 padding:0;
1945 border:0;
1946 border-radius: unset;
1947 width: 100%;
1948 margin: 10px 0 0 0;
1949 box-shadow: none;
1950 display: flex;
1951 justify-content:center;
1952 align-items: flex-end;
1953 }
1954
1955 .icon-local-realizacao{
1956 color: #00488C;
1957 font-size: 13px;
1958 }
1959
1960
1961 @media only screen and (max-width: 768px){
1962
1963 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora-item__dia {
1964 font-size: 16px;
1965 }
1966
1967 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__title-item {
1968 font-size: 14px!important;
1969 }
1970
1971 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__valor-desconto{
1972 font-size: 15px;
1973 }
1974
1975 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__item-valor-investimento {
1976 font-size: 33px;
1977 }
1978
1979 .icon-local-realizacao {
1980 font-size: 12px;
1981 }
1982
1983 .modal-extensao_txteconomiza {
1984 font-size: 12px;
1985 }
1986
1987 .content-valores-descontos {
1988 padding-bottom: 8px!important;
1989 }
1990
1991 .ssp:not(.liferay-instance) .ssp-card-oferta-curso__desconto-content p{
1992 font-size: 14px!important;
1993 }
1994
1995
1996 }
1997
1998
1999
2000
2001/* final ajustes no card existente */
2002
2003
2004/* Novos elementos */
2005
2006.content-data-dias{
2007 padding:20px;
2008 padding-top:0;
2009 border-bottom: none !important;
2010}
2011
2012.content-valores-descontos{
2013 padding:20px 0 0 0;
2014 opacity: 1;
2015 height:auto;
2016 transition: 0.3s;
2017 overflow: hidden;
2018 border-top: 1px #E4E8F0 solid;
2019}
2020
2021.content-valores-descontos.hide-price{
2022
2023 padding:0;
2024 opacity: 0;
2025 height:0;
2026
2027}
2028
2029.content-btn-bolsa{
2030
2031 border-top: 1px #E4E8F0 solid;
2032 padding-top:20px;
2033
2034}
2035
2036.content-btn-bolsa.modifier-content-show{
2037
2038 padding-bottom: 20px;
2039
2040}
2041
2042.content-btn-bolsa.modifier-content-show .ou-separator-desconto{
2043 display:none;
2044}
2045
2046.content-btn-bolsa.modifier-content-show .btn-show-price{
2047 display:none;
2048}
2049
2050.content-buttons{
2051
2052 padding:20px 0 0 0;
2053
2054}
2055
2056.block-valor-desconto{
2057
2058 background-color:#F2F6FF;
2059 padding: 30px 10px 15px 10px;
2060 border-radius:12px;
2061 position: relative;
2062
2063}
2064
2065.block-valor-desconto .ssp-card-oferta-curso__item-valor-investimento span {
2066 font-size: 18px;
2067}
2068
2069.block-valor-total{
2070
2071 background-color:#F2F6FF;
2072 padding:15px 10px;
2073 border-radius:12px;
2074 position: relative;
2075
2076}
2077
2078.block-valor-total .ssp-card-oferta-curso__title-item{
2079 font-size: 16px!important;
2080 color: #454F63!important;
2081 font-weight:500!important;
2082}
2083
2084.block-valor-total .ssp-card-oferta-curso__item-valor-investimento{
2085 font-size:22px;
2086}
2087
2088.block-valor-total .ssp-card-oferta-curso__item-valor-investimento span{
2089 font-size:11px;
2090}
2091
2092.block-valor-total .ssp-card-oferta-curso__desconto-content p{
2093 font-size:14px;
2094 font-weight: 500;
2095}
2096
2097.tag-label-desconto{
2098
2099background-color:#B6FDCF;
2100border-radius: 15px;
2101padding:5px;
2102margin: -50px 20px 10px 20px;
2103
2104}
2105
2106.tag-label-desconto span, .tag-label-desconto small{
2107font-size: 16px!important;
2108font-weight: bold!important;
2109color: #454F63!important;
2110}
2111
2112
2113
2114.ou-separator-desconto{
2115 font-size: 16px;
2116 color: #454F63;
2117 font-weight: bold;
2118 display:flex;
2119 flex-wrap: nowrap;
2120 align-items: center;
2121 justify-content:space-between;
2122 gap: 15px;
2123 padding:20px 0;
2124}
2125
2126.ou-separator-desconto::after{
2127 content: "";
2128 height:2px;
2129 background-color:#E4E8F0;
2130 width: 100%;
2131 display: block;
2132}
2133
2134.ou-separator-desconto::before{
2135 content: "";
2136 height:2px;
2137 background-color:#E4E8F0;
2138 width: 100%;
2139 display: block;
2140}
2141
2142.btn-show-price{
2143
2144 background: unset;
2145 border: 0;
2146 font-size: 14px!important;
2147 color: #454F63!important;
2148
2149}
2150
2151.btn-show-price p{
2152 margin: 0 !important;
2153}
2154
2155.btn-show-price span{
2156 text-decoration: underline;
2157 font-weight: bold;
2158}
2159
2160@media only screen and (max-width: 768px){
2161
2162 .content-data-dias{
2163
2164 padding:20px 0;
2165
2166 }
2167
2168 .ssp-card-oferta-curso__local-realizacao-content__title {
2169
2170 font-size: 14px;
2171 display:flex;
2172 align-items: center;
2173 gap: 5px;
2174 padding: 10px 13px;
2175 }
2176
2177 .ssp-card-oferta-curso__local-realizacao-content__title i{
2178
2179 font-size: 11px;
2180 }
2181
2182 .tag-label-desconto span, .tag-label-desconto small {
2183 font-size: 13px!important;
2184 }
2185
2186 .tag-label-desconto {
2187 padding: 5px;
2188 margin: -50px 12px 10px 12px;
2189 }
2190
2191 .block-valor-desconto .ssp-card-oferta-curso__item-valor-investimento span {
2192 font-size: 18px;
2193 }
2194
2195 .content-buttons {
2196 padding: 10px 0 0 0;
2197 }
2198
2199
2200}
2201
2202/*final Novo card de ofertas*/
2203
2204/* form aprendizagem */
2205
2206[data-modal="modal"]{
2207 background-color: rgba(0,0,0,0.7);
2208 backdrop-filter: blur(10px);
2209 display:none;
2210}
2211
2212[data-modal="close-form-modal"]{
2213
2214 font-size: 22px;
2215 background: unset!important;
2216 color: white!important;
2217 display: flex;
2218 align-items: center;
2219 margin: 0;
2220 padding: 0;
2221 position:absolute;
2222 right:0;
2223 border:0;
2224 gap:5px;
2225 right: 2%;
2226 top: -2%;
2227
2228}
2229
2230[data-modal="close-form-modal"] i{
2231
2232 font-size:43px;
2233 height:fit-content;
2234
2235}
2236
2237.open-modal-form{
2238 position: fixed;
2239 top: 0;
2240 width: 100%;
2241 height: 100%;
2242 z-index: 100;
2243 display: flex;
2244 justify-content: center;
2245 align-items: center;
2246 overflow:auto;
2247
2248}
2249
2250.open-modal-form .ssp_ct_form_programe{
2251 animation-name: animatetop;
2252 animation-duration: .4s;
2253 position:relative;
2254}
2255
2256label .reference-mark {
2257color:#78849e;
2258}
2259.lexicon-icon-asterisk {
2260 color:#78849e;
2261}
2262.lexicon-icon-reload {
2263 margin-left:10px;
2264}
2265.ssp_title_form_programe{
2266 font-size: 42px!important;
2267 color: #ffffff!important;
2268 font-family: "Montserrat",sans-serif;
2269 font-weight:600;
2270 text-align:left;
2271}
2272.ssp_subtitle_form_programe {
2273 margin-top:0px!important;
2274
2275}
2276.ssp_subtitle_form_programe{
2277 font-size: 20px!important;
2278 color: #ffffff!important;
2279 font-family: "Montserrat",sans-serif;
2280 font-weight:600;
2281 text-align:left;
2282}
2283.lfr-ddm-form-page {
2284background-color: #fff;
2285border-radius: 12px 12px 0px 0px;
2286padding: 35px 15px!important;
2287}
2288.ssp:not(.liferay-instance) .form-group label {
2289 color: #78849E;
2290 font: normal normal 600 16px/19px Montserrat;
2291 padding-bottom: 10px;
2292}
2293.lfr-ddm-form-page-description {
2294display: none!important;
2295}
2296.lfr-ddm-form-page-title {
2297display: none!important;
2298}
2299.lfr-ddm-form-submit {
2300background-color: #0380F0;
2301 text-align: center;
2302 float: none!important;
2303 border: 1px solid #0380F0;
2304 border-radius: 6px;
2305 font-size: 16px;
2306 width: 245px;
2307 height: 50px;
2308}
2309.lfr-ddm-form-pagination-controls {
2310background-color: #fff;
2311 text-align: center;
2312 border-radius: 0px 0px 12px 12px;
2313 padding-bottom: 25px;
2314}
2315.ddm-form-name {
2316display: none!important;
2317}
2318.ddm-form-description {
2319display: none!important;
2320}
2321.ddm-form-builder-app {
2322margin-top:35px;
2323}
2324.taglib-captcha {
2325 display: flex;
2326}
2327.input-text-wrapper {
2328 left: 20px;
2329}
2330.lfr-ddm-form-pagination-controls {
2331 padding-top:0px!important;
2332 display:flex;
2333 justify-content:center;
2334 align-items: center;
2335 flex-flow:column;
2336}
2337@media only screen and (max-width: 1024px) {
2338
2339.open-modal-form{
2340
2341 align-items: flex-start;
2342
2343}
2344
2345.ddm-form-builder-app {
2346 margin-top: 15px;
2347}
2348
2349.ssp_title_form_programe{
2350font-size: 34px!important;
2351line-height: 1.2!important;
2352}
2353.ssp_subtitle_form_programe{
2354font-size:18px!important;
2355}
2356.taglib-captcha {
2357 display:block;
2358}
2359.input-text-wrapper {
2360 left:0;
2361}
2362.ssp_ct_form_programe {
2363 padding:0px;
2364 max-width:100%;
2365 padding:40px 20px;
2366}
2367
2368[data-modal="close-form-modal"]{
2369
2370 right: 20px;
2371 top: 0;
2372
2373}
2374
2375}
2376
2377.ssp:not(.liferay-instance) a.btn.btn-success.disabled{
2378 pointer-events: none;
2379 opacity: 0.5 !important;
2380 color: #FFF !important;
2381 background-color: #4CBF69 !important;
2382 cursor: not-allowed;
2383 border: none !important;
2384 font-size: 0.9rem !important;
2385}
2386
2387.slick-list.draggable {
2388 height: auto !important;
2389}
2390
2391.ssp:not(.liferay-instance) .ssp-image-opacity {
2392
2393 opacity: 1;
2394 object-fit: cover;
2395 object-position: center;
2396
2397}
2398
2399.ssp-option-group {
2400 text-align: left;
2401 font: normal normal 600 15px/19px Montserrat;
2402 letter-spacing: 0px;
2403 color: #004A8C;
2404}
2405.ssp-option {
2406 text-align: left;
2407 font: normal normal normal 15px/19px Montserrat;
2408 letter-spacing: 0px;
2409 color: #656565;
2410}
2411@media only screen and (max-width: 768px){
2412 .ssp-option-group {
2413 font: normal normal 600 15px/19px Montserrat;
2414 }
2415 .ssp-option {
2416 font: normal normal normal 15px/19px Montserrat;
2417 }
2418}
2419
2420.open-modal-form.lfr-ddm__default-page-header{
2421 display:none;
2422}
2423
2424/* css para funcionalidade de híbrido */
2425
2426.ssp-emed__vantagens-content.livre span{
2427 color: #FF9057!important;
2428}
2429.ssp-emed__vantagens-content.livre a:hover {
2430 color: white;
2431 background-color: #FF9057!important;;
2432 border: 1px solid #FF9057!important;;
2433}
2434.ssp-emed__vantagens-content.tecnico span{
2435 color: #F7BD23!important;
2436}
2437.ssp-emed__vantagens-content.tecnico a:hover {
2438 color: white;
2439 background-color: #F7BD23!important;;
2440 border: 1px solid #F7BD23!important;;
2441}
2442.ssp-emed__vantagens-content.ensino-medio-tecnico span{
2443 color: #C761CB!important;
2444}
2445.ssp-emed__vantagens-content.ensino-medio-tecnico a:hover{
2446 color: white;
2447 background-color: #C761CB!important;;
2448 border: 1px solid #C761CB!important;;
2449}
2450.ssp-emed__vantagens-content.extensao span{
2451 color: #3ECCA6!important;
2452}
2453.ssp-emed__vantagens-content.extensao a:hover{
2454 color: white;
2455 background-color: #3ECCA6!important;
2456 border: 1px solid #3ECCA6!important;
2457}
2458
2459/* Transferencias EMED */
2460
2461.emed-transferencias-space{
2462 max-width: 772px;
2463}
2464
2465.card-transferencias-emed {
2466 text-align: left;
2467}
2468
2469.card-transferencias-emed .ssp-emed__card-slider-body{
2470 padding: 30px;
2471}
2472
2473.card-pre-inscricao {
2474 text-align: center;
2475}
2476
2477.card-pre-inscricao .ssp-emed__card-slider-body{
2478 justify-content: space-evenly;
2479}
2480
2481.footer-card-card-pre-inscricao{
2482 margin-top: 48px;
2483 }
2484
2485.card-transferencias-emed, .card-pre-inscricao{
2486 span, strong{
2487 font-size: 24px;
2488 }
2489 span{
2490 font-weight: 500;
2491 }
2492 strong{
2493 font-weight: 700;
2494 }
2495 .transferencias-emed-rodape{
2496 margin-top:25px;
2497 span{
2498 font-size:0.9rem;
2499 font-weight: 400;
2500 }
2501 }
2502}
2503
2504@media only screen and (max-width: 768px){
2505 .card-pre-inscricao {
2506 text-align: left;
2507 }
2508
2509 .footer-card-card-pre-inscricao{
2510 margin-top: 24px;
2511 }
2512
2513 .footer-card-card-pre-inscricao strong{
2514 margin-top: 24px;
2515 font-size: 24px!important;
2516 }
2517
2518 .card-pre-inscricao .ssp-emed__card-slider {
2519 width: 100%;
2520 max-width: 329px;
2521 min-height: 390px;
2522 margin: 0;
2523 }
2524
2525 .card-pre-inscricao .ssp-emed__card-slider:nth-child(n+2){
2526 margin: 12px;
2527 }
2528
2529 .card-transferencias-emed, .card-pre-inscricao{
2530 span, strong{
2531 font-size: 16px;
2532 }
2533 .ssp-emed__section__titleCard{
2534 flex-basis: 0;
2535 margin-bottom: 24px!important;
2536 align-items: center!important;
2537 }
2538
2539 .ssp-emed__section__titleCard i{
2540 font-size: 24px!important;
2541 }
2542
2543 .ssp-emed__section__titleCard div{
2544 font-size: 20px !important;
2545 }
2546 }
2547
2548 .slick-area__item.card-pre-inscricao{
2549 min-height: 390px!important;
2550 }
2551
2552 .card-transferencias-emed .ssp-emed__card-slider{
2553 margin: 0;
2554 }
2555
2556 .card-transferencias-emed .ssp-emed__card-slider{
2557 margin: 0;
2558 min-height: 300px;
2559 }
2560
2561 .card-transferencias-emed .col-md-12{
2562 padding: 0;
2563 }
2564
2565 .card-transferencias-emed .transferencias-emed-rodape span{
2566 font-size: 12px;
2567 }
2568
2569 .ssp-ofertas-emed__filtro-content .btn-filtro{
2570 width:156px !important;
2571 font-size:14px !important;
2572 }
2573
2574 #titulo-emed{
2575 text-transform: uppercase;
2576 }
2577
2578 .emed-transferencias-space div:nth-child(n+2){
2579 padding-left:0;
2580 }
2581
2582 .emed-transferencias-space .slick-area-emed--md-bleed{
2583 position: inherit;
2584 }
2585
2586}
2587
2588</style>
2589
2590
2591 <#assign
2592
2593 prefix = "ssp"
2594 nomeVocabularioTipoCurso = 'tipo-de-curso'
2595
2596
2597 nomeVocabularioUnidades = 'unidades'
2598
2599 nomeVocabularioFormato = 'formato'
2600
2601 nomeFormato = ""
2602 nomeVocabularioModalidade = 'modalidade'
2603
2604 nomeModalidade = ""
2605
2606 normalizer = serviceLocator.findService("com.liferay.portal.kernel.util.FriendlyURLNormalizer")
2607
2608 journalArticle = getJournalArticle()
2609 />
2610
2611 <#if journalArticle?contains("#erro#")>
2612 erro
2613 <#else>
2614
2615 <#assign
2616
2617 categories = getCategorias(journalArticle.getResourcePrimKey())
2618
2619 document = saxReaderUtil.read(journalArticle.getContent()).getRootElement()
2620
2621 xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='dataEfetivaFTFieldSet']")
2622 dataEfetivaFTFieldSet = xPathSelector.selectSingleNode(document)
2623
2624 xPathSelector = saxReaderUtil.createXPath("//dynamic-element[@field-reference='dataEfetivaFT']")
2625 dataEfetiva = xPathSelector.selectSingleNode(document)
2626
2627 dataEfetivaSTR = dataEfetiva.elementText("dynamic-content")?string
2628
2629 articleId = journalArticle.getArticleId()
2630
2631 codigoFT = getStringValue(document,'codigoFT')
2632
2633 tituloComercial = journalArticle.getTitle()
2634
2635 objetivo = getStringValue(dataEfetivaFTFieldSet, 'objetivoComercial')
2636
2637 cargaHoraria = getStringValue(dataEfetivaFTFieldSet, 'cargaHorariaTotalFT')
2638
2639 oQueVouAprenderComercial = getStringValue(dataEfetivaFTFieldSet, 'oQueVouAprenderComercial')
2640
2641 comoVouAprenderComercial = getStringValue(dataEfetivaFTFieldSet, 'comoVouAprenderComercial')
2642
2643 possoFazerEsteCursoComercial = getStringValue(dataEfetivaFTFieldSet, 'possoFazerEsteCursoComercial')
2644
2645 tereiCertificadoComercial = getStringValue(dataEfetivaFTFieldSet, 'tereiCertificadoComercial')
2646
2647 tereiDiplomaComercial = getStringValue(dataEfetivaFTFieldSet, 'tereiDiplomaComercial')
2648
2649 precisoEstagiarComercial = getStringValue(dataEfetivaFTFieldSet, 'precisoEstagiarComercial')
2650
2651 comoMeMatricularComercial = getStringValue(dataEfetivaFTFieldSet, 'comoMeMatricularComercial')
2652
2653 oQueMaisPrecisoSaberComercial = getStringValue(dataEfetivaFTFieldSet, 'oQueMaisPrecisoSaberComercial')
2654
2655 normalizedModalidadeName = ""
2656
2657 />
2658
2659 <div style="display: none;">ElasticSearchNaoRetornarFiltro </div>
2660 <input type="hidden" name="codigoFT" value="${codigoFT}" />
2661 <input type="hidden" name="articleId" value="${articleId}" />
2662
2663 <input type="hidden" name="dataEfetivaSTR" value="${dataEfetivaSTR}" />
2664
2665 <input type="hidden" name="codUnidadeSelecionada" value="" />
2666
2667 <#list categories as category>
2668
2669 <#assign
2670 vocabulary = getVocabulary(category.getVocabularyId())
2671 />
2672
2673 <#if normalizer.normalize(vocabulary.getName()) == nomeVocabularioTipoCurso>
2674
2675 <#assign
2676 categoriaTipoCurso = category
2677 normalizedCategoryName = normalizer.normalize(category.getName())
2678 />
2679
2680 <input type="hidden" name="tipoCurso" value="${normalizedCategoryName}" />
2681
2682 <#elseif normalizer.normalize(vocabulary.getName()) == nomeVocabularioUnidades>
2683
2684 <input type="hidden" name="unidades" value="${category.getCategoryId()}" data-unidade="${category.getName()}" />
2685
2686 <#elseif normalizer.normalize(vocabulary.getName()) == nomeVocabularioModalidade>
2687
2688 <#assign
2689 categoriaModalidade = category
2690 normalizedModalidadeName = normalizer.normalize(category.getName())
2691
2692 />
2693
2694 <input type="hidden" name="modalidades" value="${normalizedModalidadeName}" />
2695
2696 <#elseif normalizer.normalize(vocabulary.getName()) == nomeVocabularioFormato>
2697 <#assign
2698 nomeFormato = category.getName()
2699 />
2700
2701
2702 <#assign idFormato = category.getCategoryId() />
2703 <#if nomeFormato == "Presencial + EAD" >
2704 <input type="hidden" name="formato" value="${category.getCategoryId()}" data-formato="Presencial + EAD" />
2705 <#else>
2706 <input type="hidden" name="formato" value="${category.getCategoryId()}" data-formato="${category.getName()}" />
2707 </#if>
2708 </#if>
2709 </#list>
2710
2711 <#assign xPathSelector = saxReaderUtil.createXPath("//dynamic-element[@field-reference='imagemComercial']")>
2712
2713 <#if xPathSelector.selectSingleNode(dataEfetivaFTFieldSet)?? >
2714
2715 <#assign imagemStr = xPathSelector.selectSingleNode(dataEfetivaFTFieldSet).getStringValue()>
2716 <#if imagemStr?contains("{") >
2717 <#assign
2718 imagemJson = jsonFactoryUtil.createJSONObject(imagemStr)
2719 imagemId = getterUtil.getInteger(imagemJson.get('fileEntryId'))
2720 dl = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")
2721 dlURLHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper")
2722 fileEntry = dl.getFileEntry(imagemId)
2723 imagemAlt = imagemJson.get('alt')
2724 imagemUrl = dlURLHelper.getDownloadURL(fileEntry, fileEntry.getFileVersion(), themeDisplay,null)
2725 />
2726 <#else>
2727 <#assign imagemUrl = "">
2728 </#if>
2729
2730 <#else>
2731 <#assign imagemUrl = "">
2732 </#if>
2733
2734
2735 <#assign
2736
2737 URLCodec = staticUtil["com.liferay.portal.kernel.util.URLCodec"]
2738 HtmlUtil = staticUtil["com.liferay.portal.kernel.util.HtmlUtil"]
2739 StringPool = staticUtil["com.liferay.petra.string.StringPool"]
2740 dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
2741
2742 xPathSelector = saxReaderUtil.createXPath("//dynamic-element[@field-reference='quaisMateriaisComercial']")
2743 quaisMateriaisComercialPDFStr = xPathSelector.selectSingleNode(dataEfetivaFTFieldSet).getStringValue()
2744 />
2745
2746 <#if quaisMateriaisComercialPDFStr?contains('classPK') >
2747
2748 <#assign
2749
2750 PDFJson = jsonFactoryUtil.createJSONObject(quaisMateriaisComercialPDFStr)
2751 classPKNumber = PDFJson.classPK?number
2752 fileEntry = dlFileEntryLocalService.getDLFileEntry(classPKNumber)
2753 folderId = fileEntry.getFolderId()
2754 title = fileEntry.getTitle()
2755
2756 quaisMateriaisComercialPDFUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + StringPool.SLASH + folderId + StringPool.SLASH + URLCodec.encodeURL(HtmlUtil.unescape(title))
2757 />
2758
2759 <#else>
2760 <#assign quaisMateriaisComercialPDFUrl = "">
2761 </#if>
2762
2763 <#function getFirstArticleStructure categoryId structureName>
2764 <#attempt>
2765 <#assign searchImpl = serviceLocator.findService("br.senac.search.api.Search")>
2766 <#assign companyId = themeDisplay.getCompanyId()>
2767 <#assign groupId = themeDisplay.getScopeGroupId()>
2768 <#assign articles = searchImpl.findArticlesByCategoryIds(companyId, groupId, structureName, (categoryId gt 0)?then([categoryId],[]), true, 0, 1)>
2769 <#if articles?size gt 0>
2770 <#return articles?first>
2771 </#if>
2772 <#return ''>
2773 <#recover>
2774 <#return ''>
2775 </#attempt>
2776 </#function>
2777
2778
2779 <#assign
2780 nomeTipoCurso = categoriaTipoCurso.getName()
2781 nomeCategoriaTipoCurso = categoriaTipoCurso.getName()
2782 idTipoCurso = categoriaTipoCurso.getCategoryId()
2783 />
2784 <input type="hidden" name="nomeCategoriaTipoCurso" value="${nomeCategoriaTipoCurso}" />
2785
2786 <#if nomeTipoCurso?contains("Ensino Médio Técnico")>
2787
2788 <#assign
2789 nomeTipoCurso = categoriaTipoCurso.getName()
2790 />
2791
2792 <input type="hidden" name="idTipoCurso" value="${idTipoCurso}" />
2793
2794 <#elseif (nomeTipoCurso?contains("cnico") && !nomeTipoCurso?contains("EAD") ) || nomeTipoCurso?contains("Livre") >
2795
2796 <#assign
2797 nomeTipoCurso = "Cursos "+ categoriaTipoCurso.getName() + "s"
2798 />
2799
2800 <#else>
2801 <#assign
2802 nomeTipoCurso = categoriaTipoCurso.getName()
2803 />
2804 <#assign nomeTipoCurso = categoriaTipoCurso.getName()/>
2805
2806 </#if>
2807
2808 <#-- Caso o curso seja do formato hibrido, busca o webcontent da pasta Onde as aulas vão acontecer - hibrido -->
2809 <#if nomeFormato == "Presencial + EAD">
2810 <#assign
2811 hibridoStructure = getFirstArticleStructure(idFormato,"formato-hibrido")
2812 documentHibrido = saxReaderUtil.read(hibridoStructure.getContent())
2813 rootElement = documentHibrido.getRootElement()
2814 xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='textoFormatoHibrido']")
2815 />
2816 <#if xPathSelector.selectSingleNode(rootElement)?? >
2817 <#assign txtHibrido = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim />
2818 <input type="hidden" name="textoFormatoHibrido" value="${txtHibrido}"/>
2819 </#if>
2820 </#if>
2821
2822
2823 <#-- dados de compartilhamento -->
2824 <@liferay_util["html-top"]>
2825 <meta name="image" property="og:image" content="${imagemUrl}">
2826 <meta property="og:image:width" content="1024">
2827 </@>
2828 <#-- dados de compartilhamento -->
2829
2830
2831 <#assign
2832 webContentServiceUtil = serviceLocator.findService("br.senac.services.service.WebContentServiceUtil")
2833
2834 temasMercadologicos = webContentServiceUtil.getTemasPorArticleId(themeDisplay.getScopeGroupId(), journalArticle)
2835 categoriesIdiomas = temasMercadologicos?filter(c -> c.getName()?lower_case?contains("idioma"))
2836 hasIdiomas = categoriesIdiomas?has_content
2837 hasEMED = normalizedModalidadeName?contains("ensino-medio")
2838 />
2839
2840 <#function getManutencao>
2841
2842 <#assign manutencaoStructure = getFirstArticleStructure(idTipoCurso,"manutencoes") />
2843 <#if manutencaoStructure == "">
2844 <#return {"bolsa":"", "compra":"", "rodape":""} />
2845 </#if>
2846 <#assign
2847 txtBolsa = ""
2848 txtCompra = ""
2849 txtRodape = ""
2850 content = saxReaderUtil.read(manutencaoStructure.getContent())
2851 rootElement = content.getRootElement()
2852 />
2853 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='chkManutencaoBolsa']") />
2854 <#if xPathSelector.selectSingleNode(rootElement).getStringValue()?trim == "true" >
2855 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='txtManutencaoBolsa']") />
2856 <#assign txtBolsa = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim />
2857 </#if>
2858 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='chkManutencaoCompra']") />
2859 <#if xPathSelector.selectSingleNode(rootElement).getStringValue()?trim == "true" >
2860 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='txtManutencaoCompra']") />
2861 <#assign txtCompra = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim />
2862 </#if>
2863 <#if txtCompra != "" || txtBolsa != "">
2864 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='txtManutencaoRodape']") />
2865 <#assign txtRodape = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim />
2866 </#if>
2867
2868 <#return {"bolsa": txtBolsa, "compra": txtCompra, "rodape": txtRodape} />
2869
2870 </#function>
2871
2872 <#assign manutencao = getManutencao() />
2873 <input type="hidden" id="manutencao-compra" value="${manutencao.compra}" />
2874 <input type="hidden" id="manutencao-bolsa" value="${manutencao.bolsa}" />
2875
2876 <div class="${prefix}-header-curso__image">
2877 <img class="ssp-image-opacity" src="${imagemUrl}" <#if imagemAlt?length != 0> alt="${imagemAlt}"</#if> loading="lazy">
2878 <div class="${prefix}-header-curso__tag-formato bg-nivel-${normalizedCategoryName}">
2879 <#if hasIdiomas>
2880 <span>${nomeTipoCurso}</span>
2881 <#else>
2882 <span>${nomeTipoCurso} | ${nomeFormato}</span>
2883 </#if>
2884 </div>
2885 </div>
2886
2887 <section id="curso-info">
2888 <div class="ssp-card-detalhe-curso__container">
2889
2890 <div class="ssp-card-detalhe-curso">
2891
2892 <div class="ssp-card-detalhe-curso__tag-color-tipo bg-nivel-${normalizedCategoryName}"></div>
2893
2894 <div class="container">
2895
2896 <#if nomeFormato?contains("ao-vivo") >
2897 <span class="ssp-card-detalhe-curso__tag-ao-vivo">Senac Online<i class="fas fa-signal-stream icon-ao-vivo" aria-hidden="true"></i>ao vivo</span>
2898
2899 </#if>
2900
2901 <div class="ssp-card-detalhe-curso__content">
2902 <div>
2903
2904 <!-- <#if nomeTipoCurso?contains("Ensino Médio Técnico")>
2905
2906 <p class="ssp-txt-emed__inscricoes-aberta">Inscrições abertas</p>
2907
2908 </#if> -->
2909
2910 <!-- rever a lógica da chama de inscricoes abertas -->
2911
2912 <h1 class="ssp-card-detalhe-curso__title">${tituloComercial}</h1>
2913 <input type="hidden" name="tituloComercial" value="${tituloComercial}" />
2914
2915 <div class="ssp-card-detalhe-curso__description">${objetivo}</div>
2916 </div>
2917 <div class="ssp-card-detalhe-curso__secunday-info-content">
2918
2919 <#if nomeFormato?contains("ao-vivo") >
2920 <span class="d-md-none">
2921 <a class="ssp-card-detalhe-curso__secunday-info-back-link" href="#" style="color: #ff9057;">${categoriaTipoCurso.getName()}</a>
2922 <#if !hasIdiomas>
2923 <span> | ${nomeFormato}</span>
2924 </#if>
2925 </span>
2926
2927 <#else>
2928 <span class="d-md-none">
2929 <a class="ssp-card-detalhe-curso__secunday-info-back-link" href="#">${categoriaTipoCurso.getName()}</a>
2930 <#if !hasIdiomas>
2931 <span> | ${nomeFormato}</span>
2932 </#if>
2933 </span>
2934
2935 </#if>
2936
2937 <p class="ssp-card-detalhe-curso__secundary-info-carga-horaria">${cargaHoraria} horas</p>
2938 </div>
2939 </div>
2940 <div class="ssp-saiba-mais-curso-accordion">
2941
2942 <#if (possoFazerEsteCursoComercial?length > 0)>
2943 <div class="ssp-saiba-mais-curso-accordion__body">
2944 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Posso fazer este curso?</div>
2945 <div class="ssp-saiba-mais-curso-accordion__contents">${possoFazerEsteCursoComercial}</div>
2946 </div>
2947
2948 </#if>
2949
2950 <#if (oQueVouAprenderComercial?length > 0) >
2951 <div class="ssp-saiba-mais-curso-accordion__body">
2952 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">O que vou aprender?</div>
2953 <div class="ssp-saiba-mais-curso-accordion__contents" id="plano-curso">${oQueVouAprenderComercial}</div>
2954 </div>
2955 </#if>
2956
2957 <#if (comoVouAprenderComercial?length > 0)>
2958 <div class="ssp-saiba-mais-curso-accordion__body">
2959 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Como vou aprender?</div>
2960 <div class="ssp-saiba-mais-curso-accordion__contents">${comoVouAprenderComercial}</div>
2961 </div>
2962 </#if>
2963
2964
2965 <div class="ssp-saiba-mais-curso-accordion__body">
2966 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Quais materiais vou precisar?</div>
2967 <#if nomeTipoCurso?contains("Ensino Médio Técnico") >
2968 <div class="ssp-saiba-mais-curso-accordion__contents">
2969 Desenvolvemos os materiais e disponibilizamos tudo para você!<br/><br/>Também temos bibliotecas físicas e virtuais, além de parceria com a Microsoft, que garante acesso à plataforma Teams para conferir aulas, avisos e materiais da sua turma.
2970 </div>
2971 <#else>
2972 <#if (quaisMateriaisComercialPDFUrl?length > 0)>
2973 <div class="ssp-saiba-mais-curso-accordion__contents">
2974 <a href="${quaisMateriaisComercialPDFUrl}" target="_blank"><i class="fa fa-download" aria-hidden="true"></i> Confira os materiais que você precisará.</a>
2975 </div>
2976 <#else>
2977 <div class="ssp-saiba-mais-curso-accordion__contents">Inicialmente, não há lista de materiais para este curso. Mas confirme em aula se será necessário comprar algum item.</div>
2978 </#if>
2979 </#if>
2980 </div>
2981
2982 <#if (tereiDiplomaComercial?length > 0)>
2983 <div class="ssp-saiba-mais-curso-accordion__body">
2984 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Terei diploma?</div>
2985 <div class="ssp-saiba-mais-curso-accordion__contents">${tereiDiplomaComercial}</div>
2986 </div>
2987 </#if>
2988
2989 <#if (tereiCertificadoComercial?length > 0)>
2990 <div class="ssp-saiba-mais-curso-accordion__body">
2991 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Terei certificado?</div>
2992 <div class="ssp-saiba-mais-curso-accordion__contents">${tereiCertificadoComercial}</div>
2993 </div>
2994 </#if>
2995
2996 <#if (comoMeMatricularComercial?length > 0)>
2997 <div class="ssp-saiba-mais-curso-accordion__body">
2998 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Como me matricular?</div>
2999 <div class="ssp-saiba-mais-curso-accordion__contents">${comoMeMatricularComercial}</div>
3000 </div>
3001 </#if>
3002
3003 <#if (precisoEstagiarComercial?length > 0)>
3004 <div class="ssp-saiba-mais-curso-accordion__body">
3005 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Preciso estagiar?</div>
3006 <div class="ssp-saiba-mais-curso-accordion__contents">${precisoEstagiarComercial}</div>
3007 </div>
3008 </#if>
3009
3010
3011 <#if (oQueMaisPrecisoSaberComercial?length > 0)>
3012 <div class="ssp-saiba-mais-curso-accordion__body">
3013 <#if nomeTipoCurso?contains("Ensino Médio Técnico") >
3014 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Estudo em outra escola, como funciona a transferência?</div>
3015 <#else>
3016 <div class="ssp-saiba-mais-curso-accordion__heading" role="button">O que mais preciso saber?</div>
3017 </#if>
3018 <div class="ssp-saiba-mais-curso-accordion__contents">${oQueMaisPrecisoSaberComercial}</div>
3019 </div>
3020 </#if>
3021
3022 <!-- Info para EMED -->
3023
3024 <#if nomeTipoCurso?contains("Ensino Médio Técnico") >
3025
3026 <div class="ssp-emed__vantagens-content">
3027
3028 <p>Conheça <span>mais vantagens</span> do Ensino Médio Técnico no Senac.</p>
3029 <a href="/ensino-medio-tecnico" class="btn">Saiba mais</a>
3030
3031 </div>
3032
3033 <#elseif nomeFormato?contains("Presencial") && nomeFormato?contains("EAD") && !nomeTipoCurso?contains("Idioma")>
3034
3035 <!-- Info para híbrido -->
3036
3037 <div class="ssp-emed__vantagens-content ${normalizedCategoryName}">
3038
3039 <p>Quer saber mais sobre nossos <span>cursos com aulas presenciais e a distância</span>?</p>
3040 <a href="/presencial-ead" class="btn">Saiba mais</a>
3041
3042 </div>
3043
3044 <#else>
3045
3046 <!-- <div class="ssp-emed__vantagens-content ${normalizedCategoryName}">
3047
3048 <p>Conheça <span>mais vantagens</span>?</p>
3049 <a href="#" class="btn">Saiba mais</a>
3050
3051 </div> -->
3052
3053 </#if>
3054
3055
3056 <!-- Slider para cursos de Cozinheiro e Garçom -->
3057
3058 <#if codigoFT=="14125">
3059
3060 <div>
3061
3062 <h6 style="font-family: Montserrat;font-size: 20px;font-weight: 600;color: #2a2e43;padding: 15px;border-top: 1px solid #e7e7e7;">Quer participar do processo seletivo? Confira todas as etapas:</h6>
3063
3064
3065 <div class="slider-passo-passo__cursos-cozinha">
3066
3067 <div class="ssp-passo-passo-cozinheiro_card">
3068
3069 <div>
3070
3071 <h6 class="ssp-passo-passo-cozinheiro_card-title">Abertura do processo</h6>
3072
3073 <p class="ssp-passo-passo-cozinheiro_card-txt">Primeiro, confirme se você atende aos pré-requisitos para se inscrever em <a class="ssp-passo-passo-cozinheiro_card-link" href="/bolsas-de-estudo">bolsas de estudo</a>. Depois, confira no campo "Como me matricular?" o cronograma de abertura das inscrições do processo seletivo. </p>
3074
3075 </div>
3076
3077
3078 </div>
3079
3080 <div class="ssp-passo-passo-cozinheiro_card">
3081
3082 <div>
3083
3084 <h6 class="ssp-passo-passo-cozinheiro_card-title">Inscrições</h6>
3085
3086 <p class="ssp-passo-passo-cozinheiro_card-txt">Quando o processo seletivo abrir, faça login no site, acesse a página do curso, selecione a unidade e realize a inscrição, que é gratuita. As inscrições podem ser encerradas antes da data divulgada, quando alcançarmos 10 inscrições por vaga.</p>
3087
3088 </div>
3089
3090 </div>
3091
3092 <div class="ssp-passo-passo-cozinheiro_card">
3093
3094 <div>
3095
3096 <h6 class="ssp-passo-passo-cozinheiro_card-title">Convocação para entrevista</h6>
3097
3098 <p class="ssp-passo-passo-cozinheiro_card-txt">
3099 Ao finalizar sua inscrição no processo seletivo, você receberá uma confirmação no e-mail que cadastrou no nosso site. Também vamos enviar para o seu e-mail o convite para a entrevista e as orientações sobre envio dos documentos necessários.
3100 </p>
3101
3102
3103 </div>
3104
3105 </div>
3106
3107 <div class="ssp-passo-passo-cozinheiro_card">
3108
3109 <div>
3110
3111 <h6 class="ssp-passo-passo-cozinheiro_card-title">Entrevista</h6>
3112
3113 <p class="ssp-passo-passo-cozinheiro_card-txt">A entrevista será realizada presencialmente nos hotéis-escola Senac. Se você não participar, sua inscrição é cancelada automaticamente. Lembre-se: antes da entrevista, envie por e-mail os documentos necessários.
3114 </p>
3115
3116
3117 </div>
3118
3119 </div>
3120
3121 <div class="ssp-passo-passo-cozinheiro_card">
3122
3123 <div>
3124
3125 <h6 class="ssp-passo-passo-cozinheiro_card-title">Resultado</h6>
3126
3127 <p class="ssp-passo-passo-cozinheiro_card-txt">
3128 Até 7 dias depois de ter feito a entrevista, você receberá a resposta por e-mail sobre o resultado do processo seletivo.
3129 </p>
3130
3131 </div>
3132
3133 </div>
3134
3135 <div class="ssp-passo-passo-cozinheiro_card">
3136
3137 <div>
3138
3139 <h6 class="ssp-passo-passo-cozinheiro_card-title">Matrícula</h6>
3140
3141 <p class="ssp-passo-passo-cozinheiro_card-txt">
3142 Se receber a aprovação, a próxima etapa é fazer a matrícula. Lembre-se de enviar os documentos, inclusive os exames solicitados no e-mail.
3143 </p>
3144
3145 </div>
3146
3147 </div>
3148
3149 <div class="ssp-passo-passo-cozinheiro_card">
3150
3151 <div>
3152
3153 <h6 class="ssp-passo-passo-cozinheiro_card-title">Início do curso!</h6>
3154
3155 <p class="ssp-passo-passo-cozinheiro_card-txt">
3156 Teve aprovação em todas as etapas? Parabéns!
3157
3158 Sua jornada de transformação profissional
3159
3160 começará com o início das aulas. Mas se não
3161
3162 conseguiu dessa vez, não desanime. Sempre estamos com
3163
3164 vagas abertas para diversos cursos.
3165 </p>
3166
3167 </div>
3168
3169 </div>
3170
3171
3172 </div>
3173
3174 </div>
3175
3176 <#elseif codigoFT=="15390" >
3177
3178 <div>
3179
3180 <h6 style="font-family: Montserrat;font-size: 20px;font-weight: 600;color: #2a2e43;padding: 15px;border-top: 1px solid #e7e7e7;">Quer participar do processo seletivo? Confira todas as etapas:</h6>
3181
3182 <div class="slider-passo-passo__cursos-cozinha">
3183
3184 <div class="ssp-passo-passo-cozinheiro_card">
3185
3186 <div>
3187
3188 <h6 class="ssp-passo-passo-cozinheiro_card-title">Abertura do processo</h6>
3189
3190 <p class="ssp-passo-passo-cozinheiro_card-txt">Primeiro, confirme se você atende aos pré-requisitos para se inscrever em <a class="ssp-passo-passo-cozinheiro_card-link" href="/bolsas-de-estudo">bolsas de estudo</a>. Depois, confira no campo "Como me matricular?" o cronograma de abertura das inscrições do processo seletivo. </p>
3191
3192 </div>
3193
3194
3195 </div>
3196
3197 <div class="ssp-passo-passo-cozinheiro_card">
3198
3199 <div>
3200
3201 <h6 class="ssp-passo-passo-cozinheiro_card-title">Inscrições</h6>
3202
3203 <p class="ssp-passo-passo-cozinheiro_card-txt">Quando o processo seletivo abrir, faça login no site, acesse a página do curso, selecione a unidade e realize a inscrição, que é gratuita. As inscrições podem ser encerradas antes da data divulgada, quando alcançarmos 10 inscrições por vaga.</p>
3204
3205 </div>
3206
3207 </div>
3208
3209 <div class="ssp-passo-passo-cozinheiro_card">
3210
3211 <div>
3212
3213 <h6 class="ssp-passo-passo-cozinheiro_card-title">Convocação para entrevista</h6>
3214
3215 <p class="ssp-passo-passo-cozinheiro_card-txt">
3216 Ao finalizar sua inscrição no processo seletivo, você receberá uma confirmação no e-mail que cadastrou no nosso site. Também vamos enviar para o seu e-mail o convite para a entrevista e as orientações sobre envio dos documentos necessários.
3217 </p>
3218
3219
3220 </div>
3221
3222 </div>
3223
3224 <div class="ssp-passo-passo-cozinheiro_card">
3225
3226 <div>
3227
3228 <h6 class="ssp-passo-passo-cozinheiro_card-title">Entrevista</h6>
3229
3230 <p class="ssp-passo-passo-cozinheiro_card-txt">A entrevista será realizada presencialmente nos hotéis-escola Senac. Se você não participar, sua inscrição é cancelada automaticamente. Lembre-se: antes da entrevista, envie por e-mail os documentos necessários.
3231 </p>
3232
3233
3234 </div>
3235
3236 </div>
3237
3238 <div class="ssp-passo-passo-cozinheiro_card">
3239
3240 <div>
3241
3242 <h6 class="ssp-passo-passo-cozinheiro_card-title">Resultado</h6>
3243
3244 <p class="ssp-passo-passo-cozinheiro_card-txt">
3245 Até 7 dias depois de ter feito a entrevista, você receberá a resposta por e-mail sobre o resultado do processo seletivo.
3246 </p>
3247
3248 </div>
3249
3250 </div>
3251
3252 <div class="ssp-passo-passo-cozinheiro_card">
3253
3254 <div>
3255
3256 <h6 class="ssp-passo-passo-cozinheiro_card-title">Matrícula</h6>
3257
3258 <p class="ssp-passo-passo-cozinheiro_card-txt">
3259 Se receber a aprovação, a próxima etapa é fazer a matrícula. Lembre-se de enviar os documentos, inclusive os exames solicitados no e-mail.
3260 </p>
3261
3262 </div>
3263
3264 </div>
3265
3266 <div class="ssp-passo-passo-cozinheiro_card">
3267
3268 <div>
3269
3270 <h6 class="ssp-passo-passo-cozinheiro_card-title">Início do curso!</h6>
3271
3272 <p class="ssp-passo-passo-cozinheiro_card-txt">
3273 Teve aprovação em todas as etapas? Parabéns!
3274
3275 Sua jornada de transformação profissional
3276
3277 começará com o início das aulas. Mas se não
3278
3279 conseguiu dessa vez, não desanime. Sempre estamos com
3280
3281 vagas abertas para diversos cursos.
3282 </p>
3283
3284 </div>
3285
3286 </div>
3287
3288
3289 </div>
3290
3291 </div>
3292
3293 </#if>
3294
3295 <!-- Final Slider para cursos de Cozinheiro e Garçom -->
3296
3297 </div>
3298 </div>
3299 </div>
3300 </div>
3301 </section>
3302 <#assign
3303 dNoneSelectUnidade = ''
3304 mostrarUnidades = !nomeFormato?contains("ao-vivo")
3305 isEMED = normalizedCategoryName?contains("ensino-medio-tecnico")
3306 isAprendizagem = normalizedCategoryName?contains("jovem-aprendiz")
3307 />
3308
3309 <#if nomeFormato?contains("ao-vivo") >
3310 <#assign dNoneSelectUnidade = 'd-none' />
3311 </#if>
3312
3313 <#-- Obter data matricula emed -->
3314 <#if isEMED>
3315 <#function getMatriculaEMED >
3316 <#assign emedTags = getFirstArticleStructure(0,"emed-tags")
3317 document = saxReaderUtil.read(emedTags.getContent())
3318 rootElement = document.getRootElement()
3319 xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='dataInicioPeriodoMatricula']") />
3320 <#if xPathSelector.selectSingleNode(rootElement)?? >
3321 <#assign dataInicio = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim />
3322 </#if>
3323 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='horaInicioMatricula']") />
3324 <#if xPathSelector.selectSingleNode(rootElement)?? >
3325 <#assign horaInicio = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim />
3326 </#if>
3327
3328 <#setting time_zone="America/Sao_Paulo">
3329 <#assign today = .now?datetime />
3330 <#assign emeddatetime = (dataInicio + " " + horaInicio)?datetime["yyyy-MM-dd HH:mm"] />
3331 <#assign matriculaAberta = today gt emeddatetime />
3332
3333 <#return {"dataInicio" : dataInicio, "horaInicio" : horaInicio, "aberta" : matriculaAberta}>
3334 </#function>
3335
3336 <#assign matriculaEMED = getMatriculaEMED() />
3337
3338 </#if>
3339
3340 <#if isEMED || isAprendizagem>
3341 <section class="ssp-section-selecione-unidade ssp-section ${dNoneSelectUnidade}" style="background:#2B2E41">
3342 <div class="container">
3343
3344 <div class="ssp-container-selecione-unidade" style="max-width: 815px; margin: auto;">
3345 <div class="ssp-container_ofertas__title">
3346 <h3 class="ssp-aviso-novas-turmas__title selecione-unidade-title-custom">
3347
3348 Selecione uma unidade para conhecer as próximas turmas:
3349
3350 </h3>
3351 </div>
3352
3353 <div class="ssp-container__form-select">
3354 <select id="unidades-ofertas" class="form-control" name="unidades-ofertas">
3355 <option value="">Selecione uma unidade</option>
3356 </select>
3357 </div>
3358
3359 </div>
3360
3361 <div class="ssp-ofertas__box-endereco-unidade">
3362 <i class="icon-map-adress"></i>
3363 <a href="" target="_blank" class="ssp-ofertas__endereco-unidade"></a>
3364 </div>
3365
3366 </div>
3367
3368 </section>
3369 <#else>
3370 <section class="ssp-section-selecione-unidade ssp-section" style="background:#2B2E41">
3371 <div class="container">
3372 <div class="ssp-container-selecione-unidade ${dNoneSelectUnidade} row no-gutters mb-lg-8">
3373 <div class="ssp-container_ofertas__title">
3374 <h3 class="ssp-aviso-novas-turmas__title selecione-unidade-title-custom ssp-detalhe-curso-titulo-filter">Escolha a unidade e conheça as turmas disponíveis:</h3>
3375 </div>
3376 </div>
3377 <div class="row ssp-filters-px justify-content-center">
3378 <div class="col-12 col-lg ${dNoneSelectUnidade} px-md-0 order-1">
3379 <div class="ssp-container-selecione-unidade row no-gutters">
3380 <div class="col-12">
3381 <div class="ssp-container__form-select mx-auto">
3382 <label for="unidades-ofertas" class="ssp-switch-label ssp-switch-label-section mx-0 d-none d-lg-block">Selecione uma unidade:</label>
3383 <select id="unidades-ofertas" class="form-control" name="unidades-ofertas"></select>
3384 </div>
3385 </div>
3386 </div>
3387 </div>
3388
3389 <div id="ssp-alternadores" class="col mt-5 mt-lg-0 ${(isEMED || isAprendizagem)?then('d-none', '')} px-md-0 order-3 order-lg-2" style="max-width: 480px; display: none;">
3390 <div class="row no-gutters ssp-switch-label ssp-switch-label-section mx-0">Filtre por:</div>
3391 <div class="row no-gutters mt-4">
3392 <#assign
3393 mostrarFiltroInscricao = (nomeTipoCurso?contains("Técnico") && !nomeTipoCurso?contains("Ensino Médio")) || nomeTipoCurso?contains("Livre") || nomeTipoCurso?contains("Extensão")
3394 mostrarFiltroBolsa = (nomeTipoCurso?contains("Técnico") && !nomeTipoCurso?contains("Ensino Médio")) || nomeTipoCurso?contains("Livre")
3395 />
3396
3397
3398 <#if mostrarFiltroInscricao && mostrarFiltroBolsa>
3399 <div class="ssp-switch-divider d-md-none my-4"></div>
3400 </#if>
3401
3402 <#if mostrarFiltroInscricao>
3403 <div class="col-12 col-lg">
3404 <div class="d-flex justify-content-between justify-content-lg-start">
3405 <label class="ssp-switch order-2 order-lg-1">
3406 <input type="checkbox" id="chkInscricao">
3407 <span class="ssp-switch-slider round"></span>
3408 </label>
3409 <label for="chkInscricao" class="ssp-switch-label order-1 order-lg-2">Comprar agora</label>
3410 </div>
3411 </div>
3412 </#if>
3413
3414
3415 <#if mostrarFiltroBolsa>
3416 <div class="col-12 col-lg">
3417 <div class="d-flex justify-content-between justify-content-lg-start">
3418 <label class="ssp-switch order-2 order-lg-1">
3419 <input type="checkbox" id="chkBolsa">
3420 <span class="ssp-switch-slider ssp-switch-slider-secondary round"></span>
3421 </label>
3422 <label for="chkBolsa" class="ssp-switch-label order-1 order-lg-2">Bolsas de estudo</label>
3423 </div>
3424 </div>
3425 </#if>
3426 </div>
3427 </div>
3428
3429 <div class="col-12 order-2 order-lg-3">
3430 <div class="row ${mostrarUnidades?then('text-center text-lg-left', 'text-center')}">
3431 <div id="msgFiltroAplicado" class="col-12 ssp-switch-label-message" style="display: none;">
3432 <div class="row no-gutters">
3433 <span class="col-12 ssp-col-lg-without ${mostrarUnidades?then('', 'ml-auto')}">Filtro aplicado com sucesso. </span>
3434 <span class="col-12 ssp-col-lg-without ${mostrarUnidades?then('', 'mr-auto')}">Confira o resultado.</span>
3435 </div>
3436 </div>
3437 </div>
3438 </div>
3439 </div>
3440
3441 <div class="ssp-ofertas__box-endereco-unidade ${dNoneSelectUnidade}">
3442 <i class="icon-map-adress"></i>
3443 <a href="" target="_blank" class="ssp-ofertas__endereco-unidade"></a>
3444 </div>
3445
3446 </div>
3447
3448 </section>
3449 </#if>
3450
3451
3452 <!-- EMED -->
3453 <section class="ssp-ofertas-emed__section d-none">
3454
3455 <h2 class="title-section-white" id="titulo-emed"></h2>
3456
3457 <div class="ssp-ofertas-emed__filtro-content container">
3458
3459 <button type="button" value="0010" class="btn btn-filtro btn--filtro-ativo">Turmas - 1º ano</button>
3460
3461 <button type="button" value="0" class="btn btn-filtro">Transferências</button>
3462
3463 </div>
3464
3465 <div class="ssp-ofertas-emed__card-container">
3466
3467 <div class="ssp-slick-ofertas-emed">
3468
3469 </div>
3470
3471 </div>
3472
3473 </section>
3474
3475 <!-- FIM EMED -->
3476
3477 <section id="ssp-section-response" class="ssp-section" style="background: #2a2e43; position: relative;">
3478
3479 <div id="turmas-container" class="container">
3480
3481 <div id="informe-novas-turmas">
3482 <div style="display: flex; flex-wrap: nowrap;">
3483
3484 <a class="prev-mobile d-lg-none d-xl-none nextPrevOpacity" href="#" >
3485 <i class="fas fa-chevron-left"></i>
3486 </a>
3487
3488 <h2 id="ssp-h3-turmas" class="ssp-section-title ssp-card-oferta-curso__section-title text-capitalize" style="font-weight: bold;text-transform: uppercase; display: none;">Turmas</h2>
3489
3490 <a href="#" class="next-mobile d-lg-none d-xl-none" >
3491 <i class="fas fa-chevron-right"></i>
3492 </a>
3493
3494 </div>
3495
3496
3497 <div class="oferta-slick-area oferta-slick-area--md-bleed slider-container">
3498
3499 </div>
3500 </div>
3501
3502 <#if !isEMED>
3503 <div class="ssp-card-oferta-curso__sem-vaga d-none" style="margin: auto;">
3504
3505 <h3 class="ssp-card-oferta-curso__sem-vaga-title">
3506 Estude com a gente na próxima turma!
3507 </h3>
3508
3509 <p class="ssp-card-oferta-curso__sem-vaga-description">
3510 Registre seu interesse e avisaremos você quando surgirem novas vagas.
3511 </p>
3512 </div>
3513 <#else>
3514
3515 <div class="card-transferencias-emed container p-0 d-none emed-transferencias-space">
3516 <div>
3517 <div class="col-md-12 col-xs-12 pb-10">
3518 <div>
3519 <div class="slick-area__item">
3520
3521 <div class="ssp-emed__card-slider">
3522
3523 <div class="ssp-emed__card-slider-body">
3524 <h2 class="ssp-emed__section__titleCard">
3525 <i class="fal fa-users-class"></i>
3526 <div><lfr-editable type="rich-text">Turmas</lfr-editable></div>
3527 </h2>
3528 <lfr-editable type="rich-text">
3529 <div>
3530 <strong>Transferências: estudantes de outras escolas e estudantes Senac</strong>
3531 <div style="display:grid;gap:20px;">
3532 <span></span>
3533 <span>1º e 2º ano: a partir de 2025</span>
3534 <span></span>
3535 </div>
3536 </div>
3537
3538 <div class="transferencias-emed-rodape">
3539 <span>As vagas serão abertas mediante disponibilidade e as datas para transferências divulgadas em breve.</span>
3540 </div>
3541
3542 </lfr-editable>
3543 </a>
3544 </div>
3545
3546 </div>
3547
3548 </div>
3549 </div>
3550 </div>
3551 </div>
3552 </div>
3553
3554 <#if matriculaEMED.aberta> <div class="sem-vaga-emed container p-0 d-none">
3555 <#else> <div class="sem-vaga-emed container p-0 d-none emed-transferencias-space">
3556 </#if>
3557 <div>
3558 <div class="col-md-12 col-xs-12 pb-10">
3559
3560 <!--slick slider-->
3561 <div class="slick-area-emed slick-area-emed--md-bleed">
3562
3563 <#if matriculaEMED.aberta>
3564 <div class="slick-area__item">
3565
3566 <div class="ssp-emed__card-slider">
3567
3568 <div class="ssp-emed__card-slider-body">
3569 <h2 class="ssp-emed__section__titleCard">
3570 <i class="fal fa-users-class"></i>
3571 <div><lfr-editable type="rich-text">Turmas</lfr-editable></div>
3572 </h2>
3573 <lfr-editable type="rich-text">
3574 <div class="ssp-emed__section__introCard"><strong>Estude com a gente na próxima turma!</strong></div>
3575 <div class="ssp-emed__section__textCard">
3576 <span class="texto">
3577 Registre seu interesse e avisaremos você sobre a abertura das inscrições para o próximo ano.
3578 </span>
3579 <span class="ssp-emed__iconWrapper animate__animated animate__fadeOutRight animate__infinite"><i
3580 class="fas fa-chevron-right"></i></span>
3581 </div>
3582 </lfr-editable>
3583 </a>
3584 </div>
3585
3586 </div>
3587
3588 </div>
3589
3590 <div class="slick-area__item">
3591
3592 <div class="ssp-emed__card-slider">
3593 <div class="ssp-emed__card-slider-body">
3594
3595 <h2 class="ssp-emed__section__titleCard">
3596 <i class="far fa-envelope"></i>
3597 <div><lfr-editable id="emed-precos-title" type="rich-text">Registro de Interesse</lfr-editable></div>
3598 </h2>
3599 <lfr-editable id="txt_emed_boleto" type="rich-text">
3600 <div class="ssp-emed__section__introCardCTA">
3601 Quer receber um aviso sobre as turmas do próximo ano?
3602 </div>
3603 </lfr-editable>
3604 </a>
3605 <a class="ssp-emed__btn btn btn-lg w-100 mt-3 ssp-card-modal-selecionar-outro__btn-close_10"
3606 id="btnOptin" href="javascript:;">Sim, me avise.</a>
3607 </div>
3608 </div>
3609 </div>
3610 <#else>
3611 <#-- pre inscricao emed -->
3612 <div class="slick-area__item card-pre-inscricao">
3613
3614 <div class="ssp-emed__card-slider">
3615
3616 <div class="ssp-emed__card-slider-body">
3617 <h2 class="ssp-emed__section__titleCard">
3618 <i class="fal fa-users-class"></i>
3619 <div><lfr-editable id="emed-aulas-title" type="rich-text">Turmas</lfr-editable></div>
3620 </h2>
3621 <lfr-editable id="txt_emed_aulas" type="rich-text">
3622 <div>
3623 <strong>Matrículas e inscrições para bolsas de estudo:</strong><br/>
3624 <span style="font-weight: 400;">
3625 a partir de ${matriculaEMED.dataInicio?split("-")?reverse?join("/")}, às ${matriculaEMED.horaInicio?split(":")?first} horas
3626 <#if matriculaEMED.horaInicio?split(":")?last != "00">
3627 e ${matriculaEMED.horaInicio?split(":")?last} minutos
3628 </#if>
3629 </span>
3630 </div>
3631
3632 <div class="footer-card-card-pre-inscricao">
3633 <strong>
3634 Estude com a gente na próxima turma!<br/>
3635 Esperamos por você!
3636 </strong>
3637 </div>
3638 </lfr-editable>
3639 </a>
3640 </div>
3641
3642 </div>
3643
3644 </div>
3645
3646 </#if>
3647
3648 </div>
3649 <!--/slick slider-->
3650
3651 </div>
3652 </div>
3653 </div>
3654 </#if>
3655 <div class="oferta-slick-area_modal">
3656 </div>
3657
3658 <#if manutencao.rodape != "">
3659 <p class="ssp-card-oferta-curso__mensagem-legal">${manutencao.rodape}</p>
3660 <#else>
3661 <#if isEMED>
3662 <p class="ssp-card-oferta-curso__mensagem-legal">O Senac reserva-se o direito de alterar o número de vagas, datas, horários ou cancelar o programa.</p>
3663 <#else>
3664 <p class="ssp-card-oferta-curso__mensagem-legal">A turma pode ser cancelada ou ter alterações do número de vagas, datas e horários.</p>
3665 </#if>
3666 </#if>
3667
3668 </div>
3669
3670 <div id="ssp-abrir-pagina-bolsa" class="ssp-card-duvida__bolsa-estudo d-none" style="margin-top: 44px;">
3671
3672 <p>Tem dúvidas sobre bolsas de estudo?</p>
3673 <a href="/bolsas-de-estudo/como-funciona">Saiba como funciona</a>
3674
3675 </div>
3676
3677
3678 </section>
3679
3680 <section id="section-registro-interesse" class="ssp-section-novas-turmas">
3681
3682 <div class="container">
3683
3684 <div class="ssp-aviso-novas-turmas__content">
3685
3686 <!-- <div class="pb-sm-5 pb-md-5" > -->
3687 <div>
3688
3689 <h6 class="ssp-aviso-novas-turmas__title">Quer receber um aviso por e-mail sobre novas turmas?</h6>
3690 <!-- p class="ssp-aviso-novas-turmas__description">Selecione a unidade e registre seu interesse.</p -->
3691
3692 </div>
3693
3694 <!--
3695 <div class="ssp-container__form-select">
3696
3697 <select class="form-control select-large select-registro-interesse" id="select-registro-interesse">
3698 <option value="">Selecione uma unidade</option>
3699 </select>
3700
3701 </div>
3702 -->
3703 <div class="ssp-btn-group__content-teste">
3704
3705 <a class="btn btn-primary btn-custom" id="btn-aviso-novas-turmas">Sim, me avise</a>
3706
3707 </div>
3708
3709
3710
3711 </div>
3712
3713
3714 </div>
3715
3716
3717 </section>
3718
3719 <section id="modal-backpack-error" class="ssp-modal-registro-interesse d-none">
3720
3721 <div class="ssp-card-msg-erro">
3722
3723 <div class="ssp-card-msg-sucesso__content">
3724 <i class="fas fa-exclamation-circle" style="color: #ec3a3a;"></i>
3725 <p>Houve um erro ao inserir curso na mochila!</p>
3726 <p>Por favor, tente novamente!</p>
3727 </div>
3728
3729 <div>
3730 <button id="btn-voltar-modal-backpack-error" class="btn btn-nivel ssp-card-msg-sucesso__btn">Voltar</button>
3731 </div>
3732
3733 </div>
3734
3735 </section>
3736
3737 <section id="modal-backpack-success" class="ssp-modal-registro-interesse d-none">
3738
3739 <div class="ssp-modal-mochila-curso">
3740
3741 <div class="ssp-modal-mochila-curso__header">
3742
3743 <button class="modal-btn-close" type="button">
3744
3745 <i class="fal fa-times"></i>
3746
3747 </button>
3748
3749 <h2 class="modal-title">Curso adicionado à mochila!</h2>
3750 <p class="modal-subtitle">Você incluiu na sua mochila de compras o curso
3751 <span id="modal-backpack-success__nome-curso"></span>
3752 </p>
3753
3754 </div>
3755
3756 <div class="ssp-modal-mochila-curso__body">
3757
3758 <p>A sua vaga só é garantida nesta turma quando você finaliza a
3759 compra. Deseja concluir agora?</p>
3760
3761 </div>
3762
3763 <div class="ssp-modal-mochila-curso__block-btn-items block-btn-items">
3764
3765 <a class="btn-finalizar-compra btn-mochila-finalizar-compra-success" href="#">
3766 Finalizar compra
3767 </a>
3768
3769 <button class="btn-continuar-site btn-mochila-continuar-site-success">
3770 Continuar no site
3771 </button>
3772
3773 </div>
3774
3775
3776 </div>
3777
3778 </section>
3779
3780</#if>
3781
3782<#if nomeTipoCurso?has_content && nomeTipoCurso?contains("Ensino Médio Técnico") >
3783 <!-- Agende a sua visita -->
3784 <#assign searchImpl = serviceLocator.findService("br.senac.search.api.Search") />
3785 <#assign articles = searchImpl.search("EMED - Agende sua visita", {}, themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId(), themeDisplay.getUserId(), false) />
3786
3787 <section id="ssp-emed-visita-sector">
3788 <div class="container py-5 pt-lg-0" style="display:none;">
3789 <div data-emed="ssp-emed-visita-wrapper" class="ssp-emed-visita-wrapper">
3790 <#list articles![] as article>
3791 <#assign document = saxReaderUtil.read(article.getContent()) />
3792 <#assign rootElement = document.getRootElement() />
3793
3794 <#assign
3795 xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='textoDoBotao']")
3796 textoDoBotao = xPathSelector.selectSingleNode(rootElement).getStringValue()
3797
3798 xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='linkBotao']")
3799 linkBotao = xPathSelector.selectSingleNode(rootElement).getStringValue()
3800
3801 xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='ativarBotao']")
3802 ativarBotao = xPathSelector.selectSingleNode(rootElement).getStringValue()
3803 />
3804
3805 <#if ativarBotao?trim == "true">
3806 <script>$('#ssp-emed-visita-sector').children().show()</script>
3807 <div data-emed="ssp-emed-visita-text" class="ssp-emed-visita-text">
3808
3809 <a href="${linkBotao}">${textoDoBotao}</a>
3810
3811 </div>
3812 <div class="ssp-emed-visita-icon">
3813 <i class="fas fa-route"></i>
3814 </div>
3815 </#if>
3816 </#list>
3817 </div>
3818 </div>
3819 </section>
3820
3821
3822 <!-- Como me matricular EMED -->
3823
3824 <section class="ssp-como-me-matricular__section">
3825
3826 <h2 class="title-section-white">Como me matricular?</h2>
3827
3828 <div class="container">
3829
3830 <div class="ssp-como-me-matricular__passo-passo-card">
3831
3832 <div class="item-passo">
3833 <img class="item-passo-icone" src="/o/senac-theme/images/icon-escolha-curso.svg" alt="">
3834 <p class="item-passo-title">Escolha o curso</p>
3835 <span>Selecione o curso, a unidade do seu interesse e confira as turmas disponíveis.</span>
3836 </div>
3837
3838 <img class="item-passo-icone-seta" src="/o/senac-theme/images/icon-seta-passo.svg" alt="">
3839
3840 <div class="item-passo">
3841 <img class="item-passo-icone" src="/o/senac-theme/images/icon-realize-inscricao.svg" alt="">
3842 <p class="item-passo-title">Adicione à Mochila</p>
3843 <span>Faça login ou crie uma conta em nosso site e continue a compra.</span>
3844 </div>
3845
3846 <img class="item-passo-icone-seta" src="/o/senac-theme/images/icon-seta-passo.svg" alt="">
3847
3848 <div class="item-passo">
3849 <img class="item-passo-icone" src="/o/senac-theme/images/icon-aguarde-contato.svg" alt="">
3850 <p class="item-passo-title">Faça a matrícula</p>
3851 <span>Todas as etapas são on-line. Para garantir a vaga, preencha todas as informações.</span>
3852 </div>
3853
3854 </div>
3855
3856
3857 </div>
3858
3859 </section>
3860
3861 </#if>
3862
3863
3864 <div class="ssp-section ssp-section-lg-bottom-slider d-none" id="section-cursos-voce-pode-gostar" style="background-color: #f2f2f2">
3865 <div class="container">
3866 <h2 class="ssp-section-title">
3867 <lfr-editable id="cursos-voce-pode-gostar-title" type="rich-text">
3868 Cursos que você pode gostar
3869 </lfr-editable>
3870 </h2>
3871
3872 <div id="slider-curso">
3873
3874 </div>
3875
3876 </div>
3877 </div>
3878
3879
3880
3881
3882 <#-- Section para o item de curso-->
3883 <div id="curso-item-template" class="d-none slick-area__item">
3884
3885 <div class="ssp-card-curso" style="height: 288px;">
3886
3887 <a class="ssp-absolute-link ck-curso" href="#a"></a>
3888
3889 <div class="ssp-card-curso__image">
3890
3891 <div class="ssp-image-container">
3892 <img src="" />
3893
3894 </div>
3895
3896 </div>
3897
3898 <div class="ssp-card-curso__body">
3899
3900 <div class="ssp-card-curso__color-tag-modalidade"></div>
3901
3902 <div class="ssp-card-curso__tags">
3903
3904 <span class="ssp-card-curso__tag-formato-title"></span>
3905
3906 <span class="tag-modalidade-title__senac-online d-none">Senac Online - ao vivo</span>
3907
3908 </div>
3909
3910 <h6 class="ssp-card-curso__title">
3911
3912 </h6>
3913
3914 <div class="ssp-card-curso__info">
3915
3916 <span class="ssp-tag bg-white border-nivel-extensao text-nivel-extensao mr-1 btn-inscricoes-abertas">Inscrições abertas</span>
3917 <span class="ssp-tag bg-white border-primary text-primary btn-bolsas">Bolsas</span>
3918
3919 </div>
3920
3921 </div>
3922
3923 </div>
3924
3925 </div>
3926
3927 <#function getJournalArticle>
3928
3929
3930 <#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3931 <#assign friendlyURL = themeDisplay.getURLCurrent()?split("/")?last?split("?")?first>
3932 <#assign groupId = themeDisplay.getSiteGroupId()>
3933 <#attempt>
3934
3935 <#if !friendlyURL?contains("fragment_collections") >
3936
3937 <#return journalArticleService.getArticleByUrlTitle(groupId,friendlyURL)>
3938 <#else>
3939
3940 <#return '#erro#'>
3941 </#if>
3942
3943 <#recover>
3944
3945 <#return '#erro#'>
3946 </#attempt>
3947 </#function>
3948
3949 <#function getCategorias primaryKey>
3950
3951 <#assign categoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
3952 <#attempt>
3953
3954 <#return categoryService.getCategories("com.liferay.journal.model.JournalArticle", primaryKey)>
3955
3956 <#recover>
3957
3958 <#return '#erro#'>
3959 </#attempt>
3960 </#function>
3961
3962 <#function getVocabulary vocabularyId>
3963
3964 <#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyService") />
3965 <#attempt>
3966
3967 <#return vocabularyService.getVocabulary(vocabularyId)>
3968
3969 <#recover>
3970
3971 <#return '#erro#'>
3972 </#attempt>
3973 </#function>
3974
3975 <#function getStringValue dom name>
3976 <#assign
3977 seletorSTR = "dynamic-element[@field-reference='"+name+"']"
3978 xPathSelector = saxReaderUtil.createXPath(seletorSTR)
3979 />
3980 <#if xPathSelector.selectSingleNode(dom)?? >
3981 <#assign
3982 valueSTR = xPathSelector.selectSingleNode(dom).getStringValue()?trim
3983 />
3984 <#return valueSTR>
3985 </#if>
3986 <#return ''>
3987 </#function>
3988
3989 <!--Modal de Login -->
3990
3991 <section id="modal-login" class="ssp-modal-registro-interesse d-none">
3992
3993 <div class="dropdown-menu-modal dropdown-menu-right" id="js-login-dropdown-menu-2" style="width: 340px; max-width: 340px; display: block;">
3994
3995 <div class="px-5">
3996 <i id="btn-close-loginModal" class="fas fa-times btn-close__modal-login"></i>
3997 <div class="text-darker-gray py-3">Faça login na sua conta</div>
3998 </div>
3999
4000 <div class="dropdown-divider"></div>
4001
4002 <div class="dropdown-menu-arrow"></div>
4003
4004 <form id="login_form" class="px-5 py-4" method="post">
4005
4006 <div class="alert alert-danger py-3 d-none" id="mensagem-erro-login" style="background:#f8d7da;border-color:#f5c6cb; color:#a94442"></div>
4007
4008 <div class="form-group">
4009
4010 <label for="login-email">E-mail</label>
4011 <div class="input-group mb-2">
4012 <div class="input-group-prepend">
4013 <span class="input-group-text"><i class="icon-envelope"></i></span>
4014 </div>
4015 <input type="text" class="form-control" id="login-email-modal" name="_com_liferay_login_web_portlet_LoginPortlet_login" placeholder="Digite seu e-mail" aria-label="Email" aria-describedby="login-email">
4016 </div>
4017
4018 </div>
4019
4020 <div class="form-group">
4021
4022 <label for="login-password">Senha</label>
4023 <div class="input-group mb-2">
4024 <div class="input-group-prepend">
4025 <span class="input-group-text"><i class="icon-key"></i></span>
4026 </div>
4027 <input type="password" class="form-control" id="login-password-modal" name="_com_liferay_login_web_portlet_LoginPortlet_password" placeholder="Digite sua senha" aria-label="Password" aria-describedby="login-password">
4028 </div>
4029
4030 </div>
4031
4032 <div class="pt-1 pb-3">
4033 <small><a href="http://www.sp.senac.br/login-unico/SendPassword" target="_blank">Esqueceu sua senha?</a></small>
4034 </div>
4035
4036 <button type="button" class="btn btn-primary w-100" id="btnLogin" data-login="btnLogin">Entrar</button>
4037 </form>
4038
4039 <div class="dropdown-divider"></div>
4040
4041 <div class="px-5 pb-4">
4042 <div class="text-darker-gray py-3">Não tem cadastro?</div>
4043 <a href="https://www.sp.senac.br/usuario-unico/InsertUser?destino=${themeDisplay.getPortalURL()+themeDisplay.getURLCurrent()}" target="_blank" class="btn bg-btn-cadastre btn-nivel-livre text-white w-100 ">Cadastre-se</a>
4044 </div>
4045
4046
4047 </div>
4048
4049 </section>
4050
4051 <!-- modal registro interesse -->
4052
4053
4054 <section id="modal-registro-interesse" class="ssp-modal-registro-interesse d-none">
4055
4056 <#if !isEMED>
4057 <div class="ssp-card-registro-interesse">
4058
4059 <i id="btn-close-Modal-registro-interesse" class="fas fa-times btn-close__modal-login"></i>
4060
4061 <p class="ssp-card-registro-interesse__label-curso-selecionado">Curso selecionado:</p>
4062 <h3 class="ssp-card-registro-interesse__nome-curso"></h3>
4063
4064 <div id="unidades-registro-interesse">
4065
4066 <h4 class="ssp-card-registro-interesse__title-section-itens">Unidade:</h4>
4067
4068 <div id="select-unidades-registro-interesse">
4069 <select class="ssp-card-registro-interesse__select unidades" id="select_0"><option value="" disabled="" selected="">Selecione uma unidade</option></select>
4070 </div>
4071
4072 <div class="ssp-card-registro-interesse__add-mais">
4073 <a class="" id="add-unidade-regsitro-interesse" href="#a"><i class="fas fa-plus mr-1"></i>Adicionar unidade</a>
4074
4075
4076
4077 <a class="" id="remove-unidade-regsitro-interesse" href="#a"><i class="fas fa-times mr-1"></i>Remover unidade</a>
4078 </div>
4079
4080 </div>
4081
4082 <div id="dias-registro-interesse">
4083 <h4 class="ssp-card-registro-interesse__title-section-itens text-center">Dias da Semana</h4>
4084
4085 <div class="ssp-card-registro-interesse__week-content">
4086 <span id="todosDias" class="ssp-week-day">Todos</span>
4087 <span class="ssp-week-day">Seg</span>
4088 <span class="ssp-week-day">Ter</span>
4089 <span class="ssp-week-day">Qua</span>
4090 <span class="ssp-week-day">Qui</span>
4091 <span class="ssp-week-day">Sex</span>
4092 <span class="ssp-week-day">Sab</span>
4093 </div>
4094
4095 </div>
4096
4097 <div id="periodo-registro-interesse">
4098
4099 <h4 class="ssp-card-registro-interesse__title-section-itens text-center">Período:</h4>
4100
4101 <div class="ssp-card-registro-interesse__check-itens-content periodos-registro-interesse">
4102
4103 <div class="ssp-card-registro-interesse__check-item" id="div-campo-todos">
4104 <input type="checkbox" name="" value="" id="check-todos-periodos">
4105 <label for="check-todos-periodos">Todos</label>
4106 </div>
4107
4108 <div class="ssp-card-registro-interesse__check-item">
4109 <input type="checkbox" name="" value="M" id="periodo-m">
4110 <label for="periodo-m">Manhã</label>
4111 </div>
4112
4113 <div class="ssp-card-registro-interesse__check-item">
4114 <input type="checkbox" name="" value="T" id="periodo-t">
4115 <label for="periodo-t">Tarde</label>
4116 </div>
4117
4118 <div class="ssp-card-registro-interesse__check-item">
4119 <input type="checkbox" name="" value="N" id="periodo-n">
4120 <label for="periodo-n" "="">Noite</label>
4121 </div>
4122
4123
4124 </div>
4125
4126 </div>
4127
4128 <div class="ssp-card-registro-interesse__card-politica">
4129
4130 <p class="ssp-card-registro-interesse__card-politica-title"><strong>Política de Privacidade</strong></p>
4131
4132 <p class="ssp-card-registro-interesse__card-politica-text">O Serviço Nacional de Aprendizagem Comercial - Senac, Administração Regional no Estado de São Paulo, inscrito no CNPJ sob nº 03.709.814/0001-98, com sede na Rua Dr. Vila Nova, 228, 7º andar, na cidade de São Paulo, Estado de São Paulo ("Senac São Paulo") atua de maneira transparente e responsável para garantir a proteção dos seus dados pessoais. Por isso, é muito importante para nós que você conheça nossa Política de Privacidade. </p>
4133
4134
4135 <p class="ssp-card-registro-interesse__card-politica-text">
4136 <b>1. O que é a Política de Privacidade do Senac São Paulo? </b><br>
4137
4138 É o documento que apresenta informações sobre a maneira como coletamos, utilizamos e compartilhamos seus dados pessoais, bem como descreve o conjunto de regras e procedimentos adotados pelo Senac São Paulo para garantir a proteção desses dados. Os seus dados pessoais são coletados quando você se cadastra em nosso site (www.sp.senac.br) para registrar interesse em cursos, participar de eventos, fazer sua matrícula ou se inscrever em bolsas de estudo.
4139
4140 Nossa Política de Privacidade é pautada pela Lei Geral de Proteção de Dados Pessoais (LGPD), nº 13.709/2018. Comprometemo-nos a cumprir estritamente seus termos assim que ela entrar em vigor. Caso queria saber mais sobre a LGPD, confira.
4141 <br><br>
4142 <b>2. Como o Senac coleta meus dados pessoais?</b><br>
4143
4144 Por meio de cadastro em nosso site ou em nossas unidades. Para realizá-lo, você notará que algumas informações são obrigatórias, pois atendem padrões estabelecidos por órgãos da administração pública, como o Ministério da Educação. Além desses dados, as outras informações solicitadas nos ajudam a entender melhor seus interesses e personalizar, ainda mais, seu atendimento.
4145 <br><br>
4146 <b>3. É possível acessar este site sem fornecer meus dados pessoais?</b><br>
4147
4148 Sim. Neste caso, podemos coletar dados técnicos da sua navegação como endereço de Protocolo de Internet (endereço IP), registro de acesso, geolocalização do endereço IP, tipo do navegador utilizado, versão do sistema operacional, modelo e características do aparelho utilizado para o acesso, banda de internet, operadora, comportamento de pageview e páginas visitadas, de acordo com cookies liberados ou não por você. (<a href="https://www.sp.senac.br/politica-de-cookies">Conhecer nossa Política de Cookies.</a>)
4149 <br><br>
4150 <b>4. No caso de acesso com cadastro, quais informações o Senac poderá solicitar? </b><br>
4151
4152 Nossa coleta de dados pessoais varia de acordo com o tipo de interação que você terá em nosso site, quais produtos ou serviços está procurando.
4153
4154 Para você saber, relacionamos a seguir os dados pessoais que podem ser solicitados por nós: <br>
4155
4156 - Dados sobre identificação: nome civil, nome social, filiação, nacionalidade, naturalidade, data de nascimento, sexo, estado civil, número e cópia do documento de identificação (CPF, RG/RNE ou outro)<br>
4157 - Dados sobre contato: endereço postal, endereço de e-mail, número de telefone<br>
4158 - Dados acadêmicos: estabelecimentos de ensino anteriores, certificados e diplomas acadêmicos, histórico escolar, nota do ENEM<br>
4159 - Dados profissionais: emprego atual, profissão<br>
4160 - Dados de pagamento: nome do titular da conta e número do cartão de crédito<br>
4161 - Dados de responsáveis: nome, telefone e número de documento de identidade do responsável legal (em casos de estudante menor de idade) e/ou financeiro <br>
4162 - Dados de saúde: informação sobre deficiência física e atestados médicos<br>
4163 - Dados de imagem: foto<br>
4164 - Dados de renda familiar: situação de emprego e salário de membros da mesma família<br>
4165 - Dados técnicos da sua navegação: endereço de Protocolo de Internet (endereço IP), registro de acesso, geolocalização do endereço IP, tipo do navegador utilizado, versão do sistema operacional, modelo e características do aparelho utilizado para o acesso, banda de internet, operadora, comportamento de pageview e páginas visitadas, de acordo com cookies liberados ou não por você. (<a href="https://www.sp.senac.br/politica-de-cookies">Conhecer nossa Política de Cookies</a>)<br>
4166
4167 <br><br>
4168 <b>5. Quantos e quais tipos de cadastros podem ser realizados?</b><br>
4169
4170 São três tipos de cadastro realizado. Como já comentamos (pergunta 4), eles variam de acordo com a sua experiência e o seu objetivo em nosso site. Por exemplo, se seu objetivo agora é apenas registrar interesse em algum curso livre, você terá que preencher seus dados de identificação e contato, caso queira fazer sua matrícula, deverá preencher também informações sobre pagamento, mas, se optar por se inscrever para bolsa de estudo, terá que fornecer outros documentos específicos, como comprovantes de renda. Confira:<br>
4171
4172 - Cadastro simples: poderemos coletar dados de identificação e de contato.<br>
4173 - Cadastro e inscrição em cursos e outros eventos: quando você se inscreve em nossos cursos, eventos e até mesmo para participar do nosso vestibular e efetivar a sua matrícula em cursos livres, técnicos, de formação continuada ou superior, por exemplo, poderemos coletar dados dos responsáveis, de identificação, de contato, dados acadêmicos, profissionais, de saúde, de pagamento e de imagem.<br>
4174 Importante: também poderemos solicitar o envio de cópia de documentos, de acordo com o curso escolhido por você.<br>
4175 - Cadastro e inscrição para bolsas de estudos: poderemos coletar dados de identificação, contato e renda familiar.<br>
4176 Importante: também poderemos solicitar o envio de cópia de documentos para comprovar as informações fornecidas.<br>
4177
4178 <br><br>
4179 <b>6. Para quais finalidades meus dados podem ser utilizados?</b><br>
4180
4181 - Em procedimentos internos relacionados aos nossos serviços e produtos para que você tenha uma experiência positiva durante sua jornada no Senac. Afinal, você precisa ter informações sobre nossos serviços, ter acesso a nossa infraestrutura, ou, por exemplo, poder emprestar livros nas nossas bibliotecas, realizar pagamentos, enviar reclamações, sugestões, pedidos, entre outros. <br>
4182 - Para cumprir obrigações legais a que estamos sujeitos, por exemplo: o pagamento de impostos, fazer o gerenciamento de matrícula, providenciar o reconhecimento de equivalências e de documentos que conferem graus e títulos acadêmicos, emitir certificados e diplomas, realizar o controle de assiduidade e registro de informações acadêmicas.<br>
4183 - Para permitir a realização de auditoria de órgãos da administração pública<br>
4184 - Em investigações sobre possíveis violações de leis ou de nossas políticas internas<br>
4185 - Para estabelecer rede de conexões entre ex-estudantes<br>
4186 - Para melhorar sua experiência com o Senac São Paulo, como, por exemplo, disponibilizar intérpretes, fornecer melhores ferramentas ou aprimorar nossos ambientes<br>
4187 - Para defender direitos em conflitos judiciais ou extrajudiciais e para proteger nossos direitos e de terceiros e, ainda, para outras finalidades que exijam o seu consentimento, que será solicitado nos termos da legislação vigente. <br>
4188
4189
4190 <b>Importante:</b> usaremos seus dados pessoais somente para atender aos objetivos descritos nesta Política. Se necessário, seus dados poderão ser usados para outras finalidades não conflitantes às finalidades apresentadas nesta Política.
4191 <br><br>
4192 <b>7. Com quem o Senac pode compartilhar meus dados?</b><br>
4193
4194 - Com órgãos da administração pública (Ministério da Educação, Secretaria Estadual da Educação, Tribunal de Contas da União, Controladoria Geral da União e demais órgãos relacionados a esses) para cumprimento de obrigações legais e regulatórias.<br>
4195 - Com instituições do setor bancário e seguradoras, para gestão e processamento de pagamentos.<br>
4196 - Com empresas que tenhamos contratos, parceria e/ou acordos de cooperação, por exemplo, gráficas, para a emissão de cartões e provas.<br>
4197 - Com instituições de ensino para validar a autenticidade de documentos.<br>
4198 Importante: informaremos você quando houver o compartilhamento de dados para outras finalidades que possam ser incompatíveis com o descrito nesta Política, sempre que exigido pela legislação.
4199
4200 <br><br>
4201 <b>8. Por quanto tempo meus dados serão armazenados?</b> <br>
4202
4203 Pelo período necessário para que você tenha uma experiência positiva dentro da instituição, atendendo seus interesses e solicitações.
4204
4205 <b>Importante:</b> poderemos preservar os seus dados por um período superior sempre que exista uma obrigação legal, por exemplo, em relação aos dados utilizados na gestão acadêmica, ou se existirem razões de interesse público (arquivo, investigação científica e histórica, ou para censos educacionais). Nessas ocasiões, sempre que possível, seus dados serão tratados de forma que seja possível manter o seu anonimato.
4206 <br><br>
4207 <b>9. Quais são as medidas de segurança utilizadas para garantir a proteção dos meus dados pessoais?</b><br>
4208
4209 Atuamos de maneira transparente e responsável, por meio de padrões de segurança e prevenção confiáveis. Adotamos medidas administrativas, técnicas e físicas para proteger dados pessoais contra perda, roubo, uso indevido, bem como, contra acesso não autorizado, divulgação, alteração e destruição de informações.
4210
4211 Confira nossas medidas de segurança da informação que buscam garantir a confidencialidade, a integridade e a disponibilidade dos dados coletados: <br>
4212
4213 - Controlar o acesso a informações, considerando a necessidade de nossos funcionários obterem determinado dado<br>
4214 - Proteger infraestruturas tecnológicas contra acessos não autorizados<br>
4215 - Monitorar constantemente toda nossa infraestrutura tecnológica <br>
4216 - Política de troca de senhas<br>
4217 - Política de confidencialidade com funcionários e terceiros<br>
4218
4219 <br><br>
4220 <b>10. É possível que meus dados sejam transferidos para fora do país?</b><br>
4221
4222 Sim, pois temos parcerias em nível global. Portanto, dados pessoais talvez precisem ser transferidos para outros países, seja em razão dessas parcerias (por exemplo, em caso de intercâmbio de estudantes) ou pela necessidade de armazenamento de dados em servidores estrangeiros, por meio da utilização de servidores em nuvem (cloud).
4223
4224 Caso seus dados pessoais sejam transferidos para fora do Brasil, adotaremos todos os cuidados para assegurar que essa transferência obedeça às normas e preserve o sigilo de todas as informações coletadas.
4225 <br><br>
4226 <b>11. Quais são os meus direitos em relação aos dados pessoais fornecidos?</b><br>
4227
4228 Agora que você já sabe como coletamos, utilizamos e compartilhamos seus dados, é igualmente importante para nós que você conheça quais são os direitos que possui quando nos fornece seus dados pessoais. Caso queira, você poderá:
4229
4230 - Corrigir seus dados pessoais que estejam incompletos, inexatos ou desatualizados<br>
4231 Caso você identifique algum erro em relação aos dados fornecidos, basta solicitar a alteração para nossa equipe. Isso é importante para que as informações sejam utilizadas da maneira correta e seu cadastro fique sempre atualizado. <br>
4232 - Cancelar ou revogar o seu consentimento de utilização de dados <br>
4233 Você poderá cancelar, a qualquer momento, o consentimento em relação ao uso, pelo Senac São Paulo, dos seus dados pessoais. <br>
4234
4235
4236 <b>Importante:</b> deixaremos de usar seus dados pessoais quando a revogação do seu consentimento for concluída. Sendo assim, qualquer utilização de seus dados pessoais antes da efetivação do cancelamento/revogação é entendido por nós como legal, verdadeiro e autorizado por você.
4237
4238 Caso queira fazer algum pedido referente a este campo, você deve entrar em contato via e-mail pelo privacidade@sp.senac.br. Poderemos solicitar informações para confirmar sua identidade e seu direito de acesso aos dados solicitados.
4239
4240 Tenha certeza, trabalharemos sempre de maneira ágil e responsável para atender suas solicitações o mais breve possível, sendo que observaremos os prazos legais quando da vigência da LGPD.
4241 <br><br>
4242 <b>12. E se essa Política for atualizada?</b><br>
4243
4244 Caso existam alterações significativas, iremos avisar você o mais breve possível, ou, antes que a nova política entre em vigor. Por isso, recomendamos que consulte este documento sempre que possível e verifique a data da sua última atualização, informada no rodapé desta página.
4245 <br><br>
4246 <b>13. Como posso tirar minhas dúvidas sobre esta Política?</b><br>
4247
4248 Fique à vontade para nos enviar qualquer tipo de dúvida sobre esta Política, em privacidade@sp.senac.br. Será um prazer falar com você!
4249
4250 <br><br>
4251
4252 <b>Encarregado de Dados do Senac (DPO):</b>
4253
4254 <br><br>
4255 <b>Fernando Sátiro Pereira </b>| Gerente de Tecnologia da Informação do Senac São Paulo
4256
4257 <br>
4258 <b>Contato: privacidade@sp.senac.br</b>
4259 </p>
4260
4261
4262 </div>
4263
4264 <div class="ssp-card-registro-interesse__check-item">
4265 <input type="checkbox" name="" value="" id="check-politica-privacidade">
4266 <label for="check-politica-privacidade">Aceito a Política de Privacidade</label>
4267 </div>
4268
4269 <div class="text-center mt-5">
4270
4271 <button class="btn btn-nivel ssp-card-registro-interesse__btn-enviar btn-with-loading" href="#a" id="enviar-registro-interesse-btn" disabled="disabled">Enviar</button>
4272
4273 <p class="ssp-card-registro-interesse__aviso"><strong>Importante:</strong> O registro de interesse não garante a vaga.</p>
4274
4275 </div>
4276
4277 </div>
4278
4279 <#else>
4280
4281 <div class="ssp-card-registro-interesse emed">
4282
4283 <i id="btn-close-Modal-registro-interesse" class="fas fa-times btn-close__modal-login"></i>
4284
4285 <p class="ssp-card-registro-interesse__label-curso-selecionado">Curso selecionado:</p>
4286
4287 <div class="emed-select-group">
4288
4289 <h3 class="ssp-card-registro-interesse__title-modal"></h3>
4290
4291 <div id="unidades-registro-interesse">
4292
4293 <h4 class="ssp-card-registro-interesse__title-section-itens">Escolha uma unidade</h4>
4294
4295 <div id="select-unidades-registro-interesse">
4296 <select class="ssp-card-registro-interesse__select unidades" id="select_0"><option value="" disabled="" selected="">Selecione uma unidade</option></select>
4297 </div>
4298
4299 <div class="ssp-card-registro-interesse__add-mais">
4300 <a class="" id="add-unidade-regsitro-interesse" href="#a"><i class="fas fa-plus mr-1"></i>Adicionar unidade</a>
4301
4302
4303
4304 <a class="" id="remove-unidade-regsitro-interesse" href="#a"><i class="fas fa-times mr-1"></i>Remover unidade</a>
4305 </div>
4306
4307 </div>
4308
4309 </div>
4310
4311
4312 <div id="periodo-registro-interesse">
4313
4314 <p class="ssp-card-registro-interesse__title-section-itens">Período:</p>
4315
4316 <div class="ssp-card-registro-interesse__check-itens-content periodos-registro-interesse">
4317 <div class="ssp-card-registro-interesse__check-item">
4318 <input type="checkbox" name="" value="M" id="periodo-m">
4319 <label for="periodo-m">Manhã</label>
4320 </div>
4321
4322 <div class="ssp-card-registro-interesse__check-item">
4323 <input type="checkbox" name="" value="T" id="periodo-t">
4324 <label for="periodo-t">Tarde</label>
4325 </div>
4326
4327 <div class="ssp-card-registro-interesse__check-item" id="div-campo-todos">
4328 <input type="checkbox" name="" value="" id="check-todos-periodos">
4329 <label for="check-todos-periodos">Todos</label>
4330 </div>
4331
4332 </div>
4333
4334 </div>
4335
4336 <div id="turmas-registro-interesse">
4337
4338 <p class="ssp-card-registro-interesse__title-section-itens">Turma:</p>
4339
4340 <div class="ssp-card-registro-interesse__check-itens-content turmas-registro-interesse">
4341
4342 <div class="ssp-card-registro-interesse__check-item">
4343 <input type="checkbox" name="" value="1" id="primeiro">
4344 <label for="primeiro">1º ano</label>
4345 </div>
4346
4347 <div class="ssp-card-registro-interesse__check-item">
4348 <input type="checkbox" name="" value="2" id="segundo">
4349 <label for="segundo">2º ano</label>
4350 </div>
4351
4352 <div class="ssp-card-registro-interesse__check-item">
4353 <input type="checkbox" name="" value="3" id="terceiro">
4354 <label for="terceiro">3º ano</label>
4355 </div>
4356
4357 </div>
4358
4359 </div>
4360
4361 <div id="msg-transferencia-emed">
4362
4363 <div class="transferencia-emed-title">
4364 <i class="fas fa-comment-exclamation"></i>
4365 <p>Quer se transferir de escola?</p>
4366 </div>
4367
4368 <div class="transferencia-emed-link">
4369 <a href="#">Fale direto com a unidade de interesse.</a>
4370 </div>
4371
4372 </div>
4373
4374 <div class="ssp-card-registro-interesse__card-politica">
4375
4376 <p class="ssp-card-registro-interesse__card-politica-title"><strong>Política de Privacidade</strong></p>
4377
4378 <p class="ssp-card-registro-interesse__card-politica-text">O Serviço Nacional de Aprendizagem Comercial - Senac, Administração Regional no Estado de São Paulo, inscrito no CNPJ sob nº 03.709.814/0001-98, com sede na Rua Dr. Vila Nova, 228, 7º andar, na cidade de São Paulo, Estado de São Paulo ("Senac São Paulo") atua de maneira transparente e responsável para garantir a proteção dos seus dados pessoais. Por isso, é muito importante para nós que você conheça nossa Política de Privacidade. </p>
4379
4380 <p class="ssp-card-registro-interesse__card-politica-text">
4381
4382 <b>1. O que é a Política de Privacidade do Senac São Paulo? </b><br>
4383
4384 É o documento que apresenta informações sobre a maneira como coletamos, utilizamos e compartilhamos seus dados pessoais, bem como descreve o conjunto de regras e procedimentos adotados pelo Senac São Paulo para garantir a proteção desses dados. Os seus dados pessoais são coletados quando você se cadastra em nosso site (www.sp.senac.br) para registrar interesse em cursos, participar de eventos, fazer sua matrícula ou se inscrever em bolsas de estudo.
4385
4386 Nossa Política de Privacidade é pautada pela Lei Geral de Proteção de Dados Pessoais (LGPD), nº 13.709/2018. Comprometemo-nos a cumprir estritamente seus termos assim que ela entrar em vigor. Caso queria saber mais sobre a LGPD, confira.
4387 <br><br>
4388 <b>2. Como o Senac coleta meus dados pessoais?</b><br>
4389
4390 Por meio de cadastro em nosso site ou em nossas unidades. Para realizá-lo, você notará que algumas informações são obrigatórias, pois atendem padrões estabelecidos por órgãos da administração pública, como o Ministério da Educação. Além desses dados, as outras informações solicitadas nos ajudam a entender melhor seus interesses e personalizar, ainda mais, seu atendimento.
4391 <br><br>
4392 <b>3. É possível acessar este site sem fornecer meus dados pessoais?</b><br>
4393
4394 Sim. Neste caso, podemos coletar dados técnicos da sua navegação como endereço de Protocolo de Internet (endereço IP), registro de acesso, geolocalização do endereço IP, tipo do navegador utilizado, versão do sistema operacional, modelo e características do aparelho utilizado para o acesso, banda de internet, operadora, comportamento de pageview e páginas visitadas, de acordo com cookies liberados ou não por você. (<a href="https://www.sp.senac.br/politica-de-cookies">Conhecer nossa Política de Cookies.</a>)
4395 <br><br>
4396 <b>4. No caso de acesso com cadastro, quais informações o Senac poderá solicitar? </b><br>
4397
4398 Nossa coleta de dados pessoais varia de acordo com o tipo de interação que você terá em nosso site, quais produtos ou serviços está procurando.
4399
4400 Para você saber, relacionamos a seguir os dados pessoais que podem ser solicitados por nós: <br>
4401
4402 - Dados sobre identificação: nome civil, nome social, filiação, nacionalidade, naturalidade, data de nascimento, sexo, estado civil, número e cópia do documento de identificação (CPF, RG/RNE ou outro)<br>
4403 - Dados sobre contato: endereço postal, endereço de e-mail, número de telefone<br>
4404 - Dados acadêmicos: estabelecimentos de ensino anteriores, certificados e diplomas acadêmicos, histórico escolar, nota do ENEM<br>
4405 - Dados profissionais: emprego atual, profissão<br>
4406 - Dados de pagamento: nome do titular da conta e número do cartão de crédito<br>
4407 - Dados de responsáveis: nome, telefone e número de documento de identidade do responsável legal (em casos de estudante menor de idade) e/ou financeiro <br>
4408 - Dados de saúde: informação sobre deficiência física e atestados médicos<br>
4409 - Dados de imagem: foto<br>
4410 - Dados de renda familiar: situação de emprego e salário de membros da mesma família<br>
4411 - Dados técnicos da sua navegação: endereço de Protocolo de Internet (endereço IP), registro de acesso, geolocalização do endereço IP, tipo do navegador utilizado, versão do sistema operacional, modelo e características do aparelho utilizado para o acesso, banda de internet, operadora, comportamento de pageview e páginas visitadas, de acordo com cookies liberados ou não por você. (<a href="https://www.sp.senac.br/politica-de-cookies">Conhecer nossa Política de Cookies</a>)<br>
4412
4413 <br><br>
4414 <b>5. Quantos e quais tipos de cadastros podem ser realizados?</b><br>
4415
4416 São três tipos de cadastro realizado. Como já comentamos (pergunta 4), eles variam de acordo com a sua experiência e o seu objetivo em nosso site. Por exemplo, se seu objetivo agora é apenas registrar interesse em algum curso livre, você terá que preencher seus dados de identificação e contato, caso queira fazer sua matrícula, deverá preencher também informações sobre pagamento, mas, se optar por se inscrever para bolsa de estudo, terá que fornecer outros documentos específicos, como comprovantes de renda. Confira:<br>
4417
4418 - Cadastro simples: poderemos coletar dados de identificação e de contato.<br>
4419 - Cadastro e inscrição em cursos e outros eventos: quando você se inscreve em nossos cursos, eventos e até mesmo para participar do nosso vestibular e efetivar a sua matrícula em cursos livres, técnicos, de formação continuada ou superior, por exemplo, poderemos coletar dados dos responsáveis, de identificação, de contato, dados acadêmicos, profissionais, de saúde, de pagamento e de imagem.<br>
4420 Importante: também poderemos solicitar o envio de cópia de documentos, de acordo com o curso escolhido por você.<br>
4421 - Cadastro e inscrição para bolsas de estudos: poderemos coletar dados de identificação, contato e renda familiar.<br>
4422 Importante: também poderemos solicitar o envio de cópia de documentos para comprovar as informações fornecidas.<br>
4423
4424 <br><br>
4425 <b>6. Para quais finalidades meus dados podem ser utilizados?</b><br>
4426
4427 - Em procedimentos internos relacionados aos nossos serviços e produtos para que você tenha uma experiência positiva durante sua jornada no Senac. Afinal, você precisa ter informações sobre nossos serviços, ter acesso a nossa infraestrutura, ou, por exemplo, poder emprestar livros nas nossas bibliotecas, realizar pagamentos, enviar reclamações, sugestões, pedidos, entre outros. <br>
4428 - Para cumprir obrigações legais a que estamos sujeitos, por exemplo: o pagamento de impostos, fazer o gerenciamento de matrícula, providenciar o reconhecimento de equivalências e de documentos que conferem graus e títulos acadêmicos, emitir certificados e diplomas, realizar o controle de assiduidade e registro de informações acadêmicas.<br>
4429 - Para permitir a realização de auditoria de órgãos da administração pública<br>
4430 - Em investigações sobre possíveis violações de leis ou de nossas políticas internas<br>
4431 - Para estabelecer rede de conexões entre ex-estudantes<br>
4432 - Para melhorar sua experiência com o Senac São Paulo, como, por exemplo, disponibilizar intérpretes, fornecer melhores ferramentas ou aprimorar nossos ambientes<br>
4433 - Para defender direitos em conflitos judiciais ou extrajudiciais e para proteger nossos direitos e de terceiros e, ainda, para outras finalidades que exijam o seu consentimento, que será solicitado nos termos da legislação vigente. <br>
4434
4435
4436 <b>Importante:</b> usaremos seus dados pessoais somente para atender aos objetivos descritos nesta Política. Se necessário, seus dados poderão ser usados para outras finalidades não conflitantes às finalidades apresentadas nesta Política.
4437 <br><br>
4438 <b>7. Com quem o Senac pode compartilhar meus dados?</b><br>
4439
4440 - Com órgãos da administração pública (Ministério da Educação, Secretaria Estadual da Educação, Tribunal de Contas da União, Controladoria Geral da União e demais órgãos relacionados a esses) para cumprimento de obrigações legais e regulatórias.<br>
4441 - Com instituições do setor bancário e seguradoras, para gestão e processamento de pagamentos.<br>
4442 - Com empresas que tenhamos contratos, parceria e/ou acordos de cooperação, por exemplo, gráficas, para a emissão de cartões e provas.<br>
4443 - Com instituições de ensino para validar a autenticidade de documentos.<br>
4444 Importante: informaremos você quando houver o compartilhamento de dados para outras finalidades que possam ser incompatíveis com o descrito nesta Política, sempre que exigido pela legislação.
4445
4446 <br><br>
4447 <b>8. Por quanto tempo meus dados serão armazenados?</b> <br>
4448
4449 Pelo período necessário para que você tenha uma experiência positiva dentro da instituição, atendendo seus interesses e solicitações.
4450
4451 <b>Importante:</b> poderemos preservar os seus dados por um período superior sempre que exista uma obrigação legal, por exemplo, em relação aos dados utilizados na gestão acadêmica, ou se existirem razões de interesse público (arquivo, investigação científica e histórica, ou para censos educacionais). Nessas ocasiões, sempre que possível, seus dados serão tratados de forma que seja possível manter o seu anonimato.
4452 <br><br>
4453 <b>9. Quais são as medidas de segurança utilizadas para garantir a proteção dos meus dados pessoais?</b><br>
4454
4455 Atuamos de maneira transparente e responsável, por meio de padrões de segurança e prevenção confiáveis. Adotamos medidas administrativas, técnicas e físicas para proteger dados pessoais contra perda, roubo, uso indevido, bem como, contra acesso não autorizado, divulgação, alteração e destruição de informações.
4456
4457 Confira nossas medidas de segurança da informação que buscam garantir a confidencialidade, a integridade e a disponibilidade dos dados coletados: <br>
4458
4459 - Controlar o acesso a informações, considerando a necessidade de nossos funcionários obterem determinado dado<br>
4460 - Proteger infraestruturas tecnológicas contra acessos não autorizados<br>
4461 - Monitorar constantemente toda nossa infraestrutura tecnológica <br>
4462 - Política de troca de senhas<br>
4463 - Política de confidencialidade com funcionários e terceiros<br>
4464
4465 <br><br>
4466 <b>10. É possível que meus dados sejam transferidos para fora do país?</b><br>
4467
4468 Sim, pois temos parcerias em nível global. Portanto, dados pessoais talvez precisem ser transferidos para outros países, seja em razão dessas parcerias (por exemplo, em caso de intercâmbio de estudantes) ou pela necessidade de armazenamento de dados em servidores estrangeiros, por meio da utilização de servidores em nuvem (cloud).
4469
4470 Caso seus dados pessoais sejam transferidos para fora do Brasil, adotaremos todos os cuidados para assegurar que essa transferência obedeça às normas e preserve o sigilo de todas as informações coletadas.
4471 <br><br>
4472 <b>11. Quais são os meus direitos em relação aos dados pessoais fornecidos?</b><br>
4473
4474 Agora que você já sabe como coletamos, utilizamos e compartilhamos seus dados, é igualmente importante para nós que você conheça quais são os direitos que possui quando nos fornece seus dados pessoais. Caso queira, você poderá:
4475
4476 - Corrigir seus dados pessoais que estejam incompletos, inexatos ou desatualizados<br>
4477 Caso você identifique algum erro em relação aos dados fornecidos, basta solicitar a alteração para nossa equipe. Isso é importante para que as informações sejam utilizadas da maneira correta e seu cadastro fique sempre atualizado. <br>
4478 - Cancelar ou revogar o seu consentimento de utilização de dados <br>
4479 Você poderá cancelar, a qualquer momento, o consentimento em relação ao uso, pelo Senac São Paulo, dos seus dados pessoais. <br>
4480
4481
4482 <b>Importante:</b> deixaremos de usar seus dados pessoais quando a revogação do seu consentimento for concluída. Sendo assim, qualquer utilização de seus dados pessoais antes da efetivação do cancelamento/revogação é entendido por nós como legal, verdadeiro e autorizado por você.
4483
4484 Caso queira fazer algum pedido referente a este campo, você deve entrar em contato via e-mail pelo privacidade@sp.senac.br. Poderemos solicitar informações para confirmar sua identidade e seu direito de acesso aos dados solicitados.
4485
4486 Tenha certeza, trabalharemos sempre de maneira ágil e responsável para atender suas solicitações o mais breve possível, sendo que observaremos os prazos legais quando da vigência da LGPD.
4487 <br><br>
4488 <b>12. E se essa Política for atualizada?</b><br>
4489
4490 Caso existam alterações significativas, iremos avisar você o mais breve possível, ou, antes que a nova política entre em vigor. Por isso, recomendamos que consulte este documento sempre que possível e verifique a data da sua última atualização, informada no rodapé desta página.
4491 <br><br>
4492 <b>13. Como posso tirar minhas dúvidas sobre esta Política?</b><br>
4493
4494 Fique à vontade para nos enviar qualquer tipo de dúvida sobre esta Política, em privacidade@sp.senac.br. Será um prazer falar com você!
4495
4496 <br><br>
4497
4498 <b>Encarregado de Dados do Senac (DPO):</b>
4499
4500 <br><br>
4501 <b>Fernando Sátiro Pereira </b>| Gerente de Tecnologia da Informação do Senac São Paulo
4502
4503 <br>
4504 <b>Contato: privacidade@sp.senac.br</b>
4505
4506 </p>
4507
4508 </div>
4509
4510 <div class="ssp-card-registro-interesse__check-item">
4511 <input type="checkbox" name="" value="" id="check-politica-privacidade">
4512 <label for="check-politica-privacidade">Aceito a Política de Privacidade</label>
4513 </div>
4514
4515 <div class="text-center mt-5">
4516
4517 <button class="btn btn-nivel ssp-card-registro-interesse__btn-enviar btn-with-loading" href="#a" id="enviar-registro-interesse-btn" disabled="disabled">Enviar</button>
4518
4519 <p class="ssp-card-registro-interesse__aviso"><strong>Importante:</strong> O registro de interesse não garante a vaga.</p>
4520
4521 </div>
4522
4523 </div>
4524
4525 </#if>
4526 </section>
4527
4528 <section id="modal-registro-interesse-sucesso" class="ssp-modal-registro-interesse d-none">
4529
4530 <div class="ssp-card-msg-sucesso">
4531
4532 <div class="ssp-card-msg-sucesso__content">
4533 <i class="fas fa-exclamation-circle"></i>
4534 <p>Obrigado por registrar seu interesse!</p>
4535 <p>Acompanhe seu e-mail para ficar por dentro das novidades!</p>
4536 </div>
4537
4538 <div>
4539 <a class="btn btn-nivel ssp-card-msg-sucesso__btn" href="#" id="btn-voltar-home">Voltar para a home</a>
4540 </div>
4541
4542 </div>
4543
4544 </section>
4545
4546 <section id="modal-registro-interesse-erro" class="ssp-modal-registro-interesse d-none">
4547
4548 <div class="ssp-card-msg-erro">
4549
4550 <div class="ssp-card-msg-sucesso__content">
4551 <i class="fas fa-exclamation-circle" style="color: #ec3a3a;"></i>
4552 <p>Houve um erro ao registrar seu interesse!</p>
4553 <p>Por favor, tente novamente!</p>
4554 </div>
4555
4556 <div>
4557 <a class="btn btn-nivel ssp-card-msg-sucesso__btn" href="#">Voltar para a home</a>
4558 </div>
4559
4560 </div>
4561
4562 </section>
4563
4564 <!-- Aviso para curso de aprendizagem -->
4565
4566 <div id="aviso-curso-aprendizagem" class="ssp-bolsa-formulario__card-aviso-atencao d-none" style="width: 100%;">
4567
4568 <i class="fas fa-exclamation-circle ssp-bolsa-formulario__card-aviso-atencao-icon" aria-hidden="true"></i>
4569
4570 <div class="ssp-bolsa-formulario__card-aviso-texto">
4571 <p>O programa é gratuito para empresas contribuintes do Senac.</p>
4572 <p>Para contratar aprendiz, preencha o formulário e entraremos em contato.</p>
4573 </div>
4574
4575 </div>
4576
4577 <!-- modal form de aprendizagem -->
4578
4579 <#if isAprendizagem>
4580
4581 <#assign formId = 48097883 />
4582 <!-- formInstanceId é variável de acordo com o ID do formulário -->
4583 <#assign formPreferences = {"displayDepth": "1", "portletSetupPortletDecoratorId": "barebone", "formInstanceId": "formId"}/>
4584
4585 <section data-lfr-background-image-id="bg-programe-form" class="ssp-section ssp-section-lg-bottom" data-modal="modal">
4586
4587 <div class="container ssp_ct_form_programe">
4588
4589 <button type="button" data-modal="close-form-modal">
4590 fechar
4591 <i class="fas fa-times"></i>
4592 </button>
4593
4594 <@liferay_portlet["runtime"]
4595 portletName="com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormPortlet"
4596 defaultPreferences=freeMarkerPortletPreferences.getPreferences(formPreferences)
4597 />
4598
4599 </div>
4600
4601 </section>
4602
4603 </#if>
4604
4605 <div id="avisoTrampolim" class="ssp-bolsa-formulario__card-aviso-atencao container text-left d-none" style="width: 100%;">
4606 <i class="fas fa-exclamation-circle ssp-bolsa-formulario__card-aviso-atencao-icon" aria-hidden="true"></i>
4607 <div class="ssp-bolsa-formulario__card-aviso-texto"><p>Para informações sobre preço do curso e matrícula, entre em contato a unidade.</p>
4608 </div>
4609
4610 </div>
4611
4612
4613 <!--modal forma pagto extensao-->
4614 <section id="modalFormaPagtoExt" class="modal-extensao ssp-modal">
4615 <div class="modal-extensao_content">
4616 <i class="fas fa-undo modal-extensao-voltar-icon"><span class="modal-extensao-voltar-txticon">Voltar</span></i>
4617 <h1 class="modal-extensao-condicoes__title">Descontos e Parcelamento</h1>
4618 <div class="row">
4619
4620 <!-- <button class="btn-preco-padrao d-xs-flex d-sm-flex d-lg-none d-xl-none">
4621 Preço Padrão
4622 <i class="fas fa-chevron-right custom-icon-right"></i>
4623 </button> -->
4624
4625 <div class="col-lg-6 col-sm-12 col-xs-12">
4626
4627 <h2 class="modal-extensao_subtitle">Investimento</h2>
4628
4629 <span class="modal-extensao_preco">R$ <span class="precoVendaOferta"></span></span>
4630 <span class="modal-extensao_txteconomiza">.<b class="modal-extensao_txtverde"></b></span>
4631 <div class="modal-extensao_ctboleto pt-2 pb-2 mb-3">
4632 <i class="fas fa-barcode" aria-hidden="true"></i>
4633 <span class="modal-extensao_txtPag">Boleto Bancário</span>
4634 <span class="modal-extensao_txtParcela"><b><span class="numParcelaBoleto"></span>x de R$ <span class="precoParcelaBoleto"></span></b></span>
4635 <span class="modal-extensao_txtParcela">sem juros</span>
4636 </div>
4637 <div class="modal-extensao_ctcard pt-2 pb-2 mb-3">
4638 <i class="far fa-credit-card" aria-hidden="true"></i>
4639 <span class="modal-extensao_txtPag">Cartão de Crédito</span>
4640 <span class="modal-extensao_txtParcela"><b><span class="numParcelaCartoes"></span>x de R$ <span class="precoParcelaCartoes"></span></b></span>
4641 <span class="modal-extensao_txtParcela">sem juros</span>
4642 </div>
4643 <p class="modal-extensao_txtParcela pt-5"><b>À vista:</b> R$ <span class="precoAVistaPadraoExt"></span> <span class="modal-extensao_txtporcent">(-8%)</span></p>
4644 </div>
4645
4646 <!-- <hr class="ssp-divisor d-xs-block d-sm-block d-lg-none d-xl-none"> -->
4647
4648 <!-- <button class="btn-preco-ex-aluno d-xs-flex d-sm-flex d-lg-none d-xl-none">
4649 Preço para Contribuintes,<br>alunos e ex-alunos*
4650 <i class="fas fa-chevron-right custom-icon-right"></i>
4651 </button> -->
4652
4653 <div class="col-lg-6 col-sm-12 col-xs-12">
4654 <h2 class="modal-extensao_subtitle mt-4">Valor com 20% de desconto para alunos, ex-alunos e contribuintes Senac</h2>
4655 <span class="modal-extensao_preco">R$ <span class="precoContrExt"></span></span>
4656 <span class="modal-extensao_txteconomiza">Você economiza <b class="modal-extensao_txtverde">R$ <span class="economiaExt"></span> (-20%)</b></span>
4657 <div class="modal-extensao_ctboleto pt-2 pb-2 mb-3">
4658 <i class="fas fa-barcode" aria-hidden="true"></i>
4659 <span class="modal-extensao_txtPag">Boleto Bancário</span>
4660 <span class="modal-extensao_txtParcela"><b><span class="numParcelaBoleto"></span>x de R$ <span class="precoParcelaBoletoExt"></span></b></span>
4661 <span class="modal-extensao_txtParcela">sem juros</span>
4662 </div>
4663 <div class="modal-extensao_ctcard pt-2 pb-2 mb-3">
4664 <i class="far fa-credit-card" aria-hidden="true"></i>
4665 <span class="modal-extensao_txtPag">Cartão de Crédito</span>
4666 <span class="modal-extensao_txtParcela"><b><span class="numParcelaCartoes"></span>x de R$ <span class="precoParcelaCartoesExt"></span></b></span>
4667 <span class="modal-extensao_txtParcela">sem juros</span>
4668 </div>
4669 <p class="modal-extensao_txtParcela pt-5"><b>À vista:</b> R$ <span class="precoAVistaContrExt"></span> <span class="modal-extensao_txtporcent">(-8%)</span></p>
4670 </div>
4671 <div class="col-lg-6 col-sm-12 col-xs-12">
4672 <a target="_blank" href="#">
4673 <button class="btn modal-extensao__btn mt-3 text-uppercase">Comprar</button>
4674 </a>
4675 </div>
4676 <div class="col-lg-6 col-sm-12 col-xs-12">
4677 <button class="btn btn-primary modal-extensao-btn-conheca mt-3" >Conheça os descontos</button>
4678 </div>
4679 </div>
4680 </div>
4681
4682 <div class="modal-extensao_content modal-pergunta-aluno-ext d-none">
4683
4684 <i class="fal fa-times modal-extensao-voltar-icon" style="font-size:25px;"></i>
4685 <h1 class="modal-extensao-condicoes__title">Você é nosso aluno?</h1>
4686 <div class="row">
4687 <div class="col-6 text-right">
4688
4689 <button class="btn btn-primary modal-extensao-btn-aluno-sim-nao sim mt-3">Sim</button>
4690
4691 </div>
4692 <div class="col-6 text-left">
4693
4694 <button class="btn btn-primary modal-extensao-btn-aluno-sim-nao nao mt-3">Não</button>
4695
4696 </div>
4697 </div>
4698 <div class="row d-none msg-alunoSim">
4699 <div class="col-12 text-center mt-10">
4700 <i class="fas fa-check-circle modal-extensao-ico-check"></i>
4701 <h2 class="modal-extensao-condicoes__subtitle">Boa notícia!</h2>
4702 <p class="modal-extensao-aluno_txtcontent">Você tem 20% de desconto neste curso.<br> Faça seu login e preencha os dados solicitados.</p>
4703 <p class="mb-0">
4704 <a target="_blank" href="#">
4705 <button class="btn modal-extensao-aluno__btn ok mt-3">Fazer Inscrição</button>
4706 </a>
4707 </p>
4708 <p class="mt-0">
4709 <a href="https://www.sp.senac.br/descontos-e-parcelamentos/pos-e-extensao-universitaria">
4710 <button class="btn btn-primary modal-extensao-btn-conferir mt-3" id="btn-conferir-regras">Conferir Regras</button>
4711 </a>
4712 </p>
4713 </div>
4714 </div>
4715 <div class="row d-none msg-alunoNao">
4716 <div class="col-12 text-center mt-10">
4717 <i class="fas fa-percentage modal-extensao-ico-percent"></i>
4718 <h2 class="modal-extensao-condicoes__subtitle">Poxa! Não fique triste...</h2>
4719 <p class="modal-extensao-aluno_txtcontent">Você não tem direito ao desconto de 20% neste curso. Mas você tem direito ao desconto de pontualidade (melhorar texto)</p>
4720 <p class="mb-0">
4721 <a target="_blank" href="#">
4722 <button class="btn modal-extensao-aluno__btn not mt-3">Fazer Inscrição</button>
4723 </a>
4724 </p>
4725 <p class="mt-0">
4726 <a href="https://www.sp.senac.br/descontos-e-parcelamentos/pos-e-extensao-universitaria">
4727 <button class="btn btn-primary modal-extensao-btn-conferir mt-3" id="btn-conferir-regras">Conferir Regras</button>
4728 </a>
4729 </p>
4730 </div>
4731 </div>
4732 </div>
4733 </section>
4734
4735
4736 <!-- Modal Descontos e Parcelamento EMED -->
4737 <div id="modalPagtoEmed" class="ssp-modal">
4738
4739 <div class="ssp-card-modal-forma-pagamento">
4740
4741 <div class="ssp-card-modal-forma-pagamento__header">
4742 <h6 class="ssp-card-modal-forma-pagamento__header-title font-weight-bold text-center" style="color:#454F63">Descontos e parcelamentos</h6>
4743 <div class="ssp-modal-emed-btfechar">
4744 <i class="ssp-card-modal-forma-pagamento__btn-close ssp-card-modal-forma-pagamento__btn-close_0"></i>
4745 <span>Fechar</span>
4746 </div>
4747 </div>
4748
4749 <div class="ssp-card-modal-forma-pagamento__body">
4750
4751 <p class="ssp-modal-emed-info-valor-matricula"><span class="ssp-modal-emed-info-txt-matricula">1ª parcela de R$ <span class="precoParcelaEmedModal"></span> <span>+ <span class="numParcelaEmedModal"></span> mensalidades de R$ <span class="precoParcelaEmedModal"></span></span></p>
4752
4753 <p class="ssp-card-modal-forma-pagamento__valor-desconto ssp-modal-emed-valor-total-txt"> <span class="ssp-modal-emed-txtValor">Valor total:</span> <span class="precoVendaOferta ssp-modal-emed-valor-total">R$ 414,40</span>
4754 <span class="ssp-card-modal-emed-ano">/ano</span></p>
4755
4756 <p class="txt-desconto-oito ssp-modal-emed-txt-desconto-oito text-center" style="border-bottom: 0px;"><i class="fas fa-badge-percent"></i> <span class="txt-pague-vista">Pague à vista e</span> <span class="txt-ganhe-mais" style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p>
4757 <div class="ssp-card-modal-emed-lineou"><span>ou</span></div>
4758
4759 <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:14px;text-align: center;">Ganhe fôlego: parcele seu curso!</small>
4760
4761 <div class="ssp-card-modal-forma-pagamento__tipos">
4762
4763 <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start ssp-card-modal-emed-centralizaPagtos" style="margin:0 auto" >
4764 <i class="ssp-card-modal-forma-pagamento__icon-boleto-cartao"></i>
4765 <div class="ssp-card-modal-forma-pagamento__info-cartao">
4766 <p><strong>Cartão de Crédito +</strong></p>
4767 <p><strong>Boleto Bancário</strong></p>
4768 <!-- <p>1ª parcela em <span>até 4x de R$ <span class="valorParcelaEntradaCartoesBoleto">265,50</span></span> sem juros no cartão</p> -->
4769 <p>1ª parcela no cartão</p>
4770 <p>Valor restante em <span>até <span class="numParcelaCartoesBoleto"></span>x de <br>R$ <span class="precoParcelaCartoesBoleto"></span></span> sem juros no boleto</p>
4771 </div>
4772 </div>
4773
4774
4775 <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start ssp-card-modal-emed-centralizaPagtos" style="margin:0 auto" >
4776 <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i>
4777 <div class="ssp-card-modal-forma-pagamento__info-cartao">
4778 <p><strong>Cartão de Crédito</strong></p>
4779 <p>(<span class="textoCartoesAceitos">Mastercard, Visa, Elo, American Express, Hipercard</span>)</p>
4780 <p>Em até <span><span class="numParcelaCartoes">12</span>x de R$ <span class="precoParcelaCartoes">34,53</span></span> sem juros</p>
4781 </div>
4782 </div>
4783
4784 <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4 ssp-card-modal-emed-centralizaPagtos" style="margin:0 auto" id="content_boleto_0">
4785 <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i>
4786 <div class="ssp-card-modal-forma-pagamento__info-cartao">
4787 <p><strong>Boleto Bancário</strong></p>
4788 <p>Em até <span><span class="numParcelaBoleto">12</span>x de R$ <span class="precoParcelaBoleto">34,53</span></span> sem juros</p>
4789 </div>
4790 </div>
4791
4792 <p class="txt-desconto-oito ssp-modal-emed-txt-desconto-oito ssp-modal-emed-boxoito" data-info="data-para-matricula"><span class="ssp-card-modal-emed-valorObs obsspan"><i class="fas fa-exclamation-circle"></i>As vagas são limitadas e por ordem de chegada!</span>Garanta seu lugar! Matricule-se agora.</p>
4793
4794 <p class="txt-desconto-oito ssp-modal-emed-txt-desconto-oito ssp-card-modal-emed-boxDesconto" data-info="msg-20-desconto"><strong>E você ainda tem</strong><span style="color:#FC7834;font-weight:bold"> 20% desconto na mensalidade se:</span><br>
4795 - Estuda ou estudou no Senac<br>
4796 - É dependente de quem trabalha em empresa contribuinte do Senac<br>
4797 - Estuda ou estudou na rede pública de ensino
4798 </p>
4799
4800 </div>
4801
4802 </div>
4803
4804
4805 <a href="#a" class="btn btn-lg w-100 ssp-btn-emed__voltar-curso" style="margin-top: 20px;font-weight:600" id="" data-espaco-ex="true" data-unidade="" data-evento="" data-destino-compra="" data-index=""><span class="">Voltar para página do curso</span></a>
4806
4807
4808
4809 </div>
4810 </div>
4811
4812 <#if isEMED>
4813 <div id="modalAntesCompraEmed" class="ssp-modal">
4814 <div class="ssp-modal-local-realizacao">
4815 <div class="ssp-modal-local-realizacao__title-content">
4816 <h6 class="ssp-modal-local-realizacao__title" style="padding-left:10%;">IMPORTANTE!</h6>
4817 <i class="ssp-card-modal-antes-compra__btn-close ssp-card-modal-forma-pagamento__btn-close"></i>
4818 </div>
4819 <div class="ssp-modal-local-realizacao__texto">
4820 <p class="texto-modal-emed textoEmedModalAntesCompra0010 d-none">
4821
4822 Esta matrícula é válida apenas para a compra do curso de acordo com a escola e o horário já selecionados.<br/>
4823
4824 </p>
4825 <p class="texto-modal-emed textoEmedModalAntesCompra0010Espera d-none">
4826
4827 Saiba como funciona a inscrição para a lista de espera:<br/><br/>
4828 - É válida somente para a <b>compra do curso</b><br/>
4829 - Não garante vaga para o estudante<br/>
4830 - É válida apenas para o curso, horário e escola selecionados<br/>
4831 - Caso surjam vagas, você receberá um e-mail para fazer a matrícula<br/>
4832
4833 </p>
4834 <p class="texto-modal-emed textoEmedModalAntesCompra0020e0030 d-none">
4835
4836 - Essa inscrição é para uma lista de espera de transferência para 2º ou 3º ano do Ensino Médio Técnico, por isso, ao realizá-la não garantimos a vaga<br/><br/>
4837 - A inscrição só pode ser solicitada para quem deseja estudar no Senac realizando a compra do curso<br/><br/>
4838 - Se a turma escolhida tiver vagas, você receberá um e-mail com orientações sobre a entrega de documentos e as formas de pagamento para efetivar a transferência
4839
4840 </p>
4841 <div class="btn ssp-modal-local-realizacao__btn-content">
4842 <button class="btn btn-lg btn-success w-100 mt-3" offercode="" id="btnCompraLocalEmed">Continuar para compra</button>
4843 <a class="ssp-modal-local-realizacao__btn btn btn-lg w-100 mt-3 ssp-card-modal-selecionar-outro__btn-close" href="#a">Voltar para o curso</a>
4844 </div>
4845 </div>
4846 </div>
4847 </div>
4848
4849 </#if>
4850
4851
4852
4853
4854 <script>
4855 let showedFilters = false
4856 var groupId = themeDisplay.getScopeGroupId();
4857
4858 var urlSearchCursosPorCategory = '/o/senac-curso-services/cursosPorCategoryIds/{groupId}?categoryIds={categoryId}&start=0&end={limit}';
4859
4860 var urlSearchOferta = '/o/senac-oferta-services/ofertasPorCategoryIds/' + groupId
4861
4862 var urlSearchUnidade = '/o/senacsearch/Unidade/{companyId}/{groupId}/{userId}?q=codigoUnidade_pt_BR:{codigoUnidade}';
4863 var urlUnidadeInfoDetalhe = '/o/senac-content-services/unidadeInfoDetalhe/{companyId}/{codigoUnidade}';
4864 var urlSearchCursosPodeGostar = '/o/senac-content-services/cursosVocePodeGostar/{companyId}/{groupId}/{userId}/{articleId}/{limit}';
4865 var urlSearchCursoInfo = '/o/senac-content-services/cursosInfoDetalhe/{groupId}/{cursosInfo}?inscricaoAberta={inscricaoAberta}&bolsaAberta={bolsaAberta}';
4866 var urlRegistroInteresse = '/o/senac-content-services/registroInteresse/';
4867 var urlRegistroInteresseEmailInteressado = '/o/senac-content-services/envioEmailRegistroInteresse/';
4868 var cntSelectUnidades = 1;
4869 var urlPlanoCurso = 'https://www.sp.senac.br/jsp/includeMatdid.jsp?file=/ha1shared/projects/matdid/{codigoFT}-{dataEfetiva}.html';
4870 var urlGetServerT = '/o/senac-content-services/getServerTime';
4871 var urlSearchCursosPodeGostarEmed = '/o/senac-curso-services/cursosPorCategoryIdsFilterAndOr/{groupId}/?categoryIdsOr={tiposDeCurso}&start=0&end={limit}&articleId={articleId}';
4872 var todayG = '';
4873 var codigoFTCursoAprendizagem = 18984;
4874 var globalGroupId = Liferay.ThemeDisplay.getCompanyGroupId();
4875 var isAoVivo = 0;
4876 var nomeFormatoAoVivoDxp = 'Senac Online - ao vivo';
4877 var ofertaUnidadeMap = new Map();
4878 var ultimaUnidade = 0;
4879 var regIndex = new RegExp('\{index\}', 'g');
4880 var linkBotaoCompra = 'http://www.sp.senac.br/login/Login?destino=/ecommerceFrontEnd/?vcw_unidade={codigoUnidade}&vcw_evento={codigoOferta}';
4881 var carregouUltimaOferta = false;
4882 var ofertasMap = new Map();
4883 var codUnidadeSenacAoVivo = '108';
4884 var ofertasComBolsa = false;
4885
4886 //funcao para pegar host do ambiente, se eh teste ou prod (utilizado no servico da bolsa)- 9546
4887 function getServiceEnvironmentHost(){
4888 if(!isAmbienteTeste())
4889 return window.location.origin
4890 else
4891 return 'https://gesportal.sp.senac.br'
4892 }
4893
4894 var hostBolsa = getServiceEnvironmentHost()
4895
4896 // Montar object push - google tag manager - 1
4897 let itensEcommerce = null;
4898 let ofertaSelecionada = null;
4899
4900 const today = new Date;
4901
4902 //categoryId -> cod unidade
4903 var mapUnidadesIds = new Map();
4904 var objsTela = {
4905 unidades: [],
4906 unidadesRegistroInteresse: [],
4907 categoriesIds:[],
4908 ofertasAoVivoTodasUnidades: [],
4909 primeiroChange: true
4910 };
4911 var startOfertaParam = 0;
4912 var endOfertaParam = 25;
4913
4914 var ehCursoTrampolim = false;
4915
4916 const isHibrido = $('input[name="formato"]').data('formato') === 'Presencial + EAD';
4917
4918 var textoFormatoHibrido = "";
4919 var temTextoParaFormatoHibrido = false;
4920
4921 //Validar se o campo textoFormatoHibrido existe e se não está vazio
4922 if(isHibrido){
4923 textoFormatoHibrido = $('input[name="textoFormatoHibrido"]').val();
4924 if(typeof textoFormatoHibrido !== 'undefined'){
4925 if (textoFormatoHibrido.trim() !== '' ) {
4926 temTextoParaFormatoHibrido = true;
4927 textoFormatoHibrido += '<br>';
4928 }
4929 }
4930 }
4931
4932 const HOST = window.location.origin;
4933 const URLGeral = window.location.href;
4934
4935 //EMED
4936 const anoTurmaEmed = '2025';
4937
4938 const tipoCursoNome = function(){ return $('.ssp-header-curso__tag-formato').text().trim(); }
4939
4940 const isEmed = (tipoCursoNome().indexOf('Ensino Médio Técnico') > -1);
4941
4942 const statusEmed = Object.freeze({
4943 NAO_ENCONTRADA: 0,
4944 INSCRICAO: 1,
4945 ESPERA: 2,
4946 ESGOTADO: 3
4947 });
4948
4949 let unidadesToURL = []
4950
4951 const localLivreOnline = function(textoLocal){
4952 textoLocal = textoLocal || ''
4953 textoLocal = textoLocal.replaceAll('online', 'on-line')
4954
4955 const textoOnline = 'Nesta turma, todas as aulas serão on-line e ao vivo pela plataforma digital Microsoft Teams';
4956
4957 return textoLocal.toUpperCase().includes(textoOnline.toUpperCase());
4958 }
4959
4960 const linkBolsa = function(oferta){
4961
4962 let tiposCurso = new Map();
4963 tiposCurso.set('livre', 'L');
4964 tiposCurso.set('tecnico', 'T');
4965 tiposCurso.set('aprendizagem', 'A');
4966 let letraTipoCurso = tiposCurso.get($('[name="tipoCurso"]').val()) || '';
4967
4968 // verifica o campo destinoBolsa da oferta - 9546
4969 var destinoBolsa = ""
4970 if(oferta.destinoBolsa){
4971 destinoBolsa = parseInt(oferta.destinoBolsa,10)
4972 }
4973
4974 return hostBolsa+'/login/Login?origem=bolsas&destino=/jsp/default.jsp?template=2464.dwt&testeira=1540&idcourse='+
4975 $('[name="codigoFT"]').val()+
4976 '&cod_evento='+
4977 oferta.codigoOferta+
4978 '&cod_u='+
4979 codigoUnidade+
4980 '&nvg='+
4981 oferta.qtdeTotalVagasPSG+
4982 '&type='+
4983 letraTipoCurso+
4984 '&sel_unit=&ft=y'+
4985 (destinoBolsa ? '&destino='+destinoBolsa : '');
4986 }
4987
4988
4989 $('.ssp-ofertas-emed__filtro-content .btn').on('click', function(){
4990
4991 var classAtivo = 'btn--filtro-ativo';
4992
4993 if(!$(this).hasClass(classAtivo)){
4994
4995 $(this).siblings().removeClass(classAtivo);
4996
4997 $(this).addClass(classAtivo);
4998
4999 const $cardTransferencias = $('.card-transferencias-emed');
5000
5001 if($(this).val() == '0'){
5002 hideCardSemTurmas(true);
5003 $('.ssp-slick-ofertas-emed').empty();
5004 if(!$('.ssp-slick-ofertas-emed').hasClass('d-none')) $('.ssp-slick-ofertas-emed').addClass('d-none');
5005 $('.prev-mobile, .next-mobile').addClass('d-none');
5006 $cardTransferencias.removeClass('d-none');
5007 } else{
5008 if(!$cardTransferencias.hasClass('d-none')) $cardTransferencias.addClass('d-none');
5009 $('.ssp-slick-ofertas-emed').removeClass('d-none');
5010 populaOfertas(objsTela.ofertas);
5011 }
5012
5013 }
5014
5015 });
5016
5017 //Cronometro
5018 var hidden, visibilityChange;
5019 var restartTimeout = null;
5020 var interval01, interval15;
5021
5022 if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support
5023 hidden = "hidden";
5024 visibilityChange = "visibilitychange";
5025 } else if (typeof document.msHidden !== "undefined") {
5026 hidden = "msHidden";
5027 visibilityChange = "msvisibilitychange";
5028 } else if (typeof document.webkitHidden !== "undefined") {
5029 hidden = "webkitHidden";
5030 visibilityChange = "webkitvisibilitychange";
5031 }
5032
5033 // Verifica suporte a Visibility API
5034 if (typeof document.addEventListener === "undefined" || hidden === undefined) {
5035 console.log("Navegador incompativel com page visibility api");
5036 } else {
5037 // Evento para quando a visibilidade da pagina mudar
5038 document.addEventListener(visibilityChange, handleVisibilityChange, false);
5039 }
5040
5041 $(".ssp-saiba-mais-curso-accordion").on("click", ".ssp-saiba-mais-curso-accordion__heading", function() {
5042
5043 $(this).toggleClass("active").next().slideToggle();
5044
5045 $(".sp-saiba-mais-curso-accordion__contents").not($(this).next()).slideUp(300);
5046
5047 $(this).siblings().removeClass("active");
5048 });
5049
5050 function loadUnidadesRegistroInteresse(urlCursoInfo) {
5051 if(objsTela.unidadesRegistroInteresse && objsTela.unidadesRegistroInteresse.length)
5052 return
5053
5054 let urlUnidades = new URL(window.location.origin + urlCursoInfo)
5055 let paramsUnidades = new URLSearchParams(urlUnidades.search)
5056 paramsUnidades.delete('inscricaoAberta')
5057 paramsUnidades.delete('bolsaAberta')
5058 urlUnidades.search = '?' + paramsUnidades.toString()
5059 urlUnidades = urlUnidades.href
5060
5061 $.ajax({
5062 url: urlUnidades,
5063 method:'get',
5064 async: false
5065 }).done(function(data){
5066 if(data.length > 0){
5067 const cursoInfo = JSON.parse(data);
5068 const unidadesOfertantes = cursoInfo.unidadesOfertantes;
5069
5070 $.each(unidadesOfertantes, function(k,item){
5071 var unidade = {};
5072 unidade['categoryId'] = item['categoryId'];
5073 unidade['codigoUnidade'] = item['codigoUnidade'];
5074 unidade['nome'] = item['nomeUnidade'];
5075 unidade['enderecoUnidade'] =item['enderecoUnidade'];
5076 unidade['numero'] =item['numEnderecoUnidade'];
5077 unidade['complemento'] = item['complementoEnderecoUnidade'];
5078 unidade['bairro'] = item['bairroUnidade'];
5079 unidade['googlemapsUnidade'] = item['googlemapsUnidade'];
5080 unidade['friendlyURL'] = item['friendlyURL'];
5081 unidade['selecionado'] = false;
5082 unidade['selectSelecionado'] = "";
5083 unidade['ofertas'] = [];
5084
5085 if(!objsTela.unidadesRegistroInteresse.filter(uni => uni['categoryId'] == unidade['categoryId']).length)
5086 objsTela.unidadesRegistroInteresse.push(unidade)
5087 });
5088 }
5089 });
5090 }
5091
5092 function loadUnidades(showOptions, unidadeValue){
5093 //Busca as unidades do curso
5094
5095 const urlCursoInfo = urlSearchCursoInfo
5096 .replace('\{groupId\}', groupId)
5097 .replace('\{cursosInfo\}', $('[name="articleId"]').val())
5098 .replace('\{inscricaoAberta\}', $('#chkInscricao').prop('checked'))
5099 .replace('\{bolsaAberta\}', $('#chkBolsa').prop('checked'));
5100
5101 loadUnidadesRegistroInteresse(urlCursoInfo)
5102
5103 $.ajax({
5104 url:urlCursoInfo,
5105 method:'get',
5106 async: false,
5107 beforeSend: function () {
5108 loading('.oferta-slick-area');
5109 }
5110 }).done(
5111 function(data){
5112
5113 if(data.length > 0){
5114
5115 if(!isAoVivo)
5116 $('.ssp-container-selecione-unidade').removeClass('d-none')
5117
5118 const cursoInfo = JSON.parse(data);
5119
5120
5121 //GCR pediu para voltarmos no combo as unidades vinculadas e não somente as que possuem ofertas
5122 //const unidades = cursoInfo.unidadesComOferta;
5123 const unidades = cursoInfo.unidadesOfertantes;
5124
5125 objsTela.unidades = []
5126 mapUnidadesIds = new Map();
5127
5128 $.each(unidades, function(k,item){
5129
5130 var unidade = cloneObj(item)
5131 unidade['nome'] = item['nomeUnidade'];
5132 unidade['numero'] =item['numEnderecoUnidade'];
5133 unidade['complemento'] = item['complementoEnderecoUnidade'];
5134 unidade['bairro'] = item['bairroUnidade'];
5135 unidade['ofertas'] = [];
5136
5137 objsTela.unidades.push(unidade);
5138
5139 mapUnidadesIds.set(unidade['categoryId'], unidade['codigoUnidade']);
5140
5141 objsTela.unidades.forEach(unidade => unidadesToURL.filter(u => u.friendlyURL == unidade.friendlyURL).length ? '' : unidadesToURL.push(unidade))
5142 });
5143
5144
5145 populaSelectUnidades(undefined, showOptions, unidadeValue);
5146
5147 }
5148 });
5149
5150 }
5151
5152function getOfertaObjectFromJson(ofertaJSON,index){
5153
5154
5155 var oferta = {};
5156 var xml = $($.parseXML(ofertaJSON.content));
5157 oferta['ordenar'] = paramOrdem(xml);
5158 oferta['vagasTotal'] = xml.find('[name="vagasTotal"]').text().trim();
5159 var dataInicio = xml.find('[name="dataInicioOferta"]').text().split('-');
5160 var dataFim =xml.find('[name="dataFimOferta"]').text().split('-');
5161 oferta['dataInicio'] = dataInicio[2].trim()+'/'+dataInicio[1].trim()+'/'+dataInicio[0].trim();
5162 oferta['dataFim'] = dataFim[2].trim()+'/'+dataFim[1].trim()+'/'+dataFim[0].trim();
5163 oferta['horaInicio'] = xml.find('[name="horaInicioOferta"]').text();
5164 oferta['codigoOferta'] = xml.find('[name="codigoOferta"]').text().trim();
5165 var dias = [];
5166 oferta['horaFimOferta'] = xml.find('[name="horaFimOferta"]').text().trim();
5167 xml.find('[name="diasDaSemanaOferta"]').find('option').each(function(index,dia){
5168 dias.push($(dia).text());
5169 });
5170 oferta['diasDaSemanaOferta'] = dias;
5171 oferta['periodoDiaOferta'] = xml.find('[name="periodoDiaOferta"]').text().trim();
5172 oferta['precoCheioOferta'] = xml.find('[name="precoCheioOferta"]').text().trim();
5173 oferta['precoVendaOferta'] = xml.find('[name="precoVendaOferta"]').text().trim();
5174 oferta['numeroMaxParcelasOferta'] = xml.find('[name="numeroMaxParcelasOferta"]').text().trim();
5175
5176 oferta['textoCartoesAceitos'] = pegarTextoCartoesAceitos(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim());
5177 oferta['numParcelaCartoes'] = pegaNumParcela(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim());
5178 oferta['precoParcelaCartoes'] = pegaValorParcela(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim());
5179 oferta['numParcelaBoleto'] = pegaNumParcela(xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim());
5180 oferta['precoParcelaBoleto'] = pegaValorParcela(xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim());
5181
5182 oferta['precoVendaMaxParcelaOferta'] = xml.find('[name="precoVendaMaxParcelaOferta"]').text().trim();
5183 oferta['formaDePagamentoOferta'] = xml.find('[name="formaDePagamentoOferta"]').text().trim();
5184 oferta['botaoCompraOferta'] = xml.find('[name="botaoCompraOferta"]').text().trim();
5185 oferta['vagasParaCompraOferta'] = xml.find('[name="vagasParaCompraOferta"]').text().trim();
5186 oferta['botaoBolsaOferta'] = xml.find('[name="botaoBolsaOferta"]').text().trim();
5187 oferta['vagasBolsaOferta'] = xml.find('[name="vagasBolsaOferta"]').text().trim();
5188 oferta['dataAberturaBolsaOferta'] = xml.find('[name="dataAberturaBolsaOferta"]').text().trim();
5189 oferta['horaAberturaBolsaOferta'] = xml.find('[name="horaAberturaBolsaOferta"]').text().trim();
5190 oferta['espacoExterno'] = xml.find('[name="espacoExterno"]').text().trim();
5191 oferta['localEspacoExterno'] = xml.find('[name="localEspacoExterno"]').text().trim();
5192 oferta['ruaEspacoExterno'] = xml.find('[name="ruaEspacoExterno"]').text().trim();
5193 oferta['numeroEspacoExterno'] = xml.find('[name="numeroEspacoExterno"]').text().trim();
5194 oferta['complementoEspacoExterno'] = xml.find('[name="complementoEspacoExterno"]').text().trim();
5195 oferta['bairroEspacoExterno'] = xml.find('[name="bairroEspacoExterno"]').text().trim();
5196 oferta['cidadeEspacoExterno'] = xml.find('[name="cidadeEspacoExterno"]').text().trim();
5197 oferta['ufEspacoExterno'] = xml.find('[name="ufEspacoExterno"]').text().trim();
5198 oferta['cepEspacoExterno'] = xml.find('[name="cepEspacoExterno"]').text().trim();
5199 oferta['qtdeTotalVagas'] = xml.find('[name="qtdeTotalVagas"]').text().trim();
5200 oferta['qtdeTotalVagasPSG'] = xml.find('[name="qtdeTotalVagasPSG"]').text().trim();
5201 oferta['horariosAllOferta'] = xml.find('[name="horariosAllOferta"]').text().trim();
5202 oferta['formaDePagamentoCartaoOferta'] = xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim();
5203 oferta['formaDePagamentoBoletoOferta'] = xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim();
5204 oferta['dtLimiteMatricula'] = xml.find('[name="dtLimiteMatricula"]').text().trim();
5205 oferta['dataAberturaMatricula'] = xml.find('[name="dataAberturaMatricula"]').text().trim();
5206 oferta['etapa'] = xml.find('[name="etapa"]').text().trim();
5207 oferta['destinoCompra'] = xml.find('[name="destinoCompra"]').text().trim();
5208 //adicao do destinoBolsa na oferta - 9546 - 11/07/2022
5209 oferta['destinoBolsa'] = xml.find('[name="destinoBolsa"]').text().trim();
5210
5211 if(isEmed){
5212 //EMED utilizar data matricula para bolsa
5213 oferta['dataAberturaBolsaOferta'] = oferta['dataAberturaMatricula'];
5214
5215 }
5216
5217 return oferta;
5218 }
5219
5220 const getStatusEmed = (oferta) => {
5221
5222 const urlStatusEsperaEmed = () => {
5223 let url = (isAmbienteTeste()) ?
5224 'https://hinscricao-educacional-backend.sp.senac.br/api/lista-espera/'
5225 : 'https://inscricao-educacional-ms.sp.senac.br/api/lista-espera/';
5226
5227 return url + oferta.codigoOferta;
5228 }
5229
5230 const callTl = async () => {
5231 if(getCookie('tl') == null){
5232 return await $.ajax({
5233 url: '/o/senac-content-services/geraTokenServicosSenac',
5234 method: 'GET'
5235 });
5236 }
5237 return getCookie('tl');
5238 }
5239
5240 const callListaEspera = async () => {
5241 var tl = '';
5242 try{
5243 tl = await callTl();
5244 if(getCookie('tl') == null){
5245 tl = JSON.parse(tl).token;
5246 writeCookie('tl', tl, 6, '');
5247 }
5248 }catch(err){
5249 console.error(err);
5250 return {};
5251 }
5252
5253 return $.ajax({
5254 url: urlStatusEsperaEmed(),
5255 method: 'GET',
5256 beforeSend: function (xhr) {
5257 xhr.setRequestHeader("Authorization", tl);
5258 }
5259 })
5260 }
5261
5262 return new Promise(async function (resolve, reject) {
5263 const resp = await callListaEspera();
5264 if(typeof resp !== 'object') resp = JSON.parse(resp);
5265 let status = resp.STATUS;
5266 resolve(status);
5267 });
5268
5269 }
5270
5271 function getOfertasAoVivo(codigoFT, dataEfetivaOferta, categoryIds){
5272
5273 if(categoryIds && categoryIds.length) {
5274 var params = new URLSearchParams();
5275 params.set('codigoFTOferta',codigoFT)
5276 params.set('dataEfetivaOferta',dataEfetivaOferta)
5277 params.set('categoryIds',categoryIds)
5278 params.set('start',startOfertaParam)
5279 params.set('end',endOfertaParam)
5280 params.set('inscricaoAberta', $('#chkInscricao').prop('checked'))
5281 params.set('bolsaAberta', $('#chkBolsa').prop('checked'))
5282 params.set('cursoArticleId', $('[name="articleId"]').val() || '');
5283
5284 if($('#chkBolsa').prop('checked')){
5285 params.set('considerarDataBolsaFutura', true)
5286 }
5287 const url = urlSearchOferta + '?' + params.toString()
5288
5289 $.ajax({
5290 url:url,
5291 method:'get',
5292 dataType:'json',
5293 async: false
5294 }).done(
5295 function(data){
5296
5297 if(data.length > 0){
5298 $('#ssp-alternadores').show()
5299 showedFilters = true
5300
5301 objsTela.ofertasAoVivoTodasUnidades = []
5302
5303 data.forEach(function(ofertaJSON,index){
5304
5305 var oferta = getOfertaObjectFromJson(ofertaJSON,index);
5306
5307 //guardo em um map a oferta e qual unidade é, para utilizar depois no populaOferta para o aoVivo
5308 ofertaUnidadeMap.set(oferta['codigoOferta'],mapUnidadesIds.get(parseInt(ofertaJSON.unidadeCategoryIds)));
5309 objsTela.ofertasAoVivoTodasUnidades.push(oferta);
5310
5311 });
5312 } else {
5313 loadAlternadores(data)
5314 }
5315
5316 populaOfertas(objsTela.ofertasAoVivoTodasUnidades);
5317 addEventBolsa()
5318 }
5319 ).fail(function(e) {
5320 console.error(e)
5321 populaOfertas(objsTela.ofertasAoVivoTodasUnidades = []);
5322 })
5323 } else {
5324 loadAlternadores([])
5325 populaOfertas(objsTela.ofertasAoVivoTodasUnidades = [])
5326 }
5327
5328 if(isAoVivo) {
5329 if(objsTela.ofertasAoVivoTodasUnidades && objsTela.ofertasAoVivoTodasUnidades.length)
5330 hideCardSemTurmas(true)
5331 else
5332 hideCardSemTurmas(false)
5333 }
5334 }
5335
5336 function mudouToggleOferta(ofertas) {
5337 const oferta = ofertas && ofertas[0]
5338 if(!oferta)
5339 return true
5340
5341 const selecaoInscricao = $('#chkInscricao').prop('checked')
5342 const selecaoBolsa = $('#chkBolsa').prop('checked')
5343
5344 return oferta.selecaoInscricao != selecaoInscricao || oferta.selecaoBolsa != selecaoBolsa
5345 }
5346
5347 function loadAlternadores(ofertas) {
5348 if(showedFilters) {
5349 $('#ssp-alternadores').show()
5350 return
5351 }
5352
5353 if($('#unidades-ofertas').is(":hidden") || $('#unidades-ofertas option').length <= 1) {
5354 if(isAoVivo) {
5355 if(ofertas && ofertas.length)
5356 $('#ssp-alternadores').show()
5357 else {
5358 if(!$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked'))
5359 $('#ssp-alternadores').hide()
5360 else
5361 $('#ssp-alternadores').show()
5362 }
5363 } else {
5364 if(!$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked'))
5365 $('#ssp-alternadores').hide()
5366 else
5367 $('#ssp-alternadores').show()
5368 }
5369 } else
5370 $('#ssp-alternadores').show()
5371
5372 showedFilters = showedFilters || $('#ssp-alternadores').is(":visible")
5373 }
5374
5375 function getOfertas(codigoFT, dataEfetivaOferta, categoryId){
5376
5377 var indiceUnidade = -1;
5378 const selecaoInscricao = $('#chkInscricao').prop('checked')
5379 const selecaoBolsa = $('#chkBolsa').prop('checked')
5380
5381 for(var i = 0; i < objsTela.unidades.length; i++)
5382 if(objsTela.unidades[i].categoryId == categoryId)
5383 indiceUnidade = i;
5384
5385 ultimaUnidade = indiceUnidade;
5386
5387 if( !objsTela.categoriesIds.includes(categoryId) || mudouToggleOferta(objsTela.unidades[indiceUnidade]['ofertas'])){
5388 objsTela.unidades[indiceUnidade]['ofertas'] = []
5389
5390 var params = new URLSearchParams();
5391 params.set('codigoFTOferta',codigoFT)
5392 params.set('dataEfetivaOferta',dataEfetivaOferta)
5393 params.set('categoryIds',categoryId)
5394 params.set('start',startOfertaParam)
5395 params.set('end',endOfertaParam)
5396 params.set('inscricaoAberta', $('#chkInscricao').prop('checked'))
5397 params.set('bolsaAberta', $('#chkBolsa').prop('checked'))
5398 params.set('cursoArticleId', $('[name="articleId"]').val() || '');
5399
5400 if($('#chkBolsa').prop('checked')){
5401 params.set('considerarDataBolsaFutura', true)
5402 }
5403
5404 const url = urlSearchOferta + '?' + params.toString()
5405
5406 $.ajax({
5407 url:url,
5408 method:'get',
5409 dataType:'json',
5410 async: false
5411 }).done(
5412 function(data){
5413
5414 if(data.length > 0){
5415 $('#ssp-alternadores').show()
5416 showedFilters = true
5417
5418 $('.ssp-container-selecione-unidade').show();
5419
5420 data.forEach(function(ofertaJSON,index){
5421
5422 var oferta = getOfertaObjectFromJson(ofertaJSON,index);
5423
5424 //Preenche as ofertas da unidade
5425 objsTela.unidades[indiceUnidade]['ofertas'].push(oferta);
5426 objsTela.unidades[indiceUnidade]['ofertas'].forEach(o => {
5427 o.selecaoInscricao = selecaoInscricao
5428 o.selecaoBolsa = selecaoBolsa
5429 })
5430
5431 });
5432 } else {
5433 loadAlternadores()
5434 }
5435 objsTela.categoriesIds.push(categoryId);
5436 populaOfertas(objsTela.unidades[indiceUnidade]['ofertas']);
5437 addEventBolsa()
5438 }
5439 )
5440
5441 //Se estiver na cache, valida as ofertas
5442 }else{
5443
5444 populaOfertas(objsTela.unidades[indiceUnidade]['ofertas']);
5445
5446 }
5447 }
5448
5449 function populaSelectUnidades(unidades, showOptions, unidadeValue){
5450 var unidadePreSelecionada = false;
5451 var categoryIdUnidadePreSelecionada = '';
5452
5453 //Oredenacao
5454 objsTela.unidades.sort(function (a, b) {
5455 return ordenar(a, b, 'nome');
5456 });
5457
5458 objsTela.unidadesRegistroInteresse.sort(function (a, b) {
5459 return ordenar(a, b, 'nome');
5460 });
5461
5462 //console.log(objsTela.unidades);
5463
5464 $.each(objsTela.unidades, function(k,item){
5465
5466 if(getURLData().includes('/'+item.friendlyURL+'/')){
5467 unidadePreSelecionada= true;
5468 categoryIdUnidadePreSelecionada = item['categoryId'];
5469 }
5470 });
5471
5472 //console.log('Unidade Pre '+unidadePreSelecionada);
5473
5474 if(objsTela.unidades.length == 0){
5475 if(!showOptions)
5476 $('.ssp-container-selecione-unidade').addClass('d-none');
5477 $('.oferta-slick-area').empty();
5478 $('.prev-mobile').addClass('d-none');
5479 $('.next-mobile').addClass('d-none');
5480 //EMED remove msg registro interesse
5481 //if(isEmed) $('.ssp-card-oferta-curso__sem-vaga-description').addClass('d-none');
5482 }
5483
5484 if(isAoVivo){
5485
5486 const codigoFT = $('[name="codigoFT"]').val();
5487 const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val();
5488
5489 var unidadesCategoryAll = '';
5490
5491 $.each(objsTela.unidades, function(k,unidade){
5492 unidadesCategoryAll += unidade['categoryId']+',';
5493 });
5494
5495 //tirando ultima virgula
5496 unidadesCategoryAll = unidadesCategoryAll.substring(0,unidadesCategoryAll.length - 1);
5497
5498 getOfertasAoVivo(codigoFT, dataEfetivaOferta, unidadesCategoryAll);
5499
5500 }else{
5501 $('#unidades-ofertas').empty()
5502
5503 if(objsTela.unidades && objsTela.unidades.length){
5504 if(isEmed)
5505 $('#unidades-ofertas').append($('<option value="">Selecione uma unidade</option>'))
5506 else
5507 $('#unidades-ofertas').append($('<option value="">Clique na unidade de interesse</option>'))
5508
5509 } else
5510 $('#unidades-ofertas').append($('<option value="">Nenhum resultado encontrado</option>'))
5511
5512 let unidadeFounded = criarOptionUnidadesPorRegiao(objsTela.unidades)
5513
5514 //Dispara o evento para primeira unidade ou pela friendlyURl da unidade
5515 if(unidadeValue) {
5516 $('#unidades-ofertas').val(unidadeValue);
5517 $('#unidades-ofertas').change();
5518 } else if(unidadeFounded){
5519 $('#unidades-ofertas').val(unidadeFounded['categoryId']+"@"+unidadeFounded['codigoUnidade']);
5520 $('#unidades-ofertas').change();
5521 } else if(!unidadePreSelecionada) {
5522 $('#unidades-ofertas').change();
5523 }
5524
5525 $('.ssp-card-registro-interesse__select.unidades').empty()
5526 $('.ssp-card-registro-interesse__select.unidades').append('<option value="" disabled selected>Selecione uma unidade</option>')
5527 $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){
5528
5529 $('.ssp-card-registro-interesse__select.unidades').append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>');
5530 });
5531 }
5532
5533 }
5534
5535
5536 function mudarUnidade(ev){
5537 startOfertaParam = 0;
5538 endOfertaParam = 25;
5539 carregouUltimaOferta = false;
5540
5541 var elem = $(ev.target);
5542 var unidades = objsTela.unidades;
5543
5544 //verifica se selecionou alguma unidade
5545 if(!elem.val()){
5546 $('#informe-novas-turmas, .ssp-ofertas-emed__section, .ssp-ofertas__box-endereco-unidade').addClass('d-none');
5547
5548 if(isEmed)
5549 $('#ssp-section-response').addClass('d-none')
5550
5551 hideCardSemTurmas($('#unidades-ofertas option').length > 1)
5552
5553 elem.val('')
5554 habilitarRegistroInteresse(false)
5555 //Zera variável que controla existência de ofertas com bolsa
5556 ofertasComBolsa = false;
5557 controlaPaginaBolsa();
5558
5559 return;
5560 }
5561
5562 $('#informe-novas-turmas, .ssp-ofertas__box-endereco-unidade').removeClass('d-none');
5563 hideCardSemTurmas(true)
5564 if(isEmed){
5565 $('.ssp-ofertas-emed__section').removeClass('d-none');
5566 $('#ssp-section-response').removeClass('d-none')
5567 $('.ssp-card-oferta-curso__section-title').addClass('d-none');
5568 $('.prev-mobile, .next-mobile').addClass('d-none');
5569 var nomeUnidade = $('#unidades-ofertas option:selected').text();
5570 let tamScreen = $(window).width();
5571
5572 if(tamScreen < 1024)
5573 $('#titulo-emed').text('Turmas ' + anoTurmaEmed );
5574 else
5575 $('#titulo-emed').text('Turmas ' + anoTurmaEmed + ' - ' + nomeUnidade);
5576
5577 }
5578
5579 const codigoFT = $('[name="codigoFT"]').val();
5580 const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val();
5581
5582 //colocamos dentro do option categoryId@codUnidade
5583 splitted = elem.val().split("@");
5584 var categoryIdUnidade = splitted[0];
5585 var codUnidade = splitted[1];
5586
5587 for(var i = 0; unidades.length > i ; i++){
5588
5589 if(unidades[i].categoryId == categoryIdUnidade){
5590
5591 var unidade = unidades[i];
5592
5593 //Exibe o endereco da unidade
5594 const urlBuscaUnidade = urlUnidadeInfoDetalhe
5595 .replace('\{companyId\}',themeDisplay.getCompanyId())
5596 .replace('\{codigoUnidade\}', unidade.codigoUnidade);
5597
5598 $.ajax({
5599 url : urlBuscaUnidade,
5600 type : 'get',
5601 dataType: 'json',
5602 success: function( unidadeInfo ) {
5603 if(unidadeInfo != null && typeof unidadeInfo !== 'undefined'){
5604
5605 var endereco = concatSTR(unidadeInfo.enderecoUnidade,unidadeInfo.numEnderecoUnidade,', ');
5606 endereco = concatSTR(endereco,unidadeInfo.complementoEnderecoUnidade, ' - ');
5607 endereco = concatSTR(endereco,unidadeInfo.bairroUnidade, ' - ');
5608
5609 $('.ssp-ofertas__endereco-unidade').text(endereco);
5610 $('.ssp-ofertas__endereco-unidade').attr('href',unidadeInfo.googlemapsUnidade);
5611 }
5612 },
5613 error: function(data){
5614 $('.ssp-ofertas__endereco-unidade').text('');
5615 $('.ssp-ofertas__endereco-unidade').attr('href','#a');
5616 console.log('Unidade não encontrada');
5617 }
5618 })
5619
5620 getOfertas(codigoFT, dataEfetivaOferta, unidades[i].categoryId);
5621
5622 habilitarRegistroInteresse(!!(unidades && unidades.length));
5623
5624 }
5625 }
5626 }
5627
5628 function pegarTextoCartoesAceitos(campo){
5629 indice = campo.indexOf(' em até ');
5630 inicio = 0;
5631 fim = indice;
5632
5633 return campo.substring(inicio, fim);
5634 }
5635
5636 function pegaNumParcela(campo){
5637
5638 indice = campo.indexOf('até ');
5639 inicio = indice + 4;
5640 fim = indice + 6;
5641
5642 return campo.substring(inicio, fim);
5643
5644 }
5645
5646 function pegaValorParcela(campo){
5647
5648 indice = campo.indexOf('R$');
5649 inicio = indice+2;
5650 valorAmericano = campo.substring(inicio)
5651
5652 return formataValor(valorAmericano);
5653
5654 }
5655
5656 function montaHTMLOferta(oferta, index, codigoUnidade, posLoad){
5657
5658 var retornoDiasHorarios = processaDiasHorariosOferta(oferta.horariosAllOferta);
5659 diasSemanaHTML = "";
5660
5661 for(var diaDaOferta of retornoDiasHorarios){
5662 diasSemanaHTML += htmlSlickAreaDiasSemana.replace('\{diasSemana\}',diaDaOferta.dias);
5663 diasSemanaHTML = diasSemanaHTML.replace('\{horasSemana\}',diaDaOferta.horario)
5664 }
5665
5666 var ofertaHTML = "";
5667
5668 if(isEmed){
5669
5670 ofertaHTML = htmlSlickAreaEmed(oferta);
5671 $('[name="codUnidadeSelecionada"]').val(codigoUnidade);
5672
5673 if(!posLoad) $('.ssp-slick-ofertas-emed').append(ofertaHTML)
5674 else $('.ssp-slick-ofertas-emed').slick('slickAdd', ofertaHTML);
5675 }else{
5676
5677
5678 ofertaHTML = htmlSlickArea(index, oferta, diasSemanaHTML, codigoUnidade)
5679
5680 if(!posLoad)
5681 $('.oferta-slick-area').append(ofertaHTML);
5682 else
5683 $('.oferta-slick-area').slick('slickAdd', ofertaHTML);
5684
5685 ajustaTextoDiasHorarioOferta(oferta.codigoOferta);
5686
5687 }
5688
5689 if(turmasIniciadas(oferta.dataInicio))
5690 $("#aviso-turma-iniciada-"+index).show();
5691
5692 //remove os botões/itens de compra/bolsa caso seja preciso
5693 $('.oferta-slick-area').find('.d-none-btn').remove();
5694 }
5695
5696
5697 //RECEBE A STRING DE HORARIOS E RETORNA UMA LISTA DE OBJETOS COM OS DIAS E HORARIOS FORMATADOS
5698 //@horariosAllOferta String com os dias da semana em sigla seguido do horario da aula e separados por virgula EX: "Qui 12h às 13, Sex 12h às 13h"
5699 function processaDiasHorariosOferta(horariosAllOferta){
5700
5701 var dias = horariosAllOferta.trim().split(',');
5702 let arrayDiasSemana = [{"Seg":"Segunda"},{"Ter":"Terça"},{"Qua":"Quarta"},{"Qui":"Quinta"},{"Sex":"Sexta"},{"Sab":"Sábado"},{"Dom":"Domingo"}]
5703
5704 var arrayDia = [];
5705 if(dias.length >= 1){
5706 for(var k=0; dias.length > k; k++){
5707 var diasSplit = dias[k].trim().split(' ');
5708 var diasSemana = diasSplit.shift()
5709 var ultimaPos = diasSplit.length-1;
5710 var horasStr = diasSplit[0] + ' às ' + diasSplit[ultimaPos]
5711 arrayDia.push({horasStr,diasSemana});
5712 }
5713 }
5714
5715 arrayDia = groupByArray(arrayDia, 'horasStr','diasSemana');
5716 arrayDia = orderByArray(arrayDia,arrayDiasSemana);
5717
5718 var ret = diaHorarioOfertaFormatado(arrayDia,arrayDiasSemana);
5719 return ret;
5720 }
5721
5722 //cria um array de objetos Agrupando de acordo ao campo informado como chave.
5723 //@arr = Array multidimensional que tenha os campos key e valueAdd
5724 //@key = campo que será chave nesse array
5725 //@valueAdd = campo que será agrupado caso tenha a mesma informação passada no campo key
5726 const groupByArray = (arr, key,valueAdd) => {
5727 const initialValue = [];
5728 const retornoValue = [];
5729 arr.forEach((acc, cval) => {
5730 const myAttribute = cval[key];
5731 acc[key] in retornoValue ? retornoValue[acc[key]].push(acc[valueAdd]):retornoValue[acc[key]]=[acc[valueAdd]];
5732 return acc;
5733 }, initialValue);
5734 return retornoValue;
5735 };
5736
5737
5738 //Cria um array de objetos a partir do primeiro array inserido e ordenados de acordo a ordem do segundo array informado.
5739 //@arrayOrdena = Array de objetos que tenha os campos que precisa ser ordenados
5740 //@ordem = array com a sequencia que queira ordenar - ex: seg, ter, qua, qua
5741 const orderByArray = (arrayOrdena, ordem) => {
5742
5743 let diasSem = [];
5744 const arrayOrdenado = [];
5745 let controle;
5746
5747 //percorre cada campo existente no ordem e busca o mesmo no arrayOrdena, encontrando insere no arrayOrdenado
5748 for(let campo of ordem){
5749 Object.entries(arrayOrdena).forEach(([key, value]) => {
5750 for(let diaOferta of value){
5751 if(diaOferta===Object.keys(campo)[0]){
5752 arrayOrdenado[key]=arrayOrdena[key];
5753 }
5754 }
5755 })
5756 }
5757 return arrayOrdenado;
5758 };
5759
5760 //retorna o valor de um objeto dentro de um array
5761 //@objetoBusca = array de objetos que sera buscado o valor
5762 //@keyBusca = nome do campo a ser buscada no objeto para pegar o seu valor
5763 function findValueInObject(objetoBusca, keyBusca){
5764 var retorno = "";
5765 Object.entries(objetoBusca).forEach(([horario, dias]) => {
5766 Object.entries(dias).forEach(([key,val]) => {
5767 if(key.trim()==keyBusca.trim()){
5768 retorno = val;
5769 }
5770 });
5771 });
5772 return retorno;
5773 }
5774
5775 //Recebe um objeto com valores dos dias da semana e define se sao dias seguidos ou alternados.
5776 //@arrayComDiasDaSemana = array com os dias da semana a serem validados - exemplo ['Qua','Qui','Sex']
5777 //@keyBusca = nome do campo a ser buscada no objeto para pegar o seu valor
5778 function diasSequenciaisOuAlternados(arrayComDiasDaSemana, arrayDiasDaSemana){
5779
5780 let arrayValidador = [];
5781
5782 //cria um array com o index dos dias das semanas encontrados [0 = seg, 1 = ter ... 6 = dom]
5783 for(let diaOferta of arrayComDiasDaSemana){
5784 for(let i = 0; i < arrayDiasDaSemana.length; i++){
5785 if(diaOferta === Object.keys(arrayDiasDaSemana[i])[0]){
5786 arrayValidador[i] = true;
5787 }
5788 }
5789 }
5790
5791 let keyCompair = 99;
5792 var sequencial = true;
5793
5794 //verifica quais posições foram criadas no array, e se os valores delas estão em sequencia.
5795 for(let keyValidator of Object.keys(arrayValidador)){
5796 keyValidator = parseInt(keyValidator);
5797 if(keyCompair!==99){
5798 if(keyValidator===keyCompair){
5799 sequencial = true;
5800 }else{
5801 sequencial = false;
5802 break;
5803 }
5804 }
5805 keyCompair = keyValidator+1;
5806 }
5807 return sequencial;
5808 }
5809
5810
5811 //Exibe as informações de dia e horario de oferta de acordo a sua estrutura
5812 //Caso os dias sejam sequenciais exibe a primeiro e ultimo dia da semana ligados com a letra 'a' Ex: Segunda a Quinta
5813 //Caso os dias Nao sejam sequenciais exibem todos os dias separados por virgula Ex: Segunda, terça, sexta e domingo
5814 //@arrayAgrupadoEOrdenado = array de objetos que sera exibido
5815 //@arrayDiasDaSemana = array com os dias da semana, sendo chave a sigla da semana (ex: Qua) e o valor o nome esperado (ex: Quarta)
5816 function diaHorarioOfertaFormatado(arrayAgrupadoEOrdenado, arrayDiasDaSemana){
5817
5818 var stringAux = "";
5819 var listRetorno = [];
5820
5821 Object.entries(arrayAgrupadoEOrdenado).forEach(([key, value]) => {
5822
5823 var sequencial = diasSequenciaisOuAlternados(value, arrayDiasDaSemana);
5824 var stringAux = "";
5825 var diaOferta = {};
5826
5827 if(sequencial){
5828 switch (value.length) {
5829 case 1:
5830 stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+": ";
5831 diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula
5832 diaOferta.horario = key;
5833 break;
5834 case 2:
5835 stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" e "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": ";
5836 diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula
5837 diaOferta.horario = key;
5838 break;
5839 default:
5840 stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" a "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": ";
5841
5842 diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula
5843 diaOferta.horario = key;
5844 break;
5845 }
5846 }else{
5847 switch (value.length) {
5848 case 2:
5849 stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" e "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": ";
5850 diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula
5851 diaOferta.horario = key;
5852 break;
5853 default:
5854 var ct = 0;
5855 var stringDias="";
5856 for(let v of value){
5857 ct++;
5858 ct==value.length ? stringDias=stringDias.substring(0,stringDias.length - 2)+" e "+findValueInObject(arrayDiasDaSemana,v) : stringDias+=findValueInObject(arrayDiasDaSemana,v)+", ";
5859 }
5860 stringAux = stringAux+stringDias+": ";
5861 diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula
5862 diaOferta.horario = key;
5863 break;
5864 }
5865 }
5866
5867 listRetorno.push(diaOferta);
5868 })
5869 return listRetorno;
5870 };
5871
5872
5873 //Distribui dia e horario com quebra de linha entre eles ou nao dependendo da resolução de tela e tamanho da string
5874 function ajustaTextoDiasHorarioOferta(codOferta){
5875
5876 var classOferta = ".codigoOferta_"+codOferta;
5877 let oferta = $(classOferta);
5878
5879 let ofertaDiasSemana = $(oferta).find('*[data-dia-hora="dias-semana"]');
5880
5881 let widthDevice = window.screen.width;
5882 let tamLimDesktop = 185;
5883
5884 if(widthDevice <= 1024){
5885 tamLimDesktop = 180;
5886 }
5887
5888 ofertaDiasSemana.each(function(index){
5889
5890
5891 let widthDiaSemana = $(this).width();
5892
5893 let contentDiaHora = $(this).parent().parent().parent();
5894
5895 if(!(widthDiaSemana <= tamLimDesktop)){
5896 $(this).css("display","block");
5897 }
5898
5899 if(ofertaDiasSemana.length == parseInt(index+1)){
5900 contentDiaHora.css("opacity","1");
5901 }
5902
5903 })
5904 }
5905
5906 function getObjBtnComprar(oferta){
5907 let obj = {};
5908 obj['dataEspacoEx'] = (oferta.espacoExterno == 'true' || (isHibrido && temTextoParaFormatoHibrido)) ? 'true' : 'false';
5909 if($('#manutencao-compra').val()){
5910 obj['classeBotao'] = 'disabled manutencao';
5911 obj['textoBotao'] = $('#manutencao-compra').val();
5912 }
5913 else{
5914 obj['classeBotao'] = oferta.botaoCompraOferta == 'true' ? (oferta.vagasParaCompraOferta == 'true' ? '' : 'disabled') : 'd-none-btn';
5915 obj['textoBotao'] = oferta.vagasParaCompraOferta == 'true' ? 'COMPRAR' : 'Vagas esgotadas para compra';
5916 }
5917 return obj;
5918 }
5919
5920 function getObjFormaPagto(oferta,index,tipoCurso,codigoUnidade){
5921
5922 var formaPagtoObj = {};
5923
5924 var regNumMaxParce = new RegExp('\{numeroMaxParcelasOferta\}', 'g');
5925 var regPrecMaxParce = new RegExp('\{precoVendaMaxParcelaOferta\}', 'g')
5926
5927 formaPagtoObj['regIndex'] = index;
5928 formaPagtoObj['precoCheioOferta'] = formataValor(oferta.precoCheioOferta);
5929 formaPagtoObj['textoCartoesAceitos'] = oferta.textoCartoesAceitos;
5930
5931 formaPagtoObj['numParcelaCartoes'] = oferta.numParcelaCartoes;
5932 formaPagtoObj['precoParcelaCartoes'] = oferta.precoParcelaCartoes;
5933 formaPagtoObj['numParcelaBoleto'] = oferta.numParcelaBoleto;
5934 formaPagtoObj['precoParcelaBoleto'] = oferta.precoParcelaBoleto;
5935 formaPagtoObj['precoVendaOferta'] = formataValor(oferta.precoVendaOferta);
5936
5937 formaPagtoObj['economia'] = formataValor(parseFloat(oferta.precoCheioOferta).toFixed(2) - parseFloat(oferta.precoVendaOferta).toFixed(2));
5938 formaPagtoObj['espacoExterno'] = oferta.espacoExterno == 'true' ? 'true' : 'false';
5939 formaPagtoObj['dataUnidade'] = codigoUnidade;
5940 formaPagtoObj['dataEvento'] = oferta.codigoOferta;
5941 formaPagtoObj['destinoCompra '] = oferta.destinoCompra;
5942
5943 //EMED nao restringe o botao
5944 if(isEmed){
5945 let manutencao = $('#manutencao-compra').val();
5946 formaPagtoObj['textoBotaoComprar'] = manutencao || 'COMPRAR';
5947 formaPagtoObj['classeBotaoComprar'] = manutencao ? 'disabled manutencao' : '';
5948 }else{
5949 let btnComprar = getObjBtnComprar(oferta);
5950 formaPagtoObj['textoBotaoComprar'] = btnComprar.textoBotao;
5951 formaPagtoObj['classeBotaoComprar'] = btnComprar.classeBotao;
5952 }
5953
5954 formaPagtoObj['regNumMaxParce'] = oferta.numeroMaxParcelasOferta;
5955 formaPagtoObj['regPrecMaxParce'] = formataValor(oferta.precoVendaMaxParcelaOferta);
5956
5957 //valores extensao - como o modal de livre e tec nao tem as classes especificas de extensao, nao há problema criar os valores abaixo para qualquer tipo de curso
5958 formaPagtoObj['precoAVistaPadraoExt'] = formataValor(oferta.precoVendaOferta);
5959 var precoContribuinteExtensao = (parseFloat(oferta.precoVendaOferta).toFixed(2) * 0.80).toFixed(2);
5960 formaPagtoObj['precoContrExt'] = formataValor(precoContribuinteExtensao);
5961 formaPagtoObj['economiaExt'] = formataValor(parseFloat(oferta.precoVendaOferta).toFixed(2) - precoContribuinteExtensao);
5962 formaPagtoObj['precoParcelaBoletoExt'] = formataValor( (precoContribuinteExtensao / oferta.numParcelaBoleto).toFixed(2));
5963 formaPagtoObj['precoParcelaCartoesExt'] = formataValor( (precoContribuinteExtensao / oferta.numParcelaCartoes).toFixed(2));
5964 formaPagtoObj['precoAVistaContrExt'] = formataValor( (precoContribuinteExtensao * 0.92).toFixed(2));
5965
5966 return formaPagtoObj;
5967 }
5968
5969 function calculaPrecoAvista(precoVendaOferta){
5970 return (parseFloat(precoVendaOferta).toFixed(2) * 0.92).toFixed(2);
5971 }
5972
5973 function createModalFormaPagto(formaPagtoObj, oferta, index) {
5974 let temDesconto = possuiCriteriosDesconto2022(oferta.dataInicio)
5975 temDesconto = temDesconto && !possuiMensalidade99(oferta)
5976
5977 result = `
5978 <div id="modalFormaPagto" class="ssp-modal">
5979 <div class="ssp-card-modal-forma-pagamento ` + (temDesconto ? 'ssp-desconto-2022' : '') + `">
5980 <div class="ssp-card-modal-forma-pagamento__header" style="border: 0; margin-bottom: 0 !important;">
5981 <h6 class="ssp-card-modal-forma-pagamento__header-title font-weight-bold" style="color:#454F63">Descontos e ` + (temDesconto ? 'pagamento' : 'parcelamento') + `</h6>
5982 <i class="ssp-card-modal-forma-pagamento__btn-close ssp-card-modal-forma-pagamento__btn-close_` + index + `"></i>
5983 </div>
5984 `
5985 + (temDesconto ? '' : '<div class="ssp-card-oferta-curso__line-divider mt-0 mb-5 mb-md-8"></div>') +
5986 `
5987 <div class="ssp-card-modal-forma-pagamento__body">
5988 `
5989 if(temDesconto) {
5990 result = result + `
5991 <div>
5992 <p class="my-0"><strong>Valor com </strong>
5993 <span class="ssp-card-oferta-curso__valor-desconto mt-0 mb-0">50% de desconto*</span>
5994 </p>
5995 </div>
5996 <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(ajustarCasasDecimaisSemArredondar((strToFloat(oferta.precoVendaOferta)/strToFloat(oferta.numeroMaxParcelasOferta))/2, 2)) + `*</h6>`
5997
5998 if($('[name="tipoCurso"]').val() == 'extensao') {
5999 result = result + `<p class="modal-extensao_txteconomiza my-0">*Desconto válido para quem tem ou trabalha em empresa do setor de comércio e serviços, estudantes ou ex-estudantes de cursos técnicos no Senac ou para quem já finalizou o Ensino Médio Técnico no Senac.</p>`
6000 } else {
6001 result = result + `<p class="modal-extensao_txteconomiza my-0">*Desconto válido para quem tem ou trabalha em empresa do setor de comércio e serviços.</p>`
6002 }
6003
6004
6005 result = result + `
6006 <div class="ssp-card-oferta-curso__line-divider mb-5 mb-md-2 mt-2"></div>
6007 <p class="my-0"><strong>Valor:</strong></p>
6008 <h6 class="ssp-card-oferta-curso__item-valor-investimento ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6>
6009 <p class="mt-0 mb-0"><strong>Valor Total: </strong> ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta), 2)) + `</p>
6010 <div class="ssp-card-oferta-curso__line-divider mt-4 mb-md-3 mb-4"></div>
6011 <p class="my-0"><strong>Parcele e garanta mais tempo para pagar:</strong></p>
6012 `
6013 } else {
6014 if(formaPagtoObj.precoCheioOferta == formaPagtoObj.precoVendaOferta) {
6015 result = result + `
6016 <p class="ssp-card-modal-forma-pagamento__valor-desconto mt-n3">R$ <span class="precoVendaOferta">` + formaPagtoObj.precoVendaOferta + `</span></p>
6017 <p class="txt-desconto-oito">Pague à vista e <span style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p>
6018 <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:16px">Se preferir, parcele e garanta muito mais tempo para pagar:</small>
6019 </div>
6020 `
6021 } else {
6022 const textoDesc = temDesconto ? 'Valor com 30% de desconto:' : 'Valor com desconto:'
6023
6024 result = result + `
6025 <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:16px;">` + textoDesc + `</small>
6026 <p class="ssp-card-modal-forma-pagamento__valor-cheio">R$ <span class="precoCheioOferta">` + formaPagtoObj.precoCheioOferta + `</span></p>
6027 <p class="ssp-card-modal-forma-pagamento__valor-desconto">R$ <span class="precoVendaOferta">` + formaPagtoObj.precoVendaOferta + `</span></p>
6028 <p class="ssp-card-modal-forma-pagamento__total-economia">Você economiza <span>R$ <span class="economia">` + formaPagtoObj.economia + `</span></span></p>
6029 <p class="txt-desconto-oito">Pague à vista e <span style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p>
6030 <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:16px">Se preferir, parcele e garanta muito mais tempo para pagar:</small>
6031 </div>
6032 `
6033 }
6034 }
6035
6036 let textoParcelaCartoes, textoParcelaBoleto
6037 if(temDesconto) {
6038 const precoParcelaCartoes = formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(formaPagtoObj.precoParcelaCartoes)/2, 2))
6039 const precoParcelaBoleto = formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(formaPagtoObj.precoParcelaBoleto)/2, 2))
6040
6041 if(formaPagtoObj.numParcelaCartoes)
6042 textoParcelaCartoes = `<p>Em até <span><span class="numParcelaCartoes">` + formaPagtoObj.numParcelaCartoes + `</span>x</span> sem juros</p>`
6043
6044 if(formaPagtoObj.numParcelaBoleto)
6045 textoParcelaBoleto = `<p>Em até <span><span class="numParcelaBoleto">` + formaPagtoObj.numParcelaBoleto + `</span>x</span> sem juros</p>`
6046 } else {
6047 if(formaPagtoObj.numParcelaCartoes)
6048 textoParcelaCartoes = `<p>Em até <span><span class="numParcelaCartoes">` + formaPagtoObj.numParcelaCartoes + `</span>x de R$ <span class="precoParcelaCartoes">` + formaPagtoObj.precoParcelaCartoes + `</span></span> sem juros</p>`
6049
6050 if(formaPagtoObj.numParcelaBoleto)
6051 textoParcelaBoleto = `<p>Em até <span><span class="numParcelaBoleto">` + formaPagtoObj.numParcelaBoleto + `</span>x de R$ <span class="precoParcelaBoleto">` + formaPagtoObj.precoParcelaBoleto + `</span></span> sem juros</p>`
6052 }
6053
6054 if(temDesconto) {
6055 result = result + `
6056 <div class="ssp-card-modal-forma-pagamento__tipos">`
6057
6058 if(textoParcelaBoleto)
6059 result = result + `
6060 <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start">
6061 <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i>
6062 <div class="ssp-card-modal-forma-pagamento__info-cartao">
6063 <p><strong>Boleto Bancário</strong></p>`
6064 + textoParcelaBoleto +
6065 `</div>
6066 </div>`
6067
6068 if(textoParcelaCartoes)
6069 result = result + `
6070 <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4">
6071 <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i>
6072 <div class="ssp-card-modal-forma-pagamento__info-cartao">
6073 <p><strong>Cartões</strong></p>
6074 <p>(<span class="textoCartoesAceitos">` + formaPagtoObj.textoCartoesAceitos + `</span>)</p>`
6075 + textoParcelaCartoes +
6076 `</div>
6077 </div>
6078 </div>
6079 `
6080 } else {
6081 result = result + `
6082 <div class="ssp-card-modal-forma-pagamento__tipos">`
6083
6084 if(textoParcelaCartoes)
6085 result = result + `
6086 <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start">
6087 <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i>
6088 <div class="ssp-card-modal-forma-pagamento__info-cartao">
6089 <p><strong>Cartões</strong></p>
6090 <p>(<span class="textoCartoesAceitos">` + formaPagtoObj.textoCartoesAceitos + `</span>)</p>`
6091 + textoParcelaCartoes +
6092 `</div>
6093 </div>`
6094
6095 if(textoParcelaBoleto)
6096 result = result + `
6097 <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4">
6098 <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i>
6099 <div class="ssp-card-modal-forma-pagamento__info-cartao">
6100 <p><strong>Boleto Bancário</strong></p>`
6101 + textoParcelaBoleto +
6102 `</div>
6103 </div>
6104 </div>
6105 `
6106 }
6107
6108 if(temDesconto) {
6109 result = result + `
6110 <p class="txt-desconto-oito my-0">Pague à vista e ganhe <span style="color:#5ACC75;font-weight:bold">8% de desconto.</span></p>
6111 `
6112 }
6113
6114 result = result + `
6115 <a href="#a" class="btn btn-lg btn-success w-100" style="margin-top: 20px;font-weight:600"><span class="textoBotaoComprar">` + formaPagtoObj.textoBotaoComprar + `</span></a>`
6116
6117 if(temDesconto) {
6118 result = result + `
6119 <a class="btn btn-primary modal-extensao-btn-conheca mt-3" href="/descontos-e-parcelamentos" target="_blank">Conheça os descontos</a>
6120 `
6121 }
6122
6123 result = result + `
6124 </div>
6125 </div>
6126 `
6127
6128 return result;
6129 }
6130
6131 function montaHTMLModalFormaPgto(oferta, index, codigoUnidade){
6132
6133 var tipoCurso = $('[name="tipoCurso"]').val();
6134
6135 var formaPagtoObj = getObjFormaPagto(oferta,index,tipoCurso,codigoUnidade);
6136
6137 var modalFormaPagto
6138 if(tipoCurso == 'extensao' && !possuiCriteriosDesconto2022(oferta.dataInicio)) {
6139 modalFormaPagto = $('#modalFormaPagtoExt').clone();
6140
6141 $.each(formaPagtoObj, function(k,v){
6142 if(modalFormaPagto.find('.'+k).length > 0)
6143 modalFormaPagto.find('.'+k).text(v);
6144 })
6145 } else if(isEmed) {
6146 modalFormaPagto = $('#modalPagtoEmed').clone();
6147
6148 $.each(formaPagtoObj, function(k,v){
6149 if(modalFormaPagto.find('.'+k).length > 0)
6150 modalFormaPagto.find('.'+k).text(v);
6151 })
6152 } else
6153 modalFormaPagto = $(createModalFormaPagto(formaPagtoObj, oferta, index));
6154
6155 modalFormaPagto.removeAttr('id');
6156 modalFormaPagto.removeClass('d-none');
6157 modalFormaPagto.attr('id','myModal_'+index);
6158
6159 if(tipoCurso == 'extensao' && !possuiCriteriosDesconto2022(oferta.dataInicio)){
6160
6161 var botoaoCompraOk = modalFormaPagto.find('.modal-extensao-aluno__btn.ok');
6162 botoaoCompraOk.attr('id','btnComprarConhecaDescontoOk_'+index);
6163
6164 botoaoCompraOk.attr('data-espaco-ex', formaPagtoObj.espacoExterno);
6165 botoaoCompraOk.attr('data-unidade', formaPagtoObj.dataUnidade);
6166 botoaoCompraOk.attr('data-evento', formaPagtoObj.dataEvento);
6167 botoaoCompraOk.attr('data-destino-compra', formaPagtoObj.destinoCompra);
6168 botoaoCompraOk.attr('data-index', index);
6169 botoaoCompraOk.addClass(formaPagtoObj.classeBotaoComprar);
6170
6171 var botoaoCompraNot =modalFormaPagto.find('.modal-extensao-aluno__btn.not');
6172 botoaoCompraNot.attr('id','btnComprarConhecaDescontoNot_'+index);
6173
6174 botoaoCompraNot.attr('data-espaco-ex', formaPagtoObj.espacoExterno);
6175 botoaoCompraNot.attr('data-unidade', formaPagtoObj.dataUnidade);
6176 botoaoCompraNot.attr('data-evento', formaPagtoObj.dataEvento);
6177 botoaoCompraNot.attr('data-destino-compra', formaPagtoObj.destinoCompra);
6178 botoaoCompraNot.attr('data-index', index);
6179 botoaoCompraNot.addClass(formaPagtoObj.classeBotaoComprar);
6180
6181 modalFormaPagto.find('.modal-extensao-btn-aluno-sim-nao.sim').attr('id','btn-aluno-sim_'+index);
6182 modalFormaPagto.find('.modal-extensao-btn-aluno-sim-nao.nao').attr('id','btn-aluno-nao_'+index);
6183
6184 modalFormaPagto.find('.modal-extensao-voltar-icon').addClass('ssp-card-modal-forma-pagamento__btn-close_'+index);
6185
6186 modalFormaPagto.find('.modal-extensao-btn-conheca').attr('id','btnModalExtConheca_'+index);
6187
6188 modalFormaPagto.find('.modal-pergunta-aluno-ext').attr('id','modalExtAluno_'+index);
6189
6190 modalFormaPagto.find('.msg-alunoSim').attr('id','msg-alunoSim_'+index);
6191 modalFormaPagto.find('.msg-alunoNao').attr('id','msg-alunoNao_'+index);
6192
6193 var botaoCompra = modalFormaPagto.find('.modal-extensao__btn.mt-3');
6194
6195 }else{
6196
6197 modalFormaPagto.find('.mt-4').attr('id','content_boleto_'+index);
6198 modalFormaPagto.find('.ssp-card-modal-forma-pagamento__btn-close').addClass('ssp-card-modal-forma-pagamento__btn-close_'+index);
6199
6200 var botaoCompra = modalFormaPagto.find('.btn.w-100');
6201
6202 }
6203
6204 if(isEmed){
6205
6206 var elementoPai = modalFormaPagto.find('.ssp-card-modal-forma-pagamento');
6207
6208 //Cria botao inscreva-se ajustado ao modal
6209 var dadosAbertura = calculaTempoAberturaBolsa(oferta.dataAberturaBolsaOferta, oferta.horaAberturaBolsaOferta);
6210 if($('#manutencao-compra').val()){
6211 textoBotao = $('#manutencao-compra').val();
6212 classeBotao = 'disabled manutencao';
6213 }else{
6214 if(oferta.permiteListaEspera == statusEmed.ESPERA && dadosAbertura.bolsaJaAberta){
6215 textoBotao = 'Lista de espera';
6216 classeBotao = 'btn-emed-lista-espera';
6217 }else{
6218 if (dadosAbertura.bolsaJaAberta || !oferta.dataAberturaBolsaOferta || oferta.dataAberturaBolsaOferta == ''){
6219 if(oferta.etapa == '0020' || oferta.etapa == '0030'){
6220 textoBotao = 'Lista de espera';
6221 classeBotao = 'btn-emed-lista-espera';
6222 }else{
6223 textoBotao = 'Fazer matrícula';
6224 classeBotao = '';
6225 }
6226 }else{
6227 textoBotao = 'Matrícula em '+formataDataAberturaBolsa(oferta.dataAberturaBolsaOferta, oferta.horaAberturaBolsaOferta);
6228 classeBotao = 'disabled';
6229 }
6230 }
6231 }
6232 criaBotaoInscreverEmedModal(oferta, textoBotao, classeBotao, 'btnComprarEmedModal_' + index, elementoPai, index);
6233 preencheDadosEmedModal(oferta, modalFormaPagto);
6234
6235 }else{
6236 botaoCompra.attr('id', "btnComprarFormaPgto_"+index);
6237 botaoCompra.attr('data-espaco-ex', formaPagtoObj.espacoExterno);
6238 botaoCompra.attr('data-unidade', formaPagtoObj.dataUnidade);
6239 botaoCompra.attr('data-evento', formaPagtoObj.dataEvento);
6240 botaoCompra.attr('data-destino-compra', formaPagtoObj.destinoCompra);
6241 botaoCompra.attr('data-index', index);
6242 botaoCompra.addClass(formaPagtoObj.classeBotaoComprar);
6243 }
6244
6245 $('.oferta-slick-area_modal').append(modalFormaPagto);
6246 $('.oferta-slick-area_modal').find('.d-none-btn').remove();
6247
6248 //Evita o erro de exibição de Nan
6249 if(oferta.numParcelaBoleto.length == 0){
6250 $('#content_boleto_'+index).remove();
6251 }
6252 }
6253
6254
6255 function montaHTMLModalLocalRealizacao(oferta, index){
6256
6257 var tituloLocalRealizacao = (localLivreOnline(oferta.localEspacoExterno) && !isHibrido) ?
6258 '<i class="fas fa-wifi icon-wifi-title__modal"></i> <h6 class="title-idioma-online__modal"> Aulas Online - ao vivo</h6>'
6259 : '<i class="ssp-modal__local-realizacao-content__icon-wifi"></i> <i class="ssp-modal__local-realizacao-content__icon-chalkboard-teacher"></i> <h6 class="ssp-modal-local-realizacao__title"> ONDE AS AULAS VÃO ACONTECER?</h6>';
6260
6261 if(textoFormatoHibrido.length>0 && oferta.espacoExterno=="true")
6262 textoFormatoHibrido += '</br>';
6263
6264 var localRealizacaoHTMLModal = htmlModalLocalRealizacao
6265 .replace('\{nomeUnidade\}',$('#unidades-ofertas option:selected').text())
6266 .replace('\{textoFormatoHibrido\}', textoFormatoHibrido )
6267 .replace('\{localEspacoExterno\}', oferta.espacoExterno=="true"? oferta.localEspacoExterno: "" )
6268 .replace('\{classeTextoInfoLocalRealizacao\}', (oferta.ruaEspacoExterno != "" && !isHibrido) ? "" : "d-none")
6269 .replace('\{classeEnderecoRealizacao\}',oferta.ruaEspacoExterno != "" ? "" : "d-none")
6270 .replace('\{ruaEspacoExterno\}',oferta.ruaEspacoExterno)
6271 .replace('\{numeroEspacoExterno\}',oferta.numeroEspacoExterno)
6272 .replace('\{complementoEspacoExterno\}',oferta.complementoEspacoExterno)
6273 .replace('\{classeBairroRealizacao\}', oferta.bairroEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none")
6274 .replace('\{bairroEspacoExterno\}',oferta.bairroEspacoExterno)
6275 .replace('\{classeCidadeRealizacao\}', oferta.cidadeEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none")
6276 .replace('\{cidadeEspacoExterno\}',oferta.cidadeEspacoExterno)
6277 .replace('\{classeCepRealizacao\}', oferta.cepEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none")
6278 .replace('\{cepEspacoExterno\}',oferta.cepEspacoExterno)
6279 .replace(regIndex, index)
6280 .replace('\{tituloLocalRealizacao\}', tituloLocalRealizacao)
6281 .replace('\{classeEntendi\}', (localLivreOnline(oferta.localEspacoExterno)) ? "btn-modal-entendi__idioma-online" : "");
6282
6283 $('.oferta-slick-area_modal').append(localRealizacaoHTMLModal);
6284 $('.oferta-slick-area_modal').find('.d-none-btn').remove();
6285
6286 if(oferta.ruaEspacoExterno == "")
6287 $('.localEspacoExternoTexto_'+index).removeClass('ssp-modal-local-realizacao__subtitle');
6288 }
6289
6290 function montaHTMLModalAntesCompra(oferta, index, codigoUnidade){
6291
6292 if(isEmed){
6293
6294 $('#modalAntesCompraEmed_' + oferta.indice).remove();
6295 const antesCompraHTMLModal = $('#modalAntesCompraEmed').clone();
6296 antesCompraHTMLModal.attr('id', 'modalAntesCompraEmed_' + oferta.indice);
6297 antesCompraHTMLModal.find('.ssp-card-modal-antes-compra__btn-close').addClass('ssp-card-modal-antes-compra__btn-close_'+oferta.indice);
6298 antesCompraHTMLModal.find('.ssp-card-modal-selecionar-outro__btn-close').addClass('ssp-card-modal-selecionar-outro__btn-close_'+oferta.indice);
6299 antesCompraHTMLModal.insertAfter('#modalAntesCompraEmed');
6300
6301 if(oferta.etapa == '0010'){
6302 if(oferta.permiteListaEspera == statusEmed.ESPERA){
6303 antesCompraHTMLModal.find('.textoEmedModalAntesCompra0010Espera').removeClass('d-none');
6304 antesCompraHTMLModal.find('#btnCompraLocalEmed').text('Ir para lista de espera');
6305 }else{
6306 antesCompraHTMLModal.find('.textoEmedModalAntesCompra0010').removeClass('d-none');
6307 }
6308 }else{
6309 antesCompraHTMLModal.find('.textoEmedModalAntesCompra0020e0030').removeClass('d-none');
6310 }
6311
6312 const btnCompra = antesCompraHTMLModal.find('#btnCompraLocalEmed');
6313 btnCompra.attr('id', 'btnCompraLocalEmed_' + oferta.indice);
6314 btnCompra.attr('offercode', oferta.codigoOferta);
6315
6316 btnCompra.on('click', function(ev){
6317 ev.preventDefault();
6318 execCompraEmed(oferta);
6319 });
6320
6321 }else{
6322
6323 var dataEfetivaFormat = formataDataComBarra($('[name="dataEfetivaSTR"]').val());
6324
6325
6326 var antesCompraHTMLModal = htmlModalAntesCompra
6327 .replace('\{nomeUnidade\}',$('#unidades-ofertas option:selected').text())
6328 .replace('\{textoFormatoHibrido\}', textoFormatoHibrido )
6329 .replace('\{localEspacoExterno\}', oferta.espacoExterno=="true"? oferta.localEspacoExterno:"" )
6330 .replace('\{classeTextoInfoLocalRealizacao\}', (oferta.ruaEspacoExterno != "" && !isHibrido) ? "" : "d-none")
6331 .replace('\{classeEnderecoRealizacao\}', oferta.ruaEspacoExterno != "" ? "" : "d-none")
6332 .replace('\{ruaEspacoExterno\}',oferta.ruaEspacoExterno)
6333 .replace('\{numeroEspacoExterno\}',oferta.numeroEspacoExterno)
6334 .replace('\{complementoEspacoExterno\}',oferta.complementoEspacoExterno)
6335 .replace('\{classeBairroRealizacao\}', oferta.bairroEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none")
6336 .replace('\{bairroEspacoExterno\}',oferta.bairroEspacoExterno)
6337 .replace('\{classeCidadeRealizacao\}', oferta.cidadeEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none")
6338 .replace('\{cidadeEspacoExterno\}',oferta.cidadeEspacoExterno)
6339 .replace('\{classeCepRealizacao\}', oferta.cepEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none")
6340 .replace('\{cepEspacoExterno\}',oferta.cepEspacoExterno)
6341 .replace('\{componentBuyConfirmation\}', componentBuyConfirmation(codigoUnidade, oferta, dataEfetivaFormat))
6342 .replace('\{linkBtnBolsa\}', linkBolsa(oferta))
6343 .replace(regIndex, index);
6344
6345 $('.oferta-slick-area_modal').append(antesCompraHTMLModal);
6346 $('.oferta-slick-area_modal').find('.d-none-btn').remove();
6347 }
6348 }
6349
6350 async function populaOfertas(ofertas){
6351
6352 //Zera variável que controla existência de ofertas com bolsa
6353 ofertasComBolsa = false;
6354
6355 objsTela.ofertas = ofertas;
6356
6357 if(ofertas && ofertas.length)
6358 $('#ssp-h3-turmas').show()
6359 else
6360 $('#ssp-h3-turmas').hide()
6361
6362 if(isEmed){
6363
6364 $('.btn-filtro[value="0"]').attr('disabled','');
6365 $('.ssp-slick-ofertas-emed').empty();
6366 // executa a class do slick slider
6367 $('.ssp-slick-ofertas-emed').removeClass('slick-initialized slick-slider slick-dotted');
6368 ofertas = filtraOfertasEtapa(getEtapaSelecionadaEmed(), ofertas);
6369
6370 }
6371
6372 if(ofertas.length == 0){
6373
6374 if($('#unidades-ofertas').val() || $('#chkInscricao').prop('checked') || $('#chkBolsa').prop('checked'))
6375 hideCardSemTurmas(false)
6376
6377 $('.oferta-slick-area').empty();
6378 $('.prev-mobile, .next-mobile').addClass('d-none');
6379
6380 //Mostrar section registro interesse quando nao tiver oferta
6381 habilitarRegistroInteresse(true);
6382
6383 controlaPaginaBolsa()
6384 if(isEmed) $('.btn-filtro[value="0"]').removeAttr('disabled');
6385 return;
6386 }else{
6387 hideCardSemTurmas(true)
6388 if(!isEmed) $('.prev-mobile, .next-mobile').removeClass('d-none');
6389 habilitarRegistroInteresse(false);
6390 }
6391
6392
6393 $('.oferta-slick-area').empty();
6394 $('.oferta-slick-area_modal').empty();
6395 ofertas = ofertas.sort(function(a, b){
6396 return ordenar(a, b, 'ordenar');
6397 });
6398 // executa a class do slick slider
6399 $('.oferta-slick-area').removeClass('slick-initialized slick-slider slick-dotted');
6400
6401 //busca o codigoUnidade para o link do ecommerce
6402 if(!isAoVivo){
6403 var selectedUnidade = $('#unidades-ofertas').val().split('@')[0];
6404 for(var i=0;objsTela.unidades.length > i ;i++){
6405 if(selectedUnidade == objsTela.unidades[i].categoryId)
6406 codigoUnidade = objsTela.unidades[i].codigoUnidade;
6407 }
6408 }
6409
6410 // Montar object push - google tag manager - 2
6411 itensEcommerce = criaItensEcommerce(ofertas);
6412 sendEventEcommerce("view_item_list", Array.from(itensEcommerce.values()));
6413
6414 for(var i=0;ofertas.length > i ;i++){
6415
6416 var oferta = ofertas[i];
6417
6418 //guardando a oferta no map para chamar ajax com infos de bolsa em tempo real
6419 oferta['indice'] = i;
6420 ofertasMap.set(oferta.codigoOferta, oferta);
6421
6422 if(isAoVivo)
6423 codigoUnidade = ofertaUnidadeMap.get(oferta.codigoOferta);
6424
6425 if(isEmed && oferta.etapa == '0010'){
6426 try{
6427 let status = await getStatusEmed(oferta);
6428 oferta['permiteListaEspera'] = status;
6429 }catch(err){
6430 console.log(err);
6431 }
6432 }
6433 montaHTMLOferta(oferta, i, codigoUnidade, false);
6434 montaHTMLModalFormaPgto(oferta, i, codigoUnidade);
6435 montaHTMLModalLocalRealizacao(oferta, i);
6436 montaHTMLModalAntesCompra(oferta, i, codigoUnidade);
6437 verificaBotaoBolsaSS(oferta);
6438 verificaCursoAprendizagem(i);
6439 verificaCursoTrampolim(i, oferta.codigoOferta);
6440
6441 associaEventoBtnFormaPagamento(i);
6442 associaEventoBtnComprar(i);
6443 associaEventoBtnComprarDentroFormaPgto(i);
6444 associaEventoBtnLocalRealizacao(i);
6445 associaEventosFecharModal(i);
6446
6447 if($('[name="tipoCurso"]').val() == 'extensao'){
6448 associaEventoBtnConheca(i);
6449 associaEventoBtnComprarConhecaDescontoOk(i);
6450 associaEventoBtnComprarConhecaDescontoNot(i);
6451 associaEventoBtnAlunoNao(i);
6452 associaEventoBtnAlunoSim(i);
6453 }
6454
6455 }
6456
6457 if(isEmed){
6458 sliderOfertasEmed();
6459 $('.btn-filtro[value="0"]').removeAttr('disabled');
6460 }
6461 else sliderOfertas();
6462
6463 controlaPaginaBolsa()
6464
6465 }
6466
6467 function hideCardSemTurmas(hide){
6468 if(!isEmed){
6469 if(hide)
6470 $('.ssp-card-oferta-curso__sem-vaga').addClass('d-none');
6471 else
6472 $('.ssp-card-oferta-curso__sem-vaga').removeClass('d-none');
6473 } else {
6474
6475
6476 if(hide || getEtapaSelecionadaEmed() == "0"){
6477 $('.sem-vaga-emed').addClass('d-none');
6478 }else{
6479 $('.sem-vaga-emed').removeClass('d-none');
6480 if($('.sem-vaga-emed.emed-transferencias-space:not(.d-none)').length ) return;
6481 var tamScreen = $(window).width();
6482 if(tamScreen < 768){
6483 $('.slick-area-emed').slick({
6484 slidesToShow: 2,
6485 slidesToScroll: 2,
6486 autoplay: false,
6487 infinite: false,
6488 dots: false,
6489 arrows: false,
6490 centerPadding: 0,
6491 centerMode: false,
6492 responsive: [
6493 {
6494 breakpoint: 768,
6495 settings: {
6496 slidesToShow: 1,
6497 slidesToScroll: 1,
6498 variableWidth: false,
6499 infinite: false,
6500 centerPadding: 0,
6501 centerMode: false,
6502 dots: true,
6503 }
6504 }
6505 ]
6506 });
6507 }
6508 }
6509 }
6510 }
6511
6512 function verificaCursoAprendizagem(i){
6513
6514 //Esconde elementsos quando o curso é aprendizagem
6515 if($('[name="codigoFT"]').val() == codigoFTCursoAprendizagem){
6516 $('#btnComprar_'+i).remove();
6517 $('#container_investimento_'+i).remove();
6518 $('#container_forma_pgto_'+i).remove();
6519
6520 var avisoAprendizagem = $('#aviso-curso-aprendizagem').clone();
6521 let btnFormAprendizagem = '<button class="btn btn-lg btn-success w-100 mt-3 btnModalAprendizagem" data-modal="open-modal" style="font-size:16px;background:#1FC923;font-weight: 600;">Preencher formulário</button>'
6522 avisoAprendizagem.removeAttr('id');
6523 avisoAprendizagem.removeClass('d-none');
6524 $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(avisoAprendizagem);
6525 $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(btnFormAprendizagem);
6526 }
6527 }
6528
6529 function verificaCursoTrampolim(i, codOferta){
6530 if(ehCursoTrampolim){
6531 $('#btnComprar_'+i).remove();
6532 $('#container_investimento_'+i).remove();
6533 $('#container_forma_pgto_'+i).remove();
6534 $('.ssp-card-oferta-curso .codigoOferta_'+codOferta).hide();
6535
6536 var avisoTrampolim = $('#avisoTrampolim').clone();
6537 avisoTrampolim.removeAttr('id');
6538 avisoTrampolim.removeClass('d-none');
6539 $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(avisoTrampolim);
6540 }
6541 }
6542
6543 function verificaBotoesEmed(dadosOferta, verificaBolsa){
6544
6545 if(!verificaBolsa || !dadosOferta.dataAberturaBolsaOferta || dadosOferta.dataAberturaBolsaOferta == ''){
6546 dadosOferta.vagasBolsaOferta = false;
6547 dadosOferta.botaoBolsaOferta = false;
6548 }
6549
6550 var elementoPai = $('.codigoOferta_'+dadosOferta.codigoOferta+' .ssp-ofertas-emed__card-info-investimento');
6551
6552 //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs)
6553 var dadosAbertura = calculaTempoAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta);
6554 var textoBotao = 'Fazer matrícula';
6555 var textoBotaoBolsa = '';
6556 var classeBotao = '';
6557 var classeBotaoBolsa = '';
6558 var exibirBotaoBolsa = false;
6559 var exibirContador = false;
6560 var htmlBotaoBolsa = '';
6561 var htmlBotao = '';
6562
6563 //verifica se o botão de concorrer a bolsa deve aparecer
6564 //Oferta EMED possui bolsa apenas no 1o ano
6565 if(dadosOferta.etapa == '0010' && dadosOferta.botaoBolsaOferta && !dadosAbertura.exibirContador){
6566 exibirBotaoBolsa = true;
6567 if($('#manutencao-bolsa').val()){
6568 classeBotaoBolsa = 'disabled manutencao';
6569 textoBotaoBolsa = $('#manutencao-bolsa').val();
6570 }else{
6571 if(dadosOferta.vagasBolsaOferta){
6572 classeBotaoBolsa = dadosAbertura.bolsaJaAberta ? '' : 'disabled';
6573 textoBotaoBolsa = dadosAbertura.bolsaJaAberta ? 'Bolsa de estudo' : 'Bolsa em '+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta);
6574 }else{
6575 classeBotaoBolsa = 'disabled';
6576 textoBotaoBolsa = 'Bolsas de Estudo Esgotadas';
6577 }
6578 }
6579 }
6580
6581 //Verifica se o botão do cronômetro deve aparecer
6582 if(dadosAbertura.exibirContador){
6583 textoBotao = dadosAbertura.textoContador;
6584 textoBotaoBolsa = dadosAbertura.textoContador;
6585 exibirContador = true;
6586 exibirBotaoBolsa = false;
6587 }else{
6588 if($('#manutencao-compra').val()){
6589 textoBotao = $('#manutencao-compra').val();
6590 classeBotao = 'disabled manutencao';
6591 }else{
6592
6593 if(dadosOferta.permiteListaEspera == statusEmed.ESPERA && dadosAbertura.bolsaJaAberta){
6594 textoBotao = 'Lista de espera';
6595 classeBotao = 'btn-emed-lista-espera';
6596 }else{
6597 classeBotao = '';
6598 if (dadosAbertura.bolsaJaAberta || !dadosOferta.dataAberturaBolsaOferta || dadosOferta.dataAberturaBolsaOferta == ''){
6599 textoBotao = 'Fazer matrícula';
6600
6601 if(dadosOferta.etapa == '0020' || dadosOferta.etapa == '0030'){
6602 textoBotao = 'Lista de espera';
6603 classeBotao = 'btn-emed-lista-espera';
6604 }
6605
6606
6607 }else{
6608 textoBotao = 'Matrícula em '+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta);
6609 }
6610 if(!dadosAbertura.bolsaJaAberta)
6611 classeBotao = 'disabled';
6612 }
6613 }
6614
6615 criaBotaoInscreverEmed(dadosOferta, textoBotao, classeBotao, 'btnComprarEmed_' + dadosOferta.indice, elementoPai);
6616 }
6617
6618 if(exibirBotaoBolsa){
6619
6620 if(!ofertasComBolsa) ofertasComBolsa = true;
6621
6622 criaBotaoBolsaEmed(dadosOferta, textoBotaoBolsa, classeBotaoBolsa);
6623
6624 }else if(exibirContador){
6625
6626 if(!ofertasComBolsa && dadosOferta.etapa == '0010') ofertasComBolsa = true;
6627
6628 //codigoOferta como index para usar o ofertasMap
6629 htmlBotao = '<button id="btnContadorComprar_'+ dadosOferta.indice +'" data-index="'+ dadosOferta.codigoOferta +'" class="btn btn-card-investimento --inscreva-se">Matrícula em <span>'+textoBotao+'</span></button>';
6630 elementoPai.append(htmlBotao);
6631
6632 if(dadosOferta.etapa == '0010' && dadosOferta.botaoBolsaOferta){
6633 htmlBotao = '<button id="btnContadorBolsa_'+ dadosOferta.indice +'" data-index="'+ dadosOferta.codigoOferta +'" class="btn btn-card-investimento --bolsas">Bolsa em <span>'+textoBotaoBolsa+'</span></button>';
6634 elementoPai.append(htmlBotao);
6635 }
6636
6637 }
6638
6639 }
6640
6641 function criaBotaoInscreverEmedModal(oferta, textoBotao, classeBotao, idBotao, elementoPai, index){
6642 criaBotaoInscreverEmed(oferta, textoBotao, classeBotao, idBotao, elementoPai);
6643 var btnInscr = elementoPai.find('#btnComprarEmedModal_' + index);
6644 btnInscr.removeClass(btnInscr.classList);
6645 btnInscr.addClass('btn btn-lg btn-success w-100');
6646 btnInscr.attr('style', 'margin-top: 20px;font-weight:600');
6647
6648 //Reposiciona o botao voltar
6649 var btnVoltar = elementoPai.find('.ssp-btn-emed__voltar-curso');
6650 elementoPai.find('.ssp-btn-emed__voltar-curso').remove();
6651 elementoPai.append(btnVoltar);
6652 btnVoltar.addClass('ssp-btn-emed__voltar-curso_'+index);
6653 btnVoltar.click(() => {
6654 $('[id^="myModal_"]').each(function(index,modal){
6655 modal.style.display = "none";
6656 })
6657 });
6658 }
6659
6660 function preencheDadosEmedModal(oferta,$modal){
6661 const parcelaEntrada = 1;
6662 $modal.find('.numParcelaCartoesBoleto').text(oferta.numeroMaxParcelasOferta - parcelaEntrada);
6663 $modal.find('.precoParcelaCartoesBoleto').text(formataValor(oferta.precoVendaMaxParcelaOferta));
6664 $modal.find('.numParcelaEmedModal').text(oferta.numeroMaxParcelasOferta - parcelaEntrada);
6665 $modal.find('.precoParcelaEmedModal').text(formataValor(oferta.precoVendaMaxParcelaOferta));
6666 }
6667
6668
6669 function criaBotaoInscreverEmed(oferta, textoBotao, classeBotao, idBotao, elementoPai){
6670 if(oferta.permiteListaEspera && oferta.permiteListaEspera == statusEmed.NAO_ENCONTRADA) return;
6671 var htmlBotao = '<button id="'+ idBotao +'" data-index="'+ oferta.indice +'" class="btn btn-card-investimento --inscreva-se '+ classeBotao +'"><span>'+textoBotao+'</span></button>';
6672 elementoPai.append(htmlBotao);
6673
6674 if(!classeBotao.includes('disabled')){
6675
6676 elementoPai.on("click", '#'+ idBotao, function(ev){
6677 ev.preventDefault();
6678 const _modal = $('#modalAntesCompraEmed_'+$(this).data('index'));
6679 _modal.css('display','flex');
6680
6681
6682 });
6683
6684 }
6685
6686 }
6687
6688 function criaBotaoBolsaEmed(oferta, textoBotaoBolsa, classeBotaoBolsa=""){
6689
6690 var htmlBotao = '<a id="btnBolsa_'+ oferta.indice +'" data-index="'+ oferta.indice +'" class="btn btn-card-investimento --bolsas '+ classeBotaoBolsa +'">'+ textoBotaoBolsa +'</a>';
6691 $('.codigoOferta_'+oferta.codigoOferta+' .ssp-ofertas-emed__card-info-investimento').append(htmlBotao);
6692
6693 if(!classeBotaoBolsa.includes('disabled')){
6694 // Associa o evento de clique no botão de bolsa
6695 $('#btnBolsa_'+oferta.indice).attr('href', linkBolsa(oferta));
6696 $('#btnBolsa_'+oferta.indice).attr('target', '_blank');
6697 //$('#btnBolsa_'+oferta.indice).attr('style', 'text-transform:uppercase;');
6698
6699 }
6700 }
6701
6702 function criaBotaoBolsa(oferta, textoBotaoBolsa, classeBotaoBolsa=""){
6703
6704 const botao = $('<a>'+ textoBotaoBolsa +'</a>');
6705 botao.attr('id', 'btnBolsa_' + oferta.indice);
6706 botao.attr('data-index', oferta.indice);
6707 botao.attr('class', 'btn btn-lg btn-info w-100 mt-3 ' + (classeBotaoBolsa || ''));
6708 botao.css('font-size', '14px');
6709 botao.css('font-weight', '600');
6710 botao.css('background-color', '#004EFF');
6711 if(!classeBotaoBolsa.includes('disabled')){
6712 if(oferta.espacoExterno == 'true' || (isHibrido && temTextoParaFormatoHibrido)){
6713 botao.attr('data-espaco-ex', 'true');
6714 botao.click((ev)=>{
6715 ev.preventDefault();
6716 $('#btnCompraLocal_'+oferta.indice).hide();
6717 $('#btnBolsaLocal_'+oferta.indice).show();
6718 const _modal = $('#modalAntesCompra_'+oferta.indice);
6719 _modal.css('display','flex');
6720 });
6721 }else{
6722 botao.attr('href', linkBolsa(oferta));
6723 botao.attr('target', '_blank');
6724 }
6725 }
6726
6727 return botao;
6728
6729 }
6730
6731 function verificaBotaoBolsaSS(oferta, codigoUnidade){
6732
6733
6734 if(!isEmed && (!oferta.dataAberturaBolsaOferta || oferta.dataAberturaBolsaOferta == '') ) return;
6735
6736 if(!ehCursoTrampolim){
6737 $.ajax({
6738 url : getUrlConsultaBolsa(oferta),
6739 type : 'get',
6740 dataType: 'json',
6741 beforeSend: function (xhr) {
6742 xhr.setRequestHeader ("Authorization", "KGG4KMW5s0CVowr7d6y6Ww==");
6743 },
6744 })
6745 .done(function(infosBolsa){
6746
6747
6748 if(infosBolsa != null && typeof infosBolsa !== 'undefined'){
6749
6750 var codigoOfertaRetornoBolsa = infosBolsa.DATA[0].COD_EVENTO;
6751 var retornoOfertaBolsaSenac = infosBolsa.DATA[0];
6752
6753 //Sobrescreve as flags de bolsa com o retorno do serviço SS
6754 ofertasMap.get(codigoOfertaRetornoBolsa).vagasBolsaOferta = retornoOfertaBolsaSenac.TEM_VAGA_BOLSA;
6755 ofertasMap.get(codigoOfertaRetornoBolsa).botaoBolsaOferta = retornoOfertaBolsaSenac.BOTAO_BOLSA;
6756
6757 var dadosOferta = ofertasMap.get(codigoOfertaRetornoBolsa);
6758
6759 //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs)
6760 var dadosAberturaBolsa = calculaTempoAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta, dadosOferta.botaoBolsaOferta);
6761 var textoBotaoBolsa = '';
6762 var classeBotaoBolsa = '';
6763 var textoBotaoContadorBolsa = '';
6764 var exibirBotaoBolsa = false;
6765 var exibirContadorBolsa = false;
6766
6767 //EMED
6768 if(isEmed){
6769 verificaBotoesEmed(ofertasMap.get(codigoOfertaRetornoBolsa), true);
6770 return;
6771 }
6772
6773 //Verifica o texto do botão de bolsa
6774 if($('#manutencao-bolsa').val()) textoBotaoBolsa = $('#manutencao-bolsa').val();
6775 else{
6776
6777 if(retornoOfertaBolsaSenac.TEM_VAGA_BOLSA){
6778
6779 if(dadosAberturaBolsa.bolsaJaAberta)
6780 textoBotaoBolsa = "Inscrever para bolsa de estudo";
6781
6782 else
6783 textoBotaoBolsa = "Inscrições para bolsas a partir de "+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta);
6784
6785 if(!ofertasComBolsa){ ofertasComBolsa = true;
6786 }
6787 }else
6788 textoBotaoBolsa = "Vagas esgotadas para bolsas de estudo";
6789 }
6790
6791 //verifica se o botão de concorrer a bolsa deve aparecer
6792 if(retornoOfertaBolsaSenac.BOTAO_BOLSA && !dadosAberturaBolsa.exibirContador){
6793
6794 exibirBotaoBolsa = true;
6795
6796 if(!ofertasComBolsa) ofertasComBolsa = true;
6797
6798 if(retornoOfertaBolsaSenac.TEM_VAGA_BOLSA && dadosAberturaBolsa.bolsaJaAberta && !$('#manutencao-bolsa').val()){
6799 classeBotaoBolsa = '';
6800 }else{
6801 classeBotaoBolsa = 'disabled';
6802 }
6803 }
6804
6805 //Verifica se o botão do cronômetro deve aparecer
6806 if(dadosAberturaBolsa.exibirContador && !$('#manutencao-bolsa').val()){
6807 textoBotaoContadorBolsa = dadosAberturaBolsa.textoContador;
6808 exibirContadorBolsa = true;
6809 }
6810
6811 if(exibirBotaoBolsa)
6812 $('.codigoOferta_'+codigoOfertaRetornoBolsa+' .ssp-card-oferta-curso .ssp-container-botao-bolsa').append( criaBotaoBolsa(dadosOferta, textoBotaoBolsa, classeBotaoBolsa) )
6813 else if(exibirContadorBolsa)
6814 $('.codigoOferta_'+codigoOfertaRetornoBolsa+' .ssp-card-oferta-curso .ssp-container-botao-bolsa').append('<a id="btnContadorBolsa_'+dadosOferta.indice+'" data-index="'+dadosOferta.indice+'" class="btn btn-lg btn-info w-100 mt-3" >Você poderá se inscrever para bolsa em <span>'+textoBotaoContadorBolsa+'</span></a>')
6815 else {
6816 $('.codigoOferta_'+codigoOfertaRetornoBolsa+'.content-btn-bolsa').hide()
6817 $('.show-price-content.codigoOferta_'+oferta.codigoOferta + ' .ou-separator-desconto').hide()
6818 }
6819
6820 }else{
6821 //EMED
6822 if(isEmed){
6823 verificaBotoesEmed(oferta, false);
6824 }
6825 }
6826
6827 controlaPaginaBolsa()
6828 })
6829 .fail(function(){
6830 $('.content-btn-bolsa.codigoOferta_'+oferta.codigoOferta).hide()
6831 $('.show-price-content.codigoOferta_'+oferta.codigoOferta + ' .ou-separator-desconto').hide()
6832
6833 //EMED
6834 if(isEmed){
6835 verificaBotoesEmed(oferta, false);
6836 }
6837 });
6838
6839
6840 }
6841
6842 }
6843
6844 function controlaPaginaBolsa(){
6845 if(ofertasComBolsa)
6846 $("#ssp-abrir-pagina-bolsa").removeClass("d-none")
6847 else
6848 $("#ssp-abrir-pagina-bolsa").addClass("d-none")
6849 }
6850
6851 function associaEventoBtnFormaPagamento(i){
6852 var modal = document.getElementById("myModal_"+i);
6853
6854 var btn = document.getElementById("myBtn_"+i);
6855
6856 if(btn!=null){
6857 btn.onclick = function(ev) {
6858 event.preventDefault()
6859
6860 $('#modalExtAluno_'+i).addClass('d-none');
6861
6862 var elem = $(ev.target);
6863 var _modal = document.getElementById(
6864 'myModal_'+elem.data('index'));
6865 _modal.style.display = "block";
6866 $('#myModal_'+i).find('.modal-extensao_content:first-child').removeClass('d-none');
6867
6868 }
6869 }
6870
6871
6872
6873
6874 }
6875
6876
6877 function actionBtnComprar(elem){
6878
6879 // Montar object push - google tag manager - 3
6880 ofertaSelecionada = itensEcommerce.get(elem.attr('data-evento'))
6881 sendEventEcommerce("select_item", ofertaSelecionada);
6882 sendEventEcommerce("view_item", ofertaSelecionada);
6883
6884 //Verifica se deve exibir o modal com a localização
6885 if(elem.attr('data-espaco-ex') == 'true'){
6886 $('#btnCompraLocal_'+elem.data('index')).show();
6887
6888 //Limpa onclicks para nao repetir execucao
6889 $('#modalAntesCompra_'+elem.data('index')).off('click', '#btnCompraLocal_'+elem.data('index'))
6890 $('#modalAntesCompra_'+elem.data('index')).on('click', '#btnCompraLocal_'+elem.data('index'), function () {
6891 // Montar object push - google tag manager - 4
6892 sendEventEcommerce("add_to_cart", ofertaSelecionada);
6893 if( elem.attr('data-destino-compra') != '2' )
6894 sendEventEcommerce("begin_checkout", ofertaSelecionada);
6895 })
6896 $('#btnBolsaLocal_'+elem.data('index')).hide();
6897 const _modal = $('#modalAntesCompra_'+elem.data('index'));
6898 _modal.css('display','flex');
6899 }else{
6900 var urlCompra = linkBotaoCompra.replace('\{codigoUnidade\}', elem.attr('data-unidade')).replace('\{codigoOferta\}', elem.attr('data-evento'));
6901
6902 if( elem.attr('data-destino-compra') == '2' ){
6903 var dataEfetivaFormat = formataDataComBarra($('[name="dataEfetivaSTR"]').val());
6904
6905 addItemBackpack(elem.attr('data-evento'), '#' + elem.attr('id'),elem.attr('data-unidade'), dataEfetivaFormat);
6906
6907 }else{
6908 window.open(urlCompra, '_blank');
6909 }
6910 }
6911
6912
6913
6914 }
6915
6916 function associaEventoBtnComprar(i){
6917 var btnComprar = document.getElementById("btnComprar_"+i);
6918
6919 if(btnComprar != null && !btnComprar.classList.contains('disabled')){
6920 btnComprar.onclick = function(ev) {
6921
6922 ev.preventDefault()
6923 var elem = $(ev.target);
6924 actionBtnComprar(elem);
6925
6926 }
6927 }
6928 }
6929
6930 function associaEventoBtnComprarDentroFormaPgto(i){
6931 var btnComprarFormaPgto = document.getElementById("btnComprarFormaPgto_"+i);
6932
6933 if(btnComprarFormaPgto != null && !btnComprarFormaPgto.classList.contains('disabled')){
6934 btnComprarFormaPgto.onclick = function(ev) {
6935 event.preventDefault()
6936 var elem = $('#btnComprarFormaPgto_'+i);
6937 actionBtnComprar(elem);
6938 }
6939 }
6940 }
6941
6942 function associaEventoBtnComprarConhecaDescontoOk(i){
6943 var btnComprarConhecaDescontoOk = document.getElementById("btnComprarConhecaDescontoOk_"+i);
6944
6945 if(btnComprarConhecaDescontoOk != null){
6946 btnComprarConhecaDescontoOk.onclick = function(ev) {
6947 event.preventDefault()
6948 var elem = $(ev.target);
6949 actionBtnComprar(elem);
6950 }
6951 }
6952 }
6953
6954 function associaEventoBtnComprarConhecaDescontoNot(i){
6955 var btnComprarConhecaDescontoNot = document.getElementById("btnComprarConhecaDescontoNot_"+i);
6956
6957 if(btnComprarConhecaDescontoNot != null){
6958 btnComprarConhecaDescontoNot.onclick = function(ev) {
6959 event.preventDefault()
6960 var elem = $(ev.target);
6961 actionBtnComprar(elem);
6962 }
6963 }
6964 }
6965
6966 function associaEventoBtnAlunoNao(i){
6967 var btnAlunoNao = document.getElementById("btn-aluno-nao_"+i);
6968
6969 if(btnAlunoNao != null){
6970 btnAlunoNao.onclick = function(ev) {
6971 event.preventDefault()
6972 var elem = $(ev.target);
6973 elem.addClass('modal-extensao-btn-aluno-sim-ativo'),
6974 elem.closest('.sim').removeClass('modal-extensao-btn-aluno-sim-ativo');
6975 elem.parent().siblings().find('button').removeClass('modal-extensao-btn-aluno-sim-ativo')
6976 $('#msg-alunoNao_'+i).removeClass('d-none');
6977 $('#msg-alunoSim_'+i).addClass('d-none');
6978 }
6979 }
6980 }
6981
6982 function associaEventoBtnAlunoSim(i){
6983 var btnAlunoSim = document.getElementById("btn-aluno-sim_"+i);
6984
6985 if(btnAlunoSim != null){
6986 btnAlunoSim.onclick = function(ev) {
6987 event.preventDefault()
6988 var elem = $(ev.target);
6989 elem.addClass('modal-extensao-btn-aluno-sim-ativo'),
6990 elem.closest('.nao').removeClass('modal-extensao-btn-aluno-sim-ativo');
6991 elem.parent().siblings().find('button').removeClass('modal-extensao-btn-aluno-sim-ativo')
6992 $('#msg-alunoSim_'+i).removeClass('d-none');
6993 $('#msg-alunoNao_'+i).addClass('d-none');
6994
6995 }
6996 }
6997 }
6998
6999 function associaEventoBtnConheca(i){
7000 var btnModalExtConheca = document.getElementById("btnModalExtConheca_"+i);
7001
7002 if(btnModalExtConheca != null){
7003 btnModalExtConheca.onclick = function(ev) {
7004 event.preventDefault();
7005 var elem = $(ev.target);
7006 elem.closest('.modal-extensao_content').addClass('d-none');
7007 $('#modalExtAluno_'+i).removeClass('d-none');
7008 $('#msg-alunoSim_'+i).addClass('d-none');
7009 $('#msg-alunoNao_'+i).addClass('d-none');
7010 $('#btn-aluno-sim_'+i).removeClass('modal-extensao-btn-aluno-sim-ativo');
7011 $('#btn-aluno-nao_'+i).removeClass('modal-extensao-btn-aluno-sim-ativo');
7012
7013 }
7014 }
7015 }
7016
7017 function associaEventoBtnLocalRealizacao(i){
7018 var btnLocalRealizacao = document.getElementById("btnLocalRealizacao_"+i);
7019
7020 if(btnLocalRealizacao!=null){
7021 btnLocalRealizacao.onclick = function(ev) {
7022 event.preventDefault();
7023 var elem = $(ev.target);
7024 var _modal = document.getElementById(
7025 'modalLocalRealizacao_'+elem.data('index'));
7026 _modal.style.display = "flex";
7027 }
7028 }
7029 }
7030
7031 function associaEventosFecharModal(i){
7032
7033 var span = document.getElementsByClassName("ssp-card-modal-forma-pagamento__btn-close_"+i);
7034 var closeModalLocalRealizacao = document.getElementsByClassName("ssp-card-modal-local-realizacao__btn-close_"+i)[0];
7035 var closeModalAntesCompra = document.getElementsByClassName("ssp-card-modal-antes-compra__btn-close_"+i)[0];
7036 var closeModalSelecionarOutro = document.getElementsByClassName("ssp-card-modal-selecionar-outro__btn-close_"+i)[0];
7037 var btnEntendiLocalRealizacao = document.getElementsByClassName("ssp-modal-local-realizacao__btn_"+i)[0];
7038 var closeModalBotaoBolsa = document.getElementById("btnBolsaLocal_"+i)
7039
7040 if(isEmed){
7041 var closeModalFormaPagamento = document.getElementsByClassName("ssp-btn-emed__voltar-curso_"+i);
7042 for (const val of closeModalFormaPagamento) {
7043
7044 val.onclick = function() {
7045 $('[id^="myModal_"]').each(function(index,modal){
7046 modal.style.display = "none";
7047 });
7048 }
7049 };
7050 }
7051
7052 //event close modal
7053 for (const val of span) {
7054
7055 val.onclick = function() {
7056 $('[id^="myModal_"]').each(function(index,modal){
7057 modal.style.display = "none";
7058 });
7059 }
7060 };
7061
7062 closeModalLocalRealizacao.onclick = function() {
7063
7064 $('[id^="modalLocalRealizacao_"]').each(function(index,modal){
7065 modal.style.display = "none";
7066
7067 });
7068 }
7069
7070 closeModalAntesCompra.onclick = function() {
7071
7072 $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){
7073 modal.style.display = "none";
7074 });
7075 }
7076
7077 closeModalSelecionarOutro.onclick = function() {
7078
7079 $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){
7080 modal.style.display = "none";
7081 });
7082 }
7083
7084 btnEntendiLocalRealizacao.onclick = function() {
7085
7086 $('[id^="modalLocalRealizacao_"]').each(function(index,modal){
7087 modal.style.display = "none";
7088 });
7089 }
7090
7091 if(closeModalBotaoBolsa != null){
7092 closeModalBotaoBolsa.onclick = function() {
7093
7094 $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){
7095 modal.style.display = "none";
7096 });
7097 }
7098 }
7099
7100 // When the user clicks anywhere outside of the modal, close it
7101 window.onclick = function(event) {
7102
7103 $('[id^="myModal_"]').each(function(index,_modal){
7104 if (event.target == _modal)
7105 _modal.style.display = "none";
7106 });
7107 $('[id^="modalLocalRealizacao_"]').each(function(index,_modal){
7108 if (event.target == _modal)
7109 _modal.style.display = "none";
7110 });
7111
7112 $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,_modal){
7113 if (event.target == _modal)
7114 _modal.style.display = "none";
7115 });
7116 }
7117 }
7118
7119 function turmasIniciadas(dataInicioCurso){
7120
7121 var hoje = new Date();
7122 var dataInicioPartes = dataInicioCurso.split('/');
7123 var dataInicioCursoOferta = new Date(dataInicioPartes[2], dataInicioPartes[1] - 1, dataInicioPartes[0] , hoje.getHours(),hoje.getMinutes(),hoje.getSeconds(),hoje.getMilliseconds());
7124
7125 return dataInicioCursoOferta.getTime() <= hoje.getTime();
7126 }
7127
7128
7129 function concatSTR(str1, str2, separador){
7130
7131 if(str2){
7132
7133 return str1+separador+str2;
7134 }
7135 return str1;
7136 }
7137
7138 //Formata exibicao de datas conforme especificacao GCR
7139 function formataPeriodo(dataInicio, dataFim){
7140
7141 var dtInicioPartes = dataInicio.split('/');
7142 var dtFimPartes = dataFim.split('/');
7143
7144 //Não exibir o número zero antes dos números e o dia 1 como 1º
7145 var dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim())) +'/'+parseInt(dtInicioPartes[1].trim())+'/'+dtInicioPartes[2].trim();
7146 var dFimFormatada = (parseInt(dtFimPartes[0].trim()) == 1 ? '1º' : parseInt(dtFimPartes[0].trim())) +'/'+parseInt(dtFimPartes[1].trim())+'/'+dtFimPartes[2].trim();
7147
7148 //Quando um curso inicia e finaliza dentro do mesmo ano: 17/2 a 25/4/2020
7149 if(dtInicioPartes[2].trim() == dtFimPartes[2].trim()){
7150
7151 dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim()))+'/'+parseInt(dtInicioPartes[1].trim());
7152
7153 //Quando um curso inicia e finaliza dentro do mesmo mês: 5 a 30/4/2020
7154 if(dtInicioPartes[1].trim() == dtFimPartes[1].trim())
7155 dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim()));
7156 }
7157
7158 return dInicioFormatada + ' a ' + dFimFormatada;
7159 }
7160
7161 //Decrementa os contadores de abertudas de bolsa
7162 function atualizaTempoAberturasBolsas() {
7163
7164 var btnsContador = (isEmed) ? $('[id^="btnContadorBolsa_"], [id^="btnContadorComprar_"]') : $('[id^="btnContadorBolsa_"]');
7165
7166 btnsContador.each(function() {
7167
7168 var index = $(this).data('index');
7169 var btnContent = $(this).parent('.ssp-btn-group__content');
7170
7171 if(isEmed){
7172 //EMED filtra ofertas e usa outra lista para referenciar as ofertas carregadas
7173 var dadosAberturaBolsa = calculaTempoAberturaBolsa(ofertasMap.get('' +index).dataAberturaBolsaOferta, ofertasMap.get('' + index).horaAberturaBolsaOferta);
7174 }else{
7175 //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs)
7176 var dadosAberturaBolsa = calculaTempoAberturaBolsa(objsTela.ofertas[index].dataAberturaBolsaOferta, objsTela.ofertas[index].horaAberturaBolsaOferta, objsTela.ofertas[index].botaoBolsaOferta);
7177 }
7178
7179 $(this).find('span').text(dadosAberturaBolsa.hours+':'+dadosAberturaBolsa.minutes+':'+dadosAberturaBolsa.seconds);
7180
7181 //Se esgotou o contador
7182 if(dadosAberturaBolsa.hours == 0 && dadosAberturaBolsa.minutes == 0 && dadosAberturaBolsa.seconds == 0){
7183
7184 var elId = $(this).attr('id');
7185
7186 //remove o contador
7187 $(this).remove();
7188
7189 //Habilitar inscrição EMED
7190 if(isEmed){
7191 var ofertaEmed = ofertasMap.get('' +index);
7192 var elementoPai = $('.codigoOferta_'+ofertaEmed.codigoOferta+' .ssp-ofertas-emed__card-info-investimento');
7193
7194 if(elId.indexOf('btnContadorBolsa') >= 0){
7195 if($('#manutencao-bolsa').val())
7196 criaBotaoBolsaEmed(ofertaEmed, $('#manutencao-bolsa').val(), 'disabled manutencao');
7197 else if(ofertaEmed.vagasBolsaOferta == true || ofertaEmed.vagasBolsaOferta == "true")
7198 criaBotaoBolsaEmed(ofertaEmed, 'Bolsa de estudo', '');
7199 else
7200 criaBotaoBolsaEmed(ofertaEmed, 'Bolsas de Estudo Esgotadas', 'disabled');
7201 }else if(elId.indexOf('btnContadorComprar') >= 0){
7202
7203 var textoBotao, classeBotao;
7204
7205 textoBotao = $('#manutencao-compra').val() || 'Fazer matrícula';
7206 classeBotao = $('#manutencao-compra').val() ? 'disabled manutencao' : '';
7207
7208
7209 criaBotaoInscreverEmed(ofertaEmed, textoBotao, classeBotao, 'btnComprarEmed_' + ofertaEmed.indice, elementoPai);
7210
7211 //Altera o botao do modal de pagamento
7212 var btnIndex = elId.slice(elId.indexOf('_')+1);
7213 var modal = $('#myModal_' + btnIndex).find('.ssp-card-modal-forma-pagamento');
7214 var btnModal = modal.find('#btnComprarEmedModal_' + btnIndex);
7215 if(btnModal){
7216 btnModal.remove();
7217 criaBotaoInscreverEmedModal(ofertaEmed, textoBotao, classeBotao, 'btnComprarEmedModal_' + btnIndex, modal, btnIndex);
7218 preencheDadosEmedModal(ofertaEmed,modal);
7219 }
7220
7221
7222 }
7223
7224 }else{
7225
7226 //Checa as condições das vagas do botão de bolsa
7227 var btnBolsaHTML = null;
7228 if($('#manutencao-bolsa').val())
7229 btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], $('#manutencao-bolsa').val(), 'disabled manutencao');
7230 else if(objsTela.ofertas[index].vagasBolsaOferta == true || objsTela.ofertas[index].vagasBolsaOferta == "true")
7231 btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], 'Inscrever para bolsa de estudo');
7232 else
7233 btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], 'Vagas esgotadas para bolsas de estudo', 'disabled');
7234
7235 $('.codigoOferta_'+ objsTela.ofertas[index].codigoOferta +'.ssp-container-botao-bolsa').append(btnBolsaHTML);
7236
7237
7238 }
7239 }
7240
7241 });
7242
7243 }
7244
7245 // Retorna um objeto com o tempo de abertura da bolsa, em horas, minutos e segundos
7246 function calculaTempoAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa, botaoBolsa){
7247
7248 var dadosAberturaBolsa = {
7249 days : '',
7250 hours : '',
7251 minutes : '',
7252 seconds : '',
7253 bolsaJaAberta: false,
7254 exibirContador: false,
7255 textoContador: ''
7256 };
7257
7258 if(dataAberturaBolsa.length == 0 || horaAberturaBolsa.length == 0)
7259 return dadosAberturaBolsa;
7260
7261 var now = todayG;
7262 var dia = now.getDate();
7263 var horarioDia = now.getHours();
7264
7265 var tempoRestante= tempoRestanteAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa);
7266
7267 //console.log('tempo restante '+tempoRestante);
7268
7269 var diaAberturaBolsa = dataAberturaBolsa.split('-')[2];
7270
7271 var delta = tempoRestante / 1000;
7272
7273 var days = Math.floor(delta / 86400);
7274
7275 delta -= days * 86400;
7276
7277 var hours = Math.floor(delta / 3600) % 24;
7278 delta -= hours * 3600;
7279
7280 var minutes = Math.floor(delta / 60) % 60;
7281 delta -= minutes * 60;
7282
7283 var seconds = Math.floor(delta % 60);
7284
7285 //Zerar contador para data que ja passou
7286 if(days < 0){
7287 dadosAberturaBolsa.days = 0;
7288 dadosAberturaBolsa.hours = '00';
7289 dadosAberturaBolsa.minutes = '00';
7290 dadosAberturaBolsa.seconds = '00';
7291 }else{
7292 dadosAberturaBolsa.days = days;
7293 dadosAberturaBolsa.hours = hours < 10 ? '0'+hours : hours;
7294 dadosAberturaBolsa.minutes = minutes < 10 ? '0'+minutes : minutes;
7295 dadosAberturaBolsa.seconds = seconds < 10 ? '0'+seconds : seconds;
7296 }
7297
7298 dadosAberturaBolsa.bolsaAberta = days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0;
7299 var horaExibeContador = 8;
7300 if(!isEmed && botaoBolsa == false){
7301 dadosAberturaBolsa.exibirContador = false;
7302 }else{
7303 dadosAberturaBolsa.exibirContador = days == 0 && horarioDia >= horaExibeContador && !dadosAberturaBolsa.bolsaAberta && (diaAberturaBolsa == dia);
7304 dadosAberturaBolsa.textoContador = dadosAberturaBolsa.hours + ':' + dadosAberturaBolsa.minutes + ":"+ dadosAberturaBolsa.seconds;
7305 }
7306 dadosAberturaBolsa.bolsaJaAberta = tempoRestante < 0;
7307
7308 return dadosAberturaBolsa;
7309
7310 }
7311
7312 // Verifica se uma oferrta já chegou sua data de abertura
7313 function tempoRestanteAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa){
7314 // console.log(dataAberturaBolsa);
7315 // console.log(horaAberturaBolsa);
7316
7317 //var today = new Date();
7318
7319
7320 //console.log( "TodayG "+ todayG);
7321
7322 //Precisa fazer formatação nos horários pois pode estar como 9h ou 9h30
7323 var partesHora = horaAberturaBolsa.split('h');
7324
7325 var partesHora = partesHora.filter(function (el) {
7326 return el != "";
7327 });
7328
7329 //formato 9h
7330 if(partesHora.length == 1)
7331 var aberturaBolsa = new Date(dataAberturaBolsa+'T'+horaAberturaBolsa.replace('h', '').trim()+":00");
7332
7333 else{
7334
7335 //format 9h3
7336 if(partesHora[1].length == 1)
7337 var aberturaBolsa = new Date(dataAberturaBolsa+'T'+partesHora[0].replace('h', '').trim()+':'+partesHora[1] +'0');
7338
7339 //formato 9h30
7340 else
7341 var aberturaBolsa = new Date(dataAberturaBolsa+'T'+partesHora[0].replace('h', '').trim()+':'+partesHora[1]);
7342 }
7343
7344 // console.log(aberturaBolsa);
7345 return aberturaBolsa - todayG;
7346 }
7347
7348 function formataDataAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa){
7349 var dataPartes = dataAberturaBolsa.split('-');
7350
7351 return dataPartes[2]+'/'+dataPartes[1]+ ' às '+horaAberturaBolsa.replace('h', '').trim()+' horas';
7352
7353 }
7354
7355 function formataValor(valor){
7356
7357 if(!valor.toString().includes(".")){
7358 valor = parseFloat(valor).toLocaleString('pt-BR')+",00";
7359 }else{
7360 valor = parseFloat(valor).toLocaleString('pt-BR');
7361
7362 if(valor.split(",").length == 2){
7363
7364 if(valor.split(",")[1].length == 1)
7365 valor += "0";
7366
7367 }else
7368 valor += ",00";
7369 }
7370
7371 return valor;
7372 }
7373
7374 function ajustarCasasDecimaisSemArredondar(numero, casas) {
7375 const str = numero + ''
7376 const arr = str.split('.')
7377 return parseFloat(arr[0].concat('.').concat(arr[1] ? arr[1].substring(0, casas) : '0'))
7378 }
7379
7380 function possuiCriteriosDesconto2022(dt) {
7381 return dt.substring(dt.lastIndexOf('/') + 1) >= 2022
7382 && (
7383 $('[name="tipoCurso"]').val() == 'livre'
7384 || ($('[name="tipoCurso"]').val() == 'tecnico' && $('[name="modalidades"]').val() == 'espec.-tecnica-de-nivel-medio')
7385 || $('[name="tipoCurso"]').val() == 'extensao'
7386 )
7387 }
7388
7389 function strToFloat(str) {
7390 const separator = str.includes(',') ? ',' : '.'
7391
7392 const numArr = str.split(separator)
7393 const inteiro = numArr[0].replaceAll('.', '').replaceAll(',', '.')
7394 const decimal = numArr[1] ? numArr[1].replaceAll('.', '').replaceAll(',', '.') : ''
7395 return parseFloat(inteiro.concat('.').concat(decimal ? decimal : '0'))
7396 }
7397
7398 function possuiMensalidade99(oferta) {
7399 if(!oferta.precoVendaMaxParcelaOferta
7400 || (oferta.precoVendaMaxParcelaOferta != 99
7401 && parseFloat(oferta.precoParcelaCartoes.replace(',','.')) != 99
7402 && parseFloat(oferta.precoParcelaBoleto.replace(',','.')) != 99))
7403 return false
7404
7405 if($('[name="modalidades"]').val() == 'hab.-tecnica-de-nivel-medio')
7406 return true
7407
7408 if($('[name="modalidades"]').val() == 'espec.-tecnica-de-nivel-medio')
7409 return true
7410
7411 if($('[name="modalidades"]').val() == 'qualificacao-profissional')
7412 return true
7413
7414 return false
7415 }
7416
7417 function htmlSlickArea(index, oferta, diasSemanaHTML, codigoUnidade) {
7418 let temDesconto = possuiCriteriosDesconto2022(oferta.dataInicio)
7419 temDesconto = temDesconto && !possuiMensalidade99(oferta)
7420
7421 const btnLocalReal = function(oferta){
7422
7423 var btn = `<div class="container-local-realizacao ` + ((oferta.espacoExterno == 'true'|| (isHibrido && temTextoParaFormatoHibrido)) ? '' : 'd-none-btn') + (localLivreOnline(oferta.localEspacoExterno) ? ' idioma-online' : '') + `">`;
7424
7425 btn += (localLivreOnline(oferta.localEspacoExterno)) ?
7426 `<a id="btnLocalRealizacao_` + index + `" data-index="` + index + `" class="btn-idiomas__aula-online" href="#">
7427 <i class="fas fa-wifi"></i>Aulas Online - ao vivo</a>`
7428 : `<a id="btnLocalRealizacao_` + index + `" data-index="` + index + `" class="ssp-card-oferta-curso__local-realizacao-content__title" href="#"><i class="fas fa-user"></i>Onde as aulas vão acontecer?</a>`;
7429
7430 btn += `</div>`;
7431
7432 return btn;
7433
7434 }
7435
7436 // Card Oferta
7437
7438 let result = `
7439 <div class="slick-area__item card_oferta_` + index + ` codigoOferta_` + oferta.codigoOferta + ` ` + (temDesconto ? 'ssp-desconto-2022' : '') + `">
7440
7441 <div class="ssp-card-oferta-curso">
7442
7443 <div class="content-data-dias">
7444
7445 <div class="ssp-card-oferta__info-turma-iniciada" id="aviso-turma-iniciada-` + index + `" style="display:none">
7446 <h6 style="color:white;background-color:#ff7157;border-radius: 5px;padding: 8px 0px;width: 60%;font-size: 12px;margin-top: 0;"><strong>Turma iniciada, comece já!</strong></h6>
7447 </div>
7448
7449
7450 <div>
7451 <small class="ssp-card-oferta-curso__title-item">Período:</small>
7452 <h6 class="ssp-card-oferta-curso__item-data-periodo item-data-periodo_` + index + `">` + formataPeriodo(oferta.dataInicio, oferta.dataFim) + `</h6>
7453 </div>
7454
7455 <div class="content-horario-dias-semana">
7456
7457 <div class="horario">
7458 <small class="ssp-card-oferta-curso__title-item">Horário e dias das aulas:</small>
7459 </div> ` +
7460
7461 `<div class="ssp-card-oferta-curso__dia-hora_content">
7462 ` + diasSemanaHTML + `
7463 </div>
7464
7465 </div>
7466
7467 ` + btnLocalReal(oferta);
7468
7469 result = result + `
7470 </div>
7471 `
7472
7473 //Regra adicionada em 04/01/22 devido aos cursos de Garçon e Cozinheiro. Definimos como regra geral que caso botaoCompra seja falso, não faz sentido mostrar os valores
7474 //Adicionada a validação dos preços da oferta em 07/06/2022 - Tarefa 9498
7475 const estaSemValorOferta = oferta.botaoCompraOferta == ''
7476 || oferta.botaoCompraOferta == 'false'
7477 || !oferta.precoVendaOferta
7478 || !oferta.precoCheioOferta
7479 || !oferta.precoVendaMaxParcelaOferta
7480 || strToFloat(oferta.precoVendaOferta) == 0
7481 || strToFloat(oferta.precoCheioOferta) == 0
7482 || strToFloat(oferta.precoVendaMaxParcelaOferta) == 0
7483
7484 //Trecho inicial do Bolsa de estudo
7485 result += `<div class="content-btn-bolsa codigoOferta_` + oferta.codigoOferta + (estaSemValorOferta ? ' pb-0' : '') + `">
7486 <div class="ssp-card-oferta__info-turma-content">
7487 <h6 class="ssp-card-oferta__info-turma mb-0">Bolsas de estudo</h6>
7488 </div>
7489 <div class="codigoOferta_` + oferta.codigoOferta + ` ssp-container-botao-bolsa"></div>
7490 </div>
7491 `
7492
7493 if(estaSemValorOferta) {
7494 result = result + `
7495 <div class="content-buttons hide">
7496 </div>
7497 `
7498 return result;
7499 }
7500
7501
7502 //Trecho final do Bolsa de estudo e inclusao de botao de expansao do "Valores para compra"
7503 result += ` <div class="show-price-content codigoOferta_` + oferta.codigoOferta + `">
7504 <div class="ou-separator-desconto">Ou</div>
7505 <button type="button" class="btn-show-price">
7506 <p>Saiba mais sobre:</p>
7507 <div onclick="togglePriceCard('codigoOferta_` + oferta.codigoOferta + `')">
7508 <i class="fas fa-money-bill"></i>
7509 <span>Valores para compra</span>
7510 </div>
7511 </button>
7512 </div>
7513 `
7514
7515 result = result + `
7516 <div class="content-valores-descontos hide-price codigoOferta_` + oferta.codigoOferta + `">
7517 `
7518
7519 if( temDesconto && !ehCursoTrampolim ) {
7520 result = result + `
7521 <div class="ssp-card-oferta__info-turma-content">
7522 <h6 class="ssp-card-oferta__info-turma">Valores para compra</h6>
7523 </div>
7524
7525 <div class="block-valor-desconto">
7526
7527 <div class="tag-label-desconto">
7528 <small class="ssp-card-oferta-curso__title-item">Valor com </small>
7529 <span class="ssp-card-oferta-curso__valor-desconto">50% de desconto*</span>
7530 </div>
7531
7532 <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(ajustarCasasDecimaisSemArredondar((strToFloat(oferta.precoVendaOferta)/strToFloat(oferta.numeroMaxParcelasOferta))/2, 2)) + `</h6>
7533
7534 <div class="ssp-card-oferta-curso__desconto-content">
7535 <p>De: <span class="ssp-card-oferta-curso__valor-antigo">R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta), 2)) + `</span></p>
7536 <p>Por: <span class="ssp-card-oferta-curso__valor-desconto">R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta)/2, 2)) + `</span></p>
7537 </div>
7538 `
7539
7540 if($('[name="tipoCurso"]').val() == 'extensao') {
7541 result = result + `<p class="modal-extensao_txteconomiza my-2">* Válido para quem trabalha ou tem sua própria empresa no setor de comércio e serviços, estudantes ou ex-estudantes de cursos técnicos no Senac ou para quem já finalizou o Ensino Médio Técnico no Senac.</p></div>`
7542 } else {
7543 result = result + `<p class="modal-extensao_txteconomiza my-2">*Válido para quem trabalha ou tem sua própria empresa no setor de comércio e serviços.</p></div>`
7544 }
7545
7546 result = result + `
7547 <div class="ou-separator-desconto">Ou</div>
7548
7549 <div class="block-valor-total">
7550
7551 <small class="ssp-card-oferta-curso__title-item">Valor sem desconto:</small>
7552
7553 <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6>
7554
7555 <div class="ssp-card-oferta-curso__desconto-content">
7556 <p>Valor total: <strong>R$ ` + formataValor(strToFloat(oferta.precoVendaOferta)) + `</strong></p>
7557 </div>
7558
7559 </div>
7560 `
7561 }else{
7562
7563 // itens que são diferentes entre técnico e livres comprado a extensão
7564 if($('[name="tipoCurso"]').val() == 'extensao'){
7565 result = result + `
7566
7567 <div class="block-valor-total">
7568
7569 <div class="investimento" id="container_investimento_` + index + `">
7570
7571 <small class="ssp-card-oferta-curso__title-item">Investimento:</small>
7572
7573 <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaMaxParcelaOferta))) + `</h6>
7574
7575 <div class="ssp-card-oferta-curso__desconto-content">
7576 <p>Ou: <span class="ssp-card-oferta-curso__valor-antigo text-decoration-none">R$ ` + formataValor(oferta.precoVendaOferta) + `</span> à vista</p>
7577 </div>
7578
7579 </div>
7580
7581 </div>
7582 `
7583 } else {
7584 result = result + `
7585 <div class="block-valor-total">
7586 <div class="investimento" id="container_investimento_` + index + `">
7587 `
7588
7589 // Não mostrar mensagem de 30% de desconto em casos especificos
7590 if(temDesconto){
7591 result = result + `
7592 <small class="ssp-card-oferta-curso__title-item font-weight-bold">Valor com 30% de desconto:</small>
7593 `
7594 }
7595
7596 if(oferta.precoCheioOferta == oferta.precoVendaOferta) {
7597 result = result + `
7598 <small class="ssp-card-oferta-curso__title-item">Valor do curso:</small>
7599 <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6>
7600
7601 <div class="ssp-card-oferta-curso__desconto-content">
7602 <p>Ou <span class="ssp-card-oferta-curso__valor-antigo text-decoration-none">R$ ` + formataValor(oferta.precoVendaOferta) + `</span></p>
7603 </div>
7604 </div>
7605 </div>
7606 `
7607 } else {
7608 result = result + `
7609 <small class="ssp-card-oferta-curso__title-item">Investimento:</small>
7610 <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6>
7611
7612 <div class="ssp-card-oferta-curso__desconto-content">
7613 <p>De: <span class="ssp-card-oferta-curso__valor-antigo">R$ ` + formataValor(oferta.precoCheioOferta) + `</span></p>
7614 <p>Por: <span class="ssp-card-oferta-curso__valor-desconto">R$ ` + formataValor(oferta.precoVendaOferta) + `</span></p>
7615 </div>
7616 </div>
7617 </div>
7618 `
7619 }
7620 }
7621 }
7622
7623 let dataBtnComprar = getObjBtnComprar(oferta);
7624
7625 // itens que são diferentes entre técnico e livres comprado a extensão
7626 result = result + `
7627
7628 <div class="ssp-card-oferta-curso__formas-pagamento-content" id="container_forma_pgto_` + index + `">
7629
7630 <span>Saiba mais sobre:</span>
7631
7632 <div>
7633 <i class="ssp-card-oferta-curso__formas-pagamento-content__icon-credit-card"></i>
7634 <a id="myBtn_` + index + `" data-index="` + index + `" class="ssp-card-oferta-curso__formas-pagamento-content__title" style="font-weight: 600;" href="#">` + (temDesconto ? 'Descontos e pagamento' : 'Descontos e parcelamento') + `</a>
7635 </div>
7636
7637 </div>
7638
7639 <div class="content-buttons">
7640
7641 <div class="ssp-btn-group__content botoes-oferta-container_` + index + `">
7642
7643 <a href="#a" id="btnComprar_` + index + `" data-espaco-ex="` + dataBtnComprar.dataEspacoEx + `" data-unidade="` + codigoUnidade + `" data-evento="` + oferta.codigoOferta + `" data-destino-compra="` + oferta.destinoCompra + `" data-index="` + index + `" class="btn btn-lg btn-success w-100 mt-3 ` + dataBtnComprar.classeBotao + `" style="font-size:16px;font-weight: 600;">` + dataBtnComprar.textoBotao + `</a>
7644
7645 </div>
7646
7647 </div>
7648
7649 </div>
7650
7651 </div>
7652 `
7653
7654 return result
7655 }
7656
7657 var htmlModalLocalRealizacao = '<div id="modalLocalRealizacao_{index}" class="ssp-modal">'
7658 htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao">'
7659 htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao__title-content">'
7660
7661 htmlModalLocalRealizacao += '{tituloLocalRealizacao}'
7662
7663 htmlModalLocalRealizacao += '<i class="ssp-card-modal-local-realizacao__btn-close_{index} ssp-card-modal-forma-pagamento__btn-close"></i>'
7664 htmlModalLocalRealizacao += '</div>'
7665 htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao__texto">'
7666 htmlModalLocalRealizacao += '<p class="{classeTextoInfoLocalRealizacao}">A unidade {nomeUnidade} realizará as aulas em outro endereço, conforme informações abaixo:</p>'
7667 htmlModalLocalRealizacao += '<p><span class="ssp-modal-local-realizacao__subtitle localEspacoExternoTexto_{index}">{textoFormatoHibrido}{localEspacoExterno}</span></p>'
7668 htmlModalLocalRealizacao += '<address>'
7669 htmlModalLocalRealizacao += '<span id="endereco_realizacao_{index}" class="{classeEnderecoRealizacao}">{ruaEspacoExterno}, {numeroEspacoExterno} {complementoEspacoExterno}<br></span>'
7670 htmlModalLocalRealizacao += '<span id="bairro_realizacao_{index}" class="{classeBairroRealizacao}">Bairro: {bairroEspacoExterno}<br></span>'
7671 htmlModalLocalRealizacao += '<span id="cidade_realizacao_{index}" class="{classeCidadeRealizacao}">Cidade: {cidadeEspacoExterno} - SP<br></span>'
7672 htmlModalLocalRealizacao += '<span id="cep_realizacao_{index}" class="{classeCepRealizacao}">CEP: {cepEspacoExterno}</span>'
7673 htmlModalLocalRealizacao += '</address>'
7674 htmlModalLocalRealizacao += '<div class="btn ssp-modal-local-realizacao__btn-content">'
7675 htmlModalLocalRealizacao += '<a class="btn ssp-modal-local-realizacao__btn {classeEntendi} ssp-modal-local-realizacao__btn_{index}" href="#a">Entendi</a>'
7676 htmlModalLocalRealizacao +='</div>'
7677 htmlModalLocalRealizacao +='</div>'
7678 htmlModalLocalRealizacao +='</div>'
7679 htmlModalLocalRealizacao +='</div>';
7680
7681 var htmlModalAntesCompra = '<div id="modalAntesCompra_{index}" class="ssp-modal">'
7682 htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao">'
7683 htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao__title-content">'
7684 htmlModalAntesCompra += '<h6 class="ssp-modal-local-realizacao__title"> LEMBRETE IMPORTANTE!</h6>'
7685 htmlModalAntesCompra += '<i class="ssp-card-modal-antes-compra__btn-close_{index} ssp-card-modal-forma-pagamento__btn-close"></i>'
7686 htmlModalAntesCompra += '</div>'
7687 htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao__texto">'
7688 htmlModalAntesCompra += '<p class="{classeTextoInfoLocalRealizacao}">A unidade {nomeUnidade} realizará as aulas em outro endereço, conforme informações abaixo:</p>'
7689 htmlModalAntesCompra += '<p><span class="ssp-modal-local-realizacao__subtitle localEspacoExternoTexto_{index}">{textoFormatoHibrido}{localEspacoExterno}</span></p>'
7690 htmlModalAntesCompra += '<address>'
7691 htmlModalAntesCompra += '<span id="endereco_realizacao_{index}" class="{classeEnderecoRealizacao}">{ruaEspacoExterno}, {numeroEspacoExterno} {complementoEspacoExterno}<br></span>'
7692 htmlModalAntesCompra += '<span id="bairro_realizacao_{index}" class="{classeBairroRealizacao}">Bairro: {bairroEspacoExterno}<br></span>'
7693 htmlModalAntesCompra += '<span id="cidade_realizacao_{index}" class="{classeCidadeRealizacao}">Cidade: {cidadeEspacoExterno} - SP<br></span>'
7694 htmlModalAntesCompra += '<span id="cep_realizacao_{index}" class="{classeCepRealizacao}">CEP: {cepEspacoExterno}</span>'
7695 htmlModalAntesCompra += '</address>'
7696 htmlModalAntesCompra += '<div class="btn ssp-modal-local-realizacao__btn-content">'
7697 htmlModalAntesCompra += '{componentBuyConfirmation}'
7698 htmlModalAntesCompra += '<a id="btnBolsaLocal_{index}" class="btn btn-lg btn-info w-100 mt-3" href="{linkBtnBolsa}" target="_blank" style="display:none;">OK, inscrever para bolsa</a>'
7699 htmlModalAntesCompra += '<a class="ssp-modal-local-realizacao__btn btn btn-lg w-100 mt-3 ssp-card-modal-selecionar-outro__btn-close_{index}" href="#a" >Selecionar outra turma</a>'
7700 htmlModalAntesCompra +='</div>'
7701 htmlModalAntesCompra +='</div>'
7702 htmlModalAntesCompra +='</div>'
7703 htmlModalAntesCompra +='</div>';
7704
7705 var htmlSlickAreaDiasSemana = '<div class="ssp-card-oferta-curso__dia-hora-item">'
7706 htmlSlickAreaDiasSemana +='<p class="ssp-card-oferta-curso__dia-hora-item__dia">'
7707 htmlSlickAreaDiasSemana += '<span data-dia-hora="dias-semana">{diasSemana}</span>'
7708 htmlSlickAreaDiasSemana += '<span data-dia-hora="horário">{horasSemana}</span>'
7709 htmlSlickAreaDiasSemana += '</p>'
7710 htmlSlickAreaDiasSemana += '</div>';
7711
7712
7713 //Montar object push - google tag manager - 5
7714 function criaItensEcommerce(ofertas){
7715
7716 let nomeUnidadeSelecionada = objsTela.unidades[ultimaUnidade].nome
7717
7718 let dadosCurso = {
7719 //Pegar do freemarker
7720 tituloComercial : $('[name="tituloComercial"]').val(),
7721 tipoCurso : $('[name="nomeCategoriaTipoCurso"]').val(),
7722 formato : $('[name="formato"]').data("formato")
7723 }
7724
7725 let ecommerceObject = {
7726
7727 item_id: "", //codOferta - oferta,
7728 item_name: "", //Nome do curso - curso,
7729 affiliation: "", //nome da unidade - oferta,
7730 currency: "BRL", //Moeda - "BRL",
7731 discount: "", //desconto - oferta,
7732 index: "", //indice da lista - i,
7733 item_brand: "Senac SP", //"Senac SP",
7734 item_category: "", //categoria do curso - curso,
7735 item_list_id: "", //"60",
7736 item_list_name: "", //"São Carlos" - Oferta,
7737 item_variant: "", //modalidade - curso,
7738 price: "", //preco cheio - oferta,
7739 quantity: 1
7740
7741 }
7742
7743 let itensEcommerce = new Map();
7744
7745 for(var i = 0; i < ofertas.length; i++){
7746
7747 itensEcommerce.set(ofertas[i].codigoOferta, {
7748
7749 item_id: ofertas[i].codigoOferta, //codOferta - oferta,
7750 item_name: dadosCurso.tituloComercial, //Nome do curso - curso,
7751 affiliation: nomeUnidadeSelecionada, //nome da unidade - oferta,
7752 currency: "BRL", //Moeda - "BRL",
7753 discount: parseFloat(ofertas[i].precoCheioOferta - ofertas[i].precoVendaOferta).toFixed(2), //desconto - oferta,
7754 index: i, //indice da lista - i,
7755 item_brand: "Senac SP", //"Senac SP",
7756 item_category: dadosCurso.tipoCurso, //categoria do curso - curso,
7757 item_list_id: objsTela.unidades[ultimaUnidade].codigoUnidade, //"60",
7758 item_list_name: nomeUnidadeSelecionada, //"São Carlos" - Oferta,
7759 item_variant: dadosCurso.formato, //modalidade - curso,
7760 price: parseFloat(ofertas[i].precoCheioOferta).toFixed(2), //preco cheio - oferta,
7761 quantity: 1
7762
7763 }
7764 )
7765 }
7766
7767 return itensEcommerce;
7768 }
7769
7770 //EMED - ELEMENTOS DINAMICOS
7771 const htmlSlickAreaEmed = function(oferta){
7772 var btnid = 'myBtn_' + oferta.indice;
7773 const diasHorarios = function(oferta){
7774 return oferta.diasDaSemanaOferta.join(', ').toLowerCase();
7775
7776 }
7777
7778
7779 return `
7780 <div class="ssp-ofertas-emed__card codigoOferta_`+ oferta.codigoOferta + `">
7781
7782 <div class="ssp-ofertas-emed__card-info-turma">
7783
7784 <div class="item-content">
7785 <i class="fas fa-calendar-alt calendar-icon-turma"></i>
7786 <p class="title-turma">`+ oferta.titulo +`</p>
7787 <span class="text-default" data-info="info-turma">Alunos na turma: <strong>até `+ oferta.qtdeTotalVagas +`</strong></span>
7788 </div>
7789
7790 <div class="content-previsao-inicio-termino">
7791
7792 <div class="item-content">
7793 <span class="text-default">Previsão de início:</span>
7794 <span class="text-default-lg">`+ formatarDataEmed(oferta.dataInicio,oferta.etapa,false) +`</span>
7795 </div>
7796
7797 <div class="item-divisor"></div>
7798
7799 <div class="item-content">
7800 <span class="text-default">Previsão de término:</span>
7801 <span class="text-default-lg">`+ formatarDataEmed(oferta.dataFim,oferta.etapa,true) +`</span>
7802 </div>
7803
7804 </div>
7805
7806
7807 <div class="item-divisor"></div>
7808
7809 <div class="item-content">
7810 <span class="text-default">Dias e horários das aulas:</span>
7811 <span class="text-default-lg" style="text-transform: capitalize;">`+ diasHorarios(oferta) +`</span>
7812 <span class="text-default-lg">`+ oferta.horaInicio.replace(':', 'h') + ' às ' + oferta.horaFimOferta.replace(':', 'h') +`</span>
7813 </div>
7814
7815 </div>
7816
7817 <div class="ssp-ofertas-emed__card-info-investimento">
7818 <p class="title-investimento">Investimento anual:</p>
7819
7820 <div class="item-content-investimento">
7821 <span class="txt-parcelas">Até `+ oferta.numeroMaxParcelasOferta +`x</span>
7822 <span class="txt-valor-parcela">R$ `+ formataValor(oferta.precoVendaMaxParcelaOferta) +`</span>
7823 </div>
7824
7825 <div class="item-content-investimento">
7826 <p class="txt-boleto-cartao">(boleto bancário ou cartão de crédito)</p>
7827 </div>
7828
7829 <div class="item-content-investimento">
7830 <i class="fas fa-credit-card icon-cartao-credito"></i>
7831 <a id="`+ btnid +`" data-index="`+ oferta.indice +`" href="#" class="link-descontos-parcelamentos">Descontos e Parcelamentos</a>
7832 </div>
7833
7834 </div>
7835
7836 </div>
7837
7838 `;
7839 }
7840
7841
7842 function loadCursosVocePodeGostar(){
7843
7844 if(isEmed){
7845 var url = urlSearchCursosPodeGostarEmed
7846 .replace('\{groupId\}', groupId)
7847 .replace('\{tiposDeCurso\}',$('[name="idTipoCurso"]').val())
7848 .replace('\{limit\}', 12)
7849 .replace('\{articleId\}', $('[name="articleId"]').val());
7850 }else{
7851 var url = urlSearchCursosPodeGostar
7852 .replace('\{companyId\}',themeDisplay.getCompanyId())
7853 .replace('\{groupId\}', groupId)
7854 .replace('\{userId\}',themeDisplay.getUserId())
7855 .replace('\{articleId\}',$('[name="articleId"]').val())
7856 .replace('\{limit\}', 12);
7857 }
7858
7859
7860 $.ajax({
7861 url : url,
7862 type : 'get',
7863 beforeSend: function(){
7864 loading('#slider-curso');
7865 }
7866 })
7867 .done(function(cursos){
7868
7869 if(cursos.length > 0){
7870
7871 cursos = JSON.parse(cursos);
7872
7873 if(isEmed) cursos = cursos['cursos'];
7874
7875 if(cursos.length > 0) $('#section-cursos-voce-pode-gostar').removeClass('d-none');
7876 else {
7877 $('#section-cursos-voce-pode-gostar').addClass('d-none');
7878 return;
7879 }
7880
7881 var articles = [];
7882
7883 $.each(cursos, function(k, c){
7884 articles.push(c.articleId);
7885 });
7886
7887 //Verifica a situação dos botoes de inscrições e bolsa
7888 $.ajax({
7889 url : '/o/senac-content-services/verificaBotoesInscricaoEBolsa/'+groupId+'/'+articles.join(','),
7890 type : 'get'
7891 })
7892 .done(function(infoBotoes){
7893
7894 if(infoBotoes.length > 0) {
7895
7896 infoBotoes = JSON.parse(infoBotoes);
7897
7898 $('#slider-curso').empty();
7899
7900 $.each(cursos, function(k, c){
7901 $('#slider-curso').append(buildCardCurso(c, infoBotoes));
7902
7903 });
7904
7905 $('#slider-curso').addClass(
7906 'slick-area slick-area--md-bleed slider-container slick-area-cursos-pode-gostar');
7907
7908 sliderCurso('.slick-area-cursos-pode-gostar');
7909 }
7910 });
7911 }
7912
7913 })
7914 .fail(function(jqXHR, textStatus, msg){
7915 // alert(msg);
7916 });
7917
7918 }
7919
7920 /*
7921 * Armazena a navegação em cookies, se habilitado
7922 */
7923 $(document).on("click", ".ck-curso", function() {
7924
7925 //Verifica se o cookie está habilitado
7926 if(getCookie('portalSenacCookie') != null){
7927
7928 var articleId = $(this).data('ck');
7929 manageCookieArray('ck-cursos', articleId);
7930
7931 }
7932
7933 });
7934
7935
7936
7937
7938
7939 $(function(){
7940
7941 if($('#unidades-ofertas').find('option').length ==0){
7942
7943 $('.ssp-container-selecione-unidade').addClass('d-none')
7944
7945 }
7946
7947 });
7948
7949 function avisoNovasTurmas(){
7950
7951
7952 window.event.preventDefault()
7953
7954 //var unidadeSelecionada = $('#select-registro-interesse').val();
7955 //este select tem 2 valores separados por @ -> categoryId@codUnidade
7956 // var unidadeSelecionada = $('#unidades-ofertas').val();
7957
7958 //Código fixo quando Senac Ao Vivo
7959 var codUnidadeSelectRegInt = (isAoVivo) ? codUnidadeSenacAoVivo : $('#unidades-ofertas').val().split("@")[1];
7960
7961 // if(codUnidadeSelectRegInt && codUnidadeSelectRegInt.length){
7962
7963 //Se ja tiver logado , redireciona para o registro
7964 if(getCookie('ticket') == null){
7965
7966 //Abre modal login
7967 $('#modal-login').removeClass('d-none');
7968
7969 }else{
7970
7971 abrirModalRegistroInteresse(codUnidadeSelectRegInt);
7972
7973 verificaBtnEnviarRegistroInteresseAtivo();
7974 }
7975
7976 window.onclick = function(event) {
7977 $('[id="modal-registro-interesse"]').each(function(index,_modal){
7978 if (event.target == _modal) {
7979 $('#modal-registro-interesse').addClass('d-none');
7980 $("body").removeClass("overflow-hidden")
7981 }
7982 });
7983 }
7984
7985 // }
7986 }
7987 function login(){
7988 var unidadeSelecionada
7989 var codUnidadeSelectRegInt
7990 doLogin({
7991 user: $('#login-email-modal').val(),
7992 pass: $('#login-password-modal').val(),
7993 btnLoadingSelector: '#btnLogin',
7994 before: () => {
7995 $('#mensagem-erro-login').addClass('d-none')
7996
7997 unidadeSelecionada = $('#unidades-ofertas').val();
7998 codUnidadeSelectRegInt = (isAoVivo) ? codUnidadeSenacAoVivo : $('#unidades-ofertas').val().split("@")[1];
7999 },
8000 done: (data) => {
8001 var loginData = JSON.parse(data);
8002
8003 if(loginData.status == 200 || loginData.status == 201){
8004 //Após logar-se, exibe o modal p/registro de interesse
8005 abrirModalRegistroInteresse(codUnidadeSelectRegInt);
8006 verificaBtnEnviarRegistroInteresseAtivo();
8007 //esconde o modal de login
8008 $('#modal-login').addClass('d-none');
8009 }
8010 },
8011 errorMessageSelector: '#mensagem-erro-login',
8012 error: (err) => console.error(err)
8013 })
8014 }
8015
8016 function registroSelecionaTodosDias(){
8017
8018 if($(this).hasClass('ssp-week-day-active')){
8019 $(this).removeClass('ssp-week-day-active')
8020 $('.ssp-week-day').removeClass('ssp-week-day-active')
8021 }else{
8022 $(this).addClass('ssp-week-day-active')
8023 $('.ssp-week-day').addClass('ssp-week-day-active')
8024 }
8025
8026 verificaBtnEnviarRegistroInteresseAtivo();
8027 }
8028
8029 function registroSelecionaTodosPeriodos(){
8030
8031 if($(this).is(':checked')){
8032 $('.ssp-card-registro-interesse__check-itens-content.periodos-registro-interesse input[type=checkbox]').prop('checked', true);
8033 }else{
8034 $('.ssp-card-registro-interesse__check-itens-content.periodos-registro-interesse input[type=checkbox]').prop('checked', false);
8035 }
8036
8037 verificaBtnEnviarRegistroInteresseAtivo();
8038 }
8039 $('.turmas-registro-interesse input[type=checkbox]').on('click', function() {
8040 var $selecionado = $(this);
8041 if ($selecionado.is(":checked")) {
8042 $('.turmas-registro-interesse input[type=checkbox]').prop("checked", false);
8043 $selecionado.prop("checked", true);
8044 } else {
8045 $selecionado.prop("checked", false);
8046 }
8047});
8048 function enviarRegistroInteresse(){
8049
8050 const codigoUsr = getCookie('codigo');
8051
8052 if(codigoUsr == null){
8053 //Sem o cookie refaz o login
8054 $('#modal-registro-interesse').addClass('d-none');
8055 $('body').removeClass('overflow-hidden');
8056 $('#modal-login').removeClass('d-none');
8057 return;
8058 }
8059
8060 var codigoFT = $('[name="codigoFT"]').val();
8061
8062 var unidades = new Set();
8063
8064 var diasSemana = '';
8065
8066 //Senac ao vivo nao tem opçao de dias da semana nem unidades
8067 if(isAoVivo){
8068 unidades.add(codUnidadeSenacAoVivo);
8069 }else{
8070 $.each($('.ssp-week-day').not('#todosDias'), function(k, v){
8071 if($(this).hasClass('ssp-week-day-active')){
8072 diasSemana += $(this).text()+',';
8073 }
8074 });
8075
8076 if(diasSemana.length > 0) diasSemana = diasSemana.slice(0, -1);
8077
8078 $.each($('.ssp-card-registro-interesse__select'), function(k,item){
8079
8080 unidades.add(item.value);
8081 });
8082 }
8083
8084
8085 var periodos = '';
8086
8087 $.each($('.periodos-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){
8088 if($(this).is(':checked')){
8089 periodos += $(this).val()+',';
8090 }
8091 });
8092
8093 var turmas = '';
8094
8095 $.each($('.turmas-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k, v) {
8096 if ($(this).is(':checked')) {
8097 turmas += $(this).val() + ',';
8098 }
8099 });
8100
8101 if (periodos.length > 0) periodos = periodos.slice(0, -1);
8102 if (turmas.length > 0) turmas = turmas.slice(0, -1);
8103
8104 var usuarioNotificado = false;
8105
8106 loadingSubmitButton('#enviar-registro-interesse-btn');
8107
8108 unidades.forEach(function(codigoUnidade) {
8109 var data = {
8110 codigoFT: codigoFT,
8111 codigo: codigoUsr,
8112 diasSemana: diasSemana,
8113 periodos: periodos,
8114 turmas, turmas,
8115 codigoUnidade: codigoUnidade,
8116 interesseBolsa: 'N',
8117 isEmed: isEmed ? 'S' : 'N'
8118 };
8119
8120 const url = urlRegistroInteresse;
8121
8122 $.ajax({
8123 url: url,
8124 method: 'POST',
8125 data: JSON.stringify(data),
8126 headers: {
8127 'Accept': 'application/json',
8128 'Content-Type': 'application/json'
8129 },
8130 }).done(
8131 function(retornoData) {
8132
8133 var retornoData = JSON.stringify(retornoData);
8134
8135 if (retornoData.length > 0) {
8136
8137 cleanLoadingSubmitButton('#enviar-registro-interesse-btn');
8138
8139 var retorno = JSON.parse(retornoData);
8140
8141 if (retorno.status == 200 || retorno.status == 201) {
8142
8143 //Evita que o usuário recebe um email para cada unidade de interesse
8144 if(usuarioNotificado) return;
8145
8146 //Mensagem de sucesso registro interesse
8147 $('#modal-registro-interesse-sucesso').removeClass('d-none');
8148
8149 var prefixUrl = themeDisplay.getLayoutRelativeURL();
8150
8151 if (prefixUrl.indexOf('staging/') > 1)
8152 prefixUrl = prefixUrl.substring(0, prefixUrl.lastIndexOf('staging/') + 8);
8153 else
8154 prefixUrl = HOST;
8155
8156 $('#btn-voltar-home').attr('href', prefixUrl);
8157
8158 //Busca os dados do nome do usuário logado
8159 var username = getCookie('name').split(' ')[0];
8160
8161 //Prioridade para nomeSocial
8162 if (getCookie('nome_social') != null) {
8163 var nomeSocial = getCookie('nome_social').replace(/['"]+/g, '');
8164
8165 if (nomeSocial.length > 0) username = getCookie('nome_social');
8166
8167 }
8168
8169 username = username.replace(/['"]+/g, '');
8170
8171 var unidadesSel = getUnidadesSelecionadasRI();
8172
8173 //Disara um email para o usuário interessado
8174 var data = {
8175 emailInteressado: getCookie('email'),
8176 nomeInteressado: username,
8177 tituloCurso: $('.ssp-card-detalhe-curso__title').text(),
8178 unidades: unidadesSel.unidades,
8179 unidadesPrefix: unidadesSel.unidadesPrefix
8180 };
8181
8182 $.ajax({
8183 url: urlRegistroInteresseEmailInteressado,
8184 method: 'POST',
8185 data: JSON.stringify(data),
8186 headers: {
8187 'Accept': 'application/json',
8188 'Content-Type': 'application/json'
8189 },
8190 }).done(function(retornoData) {});
8191
8192 usuarioNotificado = true;
8193
8194 window.onclick = function(event) {
8195 $('[id="modal-registro-interesse-sucesso"]').each(function(index, _modal) {
8196 if (event.target == _modal) {
8197 $('#modal-registro-interesse-sucesso').addClass('d-none');
8198 $('#modal-registro-interesse').addClass('d-none');
8199 $("body").removeClass("overflow-hidden")
8200 }
8201 });
8202 }
8203
8204 } else {
8205 //Mensagem de erro registro interesse
8206 $('#modal-registro-interesse-erro').removeClass('d-none');
8207 }
8208 } else {
8209 //Mensagem de erro registro interesse
8210 $('#modal-registro-interesse-erro').removeClass('d-none');
8211 }
8212 }).fail(function(){
8213 cleanLoadingSubmitButton('#enviar-registro-interesse-btn');
8214 $('#modal-registro-interesse-erro').removeClass('d-none');
8215 });
8216 });
8217 }
8218
8219 function verificaBtnEnviarRegistroInteresseAtivo(){
8220
8221 var diasSemanaSelecionado = false;
8222 var periodoSelecionado = false;
8223 var turmaSelecionada = false;
8224 var politicaPrivacidadeSelecionado = false;
8225
8226
8227 $.each($('.periodos-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){
8228 if($(this).is(':checked'))
8229 periodoSelecionado = true;
8230 });
8231
8232 $.each($('.turmas-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){
8233 if($(this).is(':checked'))
8234 turmaSelecionada = true;
8235 });
8236
8237 if($('#check-politica-privacidade').is(':checked')) politicaPrivacidadeSelecionado = true;
8238
8239 var ativo = true
8240
8241 //Caso tenha algum dos selects de unidade sem uma opção válida selecionada
8242 if(!isAoVivo)
8243 ativo = ativo && !Array.from($('.ssp-card-registro-interesse__select.unidades')).filter(sel => !$(sel).val()).length
8244
8245 ativo = ativo && periodoSelecionado && politicaPrivacidadeSelecionado;
8246
8247 if(!isAoVivo && !isEmed){
8248
8249 $.each($('.ssp-week-day').not('#todosDias'), function(k, v){
8250 if($(this).hasClass('ssp-week-day-active'))
8251 diasSemanaSelecionado = true;
8252 });
8253 ativo = ativo && diasSemanaSelecionado;
8254
8255 }
8256
8257 if(isEmed)
8258 ativo = ativo && turmaSelecionada;
8259
8260 if(ativo)
8261 $('#enviar-registro-interesse-btn').attr("disabled", false);
8262 else
8263 $('#enviar-registro-interesse-btn').attr("disabled", true);
8264 }
8265
8266 function loadPlanoCurso(){
8267
8268 const urlGetPlanoCurso = urlPlanoCurso
8269
8270 .replace('\{codigoFT\}', $('[name="codigoFT"]').val())
8271 .replace('\{dataEfetiva\}', $('[name="dataEfetivaSTR"]').val());
8272
8273 $.ajax({
8274 url:urlGetPlanoCurso,
8275 method:'get',
8276 crossDomain: true,
8277 dataType: 'html',
8278 success: function( data ) {
8279
8280
8281 //Atualiza o link com o plano de curso do servi¿o (ja retorna o texto)
8282 $('#plano-curso').append('<br/>'+data);
8283 },
8284 error: function(data){
8285
8286 console.log('Não existe a URL do plano de curso');
8287
8288 }
8289
8290 });
8291 }
8292
8293 function checkCursoTrampolim(){
8294 return $('[name="codigoFT"]').val() == "24493";
8295 }
8296
8297 /*function verificaOfertaValida(oferta){
8298
8299 if(oferta['precoCheioOferta'] == '' || oferta['precoVendaOferta'] == '' || oferta['numeroMaxParcelasOferta'] == '' || oferta['precoVendaMaxParcelaOferta'] == '')
8300 return false;
8301
8302 var atual = new Date();
8303
8304 var dataOfertaPartes = oferta['dataInicio'].split('/');
8305
8306 var dataOferta = new Date(dataOfertaPartes[2], dataOfertaPartes[1] - 1, dataOfertaPartes[0]);
8307
8308 var dataLimiteMatriculaOfertaPartes = "";
8309 var dataLimiteMatriculaOferta = "";
8310
8311 if(oferta['dtLimiteMatricula'] != ""){
8312 dataLimiteMatriculaOfertaPartes = oferta['dtLimiteMatricula'].split('-');
8313 dataLimiteMatriculaOferta = new Date(dataLimiteMatriculaOfertaPartes[0], dataLimiteMatriculaOfertaPartes[1] - 1, dataLimiteMatriculaOfertaPartes[2] ,atual.getHours(),atual.getMinutes(),atual.getSeconds(),atual.getMilliseconds());
8314
8315 }
8316
8317
8318 //Só deve aparecer ofertas D-1 . Se ela iniciou, aparece se o campo dtLimiteMatr estiver preenchido e com data até o dia de hoje
8319 if(dataOferta <= atual)
8320 if(dataLimiteMatriculaOferta == "" || (dataLimiteMatriculaOferta != "" && atual.getTime() > dataLimiteMatriculaOferta.getTime()))
8321 return false;
8322
8323 return true;
8324 }*/
8325
8326
8327 function loadServerDate(){
8328
8329 $.ajax({
8330 url:urlGetServerT,
8331 method:'get',
8332 dataType: 'json',
8333 cache: 'false',
8334 headers: {
8335 'Cache-Control': 'no-store, no-cache, max-age=0',
8336 'Expires': '0',
8337 'Pragma': 'no-cache'
8338 },
8339 success: function( data ) {
8340 todayG = new Date(data.year,(data.month - 1),data.day,(data.hour),data.minutes,data.seconds);
8341 startTimer();
8342 }
8343 });
8344
8345 }
8346
8347 function handleVisibilityChange() {
8348
8349 if (!document[hidden] ){
8350 restartTimer();
8351 }
8352
8353 }
8354
8355 function restartTimer(){
8356
8357 if(restartTimeout == null){
8358 loadServerDate();
8359 restartTimeout = setTimeout(function(){
8360 restartTimeout = null;
8361 }, 5000);
8362 }
8363
8364 }
8365
8366 function startTimer(){
8367
8368 var mSeconds = todayG.getTime();
8369 if(interval01 != null){
8370 clearInterval(interval01);
8371 }
8372 interval01 = setInterval(function(){
8373 todayG.setTime(todayG.getTime() + 1000);
8374 }, 1000);
8375
8376 if(interval15 != null){
8377 clearInterval(interval15);
8378 }
8379 interval15 = setInterval(function(){
8380 mSeconds = mSeconds + 15000;
8381 todayG.setTime(mSeconds);
8382 }, 15000);
8383
8384 }
8385
8386 function checkIsAoVivo(){
8387 isAoVivo = $("input[name='formato']").attr("data-formato") == nomeFormatoAoVivoDxp;
8388 }
8389
8390
8391 //Ao clicar na setinha next do slider, busca dinamicamente uma proxima oferta
8392 function buscaProximaOferta(){
8393 //Zera variável que controla existência de ofertas com bolsa
8394 //ofertasComBolsa = false;
8395
8396 //Verificamos se a ultima oferta já foi exibida, para evitar de fazer novas buscas
8397 if(carregouUltimaOferta)
8398 return;
8399
8400 //Fazemos o cálculo do que está sendo exibido, para verificar se existe apenas um card 'escondido'. Caso tenha apenas um, a busca deve ser executada, caso contrário não.
8401 var totalOfertasSlick = $('#turmas-container .slick-area__item').length;
8402 //Pegamos o índice da oferta do meio (central)
8403 var currentSliderIndex = parseInt($('.slick-current').attr('data-slick-index'));
8404
8405 var totalOfertasADireita = totalOfertasSlick - currentSliderIndex;
8406
8407 //Se o total de ofertas à direita for maior a 2 não precisa realizar a busca
8408 if(totalOfertasADireita > 2)
8409 return;
8410
8411 startOfertaParam = endOfertaParam;
8412 endOfertaParam += 16;
8413
8414 const codigoFT = $('[name="codigoFT"]').val();
8415 const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val();
8416
8417 var unidadeCategoryId = '';
8418 var unidadeCodigoSelect = '';
8419
8420 if(isAoVivo){
8421
8422 $.each(objsTela.unidades, function(k,unidade){
8423 unidadeCategoryId += unidade['categoryId']+',';
8424 });
8425
8426 //tirando ultima virgula
8427 unidadeCategoryId = unidadeCategoryId.substring(0,unidadeCategoryId.length - 1);
8428
8429 }else{
8430 var splitted = $('#unidades-ofertas').val().split("@");
8431 unidadeCategoryId = splitted[0];
8432 unidadeCodigoSelect = splitted[1];
8433 }
8434
8435 var params = new URLSearchParams();
8436 params.set('codigoFTOferta',codigoFT)
8437 params.set('dataEfetivaOferta',dataEfetivaOferta)
8438 params.set('categoryIds',unidadeCategoryId)
8439 params.set('start',startOfertaParam)
8440 params.set('end',endOfertaParam)
8441 params.set('inscricaoAberta', $('#chkInscricao').prop('checked'))
8442 params.set('bolsaAberta', $('#chkBolsa').prop('checked'))
8443 params.set('cursoArticleId', $('[name="articleId"]').val() || '');
8444
8445 if($('#chkBolsa').prop('checked')){
8446 params.set('considerarDataBolsaFutura', true)
8447 }
8448
8449 const url = urlSearchOferta + '?' + params.toString()
8450
8451 $.ajax({
8452 url:url,
8453 method:'get',
8454 dataType:'json'
8455 }).done(
8456 function(data){
8457
8458 if(data.length > 0){
8459 var indiceOferta = startOfertaParam;
8460
8461 for (var index = 0; index < data.length; index++) {
8462
8463 var ofertaJSON = data[index];
8464 var oferta = getOfertaObjectFromJson(ofertaJSON,index);
8465
8466 //Verificamos se a oferta buscada já existe na tela (que ocorre quando chega na última oferta)
8467 if($('.codigoOferta_'+oferta.codigoOferta).length > 0){
8468 console.log('Ja tem a oferta '+oferta.codigoOferta);
8469 carregouUltimaOferta = true;
8470 break;
8471 }
8472
8473 //guardo em um map a oferta e qual unidade é, para utilizar depois no populaOferta para o aoVivo
8474 ofertaUnidadeMap.set(oferta['codigoOferta'],mapUnidadesIds.get(parseInt(ofertaJSON.unidadeCategoryIds)));
8475
8476 ofertasMap.set(oferta.codigoOferta, oferta);
8477
8478 if(isAoVivo)
8479 objsTela.ofertasAoVivoTodasUnidades.push(oferta);
8480
8481 //O indice é igual ao ultimo elemento buscado - 1
8482 var i = indiceOferta;
8483 oferta['indice'] = i;
8484
8485 if(isAoVivo)
8486 codigoUnidade = ofertaUnidadeMap.get(oferta.codigoOferta);
8487 else codigoUnidade = unidadeCodigoSelect;
8488
8489
8490 montaHTMLOferta(oferta, i, codigoUnidade, true);
8491 montaHTMLModalFormaPgto(oferta, i, codigoUnidade);
8492
8493 montaHTMLModalLocalRealizacao(oferta, i);
8494 montaHTMLModalAntesCompra(oferta, i, codigoUnidade);
8495 verificaBotaoBolsaSS(oferta);
8496 verificaCursoAprendizagem(i);
8497 verificaCursoTrampolim(i);
8498
8499 associaEventoBtnFormaPagamento(i);
8500 associaEventoBtnComprar(i);
8501 associaEventoBtnComprarDentroFormaPgto(i);
8502 associaEventoBtnLocalRealizacao(i);
8503 associaEventosFecharModal(i);
8504
8505 if($('[name="tipoCurso"]').val() == 'extensao'){
8506 associaEventoBtnConheca(i);
8507 associaEventoBtnComprarConhecaDescontoOk(i);
8508 associaEventoBtnComprarConhecaDescontoNot(i);
8509 associaEventoBtnAlunoNao(i);
8510 associaEventoBtnAlunoSim(i);
8511
8512 }
8513
8514 indiceOferta++;
8515 }
8516
8517 controlaPaginaBolsa();
8518 }
8519 }
8520 );
8521
8522 }
8523
8524 function setUrlParam(key, value) {
8525 const url = new URL(window.location.href)
8526
8527 if(value)
8528 url.searchParams.set(key, value);
8529 else
8530 url.searchParams.delete(key);
8531
8532 window.history.pushState({}, '', url.toString())
8533 }
8534
8535 function selectFilter(paramkey, el) {
8536 setUrlParam(paramkey, el.prop("checked"))
8537 const currentUnidadeFriendlyURLSelected = $('#unidades-ofertas').find('option').filter(':selected').attr('data-unidade-friendly-url')
8538 loadUnidades(!isAoVivo, $('[data-unidade-friendly-url="' + currentUnidadeFriendlyURLSelected + '"]').val())
8539
8540 if($('#chkInscricao').prop("checked") || $('#chkBolsa').prop("checked")) $('#msgFiltroAplicado').show()
8541 else $('#msgFiltroAplicado').hide()
8542 }
8543
8544 function defineCurrentUrl(ev) {
8545 const currentUnidadeFriendlyURLSelected = $(ev.target).find('option').filter(':selected').attr('data-unidade-friendly-url')
8546
8547 const hasPathWeb = window.location.pathname.includes('/web')
8548 const hasPathGuest = window.location.pathname.includes('/guest')
8549
8550 let currentPath = window.location.pathname
8551 currentPath = hasPathWeb ? currentPath.substring(4) : currentPath
8552 currentPath = hasPathGuest ? currentPath.substring(6) : currentPath
8553
8554 objsTela.unidadesRegistroInteresse.forEach(unidade => currentPath = currentPath.replace('/' + unidade.friendlyURL, ''))
8555
8556 currentPath = (currentUnidadeFriendlyURLSelected ? '/' + currentUnidadeFriendlyURLSelected : '') + currentPath
8557 currentPath = hasPathGuest ? '/guest' + currentPath : currentPath
8558 currentPath = hasPathWeb ? '/web' + currentPath : currentPath
8559
8560 if(keepURL())
8561 window.history.replaceState(window.history.state, '', currentPath + window.location.search)
8562 }
8563
8564 let isKeepURL = true
8565 /** Verifica se é para manter a URL atual. Isso deve acontecer somente ao iniciar a página #9674 */
8566 function keepURL() {
8567 const aux = isKeepURL
8568 isKeepURL = false
8569 return !aux
8570 }
8571
8572 loadServerDate();
8573 $(document).ready(function(){
8574
8575 if("${normalizedCategoryName}" == "graduacao" || "${normalizedCategoryName}" == "pos-graduacao"){
8576 document.location.href = '/erro-404'
8577 }
8578
8579 ehCursoTrampolim = checkCursoTrampolim();
8580 checkIsAoVivo();
8581 loadPlanoCurso();
8582 loadCursosVocePodeGostar();
8583
8584 if(!isAoVivo) {
8585 $('#unidades-ofertas').change(ev => {
8586 mudarUnidade(ev)
8587 defineCurrentUrl(ev)
8588 });
8589 }
8590
8591 const urlParams = new URLSearchParams(window.location.search)
8592 $('#chkInscricao').prop("checked", urlParams.get('inscricao') == 'true')
8593 $('#chkInscricao').change(ev => selectFilter('inscricao', $('#chkInscricao')) )
8594
8595 if($('#chkBolsa').length) {
8596 $('#chkBolsa').prop("checked", urlParams.get('bolsa') == 'true')
8597 $('#chkBolsa').change(ev => selectFilter('bolsa', $('#chkBolsa')) )
8598 loadUnidades(!isAoVivo);
8599 } else {
8600 selectFilter('bolsa', $('#chkBolsa'))
8601 }
8602
8603 //Função para Montar breadcrumb Mobile
8604
8605 function breadcrumbMobile(){
8606
8607 const linkEl = $('.ssp-card-detalhe-curso__secunday-info-back-link');
8608
8609 if ( $.trim(linkEl.html()) === 'Técnico'){
8610
8611 linkEl.attr("href", "/cursos-tecnicos");
8612
8613 } else if ( $.trim(linkEl.html()) === 'Livre'){
8614
8615 if(isAoVivo){
8616 linkEl.html('Senac Online<i class="fas fa-signal-stream icon-ao-vivo" aria-hidden="true"></i>ao vivo')
8617 linkEl.attr("href", "/cursos-livres-senac-online-ao-vivo");
8618 }else{
8619 linkEl.attr("href", "/cursos-livres");
8620 }
8621 } else if ( $.trim(linkEl.html()) === 'Aprendizagem'){
8622
8623 linkEl.attr("href", "/jovem-aprendiz");
8624
8625 }else if ( $.trim(linkEl.html()) === 'Extensão Universitária'){
8626
8627 linkEl.attr("href", "/extensao-universitaria");
8628
8629 }else if ( $.trim(linkEl.html()) === 'Ensino Médio Técnico'){
8630
8631 linkEl.attr("href", "/ensino-medio-tecnico");
8632 }
8633
8634 }
8635
8636 breadcrumbMobile()
8637
8638 //Esconde elementos quando o curso é aprendizagem
8639 if($('[name="codigoFT"]').val() == codigoFTCursoAprendizagem){
8640 $('.ssp-section-novas-turmas').remove();
8641 $("div[class^='botoes-oferta-container_']").remove();
8642 }
8643
8644 //retira os itens de dentro do container
8645 $('.bg-').css('background-color','#e4e4e4')
8646 $('.container.py-3').removeClass('container py-3')
8647 //ajuste para versao 7.4
8648 $('.lfr-layout-structure-item-container.container-fluid.container-fluid-max-xl').removeClass()
8649
8650
8651 //Fecha modal registro de interesse
8652
8653 $('#btn-close-Modal-registro-interesse').click(function(){
8654
8655 $('#modal-registro-interesse').addClass('d-none')
8656 $("body").removeClass("overflow-hidden")
8657
8658 })
8659
8660 $( "#modal-registro-interesse" ).click( function(event) {
8661
8662
8663
8664 if(event.target.id==$('#modal-registro-interesse')[0].id){
8665 $(this).addClass('d-none')
8666 }
8667
8668 });
8669
8670
8671 //Aviso sobre interesse em turmas
8672 $('.ssp-card-registro-interesse').on('click', '#enviar-registro-interesse-btn', enviarRegistroInteresse);
8673 if(!isEmed){
8674 $('.ssp-aviso-novas-turmas__content').on('click', '#btn-aviso-novas-turmas', avisoNovasTurmas);
8675 $('.ssp-card-registro-interesse').on('click', '#todosDias', registroSelecionaTodosDias);
8676 } else {
8677 $('.ssp-emed__card-slider-body').on('click', '#btnOptin', avisoNovasTurmas)
8678 }
8679 $('#div-campo-todos').on('change', 'input[type=checkbox]', registroSelecionaTodosPeriodos);
8680
8681 $('#btnLogin').click(function(){
8682
8683 login()
8684
8685 });
8686
8687 $('#btn-close-loginModal').click(function(){
8688 $('#modal-login').addClass('d-none')
8689 });
8690
8691 $('.ssp-week-day').not('#todosDias').click(function(){
8692
8693 $(this).toggleClass('ssp-week-day-active');
8694 verificaBtnEnviarRegistroInteresseAtivo();
8695
8696 });
8697
8698 $('#add-unidade-regsitro-interesse').click(function(e){
8699 var element = $('.ssp-card-registro-interesse__select.unidades').first().clone();
8700 element.empty();
8701 element.append('<option value="" disabled selected>Selecione uma unidade</option>')
8702 $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){
8703
8704 if(!unidade['selecionado']){
8705 element.append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>');
8706 }
8707
8708 });
8709 element.change(changeSelectUnidades)
8710
8711
8712 element.css('margin-top', '10px');
8713
8714 if(element.find("option").length > 1 && $('.ssp-card-registro-interesse__select.unidades').length < objsTela.unidadesRegistroInteresse.length){
8715 element.attr("id", "select_" + cntSelectUnidades++)
8716 $('#select-unidades-registro-interesse').append(element);
8717 }
8718
8719 if($('.ssp-card-registro-interesse__select.unidades').length == objsTela.unidadesRegistroInteresse.length){
8720 $('#add-unidade-regsitro-interesse').addClass("d-none")
8721 }
8722
8723 verificaBtnEnviarRegistroInteresseAtivo();
8724 });
8725
8726 $('#remove-unidade-regsitro-interesse').click(function(e){
8727
8728 if($('.ssp-card-registro-interesse__select').length > 1){
8729
8730 var element = $('.ssp-card-registro-interesse__select').last();
8731
8732 var valueSelecionado = element.val();
8733
8734 $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){
8735
8736 if(unidade['selecionado'] && unidade['codigoUnidade'] == valueSelecionado){
8737 unidade['selecionado'] = false;
8738 unidade['selectSelecionado'] = "";
8739 }
8740
8741 });
8742 element.val("");
8743 cntSelectUnidades--;
8744 element.change()
8745
8746 element.remove();
8747 }
8748
8749 if($('.ssp-card-registro-interesse__select.unidades').length < objsTela.unidadesRegistroInteresse.length){
8750 $('#add-unidade-regsitro-interesse').removeClass("d-none")
8751 }
8752
8753 verificaBtnEnviarRegistroInteresseAtivo();
8754 })
8755
8756 $('.ssp-card-registro-interesse__check-item').on('change', 'input[type=checkbox]', function(){
8757 verificaBtnEnviarRegistroInteresseAtivo();
8758 });
8759
8760 //Contador em ofertas de bolsas proximas
8761 var cancel = setInterval(atualizaTempoAberturasBolsas, 1000);
8762
8763 // Manipua o breadcrumb para as regras do Senac
8764
8765 if($('ol.breadcrumb').find('li:first').text().trim() == "Cursos Pai")
8766 $('ol.breadcrumb').find('li:first').remove();
8767
8768 var li = $('ol.breadcrumb').find('li:first');
8769
8770 if(li.text().trim() == 'Cursos'){
8771
8772 var primeiro = li.clone();
8773 primeiro.html(htmlBreadcrumb('/', 'Cursos', 'Home'));
8774 li.parent().prepend(primeiro);
8775
8776 var tipoCurso = $('.ssp-header-curso__tag-formato').text().trim();
8777 var tipoBreadcrumb = '';
8778
8779 const isPresencialEad = (tipoCurso.toLowerCase().includes("presencial + ead"))
8780
8781 if(tipoCurso.includes("Cursos Livres")){
8782 if(isPresencialEad) {
8783 tipoBreadcrumb = htmlBreadcrumb('/presencial-ead#cursos-livres', tipoCurso);
8784 } else {
8785 tipoBreadcrumb = htmlBreadcrumb(
8786 isAoVivo ? '/cursos-livres-senac-online-ao-vivo' : '/cursos-livres',
8787 isAoVivo ? nomeFormatoAoVivoDxp : tipoCurso);
8788 }
8789 }else if(tipoCurso.includes("Extensão")){
8790 if(isPresencialEad) {
8791 tipoBreadcrumb = htmlBreadcrumb('/presencial-ead#extensao-universitaria', tipoCurso);
8792 } else {
8793 tipoBreadcrumb = htmlBreadcrumb('/extensao-universitaria', tipoCurso);
8794 }
8795 }else if(tipoCurso.includes("Ensino Médio Técnico")){
8796 if(isPresencialEad) {
8797 tipoBreadcrumb = htmlBreadcrumb('/presencial-ead#ensino-medio-tecnico', tipoCurso);
8798 } else {
8799 tipoBreadcrumb = htmlBreadcrumb('/ensino-medio-tecnico', tipoCurso);
8800 }
8801 }else if(tipoCurso.includes("Jovem Aprendiz")){
8802 if(isPresencialEad) {
8803 tipoBreadcrumb = htmlBreadcrumb('/presencial-ead#jovem-aprendiz', tipoCurso);
8804 } else {
8805 tipoBreadcrumb = htmlBreadcrumb('/jovem-aprendiz', tipoCurso);
8806 }
8807 }else{
8808 if(isPresencialEad) {
8809 tipoBreadcrumb = htmlBreadcrumb('/presencial-ead#cursos-tecnicos', tipoCurso);
8810 } else {
8811 tipoBreadcrumb = htmlBreadcrumb('/cursos-tecnicos', tipoCurso);
8812 }
8813 }
8814
8815 li.html(tipoBreadcrumb);
8816
8817 if($('ol.breadcrumb').find('li').length == 4) $('ol.breadcrumb').find('li:last').remove();
8818
8819 }
8820
8821 $('#turmas-container').on('click', 'a.slick-next', function(e){
8822
8823 e.preventDefault();
8824 buscaProximaOferta();
8825
8826 });
8827
8828 $('#turmas-container').on('click', 'button.slick-dots', function(){
8829
8830
8831
8832 });
8833
8834 $(".next-mobile").on("click",function(e){
8835 e.preventDefault();
8836
8837 acoesMobileSliderOfertas("left");
8838 });
8839
8840 $(".prev-mobile").on("click",function(e){
8841 e.preventDefault();
8842
8843 acoesMobileSliderOfertas("right");
8844 });
8845
8846 //ação de drag do card de ofertas no mobile
8847 $('.oferta-slick-area').on('swipe', function(event, slick, direction){
8848 acoesMobileSliderOfertas(direction);
8849 });
8850
8851 loadAlternadores()
8852 let modalFormAprendizagem = document.querySelector('[data-modal="modal"]')
8853 if(modalFormAprendizagem){
8854 // Create dinamic close buttom form
8855 let btnCloseModalForm = document.querySelector('[data-modal="close-form-modal"]')
8856
8857 btnCloseModalForm.addEventListener('click',closeModalFormAprendizagem)
8858
8859 }
8860
8861 $(".oferta-slick-area").on("click", ".btnModalAprendizagem", function (){
8862 openModalFormAprendizagem();
8863 })
8864
8865 });
8866
8867 function htmlBreadcrumb(link, title, display){
8868
8869 return '<a class="breadcrumb-link" href="'+link+'" title="'+title+'"><span class="breadcrumb-text-truncate">'+(display || title)+'</span></a>';
8870
8871 }
8872
8873 function acoesMobileSliderOfertas(direcao){
8874
8875 if(direcao == "right"){
8876 $("a.slick-prev").click();
8877
8878 if($('.slick-current').attr('data-slick-index') == "0")
8879 $('.prev-mobile').addClass('nextPrevOpacity');
8880
8881 if($(".next-mobile").hasClass('nextPrevOpacity'))
8882 $('.next-mobile').removeClass('nextPrevOpacity');
8883 }
8884
8885
8886 if(direcao == "left"){
8887 $("a.slick-next").click();
8888
8889 if($(".prev-mobile").hasClass('nextPrevOpacity'))
8890 $('.prev-mobile').removeClass('nextPrevOpacity');
8891
8892 if(carregouUltimaOferta){
8893 var totalCardOfertas = $('#turmas-container .slick-area__item').length;
8894 var currentSliderIndex = parseInt($('.slick-current').attr('data-slick-index'));
8895
8896 //o card do meio é o último
8897 if(totalCardOfertas == (currentSliderIndex + 1))
8898 $('.next-mobile').addClass('nextPrevOpacity');
8899 }
8900 }
8901 }
8902
8903 //habilitar/desabilitar registro de interesse
8904 function habilitarRegistroInteresse(habilitar){
8905 var sectionRI = $('#section-registro-interesse')
8906
8907 if(isEmed) {
8908 sectionRI.hide()
8909 return;
8910 }
8911
8912 //Redmine #9309 - sempre irá mostrar
8913 habilitar = true
8914
8915 if(habilitar) sectionRI.show()
8916 else sectionRI.hide()
8917 }
8918
8919 function abrirModalRegistroInteresse(codUnidadeSelect){
8920 $('#modal-registro-interesse').removeClass('d-none');
8921 $("body").addClass("overflow-hidden")
8922 if(!isEmed){
8923 $('.ssp-card-registro-interesse__nome-curso').text($('.ssp-card-detalhe-curso__title').text());
8924 } else {
8925 $(".transferencia-emed-link").find('a').attr("href", "/ensino-medio-tecnico#onde-estudar")
8926 $('.ssp-card-registro-interesse__title-modal').text($('.ssp-card-detalhe-curso__title').text());
8927 }
8928
8929 $('.ssp-card-registro-interesse__select:not(#select_0)').remove();
8930 $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){
8931 if(unidade['codigoUnidade'] == codUnidadeSelect){
8932 unidade['selecionado'] = true;
8933 unidade['selectSelecionado'] = 'select_0';
8934 } else {
8935 unidade['selecionado'] = false;
8936 unidade['selectSelecionado'] = "";
8937 }
8938
8939 });
8940 objsTela.unidadesRegistroInteresse.sort(function (a, b) {
8941 return ordenar(a, b, 'nome');
8942 });
8943
8944 $('#select_0').empty();
8945 $('#select_0').append('<option value="" disabled>Selecione uma unidade</option>')
8946 $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){
8947
8948 $('#select_0').append('<option value="'+unidade['codigoUnidade']+'" >'+unidade['nome']+'</option>');
8949
8950 });
8951 $('#select_0').val(codUnidadeSelect);
8952 console.dir(objsTela.unidadesRegistroInteresse)
8953 if(isAoVivo){
8954 $('#unidades-registro-interesse, #dias-registro-interesse').addClass('d-none');
8955 }
8956 if(objsTela.unidadesRegistroInteresse.length > 1) {
8957 $('#add-unidade-regsitro-interesse').removeClass("d-none")
8958 $('#add-unidade-regsitro-interesse').show()
8959 $('#remove-unidade-regsitro-interesse').show()
8960 } else {
8961 $('#add-unidade-regsitro-interesse').hide()
8962 $('#remove-unidade-regsitro-interesse').hide()
8963 }
8964 }
8965
8966 $('.ssp-card-registro-interesse__select.unidades').on('change', changeSelectUnidades)
8967
8968 function changeSelectUnidades() {
8969 var codUnidadeSelecionada = $(this).val();
8970 var idSelectSelecionado = $(this).attr('id')
8971 $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){
8972 if(unidade['codigoUnidade'] == codUnidadeSelecionada){
8973 unidade['selecionado'] = true;
8974 unidade['selectSelecionado'] = idSelectSelecionado;
8975 } else if(unidade['selectSelecionado'] == idSelectSelecionado && unidade['selecionado']){
8976 unidade['selecionado'] = false;
8977 unidade['selectSelecionado'] = "";
8978 }
8979
8980 });
8981
8982 objsTela.unidadesRegistroInteresse.sort(function (a, b) {
8983 return ordenar(a, b, 'nome');
8984 });
8985
8986 $('.ssp-card-registro-interesse__select.unidades:not(#'+idSelectSelecionado+')').each(function() {
8987 var valueSelecionado = $(this).val();
8988 var idActualSelect = $(this).attr('id');
8989 $(this).empty();
8990 $(this).append('<option value="" disabled>Selecione uma unidade</option>')
8991 $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){
8992
8993 if(unidade['selecionado'] && unidade['codigoUnidade'] == valueSelecionado){
8994 $("#"+idActualSelect).append('<option value="'+unidade['codigoUnidade']+'" >'+unidade['nome']+'</option>');
8995 }else if(!unidade['selecionado']){
8996 $("#"+idActualSelect).append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>');
8997 }
8998
8999 });
9000 $(this).val(valueSelecionado)
9001 });
9002
9003 verificaBtnEnviarRegistroInteresseAtivo();
9004 }
9005
9006
9007 function ordenar(objA, objB, nomeAtributo){
9008 let a = (nomeAtributo) ? objA[nomeAtributo] : objA;
9009 let b = (nomeAtributo) ? objB[nomeAtributo] : objB;
9010
9011 return a.toString().localeCompare(b.toString());
9012 }
9013
9014 function paramOrdem(xml){
9015 if(isEmed){
9016 var ordemPeriodo = ['MA', 'TA', 'NO'];
9017 return $.inArray(xml.find('[name="periodoDiaOferta"]').text().trim(), ordemPeriodo);
9018 }else{
9019 return xml.find('[name="dataInicioOferta"]').text();
9020 }
9021 }
9022
9023 function getEtapaSelecionadaEmed(){
9024 var btnEtapa = $('.ssp-ofertas-emed__filtro-content .btn--filtro-ativo');
9025 if(!btnEtapa) return '';
9026 return btnEtapa.val();
9027 }
9028
9029 function filtraOfertasEtapa(etapa, ofertas){
9030 if(!etapa) return [];
9031 var ofertasEtapa = [];
9032 var turmas = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
9033 var periodos = {['MA'] : 'Manhã', ['TA'] : 'Tarde', ['NO'] : 'Noite'};
9034 var ultimoPeriodo = null, indexPeriodo;
9035 ofertas = ofertas.sort(function(a, b){
9036 return ordenar(a, b, 'periodoDiaOferta');
9037 });
9038
9039 $.each(ofertas, async (index, oferta)=> {
9040 if(oferta['etapa'] == etapa){
9041 if(oferta['periodoDiaOferta'] != ultimoPeriodo) indexPeriodo = 0;
9042 ultimoPeriodo = oferta['periodoDiaOferta'];
9043 oferta['titulo'] = 'Turma ' + turmas[indexPeriodo++] + ' - ' + (periodos[ultimoPeriodo] || '');
9044 ofertasEtapa.push(oferta);
9045 }
9046 });
9047
9048 return ofertasEtapa;
9049 }
9050
9051 function formatarDataEmed(data, etapa, isDataFim){
9052
9053 try{
9054
9055 var splitdata = data.split('/');
9056 var meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
9057 var mes = meses[parseInt(splitdata[1])-1];
9058
9059 var ano = splitdata[2];
9060
9061 if(isDataFim){
9062 ano = parseInt(splitdata[2]);
9063 }
9064
9065 return mes + '/' + ano;
9066 }catch(err){
9067 return data;
9068 }
9069
9070 }
9071
9072 //EMED Mobile
9073 function sliderOfertasEmed(){
9074
9075 var tamScreen = $(window).width();
9076 if(tamScreen < 1024){
9077 $('.ssp-slick-ofertas-emed').slick({
9078 slidesToShow: 1,
9079 slidesToScroll: 1,
9080 dots: false,
9081 infinite: false,
9082 adaptiveHeight: true,
9083 prevArrow:'<button class="btn slick-prev" type="button"><i class="fal fa-chevron-left"></i><span class="sr-only">Anterior</span></button>',
9084 nextArrow:'<button class="btn slick-next" type="button"><i class="fal fa-chevron-right"></i><span class="sr-only">Próximo</span></button>',
9085 responsive: [
9086
9087 {
9088 breakpoint: 1200,
9089 settings: {
9090 slidesToShow: 1,
9091 slidesToScroll: 1,
9092 prevArrow: '<button class="btn slick-prev ssp-slider-control-mobile__item-prev"><i class="fal fa-chevron-left mr-1"></i><span>Anterior</span></button>',
9093 nextArrow: '<button class="btn slick-next ssp-slider-control-mobile__item-next"><span>Próximo</span><i class="fal fa-chevron-right ml-1"></i></button>',
9094
9095 }
9096 },
9097 {
9098 breakpoint: 768,
9099 settings: {
9100 slidesToShow: 1,
9101 slidesToScroll: 1,
9102 prevArrow: '<button class="btn slick-prev ssp-slider-control-mobile__item-prev"><i class="fal fa-chevron-left mr-1"></i><span>Anterior</span></button>',
9103 nextArrow: '<button class="btn slick-next ssp-slider-control-mobile__item-next"><span>Próximo</span><i class="fal fa-chevron-right ml-1"></i></button>',
9104 }
9105 }
9106
9107 ]
9108
9109 });
9110
9111 }
9112
9113 }
9114
9115function addItemBackpack(codOferta, originElemSelector, codUnidade, dataEfetiva){
9116
9117 let backpackPostRequest = {};
9118 backpackPostRequest.codOferta = codOferta;
9119 backpackPostRequest.codUnidade = codUnidade;
9120 backpackPostRequest.dt_efetiva = dataEfetiva;
9121
9122
9123 mochila.requestAccess(function(backpackPostRequest){
9124
9125 let urlMochila = '/o/senac-backpack-services/backpack';
9126
9127 if(getCookie("codMochila") != null){
9128 backpackPostRequest.codMochila = getCookie("codMochila");
9129 urlMochila = '/o/senac-backpack-services/updateBackpack';
9130 }
9131 $.ajax({
9132 type: 'POST',
9133 url: urlMochila,
9134 headers: {
9135 "Content-Type":"application/json"
9136 },
9137 beforeSend: function(xhr){
9138 xhr.setRequestHeader("Authorization", "Bearer " + getCookie("tokenMochila"));
9139 loadingSubmitButton(originElemSelector);
9140 $(originElemSelector + ' .loading-icon-button').css('height', 'unset');
9141 if($(window).width() < 1024){
9142 $(originElemSelector + ' .loading-icon-button span').css('margin-left', '10%');
9143 }
9144 },
9145 data : JSON.stringify(backpackPostRequest)
9146 }).done(function(data) {
9147
9148 let domain = '';
9149 if(getAmbiente() == 'hom' || getAmbiente() == 'prod')
9150 domain = '.sp.senac.br';
9151
9152 writeCookie(
9153 'codMochila',
9154 (getCookie("codMochila") == null) ? data.backpackCode : JSON.parse(data).backpackCode,
9155 24,
9156 domain
9157 );
9158 addItemSuccessMochila();
9159
9160 }).fail(function(xhr, status, error) {
9161
9162 $('#modal-backpack-error').removeClass('d-none');
9163
9164 }).always(function(){
9165
9166 cleanLoadingSubmitButton(
9167 originElemSelector,
9168 originElemSelector.indexOf('backpack') > 0 ? 'OK, desejo comprar' : 'COMPRAR'
9169 );
9170 $('[id^="modalAntesCompra_"]').each(function(index, modal) {
9171 modal.style.display = "none";
9172 });
9173
9174 });
9175
9176 }, backpackPostRequest);
9177
9178}
9179
9180function componentBuyConfirmation(codigoUnidade, oferta, dataEfetiva){
9181
9182 var comp = null;
9183
9184 if((oferta.destinoCompra !== null) && oferta.destinoCompra == "2"){
9185
9186 comp = $("<button>")
9187 .addClass("btn btn-lg btn-success w-100 mt-3 btn-backpack")
9188 .attr("offerCode",oferta.codigoOferta)
9189 .attr("unitCode",codigoUnidade)
9190 .attr("effectiveDate",dataEfetiva)
9191 .text("OK, desejo comprar");
9192
9193 }else {
9194
9195 comp = $("<a>")
9196 .addClass("btn btn-lg btn-success w-100 mt-3")
9197 .text("OK, desejo comprar")
9198 .attr("href", linkBotaoCompra.replace('\{codigoUnidade\}', codigoUnidade).replace('\{codigoOferta\}', oferta.codigoOferta))
9199 .attr("target","_blank");
9200 }
9201
9202 comp.attr('id', 'btnCompraLocal_' + oferta.indice);
9203
9204 return comp[0].outerHTML;
9205
9206}
9207
9208function getUnidadesSelecionadasRI(){
9209 var unidadesRI = [];
9210
9211 try{
9212
9213 $('#select-unidades-registro-interesse').find('select').each((i,select) =>{
9214 var unidadeSel = select.selectedOptions[0].innerText;
9215 if(!unidadesRI.includes(unidadeSel)) unidadesRI.push(unidadeSel);
9216 });
9217
9218 var unidadesExt = unidadesRI.join(', ');
9219
9220 const lastIndex = unidadesExt.lastIndexOf(',');
9221
9222 if(lastIndex > 0) unidadesExt = unidadesExt.substring(0, lastIndex) + ' ou ' + unidadesExt.substring(lastIndex + 1);
9223
9224 return {
9225 'unidadesPrefix' : (unidadesRI.length > 1 ? ', nas unidades ' : (unidadesRI.length == 1 ? ', na unidade ' : '')),
9226 'unidades' : unidadesExt
9227 };
9228
9229 }catch(err){
9230
9231 return {
9232 'unidadesPrefix' : '',
9233 'unidades' : ''
9234 };
9235
9236 }
9237
9238 }
9239
9240
9241
9242
9243function addItemSuccessMochila(){
9244
9245 mochila.check();
9246 $('#modal-backpack-success__nome-curso').html($('.ssp-card-detalhe-curso__title').text());
9247 $('#modal-backpack-success').removeClass('d-none');
9248
9249}
9250
9251$(document).on('click', '.btn-backpack', function(e){
9252
9253 addItemBackpack(event.target.getAttribute("offerCode"), '.btn-backpack',event.target.getAttribute("unitCode"),event.target.getAttribute("effectiveDate"));
9254
9255});
9256
9257$('#btn-voltar-modal-backpack-error').click(function () {
9258 $('#modal-backpack-error').addClass('d-none');
9259});
9260
9261$('#btn-voltar-modal-backpack-error').click(function () {
9262 $('#modal-backpack-error').addClass('d-none');
9263});
9264
9265$('.btn-mochila-continuar-site-success, .modal-btn-close').click(function () {
9266 $('#modal-backpack-success').addClass('d-none');
9267});
9268
9269$('.btn-mochila-finalizar-compra-success').click(function () {
9270 // Montar object push - google tag manager - 6
9271 sendEventEcommerce("begin_checkout", ofertaSelecionada);
9272
9273 mochila.verificaLogin();
9274 $('#modal-backpack-success').addClass('d-none');
9275 $('[id^="myModal_"]').each((i,modal)=>modal.style.display = "none");
9276});
9277
9278 function closeModalFormAprendizagem(){
9279 let modal = document.querySelector('[data-modal="modal"]')
9280
9281 modal.classList.remove('open-modal-form')
9282
9283 }
9284
9285
9286 function openModalFormAprendizagem(){
9287 let modal = document.querySelector('[data-modal="modal"]')
9288
9289 modal.classList.add('open-modal-form')
9290
9291 }
9292
9293 function addEventBolsa() {
9294 // Mostra o preco
9295 const btnShowPrices = document.querySelectorAll('.btn-show-price')
9296
9297 btnShowPrices.forEach(btnShowPrice => btnShowPrice.addEventListener('click',togglePriceCard))
9298
9299 if(!$('#chkBolsa').prop('checked'))
9300 togglePriceCard()
9301 }
9302
9303 function togglePriceCard(selector){
9304 if(selector instanceof PointerEvent) return
9305
9306 if(!selector) selector = ''
9307 else selector = '.' + selector
9308
9309 const btnPrices = document.querySelectorAll('.show-price-content'+selector)
9310 const contentPrices = document.querySelectorAll('.content-valores-descontos'+selector)
9311 const contentBtnBolsas = document.querySelectorAll('.content-btn-bolsa'+selector)
9312
9313 btnPrices.forEach(btnPrice => btnPrice.classList.toggle('hide'))
9314 contentBtnBolsas.forEach(contentBtnBolsa => contentBtnBolsa.classList.toggle('modifier-content-show'))
9315 contentPrices.forEach(contentPrice => contentPrice.classList.toggle('hide-price'))
9316 }
9317
9318 function getRegiaoName(key) {
9319 switch (key) {
9320 case "C":
9321 return "Capital";
9322 case "I":
9323 return "Interior";
9324 case "GS":
9325 return "Grande São Paulo e Litoral";
9326 default:
9327 return "Sem Região";
9328 }
9329 }
9330
9331 function criarOptionUnidadesPorRegiao(unidades) {
9332 let regioes = {}
9333 let unidadeFounded
9334
9335 unidades.forEach(unidade => {
9336 if(!regioes[unidade.codRegiaoUnidade || 'N'])
9337 regioes[unidade.codRegiaoUnidade || 'N'] = []
9338
9339 regioes[unidade.codRegiaoUnidade || 'N'].push(unidade)
9340 })
9341
9342 Array.from(['C', 'I', 'GS', 'N'])
9343 .filter(key => Object.keys(regioes).includes(key))
9344 .forEach(key => {
9345 const unidadesDaRegiao = regioes[key]
9346
9347 const optionDisabled = $('<option>')
9348 optionDisabled.attr('label', getRegiaoName(key))
9349 optionDisabled.text(getRegiaoName(key));
9350 optionDisabled.attr('disabled', true)
9351 optionDisabled.addClass('ssp-option-group')
9352 $('#unidades-ofertas').append(optionDisabled)
9353
9354 $.each(unidadesDaRegiao, function(k,unidade){
9355 if($('#unidades-ofertas').find('[value="'+unidade['categoryId']+'"]').length == 0){
9356 var option = $('<option>');
9357 option.val(unidade['categoryId']+"@"+unidade['codigoUnidade']);
9358 option.text(unidade['nome']);
9359 option.attr('data-unidade-friendly-url', unidade.friendlyURL)
9360 option.addClass('ssp-option')
9361
9362 $('#unidades-ofertas').append(option);
9363
9364 unidadeFounded = !unidadeFounded && getURLData().includes('/'+unidade.friendlyURL+'/') ? unidade : unidadeFounded
9365 }
9366 })
9367 })
9368
9369 return unidadeFounded
9370 }
9371
9372 function getURLData() {
9373 return URLGeral.replace(HOST, '')
9374 }
9375
9376 /**
9377 * Copia um objeto JSON
9378 */
9379 function cloneObj(original) {
9380 return JSON.parse(JSON.stringify(original));
9381 }
9382
9383 function getUrlConsultaBolsa(oferta){
9384
9385 let url = '';
9386 if (isAmbienteTeste()) {
9387 if(oferta.destinoBolsa=='1') {
9388 url = 'https://hwse.sp.senac.br/rest/wss/cursos/bolsa/v1/?COD_EVENTO='+oferta.codigoOferta
9389 } else {
9390 url = 'https://hom-wse-bolsas.sp.senac.br/api/cursos/bolsa/v1/'+oferta.codigoOferta;
9391 }
9392 } else {
9393 if(oferta.destinoBolsa=='1') {
9394 url = 'https://wse.sp.senac.br/rest/wss/cursos/bolsa/v1/?COD_EVENTO='+oferta.codigoOferta
9395 } else {
9396 url = 'https://wse-bolsas.sp.senac.br/api/cursos/bolsa/v1/'+oferta.codigoOferta;
9397 }
9398
9399 }
9400
9401 return url;
9402 }
9403
9404 function execCompraEmed(oferta){
9405
9406 let linkInscricaoEmed, linkInscricaoEmedHml, acadProg;
9407 if(oferta.etapa == '0010'){
9408 linkInscricaoEmed = 'https://www.sp.senac.br/login/Login?destino=https://inscricao-educacional-ms.sp.senac.br/?oferta={codOferta}';
9409 linkInscricaoEmedHml = 'https://gesportal.sp.senac.br/login/Login?destino=https://hinscricao-educacional-backend.sp.senac.br/?oferta={codOferta}';
9410 acadProg = null;
9411 }else{
9412 linkInscricaoEmed = 'https://www.sp.senac.br/login/Login?destino=https://inscricao-emed.sp.senac.br?course={acad_prog}&unity={codUnidade}&shift={periodo}&step={etapa}&oferta={codOferta}';
9413 linkInscricaoEmedHml = 'https://gesportal.sp.senac.br/login/Login?destino=https://hinscricao-emed.sp.senac.br?course={acad_prog}&unity={codUnidade}&shift={periodo}&step={etapa}&oferta={codOferta}';
9414 acadProg = ()=>{
9415 //Codigo FT + Data Efetiva(ymd) : AcadProg
9416 const acadProgMap = {
9417 ['2478820220101'] : '08202',
9418 ['2363020210101'] : '07325',
9419 ['2362920210101'] : '07326',
9420 ['2097420210101'] : '05918'
9421 }
9422 var key = $('[name="codigoFT"]').val() + $('[name="dataEfetivaSTR"]').val().replace(/-/g, '');
9423 return acadProgMap[key] || '';
9424 }
9425 }
9426
9427 var ambTeste = ['localhost', 'hom', 'dev'];
9428 var link = linkInscricaoEmed;
9429 $.each(ambTeste, function(i, a){
9430 if(location.hostname.indexOf(a) >= 0){
9431 link = linkInscricaoEmedHml;
9432 return false;
9433 }
9434 });
9435
9436 // Montar object push - google tag manager - 3
9437 ofertaSelecionada = itensEcommerce.get(oferta.codigoOferta)
9438 sendEventEcommerce("select_item", ofertaSelecionada);
9439 sendEventEcommerce("view_item", ofertaSelecionada);
9440 sendEventEcommerce("add_to_cart", ofertaSelecionada);
9441 sendEventEcommerce("begin_checkout", ofertaSelecionada);
9442
9443 var urlCompra = link.replace('\{acad_prog\}', acadProg)
9444 .replace('\{codUnidade\}', $('[name="codUnidadeSelecionada"]').val())
9445 .replace('\{periodo\}', (oferta.periodoDiaOferta == 'TA') ? 'V' : oferta.periodoDiaOferta.slice(0, 1))
9446 .replace('\{etapa\}', oferta.etapa)
9447 .replace('\{codOferta\}', oferta.codigoOferta);
9448 window.open(urlCompra, '_blank');
9449
9450 }
9451
9452 function formataDataComBarra(dataInvertidaComTraco){
9453 return dataInvertidaComTraco.split('-').reverse().join('/');
9454 }
9455
9456
9457 </script>
9458
9459</#if>