var currentFilters = {};
currentFilters.filters = {'year':'', 'location':'', 'park':''};

function SetCookie(sName, sValue)
{
	date = new Date();
	var new_day = date.getDate() + 1;  
	date.setDate(new_day); 
	var lifetime = date.toGMTString();
	document.cookie = sName + "=" + escape(sValue) + "; expires=" + lifetime + '; path=/';
}

function SetSessionCookie(sName, sValue)
{
	date = new Date();
	var new_day = date.getMinutes() + 20;  
	date.setMinutes(new_day); 
	var lifetime = date.toGMTString();
	document.cookie = sName + "=" + escape(sValue) + "; expires=" + lifetime + '; path=/';
}

function RemoveCookie(sName, sValue)
{
	date = new Date();
	var new_day = date.getDate() - 1;  
	date.setDate(new_day); 
	var lifetime = date.toGMTString();
	document.cookie = sName + "=" + escape(sValue) + "; expires=" + lifetime + '; path=/';
}


function GetCookie( check_name ) {
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; 

	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return '';
	}
}
function parseHash()
{
	var result = {};
	var str = new String(location.hash);
	str = str.slice(1, str.length);
	var arr = str.split(']');
	for(var i = 0; i < arr.length; i++)
	{
		var s = new String(arr[i]);
		var tmp = s.split('[');
		if(tmp[0] == 'year')
			result.year = tmp[1];
		else if(tmp[0] == 'location')
			result.location = tmp[1];
		else if(tmp[0] == 'park')
			result.park = tmp[1];
	}
	return result;
}

function addToHash(type, str)
{
	var result = '';
	var hash = parseHash();
	if(type == 'year')
		hash.year = str;
	if(type == 'location')
		hash.location = str;
	if(type == 'park')
		hash.park = str;
	
	
	if(hash.year) result += 'year['+hash.year+']';
	if(hash.location) result += 'location['+hash.location+']';
	if(hash.park) result += 'park['+hash.park+']';
	return (result ? '#'+result : '');
}

function checkHash()
{
	var result = '';
	var hash = parseHash();
	currentFilters.filters = hash; 
	var update = false;
	if(currentFilters.filters.year)
	{
		update = true;
		$('#year').val(currentFilters.filters.year);
	}
	if(currentFilters.filters.location)
	{
		update = true;
		$('#location').val(currentFilters.filters.location);
	}
	if(currentFilters.filters.park)
	{
		update = true;
		$('#park').val(currentFilters.filters.park);
	}
	if(update)
		submitdata();
}

function initDdlFilters()
{
	$('.submit_button').hide();
	checkHash();
	$('.filtertop .jqTransformSelectWrapper ul a').each(function(){
		$(this).bind('click', jqsubmitdata);
	});
	/*$('.filtertop select').each(function(){
		$(this).bind('change', submitdata);
	});*/
	$('.parksgrid .header_sort a').each(function(){ 
		$(this).bind('click', sortdata);
	});
}

function jqsubmitdata(){
	var obj = $(this);
	var index = $(this).attr('index');
	var wrapper = $(this).parents('.jqTransformSelectWrapper');
	var type = '';
	var val = '';

	if(wrapper.children('select#year').html())
	{
		type = 'year';
		currentFilters.filters.year = val = wrapper.find('select#year option:selected').text();
	}
	else if(wrapper.children('select#location').html())
	{
		type = 'location';
		currentFilters.filters.location = val = wrapper.find('select#location option:selected').text();
	}
	else if(wrapper.children('select#park').html())
	{
		type = 'park';
		currentFilters.filters.park = val = wrapper.find('select#park option:selected').text();
	}
	
	var str = '';
	str += (currentFilters.filters.year ? 'year='+currentFilters.filters.year : '');
	str += (currentFilters.filters.location ? (str.length ? '&' : '')+'location='+currentFilters.filters.location : '');
	str += (currentFilters.filters.park ? (str.length ? '&' : '')+'park='+currentFilters.filters.park : '');
	$.getJSON('/wsdl/main.ajax.php', 'action=search&'+str, function(r){
		location.hash = addToHash(type, val);
		var rows = '';
		if(!r.Response.response.parks)
		{
			$('.parksgrid div.ter_row').remove();
			$('#divNoParks').slideDown();
		}
		else
		{
			for(var i = 0; i<r.Response.response.parks.length; i++)
			{
				rows += '<div class="ter_row coin">';
				rows += '<div class="year_val">'+r.Response.response.parks[i].year+'</div>';
				rows += '<div class="terr_val">'+r.Response.response.parks[i].location+'</div>';
				rows += '<div class="site_val"><a href="/coins/'+r.Response.response.parks[i].uri+'">'+r.Response.response.parks[i].park+'</a></div>';
				rows += '</div>';
				$('#divNoParks').slideUp();
			}
		}
		$('.parksgrid div.ter_row').remove();
		$('.parksgrid div#pane3').append($(rows));
	});
	return false;
}

function submitdata(){
	var obj = $(this);
	if(obj.attr('id') == 'year')
	{
		currentFilters.filters.year = obj.val();
	}
	else if(obj.attr('id') == 'location')
	{
		currentFilters.filters.location = obj.val();
	}
	else if(obj.attr('id') == 'park')
	{
		currentFilters.filters.park = obj.val();
	}
	
	var str = '';
	str += (currentFilters.filters.year ? 'year='+currentFilters.filters.year : '');
	str += (currentFilters.filters.location ? (str.length ? '&' : '')+'location='+currentFilters.filters.location : '');
	str += (currentFilters.filters.park ? (str.length ? '&' : '')+'park='+currentFilters.filters.park : '');
	$.getJSON('/wsdl/main.ajax.php', 'action=search&'+str, function(r){
		location.hash = addToHash(obj.attr('id'), obj.val());
		var rows = '';
		if(!r.Response.response.parks)
		{
			$('.parksgrid div.ter_row').remove();
			$('#divNoParks').slideDown();
		}
		else
		{
			for(var i = 0; i<r.Response.response.parks.length; i++)
			{
				rows += '<div class="ter_row coin">';
				rows += '<div class="year_val">'+r.Response.response.parks[i].year+'</div>';
				rows += '<div class="terr_val">'+r.Response.response.parks[i].location+'</div>';
				rows += '<div class="site_val"><a href="/coins/'+r.Response.response.parks[i].uri+'">'+r.Response.response.parks[i].park+'</a></div>';
				rows += '</div>';
				$('#divNoParks').slideUp();
			}
		}
		$('.parksgrid div.ter_row').remove();
		$('.parksgrid div#pane3').append($(rows));
	});
	return false;
}

function sortdata(){
	var obj = $(this);
	
	var str = '';
	str += (currentFilters.filters.year ? 'year='+currentFilters.filters.year : '');
	str += (currentFilters.filters.location ? (str.length ? '&' : '')+'location='+currentFilters.filters.location : '');
	str += (currentFilters.filters.park ? (str.length ? '&' : '')+'park='+currentFilters.filters.park : '');
	
	var order = (GetCookie('sortOrder') == 'DESC' ? 'ASC' : 'DESC');
	$('.header_sort a').removeClass('asc').removeClass('desc');
	obj.addClass((GetCookie('sortOrder') == 'DESC' ? 'asc' : 'desc'));
	SetCookie('sortOrder', order);
	$.getJSON('/wsdl/main.ajax.php', 'action=search&'+str+(str.length ? '&sort='+$(this).attr('rel')+'&order='+order : 'sort='+$(this).attr('rel')+'&order='+order), function(r){
		location.hash = addToHash(obj.attr('id'), obj.val());
		var rows = '';
		if(!r.Response.response.parks)
		{
			$('.parksgrid div.ter_row').remove();
			$('#divNoParks').slideDown();
		}
		else
		{
			for(var i = 0; i<r.Response.response.parks.length; i++)
			{
				rows += '<div class="ter_row coin">';
				rows += '<div class="year_val">'+r.Response.response.parks[i].year+'</div>';
				rows += '<div class="terr_val">'+r.Response.response.parks[i].location+'</div>';
				rows += '<div class="site_val"><a href="/coins/'+r.Response.response.parks[i].uri+'">'+r.Response.response.parks[i].park+'</a></div>';
				rows += '</div>';
				$('#divNoParks').slideUp();
			}
		}
		$('.parksgrid div.ter_row').remove();
		$('.parksgrid div#pane3').append($(rows));
	});
	return false;
}
