CmdUtils.CreateCommand({
  name: "bz",
  homepage: "http://sleepdepninja.blogspot.com",
  author: { 
    	name: "Sleep Deprivation Ninja",
    	email: "sdn@sleepdepninja.com"
  },
  license: "MPL",
  description: "Launches the Bugzilla page for a given Bugzilla number. Shows a preview of the title and description.",
  baseURL: "http://bugzilla/",

  takes: { bz: noun_arb_text },

  preview: function(pblock, bz) {

    var searchText = jQuery.trim(bz.text);
    if(searchText.length<4)
	return;

    pblock.innerHTML = "loading BZ# "+searchText+'...';
    
    var URL = this.baseURL + "show_bug.cgi?id=" + searchText;
    jQuery.get(URL,null, function(page) {
    var previewTemplate = "<h3>BZ#${bznum}:</h3> <p><b>Title:</b> ${title}</b><br /><b>Opened:</b> ${opened}<br /><b>Resolution:</b> ${resolution}<br /><b>Assigned To:</b> ${assignedTo}<br /><b>Description: </b><br />${description}</p>";
    	//pblock.innerHTML = page;

	var previewData = {bznum:searchText};
        var index,start,end;
        
    	start = page.indexOf('subtitle">') + 10;
    	end = page.indexOf("</td>", start);
    	previewData.title = page.substring(start, end);

	index = page.indexOf('Resolution');
    	start = page.indexOf("<td>", index) + 4;
    	end   = page.indexOf("</td>", start);
    	previewData.resolution = page.substring(start, end);

    	start = page.indexOf("<td>", end) + 4;
    	end   = page.indexOf("</td>", start);
    	previewData.assignedTo = page.substring(start, end);


    	index = page.indexOf('Opened:');
    	start = page.indexOf("</b>", index) + 4;
    	end   = page.indexOf("</td>", start);
    	previewData.opened = page.substring(start, end);

    	index = page.indexOf('Description');
    	var pointer = page.indexOf('<pre ', index);
    	start = page.indexOf('>', pointer) + 1;
    	end   = page.indexOf("</pre>", start);
    	previewData.description = page.substring(start, end);

    	pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);
    });
   
  },
  execute: function(bz) {
    	var url = this.baseURL+"show_bug.cgi?id={QUERY}";
    	var query = bz.text;
    	var urlString = url.replace("{QUERY}", query);
    	Utils.openUrlInBrowser(urlString);
  }
});