var anim = new Array();
var fader = new Array();
var hover = new Array();
var shimanim = new Array();

var i;
var nodeCount = nodes.length;
if (nodeCount > 0) {
 YUI({combine: true, timeout: 1000}).use('anim', 'stylesheet', function(Y) {
  if (Y.StyleSheet) {
   var css = Y.StyleSheet('#common');
   if (css) {
    var sel = '.menu:hover';
    css.unset(sel);
    var hover = {'overflow': 'auto', 'zIndex': 21};
    css.set(sel, hover);
   }
  }

  var ifs = document.getElementsByTagName('iframe');
  var shims = new Array();
  for (i=0; i<ifs.length; i++) {
   var id = ifs[i].src.replace(/.*\//, '');
   shims[id] = ifs[i];
  }

  if (Y.get) {
   for (i=0; i<nodeCount; i++) {
    var id = '#' + nodes[i];
    var node = Y.get(id);
    if (!node) {
     continue;
    }
    fader[node] = new Y.Anim({'node': node,
                              'from': {'opacity': 0},
                              'to': {'opacity': 0.75},
                              'duration': 3});
    fader[node].run();
    var left = new String(((nodeWidth+nodeSpacing) * i) + nodeMargin)+'%';
    anim[node] = new Y.Anim({
                  'node': node,
                  'from': {'backgroundColor': node.getStyle('backgroundColor'),
                           'color': node.getStyle('color'),
                           'height': '2em',
                           'left': left,
                           'opacity': 0.75,
                           'width': nodeWidth+'%'},
                  'to': {'backgroundColor': '#FFF',
                         'color': '#000',
                         'height': '40em',
                         'left': '6%',
                         'opacity': 1,
                         'width': '88%'},
                  'duration': .5});

    // var shimnode = Y.get('#' + shims[id]);
    var shimnode = shims[id];
    if (shimnode) {
     shimanim[node] = new Y.Anim({'node': shimnode,
                                  'from': {'height': '2em',
                                           'left': left,
                                           'width': nodeWidth+'%'},
                                  'to': {'height': '40em',
                                         'left': '6%',
                                         'width': '88%'},
                                  'duration': .5});
    }
    hover[node] = function(e) {
                var node = e.currentTarget;
                var reverse = false;
                if (anim[node].get('running')) {
                 anim[node].pause();
                }
                if (e.type === 'mouseout') { 
                 reverse = true; 
                }
                if (shimanim[node]) {
                 if (shimanim[node].get('running')) {
                  shimanim[node].pause();
                 }
                 shimanim[node].set('duration', reverse ? 1 : 0.1);
                 shimanim[node].set('reverse', reverse);
                 shimanim[node].run();
                }
                anim[node].set('reverse', reverse);
                anim[node].run();
               };
    node.on('mouseenter', hover[node]);
    node.on('mouseleave', hover[node]);
   }
  }
 });
}

