var currQs;

var gbWidth  = 780;
var gbHeight = 630;

var currLogoSliderPage = 1;

$(document).ready(function()
{
	currQs = window.location.search;
	
	// Drop down filters.
	$('select[name=Industry]').change(function()
	{
		var objQs = getParams(currQs);
		objQs['i'] = $(this).val();
		var qs = serialise(objQs);
		
		//var qs = '?i=' + $('select[name=Industry]').val();
		
		// Reset.
		//$('input[name=Keyword]').val('Keyword');
		//$('select[name=Location]').val('');
		
		update(qs);
	});
	
	$('select[name=Location]').change(function()
	{
		var objQs = getParams(currQs);
		objQs['l'] = $(this).val();
		var qs = serialise(objQs);
		
		//var qs = '?l=' + $('select[name=Location]').val();
		
		// Reset.
		//$('input[name=Keyword]').val('Keyword');
		//$('select[name=Industry]').val('');
		
		update(qs);
	});
	
	// Keywords.
	$('form#eventSearch').submit(function(e)
	{
		e.preventDefault();
		
		//var objQs = getParams(currQs);
		//objQs['q'] = $('input[name=Keyword]').val();
		//var qs = serialise(objQs);
		var qs = '?q=' + $('input[name=Keyword]').val().replace('&', '%26');
		
		// Reset.
		$('select[name=Location], select[name=Industry]').val('');
		
		update(qs);
		
	});
	
	// Events Navigation.
	$('div#searchPanel div.buttonSetTop a.button, div#searchPanel div.buttonSetBottom a.button').live('click', function(e)
	{
		e.preventDefault();
		
		var index;
		var qs = ((index = $(this).attr('href').indexOf('?')) >= 0) ? $(this).attr('href').substr(index) : '';
		
		update(qs);
		
	});
	
	// Listing pop up.
	$('ul#searchResultsList h2 a, ul#searchResultsList a.logo').live('click', function(e)
	{
		e.preventDefault();
		
		var heading = $(this).parent('li').find('h2 a').text();
		var target  = $(this).attr('href');
		GB_showCenter(heading, target, gbHeight, gbWidth);
	});
	
	// Logo Slider arrows.
	$('div#logoSlider a.button').click(function(e)
	{
		e.preventDefault();
	});
	
	$('div#logoSlider a.button.notAnimating').live('click', function(e)
	{
		e.preventDefault();
		
		var direction  = $(this).hasClass('previous') ? -1 : 1;
		var targetPage = currLogoSliderPage + direction;

		$('div#logoSlider a.button').removeClass('notAnimating');

		// Get next page number.
		$.ajax(
		{
			url: 'ajax/getSliderPageNumber.asp?p=' + targetPage, 
			type: 'GET', 
			dataType: 'json', 
			
			success: function(json)
			{
				currLogoSliderPage = json.pageNumber;
				
				// Slider Events.
				$.ajax(
				{
					url: 'ajax/getSliderEvents.asp?p=' + currLogoSliderPage, 
					type: 'GET', 
					dataType: 'html', 
					
					success: function(html)
					{
						$('div.logoLists').append(html);
						$('ul.logoList.animating').css('left', 896 * direction);
						
						// Animate new list.
						$('ul.logoList.animating').animate({left: 0}, 600, 'linear', function()
							{
								$(this).removeClass('animating');
								$('div#logoSlider a.button').addClass('notAnimating');
							});
						$('ul.logoList:not(.animating)').animate({left: -896 * direction}, 600, 'linear', function()
							{
								$(this).remove();
							});
					}
				});
			}
		});

	});
	
	$('ul.logoList a').live('click', function(e)
	{
		e.preventDefault();
		
		var eventGroupID = $(this).attr('href').substr($(this).attr('href').indexOf('#') + 1);
		
		//var objQs = getParams(currQs);
		//objQs['q'] = searchTerm;
		//var qs = serialise(objQs);
		var qs = '?e=' + eventGroupID;
		
		// Reset.
		$('input[name=Keyword]').val('Keyword');
		$('select[name=Location], select[name=Industry]').val('');
		
		update(qs);
	});
	
});

function update(qs)
{
	currQs = qs;
	
	// Show loader.
	$('div#PlaceHolder_searchResultsList').addClass('loader');
	$('ul#searchResultsList').css('display', 'none');
	
	// Results.
	$.ajax(
	{
		url: 'ajax/getEvents.asp' + currQs, 
		type: 'GET', 
		dataType: 'html', 
		
		success: function(html)
		{
			$('div#PlaceHolder_searchResultsList').html(html);
			
			// Show loader.
			$('div#PlaceHolder_searchResultsList').removeClass('loader');
		}
	});
	
	// Navigation.
	$.ajax(
	{
		url: 'ajax/getEventNavigation.asp' + currQs, 
		type: 'GET', 
		dataType: 'html', 
		
		success: function(html)
		{
			$('div.buttonSetTop, div.buttonSetBottom').html(html);
		}
	});
	
	// Heading.
	$.ajax(
	{
		url: 'ajax/getCalendarHeading.asp' + currQs, 
		type: 'GET', 
		dataType: 'html', 
		
		success: function(html)
		{
			$('#PlaceHolder_calendarTitle').html(html);
		}
	});
}

function getParams(queryString)
{
	var qs = (queryString.substr(0, 1) == '?') ? queryString.substr(1) : queryString;
	var objQs = qs.split('&');
	
	var d = new Object();
	for(var i = 0; i < objQs.length; i++)
	{
		pair = objQs[i].split('=');
		d[pair[0]] = pair[1];
	}
	return d;
}

function serialise(objQs)
{
	var qs = '';
	for(var key in objQs)
	{
		if(key.length > 0)
			qs += ((qs.length == 0) ? '?' : '&') + key + '=' + objQs[key];
	}
	return qs;
}