// pane enumeration
var ePanes = { pSubscribe:0, pViewPetition:1, pSignPetition:2 }
var nCurrentPane = 0;

(function ($) {
$(document).ready(function () {
	// Initially select the subscribe button
	var domEl = $('#campaign-tab-subscribe').get(0);
	if (domEl)
		addClass (domEl, 'selected-tab');
	
	// Scroll to correct place on tab click	
	$('div[id*=campaign-tab]').click(function() {
		var target = 'tabs-scroll-here';
		target = $('[name=tabs-scroll-here]');
		var targetOffset = target.offset().top;
  		$('html,body')
  			.animate({scrollTop: targetOffset}, 1000);
 		return false;
	});
});
})(jQuery);

function clearButtons ()
{
	$('#campaign-actions div').removeClass('selected-tab');
}

function removeClass (obj, className)
{	
	if (obj.className.search(className) != -1)
	{
		obj.className = obj.className.replace(className, " ");
		
		// Trim whitespace
		obj.className = obj.className.replace(/^\s*|\s*$/g,'');
	}
}

function addClass (obj, className)
{
	if (obj) {
		if (!obj.className) {
			obj.className = " " + className;
		}
		if (obj.className.search(className) == -1 ) {
			obj.className += " " + className;
		}
	}
	else {
		return false;
	}
}

function toggleActionsPane(nPane)
{
	var requestedPane = getPaneFromId(nPane);
	var requestedButton = getButtonFromId(nPane);
	var oldPane = getPaneFromId(nCurrentPane);

	

	// if there isn't a pane already being displayed...
	if (nCurrentPane == -1)
	{
		requestedPane.slideDown('slow');
		nCurrentPane = nPane;
	}
	// if there's already a pane being displayed...
	else
	{
		// toggle out if same current pane's button is clicked
		// if (nCurrentPane == nPane)
		// {
		// 	requestedPane.slideUp('slow');
		// 	nCurrentPane = -1;
		// }
		// or else fade into the request pane
		
		
		
		// Don't do anything if the selected button is clicked!
		if (nCurrentPane != nPane)
		{
			// Select the clicked button
			clearButtons();
			addClass(requestedButton, 'selected-tab');
			
			oldPane.fadeOut('fast', function () { requestedPane.fadeIn('fast'); });
			
			nCurrentPane = nPane;
		}
	}
}

function getPaneFromId(paneId)
{
	var paneObject = null;
	
	switch (paneId)
	{
		case ePanes.pSubscribe:
		{
		 	paneObject = $('#campaign-subscribe-pane');
			break;
		}
		case ePanes.pViewPetition:
		{
		 	paneObject = $('#campaign-petition-pane');
			break;
		}
		case ePanes.pSignPetition:
		{
		 	paneObject = $('#campaign-sign-pane');
			break;
		}
		default:
		{
			paneObject = null;
			break;
		}
	}
	
	return paneObject;
}

function getButtonFromId(paneId)
{
	var buttonObject = null;
	
	switch (paneId)
	{
		case ePanes.pSubscribe:
		{
		 	buttonObject = $('#campaign-tab-subscribe').get(0);
			break;
		}
		case ePanes.pViewPetition:
		{
		 	buttonObject = $('#campaign-tab-view').get(0);
			break;
		}
		case ePanes.pSignPetition:
		{
		 	buttonObject = $('#campaign-tab-sign').get(0);
			break;
		}
		default:
		{
			buttonObject = null;
			break;
		}
	}
	
	return buttonObject;
}