Service Tables

SERVICE TABLE SHORTCODE

FBC Updates - Kitchens
This calculator provides an estimated cost for a kitchen update with remove and replace services. Pricing for this estimate is based on a range of pricing: low-range, mid-range, and high-range. This price does not reflect the quality of the materials used. For an actual estimate on your kitchen update project, contact us for a free design consultation!
Contact Information
We will follow up to give you a full quote and help estimate your project. To get the most accurate and in-depth estimate for your bathroom update, contact us to book your free design consultation.

 
26/06/21
Kitchens Renovations Template restored
Description
Quantity
Unit Price
Price
`; var totalPrice =0; var subTotal = 0; var height = 0; var tax=0; var taxrate = 0; var onTax = 'TAX_RATE_ON'; var TAX_RATE_ON = "TAX_RATE_ON"; var displayTax = taxrate; var finalTotal=0; var currencyType = 'USD'; var lastTitle = '' var currentSubsection = -1 var sections = [] var section = [] var subsection = [] for(var i=0;i 0 || parts[i].value 0) || parts[i].comment) { if(parts[i].value == 0.001){ parts[i].value = 0 } if(parts[i].subsection != currentSubsection) { section.push(subsection) subsection = [] currentSubsection = parts[i].subsection } if(lastTitle != currentTitle){ if(lastTitle != '') { sections.push(section) section = [] } table_body+="
"; table_body+=germanCharactersInverseFrontEnd("
FBC Updates - Kitchens
"); height +=6; lastTitle = currentTitle; var jsonPDFrowSection = { type: "section_title", section_title: currentTitle } jsonPDF_1.rows.push(jsonPDFrowSection) } if(isNaN(parts[i].unit)){ parts[i].unit = 1; } var jsonPDFrow = {} var elementName = "" if(scc_jQuery(parts[i].name).hasClass('row-fluid Product-Titles-Summary-Window')){ if(scc_jQuery(parts[i].name).children().length == 2) { jsonPDFrow = { type: "element_dropdown", attr: { name: scc_jQuery(parts[i].name).find('.span2').text().trim(), description: scc_jQuery(parts[i].name).find('.product-desc-summary-scc').text(), unit: parts[i].unit, value: Number(parts[i].value), unit_price: "", total_price: "", woo_commerce: { product_id: parts[i].scc_woo_commerce_product_id ? Number(parts[i].scc_woo_commerce_product_id) : 0, quantity: parts[i].unit } } } }else{ if(!parts[i].comment){ jsonPDFrow = { type: "element", attr: { name: scc_jQuery(parts[i].name).find('.span2').text().trim(), unit: Number(parts[i].unit), value: Number(parts[i].value), unit_price: "", total_price: "", woo_commerce: { product_id: parts[i].scc_woo_commerce_product_id ? Number(parts[i].scc_woo_commerce_product_id) : 0, quantity: parts[i].unit } } } } } } else { if(scc_jQuery(parts[i].name).hasClass('span2')){ jsonPDFrow = { type: "element", attr: { name: scc_jQuery(parts[i].name).text().trim(), unit: Number(parts[i].unit), value: Number(parts[i].value), unit_price: "", total_price: "", woo_commerce: { product_id: parts[i].scc_woo_commerce_product_id ? Number(parts[i].scc_woo_commerce_product_id) : 0, quantity: parts[i].unit } } } }else{ if(parts[i].custom_math) { jsonPDFrow = { type: "custom_math", attr: { value_with_currency: (priceCommaStyler(parts[i].value)), value: Number(parts[i].value), type: parts[i].custom_math_type, name: scc_jQuery(parts[i].name).text().trim(), show_detailed_list: parts[i].show_detailed_list } } }else { jsonPDFrow = { type: "element", attr: { name: (parts[i].name).trim(), unit: Number(parts[i].unit), value: Number(parts[i].value), unit_price: "", total_price: "", woo_commerce: { product_id: parts[i].scc_woo_commerce_product_id ? Number(parts[i].scc_woo_commerce_product_id) : 0, quantity: parts[i].unit } } } } } } if(parts[i].custom_math){ /* adding currency in frontend custom math: note: puts same value to all the custom math elements in the front end, so commented out. */ // scc_jQuery('.scc_custom_math_value_front_end').each(function(index, ob){ // scc_jQuery(ob).text() // // scc_jQuery(ob).text((priceCommaStyler(parts[i].value))) // // }) if(parts[i].show_detailed_list) { notPercentTypeWithCurrency = parts[i].custom_math_type + " " + currencyStyle(priceCommaStyler(parts[i].value)); notPercentTypeWithoutCurrency = parts[i].custom_math_type + " " + priceCommaStyler(parts[i].value); percentType = parts[i].value + parts[i].custom_math_type; table_body += "
"; table_body += "
"+parts[i].name+"
"; table_body += "
"; table_body += "
" + ( (parts[i].custom_math_type == '%') ? percentType : notPercentTypeWithCurrency ) + "  
"; //table_body += "
" table_body += `
` + (`${parts[i].calculator_id + '-' + 'XXYYXX'}`) + "
"; table_body += "
" } }else { if(parts[i].comment){ table_body += "
" table_body += "
"+parts[i].name+"
"; table_body += "
" + parts[i].text + "
"; table_body += "
" var jsonDPDFcomment = { type: "comment", attr: { title: scc_jQuery(parts[i].name).find('.span2').text(), comment: parts[i].text } } jsonPDF_1.rows.push(jsonDPDFcomment) }else { table_body+="
"; table_body+="
"+parts[i].name+"
"; table_body+="
"+parts[i].unit+"
"; //Quantity for all items table_body+="
"+priceCommaStyler(parts[i].value) + "  
"; //Unit value for all items table_body+="
"+priceCommaStyler( (parts[i].unit * parts[i].value).toFixed(2) )+"  
"; // Price for all items jsonPDFrow.attr["unit_price"] = currencyStyle(priceCommaStyler(Number(parts[i].value).toFixed(2))) jsonPDFrow.attr["total_price"] = currencyStyle(priceCommaStyler((parts[i].unit * parts[i].value).toFixed(2))) } } jsonPDF_1.rows.push(jsonPDFrow) subsection.push(jsonPDFrow) table_body+="
"; // totalPrice +=(parts[i].unit*parts[i].value); height +=6; }else{ } }else{ } } section.push(subsection) sections.push(section) /* START - CUSTOM MATH CALCULATOR */ for(var i = 0; i 0 || parts[i].value 0) || parts[i].comment) { if(parts[i].value == 0.001){ parts[i].value = 0 } if(parts[i].subsection != currentSubsection) { section.push(subsection) subsection = [] currentSubsection = parts[i].subsection } if(lastTitle != currentTitle){ if(lastTitle != '') { sections.push(section) section = [] } table_body+="
"; table_body+=germanCharactersInverseFrontEnd("
Contact Information
"); height +=6; lastTitle = currentTitle; var jsonPDFrowSection = { type: "section_title", section_title: currentTitle } jsonPDF_1.rows.push(jsonPDFrowSection) } if(isNaN(parts[i].unit)){ parts[i].unit = 1; } var jsonPDFrow = {} var elementName = "" if(scc_jQuery(parts[i].name).hasClass('row-fluid Product-Titles-Summary-Window')){ if(scc_jQuery(parts[i].name).children().length == 2) { jsonPDFrow = { type: "element_dropdown", attr: { name: scc_jQuery(parts[i].name).find('.span2').text().trim(), description: scc_jQuery(parts[i].name).find('.product-desc-summary-scc').text(), unit: parts[i].unit, value: Number(parts[i].value), unit_price: "", total_price: "", woo_commerce: { product_id: parts[i].scc_woo_commerce_product_id ? Number(parts[i].scc_woo_commerce_product_id) : 0, quantity: parts[i].unit } } } }else{ if(!parts[i].comment){ jsonPDFrow = { type: "element", attr: { name: scc_jQuery(parts[i].name).find('.span2').text().trim(), unit: Number(parts[i].unit), value: Number(parts[i].value), unit_price: "", total_price: "", woo_commerce: { product_id: parts[i].scc_woo_commerce_product_id ? Number(parts[i].scc_woo_commerce_product_id) : 0, quantity: parts[i].unit } } } } } } else { if(scc_jQuery(parts[i].name).hasClass('span2')){ jsonPDFrow = { type: "element", attr: { name: scc_jQuery(parts[i].name).text().trim(), unit: Number(parts[i].unit), value: Number(parts[i].value), unit_price: "", total_price: "", woo_commerce: { product_id: parts[i].scc_woo_commerce_product_id ? Number(parts[i].scc_woo_commerce_product_id) : 0, quantity: parts[i].unit } } } }else{ if(parts[i].custom_math) { jsonPDFrow = { type: "custom_math", attr: { value_with_currency: (priceCommaStyler(parts[i].value)), value: Number(parts[i].value), type: parts[i].custom_math_type, name: scc_jQuery(parts[i].name).text().trim(), show_detailed_list: parts[i].show_detailed_list } } }else { jsonPDFrow = { type: "element", attr: { name: (parts[i].name).trim(), unit: Number(parts[i].unit), value: Number(parts[i].value), unit_price: "", total_price: "", woo_commerce: { product_id: parts[i].scc_woo_commerce_product_id ? Number(parts[i].scc_woo_commerce_product_id) : 0, quantity: parts[i].unit } } } } } } if(parts[i].custom_math){ /* adding currency in frontend custom math: note: puts same value to all the custom math elements in the front end, so commented out. */ // scc_jQuery('.scc_custom_math_value_front_end').each(function(index, ob){ // scc_jQuery(ob).text() // // scc_jQuery(ob).text((priceCommaStyler(parts[i].value))) // // }) if(parts[i].show_detailed_list) { notPercentTypeWithCurrency = parts[i].custom_math_type + " " + currencyStyle(priceCommaStyler(parts[i].value)); notPercentTypeWithoutCurrency = parts[i].custom_math_type + " " + priceCommaStyler(parts[i].value); percentType = parts[i].value + parts[i].custom_math_type; table_body += "
"; table_body += "
"+parts[i].name+"
"; table_body += "
"; table_body += "
" + ( (parts[i].custom_math_type == '%') ? percentType : notPercentTypeWithCurrency ) + "  
"; //table_body += "
" table_body += `
` + (`${parts[i].calculator_id + '-' + 'XXYYXX'}`) + "
"; table_body += "
" } }else { if(parts[i].comment){ table_body += "
" table_body += "
"+parts[i].name+"
"; table_body += "
" + parts[i].text + "
"; table_body += "
" var jsonDPDFcomment = { type: "comment", attr: { title: scc_jQuery(parts[i].name).find('.span2').text(), comment: parts[i].text } } jsonPDF_1.rows.push(jsonDPDFcomment) }else { table_body+="
"; table_body+="
"+parts[i].name+"
"; table_body+="
"+parts[i].unit+"
"; //Quantity for all items table_body+="
"+priceCommaStyler(parts[i].value) + "  
"; //Unit value for all items table_body+="
"+priceCommaStyler( (parts[i].unit * parts[i].value).toFixed(2) )+"  
"; // Price for all items jsonPDFrow.attr["unit_price"] = currencyStyle(priceCommaStyler(Number(parts[i].value).toFixed(2))) jsonPDFrow.attr["total_price"] = currencyStyle(priceCommaStyler((parts[i].unit * parts[i].value).toFixed(2))) } } jsonPDF_1.rows.push(jsonPDFrow) subsection.push(jsonPDFrow) table_body+="
"; // totalPrice +=(parts[i].unit*parts[i].value); height +=6; }else{ } }else{ } } section.push(subsection) sections.push(section) /* START - CUSTOM MATH CALCULATOR */ for(var i = 0; i 0){ table_body +="
" table_body +="
" for(var i=0; i" table_body += "
"+comments[i].title+"
"; table_body += "
" + comments[i].text + "
"; table_body += "
" table_body += "" var jsonDPDFcomment = { type: "comment", attr: { title: scc_jQuery(comments[i].title).find('.span2').text(), comment: comments[i].text } } jsonPDF_1.rows.push(jsonDPDFcomment) } // table_body +="
" } subTotal = displayCouponDiscountInFrontEnd_1(subTotal) // Start of Displaying Coupon Discount if(taxrate !=0 && taxrate !=''){ tax = (subTotal * taxrate)/100; finalTotal = subTotal + tax; }else{ finalTotal = subTotal; } //table_body+="
"; table_body+="
"; //table_body+="
"; table_body+="
"; table_body+="
"; if(coupon_1){ // table_body+="
"; if(Number(coupon_1.discountpercentage) != -1){ var jsonPDFcoupon = { type: "coupon", attr: { title: "Coupon Discount " + coupon_1.discountpercentage + "%", discount_price: "" } } if(window.hasOwnProperty("translatorJson")){ if(translatorJson['Coupon Discount'] && translatorJson['Coupon Discount']['en']) { jsonPDFcoupon = { type: "coupon", attr: { title: translatorJson['Coupon Discount']['en'] + " " + coupon_1.discountpercentage + "%", discount_price: "" } } } } // scc-col-md-6 scc-col-xs-6 sscfull-height position-relative table__fricctableprice table_body+="
Coupon Discount " + coupon_1.discountpercentage + "%
"; jsonPDFcoupon.attr["discount_price"] = "-" + currencyStyle(priceCommaStyler(coupon_1.discount_value_total.toFixed(2))) +"" table_body+="
-" + priceCommaStyler(coupon_1.discount_value_total.toFixed(2)) +" USD
"; jsonPDF_1.rows.push(jsonPDFcoupon) } if(Number(coupon_1.discountvalue) != -1){ var jsonPDFcoupon = { type: "coupon", attr: { title: "", discount_price: "" } } jsonPDFcoupon.attr["title"] = "Coupon Discount " + currencyStyle(priceCommaStyler(Number(coupon_1.discountvalue).toFixed(2))) jsonPDFcoupon.attr["discount_price"] = "-" + currencyStyle(priceCommaStyler(coupon_1.discount_value_total.toFixed(2))) if(window.hasOwnProperty("translatorJson")){ if(translatorJson['Coupon Discount'] && translatorJson['Coupon Discount']['en']) { jsonPDFcoupon.attr["title"] = translatorJson['Coupon Discount']['en'] + " " + currencyStyle(priceCommaStyler(Number(coupon_1.discountvalue).toFixed(2))) } } table_body+="
Coupon Discount " + priceCommaStyler(Number(coupon_1.discountvalue).toFixed(2)) + " USD
"; table_body+="
-" + priceCommaStyler(coupon_1.discount_value_total.toFixed(2)) +" USD
"; jsonPDF_1.rows.push(jsonPDFcoupon) } // table_body+="
" } // Start of Displaying Sub-total Tax // End of Displaying Sub-total Tax // Start of Displaying Tax // End of Displaying Tax // Start of Final Totalx var jsonPDFtotal = { type: "total", attr: { title: " Estimated Cost", price: "" } } table_body+="
Estimated Cost
"; var total_price = "" if( scc_currency_conversion_rate == -1 ){ total_price = currencyStyle(priceCommaStyler(finalTotal.toFixed(2))) }else { total_price = currencyStyle(priceCommaStyler(finalTotal.toFixed(2))) + ' (' + priceCommaStyler((finalTotal * scc_currency_conversion_rate).toFixed(2)) + ' ' + scc_currency_conversion_label + ') ' } jsonPDFtotal.attr["price"] = total_price table_body+="
"+ total_price +"
"; jsonPDF_1.rows.push(jsonPDFtotal) table_body+="
"; table_body+="
"; /* table_body+="
Issue On: ".date('m/d/Y H:i')."
"; */ var xheight = 42+height - 100; if (xheight "; table_body+=""; table_body+=""; scc_jQuery('#sccTale_price-1').html(table_body); if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('body', {lang: "en", t: translatorJson}); } scc_jQuery('body').find('.Description').each(function(index, ob){ jsonPDF_1.description = scc_jQuery(ob).text() }) scc_jQuery('body').find('.Quantity').each(function(index, ob){ jsonPDF_1.quantity = scc_jQuery(ob).text() }) scc_jQuery('body').find('.Unit').each(function(index, ob){ jsonPDF_1.unit = scc_jQuery(ob).text() }) scc_jQuery('body').find('.Price').each(function(index, ob){ jsonPDF_1.price = scc_jQuery(ob).text() }) scc_jQuery('body').find('.subtotal_tax_for_pdf').each(function(index, ob){ for(var i= 0; i = 0; i--){ if(price.indexOf('-') === -1){ if(!dot && (i === ((price.split('').length - 1) - 3) || i === ((price.split('').length - 1) - 6) || i === ((price.split('').length - 1) - 9))){ newPrice = ',' + newPrice }else if(dot && (i === ((price.split('').length - 1) - 6) || i === ((price.split('').length - 1) - 9) || i === ((price.split('').length - 1) - 12))){ newPrice = ',' + newPrice } newPrice = price.split('')[i] + newPrice }else{ if(!dot && (i === ((price.split('').length - 1) - 4) || i === ((price.split('').length - 1) - 6) || i === ((price.split('').length - 1) - 9))){ if(price.split('').length > 4){ newPrice = ',' + newPrice } }else if(dot && (i === ((price.split('').length - 1) - 6) || i === ((price.split('').length - 1) - 9) || i === ((price.split('').length - 1) - 12))){ if(price.split('').length > 7){ newPrice = ',' + newPrice } } newPrice = price.split('')[i] + newPrice } } if(newPrice.length >= 3 && ( newPrice.substring(newPrice.length - 3, newPrice.length - 1) === '.00' || newPrice.substring(newPrice.length - 3, newPrice.length) === '.00') ){ newPrice = newPrice.split('.')[0] } return newPrice; } roundedPrice = parseFloat(parseFloat(price).toFixed(2)); return roundedPrice.toLocaleString(navigator.languages[0]); } function addWooCommerce (buttonBackground, calculator_id) { var scc_mandatory = ''; scc_jQuery('.mandatory_yes_' + calculator_id).each(function(){ if(scc_jQuery(this).val() ==''){ scc_jQuery(this).parent().parent().parent().find('.alert-danger').html('Please choose an option !'); scc_jQuery(this).parent().parent().parent().find('.alert-danger').css('display','block'); if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('body', {lang: "en", t: translatorJson}); } checkIfParentIsAccordionAndOpenIt(this) scc_jQuery('html, body').animate({ scrollTop: scc_jQuery(this).offset().top }, 1000); scc_mandatory = 'scc_remains'; } }); if (scc_mandatory == '') { showWooCommerceLoadingModal(buttonBackground) $ajaxQuery= { url: rt_vars.rt_urlajax, type: 'POST', xhrFields: { responseType: '' }, data: { action: 'sccAddWooCommerce', payload: Base64.encode(JSON.stringify(jsonPDF_1)), }, success: function(data){ showWooCommerceModal(data, buttonBackground) }, error: function(err){ } } scc_jQuery.ajax($ajaxQuery); } } function hiddenClone(element){ // Create clone of element var clone = element.cloneNode(true); // Position element relatively within the // body but still out of the viewport var style = clone.style; // style.position = 'absolute'; // style.top = - window.innerHeight + 'px'; style.left = 0; style.top = 1000 + 'px' // style.background = '#FFFFFF' // Append clone to body and return the clone document.body.appendChild(clone); return clone; } function sendPDF_1(enable){ if(enable ==0){ scc_jQuery('.scc-alert').remove(); return; } $ajaxQuery= { url: rt_vars.rt_urlajax, type: 'POST', xhrFields: { responseType: '' }, data: { action: 'sccSendPDF', payload: Base64.encode(JSON.stringify(jsonPDF_1)), tableTitle, }, success: function(b64){ const linkSource = `data:application/pdf;base64,${b64}`; const downloadLink = document.createElement("a"); const fileName = jsonPDF_1.pdf_title + "-"+ new Date() +".pdf"; downloadLink.href = linkSource; downloadLink.download = fileName; downloadLink.click(); }, error: function(err){ console.log('err', err) console.log('err', err.responseText) var disposition = err.getResponseHeader('content-disposition'); var matches = /"([^"]*)"/.exec(disposition); var filename = (matches != null && matches[1] ? matches[1] : 'file.pdf'); // The actual download var blob = new Blob([err.responseText], { type: 'application/pdf' }); var link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = filename; document.body.appendChild(link); link.click(); document.body.removeChild(link); } } scc_jQuery.ajax($ajaxQuery); // var xmlhttp = new XMLHttpRequest(); // xmlhttp.open("POST", rt_vars.rt_urlajax, true); // xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); // xmlhttp.send(JSON.stringify({ // action: 'sccSendPDF', // payload: JSON.stringify(jsonPDF), // })); } var isMobile = false; function userSubmitSuccess() { // TODO } function sendemail_1($enable, event){ var isCaptchaEnabled = false; var captchaResponse = scc_jQuery(event).data('recaptcha-key'); if (isCaptchaEnabled && !captchaResponse) { sccProcessRecaptcha('', event); return; } var successModal = function(user, email) { return ` `;} var failedModal = function() { return ` `;} if($enable ==0){ scc_jQuery("#myModalSCCEmailQuote").modal(); scc_jQuery('.modal-backdrop').each(function(){ scc_jQuery(this).removeClass('modal-backdrop') }) return; } // if(!scc_jQuery('#sscemailAddress-1') || !scc_jQuery('#sscemailAddress-1').val() // || !scc_jQuery('#sscemailAddress-1').val().includes('@') // || !scc_jQuery('#sscemailAddress-1').val().includes('.') // || scc_jQuery('#sscemailAddress-1').val().includes('#') // || scc_jQuery('#sscemailAddress-1').val().length { textDangerElement.hide(300); }, 3000); return; } createSendEmailModal() // saving current display properties of the headers and footers to data for use when modal is closed scc_jQuery('header').each(function () { var headerState = scc_jQuery(this).css('display'); jQuery(this) .data('scc-headerState', headerState) .css({ display: 'none' }); }); scc_jQuery('footer').each(function () { var footerState = scc_jQuery(this).css('display'); jQuery(this) .data('scc-footerState', footerState) .css({ display: 'none' }); }); var title = document.getElementById("framtablename") ? document.getElementById("framtablename").innerText : ''; var bar=new RadialProgress(document.getElementById("scc_sendemail_progress_bar"),{indeterminate:false,colorFg:"#ce9528",thick:10,fixedTextSize:0.2}); bar.setValue(0.1); // scc_jQuery('.hover_bkgr_fricctableprice-1').show(); scc_jQuery('#sccprinterid').attr('style','display:none !important'); scc_jQuery('#sccidsent').hide(); scc_jQuery('#sccemailid').hide(); var currentScroll = scc_jQuery(document).scrollTop() scc_jQuery(document).scrollTop(0) var bodyWidth = scc_jQuery('body').css('width') if( navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i)){ isMobile = true } /* scc_jQuery('.scc-buttons-visibility').each(function(index, ob){ scc_jQuery(ob).css('display', 'none') }) */ bar.setValue(0.3) bar.setValue(0.5) scc_jQuery.getJSON('https://httpbin.org/ip', function(data) { var titleFromDatabase = ""; if(titleFromDatabase && titleFromDatabase.length > 0){ title = titleFromDatabase } var email = emailField.val(); var user = scc_jQuery(modalObject).find('[name="your-name"]').val() || "user"; var phone = scc_jQuery(modalObject).find('[name="your-phone"]').val(); bar.setValue(0.90); scc_jQuery(document).scrollTop(currentScroll) var ipaddress = 'no IP' if(data){ if(data.origin){ if(data.origin.length > 0 ){ ipaddress = data.origin.split(',')[0] } } } var browserInfo = "" var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0; var isFirefox = typeof InstallTrigger !== 'undefined'; var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification)); var isIE = /*@cc_on!@*/false || !!document.documentMode; var isEdge = !isIE && !!window.StyleMedia; var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime); var isBlink = (isChrome || isOpera) && !!window.CSS; if(isOpera) browserInfo = "Opera" if(isFirefox) browserInfo = "Firefox" if(isSafari) browserInfo = "Safari" if(isIE) browserInfo = "Internet Explorer" if(isEdge) browserInfo = "Edge" if(isChrome) browserInfo = "Chrome" var formData = new FormData(); try { // formData.append('file', jQuery('.scc_wrapper calc-id-1').find('.scc-file-upload input[type="file"]') // [0].files[0]) } catch (error) { } jQuery('.scc_wrapper .calc-id-1').find('.scc-file-upload input[type="file"]').each(function(i, e) { formData.append(`file-${i}`, e.files[0]); }) formData.append('action', 'sccSendEmail',) formData.append('payload', Base64.encode(JSON.stringify(jsonPDF_1))) formData.append('email_to', email) formData.append('user_to', user) formData.append('title', title) formData.append('ipaddress', ipaddress) formData.append('browserInfo', browserInfo) formData.append('captchaResponse', captchaResponse) $fragment_refresh={ url: rt_vars.rt_urlajax, type: 'POST', contentType: 'multipart/form-data', processData: false, contentType: false, data: formData, success: function(data) { bar.setValue(1); ClosePopup_scc2_1() setTimeout(() => { removeSendEmailProgress() scc_jQuery('body').css({ overflow: 'visible' }); // restore header and footer's initial display property value scc_jQuery('header').each(function () { var initialState = jQuery(this).data('scc-headerState'); scc_jQuery(this).css({display: initialState}); }); scc_jQuery('footer').each(function () { var initialState = jQuery(this).data('scc-footerState'); scc_jQuery(this).css({display: initialState}); }); }, 1000); // scc_jQuery('#statusMsg-1').html(' Thank you, '+user+'. Your quote has been sent to '+email+''); if (data.success) { scc_jQuery('#statusMsg-1').html(successModal(user, email)); } else { scc_jQuery('#statusMsg-1').html(failedModal); } if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('#statusMsg-1', {lang: "en", t: translatorJson}); } scc_jQuery('#statusMsg-modal-1').modal('show'); scc_jQuery('#sccquoteModal_1').find('.df-scc-euiModalBody__overflow').show(); scc_jQuery('#sccquoteModal_1').find('.df-scc-euiModalBody__overflow.recaptcha').hide(); } } scc_jQuery.ajax( $fragment_refresh ) }) .fail(function() { $fragment_refresh={ url: rt_vars.rt_urlajax, type: 'POST', data: { action: 'sccSendEmail', payload: Base64.encode(JSON.stringify(jsonPDF_1)), email_to: email, user_to: user, title: title, phone: phone, ipaddress: '', browserInfo: browserInfo, device: isMobile, captchaResponse: captchaResponse }, success: function(data) { bar.setValue(1) ClosePopup_scc2() setTimeout(() => { removeSendEmailProgress() scc_jQuery('body').css({ overflow: 'visible' }); // restore header and footer's initial display property value scc_jQuery('header').each(function () { var initialState = jQuery(this).data('scc-headerState'); scc_jQuery(this).css({display: initialState}); }); scc_jQuery('footer').each(function () { var initialState = jQuery(this).data('scc-footerState'); scc_jQuery(this).css({display: initialState}); }); }, 1000); // scc_jQuery('#statusMsg-1').html(' Thank you, '+user+'. Your quote has been sent to '+email+''); try { data.success; scc_jQuery('#statusMsg-1').html(successModal(user, email)); } catch (error) { scc_jQuery('#statusMsg-1').html(failedModal); } if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('#statusMsg-1', {lang: "en", t: translatorJson}); } scc_jQuery('#statusMsg-1').modal('show'); scc_jQuery('#sccquoteModal_1').find('.df-scc-euiModalBody__overflow').show(); scc_jQuery('#sccquoteModal_1').find('.df-scc-euiModalBody__overflow.recaptcha').hide(); } } scc_jQuery.ajax( $fragment_refresh ) }) // scc_jQuery('.scc-email-popup-close').click(); modalObject.closest('.scc-email-popup.in').modal('hide'); setTimeout(function(){scc_jQuery('#sccidsent').show();},600); } function check(doc,title, clone, currentScroll, bar){ scc_jQuery.getJSON('https://httpbin.org/ip', function(data) { var titleFromDatabase = ""; if(titleFromDatabase && titleFromDatabase.length > 0){ title = titleFromDatabase } var email = scc_jQuery('#sscemailAddress-1').val() var user = scc_jQuery('#sscuserAddress-1').val() var phone = scc_jQuery('#sscuserPhone-1').val(); bar.setValue(0.90); var pdf = btoa(doc.output()); scc_jQuery(document).scrollTop(currentScroll) var ipaddress = 'no IP' if(data){ if(data.origin){ if(data.origin.length > 0 ){ ipaddress = data.origin.split(',')[0] } } } var browserInfo = "" var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0; var isFirefox = typeof InstallTrigger !== 'undefined'; var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification)); var isIE = /*@cc_on!@*/false || !!document.documentMode; var isEdge = !isIE && !!window.StyleMedia; var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime); var isBlink = (isChrome || isOpera) && !!window.CSS; if(isOpera) browserInfo = "Opera" if(isFirefox) browserInfo = "Firefox" if(isSafari) browserInfo = "Safari" if(isIE) browserInfo = "Internet Explorer" if(isEdge) browserInfo = "Edge" if(isChrome) browserInfo = "Chrome" $fragment_refresh={ url: rt_vars.rt_urlajax, type: 'POST', data: { action: 'sccSendEmail', payload: Base64.encode(JSON.stringify(jsonPDF_1)), email_to: email, user_to: user, title: title, phone: phone, ipaddress: ipaddress, browserInfo: browserInfo, device: isMobile, captchaResponse: captchaResponse }, success: function(data) { bar.setValue(1); ClosePopup_scc2_1(); document.body.removeChild(clone); setTimeout(() => { removeSendEmailProgress() scc_jQuery('body').css({ overflow: 'visible' }); // restore header and footer's initial display property value scc_jQuery('header').each(function () { var initialState = jQuery(this).data('scc-headerState'); scc_jQuery(this).css({display: initialState}); }); scc_jQuery('footer').each(function () { var initialState = jQuery(this).data('scc-footerState'); scc_jQuery(this).css({display: initialState}); }); }, 1000); // scc_jQuery('#statusMsg-1').html(' Thank you, '+user+'. Your quote has been sent to '+email+''); try { data.success; scc_jQuery('#statusMsg-1').html(successModal(user, email)); } catch (error) { scc_jQuery('#statusMsg-1').html(failedModal); } if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('#statusMsg-1', {lang: "en", t: translatorJson}); } scc_jQuery('#statusMsg-1').modal('show'); scc_jQuery('#sccquoteModal_1').find('.df-scc-euiModalBody__overflow').show(); scc_jQuery('#sccquoteModal_1').find('.df-scc-euiModalBody__overflow.recaptcha').hide(); } } scc_jQuery.ajax( $fragment_refresh ) }) .fail(function() { $fragment_refresh={ url: rt_vars.rt_urlajax, type: 'POST', data: { action: 'sccSendEmail', image: pdf, email_to: email, user_to: user, title: title, phone: phone, ipaddress: '' }, success: function(data) { // scc_jQuery('#scc_sending_email_progress_container').css('display', 'none') updateSendEmailProgress(100) ClosePopup_scc2(); document.body.removeChild(clone); setTimeout(() => { removeSendEmailProgress() scc_jQuery('body').css({ overflow: 'visible' }); // restore header and footer's initial display property value scc_jQuery('header').each(function () { var initialState = jQuery(this).data('scc-headerState'); scc_jQuery(this).css({display: initialState}); }); scc_jQuery('footer').each(function () { var initialState = jQuery(this).data('scc-footerState'); scc_jQuery(this).css({display: initialState}); }); }, 1000); // scc_jQuery('#statusMsg-1').html(' Thank you, '+user+'. Your quote has been sent to '+email+''); scc_jQuery('#statusMsg-1').html(newModal); scc_jQuery('#statusMsg-1').modal('show'); } } scc_jQuery.ajax( $fragment_refresh ) }) } PrintDoc = function(enable, calcId){ if(enable === 0){ scc_jQuery('.scc-alert').remove(); scc_jQuery('body').find('.scc-detailed-list-head').each(function(index, ob){ scc_jQuery(ob).html(""); }) return; } // https://stackoverflow.com/questions/40469412/trigger-print-preview-of-base64-encoded-pdf-from-javascript printPreview = (data, type = 'application/pdf') => { let blob = null; blob = this.b64toBlob(data, type); const blobURL = URL.createObjectURL(blob); const theWindow = window.open(blobURL); const theDoc = theWindow.document; const theScript = document.createElement('script'); function injectThis() { window.print(); } theScript.innerHTML = `window.onload = ${injectThis.toString()};`; theDoc.body.appendChild(theScript); }; b64toBlob = (content, contentType) => { contentType = contentType || ''; const sliceSize = 512; // method which converts base64 to binary const byteCharacters = window.atob(content); const byteArrays = []; for (let offset = 0; offset { scc_jQuery('#scc_send_email_progress_modal').remove() scc_jQuery('.modal-backdrop').each((index, element) => { scc_jQuery('#preview_modal').modal('hide') element.remove() scc_jQuery(element).remove() setTimeout(() => { scc_jQuery('#scc_send_email_progress_modal').modal('hide') scc_jQuery('#scc_send_email_progress_modal').modal('hide') }, 1000); }); }, 1000); } function createSendEmailModal(){ var code = '' code += '' scc_jQuery('#scc_sending_email_progress_container').html(code) scc_jQuery('#scc_send_email_progress_modal').modal('show') if( navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i)){ scc_jQuery('#scc_send_email_progress_modal').css('left', 80) scc_jQuery('#scc_send_email_progress_modal').css('top', 80) } } window.rp_requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||(function(callback,element){setTimeout(callback,1000/60);}); function RadialProgress(container,cfg){ container.innerHTML=""; var nc=document.createElement("div"); nc.style.width="10em"; nc.style.height="10em"; nc.style.position="relative"; container.appendChild(nc); container=nc; if(!cfg) cfg={}; this.colorBg=cfg.colorBg==undefined?"#404040":cfg.colorBg; this.colorFg=cfg.colorFg==undefined?"#007FFF":cfg.colorFg; this.colorText=cfg.colorText==undefined?"#000000":cfg.colorText; this.indeterminate=cfg.indeterminate==undefined?false:cfg.indeterminate; this.round=cfg.round==undefined?false:cfg.round; this.thick=cfg.thick==undefined?2:cfg.thick; this.progress=cfg.progress==undefined?0:cfg.progress; this.noAnimations=cfg.noAnimations==undefined?0:cfg.noAnimations; this.fixedTextSize=cfg.fixedTextSize==undefined?false:cfg.fixedTextSize; this.animationSpeed=cfg.animationSpeed==undefined?1:cfg.animationSpeed>0?cfg.animationSpeed:1; this.noPercentage=cfg.noPercentage==undefined?false:cfg.noPercentage; this.spin=cfg.spin==undefined?false:cfg.spin; if(cfg.noInitAnimation) this.aniP=this.progress; else this.aniP=0; var c=document.createElement("canvas"); c.style.position="absolute";c.style.top="0";c.style.left="0";c.style.width="100%";c.style.height="100%";c.className="rp_canvas"; container.appendChild(c); this.canvas=c; var tcc=document.createElement("div"); tcc.style.position="absolute";tcc.style.display="table";tcc.style.width="100%";tcc.style.height="100%"; var tc=document.createElement("div"); tc.style.display="table-cell";tc.style.verticalAlign="middle"; var t=document.createElement("div"); t.style.color=this.colorText;t.style.textAlign="center";t.style.overflow="visible";t.style.whiteSpace="nowrap";t.className="rp_text"; tc.appendChild(t); tcc.appendChild(tc); container.appendChild(tcc); this.text=t; this.prevW=0; this.prevH=0; this.prevP=0; this.indetA=0; this.indetB=0.2; this.rot=0; this.draw=function(f){ if(!(f==true))rp_requestAnimationFrame(this.draw); var c=this.canvas; var dp=window.devicePixelRatio||1; c.width=c.clientWidth*dp; c.height=c.clientHeight*dp; if(!(f==true)&&!this.spin&&!this.indeterminate&&(Math.abs(this.prevP-this.progress)1?1:p;}, setIndeterminate:function(i){this.indeterminate=i;}, setText:function(t){this.text.innerHTML=t;} }

Carefully crafted elements come together into one amazing design.

  • AWESOME DESIGN

    • Modern electronic commerce typically uses the World Wide Web at least at one point
    • Ecommerce Development
    • Premium Sliders
    • Retina Ready Graphics
    • Mobile Ready Now
  • MODERN & CLEAN

    • Modern electronic commerce typically uses the World Wide Web at least at one point
    • Ecommerce Development
    • Premium Sliders
    • Retina Ready Graphics
    • Mobile Ready Now
  • RESPONSIVE LAYOUT

    • Modern electronic commerce typically uses the World Wide Web at least at one point
    • Ecommerce Development
    • Premium Sliders
    • Retina Ready Graphics
    • Mobile Ready Now
  • DEDICATED SUPPORT

    • Modern electronic commerce typically uses the World Wide Web at least at one point
    • Ecommerce Development
    • Premium Sliders
    • Retina Ready Graphics
    • Mobile Ready Now