var clubsPageView = false;
var firstNav = false;
var clubThumbRes = '85x59';
var cl = '<div class="clear"></div>';
var loc = '';
var moreInfo = '';
var clubPageWidth = 0;
var lang = window.location.pathname.substr(1,2);
var clubsPerPage = 3;

function toggelClubList(e)
{
	$('#clubList').stop();
	if (instantOpen)
	{
		$('#footerBrowseBtn').css('display','none');
		$('#clubList').css('margin-top','0px');
		clubList_init();
		if (typeof(e)!=='undefined' && e!==false) return false;
	}
	 if (!clubsOn)
	 {
		 setBg(false);
		 clubsOn = true;
		 $('#clubList').animate({'margin-top' : '0px'}, {duration: 500, complete : clubList_init, easing : 'swing'}, function(){ setBg(false);});

		 $('#footerBrowseBtn').fadeOut('fast');
	 }
	 else
	 {
		 $('#clubListLoader').css('display', 'none');
		 setBg(false);
		 $('#clubList').animate({'margin-top' : $('#container div:first').outerHeight()+'px'}, {duration: 500, complete : function(){ $('#footerBrowseBtn').fadeIn('fast'); setBg(true);}});
		 clubsOn = false;

	 }

	 if (typeof(e)!=='undefined' && e!==false) e.preventDefault();
	 if (typeof(e)!=='undefined' && e!==false) return false;
}


function drawClubs(clubList)
{
	setBg(false);
	$('.clubPages').remove('.clubPage:not(.countryPage)');
	var opts = $('#clubList').data('clubsInfo');
	var container = opts.settings.container;
	$('.clubPages').remove('.clear');
	var totalPages = opts.settings.totalPages;
	var totalClubs = clubList.length;
	var temp = clubThumbRes.split('x');
	var clubThumbResW = temp.shift();
	var clubThumbResH = temp.shift();
	for (i=0;i<totalPages;i++)
	{
		var pageDiv = document.createElement('div');
		$(pageDiv).append('<div class="clear"></div>');
		pageDiv.className = 'clubPage';
		$(pageDiv).css('height', $('#container div:first').height() - 104+'px');
		var s = i*clubsPerPage;
		var e = s + clubsPerPage;
		if (e > totalClubs) e = totalClubs;
		for (var a = s; a < e; a++)
		{
			var club = clubList[a];
			if (typeof(club) == 'undefined')
			{
				e++;
				continue;
			};
			var clubDiv = document.createElement('div');
			clubDiv.className = 'club';
			clubDiv.id = 'clubId_'+club.path;
			var clubDescr = $('.club_'+club.path);
			if ( clubDescr.hasClass('active') )
			{
				$(clubDiv).addClass('active');
				if (firstNav && opts.settings.viewMode != 'byCountry')
				{
					firstNav = false;
					opts.settings.currentPage = i;
					$('#clubList').data('clubsInfo', opts);
				};

			};
			var img = document.createElement('img');
			img.width = clubThumbResW;
			img.height = clubThumbResH;
			img.className = 'clubImage';
			if (club['mainPhoto']!= '')
			{
			img.src = '/tool/Thumbnailer/resize/'+clubThumbRes+'/fit'+club['mainPhoto']+'/preview.png';
			$(clubDiv).append(img);
			};

			$(clubDiv).append('<div class="clubInfo">'+
		loc+': '+'<span class="location">'+club['location']+'</span>'+
		'<a class="moreInfo" id="clubLink_'+club['id']+'" href="'+clubsLink+'/'+club.path+'"></a>'+
		'</div>');

			$(clubDiv).append('<div class="clear"></div>');
			$(pageDiv).append(clubDiv);
			$(pageDiv).append('<div class="clear"></div>');
		}
		container.append(pageDiv);
		if (e == totalClubs) break;
	};
	container.width((totalPages-1)+$('.clubPage',container).length*(clubPageWidth+10)+'px');
	$('#clubList div.club').hover( function(){ $(this).addClass('clubHover'); }, function(){ $(this).removeClass('clubHover'); } );
	$('#clubList div.clubPage:not(:first)').addClass('clubBrd');


	$('.moreInfo').click(function(e){
		var club = this.href.split('/').pop();
		if ( $('.clubInsider').length > 0)
		{
			gotoClub(club);
			e.preventDefault();
			return false;
		}
		else
		{
			window.open(clubsLink+'/'+club, '_self');
		}

	});


	$('.clubPage .club').click( function(e){
		if ($(this).hasClass('active'))
		{
			return false;
		}
		var club = this.id.split('_').pop();
		if ( $('.clubInsider').length > 0 )
		{
			gotoClub(club);
			e.preventDefault();
			return false;
		}
		else
		{
			window.open(clubsLink+'/'+club, '_self');
		}
	});

	setBg(true);
}

function selectCountry(id)
{
	var opts = $('#clubList').data('clubsInfo');
	var ctitle = opts.countries[id].title;
	var item = opts.countries[id];
	var clubList = item.clubs;
	var totalPages = Math.ceil(clubList.length / clubsPerPage)+1;
	opts.settings.totalPages = totalPages;
	$('#clubList').data('clubsInfo', opts);
	$('.country').removeClass('active');
	$('#cc_'+id).addClass('active');
	$('#clubList .clubPage:not(.countryPage)').remove();
	drawClubs(clubList);
	gotoPage(1);
	$('#countryHint').html(opts.countries[id].title).fadeTo('normal', 1);
}

function clubList_init()
{

	$('#clubListLoader').css('display', 'none');
	var info = $('#clubList').data('clubsInfo');
	if (info == null)
	{
		$('#clubListLoader').css('display', 'block');
		var lang = $('#clubList').attr('class');
		$.get('/Clubs/getData/'+lang+'/data.js', {}, function(json){
			var countryId2index = new Array();
			for (i=0;i<json.countries.length;i++)
			{
				var country = json.countries[i];
				countryId2index[country.id] = i;
				json.countries[i].clubs = [];
			};

			for (i=0;i<json.clubs.length;i++)
			{
				var club = json.clubs[i];
				var cindex = countryId2index[club.countryId];
				if (typeof(json.countries[cindex]) !== 'undefined')
				{
					json.countries[cindex].clubs.push(club);
					json.clubs[i].country = json.countries[cindex];
				}
				else
				{
					delete(json.clubs[i]);
				};
			};
			var pages = Math.ceil(json.clubs.length / 4);
			json.settings = { currentPage : 0, totalPage : pages,  currentView : $('.filter_active').attr('id'), currentCountry : 0, container : $('.clubPages')};
			$('#clubList').data('clubsInfo', json);
			renderList();
		}, 'json');
	};
}

function gotoPage(pageNum)
{
	var opts = $('#clubList').data('clubsInfo');
	var settings = opts.settings;
	var cpage = settings.currentPage;
	if (pageNum == '+1') pageNum = cpage+1;
	if (pageNum == '-1') pageNum = cpage-1;
	if (cpage == 1 && pageNum == 0 && $('#clubList .clubPage:first').hasClass('countryPage'))
	{
		opts.settings.currentPage = 0;
		$('#clubList').data('clubsInfo', opts);
		$('.clubPage:gt(0)').remove();
	}
	var totalPages = $('.clubPage').length;

	var htmlCurrentPage = pageNum+1;
	var htmlTotalPages = totalPages;

	if (totalPages > 1 )
	{
		$('#clubsPagination').fadeTo('normal', 1);
	}
	else
	{
		$('#clubsPagination').fadeTo('normal', 0);
	}

	if (pageNum == 0 && $('#clubList .clubPage:first').hasClass('countryPage'))
	{
		$('#countryHint').fadeTo('normal', 0);
		$('#clubsPagination').fadeTo('normal', 0);
	}
	else if ($('#clubList .clubPage:first').hasClass('countryPage') && totalPages > 1)
	{
		$('#countryHint').fadeTo('normal', 1);
	}

	if ($('#clubList .clubPage:first').hasClass('countryPage') && pageNum != 0)
	{
		htmlCurrentPage -= 1;
		htmlTotalPages -= 1;

	}

	if (pageNum >= 0 && pageNum < totalPages)
	{
		$('#clubNavBack, #clubNavMore').css('visibility','visible');

		$('#clubsPagination .page').html(htmlCurrentPage);
		$('#clubsPagination .total').html(htmlTotalPages);
		var dst = 0-pageNum * clubPageWidth - pageNum * 1;
		setBg(false);
		$('.clubPages').animate( {'margin-left': dst+'px'}, 'normal', 'swing', function(){ setBg(false);}  );
		settings.currentPage = pageNum;
		opts.settings = settings;
		$('#clubList').data('clubsInfo', opts);
		if (pageNum == 0)
		{
			$('#clubNavBack').addClass('disabled');
		}
		else
		{
			$('#clubNavBack').removeClass('disabled');
		}

		if (pageNum == totalPages - 1)
		{
			$('#clubNavMore').addClass('disabled');
		}
		else
		{
			$('#clubNavMore').removeClass('disabled');
		}
	};
}

function renderList(viewMode)
{
	$('#countryHint').fadeTo('normal', 0);
	if (typeof(ani) === 'undefined') var ani = false;

	$('#clubNavBack, #clubNavMore').css('visibility', 'hidden');
	var opts = $('#clubList').data('clubsInfo');
	var container = opts.settings.container;
	if (typeof(viewMode) === 'undefined')
	{
		var viewMode = opts.settings.currentView;
	}
	else
	{
		opts.settings.currentView = viewMode;
		opts.settings.currentPage = 0;

		container.fadeTo('falst',0.01, function(){
			$(this).html('');
			$('#clubListLoader').css('display', 'block');
			renderList();
		});
		return false;
	};
	switch (viewMode)
	{
		case 'latest':
		default:

			var totalPages = Math.min(Math.ceil(opts.clubs.length / clubsPerPage),4);
			var totalClubs = opts.clubs.length;
			opts.settings.currentPage = 0;
			$('#clubList').data('clubsInfo', opts);
			opts.settings.totalPages = totalPages;
			$('.clubPages').css('width', 10+totalPages * clubPageWidth+'px');
			drawClubs(opts.clubs);
		$('.clubPages').css({'display' : 'none', 'margin-left' : '0px'});
		break;

		case 'byCountry':
			var coll = document.createElement('div');
			$(coll).addClass('countryCollumn');

			var pageDiv = document.createElement('div');
			pageDiv.className = 'clubPage';
			$(pageDiv).css('height', $('#container div:first').outerHeight()-104+'px');

			var maxNum = Math.ceil( ($('#container div:first').outerHeight()-154) / 41);

			for (i=0;i<opts.countries.length;i++)
			{
				if (i % maxNum == 0 && i != 0)
				{
					$(pageDiv).append(coll);
					var coll = document.createElement('div');
					$(coll).addClass('countryCollumn');
				};

				var countryLink = document.createElement('a');
				$(countryLink).addClass('country');
				countryLink.id = 'cc_'+i;
				$(countryLink).addClass('cca_'+opts.countries[i].ccode);
				$(countryLink).css('background-image', 'url(/pmod_img/Clubs/ccflags/'+opts.countries[i].ccode+'.png)');
				$(countryLink).html(opts.countries[i].title);

				if (opts.countries[i].clubs.length == 0)
				{
					//$(countryLink).fadeTo(0,0.25).css('cursor','default');
				}
				else
				{
				countryLink.innerHTML;
				$('span', countryLink).fadeTo(0,0.5);
				$(countryLink).click(function(){

					var id = this.id.split('_').pop();
					selectCountry(id);

				});
				};
				$(coll).append(countryLink);

			}

			$(pageDiv).append(coll);
			$(pageDiv).addClass('countryPage');
			container.append(pageDiv);
		break;
	};

	$('#clubNavBack, #clubNavMore').removeClass('diabled').addClass('disabled');
	container.fadeTo('normal',1);
	$('#clubNavBack, #clubNavMore').fadeTo(0,0.75);
	$('#clubListLoader').css('display', 'none');
	if (firstNav)
	{
		gotoPage(opts.settings.currentPage);
	}
	else
	{
		gotoPage(0);
	}
	if ( typeof(ccode) !== 'undefined' && $('.cca_'+ccode).length > 0)
	{
	$('.countryPage a').removeClass('active');
	$('.cca_'+ccode).addClass('active');
	selectCountry( $('.cca_'+ccode).get(0).id.split('_').pop() );
	};
}
var instantOpen = true;
$(document).ready(function(){

	$('#byCountry').attr('href', clubsLink);
	$('.moreInfo').html('');

	if ( $('.clubInsider').length > 0 )
	{
		$('#byCountry').removeClass('filter').addClass('filter_active');
	}
	else
	{
		$('#latest').removeClass('filter').addClass('filter_active');
	}
	var hh = $('#container div:first').outerHeight();
	clubsPerPage = Math.floor( (hh-100) / 95 );
	$('#clubListWrapper').height(hh+'px');
	$('.clubPages').css('height', hh-104+'px');
	$('#clubList').height(hh-20+'px');
	$('#clubList').css('margin-top', '0px');
	if (!clubsOn) $('#clubList').css('margin-top', hh+'px');
	$('#container div:first').height();

	clubPageWidth = $('#clubList').outerWidth(true);
	loc = $('#tr_loc').html();
	moreInfo = $('#tr_moreInfo').html();

	$('#langSwitch  a.'+lang).fadeTo(0,1).click(function(){return false;}).css('cursor','default');
	$('#clubNavBack, #clubNavMore').hover( function(){ $(this).fadeTo(0,1);}, function(){$(this).fadeTo(0,0.75);} );
	$('#footerBrowseBtn').click(toggelClubList);
	if ($clubsOn) $('#footerBrowseBtn').click();
	instantOpen = false;
	$('#clubNavBack').click(function(){ gotoPage('-1'); });
	$('#clubNavMore').click(function(){ gotoPage('+1'); });
	$('.filter, .filter_active').live('click', function(e){
		firstNav = false;
		if ( (this.id != 'byCountry') || $('.clubInsider').length > 0 )
		{
			if ($(this).hasClass('filter_active'))
			{
				gotoPage(0);
			}
			else
			{
				$('.filter_active').addClass('filter').removeClass('filter_active');
				$(this).addClass('filter_active').removeClass('filter');
				renderList(this.id);
			}
			e.preventDefault();
			return false;
		}
	});
});


