// Hint labels inside of input boxes.
jQuery( document ).ready(
function () {
jQuery( 'div.inside_hint' ).on(
'click',
function () {
jQuery( this ).css( 'visibility', 'hidden' ).siblings( '.has-inside-hint' ).trigger( 'focus' ); // FixIn: 8.7.11.12.
}
);
jQuery( 'input.has-inside-hint' ).on(
'blur',
function () {
if ( '' === this.value ) {
jQuery( this ).siblings( '.inside_hint' ).css( 'visibility', '' ); // FixIn: 8.7.11.12.
}
}
).on(
'focus',
function () {
jQuery( this ).siblings( '.inside_hint' ).css( 'visibility', 'hidden' ); // FixIn: 8.7.11.12.
}
);
jQuery( '.booking_form_div input[type=button]' ).prop( "disabled", false );
}
);
// FixIn: 8.4.0.2.
/**
* Check errors in booking form fields, and show warnings if some errors exist.
* Check errors, like not selected dates or not filled requred form fields, or not correct entering email or phone
* fields, etc...
*
* @param bk_type int (ID of booking resource)
*/
function wpbc_check_errors_in_booking_form( bk_type ) {
var is_error_in_field = false; // By default, all is good - no error.
var my_form = jQuery( '#booking_form' + bk_type );
if ( my_form.length ) {
var fields_with_errors_arr = [];
// Pseudo-selector that get form elements 0 ){
checkbox_parent_element = jQuery( el ).parents( '.wpdev-form-control-wrap' );
} else if ( jQuery( el ).parents( '.controls' ).length > 0 ){
checkbox_parent_element = jQuery( el ).parents( '.controls' );
} else {
checkbox_parent_element = jQuery( el );
}
var notice_message_id = wpbc_front_end__show_message__warning( checkbox_parent_element, _wpbc.get_message( 'message_check_required_for_check_box' ), 'text' );
fields_with_errors_arr.push( el );
is_error_in_field = true; // Error
}
// Radio boxes
} else if ( 'radio' == jQuery( el ).attr( 'type' ) ){
if ( !jQuery( ':radio[name="' + jQuery( el ).attr( 'name' ) + '"]', my_form ).is( ':checked' ) ){
var notice_message_id = wpbc_front_end__show_message__warning( jQuery( el ).parents('.wpdev-form-control-wrap'), _wpbc.get_message( 'message_check_required_for_radio_box' ), 'text' );
fields_with_errors_arr.push( el );
is_error_in_field = true; // Error
}
// Other elements
} else {
var inp_value = jQuery( el ).val();
if ( '' === wpbc_trim( inp_value ) ){ //FixIn: 8.8.1.3 // FixIn: 8.7.11.12.
var notice_message_id = wpbc_front_end__show_message__warning( el, _wpbc.get_message( 'message_check_required' ), 'text' );
fields_with_errors_arr.push( el );
is_error_in_field = true; // Error
}
}
}
// Validate Email
if ( jQuery( el ).hasClass( 'wpdev-validates-as-email' ) ){
var inp_value = jQuery( el ).val();
inp_value = inp_value.replace( /^\s+|\s+$/gm, '' ); // Trim white space //FixIn: 5.4.5
var reg = /^([A-Za-z0-9_\-\.\+])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,})$/;
if ( (inp_value != '') && (reg.test( inp_value ) == false) ){
var notice_message_id = wpbc_front_end__show_message__warning( el, _wpbc.get_message( 'message_check_email' ), 'text' );
fields_with_errors_arr.push( el );
is_error_in_field = true; // Error
}
}
// Validation Check --- Same Email Field. // FixIn: 11.4.1.1.
if ( jQuery( el ).hasClass( 'wpdev-validates-as-email' ) && (jQuery( el )[0].className.indexOf( 'same_as_' ) !== -1) ) {
// Get the name of Primary Email field from the "same_as_NAME" class.
var primary_email_name = jQuery( el )[0].className.match( /same_as_([^\s])+/gi );
if ( primary_email_name != null ) { // We found.
primary_email_name = primary_email_name[0].substr( 8 );
// Recehck if such primary email field exist in the booking form.
if ( jQuery( '[name="' + primary_email_name + bk_type + '"]' ).length > 0 ) {
// Recheck the values of the both emails, if they do not equla show warning.
if ( jQuery( '[name="' + primary_email_name + bk_type + '"]' ).val() !== inp_value ) {
var notice_message_id = wpbc_front_end__show_message__warning( el, _wpbc.get_message( 'message_check_same_email' ), 'text' );
fields_with_errors_arr.push( el );
is_error_in_field = true; // Error.
}
}
}
}
// Validate For digit entering - for example for - Phone
//