function external(path) {
    if ($('a#lightbox').length == 0) 
    {
        switch (path) 
        {
            case "lightbox1":
                // this one uses shadowbox to open an iframe
                showQuickRegistration();
                break;
            case "lightbox2":
                showQuickBrochure();
                break;
        }
    } else if ($('a#lightbox').attr("href") != path) {
    $('a#lightbox').attr("href", path);
    }
    // now we will simulate the click here.
    $('a#lightbox').trigger("click");
}

$(document).ready(function() {

    // IE6 PNG Fix //
    //$(document).pngFix();
    // Submenu//
    $('.submenuWrapper').css('visibility', 'hidden');
    $('#secondary-menu ul li.top-link').hover(function(e) {
        e.preventDefault();
        $(this).find("#secondary-menu ul li").css('background', 'none');
        $(this).addClass("current");
        $(this).find(".submenuWrapper").css('visibility', 'visible');
    },
		    function(e) {
		        e.preventDefault();
		        $(this).removeClass("current");
		        $(this).find(".submenuWrapper").css('visibility', 'hidden');

		    });
    //Selectbox //
    $('#flashSearchBar select, .selectDateWrapper select, .ltboxForm select, .ltboxFormWrapper select').customStyle();
    // Hit target for '#flashSearchBar select' drops to 6px in Firefox and Chrome
    // reset manually
    $('#flashSearchBar select').css('height', '22px');
    $('.ddldates .customStyleSelectBoxInner').css('width', '101px');
    $('.ddlRegions .customStyleSelectBoxInner').css('width', '168px');
    $('.ddlcruises .customStyleSelectBoxInner').css('width', '352px');
    $('.registration .DdlCountry .customStyleSelectBoxInner').css('width', '148px');
    $('.brochure-media .statefield .customStyleSelectBoxInner').css('height', '14px');
    if ($('.ltboxMediaInfo').jScrollPane)
        $('.ltboxMediaInfo').jScrollPane({ showArrows: true, scrollbarWidth: 17 });

    $("label.overlabel").overlabel();
    if ($("#tabs").tabs)
        $("#tabs").tabs();
        
    $('#page_effect').fadeIn(500);


    // =========================================================================================
    // start custom jquery functions
    // =========================================================================================
    $('.brochure-media .statefield .customStyleSelectBoxInner').css('width', '196px');
    // highlight tab on region page

    var tabbedpage = location.pathname.substring(location.pathname.lastIndexOf('/') + 1);
    $('#ulTabs li a').filter("[href*='" + tabbedpage + "']").addClass("active");



});

/* =jQuery Plugins*/

(function($) {
    /* Custom Selectbox */
    $.fn.extend({

        customStyle: function(options) {
            if (!$.browser.msie || ($.browser.msie && $.browser.version > 6)) {
                return this.each(function() {

                    var currentSelected = $(this).find(':selected');
                    $(this).after('<span class="customStyleSelectBox"><span class="customStyleSelectBoxInner">' + currentSelected.text() + '</span></span>').css({ position: 'absolute', opacity: 0, fontSize: $(this).next().css('font-size') });
                    var selectBoxSpan = $(this).next();
                    var selectBoxWidth = parseInt($(this).width()) - parseInt(selectBoxSpan.css('padding-left')) - parseInt(selectBoxSpan.css('padding-right'));
                    var selectBoxSpanInner = selectBoxSpan.find(':first-child');
                    selectBoxSpan.css({ display: 'inline-block' });
                    selectBoxSpanInner.css({ width: selectBoxWidth, display: 'inline-block' });
                    var selectBoxHeight = parseInt(selectBoxSpan.height()) + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
                    $(this).height(selectBoxHeight).change(function() {
                        selectBoxSpanInner.text($(this).val()).parent().addClass('changed');   // (Dan) This was not ideal
                        selectBoxSpanInner.text($(this).find(':selected').text()).parent().addClass('changed');
                        // Thanks to Juarez Filho & PaddyMurphy
                    });

                });
            }
        }
    });


    /* = plug-in : overlabel */
    $.fn.overlabel = function(options) {
        var opts = $.extend({}, $.fn.overlabel.defaults, options);
        var selection = this.filter('label[for]').map(function() {
            var label = $(this);
            var id = label.attr('for');
            var field = $('#' + id);
            if (!field) return;
            var o = $.meta ? $.extend({}, opts, label.data()) : opts;
            label.addClass(o.label_class);
            var hide_label = function() { label.css(o.hide_css) };
            var show_label = function() { this.value || label.css(o.show_css) };
            $(field)
					.parent().addClass(o.wrapper_class).end()
					.focus(hide_label).blur(show_label).each(hide_label).each(show_label);
            return this;
        });
        return opts.filter ? selection : selection.end();
    };
    $.fn.overlabel.defaults = {
        label_class: 'overlabel-apply',
        wrapper_class: 'overlabel-wrapper',
        hide_css: { 'display': 'none' },
        show_css: { 'display': 'block' },
        filter: false
    };
    /********EQUALIZE************/
    $.fn.equalizeCols = function() {
        var height = 0,
			reset = $.browser.msie ? "1%" : "auto";

        return this
			.css("height", reset)
			.each(function() {
			    height = Math.max(height, $(this).outerHeight(true));
			})
			.css("height", height)
			.each(function() {
			    var h = $(this).outerHeight(true);
			    if (h > height) {
			        $(this).css("height", height - (h - height));
			    };
			});

    };
    /********FIX PNG************/
    jQuery.fn.pngFix = function(settings) {

        // Settings
        settings = jQuery.extend({
            blankgif: 'blank.gif'
        }, settings);

        var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
        var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);

        if (jQuery.browser.msie && (ie55 || ie6)) {

            //fix images with png-source
            jQuery(this).find("img[src$=.png]").each(function() {

                jQuery(this).attr('width', jQuery(this).width());
                jQuery(this).attr('height', jQuery(this).height());

                var prevStyle = '';
                var strNewHTML = '';
                var imgId = (jQuery(this).attr('id')) ? 'id="' + jQuery(this).attr('id') + '" ' : '';
                var imgClass = (jQuery(this).attr('class')) ? 'class="' + jQuery(this).attr('class') + '" ' : '';
                var imgTitle = (jQuery(this).attr('title')) ? 'title="' + jQuery(this).attr('title') + '" ' : '';
                var imgAlt = (jQuery(this).attr('alt')) ? 'alt="' + jQuery(this).attr('alt') + '" ' : '';
                var imgAlign = (jQuery(this).attr('align')) ? 'float:' + jQuery(this).attr('align') + ';' : '';
                var imgHand = (jQuery(this).parent().attr('href')) ? 'cursor:hand;' : '';
                if (this.style.border) {
                    prevStyle += 'border:' + this.style.border + ';';
                    this.style.border = '';
                }
                if (this.style.padding) {
                    prevStyle += 'padding:' + this.style.padding + ';';
                    this.style.padding = '';
                }
                if (this.style.margin) {
                    prevStyle += 'margin:' + this.style.margin + ';';
                    this.style.margin = '';
                }
                var imgStyle = (this.style.cssText);

                strNewHTML += '<span ' + imgId + imgClass + imgTitle + imgAlt;
                strNewHTML += 'style="position:relative;white-space:pre-line;display:inline-block;background:transparent;' + imgAlign + imgHand;
                strNewHTML += 'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;';
                strNewHTML += 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + jQuery(this).attr('src') + '\', sizingMethod=\'scale\');';
                strNewHTML += imgStyle + '"></span>';
                if (prevStyle != '') {
                    strNewHTML = '<span style="position:relative;display:inline-block;' + prevStyle + imgHand + 'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;' + '">' + strNewHTML + '</span>';
                }

                jQuery(this).hide();
                jQuery(this).after(strNewHTML);

            });

            // fix css background pngs
            jQuery(this).find("*").each(function() {
                var bgIMG = jQuery(this).css('background-image');
                var bgHasBehavior = jQuery(this).css('behavior');
                if (bgHasBehavior.indexOf(".htc") == -1) {
                    if (bgIMG.indexOf(".png") != -1) {
                        var iebg = bgIMG.split('url("')[1].split('")')[0];
                        jQuery(this).css('background-image', 'none');
                        jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')";
                    }
                }
            });

            //fix input with png-source
            jQuery(this).find("input[src$=.png]").each(function() {
                var bgIMG = jQuery(this).attr('src');
                jQuery(this).get(0).runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + bgIMG + '\', sizingMethod=\'scale\');';
                jQuery(this).attr('src', settings.blankgif)
            });

        }

        return jQuery;

    };
    /**************************/
})(jQuery);

