Builder.pricingChangesEvents = function() {
    $$('.openSideDrawer').invoke('observe', 'click', function(event) {
        Builder.openSideDrawer(event);
    });

    $$('.openMainDrawer').invoke('observe', 'click', function(event) {
        Builder.openMainDrawer(event);
    });
}

Builder.openSideDrawer = function(event) {
    var element = Event.element(event);

    switch(element.className) {
        case "openSideDrawer directDeposit":
        case "openSideDrawer alerts":
        case "openSideDrawer online":
        case "openSideDrawer online mobile":
//      TODO: change 'myPortfolio' class to reflect new naming
        case "openSideDrawer myPortfolio":
            var targetDrawer = $($w(element.className)[1] + 'SideDrawer')
            if (targetDrawer.hasClassName('open')) {
            	//Bug 41413 requests this behaviour for all open functions
                //new Effect.Pulsate(targetDrawer, {
                //    pulses: 2,
                //    duration: 2,
                //    from: 0.25
               // });
            } else {
                closeAll('.sideDrawer');
                openDrawer(targetDrawer);
            }
            new Effect.Pulsate(targetDrawer, {
                pulses: 2,
                duration: 2,
                from: 0.25
            });
        break;
    }
}

Builder.openMainDrawer = function(event) {
    var element = Event.element(event);

    switch(element.className) {
        case "openMainDrawer overview":
        case "openMainDrawer monthly":
        case "openMainDrawer overdrafts":
        case "openMainDrawer otherChanges":
        case "openMainDrawer valuable":
            var targetDrawer = $($w(element.className)[1] + 'Drawer');
            closeAll('.drawer');
            openDrawer(targetDrawer);
        break;
    }
}

Event.observe(window, 'load', Builder.pricingChangesEvents);

// Retrieve elements by their classname additional parameter of targettag for optimization
function getElementsByClassName(classname,targettag) {
	var node = document.getElementsByTagName("body")[0];
	var a = [];
	if(!targettag) targettag = "*";
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName(targettag);
	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className))a.push(els[i]);
	return a;
}
// added rollover functionality to masthead image map
function imageRolloverSwap(rollID){
	var assetpath = (location.protocol+"//"+location.host+location.pathname+"/"+rollID);
    var targetImg = getElementsByClassName("masthead","img")[0];
    targetImg.src = assetpath;
}
