var panel;
var dlg;
var councilIndexName = "boulia08"

function initPanels()
{
	panel = new YAHOO.widget.Panel("wait",  
			{ width:"240px", 
			  fixedcenter:true, 
			  close:false, 
			  draggable:false, 
			  modal:true,
			  visible:false
			  } );

	dlg = new YAHOO.widget.Dialog("dialog1",  
            { width : "240px", 
              fixedcenter : true, 
              visible : false,  
              modal:true,
              constraintoviewport : true, 
              buttons : [ { text:"Ok", handler:closeHandler, isDefault:true } ] 
             } ); 
	
}

function closeHandler()
{
	dlg.hide();
}

function showPanel(hdr,body)
{
	panel.setHeader(hdr);
	panel.setBody(body);
	panel.render(document.body);
	panel.show();
}

function showDialog(hdr,body)
{
	dlg.setHeader(hdr);
	dlg.setBody(body);
	dlg.render(document.body);
	dlg.show();
}


function doSearch(url)
{
	/*
	 * AjaxObject is a hypothetical object that encapsulates the transaction
	 *     request and callback logic.
	 *
	 * handleSuccess( ) provides success case logic
	 * handleFailure( ) provides failure case logic
	 * processResult( ) displays the results of the response from both the
	 * success and failure handlers
	 * call( ) calling this member starts the transaction request.
	 */
	 

	
	//Set keyword if using search input box
	if (url=='')
	{
		var keyword = document.getElementById("key1").value;	
		if (keyword=='')
		{
			panel.hide();
			showDialog('Error','Please enter a search term.');
			return;
		}	
		else document.getElementById("key").value=keyword;
	}
	
	showPanel("Searching","Please wait...");
	
	var AjaxObject = {
	
		handleSuccess:function(o){
			// This member handles the success response
			// and passes the response object o to AjaxObject's
			// processResult member.
			panel.hide();
			this.processResult(o);
		},
	
		handleFailure:function(o){
			// Failure handler
			panel.hide();			
			showDialog('Error','An error occurred performing the search.');
		},
	
		processResult:function(o){
			// This member is called by handleSuccess
			var main = document.getElementById("main");
			var resp = o.responseText;
			var idx = resp.indexOf("<div id=\"branding");
			var idxend = resp.indexOf("</body");
			if (idx != -1)
			{
			  resp = resp.substring(idx,idxend);
			  resp = resp.replace(/<a href="(\?key=.*&pageStart=\d+)"/g,"<a href=\"javascript:doSearch('/search/'+councilIndexName+'/search.action$1')\"");
                          /*
			  var aidx = resp.indexOf("<table class='search'");
			  var aidxend = resp.indexOf("</table>",aidx);
			  nresp = resp.substring(0,aidx)+resp.substring(aidxend+8);
			  resp = nresp.replace(/"images\/arrow/g,"\"/search/images/arrow");
                          */
			}
			var sub = document.getElementById("sub");
			sub.style.display='none';
			main.innerHTML = resp;
		}
	
	
	};
	
	/*
	 * Define the callback object for success and failure
	 * handlers as well as object scope.
	 */
	var callback =
	{
		success:AjaxObject.handleSuccess,
		failure:AjaxObject.handleFailure,
		scope: AjaxObject
	};
	
        var useTemplate = document.getElementById('useTemplate');
        var formObject = document.getElementById('searchForm');
        if (!useTemplate)
        {
	if (url=="")
	{
	    // argument formId can be the id or name attribute value of the
	    // HTML form, or an HTML form object.
	    YAHOO.util.Connect.setForm(formObject);
	    // This example facilitates a POST transaction.
	    // An HTTP GET can be used as well.
            url = '/search/'+councilIndexName+'/search.action';
	}
	
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}
        else
  {
                formObject.submit();
  } 
  } 

function checkSearch(e)
{
  var key = YAHOO.util.Event.getCharCode(e);
  if (key==13) { 
	doSearch('');
	return false;
  }
  else return true;
}

function displayControls(lbl,deflt,buttext)
{
        document.writeln("<form id='searchbox'>");
        document.writeln("<h1>"+lbl+"</h1>");
	document.writeln("<input type='text' id='key1' name='key1' class='inputfield' size='8' value='"+deflt+"' onFocus=\"javascript: {if (!searchHadFocus) {searchHadFocus=true;document.getElementById('key').value='';}}\" >");
	document.writeln('<input type="button" name="submit" id="submit" value="'+buttext+'" onClick="doSearch(\'\')" >');	
        document.writeln("</form>");
}

function displayHidden()
{
	document.writeln("<input type='hidden' id='key' name='key' value='search' />");
}

YAHOO.util.Event.addListener(window, "load", initPanels );

YAHOO.util.Event.addListener("key1", "keypress", checkSearch);

