/*
 * Hirst Animation Sequence w/ basic fade transitions
 *
 */

function runHirstAnim(callback){
    var bgFadeInDur = 1400,
    titleMaskAdvance = 200,
    hirstTitleFadeInDur = 750,
    locationTitleFadeInDur = 500,
    panelHoldDur = 3000,
    panelFadeOutDur = 1200,
    panelCrossFadeDelay = 400,
    tickOffset = 0;
    // Fade In small spot background
    jq("#panelSmallSpotsAnim .bg-mask").fadeOut(bgFadeInDur);

    // Fade In small spot background
    jq("#panelSmallSpotsAnim .bg-mask").fadeOut(bgFadeInDur);
    tickOffset += bgFadeInDur;

    // Fade In Hirst title
    jq("#titleHirstMask").delay(tickOffset).fadeIn(hirstTitleFadeInDur);
    tickOffset += titleMaskAdvance;
    jq("#titleHirst").delay(tickOffset).fadeIn(hirstTitleFadeInDur);
    tickOffset += hirstTitleFadeInDur;

    // Fade in Location titles
    jq("#titleNewYorkMask, #titleBeverlyHillsMask").delay(tickOffset).fadeIn(locationTitleFadeInDur);
    tickOffset += titleMaskAdvance;
    jq("#titleNewYork,  #titleBeverlyHills").delay(tickOffset).fadeIn(locationTitleFadeInDur);
    tickOffset += locationTitleFadeInDur;

    jq("#titleAthensMask, #titleLondonMask").delay(tickOffset).fadeIn(locationTitleFadeInDur);
    tickOffset += titleMaskAdvance;
    jq("#titleAthens,  #titleLondon").delay(tickOffset).fadeIn(locationTitleFadeInDur);
    tickOffset += locationTitleFadeInDur;

    jq("#titleRomeMask, #titleParisMask").delay(tickOffset).fadeIn(locationTitleFadeInDur);
    tickOffset += titleMaskAdvance;
    jq("#titleRome,  #titleParis").delay(tickOffset).fadeIn(locationTitleFadeInDur);
    tickOffset += locationTitleFadeInDur;

    jq("#titleGenevaMask, #titleHongKongMask").delay(tickOffset).fadeIn(locationTitleFadeInDur);
    tickOffset += titleMaskAdvance;
    jq("#titleGeneva,  #titleHongKong").delay(tickOffset).fadeIn(locationTitleFadeInDur, function(){
        tickOffset += locationTitleFadeInDur + panelHoldDur;
        // Cross-fade to large spot background
        jq(".tile-title, .tile-mask, #bgSmallSpots").dequeue().delay(tickOffset).fadeOut(panelFadeOutDur);
        jq("#bgMask").fadeOut(panelFadeOutDur, function(){
            if(callback){
                callback();
            }
        });
    });

}

