function initPopupFormOverlays(wrapper)
{
	if (!wrapper)
		wrapper = jQuery('body');
		
	wrapper.find('a.lnkForgotPassword')
		.unbind('click')
		.click(function()
				{
					var fpLink = jQuery(this);
					var fpForm = new AJAXForm({
													popupFormTrigger: fpLink,
													dynamicWrapperId: 'AJAXForgotPasswordForm',
													AJAXpageUrl: fpLink.attr('href'),
													AJAXpageElementsFilter: '.Overlay',
													formLoadCallBack: function(dynamicContentWrapper)
																		{
																			replaceSubmitButtons(dynamicContentWrapper, 'btnYellow');

																		},
													successCallBack: null,
													closeOnSuccessfulSubmit: false,
													triggerOffsetX: -90,
													triggerOffsetY: 7,
													arrOffsetX: 140
												 });
					
					return false;
				});
}

// replacement of submit buttons with custom submit links
function replaceSubmitButtons(wrapper, cssClass)
{
	if(wrapper)
		var submitBtns = wrapper.find('input:submit');
	else
		var submitBtns = jQuery('input:submit');
	
	submitBtns
		.each(function()
				{
					var submitBtn = jQuery(this);
					if (cssClass)
						var submitLink = jQuery('<a href="#" class="' + cssClass + '"><span>' + submitBtn.val() + '</span></a>');
					else
						var submitLink = jQuery('<a href="#" class="DynamicLnkButton"><div class="BoxTop"></div><div class="BoxContent">' + submitBtn.val() + '</div><div class="BoxBtm"></div></a>');
					submitBtn.replaceWith(submitLink);
					
					submitLink
						.click(function()
								{
									var form = jQuery(this).parents('form');
									form.submit();
									return false;
								})
				})
}

var pfDelay = 8000;
var pfCount = [20, 20, 20];
var pfShowing = [5, 5, 5];
var pfInd = [0, 0, 0];
var feedWrapper = [];

function pfMove(feedItem, i) {
	  feedItem.css('display', 'none').prependTo(feedWrapper[i].find('ul')); 
}


function pfShift(i) {		
	var toShow = (pfInd[i] + pfShowing[i]) % pfCount[i];
	
	if(toShow != pfInd[i])
	{
		var j = i;
		feedWrapper[i].find('.FeedItem' + toShow).slideDown(1000);
		feedWrapper[i].find('.FeedItem' + pfInd[i]).slideUp(1000, function(){var feedItem = $(this); pfMove(feedItem, i)});
	}
	
	pfInd[i] = (pfInd[i] + 1) % pfCount[i];

	setTimeout('pfShift(' + i + ')', pfDelay);
}

function initPublicFeedsRotation()
{
	feedWrapper[0] = jQuery('#GroupsFeed');
	feedWrapper[1] = jQuery('#ItemsFeed');
	feedWrapper[2] = jQuery('#MembersFeed');
	
	for (var i=0; i<feedWrapper.length;i++)
	{
		pfCount[i] = feedWrapper[i].find('li.FeedItem').size();
		pfShowing[i] = Math.min(pfShowing[i], pfCount[i]);
		
		if(pfShowing[i] < pfCount[i])
			setTimeout('pfShift(' + i + ')', pfDelay);
	}
}


function initPublicFeedTabs()
{
	var PublicFeedTabs = $('ul#PublicFeedTabs');
	if(PublicFeedTabs.size() > 0)
	{
		PublicFeedTabs.tabs("#PublicFeedTabsContent > div.TabContent", 
								{
									current: 'selected',
									effect: 'fade',
									fadeInSpeed: 500,
									fadeOutSpeed: 100,
									rotate: true
								}
							)
						.slideshow({
								   	autoplay: true,
									interval: 5000
								   });
	}
}

function initRegistrationForm()
{
	var hrf = $('#HomeRegistrationForm');
	if(hrf.size() > 0)
	{
		hrf
			.submit(function()
					{
						var frm = $(this);
						var frmWrapper = frm.parent();
						frm.css('visibility', 'hidden');
						frmWrapper.find('.FormErrorsOverlay').remove();
						frmWrapper.append('<div class="loading"></div>');
						$.ajax({
							   	url: frm.attr('action'),
								type: frm.attr('method'),
								data: frm.serialize(),
								success: function(HTML)
											{
												frmWrapper.find('.loading').remove();
												
												var tmpWrapper = $('<div style="display: none"></div>');
												tmpWrapper.appendTo('body');
												tmpWrapper.html(HTML);
												
												var err = tmpWrapper.find('.notice_error');
												if(err.size() > 0)
												{
													var errOverlay = $('<div class="FormErrorsOverlay"></div>');
													errOverlay.prependTo(frmWrapper);
													errOverlay.html(HTML);
													var closeBtn = $('<a href="#" class="btnClose" title="Close">close</a>');
													closeBtn
														.click(function()
																{
																	errOverlay.remove();
																	return false;
																})
														.appendTo(errOverlay);
														
													frm.css('visibility', 'visible');
													
												}else{
													frmWrapper.html(HTML);
													var redirectUrl = tmpWrapper.find('input[name=redirectURL]').val();
													loadPage(redirectUrl);
												}
												
												tmpWrapper.remove();
											}
							   })
						return false;
					})
	}
}

function loadPage(url)
{
	unloadPage();
	location = url;
}

function unloadPage()
{
	$('.MainLayout-Bg').find('>*').css('visibility', 'hidden').end().prepend('<div class="LoadingPage">Loading. Please wait...</div>');
	$('html, body').animate({scrollTop:0}, 'fast');
}

jQuery(function(){
	initRegistrationForm();
	initPublicFeedTabs();
	initPopupFormOverlays();
	initPublicFeedsRotation();
})
