$(document).ready(function()
{
	if($('#ajax-inner').length>0)
	{
		$('#ajax-inner').hide();
		$('#ajax-inner').removeAttr('style');

	}
	
	if( $('#type').val()=='mobile' )
	{
		$("#advSearch select").change(function()
		{
			if($('#type').val()!='mobile')
			{
				$('#broadbandConn').val( $('#type').val() );
				$('#frmSwitchToBroadband').submit();
			}
			else
			{
				$('#page').val('1');
				$('#currentSort').val('');
				$('#order').val('');
				var value = $(this).val();
				var value2 = "";
				$('#sort-wrapper td').each(function(){
					$(this).removeClass('selected');
					if( $(this).attr('id').replace("sort-","") == value ){
						value2 = $(this).attr('id');
					}
				});
				if( value2 != '' ){
					$('#sort-wrapper #'+value2).addClass('selected');
				}
				doFilter();
			}
		});
	}
	else
	{
		$("#advSearch select").change(function()
		{
			if($('#type').val()=='mobile')
				window.location.href='/mobile-broadband/';
			else
			{
				$('#page').val('1');
				$('#currentSort').val('');
				$('#order').val('');
				doFilter();
			}
		});
	}
	
	$('#sort-wrapper td').click(function(){
		$('#sort-wrapper td').each(function(){ $(this).removeClass('selected') })
		var id = $(this).attr('id').replace("sort-","");
		$(this).addClass('selected');
		doSort(id);
	})
	
	doFilter();
});

function doFilter()
{
	if($('#ajax-inner').length>0)
		$('#ajax-inner').show();
	 
	var sortBy = $('#sortBy').length > 0 ? $('#sortBy').val() : '';
	var type = $('#type').length > 0 ? $('#type').val() : '';
	var cap = $('#cap').length > 0 ? $('#cap').val() : '';
	var speed = $('#speed').length > 0 ? $('#speed').val() : '';
	var contract = $('#contract').length > 0 ? $('#contract').val() : '';
	var cost = $('#cost').length > 0 ? $('#cost').val() : '';
	var page = $('#page').length > 0 ? $('#page').val() : '';
	var s = $('#currentSort').length > 0 ? $('#currentSort').val() : '';
	var o = $('#order').length > 0 ? $('#order').val() : '';
	var provider = $('#provider').length > 0 ? $('#provider').val() : '';
	var filter = $('#filter').length > 0 ? $('#filter').val() : '';
	
	var dataString = 'sortBy='+sortBy
					+'&type='+type
					+'&speed='+speed
					+'&cap='+cap
					+'&contract='+contract
					+'&cost='+cost
					+'&page='+page
					+'&s='+s
					+'&o='+o
					+'&provider='+provider
					+'&filter='+filter;
	if( $('#testing').length>0 )
	{
		dataString += '&testing=true';
	}
	
	$.ajax
	({
		type: "POST",
		url: "/resources/ajax-pages/filter_fns.php",
		data: dataString,  
		success: function(msg)
		{
			var IE = /*@cc_on!@*/false;
			IE ? document.getElementById('pageFiller').innerHTML = msg : $('#pageFiller').html(msg);
			
			if($('#ajax-inner').length>0)
				$('#ajax-inner').hide();
				
			var compareString = 'required=1'
			$('#bbPackage input[type=checkbox], .compare-packages-checkbox').each(function()
			{
				$(this).change(function()
				{
					if( $(this).is(':checked') )
					{
						compareString += '&id[]='+$(this).val();
					}
					else
					{
						var tmp = compareString.split('&id[]='+$(this).val())
						compareString='';
						for(var x=0;x<tmp.length;x++){compareString+=tmp[x]}
					}
					$('#compare-packages-submit').attr('href','/resources/ajax-pages/ajax-popup-compare.php?'+compareString)
				});
			});
			
			$('.nyroModal').each(function()
			{
				$('.nyroModal').nyroModal();
			});
			$('.bubText, .laptop-setup').each(function()
			{
				$(this).tooltip
				({
					track: true,
					delay: 0,
					fade: 250,
					positionLeft: true
				});
			});
				
			

		}
	});
}

function doPage(n)
{
	$('#page').val(parseInt($('#page').val()) + n);
	if( $('#advSearch').length>0 )
		$(document).scrollTo($('#advSearch'), 800, {queue:true} );
	else
		$(document).scrollTo($('#pageFiller'), 800, {queue:true} );
	doFilter();
}

function doSort(s)
{
	if($('#currentSort').val()==s)
	{
		if($('#order').val()=='asc')
			$('#order').val('desc');
		else if($('#order').val()=='desc')
			$('#order').val('asc');
	}
	else
	{
		$('#currentSort').val(s);
		if(s=='our_rating' || s=='customer_rating' || s=='speed' || s=='cap')
			$('#order').val('desc');
		else
			$('#order').val('asc');
	}
	doFilter();
}
