jQuery(document).ready(function($){
$('.container').off('click.accordionNamespace').on('click.accordionNamespace', '.accordion-toggle', function(event){
event.stopImmediatePropagation();
var content=$(this).next('.accordion-content');
content.slideToggle('fast');
$(this).toggleClass('active');
});
});
/*
document.addEventListener("DOMContentLoaded", function(){
document.querySelectorAll(".fullscrren-accordion-toggle").forEach(function(toggle){
toggle.addEventListener("click", function(e){
e.preventDefault();
var content=this.nextElementSibling;
content.classList.toggle("open");
});
});
document.querySelectorAll(".fullscrren-accordion-close").forEach(function(closeBtn){
closeBtn.addEventListener("click", function(e){
e.stopPropagation();
var content=this.closest(".fullscrren-accordion-content");
content.classList.remove("open");
});
});
});
*/
jQuery(document).ready(function($){
$('select#tip_comanda').select2();
$('select#select_proiect_personalizat').select2();
$('select#mod_de_incasare').select2();
$('select#factura_pe').select2();
$('select#select_card').select2();
$('select#select_customer').select2();
});
function initProductSearch(){
jQuery('select#product_selector').select2({
placeholder: "Select a product",
allowClear: true,
ajax: {
url: wc_add_to_cart_params.ajax_url,
dataType: 'json',
delay: 250,
data: function(params){
return {
term: params.term,
action: 'my_product_search'
};},
processResults: function (data, params){
return { results: data };},
cache: true
}});
}
jQuery(document).ready(function($){
initProductSearch();
});
jQuery(document).ready(function($){
$('#product_selector').select2({
placeholder: "Select a product",
allowClear: true,
templateResult: formatProductOption,
templateSelection: formatProductSelection,
escapeMarkup: function(markup){ return markup; }});
function formatProductOption(option){
if(!option.id){
return option.text;
}
var imgUrl=$(option.element).data('img');
if(!imgUrl){
return option.text;
}
var $option=$(
'<span><img src="' + imgUrl + '" style="width:60px; height:60px; margin-right:8px; vertical-align:middle;" />' + option.text + '</span>'
);
return $option;
}
function formatProductSelection(option){
return option.text;
}});
jQuery(document).ready(function($){
$('.price-option-select').change(function(){
var selectedPrice=$(this).find('option:selected').attr('data-price');
var form=$(this).closest('form');
var productId=form.find('input[name="add-to-cart"]').val();
form.find('#selected_price_' + productId).val(selectedPrice);
var isNonDefaultPrice=$(this).prop('selectedIndex') > 0;
form.find("input[name='has_non_default_price[" + productId + "]']").val(isNonDefaultPrice ? 'yes':'no');
console.log('Selected price updated to:', selectedPrice);
console.log('Non-default price selected:', isNonDefaultPrice ? 'Yes':'No');
});
if(wc_add_to_cart_params.is_articol_deviz==='yes' ||
wc_add_to_cart_params.is_sistem==='yes' ||
wc_add_to_cart_params.is_aplicatie==='yes' ||
wc_add_to_cart_params.is_deviz==='yes' ||
wc_add_to_cart_params.is_tip_artdev==='yes' ||
wc_add_to_cart_params.is_tip_proiect==='yes'){
$(document).on('submit', 'form.cart', function(e){
e.preventDefault();
var selectedPrice=$('.price-option-select').find('option:selected').attr('data-price');
$('#selected_price').val(selectedPrice);
var form=$(this);
console.log(form.serialize());
var formData=form.serialize() + '&action=my_add_to_cart_action';
console.log('AJAX form submission data:', formData);
console.log($('#selected_price').val());
var submitButton=form.find('.add-to-cart-button');
$.ajax({
url: wc_add_to_cart_params.ajax_url,
type: 'POST',
data: formData,
beforeSend: function(){
submitButton.text('Adaug...').prop('disabled', true);
},
success: function(response){
if(response.error&&response.product_url){
window.location=response.product_url;
return;
}
else if(response.success&&response.data&&response.data.cart_url){
var viewCartLink=$('a.added_to_cart.wc-forward');
if(viewCartLink.length){
viewCartLink.attr('href', response.data.cart_url);
}}
$(document.body).trigger('wc_fragment_refresh');
submitButton.text('Adaugat')
.prop('disabled', false)
.css({
'background-color': '#4caf50',
'border-color': '#4caf50',
'color': '#fff'
});
$(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, form]);
},
error: function(jqXHR, textStatus, errorThrown){
console.error('Error adding product to cart: ', textStatus, errorThrown);
alert('Failed to add product to cart. Please try again.');
submitButton.text('Adauga').prop('disabled', false);
}});
});
}});
document.addEventListener("DOMContentLoaded", function(){
var images=document.querySelectorAll('.image-lightbox');
images.forEach(function(image){
image.addEventListener('click', function(event){
event.preventDefault();
var lightbox=document.createElement('div');
lightbox.innerHTML='<div class="image-lightbox-bg"><img src="' + image.href + '" class="image-lightbox-content"><span class="image-lightbox-close">&times;</span></div>';
document.body.appendChild(lightbox);
var lightboxBg=document.querySelector('.image-lightbox-bg');
lightboxBg.style.display='block';
var closeBtn=document.querySelector('.image-lightbox-close');
closeBtn.addEventListener('click', function(){
lightboxBg.style.display='none';
lightbox.remove();
});
});
});
});
jQuery(document).ready(function($){
var tableSelector='table.transport-archive-table, table#actiuni-table, table#tabel-executanti-table, table.tabel-lista-comenzi, table.pret-proiect-table, table#produse-focus-table, table#produse-focus-comenzi-table-agenti, table#produse-focus-comenzi-table, table#tabel-proiecte-lista, table#tabel-colorari-table, table.tabel-obiecte-custodie-table, table.archive-pv-custodie-table, table#tabel-tip-proiecte-table, table.art-dev-archive-table, table.crm-table, table.tabel-vanzari-agenti, table.comparator-table, table.tabel-puncte, table.tabel-istoric-card, table.tabel-evolutie-carduri, table.archive-pv-furnizor-table, table.product-matrix, table#produse-focus-simple-table, table#produse-categorii-simple-table, table.user-list-table, table.aplicatie-archive-table, table.tip-actiune-table, table.lista-antemasuratoare-table, table.comparator-table-single, table.lista-produse-furnizor, table.archive-table-comparator, table.norma-archive-table, table.archive-furnizor-table, table.lista-produse-furnizor-single, table.lista-produse--asociate-furnizor, table.tabel-produse-comandate-proiect, table.comenzi-ex-archive-table, table#all-program-lucrari, table.lucrare-table ';
$(tableSelector).each(function(){
if(!$.fn.DataTable.isDataTable(this)){
$(this).DataTable({
"paging": false,
"ordering": true,
"info": false,
"searching": true
});
}});
});
jQuery(document).ready(function($){
$('.select2-filter').select2();
function extractAndSplitText(html){
var tempDiv=$("<div/>").html(html);
var texts=[];
tempDiv.find("li").each(function(){
var text=$(this).text().trim();
if(text){
texts.push(text);
}});
if(texts.length===0){
tempDiv.find("br").replaceWith("\n");
texts=tempDiv.text().split("\n").map(function(text){
return text.trim();
}).filter(function(text){
return text!=="";
});
}
return texts;
}
function setupTableFilters(){
var tables=$('.tabel-vanzari-agenti, #actiuni-table, .transport-archive-table, #tabel-proiecte-lista, #tabel-tip-proiecte-table, .tabel-lista-comenzi, #tabel-executanti-table, .comparator-table, #tabel-sisteme-table, .archive-produse-de-interes-table, #produse-focus-comenzi-table, #tabel-colorari-table, .pret-proiect-table, .crm-table, .art-dev-table, .metadetalii, .tabel-puncte, .archive-pv-furnizor-table, #produse-focus-simple-table, #produse-categorii-simple-table, .tip-actiune-table, .lista-antemasuratoare-table, #deviz-table, .lista-produse-furnizor, .lista-produse-furnizor-single, .comenzi-ex-archive-table ');
var filterDropdowns=$('.select2-filter');
filterDropdowns.each(function(){
var dropdown=$(this);
var column=dropdown.data('column');
var columnData=new Set();
tables.find('tbody tr').each(function(){
var cellHtml=$(this).find('td').eq(column).html();
var texts=extractAndSplitText(cellHtml);
texts.forEach(function(text){
if(text){
columnData.add(text);
}});
});
dropdown.find('option').not(':first').remove();
Array.from(columnData).sort().forEach(function(value){
dropdown.append($('<option>', { value: value, text: value }));
});
});
filterDropdowns.on('change', function(){
var selectedFilters={};
filterDropdowns.each(function(){
var value=$(this).val();
var column=$(this).data('column');
if(value) selectedFilters[column]=value.toLowerCase();
});
tables.find('tbody tr').show().filter(function(){
var row=$(this);
var hideRow=Object.keys(selectedFilters).some(function(column){
var cellHtml=row.find('td').eq(column).html();
var texts=extractAndSplitText(cellHtml);
var cellValueMatches=texts.some(function(cellText){
return cellText.toLowerCase().includes(selectedFilters[column]);
});
return selectedFilters[column]!==""&&!cellValueMatches;
});
return hideRow;
}).hide();
});
}
setupTableFilters();
});
document.addEventListener('DOMContentLoaded', function(){
document.querySelectorAll('.details-toggle').forEach(function(button){
button.addEventListener('click', function(){
const targetId=this.getAttribute('data-target');
const detailSection=document.getElementById(targetId);
document.querySelectorAll('.accordion-row').forEach(function(otherDetailSection){
if(otherDetailSection.id!==targetId){
otherDetailSection.style.display='none';
}});
if(detailSection&&detailSection.style.display==='none'){
detailSection.style.display='';
}else if(detailSection){
detailSection.style.display='none';
}});
});
});
jQuery(document).ready(function($){
$('.container').off('click.accordionToggle').on('click.accordionToggle', '.accordion-toggle', function(event){
event.stopImmediatePropagation();
var content=$(this).next('.accordion-content');
content.slideToggle('fast');
$(this).toggleClass('active');
});
if(typeof CustomScriptParams!=='undefined'&&CustomScriptParams.UnavailableDates.length > 0){
console.log(CustomScriptParams.UnavailableDates);
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultDate: moment().format('YYYY-MM-DD'),
editable: false,
events: CustomScriptParams.UnavailableDates,
eventRender: function(event, element, view){
if(view.name==='month'){
if(event.rendering==='background'){
var start=event.start.clone();
var end=event.end.clone();
while (start.isBefore(end)){
var cellDate=start.format('YYYY-MM-DD');
var dayEl=$('.fc-day[data-date="' + cellDate + '"]');
var titleElement=dayEl.find('.fc-title');
if(titleElement.length===0){
titleElement=$('<div class="fc-title"></div>');
dayEl.append(titleElement);
}
var titleText='';
if(event.cine_utilizeaza==='Agent'&&event.agent_associated){
titleText='Agent: ' + event.agent_associated.display_name;
}else if(event.cine_utilizeaza==='Proiect'&&event.project_title){
titleText='Proiect: ' + event.project_title;
}else{
titleText=event.title;
}
titleElement.text(titleText);
start.add(1, 'day');
}}
}},
eventAfterAllRender: function(view){
$('.fc-bgevent').each(function(){
var cell=$(this);
var title=cell.find('.fc-title');
if(title.length > 0){
title.css('line-height', cell.height() + 'px');
}});
}});
}});
(function (){
if(window.__CC_SA_MODAL_BOUND__) return;
window.__CC_SA_MODAL_BOUND__=true;
function openModal(modal){
if(!modal) return;
modal.classList.add('is-open');
modal.setAttribute('aria-hidden', 'false');
document.documentElement.classList.add('cc-sa-modal-open');
const focusable=modal.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
if(focusable) setTimeout(()=> focusable.focus(), 0);
}
function closeModal(modal){
if(!modal) return;
modal.classList.remove('is-open');
modal.setAttribute('aria-hidden', 'true');
document.documentElement.classList.remove('cc-sa-modal-open');
}
document.addEventListener('click', function (e){
const openTrigger=e.target.closest('[data-sa-modal-target]');
if(openTrigger){
e.preventDefault();
const sel=openTrigger.getAttribute('data-sa-modal-target');
openModal(document.querySelector(sel));
return;
}
const closeTrigger=e.target.closest('[data-sa-modal-close], .cc-sa-modal__backdrop');
if(closeTrigger){
closeModal(closeTrigger.closest('.cc-sa-modal'));
}}, true);
document.addEventListener('keydown', function (e){
if(e.key==='Escape'){
const open=document.querySelector('.cc-sa-modal.is-open');
if(open) closeModal(open);
}}, true);
})();
(function (){
function initGate(){
var form =
document.querySelector('form[data-form="form_69a318d788a0d"]') ||
document.querySelector('form#af-form-form_69a318d788a0d') ||
document.querySelector('form[id*="form_69a318d788a0d"]');
if(!form) return;
var fieldWrap =
form.querySelector('.acf-field[data-key="field_69a318322e99d"]') ||
form.querySelector('.acf-field[data-name="accept_termeni_si_conditii_formular_fidelizare"]');
if(!fieldWrap) return;
function isAccepted(){
var checked=fieldWrap.querySelector('input[type="radio"]:checked');
if(!checked) return false;
return (String(checked.value).trim()==='Accept');
}
var submit =
form.querySelector('button[type="submit"]') ||
form.querySelector('input[type="submit"]') ||
form.querySelector('.af-submit-button');
if(!submit) return;
if(form.__termsGateInit) return;
form.__termsGateInit=true;
function update(){
var ok=isAccepted();
submit.disabled = !ok;
submit.classList.toggle('af-submit-disabled', !ok);
}
update();
fieldWrap.addEventListener('change', update);
fieldWrap.addEventListener('click', update);
}
function injectCssOnce(){
if(document.getElementById('af-terms-gate-css')) return;
var st=document.createElement('style');
st.id='af-terms-gate-css';
st.textContent='.af-submit-disabled{opacity:.45;pointer-events:none}';
document.head.appendChild(st);
}
injectCssOnce();
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', initGate);
}else{
initGate();
}
var tries=0;
var t=setInterval(function (){
initGate();
tries++;
if(tries >=20) clearInterval(t);
}, 500);
})();
document.addEventListener('DOMContentLoaded', function (){
const form=document.querySelector('#form_69a318d788a0d');
if(!form) return;
const ta=form.querySelector('.acf-field[data-key="field_69a33f55f3a80"] textarea');
if(!ta) return;
ta.setAttribute('readonly', 'readonly');
ta.addEventListener('keydown', function(e){ e.preventDefault(); });
ta.addEventListener('paste', function(e){ e.preventDefault(); });
});