Multiple AS tweens slowing movement, help me clean it up please!?

Hey there. I’m working on a kind of exploratory navigation system that works a lot like that of www.saintsandsoldiers.com.

I have 4 different background layers, that each move left/right with the mouses movement, giving some idea of depth.

Thats all fine, but my idea was to have buildings in the background be selectable. When you select them, i wanted to zoom in to the point clicked and blur the building be clicked on. I ended up experimenting with the Tween class (finally) and may have gotten a little carried away. I used tons of tweens to get the unwanted/unselected elements onscreen to either move off the screen or fade out, to help give the effect of zooming into the clicked object. I was fine until i imported an actual image to test the code on (i was writing it with vector drawings as place-holders) and then the blurring/zooming slows down a lot at the end of the tween, looking rather unacceptable.

I haven’t used AS to Tween before this, so its been a lot of futzing around with Flash’s help section. Also very unfamiliar with functions…i just play with stuff till it works at this point (how embarrassing). I feel like i should be calling all the Tweens with one function, which i name as a variable, no? Anyways, if anyone could look at this with some suggestions, i’d be very appreciative…

Heres the code for the zooming stuff:

import flash.filters.BlurFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
building1 = bg1_mc.building1_mc;
building2 = bg1_mc.building2_mc;
centerx = Stage.width/2;
var totalBlur:Number = 6;
var noBlur:Number = 0;
var blur:BlurFilter = new BlurFilter(noBlur, noBlur, 3);
building1.filters = new Array(blur);
building2.filters = new Array(blur);
var blurTween:Tween;
var loading:Boolean;
loading = false;
building1.onRelease = function() {
    if (loading == false) {
        loading = true;
        blurTween = new Tween(blur, "blurX", Strong.easeIn, blur.blurX, totalBlur, 14, false);
        new Tween(bg2_mc, "_alpha", Strong.easeIn, 100, 0, 4, false);
        new Tween(bg3_mc, "_alpha", Strong.easeIn, 100, 0, 5, false);
        new Tween(bg4_mc, "_y", Strong.easeOut, this._y, 700, 10, false);
        new Tween(bg4_mc, "_alpha", Strong.easeIn, 100, 60, 10, false);
        new Tween(this, "_x", Strong.easeIn, this._x, centerx, 14, false);
        new Tween(this, "_y", Strong.easeIn, this._y, -40, 14, false);
        new Tween(this, "_xscale", Strong.easeIn, 100, 500, 14, false);
        new Tween(this, "_yscale", Strong.easeIn, 100, 500, 14, false);
        new Tween(building2, "_alpha", Strong.easeIn, 100, 0, 5, false);
        blurTween.onMotionChanged = function() {
            blur.blurY = blur.blurX;
            building1.filters = new Array(blur);
            new Tween(sign_mc, "_rotation", Strong.easeIn, 180, 0, 15, false);
            _root.gotoAndStop("stopPan");
        };
        blurTween.onMotionFinished = function() {
new Tween(sign_mc, "_rotation", Strong.easeIn, 180, 0, 15, false);}
    }
    if (loading == true) {
    }
};
building2.onRelease = function() {
    if (loading == false) {
        loading = true;
        blurTween = new Tween(blur, "blurX", Strong.easeIn, blur.blurX, totalBlur, 14, false);
        new Tween(bg2_mc, "_alpha", Strong.easeIn, 100, 0, 4, false);
        new Tween(bg3_mc, "_alpha", Strong.easeIn, 100, 0, 5, false);
        new Tween(bg4_mc, "_y", Strong.easeOut, this._y, 700, 10, false);
        new Tween(bg4_mc, "_alpha", Strong.easeIn, 100, 60, 10, false);
        new Tween(this, "_x", Strong.easeIn, this._x, centerx, 14, false);
        new Tween(this, "_y", Strong.easeIn, this._y, -40, 14, false);
        new Tween(this, "_xscale", Strong.easeIn, 100, 500, 14, false);
        new Tween(this, "_yscale", Strong.easeIn, 100, 500, 14, false);
        new Tween(building1, "_alpha", Strong.easeIn, 100, 0, 5, false);
        blurTween.onMotionChanged = function() {
            blur.blurY = blur.blurX;
            building2.filters = new Array(blur);
            new Tween(sign_mc, "_rotation", Strong.easeIn, 180, 0, 15, false);
            _root.gotoAndStop("stopPan");
        };
        blurTween.onMotionFinished = function() {
new Tween(sign_mc, "_rotation", Strong.easeIn, 180, 0, 15, false);}
    }
    if (loading == true) {
    }
};