var SPMaskBehaviorFlyer = function (val) { return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; }; var spOptionsFlyer = { onKeyPress: function (val, e, field, options) { field.mask(SPMaskBehaviorFlyer.apply({}, arguments), options); } }; var form = { texts: [], images: [], inputs: [], models: [], endereco:{ 0:{ nome:'SÃO PAULO (ADM BENS)', address1:'Avenida das Nações Unidas, 18.001', address2:'04795-900 - Santo Amaro', address3:'São Paulo - SP', address4:'Brasil', }, 1:{ nome:'CLARIANT P&C - SUZANO', address1:'Av. Jorge Bei Maluf, 2.165', address2:'08686-000 - Vila Theodoro', address3:'Suzano - SP', address4:'Brasil', }, 2:{ nome:'SÃO PAULO (LABORATÓRIO)', address1:'Rua Bento Branco de Andrade Filho, 488', address2:'04757-000 - Vila Almeida', address3:'São Paulo - SP', address4:'Brasil', }, 3:{ nome:'BELO HORIZONTE', address1:'Avenida Portugal, 3.899', address2:'31710-400 - Itapoã', address3:'Belo Horizonte - MG', address4:'Brasil', }, 4:{ nome:'JACAREÍ', address1:'Avenida Industrial, 802', address2:'12321-500 - Rio Abaixo', address3:'Jacareí - SP', address4:'Brasil', }, 5:{ nome:'MACAÉ', address1:'Avenida Pref. Aristeu Ferreira da Silva, 2.121', address2:'27930-070 - Novo Cavaleiros', address3:'Macaé - RJ', address4:'Brasil', }, 6:{ nome:'NITEROI - RJ', address1:'Ilha do Viana, s/nº', address2:'24110-240 - Barreto', address3:'Niterói - RJ', address4:'Brasil', }, 7:{ nome:'CLARIANT S/A - SUZANO', address1:'Avenida Jorge Bey Maluf, 2.163', address2:'08686-000 - Vila Theodoro', address3:'Suzano - SP', address4:'Brasil', }, 8:{ nome:'RIO DAS OSTRAS', address1:'Rua do Sondador, s/n Lote 4 A, Quadra H Zen', address2:'28899-010', address3:'Rio das Ostras - RJ', address4:'Brasil', }, 9:{ nome:'RIO DE JANEIRO', address1:'Av. João Cabral de Mello Neto, 850 - CEO Bl 03 - S706 e 707', address2:'22.775-057 - Barra da Tijuca', address3:'Rio de Janeiro - RJ', address4:'Brasil', }, 10:{ nome:'SÃO PAULO', address1:'Avenida das Nações Unidas, 18.001', address2:'04795-900 - Santo Amaro', address3:'São Paulo - SP', address4:'Brasil', }, 11:{ nome:'VITÓRIA DA CONQUISTA - BA', address1:'Estrada Fazenda Santa Helena, s/nº', address2:'45000-970', address3:'Vitória da Conquista - BA', address4:'Brasil', }, }, key:0, project:0, id_model:0, model_selecionado:false, appendForm:'#produto-form-personalizar .panel-body', appendFormModel:'#produto-form-personalizar-model .panel-body .dp-fluid', campoModel: '
#modelname#
', buttonHandler:'#pagina-produto #produto-resumo button.confirm', init: function(){ self = this; if (document.URL.indexOf('/4IPRRGOJ/') > 0) { $.ajax({ url: "https://editor.print-one.com.br/api/modelo/"+this.id_model+"/layers/?key="+this.key, type: "GET", dataType:'json', beforeSend: function () { }, success: function (objJSON) { self.texts = objJSON.layers.texts self.images = objJSON.layers.images console.log('objJSON', objJSON); if (typeof self.texts != 'undefined') { self.configForm(); self.createContainer(); self.createForm(); }else{ console.error('Não existe layer de texto para este modelo.'); } }, error: function (objXHR, txtStatus, txtErro) { console.error('erro', objXHR); }, complete: function (xhr) { } }); } }, initModel: function(){ self = this; $.ajax({ url: "https://editor.print-one.com.br/api/modelo/"+this.id_model+"/?key="+this.key, type: "GET", dataType:'json', beforeSend: function () { }, success: function (objJSON) { self.project = objJSON.model.project console.log('objJSON', objJSON); if (typeof self.project != 0) { self.getModelByProject(); }else{ console.error('Não existe este modelo.'); } }, error: function (objXHR, txtStatus, txtErro) { console.error('erro', objXHR); }, complete: function (xhr) { } }); }, getModelByProject: function(){ self = this; $.ajax({ url: "https://editor.print-one.com.br/api/projetos/"+this.project+"/?key="+this.key, type: "GET", dataType:'json', beforeSend: function () { }, success: function (objJSON) { self.models = objJSON.modelos console.log('objJSON', objJSON); if (typeof self.models != 'undefined') { self.createContainerModel(); self.createFormModel(); }else{ console.error('Não existe modelo para este projeto.'); } }, error: function (objXHR, txtStatus, txtErro) { console.error('erro', objXHR); }, complete: function (xhr) { } }); }, configForm: function () { for (let key = 0; key < this.texts.length; key++) { const element = this.texts[key].name; const elementID = this.texts[key].name.replace(' ', '').toLowerCase(); const mask = element.toLowerCase().indexOf('telefone') != -1 || element.toLowerCase().indexOf('celular') != -1 ? true : false; const maxlength = element.toLowerCase().indexOf('nome') != -1 ? 20 : false; const type = element.toLowerCase().indexOf('endereco') != -1 ? 'select' : 'text'; const label = element.toLowerCase().indexOf('endereco') != -1 ? 'Endereço' : this.capitalize(element.replace(/\#/g,'')); const value = element.toLowerCase().indexOf('endereco') != -1 ? this.endereco : ''; if (element.toLowerCase().indexOf('endereco4') == -1 & element.toLowerCase().indexOf('endereco2') == -1 & element.toLowerCase().indexOf('endereco3') == -1){ if (this.findArray(elementID)){ this.inputs.push({ name:elementID, label: label, match:"#"+elementID+"#", value:value, required: true, id: elementID, type: type, mask: mask, maxlength, maxlength }); } } } }, createContainer:function(){ $container = $('

Preencha os dados corretamente

'); if ($('#produto-form-personalizar-model').length > 0){ $container.insertAfter('#produto-form-personalizar-model'); }else{ $container.insertAfter('#produto-descricao-reduzida'); } }, createContainerModel:function(){ $container = $('

Informe o tipo de modelo

'); $container.insertAfter('#produto-descricao-reduzida'); }, capitalize: function (string) { string = string[0].toUpperCase() + string.slice(1); //tem número na string? Ex: Telefone1, Telefone2... hasNumber = string.match(/[0-9]/); if(hasNumber){ //Separa para ficar Telefone 1, Telefone 2, Telefone 3 string = string.replace(hasNumber[0], ' ' + hasNumber[0]); } return string; }, findArray: function (string) { //Verifica se já existe um campo com o nome igual, se tiver não deixa criar o input if (this.inputs.filter(p => p.name == string).length > 0){ return false; }else{ return true; } }, createForm:function(){ self = this; if(!self.inputs.length){ console.error('Nenhum input definido'); }else{ for (var i in self.inputs){ $(self.appendForm).append(self.getInput(self.inputs[i])); } if ($('#produto-form-personalizar-model').length == 0){ $button = $('
'); $button.css({ 'position':'absolute', 'top':0, 'left':0, 'right':0, 'bottom':0, 'z-index':1, 'cursor':'pointer' }).click(function(event) { event.preventDefault(); form.save(); }); $(self.buttonHandler).css({ 'position':'relative' }).append($button) } } }, createFormModel:function(){ self = this; if(!self.models.length){ console.error('Nenhum input definido'); }else{ for (var i in self.models){ $resultado = self.campoModel.replace('#idmodel#', self.models[i].id); $resultado = $resultado.replace('#idmodel#', self.models[i].id); $resultado = $resultado.replace('#idmodel#', self.models[i].id); $resultado = $resultado.replace('#modelname#', self.models[i].name); $(self.appendFormModel).append($resultado); } $('.js-model').click(function(event) { $('#produto-form-personalizar').remove(); form.model_selecionado = true; form.id_model = $(this).attr('id'); form.init(); }); $button = $('
'); $button.css({ 'position':'absolute', 'top':0, 'left':0, 'right':0, 'bottom':0, 'z-index':1, 'cursor':'pointer' }).click(function(event) { event.preventDefault(); form.save(); }); $(self.buttonHandler).css({ 'position':'relative' }).append($button) } }, getInput:function(input, key){ $field = $('
'); var $input; if(input.type == 'text'){ $input = $(''); } if(input.type == 'select'){ $input = $(''); for (var i in input.value) { value = input.value[i].address1 + '#pula#' + input.value[i].address2 + '#pula#' + input.value[i].address3 + '#pula#' + input.value[i].address4 $input.append(''); } } $input.attr({ 'name':input.name, 'id':input.id }).data({ 'match':input.match, 'required':input.required, }) if(!!localStorage.getItem(input.match)){ $input.val(localStorage.getItem(input.match)); } if(input.maxlength){ $input.attr({ 'maxlength':input.maxlength, }).data({ 'maxlength':input.maxlength }) } var $label = $(''); $label.attr({ 'for':input.id }).text(input.label); var $span; if(input.maxlength){ $span = $(''+($input.val().length)+'/'+input.maxlength+''); $input.on('input',function(){ max = $(this).data('maxlength'); current = $(this).val().length; $(this).next('span').text(current+'/'+max); }) } if(input.mask !== false){ $input.mask(SPMaskBehaviorFlyer, spOptionsFlyer); } $field.append($label); $field.append($input); $field.append($span); return $field; }, save:function(){ self = this; var validate = true; if ($('#produto-form-personalizar-model').length > 0){ if (self.model_selecionado == false) { alert('Informe o tipo de modelo antes de continuar.'); validate = false; return }else{ console.log('self.id_model', self.id_model) localStorage.setItem('#idmodelo#', self.id_model); } $('h3:contains("Endereços")').closest( "div" ).hide(); //Aqui tem a validação para que o campo observação seja obrigatorio, adicionar sempre um desse: && document.URL.indexOf('/0KNIMLOJ/') > 0 if ($('#innerObservacoes').length > 0 && $('span:contains("ROUPAS, CALÇADOS & ACESSÓRIOS")').length > 0 && document.URL.indexOf('/0HRINGOJ/') == -1 && document.URL.indexOf('/0MPLNKOJ/') == -1 && document.URL.indexOf('/0FNKMMOJ/') == -1 && document.URL.indexOf('/4PNOMMOJ/') == -1){ if ($('#txt_observacao').val() == ""){ alert('Informe a lista de tamanhos.'); $('#txt_observacao').focus(); return } } localStorage.setItem('#preview#', 1); for (var i in self.images){ if (self.images[i].bit_block_upload == 0){ console.log('preview ok'); localStorage.setItem('#preview#', 0); break; } } } for (var i in self.inputs){ if(self.inputs[i].required && $('#'+self.inputs[i].id).val() == ''){ alert('Campo '+self.inputs[i].label+' é obrigatório'); $('#'+self.inputs[i].id).focus(); validate = false; break; }else{ localStorage.setItem($('#'+self.inputs[i].id).data('match'),$('#'+self.inputs[i].id).val()); } } if(validate){ $(self.buttonHandler).click(); } }, } function fcnUploadEditor () { $('#produto-descricao-reduzida').after('

Suba sua foto

Selecionar Arquivo
* Obrigatório somente para produtos que utilizam fotos
'); if (localStorage.getItem('#imagemeditor#')){ $('#imgEnvioArq').attr("src", localStorage.getItem('#imagemeditor#')); } $('#arqFotoEditor').unbind("change"); $('#arqFotoEditor').change(function (event) { event.stopPropagation(); event.preventDefault(); var file = this.files[0]; txtArquivoExt = String(file.name).split('.').pop().split('?').shift(); txtNovoNome = file.name.split('?').shift().split('.').shift().replace(/([^a-z0-9]+)/gi, '-').replace(' ', '-') + '_' + fcnRandomString(20) + ' ' + '.' + txtArquivoExt; txtNovoNome = txtNovoNome.replace(/\s/g, ''); //Verifica se é imagem png ou jpg if(file.type != 'image/png' && file.type != 'image/jpg' && file.type != 'image/jpeg' ) { alert("Formato de imagem inválido."); }else{ $('.loadingFile').show(); $.getScript(location.protocol + "//" + window.location.host + '/loja/js/aws-sdk-2.7.20.min.js', function(){ var UPLOAD_PATH = 'galeria/loja/99/'; //Lembrar de trocar o id da loja (id da loja no editor) var IdentityPoolId = 'us-east-1:a4162646-7687-43d2-982c-2277264ef656'; var bucket = 'editor-printone'; var region = 'us-east-1'; AWS.config.update({ region: region, credentials: new AWS.CognitoIdentityCredentials({ IdentityPoolId: IdentityPoolId }), correctClockSkew:true }); var s3 = new AWS.S3({ apiVersion: '2006-03-01', region: region, params: {Bucket: bucket}, httpOptions: {timeout: 60 * 1000 * 60} }); AWS.events.on('retry', function(response) { if (response.error.name === 'RequestTimeTooSkewed') { var serverTime = new Date(response.httpResponse.headers.date); // parse header into Date AWS.config.systemClockOffset = serverTime.getTime() - new Date().getTime(); response.error.retryable = true; // make sure we retry this request } }); var key = UPLOAD_PATH+txtNovoNome; var params = { Key: key, ContentType: file.type, Body: file }; managerUpload = s3.upload(params,function(err,data){ $('.loadingFile').hide(); if(err){ if(err.code == "NetworkingError"){ $.colorbox({ html: '
Não foi possível enviar seu arquivo (' + file.name + '). A conexão com os servidores da Amazon não está disponível.
', fixed: true, opacity: 0.3, width: 400, height: 150 }); }else if(err.code == "RequestTimeTooSkewed"){ $.colorbox({ html: '
Não foi possível enviar seu arquivo (' + file.name + '). A conexão com os servidores foi recusada em virtude da diferença de horário. Verifique se o seu computador está com a data e hora atualizada.
', fixed: true, opacity: 0.3, width: 450, height: 200 }); }else{ console.log("Erro no Upload: " + err.code + " - " + err.message); $.colorbox({ html: '
Não foi possível enviar seu arquivo (' + file.name + '). Houve um problema na comunicação entre os servidores.
', fixed: true, opacity: 0.3, width: 400, height: 150 }); } }else{ $('#imgEnvioArq').attr("src", data.Location); localStorage.setItem('#imagemeditor#', data.Location); } }).on('httpUploadProgress',function(evt){ }); }); } }); } $(document).ready(function(){ $('#prInfo_txt_nome').hide() $('#prInfo_txt_email').hide() $('#prInfo_txt_telefone').hide() $('#prInfo_txt_nomeProjeto').hide() $('#produto-resumo label').hide() $('#produto-resumo label').hide() if (document.URL.indexOf('/produtos-detalhes-personalizar/8IPDPGOJ/') > 0 || document.URL.indexOf('/produtos-detalhes-personalizar/0HOHPGOJ/') > 0 || document.URL.indexOf('/produtos-detalhes-personalizar/8JMLOMOJ/') > 0 || document.URL.indexOf('/produtos-detalhes-personalizar/0CSGOMOJ/') > 0 ){ console.log('videotext') $.colorbox({ html: '
', fixed: true, opacity: 0.3, width: 700, height: 550 }); } if (document.URL.indexOf('/produtos-detalhes-personalizar/8GPLQFOJ/') > 0 || document.URL.indexOf('/produtos-detalhes-personalizar/4GRCOMOJ/') > 0){ console.log('sublimacao') $.colorbox({ html: '
', fixed: true, opacity: 0.3, width: 700, height: 550 }); } if (document.URL.indexOf('/produtos-detalhes-personalizar/') > 0 && document.URL.indexOf('/produtos-detalhes-personalizar/8IPDPGOJ/') == -1 && document.URL.indexOf('/produtos-detalhes-personalizar/0HOHPGOJ/') == -1 && document.URL.indexOf('/produtos-detalhes-personalizar/8JMLOMOJ/') == -1 && document.URL.indexOf('/produtos-detalhes-personalizar/0CSGOMOJ/') == -1 && document.URL.indexOf('/produtos-detalhes-personalizar/8GPLQFOJ/') == -1 && document.URL.indexOf('/produtos-detalhes-personalizar/4GRCOMOJ/') == -1){ console.log('todos') $.colorbox({ html: '
', fixed: true, opacity: 0.3, width: 700, height: 550 }); } $('.page-login .box-login .box-login-inner').before('

Bem vindo TICO’s!

Este é o seu guia de ações prontas que irão te ajudar
a trabalhar cada vez melhor e trazer mais resultados.

'); if($('#formProposta').length){ // $('#produto-resumo button.confirm b').text('') } $('#innerProdutosDestaques_4PNOMMOJ > div > div.product-footer > div > div > a').attr('href', 'https://loja.mundoonuniversitario.com.br/loja/produtos-subcategorias/0DPJPRNJ/Moletom-Cropped.html') if ($('#breadcrumbs').find('span:contains("CAIXINHA DE SOM")').length > 0) { fcnUploadEditor(); } if ((document.URL.indexOf('produtos-detalhes') > 0 || document.URL.indexOf('produtos-editor') > 0) && $('span:contains("COPOS, CANECAS & BALDE DE GELO")').length > 0 || $('span:contains("ROUPAS, CALÇADOS & ACESSÓRIOS")').length > 0 || $('span:contains("BRINDES")').length > 0 || $('span:contains("COOLERS & TÉRMICAS")').length > 0 || $('span:contains("ELETRÔNICOS")').length > 0 || $('span:contains("BOLSAS, MOCHILAS & SACOCHILAS")').length > 0 ) { idProduto = document.URL.split("/"); $.ajax({ url: location.protocol + "//" + window.location.host + "/loja/theme/nav/getEditorProduto.asp", type: "POST", dataType:'json', data : { idProduto : idProduto[5] }, beforeSend: function () { }, success: function (objJSON) { console.log(objJSON); if (objJSON.txtErro == ""){ form.key = objJSON.key; form.id_model = objJSON.model; form.initModel(); }else{ console.log(objJSON.txtErro); } }, error: function (objXHR, txtStatus, txtErro) { console.log(objXHR); }, complete: function (xhr) { } }); }else{ localStorage.setItem('#idmodelo#', ""); } if ($('#breadcrumbs').find('span:contains("ROUPAS, CALÇADOS & ACESSÓRIOS")').length > 0) { $('#innerObservacoes > div > div.panel-head.title').html('Liste os Tamanhos e Quantidades'); $('#txt_observacao').attr('placeholder', 'Por exemplo: M= 40 peças; P= 20 peças; G= 15 peças;'); } }); if(typeof EdPO == 'object'){ var FORM = { endpoint:'https://editor.print-one.com.br/api/personalizacao/', key:'', texts:{}, models:['PTC','MDRT 3','MDRT 4','MDRT 3 PTC','MDRT 4 PTC','MDRT Member','MDRT Court','MDRT Member PTC','MDRT Court PTC'], content:{ $:$('

Preencha o formulário abaixo.

'), style:{ 'width':'25%', 'float':'left', 'background-color':'#424242', 'border-right':'1px solid #000', 'position':'relative' } }, $submitBtn:{ $:'', style:{ 'background':'#00c853', 'border':'none', 'text-tranform':'uppercase', 'text-align':'center', 'width':'100%', 'padding':'20px', 'font-size':'18px', 'color':'#FFF' } }, $form:'', $editor:$('#'+EdPO.config.iframe), label:{ $:$(''), style:{ 'display':'block', 'color':'#FFF', } }, input:{ $:$(''), style:{ 'color':'#FFF', 'display':'block', 'margin-bottom':'15px', 'width':'100%', 'background-color':'transparent', 'border':'none', 'border-bottom':'2px solid #26a69a', 'box-shadow':'none', 'padding':'7px 0px' } }, select:{ $:$(''), style:{ 'color':'#FFF', 'display':'block', 'margin-bottom':'15px', 'width':'100%', 'background-color':'transparent', 'border':'none', 'border-bottom':'2px solid #26a69a', 'box-shadow':'none', 'padding':0, 'height':36 } }, masks:{ 'Telefone':{ meiomask:{ type:'fixed', mask:'(nn) nnnn-nnnn', autoTab:false, }, }, 'Celular':{ meiomask:{ type:'fixed', mask:'(nn) nnnnn-nnnn', autoTab:false, }, }, }, init:function(){ FORM.getTexts(); }, qrcode:false, getTexts:function(){ $.ajax({ url:FORM.endpoint+EdPO.config.model, type:'GET', dataType:'json', data:{ key:EdPO.config.key }, success:function(data){ FORM.texts = data.personalizacao[0].texts; FORM.form(); } }); }, form:function(){ FORM.$editor = $('#'+EdPO.config.iframe); FORM.$editor.css({ 'width':'75%' }); for(var i in FORM.texts){ text = FORM.texts[i]; name = text.match.charAt(0).toUpperCase() + text.match.substr(1); $input = FORM.input.$.attr({'id':'input-'+i,'name':name}).css(FORM.input.style).clone().data({layer:text.name,match:'#'+text.match+'#',name:name}).attr({'required':'required'}); v = FORM.hasData(name); if(v !== false){ $input.val(v.replace).data({'match':r.match}); } if(typeof FORM.masks[name] == 'object'){ $input.setMask(FORM.masks[name].meiomask); } $label = FORM.label.$.text(name).attr({'for':'input-'+i}).css(FORM.label.style).clone(); if(name == 'Email' || name == 'E-mail'){ $input.attr('type','email'); } FORM.content.$.find('.card-body').append($label); FORM.content.$.find('.card-body').append($input); } FORM.content.$.find('.card-head').css({ position:'absolute', padding:'22px 15px', width:'100%', top:0, 'border-bottom':'1px solid #000' }); FORM.content.$.find('.card-body').css({ position:'absolute', top:64, bottom:110, padding:'15px', width:'100%', 'overflow-y':'auto' }); FORM.content.$.find('.card-footer').css({ position:'absolute', padding:'15px', width:'100%', bottom:0, height:110, 'background-color':'#212121' }); FORM.content.$.height(FORM.$editor.height()); FORM.content.$.css(FORM.content.style); FORM.content.$.insertBefore(FORM.$editor); FORM.$submitBtn.$ = $('#btn-put-data-on-model'); FORM.$submitBtn.$.css(FORM.$submitBtn.style); FORM.$form = $('#submit-form-to-editor'); FORM.$form.submit(function(e){ e.preventDefault(); FORM.apply(); }); // FORM.$form.submit(); }, vcard:{ data:{ 'key':'B28752184046517F27738FA6CC739F84E84670EC5EF0A4F71B2E9D942EFE2458', 'width':2000, }, endpoint:'http://developer.brochura.com.br/pergraf/qrcode/api/vcard', }, apply:function(){ FORM.$form.find('input').each(function(index,input){ FORM.vcard.data[$(this).data().name.toLowerCase()] = $(this).val(); EdPO.replaceTextLayer($(this).data().layer,$(this).data().match,$(this).val()); $(this).data().match = $(this).val(); }); // EdPO.setImageLayer('qrcode',{'url':'https://cdn-images-1.medium.com/max/1200/0*zPG9dqz508rmRR70.','position':'contain'}) $.ajax({ url: FORM.vcard.endpoint, type: 'POST', dataType: 'json', data: FORM.vcard.data, crossDomain:true, success:function(data){ EdPO.setImageLayer('qrcode',{'url':data.url,'position':'contain'}) }, error:function(data){ console.log(data); }, }); }, hasData:function(match){ r = false; if(Object.keys(EdPO.config.texts).length > 0){ for(var i in EdPO.config.texts){ t = EdPO.config.texts[i]; if(t.match == '#'+match.toLowerCase()+'#'){ r = t; break; } } } return r; } } } $(function(){ if(typeof EdPO == 'object'){ if(EdPO.config.model == 1246){ EdPO.ready = function(){ FORM.init(); } } } });