﻿// morph

window.addEvent('domready', function(){
    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.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;
					    //to[style] = 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);
	    });
    }); 
    var myMorph = new Fx.Morph('morpher', {wait: false});
    $('mClose').addEvent('click', function(e){
        new Event(e).stop(); 
        myMorph.start('morph1'); 
    });
     
    $('mOpen').addEvent('click', function(e){
        new Event(e).stop(); 
        if ($('mOpen').mode == 2)
        {
            $('mOpen').mode = 1;
            myMorph.start('morph1');
        }
        else
        {
            $('mOpen').mode = 2;
            myMorph.start('morph2'); 
        }
    });
}); 