$.fn.tabControl = function() {
  if (this.length < 1)
    return;
    
  var elem     = $(this[0]),
      active   = undefined,
      contents = $('.tab_content'),
	    buttons  = elem.find('ul:first-child li').each(function(index) {
                	 $(this).data('content', $(contents[index]));
                 });

	elem.find('ul').click(function(event) {
		var clicked_tab = $(event.target);

		if (!clicked_tab.is('li'))
		  clicked_tab = clicked_tab.parent('li');

		if (clicked_tab.length > 0)
		  setActive(clicked_tab);
	});

	var initial_tab = elem.attr('active') || 1;
  var queryString = $.each((window.location.href.split('?')[1] || '').split('&'), function(index) {
    var key = this.split('=')[0], value = this.split('=')[1];
    if (key == 'tab' && value <= buttons.length)
      initial_tab = value; return false;
  });
	setActive(buttons.eq(initial_tab-1));

	function setActive(clicked_tab) {
		// Remove the old class
	  if (active && clicked_tab.get(0) !== active.get(0))
		  active.removeClass('active').data('content').removeClass('active');

	  clicked_tab.addClass('active').data('content').addClass('active');
		active = clicked_tab;	// Update active element with new item
	};
};

$(document).ready(function() {
  $('#tabs').tabControl();
});