subclass(RecordListSearch,IRecordListPanelChildContent);function RecordListSearch(id)
{this.id=id
this.parent=null;this.generalSearchAllowed=true;this.generalSearchEnabled=true;this.generalSearchValue='';this.searchFilters=new Array();this.onSearch=new REvent();this.onReset=new REvent();RegisterControl.statics.getInstance().add(this);this.onReset.addEventListener(new REventListener(this.onResetListener,this));}
RecordListSearch.prototype.getId=function()
{return this.id;}
RecordListSearch.prototype.attach=function(node)
{var generalSearch=document.createElement("div");generalSearch.id=RegisterControl.statics.encodeId(this,"generalSearch");generalSearch.style.padding="3px";generalSearch.style.display=this.IsGeneralSearchInUse()?"block":"none";node.appendChild(generalSearch);var generalSearchInput=document.createElement("input");generalSearchInput.type="text";generalSearchInput.id=RegisterControl.statics.encodeId(this,"generalSearchInput");generalSearchInput.RecordListSearchId=this.getId();generalSearchInput.onkeypress=RecordListSearch.statics.enterPressedEvent;if(this.generalSearchValue)
generalSearchInput.value=this.generalSearchValue;generalSearch.appendChild(generalSearchInput);var generalSearchButton=new StyleButton(this.getId()+'_generalSearch',this.getId()+'_generalSearch',ResourcesPlatform.Search,RecordListSearch.statics.onSearch,null,null,StyleButton.statics.Size["SMALL"]);generalSearchButton.PlaceInDom(generalSearch,Mixin_DomInsertable.statics.INSERTMETHOD_APPENDASCHILD);generalSearchButton.GetDomNode().instanceId=this.getId();if(this.parent&&this.parent.GetCollapseDirection()==RecordListPanel.statics.collapseDirection.horizontal)
{generalSearchButton.SetStyle('float','right');generalSearchButton.SetStyle('margin','2px 2px 0 0');}
var advancedSearch=document.createElement("div");advancedSearch.id=RegisterControl.statics.encodeId(this,"advancedSearch");advancedSearch.style.display=this.IsGeneralSearchInUse()?"none":"block";node.appendChild(advancedSearch);var filters=document.createElement("div");filters.id=RegisterControl.statics.encodeId(this,"filters");filters.style.overflow="auto";advancedSearch.appendChild(filters);var table=document.createElement("table");table.id=RegisterControl.statics.encodeId(this,"filterTable");table.className="filterList";filters.appendChild(table);var tbody=document.createElement("tbody");table.appendChild(tbody);var tr=null;var searchFilters=this.getSearchFilters();for(var i in searchFilters)
{var searchFilter=searchFilters[i];tr=document.createElement("tr");tbody.appendChild(tr);searchFilter.attach(tr);}
var buttonBar=document.createElement("div");buttonBar.id=RegisterControl.statics.encodeId(this,"buttonBar");advancedSearch.appendChild(buttonBar);div=document.createElement("div");div.style.styleFloat='right';div.style.cssFloat='right';buttonBar.appendChild(div);var searchButton=new StyleButton(this.getId()+'_Search',this.getId()+'_Search',ResourcesPlatform.Search,RecordListSearch.statics.onSearch,null,null,StyleButton.statics.Size["SMALL"]);searchButton.PlaceInDom(div,Mixin_DomInsertable.statics.INSERTMETHOD_APPENDASCHILD);searchButton.GetDomNode().instanceId=this.getId();var div=document.createElement("div");div.style.styleFloat='right';div.style.cssFloat='right';buttonBar.appendChild(div);var resetButton=new StyleButton(this.getId()+'_Reset',this.getId()+'_Reset',ResourcesPlatform.Reset,RecordListSearch.statics.onReset,ResourcesPlatform.ResetTheFilter,null,StyleButton.statics.Size["SMALL"]);resetButton.PlaceInDom(div,Mixin_DomInsertable.statics.INSERTMETHOD_APPENDASCHILD);resetButton.GetDomNode().instanceId=this.getId();div=document.createElement("div");div.style.height='1px';div.style.overflow='hidden';div.className='clear';buttonBar.appendChild(div);}
RecordListSearch.prototype.init=function(parent)
{this.parent=parent;if(this.parent.onResize)
this.parent.onResize.addEventListener(new REventListener(RecordListSearch.prototype.onResizeListener,this));}
RecordListSearch.prototype.addSearchFilter=function(filter)
{this.searchFilters.push(filter);filter.init(this);}
RecordListSearch.prototype.getSearchFilters=function()
{return this.searchFilters;}
RecordListSearch.prototype.handlesScrolling=function()
{return true;}
RecordListSearch.prototype.isCollapsible=function()
{if(this.generalSearchAllowed)
return true;return false;}
RecordListSearch.prototype.getCollapsed=function()
{return this.IsGeneralSearchInUse();}
RecordListSearch.prototype.setCollapsed=function(collapsed)
{this.generalSearchEnabled=collapsed;var generalSearch=document.getElementById(RegisterControl.statics.encodeId(this,"generalSearch"));var advancedSearch=document.getElementById(RegisterControl.statics.encodeId(this,"advancedSearch"));if(generalSearch&&advancedSearch)
{generalSearch.style.display=this.IsGeneralSearchInUse()?"block":"none";advancedSearch.style.display=this.IsGeneralSearchInUse()?"none":"block";}}
RecordListSearch.prototype.getDesiredHeight=function()
{var generalSearch=document.getElementById(RegisterControl.statics.encodeId(this,"generalSearch"));var filterTable=document.getElementById(RegisterControl.statics.encodeId(this,"filterTable"));var buttonBar=document.getElementById(RegisterControl.statics.encodeId(this,"buttonBar"));if(this.IsGeneralSearchInUse())
return generalSearch.offsetHeight+buttonBar.offsetHeight+6;else
return filterTable.offsetHeight+buttonBar.offsetHeight+24;}
RecordListSearch.prototype.getGeneralSearchEnabled=function()
{return this.generalSearchEnabled;}
RecordListSearch.prototype.setGeneralSearchEnabled=function(e)
{this.generalSearchEnabled=e;}
RecordListSearch.prototype.IsGeneralSearchInUse=function()
{return(this.generalSearchEnabled&&this.generalSearchAllowed);}
RecordListSearch.prototype.getGeneralSearchValue=function()
{var generalSearchInput=document.getElementById(RegisterControl.statics.encodeId(this,"generalSearchInput"));if(generalSearchInput)
this.generalSearchValue=generalSearchInput.value;return this.generalSearchValue;}
RecordListSearch.prototype.setGeneralSearchValue=function(value)
{this.generalSearchValue=value;var generalSearchInput=document.getElementById(RegisterControl.statics.encodeId(this,"generalSearchInput"));if(generalSearchInput)
generalSearchInput.value=this.generalSearchValue;}
RecordListSearch.prototype.getSearchValueList=function()
{var searchValues=new Array();var searchFilters=this.getSearchFilters();for(var i in searchFilters)
{var searchFilterValue=searchFilters[i].getValue();if(searchFilterValue)
searchValues[searchValues.length]=searchFilterValue;else
searchValues[searchValues.length]='';}
return searchValues;}
RecordListSearch.prototype.onResetListener=function()
{if(this.getGeneralSearchEnabled())
{this.setGeneralSearchValue('');}
else
{var searchFilters=this.getSearchFilters();for(var i in searchFilters)
{searchFilters[i].setValue(null);}}}
RecordListSearch.prototype.onResizeListener=function()
{var filters=document.getElementById(RegisterControl.statics.encodeId(this,"filters"));var buttonBar=document.getElementById(RegisterControl.statics.encodeId(this,"buttonBar"));var remainingHeight=parseInt(filters.parentNode.parentNode.offsetHeight)-buttonBar.offsetHeight-2;var remainingWidth=parseInt(filters.parentNode.parentNode.offsetWidth)-2;filters.style.height=((0<remainingHeight)?remainingHeight:1)+"px";filters.style.width=((0<remainingWidth)?remainingWidth:1)+"px";if(this.parent&&this.parent.GetCollapseDirection()==RecordListPanel.statics.collapseDirection.horizontal)
{var generalSearchInput=document.getElementById(RegisterControl.statics.encodeId(this,"generalSearchInput"));remainingWidth-=10;generalSearchInput.style.width=((0<remainingWidth)?remainingWidth:1)+"px";}}
RecordListSearch.prototype.setAllowGeneralSearch=function(e)
{this.generalSearchAllowed=e;}
RecordListSearch.statics=new Object();RecordListSearch.statics.eventDispatch=function(id,event)
{var params=new Array();var instance=RegisterControl.statics.decodeId(id,params);instance[event].trigger();}
RecordListSearch.statics.onSearch=function(){RecordListSearch.statics.eventDispatch(this.instanceId,"onSearch");}
RecordListSearch.statics.onReset=function(){RecordListSearch.statics.eventDispatch(this.instanceId,"onReset");}
RecordListSearch.statics.enterPressedEvent=function(event)
{if(this.RecordListSearchId)
{var params=new Array();var instance=RegisterControl.statics.decodeId(this.RecordListSearchId,params);var keyNumber=null;if(window.event)
keyNumber=window.event.keyCode;else if(event.which)
keyNumber=event.which;if(13==keyNumber&&instance&&instance.onSearch)
{instance.onSearch.trigger();}}}