
var slSearchUrls = {
	peopleSearch: 'http://search.secondlife.com/search.php?s=People',
	queryDirect: 'http://search.secondlife.com/client_search.php?q=%22{name}%22+inurl:resident',
	query: 'http://search.secondlife.com/client_search.php'
};

CmdUtils.CreateCommand({

	name: "sl-who",
	takes: {"Avatar Name": noun_arb_text},
	homepage: "http://www.daikonforge.com",
	author: { name: "Takuan Daikon" },
	license: "Public Domain",
	icon: "http://secondlife.com/favicon.ico",
	description: "Quickly and easily search for a Second Life&trade; user's profile by avatar name",
	
	preview: function(pblock, directObject) {

		var searchTerm = directObject.text;
		if( searchTerm.length == 0 )
		{
			pblock.innerHTML = "Search Second Life&trade; profiles for a specific avatar";
			return;
		}

		var pTemplate = "Find Second Life&trade; profile for <b>${query}</b>";
		var pData = {query: searchTerm};
		pblock.innerHTML = CmdUtils.renderTemplate(pTemplate, pData);
		
		var params = { q: "%22" + searchTerm + "%22+inurl:resident" };

		jQuery.get( slSearchUrls.query, params, function(data) {
		
			if( data.indexOf( '<div class="result' ) == -1 )
			{
				pblock.innerHTML = "<b>No results found</b>";
				return;
			}
			
			data = data.replace( /h3\>/gim, "hr>" ).replace( /\<a /gim, "<a style='border-bottom: 1px dotted;' " );

			var tempElement = CmdUtils.getHiddenWindow().document.createElementNS("http://www.w3.org/1999/xhtml", "div");
			tempElement.innerHTML = data;
			
			pblock.innerHTML = "<style>.alt = 'background-color: black;</style>";
			
			var counter = 0x00;
			jQuery("div.result", tempElement).each( function( div ) {
				if( ++counter > 4 )
					return;
				pblock.innerHTML += "<div style='font-size: 9pt;'>" + this.innerHTML + "</div>";
			});
			
		}, "html");

	},
	
	execute: function( name ) {
		var searchTerm = name.text;
		if( searchTerm.length > 0 )
		{
			openUrl( slSearchUrls.queryDirect.replace( /{name}/, escape(searchTerm) ) );
		}
		else
		{
			openUrl( slSearchUrls.peopleSearch );
		}
	}
	
});
