 $(function() {
			  
		//click handler for button
		$("#search").click(function() {
				
		  //hide noResults message if present
	 	  ($("#noResults").length > 0) ? $("#noResults").fadeOut("fast", function() {
			$(this).remove();				
		  }) : null ;
					
		  //hide error if present
		  ($("#error").length > 0) ? $("#error").fadeOut("fast", function() {
		    $(this).remove();
		  }) : null ;
						
		  //hide results if present
		  ($("#results").length > 0) ? $("#results").fadeOut("fast", function() {
			$(this).remove();
		  }) : null ;
					
		  //hide success icon if present
		  ($("#success").length > 0) ? $("#success").fadeOut("fast", function() {
		    $(this).remove();
		  }) : null ;

		  //check input not empty
		  if($("#query").val()) {

			//disable button and input
			$(this).attr("disabled", "disabled");
			$("#query").attr("disabled", "disabled");
						
			//add spinner
			$("<img>").attr({ src: "images/spinner.gif", id: "spinner" }).css({ position: "absolute", top: 4, right: 35 }).insertAfter("#search");
						
			//get search term and build querystring
			var term = $("#query").val(),
			query = "term=" + term;
						
			//request JSON object of matching urls
			$.getJSON("search.php?jsoncallback=?", query, function(data) {
							
			  if (data.length > 0) {
								
			    //add success icon
				$("<div>").attr("id", "success").insertAfter("#searchcontainer > h2").fadeIn("fast");
								
				//create container for results
				$("<div>").attr("id", "results").appendTo("#searchcontainer");
						
				//add message
				$("<p>").addClass("text").text("The following pages contain the search term:").appendTo("#results");
								
				//create list
				$("<ul>").attr("id", "resultList").appendTo("#results");
	
				//process response
				for (var x = 0; x < data.length; x++) {
				
				  //create list item
				  var li = $("<li>");
					
				  //create result
				  $("<a />").addClass("result text").attr("href", data[x].url).text(data[x].title).appendTo(li);
					
				  li.appendTo("#resultList");
					
				  $("#results").slideDown("fast");
				}
															
				//show results
				$("#results").slideDown("fast");
			  } else {
								
				//show error message		
				$("<p>").addClass("text").attr("id", "noResults").text("Sorry, no results found").appendTo("#searchcontainer").slideDown("fast");								
			  }
							
			  //remove spinner
			  $("#spinner").remove();
							
			  //enable button and input
			  $("#search").attr("disabled", "");
			  $("#query").attr("disabled", "");
			});				
		  } else {

		    //display error
		    ($("#error").length > 0) ? null : $("<p>").attr("id", "error").addClass("text").text("Please enter a search term!").appendTo("#searchcontainer").slideDown("fast");
		  }
	    });				
	  });
		
