wordpress maintenance and support

SEO content writing gurus

Professionally written content that not only ranks high on Google but engages your visitors turning them into paying customers.

World class, well researched content at affordable rates delivered in just a few working days.

To put it simply: our content kicks a**.

Why outsource your SEO content writing?

Whatever your website promotes, be it blogs, products or services, your website content needs to be well researched, well written and well optimised.

Untitled design

Save time

Running a successful business is time consuming enough. Delegating certain tasks to experts can not only free up your valuable time but also produce better results.

Untitled design

Quality

Our UK native copywriters strive to ensure their work is of the highest quality every single time. Saving you time and producing outstanding results.

Untitled design

Persuasive

Learning how your audience ticks, we can create content to persuade your website visitors to take action. We will write sales copy that isn't pushy but makes your users take action and purchase your services.

Untitled design

Boost sales

Our expert copywriters will research & capture the essence of your service, selling it to your target audience in a way that is both engaging and fascinating, increasing sales.

Untitled design

Expertise

Content writers don’t just write. We research to fully understand the topic we are writing about. We have experts in many fields, ensuring your content is written by someone who understands your business.

wordpress monthly maintenance plan

Price

Most agencies (those of quality, anyway) usually charge around 10p per word - £50 for 500 words. Are prices start from as low as just 4p per word without you taking a hit on the quality that's produced.

Content is King, but excellence is it’s Queen

Content is king. We’re sure you’ve heard that saying before.

Google loves new, fresh and engaging content. Updating your website regularly, with high quality, valuable content won’t go unnoticed by those creepy crawlers at Google.

Brand identity is important, especially in the online world. It helps consumers understand what your business is about, your personality, ethics, and expertise. Content, and it’s tone is usually overlooked when a business starts out and is trying to create it’s brand. 

wordpress web design company
wordpress website design company

Who are Dorks?

Great question. We’re a WordPress web design company that’s home to some of the best WordPress experts known to man. We live and breath all things WordPress. We teamed up to form a “WordPress development agency” – we don’t like this phrase too much. At heart we’re all freelancers, entrepreneurs and experts within our fields, but we understood that to be able to provide world class WordPress services all under one roof, we needed to form and create a hub for all our lovely existing and future clients. What does this mean for you? It means that you’re never going to be talking to some sales guy. We don’t have any of them. It means you’re always going to talk to someone who is passionate and a genuine pro in what they do! Depending on your project you’ll be assigned to an expert in each required field (e.g. WordPress developer, SEO champ, security geek). You’ll talk directly to the person doing your work. No middle man. No heavy sales pitch. Just quality work. Always.

How we work

What makes us the number #1 WordPress agency in the UK?

wordpress monthly maintenance plan

Transparent, affordable pricing

Look, if you want to send us an enquiry, we come back with the typical WordPress agency favourite question “what’s your budget?” then pitch you at just above or just below your budget then feel free. That said, all (well most, but all sounds soo much better) our prices are available on our website. Transparent, affordable, and still the best. Wow!

wordpress

Work with a WordPress
expert

Do you want to work with a project manager (internally known as a sales rep) or with the actual WordPress developer who’s going to be doing your work? Thought so! Direct contact. WhatsApp? Skype? Zoom? Yep! Or want the “we’ll respond to your email in 24 hours” jargon? That’s fine too. Either way ditch the middle man and work with someone who doesn’t have to go and ask their colleague!

ongoing wordpress maintenance

High quality. Fast delivery. Happy you

If you haven’t gathered already, we’re WordPress experts ( synonym of Guru – definitely not keyword stuffing Google – look away! ). We pride ourselves on incredibly high standards both in terms of quality and the speed in which we deliver (we can drag it out though, just ask!) Choose us and be happy now. Or choose us and be happy later, after you’ve hired someone else and lost time and money. Your choice, I guess.

Quality content from just 4p per word

Affordable high quality, researched content. Minimum order 1000 words.


 
Total 0 .
28/03/24
.
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 = 'GBP'; var lastTitle = '' var currentSubsection = -1 var sections = [] var section = [] var subsection = [] for(var i=0;i 0 || parts[i].value < 0 ) && parts[i].unit != 0) || (parts[i].value === 0 && parts[i].unit > 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("
"); height +=6; lastTitle = currentTitle; var jsonPDFrowSection = { type: "section_title", section_title: currentTitle } jsonPDF_4.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_4.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_4.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 < sections.length; i++) { // sections var sectionPrice = 0; for (var j = 0; j < sections[i].length; j++) { // subsections var subsectionPrice = 0 for(var k = 0; k < sections[i][j].length; k++) { // elements if(sections[i][j][k].type === "custom_math") { function applyCalculationToColumn(calculatorId, calculatedValue, type = '') { var showCurrencySymbol = true var regex = new RegExp(`${calculatorId + '-' + 'XXYYXX'}`) var replaceWith = showCurrencySymbol ? currencyStyle(priceCommaStyler(calculatedValue.toFixed(2))) : priceCommaStyler(calculatedValue.toFixed(2)) table_body = table_body.replace(regex, type + ' ' + replaceWith) } switch (sections[i][j][k].attr.type) { case "+": subsectionPrice = subsectionPrice + Number(sections[i][j][k].attr.value) appliedValue = Number(sections[i][j][k].attr.value) applyCalculationToColumn(parts[k].calculator_id, appliedValue , '+') break case "-": subsectionPrice = subsectionPrice - Number(sections[i][j][k].attr.value) appliedValue = Number(sections[i][j][k].attr.value) applyCalculationToColumn(parts[k].calculator_id, appliedValue, '-') break case "x": subsectionPrice = subsectionPrice * Number(sections[i][j][k].attr.value) applyCalculationToColumn(parts[k].calculator_id, subsectionPrice) break case "%": // var showCurrencySymbol = true var percentCalculation = subsectionPrice * Number(sections[i][j][k].attr.value/100) subsectionPrice = subsectionPrice * Number(1 + (sections[i][j][k].attr.value/100)) applyCalculationToColumn(parts[k].calculator_id, percentCalculation) // var regex = new RegExp(`${parts[k].calculator_id + '-' + 'XXYYXX'}`) // var replaceWith = showCurrencySymbol ? currencyStyle(priceCommaStyler(percentCalculation.toFixed(2))) : priceCommaStyler(percentCalculation.toFixed(2)) // table_body = table_body.replace(regex, replaceWith) break case "/": subsectionPrice = Number(sections[i][j][k].attr.value) ? ( subsectionPrice / Number(sections[i][j][k].attr.value) ) : subsectionPrice applyCalculationToColumn(parts[k].calculator_id, subsectionPrice) break } }else if (sections[i][j][k].type === "element" || sections[i][j][k].type === "element_dropdown") { subsectionPrice += sections[i][j][k].attr.unit * sections[i][j][k].attr.value } } if(subsectionPrice < 0) { // subsectionPrice = 0 } sectionPrice += subsectionPrice } totalPrice += sectionPrice } if(totalPrice < 0) { totalPrice = 0 } /* END - CUSTOM MATH CALCULATOR */ subTotal = totalPrice; if(taxrate !=0 && taxrate !=''){ tax = (totalPrice * taxrate)/100; finalTotal = totalPrice + tax; }else{ finalTotal = totalPrice; } //mark-10072019 tax view position change if(comments && comments.length > 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_4.rows.push(jsonDPDFcomment) } // table_body +="
" } subTotal = displayCouponDiscountInFrontEnd_4(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_4){ // table_body+="
"; if(Number(coupon_4.discountpercentage) != -1){ var jsonPDFcoupon = { type: "coupon", attr: { title: "Coupon Discount " + coupon_4.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_4.discountpercentage + "%", discount_price: "" } } } } // scc-col-md-6 scc-col-xs-6 sscfull-height position-relative table__fricctableprice table_body+="
Coupon Discount " + coupon_4.discountpercentage + "%
"; jsonPDFcoupon.attr["discount_price"] = "-" + currencyStyle(priceCommaStyler(coupon_4.discount_value_total.toFixed(2))) +"" table_body+="
-" + priceCommaStyler(coupon_4.discount_value_total.toFixed(2)) +" GBP
"; jsonPDF_4.rows.push(jsonPDFcoupon) } if(Number(coupon_4.discountvalue) != -1){ var jsonPDFcoupon = { type: "coupon", attr: { title: "", discount_price: "" } } jsonPDFcoupon.attr["title"] = "Coupon Discount " + currencyStyle(priceCommaStyler(Number(coupon_4.discountvalue).toFixed(2))) jsonPDFcoupon.attr["discount_price"] = "-" + currencyStyle(priceCommaStyler(coupon_4.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_4.discountvalue).toFixed(2))) } } table_body+="
Coupon Discount " + priceCommaStyler(Number(coupon_4.discountvalue).toFixed(2)) + " GBP
"; table_body+="
-" + priceCommaStyler(coupon_4.discount_value_total.toFixed(2)) +" GBP
"; jsonPDF_4.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: "Total Price", price: "" } } table_body+="
Total Price
"; 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_4.rows.push(jsonPDFtotal) table_body+="
"; table_body+="
"; /* table_body+="
Issue On: ".date('m/d/Y H:i')."
"; */ var xheight = 42+height - 100; if (xheight <= 5) xheight =5;//console.log(xheight, height); table_body+="
"; table_body+="
"; table_body+="
"; scc_jQuery('#sccTale_price-4').html(table_body); if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('body', {lang: "en", t: translatorJson}); } scc_jQuery('body').find('.Description').each(function(index, ob){ jsonPDF_4.description = scc_jQuery(ob).text() }) scc_jQuery('body').find('.Quantity').each(function(index, ob){ jsonPDF_4.quantity = scc_jQuery(ob).text() }) scc_jQuery('body').find('.Unit').each(function(index, ob){ jsonPDF_4.unit = scc_jQuery(ob).text() }) scc_jQuery('body').find('.Price').each(function(index, ob){ jsonPDF_4.price = scc_jQuery(ob).text() }) scc_jQuery('body').find('.subtotal_tax_for_pdf').each(function(index, ob){ for(var i= 0; i < jsonPDF_4.rows.length; i++){ if(jsonPDF_4.rows[i].type == "subtotal_tax") { jsonPDF_4.rows[i].attr.title = scc_jQuery(ob).text() } } }) scc_jQuery('body').find('.tax_for_pdf').each(function(index, ob){ for(var i= 0; i < jsonPDF_4.rows.length; i++){ if(jsonPDF_4.rows[i].type == "tax") { jsonPDF_4.rows[i].attr.title = scc_jQuery(ob).text() } } }) // console.log('elemnts array:', jsonPDF) priceObject = { price: subTotal, scc_currency_conversion_rate: scc_currency_conversion_rate, scc_currency_conversion_label: scc_currency_conversion_label } return priceObject } function priceCommaStyler(price){ isCommaBasedStyling = true; price = price + ''; if (isCommaBasedStyling) { var dot = price.indexOf('.') === -1 ? false : true var newPrice = '' for(var i = (price.split('').length - 1) ; 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_4)), }, 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_4(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_4)), tableTitle, }, success: function(b64){ const linkSource = `data:application/pdf;base64,${b64}`; const downloadLink = document.createElement("a"); const fileName = jsonPDF_4.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_4($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-4') || !scc_jQuery('#sscemailAddress-4').val() // || !scc_jQuery('#sscemailAddress-4').val().includes('@') // || !scc_jQuery('#sscemailAddress-4').val().includes('.') // || scc_jQuery('#sscemailAddress-4').val().includes('#') // || scc_jQuery('#sscemailAddress-4').val().length < 4){ // scc_jQuery('#email-error-4').html('Email not valid') // return; // } var modalObject = scc_jQuery(event).closest('.df-scc-euiModal'); var emailField = scc_jQuery(modalObject).find('[name="your-email"]'); if(!emailField || !emailField.val() || !emailField.val().includes('@') || !emailField.val().includes('.') || emailField.val().includes('#') || emailField.val().length < 4 ) { var textDangerElement = emailField.closest('.df-scc-euiFormRow__fieldWrapper').find('.text-danger'); textDangerElement.show(300); setTimeout(() => { 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:"#654abe",thick:10,fixedTextSize:0.2}); bar.setValue(0.1); // scc_jQuery('.hover_bkgr_fricctableprice-4').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 = "Dorks"; 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-4').find('.scc-file-upload input[type="file"]') // [0].files[0]) } catch (error) { } jQuery('.scc_wrapper .calc-id-4').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_4))) 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_4() 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-4').html(' Thank you, '+user+'. Your quote has been sent to '+email+''); if (data.success) { scc_jQuery('#statusMsg-4').html(successModal(user, email)); } else { scc_jQuery('#statusMsg-4').html(failedModal); } if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('#statusMsg-4', {lang: "en", t: translatorJson}); } scc_jQuery('#statusMsg-modal-4').modal('show'); scc_jQuery('#sccquoteModal_4').find('.df-scc-euiModalBody__overflow').show(); scc_jQuery('#sccquoteModal_4').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_4)), 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-4').html(' Thank you, '+user+'. Your quote has been sent to '+email+''); try { data.success; scc_jQuery('#statusMsg-4').html(successModal(user, email)); } catch (error) { scc_jQuery('#statusMsg-4').html(failedModal); } if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('#statusMsg-4', {lang: "en", t: translatorJson}); } scc_jQuery('#statusMsg-4').modal('show'); scc_jQuery('#sccquoteModal_4').find('.df-scc-euiModalBody__overflow').show(); scc_jQuery('#sccquoteModal_4').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 = "Dorks"; if(titleFromDatabase && titleFromDatabase.length > 0){ title = titleFromDatabase } var email = scc_jQuery('#sscemailAddress-4').val() var user = scc_jQuery('#sscuserAddress-4').val() var phone = scc_jQuery('#sscuserPhone-4').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_4)), 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_4(); 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-4').html(' Thank you, '+user+'. Your quote has been sent to '+email+''); try { data.success; scc_jQuery('#statusMsg-4').html(successModal(user, email)); } catch (error) { scc_jQuery('#statusMsg-4').html(failedModal); } if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('#statusMsg-4', {lang: "en", t: translatorJson}); } scc_jQuery('#statusMsg-4').modal('show'); scc_jQuery('#sccquoteModal_4').find('.df-scc-euiModalBody__overflow').show(); scc_jQuery('#sccquoteModal_4').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-4').html(' Thank you, '+user+'. Your quote has been sent to '+email+''); scc_jQuery('#statusMsg-4').html(newModal); scc_jQuery('#statusMsg-4').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 < byteCharacters.length; offset += sliceSize) { const slice = byteCharacters.slice(offset, offset + sliceSize); const byteNumbers = new Array(slice.length); for (let i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i); } const byteArray = new Uint8Array(byteNumbers); byteArrays.push(byteArray); } const blob = new Blob(byteArrays, { type: contentType }); // statement which creates the blob return blob; }; $ajaxQuery= { url: rt_vars.rt_urlajax, type: 'POST', xhrFields: { responseType: '' }, data: { action: 'sccSendPDF', payload: Base64.encode(JSON.stringify(eval(`jsonPDF_${calcId}`))), tableTitle, }, success: function(b64){ printPreview(b64); }, error: function(err){ console.log('err', err) console.log('err', err.responseText) } } scc_jQuery.ajax($ajaxQuery); //scc_jQuery('#scc-summary-view-header').css('background-color', '#F1F1F1') } function updateSendEmailProgress(value){ var elem = document.getElementById("myBar_scc"); elem.innerHTML = value + "%"; //scc_jQuery('#scc_sendemail_progress_value').html(value + '%') } function removeSendEmailProgress(){ scc_jQuery('#scc_send_email_progress_modal').modal('hide') scc_jQuery('#scc_sending_email_progress_container').html('') scc_jQuery('#scc_send_email_progress_modal').modal('hide') scc_jQuery('#scc_send_email_progress_modal').modal('hide') setTimeout(() => { 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&&this.prevW==c.width&&this.prevH==c.height)) return; var centerX=c.width/2, centerY=c.height/2, bw=(c.clientWidth/100.0), radius=c.height/2-(this.thick*bw*dp)/2, bw=(c.clientWidth/100.0); this.text.style.fontSize=(this.fixedTextSize?(c.clientWidth*this.fixedTextSize):(c.clientWidth*0.26-this.thick))+"px"; if(this.noAnimations) this.aniP=this.progress; else{var aniF=Math.pow(0.93,this.animationSpeed);this.aniP=this.aniP*aniF+this.progress*(1-aniF);} c=c.getContext("2d"); c.beginPath(); c.strokeStyle=this.colorBg; c.lineWidth=this.thick*bw*dp; c.arc(centerX,centerY,radius,-Math.PI/2, 2*Math.PI); c.stroke(); c.beginPath(); c.strokeStyle=this.colorFg; c.lineWidth=this.thick*bw*dp; if(this.round) c.lineCap="round"; if(this.indeterminate){ this.indetA=(this.indetA+0.07*this.animationSpeed)%(2*Math.PI);this.indetB=(this.indetB+0.14*this.animationSpeed)%(2*Math.PI); c.arc(centerX,centerY,radius,this.indetA, this.indetB); if(!this.noPercentage)this.text.innerHTML=""; }else{ if(this.spin&&!this.noAnimations)this.rot=(this.rot+0.07*this.animationSpeed)%(2*Math.PI) c.arc(centerX,centerY,radius,this.rot-Math.PI/2, this.rot+this.aniP*(2*Math.PI)-Math.PI/2); if(!this.noPercentage)this.text.innerHTML=Math.round(100*this.aniP)+" %"; } c.stroke(); this.prevW=c.width; this.prevH=c.height; this.prevP=this.aniP; }.bind(this); this.draw(); } RadialProgress.prototype={ constructor:RadialProgress, setValue:function(p){this.progress=p<0?0:p>1?1:p;}, setIndeterminate:function(i){this.indeterminate=i;}, setText:function(t){this.text.innerHTML=t;} }
"+scc_jQuery(this).find("option:selected").attr('data-description')+"
", value:parseFloat(getDropDownValue(this)), unit: 1, section: sec, subsection: sub, paypal_name: scc_jQuery(this).find("option:selected").text(), scc_woo_commerce_product_id: scc_jQuery(this).find("option:selected").attr('scc_woo_commerce_product_id'), calculator_id: Number(scc_jQuery(this).find("option:selected").attr('calculator_id')) }; parts.push(switched); } } else if ('sliderinput' == scc_jQuery(this).attr('data-inputtype')){ sliderId = '#' + scc_jQuery(this).attr('data-slider-id'); totalnumber1 =scc_jQuery(this).attr('data_range').split(","); var sliderunitprc = totalnumber1 [totalnumber1.length-1]; var slide_value = parseFloat(scc_jQuery(this).attr('data-value')); speechBubble = scc_jQuery(`${sliderId} > .tooltip.tooltip-main.top.in .scc-slider-speech-bubble`); var unitprice = sliderunitprc*slide_value; isPriceHintEnabled = scc_jQuery(this).attr('data-show-pricehint') == 'true'; function isSliderHover() { return scc_jQuery(sliderId).is(':hover'); } multislider[sec][sub]=slide_value; for (k=0;k
"+scc_jQuery(this).parent().parent().parent().find('label:last').text()+"

", unit:slide_value, value: parseFloat(totalnumber1[k+2]), section: sec, subsection: sub, sliderInsubsection: true, paypal_name: scc_jQuery(this).parent().parent().find('label:last').text(), scc_woo_commerce_product_id: scc_jQuery(this).attr('scc_woo_commerce_product_id'), calculator_id: Number(scc_jQuery(this).attr('id').split('_')[scc_jQuery(this).attr('id').split('_').length -1]) }; if (isPriceHintEnabled && isSliderHover()) { roundedPrice = (switched.value * switched.unit).toFixed(2); speechBubble.text((currencyStyleOption === 0) ? currencySymbol(currencyLabel) + ' ' + priceCommaStyler(roundedPrice) : priceCommaStyler(roundedPrice) + ' ' + currencyLabel).css('display', 'block').delay(3000).fadeOut('slow') ; }; parts.push(switched); //price += multislider[j]*(xprice[j]+hmm[j]); break; } } } else if ('comment_input' == scc_jQuery(this).attr('data-inputtype')){ if(scc_jQuery(this) && scc_jQuery(this).val() && scc_jQuery(this).val().length > 0){ const comment = { name: "

"+scc_jQuery(this).parent().parent().find('label:last').text()+"

", text: scc_jQuery(this).val(), section: sec, subsection: sub, unit: 1, value: 0, comment: true, paypal_title: scc_jQuery(this).parent().parent().find('label:last').text(), paypal_text: scc_jQuery(this).val(), calculator_id: Number(scc_jQuery(this).attr('calculator_id')) } parts.push(comment); //comments.push(comment); } } else if ('number_input' == scc_jQuery(this).attr('data-inputtype')){ var unitValue =scc_jQuery(this).attr('data-value'); const switched={ name: "

"+scc_jQuery(this).parent().parent().find('label:last').text()+"

", unit:scc_jQuery(this).val(), value: unitValue, section: sec, subsection: sub, numberInput: true, paypal_name: scc_jQuery(this).parent().parent().find('label:last').text(), scc_woo_commerce_product_id: scc_jQuery(this).attr('scc_woo_commerce_product_id'), calculator_id: Number(scc_jQuery(this).attr('calculator_id')) }; parts.push(switched); hmm[sec][sub] = unitValue * scc_jQuery(this).val() } else if('scc_custom_math' == scc_jQuery(this).attr('data-inputtype')) { const switched={ name: '' + scc_jQuery(this).attr('data-name') + '', unit: 1, value: scc_jQuery(this).attr('data-value'), section: sec, subsection: sub, numberInput: true, paypal_name: '', custom_math: true, custom_math_type: scc_jQuery(this).attr('data-math-type'), calculator_id: Number(scc_jQuery(this).attr('calculator_id')), scc_woo_commerce_product_id: 0, show_detailed_list: scc_jQuery(this).parent().parent().attr('data-show-detailed-list') ? scc_jQuery(this).parent().parent().attr('data-show-detailed-list') : false }; parts.push(switched); hmm[sec][sub] = unitValue * scc_jQuery(this).val() } else { var sld = parseFloat(scc_jQuery(this).val()); } }); var _unit =1; var _section =9999999; var _usection =9999999; var calculator_id = 4; for (var j = parts.length; j--;){ if(parts[j].section != _section || parts[j].subsection != _usection){ if(!parts[j].sliderInsubsection){ _section = parts[j].section; _usection = parts[j].subsection; if(parts[j].numberInput){ if(!isNaN(parseFloat(scc_jQuery('#itemcreateds_'+_section+'_'+_usection+'_'+calculator_id+'.slider').attr('data-value')))){ // ticket 1350 parts[j].unit = parts[j].unit * parseFloat(scc_jQuery('#itemcreateds_'+_section+'_'+_usection+'_'+calculator_id+'.slider').attr('data-value')); _unit = parseFloat(scc_jQuery('#itemcreateds_'+_section+'_'+_usection+'_'+calculator_id+'.slider').attr('data-value')) }else{ _unit = 1 } }else{ parts[j].unit =parseFloat(scc_jQuery('#itemcreateds_'+_section+'_'+_usection+'_'+calculator_id+'.slider').attr('data-value')); _unit = parts[j].unit; } } }else { var secn = parts[j].section; var subsecn = parts[j].subsection; //parts[j].unit = _unit; //_unit = parseFloat(scc_jQuery('#itemcreateds_'+secn+'_'+subsecn).attr('data-value')); if(parts[j].numberInput){ if(!isNaN(parseFloat(scc_jQuery('#itemcreateds_'+secn+'_'+subsecn+'_'+calculator_id+'.slider').attr('data-value')))){ parts[j].unit = parts[j].unit * parseFloat(scc_jQuery('#itemcreateds_'+secn+'_'+subsecn+'_'+calculator_id+'.slider').attr('data-value')); _unit = parseFloat(scc_jQuery('#itemcreateds_'+secn+'_'+subsecn+'_'+calculator_id+'.slider').attr('data-value')) // _unit = 1 }else{ _unit = 1 } }else{ // ticket 1350 parts[j].unit = parseFloat(scc_jQuery('#itemcreateds_'+secn+'_'+subsecn+'_'+calculator_id+'.slider').attr('data-value')) _unit = parts[j].unit; } } } var executeMaths = true for(var i=0; i < parts.length; i++) { if(calculator_id != parts[i].calculator_id) { executeMaths = false } } if(executeMaths) { priceObject = CreateTable_4(parts, comments); price = priceObject.price var scc_currency_conversion_rate = priceObject.scc_currency_conversion_rate var scc_currency_conversion_label = priceObject.scc_currency_conversion_label /*for(i =0; i (' + priceCommaStyler((totalPrice_tax_included * scc_currency_conversion_rate).toFixed(2)) + ' ' + scc_currency_conversion_label + ')') } } if(subTotalPrice){ scc_jQuery('#subtotal_price_with_currency_label_4').html(currencySymbol(currencyLabel) + ' ' + priceCommaStyler(subTotalPrice.toFixed(2))) } if(coupon_4){ if(Number(coupon_4.discountpercentage) != -1){ scc_jQuery('#coupon_discount_with_currency_label_4').html(currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.discount_value_total.toFixed(2))) } if(Number(coupon_4.discountvalue) != -1){ scc_jQuery('#coupon_discount_with_currency_label_4').html(currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.discount_value_total.toFixed(2))) } } }else if(currencyStyleOption === 1){ if(tax){ scc_jQuery('#tax_price_with_currency_label_4').html( priceCommaStyler(tax.toFixed(2)) + ' ' + currencyLabel) }else{ scc_jQuery('#tax_price_with_currency_label_4').html( '0 ' + currencyLabel) } if(totalPrice_tax_included){ if(scc_currency_conversion_rate == -1) { scc_jQuery('#total_price_with_currency_label_4').html(priceCommaStyler(totalPrice_tax_included.toFixed(2)) + '' + currencyLabel ) }else { scc_jQuery('#total_price_with_currency_label_4').html(priceCommaStyler(totalPrice_tax_included.toFixed(2)) + '' + currencyLabel + '

(' + priceCommaStyler((totalPrice_tax_included * scc_currency_conversion_rate).toFixed(2)) + ' ' + scc_currency_conversion_label + ')
') } } if(subTotalPrice){ scc_jQuery('#subtotal_price_with_currency_label_4').html(priceCommaStyler(subTotalPrice.toFixed(2)) + ' ' + currencyLabel) } if(coupon_4){ if(Number(coupon_4.discountpercentage) != -1){ scc_jQuery('#coupon_discount_with_currency_label_4').html(priceCommaStyler(coupon_4.discount_value_total.toFixed(2)) + ' ' + currencyLabel) } if(Number(coupon_4.discountvalue) != -1){ scc_jQuery('#coupon_discount_with_currency_label_4').html(priceCommaStyler(coupon_4.discount_value_total.toFixed(2)) + ' ' + currencyLabel) } } } if(currencyStyleOption === 0){ if(scc_currency_conversion_rate == -1) { scc_jQuery(parent_id + ' .totalPrice').find("#totalvalue").text((priceCommaStyler(totalPrice_tax_included.toFixed(2))) ); }else { // console.log('reached'); scc_jQuery(parent_id + ' .totalPrice').find("#totalvalue").html((priceCommaStyler(totalPrice_tax_included.toFixed(2)))); scc_jQuery(parent_id + ' .totalPrice').find('.df_scc_cc_span').text('(' + priceCommaStyler((totalPrice_tax_included * scc_currency_conversion_rate).toFixed(2)) + ' ' + scc_currency_conversion_label + ')').css({display: 'table'}); scc_jQuery('#sccTale_price-4').find('.df_scc_cc_span').text('(' + priceCommaStyler((totalPrice_tax_included * scc_currency_conversion_rate).toFixed(2)) + ' ' + scc_currency_conversion_label + ')').css({display: 'table'}); } } else if(currencyStyleOption === 1) { if(scc_currency_conversion_rate == -1) { scc_jQuery(parent_id + ' .totalPrice').find("#totalvalue").text((priceCommaStyler(totalPrice_tax_included.toFixed(2))) ); }else { scc_jQuery(parent_id + ' .totalPrice').find("#totalvalue").text((priceCommaStyler(totalPrice_tax_included.toFixed(2))) ); // console.log('reached'); // scc_jQuery(parent_id + ' .totalPrice').find(".totalprice_sufix_currency_label").html(scc_jQuery(parent_id + ' .totalPrice').find(".totalprice_sufix_currency_label").text() + ' (' + priceCommaStyler((totalPrice_tax_included * scc_currency_conversion_rate).toFixed(2)) + ' ' + scc_currency_conversion_label + ')') scc_jQuery(parent_id + ' .totalPrice').find('.df_scc_cc_span').text('(' + priceCommaStyler((totalPrice_tax_included * scc_currency_conversion_rate).toFixed(2)) + ' ' + scc_currency_conversion_label + ')').css({display: 'table'}); } } } }); }); // paypal starts function addItemsToPayPalForm(items, tax, comments){ total = 0 var itemsToAddPaypalForm = "" var itemsAdded = 0 for(var i=0; i < items.length; i++){ var item_value = ((items[i].unit === null || isNaN(items[i].unit)) ? items[i].value : (items[i].value * items[i].unit)) var item_name = ((items[i].unit === null || items[i].unit === 1 || isNaN(items[i].unit)) ? items[i].paypal_name : ( items[i].unit + ' units: ' + items[i].paypal_name )) // if(item_value > 0){ itemsToAddPaypalForm += ' ' itemsToAddPaypalForm += ' ' itemsAdded++ // } total += ((items[i].unit === null || isNaN(items[i].unit)) ? items[i].value : (items[i].value * items[i].unit)); } /* if(tax && tax > 0){ console.log('tax included!') itemsToAddPaypalForm += ' ' itemsToAddPaypalForm += ' ' total += tax } */ scc_jQuery('#paypal_form_add_items').html(itemsToAddPaypalForm) } //paypal ends // currency Style function starts var currencyStyleOption = 0; var currencyLabel = 'GBP'; function currencyStyle(number){ switch (currencyStyleOption){ case 0: number = currencySymbol(currencyLabel) + " " + number break case 1: number = number + ' ' + currencyLabel break } return number } function currencySymbol(currency){ var currencySymbolLabel = '$' switch(currency){ case 'ANG': currencySymbolLabel = 'ƒ' break case 'Bs': currencySymbolLabel = 'Bs' break case 'ILS': currencySymbolLabel = '₪' break case 'USD': currencySymbolLabel = '$' break case 'CAD': currencySymbolLabel = '$' break case 'EUR': currencySymbolLabel = '€' break case 'JPY': currencySymbolLabel = '¥' break case 'NOK': currencySymbolLabel = 'kr' break case 'RUB': currencySymbolLabel = '₽' break case 'TRY': currencySymbolLabel = '₺' break case 'CHF': currencySymbolLabel = 'Fr.' break case 'SEK': currencySymbolLabel = 'kr' break case 'BRL': currencySymbolLabel = 'R$' break case 'CNY': currencySymbolLabel = '¥' break case 'AUD': currencySymbolLabel = 'A$' break case 'DKK': currencySymbolLabel = 'Kr.' break case 'HKD': currencySymbolLabel = 'HK$' break case 'GBP': currencySymbolLabel = '£' break case 'RON': currencySymbolLabel = 'RON' break case 'ZAR': currencySymbolLabel = 'R' break case 'ZMW': currencySymbolLabel = 'K' break case '‎PKR': currencySymbolLabel = 'Rs' break case 'KRW': currencySymbolLabel = '₩' break case 'CFA': currencySymbolLabel = 'FCFA' break case 'IDR': currencySymbolLabel = 'Rp' break } return currencySymbolLabel } // currency Style function ends // check If mandatory options are choosen document.addEventListener('DOMContentLoaded', (event) => { scc_jQuery('.btPayPalButtonCustom').click(function(e){ e.preventDefault(); var scc_mandatory = ''; scc_jQuery('.mandatory_yes').each(function(){ scc_jQuery(this).addClass('hehehehehehehe'); if(scc_jQuery(this).val() =='' && scc_jQuery(this).is(':visible')){ scc_jQuery(this).parent().parent().find('.alert-danger').html('Please choose an option !'); scc_jQuery(this).parent().parent().find('.alert-danger').css('display','block'); scc_jQuery('html, body').animate({ scrollTop: scc_jQuery(this).offset().top }, 1000); scc_mandatory = 'scc_remains'; if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('body', {lang: "en", t: translatorJson}); } checkIfParentIsAccordionAndOpenIt(this) } }); if (scc_mandatory == '') { if(Number(total) && Number(total) > 0){ scc_jQuery("#paypal_form").submit(); scc_jQuery("#paypal_form")[0].submit(); } } }); }); function getDropDownValue($this){ price = scc_jQuery($this).val(); if (! price) { return 0; } else return price; } function SCCOpenPopUpEmail_4(){ jQuery.getScript('https://dorks.co.uk/wp-content/plugins/stylish-cost-calculator-premium/assets/lib/bootstrap-3.3.5/dist/js/bootstrap.min.js', function(data) { var scc_mandatory = ''; scc_jQuery('.mandatory_yes_4').each(function(){ if(scc_jQuery(this).val() =='' && scc_jQuery(this).is(':visible')){ scc_jQuery(this).parent().parent().find('.alert-danger').html('Please choose an option !'); scc_jQuery(this).parent().parent().find('.alert-danger').css('display','block'); scc_jQuery('html, body').animate({ scrollTop: scc_jQuery(this).offset().top }, 1000); if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('body', {lang: "en", t: translatorJson}); } checkIfParentIsAccordionAndOpenIt(this) scc_mandatory = 'scc_remains'; } }); if (scc_mandatory == '') { scc_jQuery('#scc_form_4').find('input.comment_box_text').filter((i,e) => { var checkIfEmail = scc_jQuery(e); var emailEvaluation = !(!checkIfEmail || !checkIfEmail.val() || !checkIfEmail.val().includes('@') || !checkIfEmail.val().includes('.') || checkIfEmail.val().includes('#') || checkIfEmail.val().length < 4) emailEvaluation ? scc_jQuery('#sccquoteModal_4').find('input[type="email"]').val(checkIfEmail.val()) : null; }) scc_jQuery('#sccquoteModal_4').modal('show') scc_jQuery('.modal-backdrop').each(function(){ scc_jQuery(this).remove() }) } }) } document.addEventListener('DOMContentLoaded', (event) => { scc_jQuery('.scc-email-popup-close').click(function(e){ e.preventDefault(); scc_jQuery('#sccquoteModal_4').modal('hide') scc_jQuery('.scc-email-popup').removeClass('in'); }); }); function addCouponCodeModal_4(){ if(!coupon_4){ var minWidth = "500px" var titleFontSize = "35px" 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)){ minWidth = "250px" titleFontSize = "15px" } var code="" code += ''; var newModal = ` `; // scc_jQuery('#coupon_code_modal_container_4').html(code) scc_jQuery('#coupon_code_modal_container_4').html(newModal) scc_jQuery('#coupon_code_modal_4').modal('show') if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('body', {lang: "en", t: translatorJson}); } scc_jQuery('.modal-backdrop, fade, in:first').each(function(index, ob){ scc_jQuery(ob).css('display', 'none') }) } } function checkCouponCode_4(){ var modalObject = scc_jQuery(event.currentTarget).closest('.df-scc-euiModal'); modalObject.find('.df-scc-euiButtonContent.df-scc-euiButton__content').html('Checking...') jQuery.ajax( { url: rt_vars.rt_urlajax, type: 'GET', context: modalObject, data: { action: 'sscCheckCoupon', coupon_code: modalObject.find('input').val() }, success: function( data, e, i, x ){ if(typeof data === 'object'){ if(data.data){ modalObject.find('.df-scc-euiButtonContent.df-scc-euiButton__content').html('Submit'); if(data.data === false || data.data === 'false'){ this.find('.text-danger').show(); setTimeout(() => { this.find('.text-danger').hide(); }, 3000); if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('body', {lang: "en", t: translatorJson}); } }else if(typeof data.data === 'object'){ coupon_4 = data.data[0] scc_jQuery('#coupon_code_modal_4').modal('hide') applyCouponDiscount(coupon_4) } } }else if(typeof data === 'string'){ if(data.length > 0){ var responseTemp = data.split('{"success":true,"data":')[data.split('{"success":true,"data":').length -1] if(responseTemp.indexOf('false') == -1){ responseTemp = responseTemp.substring(1,responseTemp.length - 2) coupon_4 = JSON.parse(responseTemp) scc_jQuery('#coupon_code_modal_4').modal('hide') applyCouponDiscount(coupon_4) }else{ this.find('.text-danger').show().hide(5000); if(window.hasOwnProperty("translatorJson")){ initTranslationScriptSCC('body', {lang: "en", t: translatorJson}); } } } }else if(!data){ } scc_jQuery('#button_check_coupon').html('Check Coupon Code') }, error: function(errorThrown){ console.log(errorThrown); scc_jQuery('#button_check_coupon').html('Check Coupon Code'); } }) } function applyCouponDiscount(coupon_4){ scc_jQuery('.submitPrices').click(); } function displayCouponDiscountInFrontEnd_4(price){ // substracting discount coupon if(!price || typeof price === 'undefined') { price = 0 } if(coupon_4){ var canDoDiscount = false if(Number(coupon_4.minspend) === -1 && Number(coupon_4.maxspend) === -1){ canDoDiscount = true }else{ if(Number(coupon_4.minspend) === -1 && Number(coupon_4.maxspend) != -1){ if(price <= coupon_4.maxspend){ canDoDiscount = true } }else if(Number(coupon_4.minspend) != -1 && Number(coupon_4.maxspend) === -1){ if(price >= coupon_4.minspend){ canDoDiscount = true } }else if(Number(coupon_4.minspend) != -1 && Number(coupon_4.minspend) != -1 ){ if(price >= Number(coupon_4.minspend) && price <= Number(coupon_4.maxspend)){ canDoDiscount = true } } } if(canDoDiscount){ if(Number(coupon_4.discountpercentage) != -1){ coupon_4.price_without_discount = price.toFixed(2) price = price.toFixed(2) - (price.toFixed(2) * (Number(coupon_4.discountpercentage)/100).toFixed(2)) coupon_4.discount_value_total = coupon_4.price_without_discount - price.toFixed(2) coupon_4.discount_value_total = Number(coupon_4.discount_value_total.toFixed(2)) } if(Number(coupon_4.discountvalue) != -1){ coupon_4.price_without_discount = price price = price < Number(coupon_4.discountvalue) ? 0 : price - Number(coupon_4.discountvalue) coupon_4.discount_value_total = Number(coupon_4.discountvalue) coupon_4.discount_value_total = Number(coupon_4.discount_value_total.toFixed(2)) } }else { coupon_4.price_without_discount = price coupon_4.discount_value_total = 0 } } //Applying Coupon Discount if(coupon_4){ scc_jQuery('#coupon_info_container_4').css('display', 'block') if(canDoDiscount){ scc_jQuery('#coupon_button_4').css('display', 'none') if(coupon_4.discountpercentage != -1.00){ scc_jQuery('#coupon_info_discount_percentage_4').html('Discount percentage: ' + coupon_4.discountpercentage + '%') } if(coupon_4.discountvalue != -1.00){ if(currencyStyleOption === 0){ scc_jQuery('#coupon_info_discount_value_4').html(currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.discountvalue)) }else{ scc_jQuery('#coupon_info_discount_value_4').html(priceCommaStyler(coupon_4.discountvalue) + ' ' + currencyLabel) } } } if(Number(coupon_4.minspend) === -1.00 && Number(coupon_4.maxspend) === -1.00){ if(currencyStyleOption === 0){ scc_jQuery('#coupon_info_spend_range_4').html('

Your discount has been applied correctly. -' + currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.discount_value_total) + '

') }else{ scc_jQuery('#coupon_info_spend_range_4').html('

Your discount has been applied correctly. -' + ' ' + priceCommaStyler(coupon_4.discount_value_total) + currencyLabel + '

') } }else{ if(Number(coupon_4.minspend) != -1.00 && Number(coupon_4.maxspend) != -1.00){ if(currencyStyleOption === 0){ scc_jQuery('#coupon_info_spend_range_4').html(Number(coupon_4.price_without_discount) >= Number(coupon_4.minspend) && Number(coupon_4.maxspend) >= Number(coupon_4.price_without_discount) ? '

Your discount has been applied correctly. -' + currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.discount_value_total) + '

': '

Your discount has not been applied because the total price has to be between ' + currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.minspend) + ' and ' + currencySymbol(currencyLabel) + priceCommaStyler(coupon_4.maxspend) + '

') }else{ scc_jQuery('#coupon_info_spend_range_4').html(Number(coupon_4.price_without_discount) >= Number(coupon_4.minspend) && Number(coupon_4.maxspend) >= Number(coupon_4.price_without_discount) ? '

Your discount has been applied correctly. -' + ' ' + priceCommaStyler(coupon_4.discount_value_total) + currencyLabel + '

': '

Your discount has not been applied because the total price has to be between ' + priceCommaStyler(coupon_4.minspend) + ' ' + currencyLabel + ' and ' + priceCommaStyler(coupon_4.maxspend) + ' ' + currencyLabel + '

') } }else if(Number(coupon_4.minspend) != -1.00 && Number(coupon_4.maxspend) === -1.00){ if(currencyStyleOption === 0){ scc_jQuery('#coupon_info_spend_range_4').html(Number(coupon_4.price_without_discount) >= Number(coupon_4.minspend) ? '

Your discount has been applied correctly. -' + currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.discount_value_total) + '

': '

Your discount has not been applied because the total price has to be higher than ' + currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.minspend) + currencySymbol(currencyLabel) + '

') }else{ scc_jQuery('#coupon_info_spend_range_4').html(Number(coupon_4.price_without_discount) >= Number(coupon_4.minspend) ? '

Your discount has been applied correctly. -' + ' ' + priceCommaStyler(coupon_4.discount_value_total) + currencyLabel + '

': '

Your discount has not been applied because the total price has to be higher than ' + priceCommaStyler(coupon_4.minspend) + ' ' + currencyLabel + '

') } }else if(Number(coupon_4.minspend) === -1.00 && Number(coupon_4.maxspend) != -1.00){ if(currencyStyleOption === 0){ scc_jQuery('#coupon_info_spend_range_4').html(Number(coupon_4.maxspend) >= Number(coupon.price_without_discount) ? '

Your discount has been applied correctly. -' + currencySymbol(currencyLabel) + ' ' + priceCommaStyler(coupon_4.discountvalue) + '

': '

Your discount has not been applied because the total price has to be lower than ' + currencySymbol(currencyLabel) + priceCommaStyler(coupon_4.maxspend) + '

') }else{ scc_jQuery('#coupon_info_spend_range_4').html(Number(coupon_4.maxspend) >= Number(coupon.price_without_discount) ? '

Your discount has been applied correctly. -' + ' ' + priceCommaStyler(coupon_4.discountvalue) + currencyLabel + '

': '

Your discount has not been applied because the total price has to be lower than ' + priceCommaStyler(coupon_4.maxspend) + ' ' + currencyLabel + '

') } } } } return price }

People are talking about us

Obviously

Take a minute and check what people are saying about the best WordPress developers in the world.. (their words not ours)

“..very knowledgable and fixed my website problem quickly and efficiently. Total professionals and I am very pleased to recommend  and would not hesitate to use their services again in the future. Best WordPress developers I’ve ever used”

master

Nurcan

“..wonderful to work with; flexible; responsive; creative; and empowering. Prepared tutorials so we can take care of the website ourselves. Worked with our schedule and our deadline. Answered all our queries working diligently through our issues.”

Ellipse

Tricia. D

“Amazing work! Helped me every step of the way to get my eCommerce site updated. Had great insight on how to help problem solve. Timely execution and great communication. Highly recommend. “

testimonial

Ian. H

Let's chat about your content writing needs

Fill in this form and we will get back to you ASAP

IMG