var activeProject = 0;
var activeProjectTemp = 0;
var activePortfolio = false;
var activeProjectInfo = false;
var activeProjectInfoTemp = false;
var rightClicked = false;
var leftClicked = false;

function showPortfolio() { 
  // prve otvorenie portfolia
  if (activeProjects) { hideProjects(); }
  if (activePresentation) { hidePresentation(); }

  // uz je aktivne 
  if (activePortfolio) { return; }
  activePortfolio = true;
    
  var activeCategory = $('a#portfolio').parent().find('li.active').children('a').attr('id').charAt(1);
  var currentCategory = -1;  
  var ul = '';  
  for (var i in projects) {
  
    // nova gategoria
    var newCategory = projects[i].category;        
    if (newCategory != currentCategory) {
      currentCategory = newCategory;
      if (i > 0) { ul += '</ul>' }
      ul += '<ul class="works' + ((activeCategory == currentCategory) ? ' active' : '') +'" id="categ' + currentCategory +'">';
    }
    
    ul += projects[i].getPortfolioHTML();
    
  }  
  ul += '</ul>';
  if (activeCategory != 4) {
    $('div#works').hide().html(ul).animate({height: 'show', opacity: 'show'});  
    $('#project' + activeProject).addClass('active');
    activateProjectInfo();       
  } else {
    $('div#works').not(':hidden').animate({height: 'hide', opacity: 'hide'}, 500);
    activePortfolio = false;
    deactivateProjectInfo();       
  }
  
  $('#works').css({top: 0});
  
  // obrazky
  portfolioImages();
}

function hidePortfolio() {
  if (!activePortfolio) { return; }
  activePortfolio = false;
}

function switchPortfolioCategory(cat, activate) {    
  showPortfolio();
  if (cat == 4) { 
    hidePortfolio();
    $('div#works').animate({opacity: 'hide', height: 'hide'}, 500);
    deactivateProjectInfo();     
  } else {
    activateProjectInfo();
    quickHideProjectInfo();    
  }

  // zaktivnenie kategorie hore
  $('a#portfolio').parent().find('li.active').removeClass('active');
  $('a#p' + cat).parent().addClass('active');
   
  // zaktivnenie kategorie vpravo
  $('ul.works.active').removeClass('active');
  $('ul#categ' + cat).addClass('active');
      
  // zaktivnenie prveho projektu
  if (activate) {
    _switchPortfolioProject(potfolioCategoriesStart[cat]);
  }  
}

function _switchPortfolioProject(id) {
  $('ul.works').find('li.active').removeClass('active');
  $('li#project' + id).addClass('active');    
  activeProject = id;
  portfolioImages(); 
}

function switchPortfolioProject(id) {
  activeProjectTemp = id;
  if (activeProject == id) { return; }  
  switchPortfolioCategory(projects[id].category, false);
  _switchPortfolioProject(id);
  quickHideProjectInfo();     
}

function hoverProject(id) {
  if (activeProject == id) { return; }
  activeProjectTemp = activeProject;
  activeProjectInfoTemp = activeProjectInfo;
  switchPortfolioCategory(projects[id].category, false);
  _switchPortfolioProject(id);
  quickHideProjectInfo();   
}

function unhoverProject() { 
  if (activeProject == activeProjectTemp) { return; }
  activeProject = activeProjectTemp;    
  switchPortfolioCategory(projects[activeProject].category, false);
  _switchPortfolioProject(activeProject);
  if (activeProjectInfoTemp) { quickShowProjectInfo(); }    
}

function portfolioImages() {
  // obrazky
  var str = projects[activeProject].getGalleryHTML();
  $('div#image').stop().hide().html(str).css({opacity: 0, display: 'block'});
  $('div#over-text-bg').css({backgroundColor: '#000', opacity: 0.62});
  $('.in2').css({color: '#fff'});  
  if (!activeProjectInfo) { $('div#over-text').hide(); }
  $('div#image').animate({opacity: 1}, 500);    
  
  // prepinanie obrazkov
  var _switch = projects[activeProject].getGallerySwitchHTML();
  $('div#images-switch').html(_switch);     
  
  // sipky
  portfolioArrows();
}

function portfolioArrows() {
  // sipky
  $('#image-arr-left').remove();
  $('#image-plc-left').remove();
  $('#image-arr-right').remove();  
  $('#image-plc-right').remove();
  
  var wn = projects[activeProject].activeImage;
  var wd = $('#gallery' + wn).width() - 50;
  if (wn > 0) {    
    $('div#image').append('<div id="image-plc-left"></div>');
    $('div#image').append('<div id="image-arr-left"></div>');
    if (!leftClicked) {
      $('#image-arr-left').hide();
    }
    $('#image-arr-left').click(function() { leftClicked = true; projects[activeProject].switchImage(projects[activeProject].activeImage - 1); }).hover(function() { $('#image-arr-left').show(); }, function() { $('#image-arr-left').hide(); });
    $('#image-plc-left').css({width: ((wd + 50)/2).toFixed(0) + 'px'}).hover(function() { $('#image-arr-left').show(); }, function() { $('#image-arr-left').hide(); });         
  } 
  if (wn < (projects[activeProject].imagesCount-1)) {
    $('div#image').append('<div id="image-plc-right"></div>');
    $('div#image').append('<div id="image-arr-right" style="left: '+wd+'px"></div>');
    if (!rightClicked) {
      $('#image-arr-right').hide();
    }
    $('#image-arr-right').click(function() { rightClicked = true; projects[activeProject].switchImage(projects[activeProject].activeImage + 1); }).hover(function() { $('#image-arr-right').show(); }, function() { $('#image-arr-right').hide(); });
    $('#image-plc-right').css({width: ((wd + 50)/2).toFixed(0) + 'px', left: ((wd + 50)/2).toFixed(0) + 'px'}).hover(function() { $('#image-arr-right').show(); }, function() { $('#image-arr-right').hide(); });
  }   
  rightClicked = false;
  leftClicked = false;
}
