var cartURL = '/index.php?id=55';
//limite a partir do qual revelamos o nº de panos existentes
//imprime-se qd npanos <= limite_npanos
var limite_npanos = 3;

//////////////////////////////////////////////////////////////
function SlingsEncomenda(){
  window.addEvent('domready', function() {
    var AjaxCart = new Ajax(cartURL, {update:$('cart')});
    var url = 'assets/snippets/ajax.php';
    var area = $('area');
    var areaAjax = new Ajax(url, {
      method: 'get',
      update: area,
      evalScripts: 1
    })
    $('tecidos').addEvent('mousedown', function(item){
      SEajax(area, areaAjax, 'tecidos');
      $$('.active').each(function(elm){
        elm.removeClass('active');
      });
      $('tecidos').addClass('active');
    })
    $('exemplos').addEvent('mousedown', function(){
      SEajax(area, areaAjax, 'exemplos');
      $$('.active').each(function(elm){
        elm.removeClass('active');
      });
      $('exemplos').addClass('active');
    })
    $('construtor').addEvent('mousedown', function(){
      SEajax(area, areaAjax, 'construtor');
      $$('.active').each(function(elm){
        elm.removeClass('active');
      });
      $('construtor').addClass('active');
    })
    $('exemplos').fireEvent('mousedown');
  })
}

function SEajax(area, ajax, what) {
  area.empty().addClass("ajax-loading");
  ajax.request({
    'where': 'slings_encomenda',
    'choice': what
  })
  area.removeClass("ajax-loading");
}

//////////////////////////////////////////////////////////////
function ajaxfunc(where, elm, start, step, total, ajax, fx){
/*  var n = Math.abs(step);
  var t = elm.getChildren();
  if(n == t.length){
    if(t.length > 0){ //remove all the elements
      t.empty();
    }
    elm.empty().addClass('ajax-loading');
    ajax.request({'where':'exemplos', 'start':start, 'step':n});
    elm.removeClass('ajax-loading');
  //  elm.setProperty('visibility', 'hidden');

  } else {
    if(step < 0){ //remove the last "step" elements
      t = t.filter(function(item, index){return index < step;});
    } else { // remove the first "step" elements
      t = t.filter(function(item, index){return index >= step;});
    }
    elm.empty().addClass('ajax-loading');
    ajax.request({'where':'exemplos', 'start':start, 'step':n});
    elm = $(elm);
    elm.removeClass('ajax-loading');
  //  elm.setProperty('visibility', 'hidden');
    var last = $(elm).getChildren().getLast();
    var first = $(elm).getChildren().getFirst();
    if(step < 0){
      //$$(t).injectAfter(last);
      t.each(function(item){elm.inject(item)});
    } else {
      //$$(t).injectBefore(first);
      t.each(function(item){elm.injectTop(item)});
    }
//  fx.slideIn();
  }
  setThumbs();*/
  var n = Math.abs(step);
  elm.empty().addClass('ajax-loading');
  ajax.request({'where': where, 'start':start, 'step':n});
  elm.removeClass('ajax-loading');
  n = start+1;
  ne = Math.min(start + step, total);
  navinfo = 'navInfo';
  if(where == 'exemplos'){
    descr = 'Slings';
  } else if(where == 'tecidos'){
    descr = 'Tecidos';
  } else if(where == 'construtor_lisos'){
    descr = 'Tecidos lisos:';
    navinfo = 'lisos-' + navinfo;
  } else if(where == 'construtor_estampados'){
    descr = 'Tecidos estampados:';
    navinfo = 'estampados-' + navinfo;
  } else {
    descr = 'Imagens'
  }
  $(navinfo).setHTML(
    descr + ' ' + n + ' a ' + ne + ' de ' + total
  );
}

//////////////////////////////////////////////////////////////
function navegacao(whereString, elmID, thumbFunc){
  var url = 'assets/snippets/ajax.php';
  window.addEvent('domready', function() {
    var thumbs = $(elmID);
    //var thumbs = window.document.getElementById(elmID);
    var nthumbs = thumbs.getProperty('step').toInt();
    var total = thumbs.getProperty('total').toInt();
    var start = 0;
    var fx = 0;//new Fx.Slide('hthumbs');
    var ajax = new Ajax(url, {
      method: 'get',
      update: thumbs,
      onComplete: thumbFunc
    });
    $('rewind').addEvent('mousedown', function(){
      if(start >= 2*nthumbs){
        start -= 2*nthumbs;
        ajaxfunc(whereString, thumbs, start, 2*nthumbs, total, ajax, fx);
      }
    })
    $('prev').addEvent('mousedown', function(){
      if(start >= nthumbs){
        start -= nthumbs;
        ajaxfunc(whereString, thumbs, start, 2*nthumbs, total, ajax, fx);
      }
    })
    $('next').addEvent('mousedown', function(){
      if(start < total-nthumbs){
        start += nthumbs;
        ajaxfunc(whereString, thumbs, start, 2*nthumbs, total, ajax, fx);
      }
    })
    $('forward').addEvent('mousedown', function(){
      if(start < total-2*nthumbs){
        start += 2*nthumbs;
        ajaxfunc(whereString, thumbs, start, 2*nthumbs, total, ajax, fx);
      }
    })
  });
}
function navegacao_constr(whereString, thumbID, navID, thumbFunc){
  var url = 'assets/snippets/ajax.php';
  window.addEvent('domready', function() {
    var thumbs = $(thumbID);
    //var thumbs = window.document.getElementById(thumbID);
    var nthumbs = thumbs.getProperty('step').toInt();
    var total = thumbs.getProperty('total').toInt();
    var start = 0;
    var fx = 0;//new Fx.Slide('hthumbs');
    var ajax = new Ajax(url, {
      method: 'get',
      update: thumbs,
      onComplete: thumbFunc
    });
    elm = $(navID);
    var n = $(thumbID + '-rewind');
    n.addEvent('mousedown', function(){
      if(start >= 2*nthumbs){
        start -= 2*nthumbs;
        ajaxfunc(whereString, thumbs, start, 2*nthumbs, total, ajax, fx);
      }
    });
    n = $(thumbID + '-prev');
    n.addEvent('mousedown', function(){
      if(start >= nthumbs){
        start -= nthumbs;
        ajaxfunc(whereString, thumbs, start, 2*nthumbs, total, ajax, fx);
      }
    });
    n = $(thumbID + '-next');
    n.addEvent('mousedown', function(){
      if(start < total-nthumbs){
        start += nthumbs;
        ajaxfunc(whereString, thumbs, start, 2*nthumbs, total, ajax, fx);
      }
    });
    n = $(thumbID + '-forward');
    n.addEvent('mousedown', function(){
      if(start < total-2*nthumbs){
        start += 2*nthumbs;
        ajaxfunc(whereString, thumbs, start, 2*nthumbs, total, ajax, fx);
      }
    });
  });
}

//////////////////////////////////////////////////////////////
function pagExemplos_loadthumbs(){
  window.addEvent('domready', function() {
    setThumbs_Exemplos();
  });
}

//////////////////////////////////////////////////////////////
function pagTecidos_loadthumbs(){
  window.addEvent('domready', function() {
    setThumbs_Tecidos();
  });
}

//////////////////////////////////////////////////////////////
function setThumbs_Tecidos(){
  var folder = 'assets/images/backoffice/se_tecidos/';
  var size = 'm';
  $$('.thumbcontainer').each(function(item){
    item.addEvent('mousedown',function() {
      var img  = item.getChildren().getLast();
      var name = item.getProperty('id');
      var ext  = img.getProperty('src').split('.').getLast();
      var file_m = folder + name + 'm' + '.' + ext;
      var file_f = folder + name + 'f' + '.' + ext;

      var props = item.getProperty('tecido').split(':');
      var title = 'Tecido #' + props[0] + ' - ' + props[1];

      dispon = '';
      if(props[4] <= limite_npanos){
        dispon = 'Panos restantes: ' + props[4] + '<br/>';
      } else {
        dispon = '<br/>';
      }

      $('info').setHTML(
          title + '<br/>' +
          props[3] + '<br/>' +
//          'tipo: ' + props[2] + '<br/>' +
          dispon +
          '<div class="lightbox">' +
          '<a onclick="Lightbox.show(\'' + file_f + '\', \'' + title + '\');">' +
//          '<a rel="lightbox" href="' + file_f + '" title="' + title + '">' +
          'Ver imagem maior' +
          '</a></div>'
      );

      $('imgtecido').setHTML(
        '<a title="' + title + '" onclick="Lightbox.show(\'' + file_f + '\', \'' + title + '\');">' +
//        '<a rel="lightbox" href="' + file_f + '" title="' + title + '">' +
        '<img src="' + file_m + '" title="' + title + '" alt="' + title + '" oncontextmenu="return false;"></a>'
      ).setStyle('cursor','pointer');
    }).getElement('img').setProperty('oncontextmenu','return false;');
  });
}

//////////////////////////////////////////////////////////////
function setThumbs_Exemplos(){
  var folder = 'assets/images/backoffice/se_exemplos/';
  var size = 'm';
  $$('.thumbcontainer').each(function(item){
    item.addEvent('mousedown',function() {
      var img  = item.getChildren().getLast();
      var name = item.getProperty('id');
      var ext  = img.getProperty('src').split('.').getLast();
      var file_m = folder + name + 'm' + '.' + ext;
      var file_f = folder + name + 'f' + '.' + ext;
      var weHaveIt = true;
      var p1 = item.getProperty('tecido1').split(':');
      var p2 = item.getProperty('tecido2').split(':');
      var title = 'Sling ' + p1[1] + ' / ' + p2[1];
      var tecidos = p1[0] + '/' + p2[0];
    //id,nome,preco,n,prev
      n1 = p1[3];
      n2 = p2[3];

      if(n1 == -1 && n2 == -1){
        avail = 'Ambos os tecidos estão <strong>esgotados</strong><br/>';
        weHaveIt = false;

      } else if(n1 != -1 && n2 == -1){
        if(n1 == 0){
          avail = p1[1] + ': Temporariamente indisponivel. '
          if(p1[4]){
            avail = avail + 'Previsão: ' + p1[4];
          } else {
            avail = avail + 'Não há previsão.';
          }
        } else if(n1 < limite_npanos){
          avail = avail + p1[1] + ': ';
          if(n1 > 1){
            avail = avail + n1 + ' panos restantes!';
          } else {
            avail = avail + '<strong>Ultimo pano!</strong>';
          }
        } else {
          avail = p1[1] + ': <strong>Disponível!</strong>';
        }
        avail = avail +  '<br/>';
        avail = avail + p2[1] + ': <strong>Esgotado.</strong>';
        weHaveIt = (weHaveIt && false);

      } else if(n1 == -1 && n2 != -1){
        avail = p1[1] + ': <strong>Esgotado.</strong>';
        weHaveIt = (weHaveIt && false);
        avail = avail +  '<br/>';
        if(n2 == 0){
          avail = avail + p2[1] + ': Temporariamente indisponivel. '
          if(p2[4]){
            avail = avail + 'Previsão: ' + p2[4];
          } else {
//            avail = avail + 'Não há previsão.';
          }
        } else if(n2 < limite_npanos){
          avail = avail + p2[1] + ': ';
          if(n2 > 1){
            avail = avail + n2 + ' panos restantes!';
          } else {
            avail = avail + '<strong>Ultimo pano!</strong>';
          }
        } else {
          avail = avail + p2[1] + ': <strong>Disponível!</strong>';
        }

      } else if(n1 != -1 && n2 != -1){
        if(n1 == 0 && n2 == 0){
          avail = p1[1] + ': Temporariamente indisponivel.';
          weHaveIt = (weHaveIt && false);
          if(p1[4]){
            avail = avail + 'Previsão: ' + p1[4];
          } else {
//            avail = avail + 'Não há previsão.';
          }
          avail = avail + '<br/>';
          avail = avail + p2[1] + ': Temporariamente indisponivel. ';
          weHaveIt = (weHaveIt && false);
          if(p2[4]){
            avail = avail + 'Previsão: ' + p2[4];
          } else {
//            avail = avail + 'Não há previsão.';
          }
          avail = avail + '<br/>';

        } else if(n1 > 0 && n2 == 0){
          if(n1 < limite_npanos){
            avail = p1[1] + ': ';
            if(n1 > 1){
              avail = avail + n1 + ' panos restantes!';
            } else {
              avail = avail + '<strong>Ultimo pano!</strong>';
            }
          } else {
            avail = p1[1] + ': <strong>Disponível!</strong>';
          }
          avail = avail + '<br/>';
          avail = avail + p2[1] + ': Temporariamente indisponível. ';
          if(p2[4]){
            avail = avail + 'Previsão: ' + p2[4];
          } else {
//            avail = avail + 'Não há previsão.';
          }
          avail = avail + '<br/>';
          weHaveIt = (weHaveIt && false);

        } else if(n1 == 0 && n2 > 0){
          avail = p1[1] + ': Temporariamente indisponivel. ';
          if(p1[4]){
            avail = avail + 'Previsão: ' + p1[4];
          } else {
//            avail = avail + 'Não há previsão.';
          }
          avail = avail + '<br/>';
          if(n2 < limite_npanos){
            avail = avail + p2[1] + ': ';
            if(n2 > 1){
              avail = avail + n2 + ' panos restantes!';
            } else {
              avail = avail + '<strong>Ultimo pano!</strong>';
            }
          } else {
            avail = p2[1] + ': <strong>Disponível!</strong>';
          }
          weHaveIt = (weHaveIt && false);

        } else {
          avail = '<strong>Sling disponivel!</strong>';
          weHaveIt = true;
        }
      }

      if(weHaveIt){
        comprar = ''
//--        comprar = '<a href="#" id="addToCart" class="cart" rel="cart" tipo="2" id1="'+p1[0]+'" id2="'+p2[0]+'" medida="" onclick="Cart.click($(\'addToCart\'));return false;">Comprar!</a>';
        priceTag = 'Preço: ' + Math.max(p1[2],p2[2]) + '€';
      } else {
        comprar = '';
        priceTag = '';
      }

      $('info').setHTML(
//        title + '  (' + tecidos + ')<br/>' +
        title + '<br/>' +
        avail + '<br/>' +
        priceTag +
        '<div class="options" style="height:1.6em">' +
        '<div style="width:100px;float:left;">&nbsp;</div>' +
        '<div style="width:200px;float:left;"><a href="#" onclick="Lightbox.show(\'' + file_f + '\', \'' + title + '\');return false;">Ver imagem maior</a></div>' +
        '<div style="width:100px;float:left;text-align:right;font-weight:bold">'+comprar+'</div>'+
        '</div>'
      );

      $('imgtecido').setHTML(
        '<a title="' + title + '" onclick="Lightbox.show(\'' + file_f + '\', \'' + title + '\');return false;">' +
        '<img src="' + file_m + '" title="' + title + '" alt="' + title + '" oncontextmenu="return false;"></a>'
      ).setStyle('cursor','pointer');
    }).getElement('img').setProperty('oncontextmenu','return false;');
  });

}

//////////////////////////////////////////////////////////////
function setThumbsLisos_Construtor(){
  var folder = 'assets/images/backoffice/se_tecidos/';
  var size = 'm';

  var drops = $$('.droppable');
  var drags = $$('#lisos .draggable');

  drags.each(function(item){
    item.setStyle('cursor','move');
    item.addEvent('mousedown', function(e) {
      e = new Event(e).stop();
      var clone = this.clone()
        .setStyles(this.getCoordinates())
        .setStyles({'opacity': 0.7, 'position': 'absolute'});
      clone.addEvents({
        'emptydrop': function() {
          this.remove();
        },
        //Custom event fired by the droppable element
        'dropped': function(droppable){
          var tecido = clone.getProperty('tecido');
          var myprops = tecido.split(':');
          var title = '#' + myprops[0] + ' - ' + myprops[1];
          var ext = clone.getChildren().getLast().getProperty('src').split('.').getLast();
          var name = clone.getProperty('id');
          var file_m = folder + name + 's' + '.' + ext;
          droppable.empty().setHTML(
            '<a title="Tecido ' + title + '">' +
            '<img src="' + file_m + '" title="Tecido ' + title + '" alt="' + title + '" oncontextmenu="return false;">' +
            '</a>'
          );
          droppable.setStyle('border-style', 'none');
          var which = droppable.getProperty('id');
          var preco = $('info');
          var props;
          preco.setProperty(which, tecido);
          if(which == 'tecido1'){
            t = preco.getProperty('tecido2');
            if(t){
              props = new Array(myprops, t.split(':'));
            }
          } else if(which == 'tecido2'){
            t = preco.getProperty('tecido1');
            if(t){
              props = new Array(t.split(':'), myprops);
            }
          }
          if(t){
            priceTag = 'Preço: ' + Math.max(props[0][5], props[1][5]) + '€';
            comprar = ''
//--            comprar = '<a href="#" id="addToCart" class="cart" rel="cart" tipo="2" id1="'+props[0][0]+'" id2="'+props[1][0]+'" medida="" onclick="Cart.click($(\'addToCart\'));return false;">Comprar!</a>';
            //Composicao
            c1 = props[0][3];
            c2 = props[1][3];
            if(c1 == c2){
              comp = c1;
            } else {
              comp = c1 + ' / ' + c2;
            }
            preco.setHTML(
              'Sling: ' + props[0][1] + ' / ' + props[1][1] + '<br/>' +
              'Composição: ' + comp + '<br/>' +
              '<div class="options" style="height:1.6em">' +
              '<div style="width:70px;float:left;">&nbsp;</div>' +
              '<div style="width:160px;float:left;">'+priceTag+'</div>' +
              '<div style="width:70px;float:left;text-align:right;font-weight:bold">'+comprar+'</div>'+
              '</div>'
            )
          } else {
            preco.setHTML('Escolha agora o outro tecido!<br/><br/><br/>')
          }
        }
      }).injectInside(document.body);

      var drag = clone.makeDraggable({
        droppables: drops
      });

      drag.start(e);

    }).getElement('img').setProperty('oncontextmenu','return false;');
  });
}

//////////////////////////////////////////////////////////////
function setThumbsEstampados_Construtor(){
  var folder = 'assets/images/backoffice/se_tecidos/';
  var size = 'm';

  var drops = $$('.droppable');
  var drags = $$('#estampados .draggable');

  drags.each(function(item){
    item.setStyle('cursor','move');
    item.addEvent('mousedown', function(e) {
      e = new Event(e).stop();
      var clone = this.clone()
        .setStyles(this.getCoordinates())
        .setStyles({'opacity': 0.7, 'position': 'absolute'});
      clone.addEvents({
        'emptydrop': function() {
          this.remove();
        },
        //Custom event fired by the droppable element
        'dropped': function(droppable){
          var tecido = clone.getProperty('tecido');
          var myprops = tecido.split(':');
          var title = '#' + myprops[0] + ' - ' + myprops[1];
          var ext = clone.getChildren().getLast().getProperty('src').split('.').getLast();
          var name = clone.getProperty('id');
          var file_m = folder + name + 's' + '.' + ext;
          droppable.empty().setHTML(
            '<a title="Tecido ' + title + '">' +
            '<img src="' + file_m + '" title="Tecido ' + title + '" alt="' + title + '" oncontextmenu="return false;">' +
            '</a>'
          );
          droppable.setStyle('border-style', 'none');
          var which = droppable.getProperty('id');
          var preco = $('info');
          var props;
          preco.setProperty(which, tecido);
          if(which == 'tecido1'){
            t = preco.getProperty('tecido2');
            if(t){
              props = new Array(myprops, t.split(':'));
            }
          } else if(which == 'tecido2'){
            t = preco.getProperty('tecido1');
            if(t){
              props = new Array(t.split(':'), myprops);
            }
          }
          if(t){
            priceTag = 'Preço: ' + Math.max(props[0][5], props[1][5]) + '€';
            comprar = ''
//--            comprar = '<a href="#" id="addToCart" class="cart" rel="cart" tipo="2" id1="'+props[0][0]+'" id2="'+props[1][0]+'" medida="" onclick="Cart.click($(\'addToCart\'));return false;">Comprar!</a>';
            //Composicao
            c1 = props[0][3];
            c2 = props[1][3];
            if(c1 == c2){
              comp = c1;
            } else {
              comp = c1 + ' / ' + c2;
            }
//              ' (' + props[0][0] + '/' + props[1][0] + ')'
            preco.setHTML(
              'Sling: ' + props[0][1] + ' / ' + props[1][1] + '<br/>' +
              'Composição: ' + comp + '<br/>' +
              '<div class="options" style="height:1.6em">' +
              '<div style="width:70px;float:left;">&nbsp;</div>' +
              '<div style="width:160px;float:left;">'+priceTag+'</div>' +
              '<div style="width:70px;float:left;text-align:right;font-weight:bold">'+comprar+'</div>'+
              '</div>'
            )
          } else {
            preco.setHTML('Escolha agora o outro tecido!<br/><br/><br/>')
          }
        }
      }).injectInside(document.body);

      var drag = clone.makeDraggable({
        droppables: drops
      });

      drag.start(e);

    }).getElement('img').setProperty('oncontextmenu','return false;');
  });
}

//////////////////////////////////////////////////////////////
function setDrops_Construtor(){
  $$('.droppable').each(function(drop){
    drop.addEvents({
      'drop': function(element) {
        element.fireEvent('dropped', this);
        element.remove();
        fx = drop.effect('background-color', {wait: false});
        fx.start('7389AE').chain(fx.start.pass('ffffff', fx));
      },
      'over': function() {
        drop.effect('background-color', {wait: false}).start('98B5C1')
        drop.getElements('img').each(function(img){
          img.setStyle('opacity', 0.7)
        });
      },
      'leave': function() {
        drop.effect('background-color', {wait: false}).start('ffffff')
        drop.getElements('img').each(function(img){
          img.setStyle('opacity', 1.0)
        });
      }
    })
  })
}

//////////////////////////////////////////////////////////////
var answerFx = new Array();

function pagFAQs(){
  window.addEvent('domready', function() {
    var answerIDs = new Array();
    $$('.answer').each(function(item){
      fx = new Fx.Slide(item, {'duration':250});
      fx.hide();
      answerFx.push(fx);
      id = item.getProperty('id').substr(3);
      answerIDs.push(id); //because it starts with "qp-"
    });
    var answers = answerFx.associate(answerIDs);
    $$('.question').each(function(item){
      item.addEvent('click', function(e){
        e = new Event(e);
        id = item.getProperty('id').substr(3);
        answers[id].toggle();
        e.stop();
      });
    });
  });
}

function pagFAQs_showAll(){
  answerFx.each(function(item){item.show()});
}

function pagFAQs_hideAll(){
  answerFx.each(function(item){item.hide()});
}


//--------------------------------------------------------
//proteger as imagens

var isNS = (navigator.appName == "Netscape") ? 1 : 0;
if(navigator.appName == "Netscape"){
  document.captureEvents(Event.MOUSEDOWN || Event.MOUSEUP);
}

function nothing(){
  return false;
}
function nothingm(e){
  var myevent = (isNS) ? e : event;
  var eventbutton = (isNS) ? myevent.which : myevent.button;
  if((eventbutton == 2) || (eventbutton == 3)){
    return false;
  }
}
function isRightClick(e){
  return !(nothingm(e));
}

function disableRightClick_ImgElm(elm){
  elm.oncontextmenu = nothing;
  elm.onmousedown = nothingm;
  elm.onmouseup = nothingm;
}

function protectImgs(){
  for(i = 0; i < document.images.length; i++){
    disableRightClick_ImgElm(document.images[i]);
  }
}

window.addEvent('domready', protectImgs);
