//fma pre-load loader
var fmaLoaderImage = new Image();
fmaLoaderImage.src = '_style/_images/bg-fma-loader.gif';

//morpher
var fmaSlide;
var fmaMorph;
var fmaInhibitor = 0;
var linkElement;
//end morpher

//poppers
var FMAFXArray = new Array();
var FMAComponentStyleArray = new Array(2);
for (i = 0; i < 2; i++) {
    FMAComponentStyleArray[i] = new Array();
}
//end poppers

//morpher
function updateFMAInhibitor(onOff) {
    fmaInhibitor = onOff;
}
function updateFMAComponents() {
    initToolTips($$('.fma-component'));
}
function displayCaseStudy() {
    if (fmaInhibitor == 0) {
        //refreshAjaxComponentsFX($$('.fma-component'));
        window.setTimeout('loadPoppers()', 1000);
        window.setTimeout("fmaMorph.start('fma-morph1', {complete: window.setTimeout('updateFMAComponents()',1000)})", 750);
    } else {
        window.setTimeout('displayCaseStudy()', 250);
    }
}

function fmaAjax(linkElement) {
    if (fmaInhibitor > 0) {
        window.setTimeout(function () {
                fmaAjax(linkElement);
            }, 500);
    } else {
        new Ajax(linkElement.getAttribute('rel'), {
            method: 'get',
            update: 'fma-content',
            onComplete: function() {
                displayCaseStudy();
            }
        }).request();
    }
}

function submitCaseStudyLinkAjax(linkElement) {
    updateFMAInhibitor(1);
    
    var fmaContainer = document.getElementById('fma-content');
    
    fmaMorph.start('fma-morph2', {complete: window.setTimeout('updateFMAInhibitor(0)', 500)});
    fmaAjax(linkElement);
    return false;
}
//end morpher

//poppers
function loadPoppers() {
    $$('.popper').each(function(e, i) {
        FMAFXArray[i] = new Fx.Styles(e, {duration:250, wait:false});
        //FMAFXArray[i].options.transition = Fx.Transitions['Back']['easeIn'];
        //0 left
        //1 right
        if (FMAComponentStyleArray[0][i] == null) {
            FMAComponentStyleArray[0][i] = e.getStyle('margin-left');
        }
        if (FMAComponentStyleArray[1][i] == null) {
            FMAComponentStyleArray[1][i] = e.getStyle('margin-right');
        }
        //have poppers not appear by default
        if (FMAComponentStyleArray[0][i] != '0px') {
            FMAFXArray[i].start({                    
                'margin-left': '-250px'
            });
        }
        if (FMAComponentStyleArray[1][i] != '0px') {
            FMAFXArray[i].start({                    
                'margin-right': '-250px'
            });
        }
    });
    
    //poppers for mouse over
    document.getElementById('fma-content').onmouseover = function(event) {
        $$('.popper').each(function(e, i) {
            if (FMAComponentStyleArray[0][i] != '0px') {
                FMAFXArray[i].start({                    
                    'margin-left': FMAComponentStyleArray[0][i]
                });
            }
            if (FMAComponentStyleArray[1][i] != '0px') {
                FMAFXArray[i].start({                    
                    'margin-right': FMAComponentStyleArray[1][i]
                });
            }                
        });
    };
    
    //poppers for mouse out    
    document.getElementById('fma-content').onmouseout = function(event){
        var target;
        //ie7
        if (event == null) {
            target = window.event.toElement;
        //ff2
        } else {
            target = event.relatedTarget;
        }
        if (target != null) {
            if ($(target).hasClass('fma-component') == false) {
                $$('.popper').each(function(e, i){
                    if (FMAComponentStyleArray[0][i] != '0px') {
                        FMAFXArray[i].start({
                            'margin-left': '-250px'
                        });
                    }
                    if (FMAComponentStyleArray[1][i] != '0px') {
                        FMAFXArray[i].start({
                            'margin-right': '-250px'
                        });
                    }
                    //e.removeEvents();
                });
            }
        }
    }
}
//end poppers

window.addEvent('domready', function() {
    //poppers
    window.setTimeout('loadPoppers()', 1000);
    //end poppers
    
    //morpher
    Fx.Morph = Fx.Styles.extend({
        start: function(className){
     
            var to = {};
     
            $each(document.styleSheets, function(style){
                var rules = style.rules || style.cssRules;
                $each(rules, function(rule){
                
                    if (!rule.selectorText || !rule.selectorText.test('\.' + className + '$')) return;
                    Fx.CSS.Styles.each(function(style){
                        if (!rule.style || !rule.style[style]) return;
                        var ruleStyle = rule.style[style];
                        to[style] = (style.test(/color/i) && ruleStyle.test(/^rgb/)) ? ruleStyle.rgbToHex() : ruleStyle;
                    });
                });
            });
            return this.parent(to);
        }
    });
     
    Fx.CSS.Styles = ["backgroundColor", "backgroundPosition", "color", "width", "height", "left", "top", "bottom", "right", "fontSize", "letterSpacing", "lineHeight", "textIndent", "opacity"];
     
    Fx.CSS.Styles.extend(Element.Styles.padding);
    Fx.CSS.Styles.extend(Element.Styles.margin);
     
    Element.Styles.border.each(function(border){
        ['Width', 'Color'].each(function(property){
            Fx.CSS.Styles.push(border + property);
        });
    });
     
    fmaMorph = new Fx.Morph('fma-content', {wait: false});
    //end morpher
});


