/* -------------------------------------------------------------
 * @Project: Frankfurt Airport City
 * 	@Author: Felix Toth (triplesense.de)
 *	@Created: 2008-12-15
 *	@Last edited: Felix Toth, 2008-12-17
 *
 * 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
 * 
 * ------------------------------------------------------------- */


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 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 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();
});

