

	var current_set 	= 0;
	var current_search	= "";
	var current_country	= "US";
	var current_latitude= 0;
	var current_longitude=0;
	var current_radius	= 10;


	//////////////////////////////////////////////////
	//
	function do_proximity_search(latitude, longitude, radius, set)
	{
		if( !set )
			set = 0;

		if( !radius )
			radius = current_radius;

		if( !latitude )
			latitude = current_latitude;

		if( !longitude )
			longitude = current_longitude;


		current_search 		= '';
		current_set 		= set;
		current_latitude	= latitude;
		current_longitude	= longitude;
		current_radius		= radius;


		on_reset_results('results_box');
		on_toggle('loading_box');


		new Ajax.Request('/ajax/search.php',
		{
			method:'post',
			parameters:
			{
				ajax_action: 'proximity_search',
				longitude: longitude,
				latitude: latitude,
				radius: radius,
				start: set
			},
			onSuccess: function(transport, json)
			{
				var response = transport.responseText || "no response text";



				//alert(response);

				//alert(json ? Object.inspect(json) : "no JSON object");
				//alert('name: ' + json.resultElements);

				on_data(json.resultElements);
			},
			onFailure: function(){ alert('Something went wrong...') }
		});
	}


	function do_search(search_for, search_country, set)
	{
		current_search 	= (search_for != undefined) ? search_for : current_search;
		current_country	= (search_country != undefined) ? search_country : current_country;
		current_set 	= (set != undefined) ? set : current_set;


		on_reset_results('results_box');
		on_toggle('loading_box');


		new Ajax.Request('/ajax/wsproxy.php',
		{
			method:'post',
			parameters:
			{
				call: 'DoSearch',
				search_for: current_search,
				search_country: current_country,
				start: (current_set * 10)
			},
			onSuccess: function(transport, json)
			{
				var response = transport.responseText || "no response text";

				//alert(response);

				//alert(json ? Object.inspect(json) : "no JSON object");
				//alert('name: ' + json.resultElements);

				on_data(json.resultElements);
			},
			onFailure: function(){ alert('Something went wrong...') }
		});
	}


	//////////////////////////////////////////////////
	//
	function add_row( table_id )
	{
		var table 	= document.getElementById(table_id );
		var newRow 	= table.insertRow(table.rows.length);
		var newCell;

		for( nCell=1; nCell < arguments.length;nCell++)
		{
			var sClass = "resultrowon";

			if( table.rows.length % 2 == 0 )
				sClass = "resultrowoff";

			newCell = newRow.insertCell(nCell -1);
			newCell.className = sClass;
			newCell.innerHTML = arguments[nCell];
		}
	}


	//////////////////////////////////////////////////
	//
	function on_reset_results( table_id )
	{
		//on_toggle('loading_box');

		var table = document.getElementById( table_id);

		for( nRow = table.rows.length -1; nRow > 0;nRow-- )
		{
			table.deleteRow(nRow);
		}
	}


	//////////////////////////////////////////////////
	//
	function on_data(x)
	{
		on_reset_results('results_box');


		for( var item in x )
		{
			var proshop 	= x[item];

			if( proshop.proshop_guid )
			{
				//sLogo 			= sprintf('<br /><img src="%s" />', proshop['logo_icon']);
				sLogo 			= sprintf('<br /><img src="/proshop/logo/%s" />', proshop.proshop_guid );
				sCellName 		= sprintf('<div id="search_results_title"><p><strong><a href="/proshop/profile/%s">%s</a></strong></p></div><div id="search_results_citystate"><p>%s, %s</p></div>', proshop['proshop_guid'], proshop['name'], proshop['city'], proshop['region'] );
				//sCellPhone 		= proshop['phone'];
				sCellPhone 		= '<div id="search_results_phone"><p><strong>' + proshop['phone'] + '</p></strong></div>';
				sCellOptions 	= "";


				for( var course in proshop['courses'] )
				{
					course = proshop['courses'][course];

					sCellOptions += sprintf('<div id="search_results"><a href="/proshop/course/%s">%s</a></div>', course['guid'], course['name'] );
				}

				add_row( 'results_box', sLogo, sCellName, sCellPhone, sCellOptions );
			}
		}

		onShowBackNext();
	}

	function onShowBackNext()
	{
		on_toggle('loading_box');

		var table 	= document.getElementById('results_box');
		var nav 	= document.getElementById('backnext');


		nav.innerHTML = "";

		next_set = current_set + 1;
		prev_set = current_set - 1;

		if( current_set > 0 )
			nav.innerHTML += sprintf('<a href="javascript:do_search(\'%s\', \'%s\', %s )">&laquo; Back</a> &nbsp;', current_search, current_country, prev_set );

		if( table.rows.length > 10 )
			nav.innerHTML += sprintf('<a href="javascript:do_search(\'%s\', \'%s\', %s )">Next &raquo;</a>', current_search, current_country, next_set );

		if( nav.innerHTML.length > 0 )
			nav.innerHTML = '<br />' + nav.innerHTML + '<br />';
	}


	function on_toggle( whichLayer )
	{
		var elem, vis;

		if( document.getElementById )
			elem = document.getElementById( whichLayer );
		else if( document.all ) // this is the way old msie versions work
			elem = document.all[whichLayer];
		else if( document.layers ) // this is the way nn4 works
			elem = document.layers[whichLayer];

		vis = elem.style;

		// if the style.display value is blank we try to figure it out here
		if(vis.display=='' && elem.offsetWidth != undefined&&elem.offsetHeight != undefined)
		vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
		vis.display = (vis.display==''||vis.display=='block')?'none':'block';
	}
