/* -------------------------------------------------------------
 * @Project: Frankfurt Airport City
 *
 * Requires: jQuery v1.2.1 or later
 *
 * Used as a popup to show flight detail information on start page
 *
 * Description:
 *
 * finds every link with class "showdetails",
 * on click on one of these gets the content
 * of the next Element with class "detail"
 * and shows it in a popup under the trigger link
 *
 * -------------------------------------------------------------
 *
 * (Id: flight-search-detail-view.js 1245 2010-06-01 19:35:18Z jfliedner )
 */

function hideDetailPanel(trigger) {

  if (typeof fVc !== "undefined") {
    fVc.detailpanel = false;
  }
  trigger.removeClass('active');
  $('#flight-search-detail').fadeOut('fast').remove();
  triggerElement = null;
  detailContent = null;
  $('.showdetails').removeClass('active');
}

function showDetailPanel(trigger) {
  var triggerElement = trigger;

  if (typeof fVc !== "undefined") {
    fVc.detailpanel = trigger;
  }
  var parentElement = trigger.offsetParent();
  var detailContent = triggerElement.next('.detail') ? triggerElement.next('.detail').html()
      : 'No detail information available for this flight';

  triggerElement.addClass('active');

  $(
      '<div id="flight-search-detail"><a href="javascript:void(0)" class="close" id="close-flight-search-detail">close</a><div>' + detailContent + '</div></div>')
      .appendTo('body');

  $('#flight-search-detail').css( {
    'top' : triggerElement.offset().top + 20,
    'left' : parentElement.offset().left + 35,
    'width' : parentElement.width() - 50
  });
  $('.close').click(function(e) {
    e.preventDefault();
    hideDetailPanel(triggerElement);
  });
  $('#flight-search-detail').fadeIn('fast');

}

function initdetailview() {

  $('.showdetails').unbind('click');
  $('.showdetails').click(function() {
    var trigger = $(this);
    if (trigger.hasClass('active')) {
      hideDetailPanel(trigger);
    }
    else {
      if ($('#flight-search-detail')) {
        hideDetailPanel(trigger);
        showDetailPanel(trigger);
      }
      else {
        showDetailPanel(trigger);
      }

    }
    return false;
  });
}

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

