
	$(document).ready( function() {
		build_search( page );
	});

	function build_search( p , cm)
	{
		if ( !p )	p = page;
			else	page = p;

		before_server_call();

		if ( cm && cm == 1 )
			_click_made = true;
		
		// call the server.
		server_post( { m : 'build_search_tag' , page : p , tag_id : tag_id , filter:filter } , server_callback );
	}
	
	function after_search_load()
	{
		$('#filter').change(function() {
			_click_made = true;
			t = document.location.href.split('#');
			document.location.href = t[0] + $(this).val() + '/page/' + page;
			parse_location();
			build_search( page );
		});
	}
	
	function before_server_call()
	{
		// show loader
		$('#forScript').empty().append( loader() );
	}
	
	function server_callback( data ) {
			
			if ( data['err'] ) {
				// display_error can be found in the utils.js ; for start it alerts the error text
				display_error( data['err'] );
			}else if ( data['server'] &&  data['server']['data'] ){
				// we got the html from the server. now let us build the page.
				// clearer() retunr a div with style clear:both with height as parameter. found in utils.js
				$('#forScript').empty().append( data['server']['data']);
				$('#forScript').append( clearer(20) ).append( data['server']['pagination'] );
				$('#simple_pagination').clone().prependTo('#forScript').after( clearer(20) );
				$('#forScript').prepend( data['server']['filter'] );
			}
			after_search_load();
	}