var statusAreaFadingOut = false;
var statusAreaServiceBase = '/__service/LaunchPad.Core.Web.Controls.LaunchPadStatusArea/';

$().ready(function() {

    $('#statusArea,#statusAreaControls').css('position', 'absolute').css('zIndex', '2000');
    $('#statusArea').css('opacity', '0.75');
    $('#statusArea,#statusAreaControls').css('padding', '6px').css('background', '#ffffcc').css('border', '1px solid #adacac');
    $('#statusAreaControls').css('border', '0px').css('cursor', 'pointer');
    $('#statusArea,#statusAreaControls').css('right', '0px');
    $('#statusArea').css('font-weight', 'bold');

    $(window).scroll(function() {
        StatusAreaUpdatePosition();
    }).resize(function() {
        StatusAreaUpdatePosition();
    });

    $('#statusArea').hover(function() {
        if (!statusAreaFadingOut) {
            //$('#statusAreaControls').fadeIn(150);
            $('#statusArea').animate({ 'opacity': '1' }, 150);
        }
    }, function() {
        statusAreaFadingOut = true;
        window.setTimeout('FadeOutStatusArea()', 100);
    });

    $('#statusAreaControls').hover(function() {
        statusAreaFadingOut = false;
    }, function() {
        statusAreaFadingOut = true;
        window.setTimeout('FadeOutStatusArea()', 100);
    });

    UpdateStatusArea(true);
});

function StatusAreaUpdatePosition() {
    $('#statusArea').css('top', parseInt(((($(window).height() + $(window).scrollTop()) - $('#statusArea').outerHeight()) - 2)) + 'px');
    $('#statusAreaControls').css('top', parseInt((((($(window).height() + $(window).scrollTop()) - $('#statusArea').outerHeight()) - $('#statusAreaControls').outerHeight()) - 2)) + 'px');
}

function FadeOutStatusArea() {
    if (statusAreaFadingOut) {
        $('#statusAreaControls').fadeOut(150);
        $('#statusArea').animate({ 'opacity': '0.75' }, 150);
        statusAreaFadingOut = false;
    }
}

function UpdateStatusArea(recall) {
    $.postJSON(statusAreaServiceBase + 'Update', { PageId: statusAreaCurrentPage }, function(statusAreaResponse) {
        $('#statusArea').html(statusAreaResponse.markup);

        $('#statusAreaMakeLiveLink').click(function() {
            $.postJSON(statusAreaServiceBase + 'MakeLive', { PageId: statusAreaCurrentPage }, function(statusAreaMakeLiveResponse) {
                UpdateStatusArea(false);
            });
        });

        $('#statusAreaSubmitLink').click(function() {
            $.postJSON(statusAreaServiceBase + 'SubmitDraft', { PageId: statusAreaCurrentPage }, function(statusAreaSubmitDraftResponse) {
                UpdateStatusArea(false);
            });
        });

        $('#statusAreaUnsubmitLink').click(function() {
            $.postJSON(statusAreaServiceBase + 'UnsubmitDraft', { PageId: statusAreaCurrentPage }, function(statusAreaUnsubmitDraftResponse) {
                UpdateStatusArea(false);
            });
        });

        $('#statusAreaDeleteLink').click(function() {
            $.postJSON(statusAreaServiceBase + 'DeleteDraft', { PageId: statusAreaCurrentPage }, function(statusAreaDeleteDraftResponse) {
                window.location = window.location;
            });
        });

        $('#statusAreaControls_SiteMap').click(function() {
            
        });

        StatusAreaUpdatePosition();

        if (recall) {
            window.setTimeout('UpdateStatusArea(true)', 30000);
        }
    });
}