
var leftColumn = null;

$(document).ready(
	function()
	{
		leftColumn = $('#leftColumn');
		$('a.switchPanel', leftColumn.get(0))
			.click(switchPanel);
			
		$('#newsletter_submit')
			.click(submitNewsletter);
	}
);

var switchPanel = function(e)
{
	this.blur();
	if(this.parentNode.className == 'expandedPanel')
	return false;
	
	$('dd.expandedPanel', leftColumn.get(0))
		.slideUp(200)
		.removeClass('expandedPanel');
	$('dt.expandedPanel', leftColumn.get(0))
		.removeClass('expandedPanel');
		
	$(this.parentNode).addClass('expandedPanel');
	ddEl = this.parentNode.nextSibling;
	while(ddEl && ddEl.tagName != 'DD') {
		ddEl = ddEl.nextSibling;
	}
	$(ddEl).addClass('expandedPanel').slideDown(400, function(){$(this).css('height', 'auto');});
	return false;
}

var submitNewsletter = function(e)
{
	var submitEl = this;
	$(this).attr('disabled', true);
	$('#ajax_loading').show();
	
	$.ajax(
		{
			type			: 'POST',
			url				: '/ajaxserver.php',
			data			: 'request=newsletter&email=' + $('#newsletter_email').val() + '&name=' + $('#newsletter_name').val() + '&language=' + currentLanguage,
			complete		: function()
			{
				$(submitEl).attr('disabled', false);
				$('#ajax_loading').hide();
			},
			
			success			: function(xml)
			{
				errors = $('error', xml);
				okies = $('ok', xml);
				
				errors.each(
					function()
					{
						attrId = this.getAttribute('id');
						errorTag = $('#' + attrId + '_error');
						if (errorTag.size() == 1) {
							errorTag.html(this.firstChild.nodeValue).Pulsate(200,3);
						} else {
							$('#' + attrId).after('<p class="newsletter_error" id="' + attrId + '_error">' + this.firstChild.nodeValue + '</p>');
							$('#' + attrId + '_error').css('opacity', 1).fadeIn(800);
						}
					}
				);
				
				okies.each(
					function()
					{
						attrId = this.getAttribute('id');
						errorTag = $('#' + attrId + '_error');
						if (errorTag.size() == 1) {
							errorTag.fadeOut(
								800,
								function()
								{
									$(this).remove();
								}
							);
						}
					}
				);
				
				if (errors.size() == 0) {
					var message = $('message', xml)[0].firstChild.nodeValue;
					$('#newsletter').hide(
						800,
						function()
						{
							$(this).after('<p>' + message + '</p>').remove();
						}
					);
				}
			}
		}
	);
	
	return false;
}