$(function()
{
  $('#dBody').prepend('<ul id="colors"><li class="c1"></li><li class="c2"></li><li class="c3"></li><li class="c4"></li><li class="c5"></li><li class="c6"></li><li class="c7"></li><li class="c8"></li><li class="c9"></li></ul>');
  $('#colors li').click(function(){$('#dBody').css('background-color',$(this).css('background-color'));$.get('/index.php',{'a': 'ajax', 'f': 'bgcolor', 'bgcolor': $(this).css('background-color')});});

  if($('body').hasClass('home') || $('body').hasClass('dallazallaa'))
  {
    $('#cards>li').corner('10px').click(clickCard);

    grid.cardWidth=$('#cards li:first-child').width();
    grid.cardHeight=$('#cards li:first-child').height();
    grid.colWidth=grid.cardWidth+grid.margin*2+grid.padding*2;
    grid.cols=Math.floor($('#cards').innerWidth()/grid.colWidth);
    $('#cards>li').each(function(i){grid.order[i]=this.id;});

    jqm();
  }
  else if($('body').hasClass('info'))
  {
    $('h2').click(infoClick);
  }
});

function jqm()
{
  if(grid.needSort)
  {
    for(var i=0;i<grid.order.length;i++)
      {$('#'+grid.order[i]).appendTo($('#cards'));}
    grid.needSort=false;
    grid.sorted=false;
  }
  $('#cards').masonry({ columnWidth: grid.colWidth, animate: true });

  if(grid.sorted)
    {grid.needSort=true;}
}

var grid={ order: [], colWidth: 0, cardWidth: 0, cardHeight: 0, margin: 5, padding: 5, cols: 0, needSort: false, sorted: false };
var cardToOpen=null;
var cardID=0;

function clickCard(e)
{
  if(!$(this).hasClass('open'))
    {openCard($(this));}
}

function openCard(c)
{
  if(c)
  {
    cardToOpen=c;
    cardID=c.attr('id').substr(5)  ;
  }

  if($('#cards>li.open').size()>0)
  {
    closeCard();
  }
  else
  {
    if(cardToOpen)
    {
      var i=jQuery.inArray(cardToOpen.attr('id'),grid.order);
      if((i+1)%grid.cols==0)
        {cardToOpen.insertBefore('#'+grid.order[i-1]);}

      cardToOpen.css({ 'margin-right': (grid.cardWidth+grid.padding*2+grid.margin*3)+'px', 'margin-bottom': (grid.cardHeight+grid.padding*2+grid.margin*3)+'px' });
      jqm();

      if((i+1)%grid.cols==0)
        {grid.sorted=true;}

      cardToOpen.animate({'width': ((grid.cardWidth+grid.margin+grid.padding)*2)+'px', 'height': ((grid.cardHeight+grid.margin+grid.padding)*2)+'px', 'margin-right': grid.margin+'px', 'margin-bottom': grid.margin+'px'},500,showCardContent).addClass('open');

      if($('#dBody').hasClass('home'))
      {
        cardToOpen.children('div.content-small').fadeOut('fast');

        $.get("/index.php", { 'a': 'ajax', 'f': 'portfolio', 'id': cardID }, loadPortfolioCB);
      }
    }
    else
      {jqm();}
  }
}

function showCardContent()
{
  $('#cards a.close').remove();
  cardToOpen.prepend('<a class="close"></a>');
  cardToOpen.children('a.close').click(closeCard);

  if($('#dBody').hasClass('dallazallaa'))
  {
    cardToOpen.children('div.text').fadeIn();
  }
  else if($('#dBody').hasClass('home'))
  {
    loadPortfolioCBComplete()
  }

  jqm();

  cardToOpen=null;
}

function closeCard(e)
{
  var c=$('#cards>li.open');

  if($('#dBody').hasClass('dallazallaa'))
  {
    $('#cards a.close').remove();
    c.children('div.text').fadeOut('fast');
  }
  else if($('#dBody').hasClass('home'))
  {
    c.children('div.content-big').fadeOut(function(){$('#cards div.content-small').fadeIn();$('#cards a.close').remove();});
  }

  c.removeClass('open').animate({'width': grid.cardWidth+'px', 'height': grid.cardHeight+'px'},500,openCard);
  if(e)
    {e.stopPropagation();}
}

function loadPortfolioCB(data)
{
  if(cardID>0)
  {
    c=$('#card-'+cardID);
    if(c.children('div.content-big').size()==0)
    {
      c.append('<div class="content-big"></div>');
      c.children('div.content-big').append(data);

      photoLoaded=0;
      $('div.content-big div.looped-slider div.slides img',c).load(function(){photoLoaded++;});
    }
  }
}

var photoLoaded=0;

function loadLoopedSlider()
{
  if(cardID>0)
  {
    c=$('#card-'+cardID);
    if($('div.content-big div.looped-slider',c).size()>0)
    {
      if($('div.content-big div.looped-slider div.slides img',c).size()==photoLoaded)
      {
        $('div.content-big div.looped-slider',c).loopedSlider({ addPagination: true });

        if(photoLoaded>1)
        {
          $('div.content-big div.looped-slider ul.pagination',c).css('width',photoLoaded*16+'px');
          margin=(420-16*(photoLoaded+3))/2;
          $('div.content-big div.looped-slider a.next',c).css('margin-right',margin+'px');
          $('div.content-big div.looped-slider a.previous',c).css('margin-left',margin+'px');
        }
        else
        {
          $('div.content-big div.looped-slider ul.pagination, div.content-big div.looped-slider a.next, div.content-big div.looped-slider a.previous',c).hide();
          $('div.content-big div.looped-slider div.container',c).css('cursor','default');
        }

        var h=$('div.content-big',c).height()-$('div.content-big div.looped-slider',c).outerHeight(true)-$('div.content-big h2',c).outerHeight(true)-$('div.content-big div.tag',c).outerHeight(true);
        $('div.content-big div.text',c).css('height',h+'px');
        $('div.content-big div.text',c).jScrollPane();
      }
      else
        {setTimeout(loadLoopedSlider,100);}
    }
    else if($('div.content-big div.object',c).size()>0)
    {
      var h=$('div.content-big',c).height()-$('div.content-big div.object',c).outerHeight(true)-$('div.content-big h2',c).outerHeight(true)-$('div.content-big div.tag',c).outerHeight(true);
      $('div.content-big div.text',c).css('height',h+'px');
      $('div.content-big div.text',c).jScrollPane();
    }
  }
}

function loadPortfolioCBComplete()
{
  if(cardID>0)
  {
    c=$('#card-'+cardID);
    if(c.children('div.content-big').size()>0)
      {c.children('div.content-big').fadeIn(loadLoopedSlider);}
    else
      {setTimeout(loadPortfolioCBComplete,100);}
  }
}

function infoClick()
{
  c=$('#c-'+$(this).attr('id').substr(2));
  if(c.is(':hidden'))
  {
    c.slideDown();
    $(this).addClass('sel');
  }
  else
  {
    c.slideUp();
    $(this).removeClass('sel');
  }
}