function process_options(element) {
    
  var size = 'large';
  var style = 'http://images.apple.com/itunes/myitunes/javascript/default.css';
  $A($$('ul#widgetStyles li.selected')).each(function(tab){
    style = tab.id + '.css';
  });
  $A($$('span.widgetSizes span.selected')).each(function(tab){
    size = tab.id;
  });

  var width = "435";
  if (size == "small") {
    width = "150";
  } else if (size == "medium") {
    width = "300";
  } else if (size == "large") {
    width = "435";
  }

  $A($$('.widget')).each(function(widget){
    if(widget.nodeName == 'EMBED') {
          
      var parentNode = widget.parentNode;

      if(navigator.userAgent.match(/MSIE/)) {
        var newWidget = get_embed_code(widget);
        newWidget = newWidget.gsub('cssPath=(.*)\/(.*?)\.css', function(match){
          return 'cssPath=' + match[1] + '/' + style;
        });
        newWidget = newWidget.gsub(/width=".*?"/, 'width="' + width + '"');
        parentNode.innerHTML = newWidget + parentNode.innerHTML.gsub(/<(embed|EMBED).*?<\/(embed|EMBED).*?>/, '');
      } else {
        flash_url = widget.src.gsub('cssPath=(.*)\/(.*?)\.css', function(match){
          return 'cssPath=' + match[1] + '/' + style;
        });

        var newWidget = widget.cloneNode(false);
        newWidget.setAttribute('src', flash_url);
        newWidget.setAttribute('width', width);

        parentNode.insertBefore(newWidget, widget);
        parentNode.removeChild(widget);
      }

    }
  });
}

function switch_tabs(selected_tab) {
  tab_selector('div.widgetTypes div.widgetType', selected_tab, 'widgetTypeSelected');
  $A($('widgets-flash').childNodes).each(function(widget){
    if (widget.nodeName == 'SPAN') {
      widget.style.display = 'none';
    }
  });
  $(selected_tab.id + '-widget').style.display = 'block';
}

function tab_selector(selector, clicked, selectionClass) {
  $A($$(selector)).each(function(all_tabs){
    if (clicked != all_tabs) {
      all_tabs.className = all_tabs.className.gsub(selectionClass, '');
    }
  });
  clicked.className = clicked.className + ' ' + selectionClass;
}

function get_embed_code(widget) {
  var html = '<embed';
  var name = '';
  for (var i=0; i < widget.attributes.length; i++) {
    if(widget.attributes[i].value != null && widget.attributes[i].value != 'null' && widget.attributes[i].value != '') {
      name = widget.attributes[i].name;
      if(name == 'name' || name == 'align' || name == 'width' || name == 'scale' || name == 'height' || name == 'pluginspage' || name == 'salign' || name == 'class' || name == 'type' || name == 'allowScriptAccess' || name == 'wmode' || name == 'quality' || name == 'menu' || name == 'src') {
        html += ' ' + name + '="' + widget.attributes[i].value + '"';
      }
    }
  }
  html += '></embed>';
  return(html);
}

var myrules = {
  'ul#widgetStyles li' : function(element){
    element.onclick = function(){
      tab_selector('ul#widgetStyles li', element, 'selected');
      process_options(element);
    }
  },
  'span.widgetSizes span' : function(element){
    element.onclick = function(){
      tab_selector('span.widgetSizes span', element, 'selected');
      process_options(element);
    }
  },
  'div#widgetTypes div.widgetType' : function(element){
    element.onclick = function(){
      switch_tabs(element);
    }
  }
};

Behaviour.register(myrules);
