function switchTab(evt) {
  var el = Event.element(evt);
  showPanel(el);
}

function showPanel(el) {
  $('active').id = "";
  el.id = "active";
  var parts = el.href.split("#");
  var tab_id = "tab_" + parts[1];

  // Hide current open panel
  var panel = $$('.open');
  if(panel[0]) {
    panel[0].className = "opened";
    panel[0].hide();
  }

  // Initialize gigya widget if necessary
  if ($(tab_id).hasClassName("opened") == false && $(tab_id + '_gigya')) {
    Wildfire.initPost('177951', tab_id + "_gigya", 925, 100, pconf);
  }

  // Show new panel
  $(tab_id).className = "open";
  $(tab_id).show();
}

function spotTab() {
  var parts = document.location.href.split("#");
  if(parts[1]) { // anchor has been set
    tab = $$('#go_' + parts[1] + ' a');
    showPanel(tab[0]);
  } else {
    showPanel($("active"));
  }
}

function setWidget(button, type, id) {
  if (button.checked) {
    var widget_url = '';
    if (id) {
      widget_url = type + "/" + id + ".png";
    } else {
      widget_url = type + ".png";
    }

    // Update preview
    new Ajax.Updater('example_' + type, "/widgets/preview/" + widget_url, {asynchronous:true, evalScripts:true,
      onLoading: function(request) {
        $('exampleimg_' + type).hide();
        $('load_' + type).show();
      },
      onSuccess: function(request) {
        $('load_' + type).hide();
      }
    });

    // Update codes
    $$("#tab_" + type + " .widget_codes textarea").each(function(element) {
      element.value = $('code_' + element.className).value.gsub(/\{widget_url\}/, widget_url);
      new Effect.Highlight(element);
    });
  }
}

function setDevWidget(shortcut) {
  // Update preview
  new Ajax.Updater('example_dev', "/widgets/preview/software/" + shortcut + ".png", {asynchronous:true, evalScripts:true,
    onLoading: function(request) {
      $('exampleimg_dev').hide();
      $('load_dev').show();
    },
    onSuccess: function(request) {
      $('load_dev').hide();
    }
  });

  // Update codes
  element = $("devbadge_code");
  element.value = $('code_devbadge').value.gsub(/\{shortcut\}/, shortcut);
  element.value = element.value.gsub(/\{name\}/, name);
  new Effect.Highlight(element);
}

var wfSettings = '<config><display showEmail="false" showPost="true" showBookmark="false" networksToHide="" showCodeBox="false" postToSidebarChecked="false" bulletinChecked="false" networksWithCodeBox="" /><body font="Arial"><background frame-color="#FFFFFF" background-color="#FFFFFF" /><controls><textboxes><codeboxes size="12" /><inputs size="12" /><dropdowns size="12" /></textboxes><buttons><post-buttons size="12" /></buttons></controls><texts size="12"><labels bold="false" /></texts></body></config>';

document.observe('dom:loaded', function(){
  Event.observe("subnav", "click", switchTab, false);
  spotTab();
});
