/*********** Call functionality ***************/ jQuery(document).ready(function () { jQuery("#process").hide(); jQuery("#upgrade_pro").validate({ submitHandler: function (form) { jQuery("#process").show(); var Url = jQuery('#check_subscription').val(); jQuery.ajax({ type: 'POST', data: jQuery('#upgrade_pro').serialize(), url: Url + 'subscription.php', success: function (value) { jQuery("#process").hide(); var getResult = JSON.parse(value); var result = getResult.response; if (result == 1) { var message = getResult.Message; jQuery(".message_set").html(message); setTimeout(function () { location.reload(); }, 2000); } else { var message = getResult.Message; jQuery(".message_set").html(message); } } }); } }); jQuery('.notice-dismiss').live('click', function (e) { // Remove Onclick dismiss e.preventDefault(); jQuery('#message_set').css('display', 'none'); }); jQuery(document.body).on("click", ".upload_dae", function (e) { e.preventDefault(); var trigger_file = jQuery(this).closest('.dae-value').find('.myfile').attr('name'); jQuery('.' + trigger_file).trigger('click'); }); jQuery(document.body).on("click", ".multi_texture", function (e) { e.preventDefault(); var trigger_file = jQuery(this).closest('.ar-input-wrap').find('.select_texture').attr('tex_pos'); jQuery('#' + trigger_file).trigger('click'); }); /****** Append Multiple Models ******/ var max_fields = 5; //maximum input boxes allowed var wrapper = jQuery(".3dclone"); //Fields wrapper var add_button = jQuery(".add_field_button"); //Add button ID var count = jQuery("#count").val(); if (count > 0) { var x = count; } else { var x = 0; } //initlal text box count //jQuery(add_button).click(function(e) { //on add input button click jQuery(document.body).on("click", ".add_field_button", function (e) { //on add input button click e.preventDefault(); if (x < max_fields) { //max input box allowed x++; //text box increment var html = ''; /* Selection of 2d or 3d */ html += '
\n\ \n\ 3D Model\n\ 2D Model\n\
'; /* Ends */ html += ''; // New html += ''; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += ' '; html += ''; //html += ''; html += '
'; html += ''; html += ''; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += ''; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += ''; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += ' '; html += '
'; html += '
'; html += '
'; html += ' '; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += ' '; html += '
'; html += '
'; html += '
'; html += ''; html += str; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += ' '; html += '
'; html += '
'; html += '
'; html += ' '; html += ' '; html += ' '; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; // //**********2D Photo********** html += '
'; //**********End 2D Photo********** html += '
'; html += '
'; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += ' '; html += '
Color Texture(s)
'; html += '
    '; html += '
  • '; html += '
  • '; html += '
'; html += '
'; html += '
'; html += '
'; html += 'Add New Color'; jQuery(wrapper).append('
' + html + 'Remove Model
'); //add input box jQuery('.model-tabel' + x).hide(); //By Default Display not if (x > 1) { jQuery(".size").addClass("required"); //jQuery(".textureRequired").addClass("required"); } } else { alert('Maximum Upload 5 Models'); } }); jQuery(document.body).on("click", ".remove_model", function (e) { //user click on remove text e.preventDefault(); var remove_model = jQuery(this).closest('.remove').find('.multiple').attr('id'); jQuery('#model' + remove_model).remove(); x--; if (x == 1) { jQuery(".size").removeClass("required"); //jQuery(".textureRequired").removeClass("required"); } }); /******************* End ******************/ /**************** Add Color & Texture Image multiple ******************/ var color_texture_count = jQuery("#color_texture_count").val(); if (color_texture_count > 0) { var y = color_texture_count; } else { var y = 0; } //initlal text box count jQuery(document).on("click", ".add_color_field_button", function (e) { var wrapper_color_texture = jQuery(this).attr('id'); //Fields wrapper var color_texture_count = jQuery(this).closest('.remove').find('.multiple').attr('id'); y++; e.preventDefault(); jQuery('.model-tabel' + color_texture_count).show(); var html = ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += '
'; html += '
'; html += '
'; html += '
'; html += ' '; html += ''; html += ' '; html += '
'; html += ''; html += ''; html += 'Remove'; html += ''; html += ''; jQuery('.ar-input .model-tabel' + color_texture_count + ' tbody .add_new_variation').before(html); }); jQuery(document.body).on("click", ".remove_color_field", function (e) { e.preventDefault(); jQuery(this).closest('.remove_color').remove(); y--; }); jQuery(document.body).on("click", ".remove_color_texture", function (e) { e.preventDefault(); var remove_div = jQuery(this).attr('remove'); jQuery('#' + remove_div).remove(); }); var imagesPreview = function (input, displayID, current_model, event) { event.preventDefault(); // now it'll work if (input.files) { var filesAmount = input.files.length; var total_avail_img = jQuery('.' + displayID + ' > div').length; var total_count = total_avail_img + filesAmount; var j = 0; for (i = 0; i < filesAmount; i++) { var image_name = input.files[i].name; var fileExtension = ['jpeg', 'jpg', 'png']; if (jQuery.inArray(image_name.split('.').pop().toLowerCase(), fileExtension) == -1) { j = 1; } else { var html = ''; html += '
'; html += ''; html += '
'; var string = jQuery('.wp_ar_remove' + current_model).val(); if (string != 'undefined') { jQuery('.new_image_select' + current_model).append(html); } else { jQuery('.' + displayID).append(html); } } } if (j == 1) { alert("Only formats are allowed : " + fileExtension.join(', ')); } } }; jQuery(document.body).on("click", ".new_upload_texture", function (e) { // Display file selection e.preventDefault(); var trigger_file = jQuery(this).closest('.ar-input').find('.new_upload_texture').attr('select'); jQuery('#' + trigger_file).trigger('click'); }); jQuery(document.body).on("click", ".textureDelete", function (e) { // Remove Texture files e.preventDefault(); var get_remove_id = jQuery(this).attr('id'); var pos = jQuery(this).attr('posTexture'); var store_image_list = jQuery('.' + get_remove_id).val(); var res = store_image_list.split(","); res.splice(res.indexOf(pos), 1); jQuery('.' + get_remove_id).val(res); jQuery(this).closest('#product_images_container').remove(); if (jQuery(res).length == 0 && x > 1) { jQuery(".select_texture").addClass("required"); } }); jQuery(document.body).on("click", ".delete", function (e) { // Remove Texture files e.preventDefault(); var get_remove_id = jQuery(this).attr('id'); var pos = jQuery(this).attr('pos'); var store_image_list = jQuery('.' + get_remove_id).val(); var res = store_image_list.split(","); res.splice(res.indexOf(pos), 1); jQuery('.' + get_remove_id).val(res); jQuery(this).closest('#product_images_container').remove(); }); jQuery(document.body).on('change', '.upload_texture', function (event) { // image Preview event.preventDefault(); var image_select_id = jQuery(this).attr('id'); var current_model = jQuery(this).data('id'); jQuery('.wp_ar_remove_Texture' + current_model).val(''); jQuery('.new_image_select' + current_model).html(''); imagesPreview(this, image_select_id, current_model, event); // multiple }); var defaultPreview = function (input, displayID, current_model, event) { event.preventDefault(); // now it'll work if (input.files) { var filesAmount = input.files.length; var total_avail_img = jQuery('.' + displayID + ' > div').length; var total_count = total_avail_img + filesAmount; var k = 0; for (i = 0; i < filesAmount; i++) { var image_name = input.files[i].name; var fileExtension = ['jpeg', 'jpg', 'png']; if (jQuery.inArray(image_name.split('.').pop().toLowerCase(), fileExtension) == -1) { k = 1; } else { var html = ''; html += '
'; html += ''; html += '
'; var count_img = jQuery('.wp_ar_removeTexture' + current_model).val(); if (count_img == '' || count_img == 'undefined') { jQuery('.default_select_texture' + current_model).html(''); jQuery('.new_select_texture' + current_model).append(html); } else if (total_avail_img > 0) { jQuery('.new_select_texture' + current_model).append(html); } else { jQuery('.' + displayID).append(html); } } } if (k == 1) { alert("Only formats are allowed : " + fileExtension.join(', ')); } } }; jQuery(document.body).on('change', '.select_texture', function (event) { // image Preview event.preventDefault(); var image_select_id = jQuery(this).attr('id'); var current_model = jQuery(this).data('id'); jQuery('.wp_ar_remove_Texture' + current_model).val(''); jQuery('.new_select_texture' + current_model).html(''); defaultPreview(this, image_select_id, current_model, event); // multiple }); jQuery(document.body).on("click", ".imgPreview", function (e) { // Remove Current upload file Review e.preventDefault(); jQuery(this).closest('#product_images_container').remove(); var get_remove_name = jQuery(this).attr('name'); var add_remove_array = jQuery(this).data('id'); var cur_value = jQuery('.' + add_remove_array).val(); if (cur_value != '') { var delimiter = ","; } else { var delimiter = ''; } jQuery('.' + add_remove_array).val(cur_value + delimiter + get_remove_name); }); /***************** End **************************/ /**************** Upload DAE and Convert to .SCN File *****************/ jQuery(document.body).on('change', '.myfile', function (event) { event.preventDefault(); var val = jQuery(this).val().toLowerCase(); var regex = new RegExp("(.*?)\.(obj|dae)$"); if (!(regex.test(val))) { jQuery(this).val(''); alert('Please select correct file format : DAE or OBJ'); return false; } var file_data = jQuery(this).prop('files')[0]; var form_data = new FormData(); var ar_woo_nonce = get.ar_woo_ajax_nonce; form_data.append('ar_woo_nonce', ar_woo_nonce); form_data.append('ar_woo_dae_custom_attachment', file_data); form_data.append('action', 'ar_dae_response'); var hiddn_image = jQuery(this).attr('name'); var loder = '#' + hiddn_image + '_loder'; jQuery(loder).show(); var set_opacity = jQuery(this).data('id'); jQuery('.' + set_opacity).css('opacity', '0.1'); jQuery('#major-publishing-actions #publish').prop('disabled', true); jQuery.ajax({ type: 'POST', url: get.ar_ajaxurl, data: form_data, cache: false, contentType: false, processData: false, success: function (data) { jQuery(loder).hide(); var tick_icon = '#' + hiddn_image + '_tick'; jQuery(tick_icon).show(); /*setTimeout(function(){ jQuery(tick_icon).hide(); jQuery('.'+set_opacity).css('opacity','1'); }, 2000);*/ jQuery('.' + set_opacity).before(''); jQuery('#major-publishing-actions #publish').prop('disabled', false); jQuery('#' + hiddn_image).val(data); } }); }); /****************** End *****************/ /**************** 2D Photo - Create a DAE file for 2D images and Convert to .SCN File *****************/ jQuery(document).on("click", ".2dphoto_button", function (event) { event.preventDefault(); var hiddn_image = jQuery(this).closest(".singleModelWrapper").find(".hiddenModelFile").attr("id"); var loader2d = jQuery(this).closest(".singleModelWrapper").find(".2dloader"); var tick2d = jQuery(this).closest(".singleModelWrapper").find(".wp_ar_dae_2d_tick"); var w = jQuery(this).closest(".singleModelWrapper").find('#2dphoto_width').val(); var h = jQuery(this).closest(".singleModelWrapper").find('#2dphoto_height').val(); var d = jQuery(this).closest(".singleModelWrapper").find('#2dphoto_depth').val(); var f = jQuery(this).closest(".singleModelWrapper").find('#2dphoto_format').val(); var file_path = window.location.pathname; var plugin_path = file_path.replace('wp-admin/post.php', 'wp-content/plugins/ar-for-woocommerce/'); if (window.location.pathname.indexOf("wp-admin/post.php") > -1) { //alert("Founr post.php"); plugin_path = file_path.replace('wp-admin/post.php', 'wp-content/plugins/ar-for-woocommerce/'); } if (window.location.pathname.indexOf("wp-admin/post-new.php") > -1) { //alert("Founr post.php"); plugin_path = file_path.replace('wp-admin/post-new.php', 'wp-content/plugins/ar-for-woocommerce/'); } // if(window.location.pathname.indexOf("wp-admin/post-new.php") > -1) { // alert("Founr post-new.php"); // file_path = 'wp-content/plugins/ar-for-woocommerce/'; // } jQuery.get(plugin_path + '2dbox.php?w=' + w + '&h=' + h + '&d=' + d + '&f=' + f, function (file_data) { //var file_data = jQuery(this).prop('files')[0]; var form_data = new FormData(); var ar_woo_nonce = get.ar_woo_ajax_nonce; form_data.append('ar_woo_nonce', ar_woo_nonce); form_data.append('action', 'ar_dae_response1'); form_data.append('ar_woo_dae_custom_attachment', file_data); // var hiddn_image='woo_ar_dae1_custom_attachment'; // var loder = '#' + hiddn_image + '_loder'; //jQuery(loder).show(); loader2d.show(); var set_opacity = jQuery('#woo_ar_dae1_custom_attachment').data('id'); jQuery('.' + set_opacity).css('opacity', '0.1'); jQuery('#major-publishing-actions #publish').prop('disabled', true); jQuery.ajax({ type: 'POST', url: get.ar_ajaxurl, data: form_data, cache: false, contentType: false, processData: false, success: function (data) { //jQuery(loder).hide(); loader2d.hide(); tick2d.show(); var tick_icon = '#' + hiddn_image + '_tick'; jQuery(tick_icon).show(); /*setTimeout(function(){ jQuery(tick_icon).hide(); jQuery('.'+set_opacity).css('opacity','1'); }, 2000); */ jQuery('.' + set_opacity).before(''); jQuery('#major-publishing-actions #publish').prop('disabled', false); jQuery('#' + hiddn_image).val(data); } }); }); }); /****************** End *****************/ /**************** Remove DAE Or OBJ File ***************/ jQuery(document.body).on('click', '.upload_remove', function (event) { event.preventDefault(); var get_remove_id = jQuery(this).data('id'); jQuery('#' + get_remove_id).val(''); jQuery('.' + get_remove_id).val(''); jQuery(this).remove(); //alert(get_remove_id); }); /********************** End ******************************/ jQuery('#post').validate({// Validate Form data errorClass: "ar-error-class", validClass: "ar-valid-class", ignore: "" }); /*********** Web app Button select ***********/ jQuery(document.body).on("click", "#app_submit", function (e) { e.preventDefault(); var userAgent = window.navigator.userAgent; if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) { var get_id = jQuery(this).data('id'); var nonce = jQuery(this).data('nonce'); window.location = "webandprintdesign.arforwordpress://?api-name=" + get.webappUrl + "/?single_product=productList&product_id=" + get_id + '&nonce=' + nonce } else { alert('Please view this using an iPhone or iPad'); } }); /************** End *********************/ /**************** Display Link on click (URL TO AR Display)****************/ jQuery(".url_ar").click(function () { jQuery(".url_ar_display").toggle(); }); /****************** End ****************************/ /********** Point out ID On page **************/ /*if(window.location.hash){ jQuery('html,body').animate({ scrollTop: jQuery(window.location.hash).offset().top }); }*/ /************** End *****************/ }); /**************** End **********************/ /* Change Model Type Event */ function selectModelType(currentWrap, modelType) { if (modelType == "2d") { jQuery(currentWrap).closest(".singleModelWrapper").find("select.scale").val("100").attr("selected", "selected"); jQuery(currentWrap).closest(".singleModelWrapper").find(".2DWrapper").show(); jQuery(currentWrap).closest(".singleModelWrapper").find(".3DWrapper").hide(); jQuery(currentWrap).closest(".singleModelWrapper").find(".ar-field.Scale").hide(); } else { jQuery(currentWrap).closest(".singleModelWrapper").find(".3DWrapper").show(); jQuery(currentWrap).closest(".singleModelWrapper").find(".2DWrapper").hide(); jQuery(currentWrap).closest(".singleModelWrapper").find(".ar-field.Scale").show(); } } /* Ends */