$(document).ready(function(){

	// determine path
	var baseURL = 'http://www.engadget.com/topics';
	var url = location.href.toLowerCase();
	var path = url.split('engadget.com/topics');
	var check = path[1];
	if(check.substr(-1)=='/') check = check.substr(0,check.length-1);
	if(check.substr(0,1)=='/') check = check.substr(1,check.length);
	var pathParts = check.split('/');
	var pathLevel = pathParts.length;
	if(!check) pathLevel = 0;
	
	$('#super-category a').click(function()
		{
		var coverageID = $('#coverage a.selectedOption').attr('id');
		var coverageURL = (coverageID) ? coverageID : 'all' ;
		var categoryURL = ($(this).attr('id')) ? $(this).attr('id') : 'all' ;
		location.href = baseURL+'/'+categoryURL+'+'+coverageURL;
		});
	$('#coverage a').click(function()
		{
		var categoryID = $('#super-category a.selectedOption').attr('id');
		var categoryURL = (categoryID) ? categoryID : 'all' ;
		var coverageURL = ($(this).attr('id')) ? $(this).attr('id') : 'all' ;
		location.href = baseURL+'/'+categoryURL+'+'+coverageURL;
		});
	
	// specific actions
	if(pathLevel==0)
		{
		// no tags, page 1 of all topics
		$.ajax({
			type : 'POST',
			url : 'index.php?a=recap-default-sort-ajax&postpage=1',
			type: 'html',
			success : function (data) {
				$('#list-ajax-loader').html(data);
				$('.pagination .next-page').attr('href',baseURL+'/page/2');
			}   
		});
		}
	else if(pathLevel==1)
		{
		// page 1 of a specific topic
		var parts = makeSearchTerms(pathParts[0]);
		if (parts=='redirect') location.href = baseURL;
		if(parts[0]) highlightCategory(parts[0]);
		if(parts[1]) highlightCoverage(parts[1]);
		$.ajax({
			type : 'POST',
			url : 'index.php?a=recap-tag-sort-ajax&svar_recaptag='+parts[2]+'&postpage=1&lPivots=svar_recaptag',
			type: 'html',
			success : function (data) {
				$('#list-ajax-loader').html(data);
				$('.pagination .next-page').attr('href',baseURL+'/'+parts[3]+'/page/2');
			}   
		});
		}
	else if(pathLevel==2)
		{
		// no tags, multiple pages
		var page = parseInt(pathParts[1]);
		$.ajax({
			type : 'POST',
			url : 'index.php?a=recap-default-sort-ajax&postpage='+page,
			type: 'html',
			success : function (data) {
				$('#list-ajax-loader').html(data);
				$('.pagination .next-page').attr('href',baseURL+'/page/'+(page+1));
				if(page==2) $('.pagination .previous-page').attr('href',baseURL);
				else $('.pagination .previous-page').attr('href',baseURL+'/page/'+(page-1));
			}   
		});
		}
	else if(pathLevel==3)
		{
		// specific topic, multiple pages
		var parts = makeSearchTerms(pathParts[0]);
		if(parts[0]) highlightCategory(parts[0]);
		if(parts[1]) highlightCoverage(parts[1]);
		var page = parseInt(pathParts[2]);
		$.ajax({
			type : 'POST',
			url : 'index.php?a=recap-tag-sort-ajax&svar_recaptag='+parts[2]+'&postpage='+page+'&lPivots=svar_recaptag',
			type: 'html',
			success : function (data) {
				$('#list-ajax-loader').html(data);
				$('.pagination .next-page').attr('href',baseURL+'/'+parts[3]+'/page/'+(page+1));
				if(page==2) $('.pagination .previous-page').attr('href',baseURL+'/'+parts[3]);
				else $('.pagination .previous-page').attr('href',baseURL+'/'+parts[3]+'/page/'+(page-1));
			}   
			});
		}
		
	$('.popup').click(function(){ return false; });
	$(document).click(function(){ $('.popup').hide(); });
});

function makeSearchTerms(data)
	{
	var topicParts = data.split('+');
	var topic = (topicParts[0]!=='all') ? topicParts[0] : '' ;
	var coverage = (topicParts[1]!=='all') ? topicParts[1] : '' ;
		
	if(topic && coverage) { searchTerm = '@'+topic+',@'+coverage; }
	else if(topic && !coverage) { searchTerm = '@'+topic; }
	else if(!topic && coverage) { searchTerm = '@'+coverage; }
	else if(!topic && !coverage)
		{
		var sendBack = 'redirect';
		return sendBack;
		return false;
		}

	var sendBack = new Array(topic,coverage,searchTerm,data);
	return sendBack;
	}
	
function highlightCategory(topic)
	{
	var selectText = $('#'+topic).text();
	$('#category-current').text(selectText);
	$('#'+topic).addClass('selectedOption');
	}
	
function highlightCoverage(coverage)
	{
	var selectText = $('#'+coverage).text();
	$('#coverage-current').text(selectText);
	$('#'+coverage).addClass('selectedOption');
	}