$(document).ready(function() {
  init();
});

function init() {
  //imgArrPreload = new Object;
  //$('a.gallery').each(function(i, img) {
  //  img = $(img);
  //  var hash = img.attr('href');
  //  imgArrPreload[hash] = new Image();
  //  imgArrPreload[hash].src = img.attr('href');
  //});

  currElem = null;
  if ($('.carousel ul li').length>3) {
    $(".carousel").jCarouselLite({
          btnNext: ".next",
          btnPrev: ".prev",
          speed: 600,
          //circular: false,
          visible: 3.00,
          scroll: 3
    });
  }
  else {
    $('.car_nav div.icon').css('display', 'none');
  }

  $('.image_preview img.prot').click(function(event) {
    event.stopPropagation();
    var img = $(event.target).siblings('img:not(.prot)').first()[0];
    $("li:not(.carouselCopy) a.gallery[href='"+img.src+"']").click();
  });
  $('.image_preview').click(function(event) {
    event.stopPropagation();
    var img = $(event.target).children('img:not(.prot)').first()[0];
    $("li:not(.carouselCopy) a.gallery[href='"+img.src+"']").click();
  });
  $('li:not(.carouselCopy) a.gallery').attr('rel', 'images');
  $('a.gallery').fancybox({
    'overlayOpacity'    : 0.5,
    'imageScale'        : true,
    'enableEscapeButton': true,
    'cyclic'            : true,
    'hideOnOverlayClick': true,
    'titlePosition'     : 'outside',
    'titleFormat'       : formatImgTitle,
    'zoomSpeedIn'       : 500,
    'zoomSpeedOut'      : 500,
    'zoomSpeedChange'   : 300
  }); 
  $('a.gallery').mouseenter(function(event) {
    if (!currElem || currElem != event.target) {
      lastElem = event.target;
      currElem = lastElem;
      window.setTimeout(function() { 
        changeImage(event);
      }, 500);
    }
  });
  $('a.gallery').mouseleave(function(event) {
    if (lastElem && lastElem == event.target) {
      lastElem = null;
      currElem = null;
    }
  });
  if ($('#player').length>0) {
    flowplayer('player', '/static/js/flowplayer/flowplayer.swf', {
      clip: {
        autoPlay: false
      }
    });
  }
  var fbSettings = {
    'overlayOpacity'    : 0.5,
    'height'            : 470,
    'width'             : 660,
    'showCloseButton'   : false,
    'hideOnOverlayClick': false,
    'hideOnContentClick': false,
    'classInner'        : 'dialog'
  };
  $('a#actionForward').fancybox(fbSettings);
  $('a#actionReportError').fancybox(fbSettings);
  $('#btnShowRoute').click(showRouting);
}

function changeImage(event) {
  if (lastElem && event.target == lastElem) {
    lastElem = null;
    var elem = $(event.currentTarget);
    var target = $('div.image_preview img:not(.prot)');
    if (elem.attr('href') != target.attr('src')) {
      var img = elem.children('img:first');
      target.animate({opacity: .5}, 100, 'swing', function() {
        $(this).attr('src', elem.attr('href'))
               .attr('alt', img.attr('alt'))
               .attr('title', img.attr('title'))
               .animate({opacity: 1}, 100, 'swing');
      });
    }
  }
}

function formatImgTitle(title, currentArray, currentIndex, currentOpts) {
  var titleinfo = title.split(' | ');
  return '<div class="fancybox-customtitle"><div class="titlevalue">'+(titleinfo[1] ? titleinfo[1] : '')+'</div><span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">'+titleinfo[0]+'</span><span id="fancybox-title-right"></span></span></div>';
}

function showRouting(event) {
  event.preventDefault();
  var street = $('#edtStreet').val();
  var zip = $('#edtZIP').val();
  var city = $('#edtCity').val();
  $('#hidSource').val(street+','+zip+' '+city);
  $('form#formRouting').submit();
}

