// =========================================================================
//                 ===== slide show dhtml =====
// script: Gerard Ferrandez - June 2005
// http://www.dhteumeuleu.com
// 3D Terragen pics: Silus - http://silusatrium.no.sapo.pt/galleries01.html
// =========================================================================

var xm = -100;
var ym = 0;
var nx = 0;
var ny = 0;
var nw = 0;
var nh = 0;

$(document).ready(function(){
  /* caso esteja em outra página. */
  if ($("#screen").length == 0){
    return;
  }

  id = function(o)
  {
    return document.getElementById(o);
  }

  px = function (x)
  {
    return ''.concat(Math.round(x), 'px');
  }

  function resize()
  {
    var o = id("screen");
    nx = o.offsetLeft;
    ny = o.offsetTop;
    nw = o.offsetWidth;
    nh = o.offsetHeight;
    ssi.resize();
  }
  onresize = resize;

  var ssi = {
    dx  : 0,
    x0  : 0,
    y0  : 0,
    iz  : false,
    iL  : 0,
    rL  : 0,
    N   : 0,
    b0  : 0,
    b1  : 0,
    ov  : -1,
    NW  : 0,
    ims : 0,
    nxi : 0,
    nyi : 0,
    nxo : 0,
    nyo : 0,
    nho : 0,
    imgWidth  : 0,
    imgHeight : 0,
    borWidth  : 0,
    loaded    : false,

    slide : function ()
    {
      if(!ssi.iz && ssi.loaded)
      {
        ssi.dx -= xm * .014;
        if(ssi.dx > 0) ssi.dx -= ssi.NW; else if(ssi.dx < -ssi.NW) ssi.dx += ssi.NW;
      }
      ssi.b0.style.left = px(ssi.dx);
      ssi.b1.style.left = px(ssi.dx + ssi.NW);
      setTimeout(ssi.slide, 40);
    },
    scroll : function ()
    {
      if(ssi.iz)
      {
        ssi.xmo = Math.min(ssi.nwo, Math.max(0, ((-ssi.nxo + xm + nw * .5))));
        ssi.ymo = Math.min(ssi.nho, Math.max(0, ((-ssi.nyo + ym + nh * .5))));
        var x   = -ssi.xmo * (ssi.nxi / ssi.nwo) + ssi.xmo;
        var y   = -ssi.ymo * (ssi.nyi / ssi.nho) + ssi.ymo;
        ssi.x0 += ((ssi.x0 > x) ? -1 : 1) * Math.abs(ssi.x0 - x) * .1;
        ssi.y0 += ((ssi.y0 > y) ? -1 : 1) * Math.abs(ssi.y0 - y) * .1;
        ssi.rL.left = px(ssi.x0);
        ssi.rL.top  = px(ssi.y0);
        setTimeout(ssi.scroll, 16);
      }
    },
    iResize : function ()
    {
      if(ssi.iz)
      {
        ssi.nwo = Math.min(ssi.nxi, Math.round(98 * nw / 100));
        ssi.nxo = Math.round((nw - ssi.nwo) / 2);
      }
      else
      {
        ssi.nwo = Math.round((ssi.nxi / ssi.nyi) * ssi.nho);
        ssi.nxo = Math.round((nw - ssi.nwo) / 2);
      }
    },
    iBorder : function (o, i)
    {
      var o = o.getElementsByTagName("img");
      o[ssi.iL].className = "thumbOut";
      o[i].className  = "thumbOver";
    },
    disp : function (i, title, caption)
    {
      ssi.iBorder(ssi.b0, i);
      ssi.iBorder(ssi.b1, i);
      ssi.iL = i;
      if(ssi.iz) ssi.iZoom();
      ssi.nxi = ssi.ims[i].width;
      ssi.nyi = ssi.ims[i].height;
      ssi.iResize();
    },
    init : function (obj)
    {
      obj.innerHTML = id("source").innerHTML;
      var img = obj.getElementsByTagName("img");
      for(var i = 0; i < ssi.N; i++)
      {
        var o = img[i];
        o.className = "thumbOut";
        o.onmousedown = function () { return false; }
        o.onclick = function () {  }
        o.i = i;
        o.onmouseover = function()
        {
          ssi.ov = this.i;
          ssi.disp(ssi.ov, ssi.ims[ssi.ov].title, ssi.ims[ssi.ov].alt);
        }
      }
    },
    oResize : function (obj)
    {
      var img = obj.getElementsByTagName("img");
      ssi.NW = 0;
      for(var i = 0; i < ssi.N; i++)
      {
        var o = img[i];
        //alert( o.complete)
        if(true)
        {
          o = o.style;
          var w = (ssi.ims[i].width / ssi.ims[i].height) * ssi.imgHeight;
          o.left = px(ssi.NW);
          ssi.NW += w +( 2 * ssi.borWidth);
          o.top    = px(0);
          o.width  = px(w);
          o.height = px(ssi.imgHeight);
          o.borderWidth   = px(ssi.borWidth);
        }
      }
    },
    resize : function ()
    {
      ssi.borWidth = Math.round(1.4 * nh / 10);
      ssi.imgHeight = id("banner").offsetHeight - (2 * ssi.borWidth);
      ssi.oResize(ssi.b0);
      ssi.oResize(ssi.b1);
      ssi.iResize();
      ssi.NW = Math.round(ssi.NW);
      if(!ssi.loaded) ssi.NW = nw;
    },
    run : function ()
    {
      var o = id("banner").getElementsByTagName("span");
      ssi.b0 = o[0];  
      ssi.b1 = o[1];
      ssi.init(ssi.b0);
      ssi.init(ssi.b1);
      resize();
      ssi.slide();
      ssi.images_load();
    },
    load : function ()
    {
      ssi.ims = id("source").getElementsByTagName("img");
      ssi.N   = ssi.ims.length;
      ssi.run();
    },
    images_load : function ()
    {
      var M = 0;
      for (var i = 0; i < ssi.N; i++)
      {
        if (ssi.ims[i].complete)
        {
          M++;
          resize();
          if (i == 0 && ssi.ov == -1) ssi.b0.getElementsByTagName("img")[0].onmouseover();
        }
      }
      if (M < ssi.N)
        setTimeout(ssi.images_load, 64);
      else
      {
        ssi.loaded = true;
        resize();
      }
    }
  }

  ssi.load();
  var divGaleria = document.getElementById('screen');
  divGaleria.onmousemove = function(e)
  {
    if (window.event) e = window.event;
    xm = (e.x || e.clientX) - nw * .5 - nx;
    ym = (e.y || e.clientY) - nh * .5 - ny;
    if (xm > 0) {// caso o mouse seja colocado em cima do lado direito da galeria.
      
    }
  }
});

var galeria = {
  /* mostra o swf com as fotos da galeria.*/
  abrirGaleria : function(codColigada, idGaleria){
    $.facebox(function(){
        $.post(PATHR+"galeria/abrir/", {'codColigada' : codColigada, 'idGaleria' : idGaleria}, function(retorno){
            $.facebox(retorno);
        });
      })
  }
}