$(document).ready(function() {
    doResize();
    carousel();
    slide();
    subnavigation();
    nudge();
    newwindows();
});

$(window).resize(function() {
    doResize();
});

var refreshIntervalId;
function carousel() {

    if ($('#thumbs ul').length != 0) {
        var cl = 0;
        var $first = $('#thumbs ul li a:first').attr('href');
        $('#loaderBg').fadeIn(400);
        $('<img src="' + $first + '" />').load(start);
    }
    
    function start() {
        
        $('#thumbs ul li a').each(function() {
            var $lia = this.href;
            if (cl == 0) {
                
                $("#clickablearea").append('<img alt="' + $lia + '" class="active" src="' + $lia + '" />')

            } else {
                $("#clickablearea").append('<img alt="' + $lia + '" class="' + $(this).attr('class') + '" />')
            }
            cl += 1;
        })
        $('#loaderBg').fadeOut(400);

        if (cl != 1) {
            refreshIntervalId = setInterval("slideSwitch()", 6000);
        } else {
            $("#thumbs").remove();
        }
        doResize();
        
    }
    
    
}

function slideSwitch() {
    var $active = $('#clickablearea img.active');
    if ($active.length == 0) $active = $('#clickablearea img.active');
    var $next = $active.next().length ? $active.next() : $('#clickablearea img:first');

    $('<img src="' + $next.attr('alt') + '" />').load(nextImg);

    function nextImg() {
        $next.attr('src', $next.attr('alt'));
        $active.addClass('last-active');
        $next.css({ opacity: 0.0 })
        .addClass('active')
        .animate({ opacity: 1.0 }, 1000, function() {
            $active.removeClass('active last-active');
            $('#thumbs li a').each(function() {
                $(this).removeClass('selected')
                if (this.href == $next.attr('src')) { $(this).addClass('selected'); }
            })
        })

    }

}


function newwindows() {
    //concierge
    if ($('#subMenuNotSel55_1').length > 0) {
        $("#subMenuNotSel55_1 a").hover(function() {
            $('#subMenuNotSel55_1 a').attr('href', '/it/112/homepage.aspx');
            $('#subMenuNotSel55_1 a').attr('target', '_blank');
        });
    }
    if ($('#subMenuNotSel55_2').length > 0) {
        $("#subMenuNotSel55_2 a").hover(function() {
            $('#subMenuNotSel55_2 a').attr('href', '/en/112/homepage.aspx');
            $('#subMenuNotSel55_2 a').attr('target', '_blank');
        });
    }
}


function doResize() {

    var wh = $(window).height();
    var ww = $(window).width() + 20;
    var minh = 750;

    $('#loaderBg').css('top', (wh / 2) - ($('#loaderBg').height() / 2));
    $('#loaderBg').css('left', (ww / 2) - ($('#loaderBg').width() / 2));

    if ($('#leftContent').length > 0) { minh = $('#subpages').height()+283; }
    if ($('#rightcol').length > 0) {
        _minh = 141 + $('#txt').height(); //margin-top
        var minh = _minh < minh ? minh : _minh;
    }

    var h = wh < minh ? minh : wh;
    $('#maincol').height(h);
    $('#rightcol').height(h);
    $('#chain').css('top', h - 86); //64 top + bottom + 22 height of footerlogo

    var imgw = wh * 1.67; //1280x766
    if (imgw <= ww) {
        
        $('#clickablearea img').each(function() {
            $(this).height(ww / 1.67);
            $(this).width(ww);
        });
    } else {
    
        $('#clickablearea img').each(function() {
            $(this).height(wh);
            $(this).width(imgw);
        });
    }

    $('#clickablearea').height($('#container').height());
    
    /*thumbs*/
    var thumbTop = (wh - $('#thumbs ul').height()) / 2;
    $('#thumbs ul').css('top', thumbTop);
    $('#thumbs #flashholder').css('top', thumbTop );

}



function slide() {

    var PUidLan = document.getElementById('PUidLan').value;

    if ($('#thumbs ul').length != 0) {
        $('#clickablearea').css('cursor', "url('/images/default/icon_viewimage_" + PUidLan + ".gif'), pointer");
        $('#clickablearea').toggle(function() {
        $('#clickablearea').css('cursor', "url('/images/default/icon_viewtext_" + PUidLan + ".gif'), pointer");
            $('#lang').fadeOut();
            $('#booking').fadeOut();
            $('#container').fadeOut();
        }, function() {
        $('#clickablearea').css('cursor', "url('/images/default/icon_viewimage_" + PUidLan + ".gif'), pointer");
            $('#lang').fadeIn();
            $('#booking').fadeIn();
            $('#container').fadeIn();
        });

        $('#thumbs a').click(function() {
            $('#thumbs li a').each(function() { $(this).removeClass('selected') })
            $(this).addClass('selected');
            $(this).append('<img src="/images/loader.gif" alt="" class="loader" />');
            swapImg($('#clickablearea .active'), this.href);
            clearInterval(refreshIntervalId);
            return false;
        });
    }

}

function swapImg($img, lnk) {

    $('<img src="' + lnk + '" />').load(next);

    function next() {
        $('.loader').remove();
        $img.attr('src', lnk);
        $('#canvas').fadeOut();
        $('a#bglink').css('cursor', 'url(/images/cursor.gif), pointer');
        $('#container').css('cursor', 'url(/images/cursor.gif), pointer');
        $('#container').click(function() { showContent() });
    }
}

function subnavigation() {
    $('#internallogo').fadeTo(0, 0.60);
    $('#menu a').toggle(function() {
        $('#subpages').fadeOut();
        $('#mainpages').fadeIn();
        $('#internallogo').fadeTo("fast", 1);
        $(this).removeClass('close').addClass('open');
        $(this).blur();
    }, function() {
        $('#subpages').fadeIn();
        $('#mainpages').fadeOut();
        $('#internallogo').fadeTo("fast", 0.6);
        $(this).removeClass('open').addClass('close');
        $(this).blur();
    });
}


function nudge() {
    $('#mainMenu .sub li a').hover(function() { //mouse in
        $(this).animate({ paddingLeft: '2px' }, 100);
    }, function() { //mouse out
        $(this).animate({ paddingLeft: 0 }, 100);
    });
}


