Ext.BLANK_IMAGE_URL = '/share/ext-2.0/resources/images/default/s.gif';
if (!Ext.isSafari) {
  Ext.util.CSS.swapStyleSheet('scriptcss', '/include/cristaldata/script.css');
}
else {
  var a = function() {
    // Safari estava crashing aqui
    Ext.util.CSS.swapStyleSheet('scriptcss', '/include/cristaldata/script.css')
  }
  a.defer(0);
}

Ext.DomQuery.pseudos['selected'] = function(c){
  var r = [];
  for (var i = 0, l = c.length; i < l; i++) {
    if (c[i].selected == true) {
      r[r.length] = c[i];
    }
  }
  return r;
};

var arrayCarrinho = new Array();
var totalCarrinho = null;
var pontosCliente = null;
var podepesquisar = 0;
function number_format(a, b, c, d) {
 a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
 e = a + '';
 f = e.split('.');
 if (!f[0]) {
  f[0] = '0';
 }
 if (!f[1]) {
  f[1] = '';
 }
 if (f[1].length < b) {
  g = f[1];
  for (i=f[1].length + 1; i <= b; i++) {
   g += '0';
  }
  f[1] = g;
 }
 if(d != '' && f[0].length > 3) {
  h = f[0];
  f[0] = '';
  for(j = 3; j < h.length; j+=3) {
   i = h.slice(h.length - j, h.length - j + 3);
   f[0] = d + i +  f[0] + '';
  }
  j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
  f[0] = j + f[0];
 }
 c = (b <= 0) ? '' : c;
 return f[0] + c + f[1];
}

function frmNewcheckdados() {
  if (document.frmNew) {
    var frmNew = document.frmNew;
    if ((frmNew.username) && (frmNew.username.value.length < 4)) {
      alert(txt_clientes["username4"]);
      frmNew.username.focus();
      return false;
    }
    if ((frmNew.password1) && (frmNew.password1.value.length < 4)) {
      alert(txt_clientes["password4"]);
      frmNew.password1.focus();
      return false;
    }
    if ((frmNew.password1) && (frmNew.password1.value != frmNew.password2.value)) {
      alert(txt_clientes["passiguais"]);
      frmNew.password1.focus();
      return false;
    }
    if ((frmNew.email) && (frmNew.email.value.length == 0)) {
      alert(txt_clientes["escemail"]);
      frmNew.email.focus();
      return false;
    }
    if ((frmNew.nome) && (frmNew.nome.value.length == 0)) {
      alert(txt_clientes["escnome"]);
      frmNew.nome.focus();
      return false;
    }
    if ((frmNew.ano) && (frmNew.ano.value == 0)) {
      alert(txt_clientes["esdatanasc"]);
      frmNew.ano.focus();
      return false;
    }
    else if ((frmNew.mes) && (frmNew.mes.value == 0)) {
      alert(txt_clientes["esdatanasc"]);
      frmNew.mes.focus();
      return false;
    }
    else if ((frmNew.dia) && (frmNew.dia.value == 0)) {
      alert(txt_clientes["esdatanasc"]);
      frmNew.dia.focus();
      return false;
    }
    if ((frmNew.contribuinte) && (frmNew.contribuinte.value.length < 9)) {
      alert(txt_clientes["nifvalido"]);
      frmNew.contribuinte.focus();
      return false;
    }
    if ((frmNew.morada1) && (frmNew.morada1.value.length == 0)) {
      alert(txt_clientes["escmorada"]);
      frmNew.morada1.focus();
      return false;
    }
    if ((frmNew.codigopostal) && (frmNew.codigopostal.value.length ==0)) {
      alert(txt_clientes["esccp"]);
      frmNew.codigopostal.focus();
      return false;
    }
    if ((frmNew.localidade) && (frmNew.localidade.value.length == 0)) {
      alert(txt_clientes["esclocal"]);
      frmNew.localidade.focus();
      return false;
    }
    if ((frmNew.telefone) && (frmNew.telefone.value.length < 9)) {
      if ((frmNew.telemovel) && (frmNew.telemovel.value.length < 9)) {
        if ((frmNew.fax) && (frmNew.fax.value.length < 9)) {
          alert(txt_clientes["esccontacto"]);
          frmNew.telefone.focus();
          return false;
        }
      }
    }
  }
}

function frmAlteracheckdados() {
  if (document.frmNew) {
    var frmNew = document.frmNew;
    if ((frmNew.password1) && (frmNew.password1.value.length < 4)) {
      alert(txt_clientes["password4"]);
      frmNew.password1.focus();
      return false;
    }
    if ((frmNew.password1) && (frmNew.password1.value != frmNew.password2.value)) {
      alert(txt_clientes["passiguais"]);
      frmNew.password1.focus();
      return false;
    }
    if ((frmNew.email) && (frmNew.email.value.length == 0)) {
      alert(txt_clientes["escemail"]);
      frmNew.email.focus();
      return false;
    }
    if ((frmNew.nome) && (frmNew.nome.value.length == 0)) {
      alert(txt_clientes["escnome"]);
      frmNew.nome.focus();
      return false;
    }
    if ((frmNew.ano) && (frmNew.ano.value == 0)) {
      alert(txt_clientes["esdatanasc"]);
      frmNew.ano.focus();
      return false;
    }
    else if ((frmNew.mes) && (frmNew.mes.value == 0)) {
      alert(txt_clientes["esdatanasc"]);
      frmNew.mes.focus();
      return false;
    }
    else if ((frmNew.dia) && (frmNew.dia.value == 0)) {
      alert(txt_clientes["esdatanasc"]);
      frmNew.dia.focus();
      return false;
    }
    if ((frmNew.contribuinte) && (frmNew.contribuinte.value.length < 9)) {
      alert(txt_clientes["nifvalido"]);
      frmNew.contribuinte.focus();
      return false;
    }
    if ((frmNew.morada1) && (frmNew.morada1.value.length == 0)) {
      alert(txt_clientes["escmorada"]);
      frmNew.morada1.focus();
      return false;
    }
    if ((frmNew.codigopostal) && (frmNew.codigopostal.value.length == 0)) {
      alert(txt_clientes["esccp"]);
      frmNew.codigopostal.focus();
      return false;
    }
    if ((frmNew.localidade) && (frmNew.localidade.value.length == 0)) {
      alert(txt_clientes["esclocal"]);
      frmNew.localidade.focus();
      return false;
    }
    if ((frmNew.telefone) && (frmNew.telefone.value.length < 9)) {
      if ((frmNew.telemovel) && (frmNew.telemovel.value.length < 9)) {
        if ((frmNew.fax) && (frmNew.fax.value.length < 9)) {
          alert(txt_clientes["esccontacto"]);
          frmNew.telefone.focus();
          return false;
        }
      }
    }
  }
}

function actualizaTudo() {
  var totaldesconto = 0;
  var totalpontos = 0;
  Ext.select('.selectpts').each(
    function(el2, _this, index) { 
      var id = Ext.select('#' + el2.dom.id + ' option:selected').first().dom.id;
      var elem = arrayCarrinho[id];
      totalpontos = totalpontos + elem["pontos"];
      totaldesconto = totaldesconto + elem["desconto"];
    }
  );
  Ext.select('#dtotal2 span').update(number_format(totalCarrinho-totaldesconto, 2, decimal_separator, thousand_separator)).parent('td').highlight('01845d');
}

function initStuff() {
  if (Ext.isIE6) {
    Ext.select('input[type=submit]').addClassOnOver('hovered');
  }
  Ext.select('a.favoritos, li.favoritos > a').on('click',
    function(e, el) {
      if (window.sidebar)
        window.sidebar.addPanel(document.title, window.location.href, '');
      else
        if (window.external)
          window.external.AddFavorite(window.location.href, document.title);
      if (e) {
        e.preventDefault();
      }
      return false;
    }
  );
  Ext.select('.familia > a.link_familia').on('click',
    function(e, el) {
      var x = Ext.fly(el).parent().parent().select('.produtos_familia').first().enableDisplayMode('block').toggle();
      if (e) {
        e.preventDefault();
      }
      return false;
    }
  );
  Ext.select('.pequena > a').on('click',
    function(e, el) {
      var i = Ext.fly(el).parent().id.replace("pequena", "");
      Ext.select('.grande').fadeOut({useDisplay: true}).pause(0).filter('#grande' + i).fadeIn();
      if (e) {
        e.preventDefault();
      }
      return false;
    }
  );
  var wins = new Array();
  Ext.select('.xgrande').each(
    function(el2, _this, index) {
      wins[el2.dom.id] = new Ext.Window({
        closable: true,
        height: 530,
        width: 740,
        contentEl: el2.dom.id,
        modal: true,
        layout: 'fit',
        autoScroll: true,
        cls: 'testwindow',
        closeAction: 'hide'
      });
    }
  );
  Ext.select('.grande a.btAmpliar').on('click',
    function(e, el) {
      var i = Ext.fly(el).up('.grande').id.replace("grande", "");
      wins['xgrande'+i].show();
      wins['xgrande'+i].syncSize();
      if (e) {
        e.preventDefault();
      }
      return false;
    }
  );
  Ext.select('#labellicencas').on('click',
    function(e, el) {
      Ext.select('.caixaTextos').setStyle("display", "none");
      Ext.get('caixaLicencas').setStyle("display", "block").select('*:first-child').focus();
      if (e) {
        e.preventDefault();
      }
      return false;
    }
  );
  Ext.select('#labelcaracteristicas').on('click',
    function(e, el) {
      Ext.select('.caixaTextos').setStyle("display", "none");
      Ext.get('caixaCaracteristicas').setStyle("display", "block").select('*:first-child').focus();
      if (e) {
        e.preventDefault();
      }
      return false;
    }
  );
  Ext.select('#labelprodrelacionados').on('click',
    function(e, el) {
      Ext.select('.caixaTextos').setStyle("display", "none");
      Ext.get('caixaProdRelacionados').setStyle("display", "block").select('*:first-child').focus();
      if (e) {
        e.preventDefault();
      }
      return false;
    }
  );
  Ext.select('#labelpromocoes').on('click',
    function(e, el) {
      Ext.select('.caixaTextos').setStyle("display", "none");
      Ext.get('caixaPromocoes').setStyle("display", "block").select('*:first-child').focus();
      if (e) {
        e.preventDefault();
      }
      return false;
    }
  );
  Ext.select('.selectpts').on('change',
    function(e, el) {
      var id2 = Ext.select('#' + el.id + ' option:selected').first().dom.id;
      var totaldesconto = 0;
      var totalpontos = 0;
      var elem = arrayCarrinho[id2];
      var desconto = elem["desconto"];
      Ext.select('.selectpts').each(
        function(el2, _this, index) { 
          var id = Ext.select('#' + el2.dom.id + ' option:selected').first().dom.id;
          var elem = arrayCarrinho[id];
          totalpontos = totalpontos + elem["pontos"];
          totaldesconto = totaldesconto + elem["desconto"];
        }
      );
      if (totalpontos > pontosCliente) {
        if (e) {
          e.preventDefault();
        }
        alert(txt_loja["sem_pontos_suficientes"]);
        Ext.fly(el).dom.selectedIndex = Ext.fly(el).getAttributeNS('', 'current_index');
        return false;
      }
      else {
        Ext.fly(el).parent('tr').child('.tddesconto span').update(number_format(desconto, 2, decimal_separator, thousand_separator)).parent('td').highlight('01845d');
        Ext.fly(el).parent('tr').child('#dtotal2 span').update(number_format(totalCarrinho-totaldesconto, 2, decimal_separator, thousand_separator)).parent('td').highlight('01845d');
        Ext.get('thispontos').update(pontosCliente-totalpontos).highlight('01845d');
        Ext.get('dtotalpontos').child('span').update(totalpontos).parent('td').highlight('01845d');
        Ext.get('dtotaldesconto').child('span').update(number_format(totaldesconto, 2, decimal_separator, thousand_separator)).parent('td').highlight('01845d');
        Ext.fly(el).set({'current_index': Ext.fly(el).dom.selectedIndex});
      }
      //alert("pontos: " + totalpontos + " desconto: " + totaldesconto);
    }
  );

  Ext.select('.linkfinalizar').on('click',
    function(e, el) {
      if ( document.confirmaEncomenda.selectNameentrega.value.length == 0 ) {
        if (e) {
          e.preventDefault();
        }
        alert("Escolha o local de entrega");
        return false;
      }
      else if ( document.confirmaEncomenda.selectNamepagamento.value.length == 0 ) {
        if (e) {
          e.preventDefault();
        }
        alert(txt_loja["alert_escolha"]);
        return false;
      }
      else {
        if (e) {
          e.preventDefault();
        }
        Ext.select('.selectpts').each(
          function(el2, _this, index) {
            var id = Ext.select('#' + el2.dom.id + ' option:selected').first().dom.id;
            var elem = arrayCarrinho[id];
            pontos = elem["pontos"];
            Ext.get('confirmaencomenda').createChild({tag:'input', type:'hidden', value: pontos, name: 'pontos[' + el2.dom.id.replace("selectpts", "") + ']'});
          }
        );
        document.confirmaEncomenda.submit();
        return false;
      }
    }
  );
  
  Ext.select('#formpesquisa').on('submit',
    function(e, el) {
      if (!podepesquisar || (Ext.select('#formpesquisa .inputPesquisa').first().getValue() == '')) {
        if (e) {
          e.preventDefault();
        }
        Ext.select('#formpesquisa .inputPesquisa').first().focus();
        alert('É necessário introduzir pelo menos uma palavra.');
        return false;
      }
    }
  );
  
  Ext.select('#formpesquisa .inputPesquisa').on('focus', 
    function(e, el) {
      if (!podepesquisar) {
        el.value = '';
        podepesquisar = 1;
      }
    }
  );
  
  Ext.select('.tooltipable').each(
    function(el2, _this, index) {
      var t_ = el2.getAttributeNS('', 'title');
      el2.set({title: '', title_: t_});
      var tt = new Ext.ToolTip({
          target: el2,
          html: el2.getAttributeNS('', 'title_'),
          title: el2.dom.firstChild.data,
          showDelay: 50
      });    
    }
  );
}

var loadNewsVar = function() {
  Ext.Ajax.request({
    url: '/xtags/caixa_noticias.php?nocallback=1',
    success: function(response) {Ext.get('noticia_scroll').update(response.responseText).fadeIn({duration: 3, callback: function() {loadNews();}})},
    failure: function() {},
    disableCaching: true
  });
}


function loadNews() {
  loadNewsVar.defer(10000);
}

Ext.onReady(
  function(){
    initStuff();
    loadNews();
  }
);