{% extends '/uniqskills/layout_order.html.twig' %}
{% block title %}{{ 'uniqskills.metaTitle.contact'|trans }}{% endblock %}
{% block content %}
<style>
.ui-tooltip-content {
display:none;
}
.error {
color: red;
}
textarea {
resize: vertical;
}
</style>
<div class="registrationForm">
<div class="container">
<div class="registrationForm-content">
<h1 class="formTitle" style="margin-bottom: 15px;">
{{ 'uniqskills.form.contact.title'|trans }}
</h1>
<div class="formContent">
<div class="universalContentFormContainer">
<span class="titleInput">{{ 'contactForm.label.category'|trans }}:</span>
{% set firstElement = dataForm.list|first %}
<select class="selectInput selectCategory" data-categoryId="{{ firstElement.id }}">
{% for item in dataForm.list %}
<option data-id="{{ item.id }}"><span>{{ item.name }}</span></option>
{% endfor %}
</select>
<div class="subcategoryBox">
<span class="titleInput">{{ 'contactForm.label.subject'|trans }}:</span>
{% for item in dataForm.list %}
<select class="selectInput selectSubcategory {{ item.id }}{% if loop.first %} defaultSelected{% endif %}" style="display:{% if loop.first %}block{% else %}none{% endif %};">
<option selected data-filed="">{{ 'contactForm.label.choose'|trans }}</option>
{% for option in item.subjectOptions %}
<option data-subcategoryId={{ option.id }} data-fields="{{ option.fields|join('|') }}">{{ option.title }}</option>
{% endfor %}
</select>
{% endfor %}
</div>
<form id="universalContentForm" data-url="{{ path('ajaxExecuteContactForm') }}">
{% for item in dataForm.fields|sort((a,b) => a.position <=> b.position) %}
<div style="display: none;" class="form-group" data-inputId="{{ item.id }}">
<label class="labelInput" for="{{ item.id }}">{{ item.name }}{% if item.required == true %}*{% endif %}</label>
<{% if item.type == 'textarea' %}textarea style="height: 150px;"{% else %}input{% endif %} {% if item.required == true %}required{% endif %}
class="inputForm" name="{{ item.id }}" type="{{ item.type }}"
id="input-{{ item.id }}">{% if item.type == 'textarea' %}</textarea>{% endif %}
</div>
{% endfor %}
<div class="form-group form-check show checkboxInput">
<input name="regulation" type="checkbox" class="form-check-input" id="checkboxInput">
<label class="form-check-label" for="checkboxInput"><span style="margin-left: 5px;">{{ regulation|raw }}</span></label>
</div>
<div class="g-recaptcha" data-sitekey="{{ recaptchaPublicKey }}"></div>
<div class="messageBox"></div>
<div style="text-align: center">
<button type="submit" class="btn">{{'uniqskills.form.contact.submit'|trans|upper }}</button>
</div>
</form>
<div class="messageBoxSuccess"></div>
</div>
</div>
</div>
</div>
</div>
{% include '/uniqskills/footer.html.twig' %}
{% endblock %}
{% block customjs %}
<script>
$(document).ready(function(){
jQuery.extend(jQuery.validator.messages, {
required: "{{ 'errors.validation.required'|trans }}",
email: "{{ 'errors.validation.email'|trans }}"
});
$('body').on('change', '.universalContentFormContainer .selectCategory', function(){
var categoryId = $(this).children("option:selected").attr('data-id');
$('#universalContentForm').hide();
$(this).attr('data-categoryId', categoryId);
$('.messageBoxSuccess').text('');
$('.selectSubcategory').each(function(){
var _this = $(this);
if (_this.hasClass(categoryId)) {
_this.show();
} else {
_this.hide();
}
$(".selectSubcategory option").prop("selected", function () {
return this.defaultSelected;
});
});
});
$('body').on('change', '.universalContentFormContainer .selectSubcategory', function(){
$('.messageBox').text('');
$('.messageBoxSuccess').text('');
if ($(this).find(':selected').attr('data-fields') == undefined) {
$('#universalContentForm').hide();
} else {
var fieldsId = $(this).children("option:selected").attr('data-fields');
var subcategoryId = $(this).children("option:selected").attr('data-subcategoryId');
var arrayFields = fieldsId.split('|');
$('#universalContentForm .form-group').each(function(){
var _this = $(this);
if (_this.is('.show') == false) {
if (jQuery.inArray(_this.attr('data-inputId'), arrayFields) !== -1){
_this.show();
} else {
_this.hide();
}
}
});
$(this).attr('data-subcategoryId', subcategoryId);
$('#universalContentForm').show();
}
});
$('body').on('click','.universalContentFormContainer .btn', function(e){
e.preventDefault();
var form = $('#universalContentForm');
var url = form.attr('data-url');
if (form.valid()){
var category = $(".selectCategory").val();
var categoryId = $(".selectCategory").attr('data-categoryId');
var subject = $('body').find(".selectSubcategory:visible").val();
var subjectId = $('body').find(".selectSubcategory:visible").attr('data-subcategoryId');
var formData = new FormData(form[0]);
formData.set('category', category);
formData.set('categoryId', categoryId);
formData.set('subject', subject);
formData.set('subjectId', subjectId);
$.ajax({
type: 'POST',
url: url,
processData: false,
contentType: false,
data: formData,
success: function(data)
{
var message = data.message
var color = data.error == true ? '#DC143C' : '#556B2F';
if (data.error != true){
$('#universalContentForm').hide('slow');
$('#universalContentForm input').each(function() {
$(this).val('');
});
$('#universalContentForm textarea').each(function() {
$(this).val('');
});
$('.messageBoxSuccess').text(message).css('color', color);
}
else{
$('.messageBox').text(message).css('color', color);
}
}
});
}
return false;
});
});
</script>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
{% endblock %}