function process_options(element) {
    
  var size = 'large';
  var style = 'http://images.apple.com/euro/global/scripts/itunes/myitunes/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;
      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;
}

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);
