/**
 * @author mbraun
 */

var thisObj = this;
var saiFiltering = new Ext.sai.SAIFiltering();

jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
  return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);  
};

// Make sure the input field in the sorting menu always has focus

function setFocusElement(el) {
	
	var inputs = el.getEl().dom.getElementsByTagName('input');
	
	if( inputs.length >= 1 ) {
		setTimeout( function() {
			if( document.activeElement.tagName === "INPUT" ) {
				document.activeElement.focus();
			} else {
				inputs[0].focus();
			}
		}, 100 );
	} 
}

function hideCriteriaFormClick(){
  $('#criteriaFormContainer').slideFadeToggle(200, function() {
      var $this = $(this);
      if ($this.is(':visible')) {
        $('.hideCriteriaForm .statusText').text('Hide Criteria Form');
        $('.hideCriteriaForm .indicatorArrow').addClass('upArrow');
        $('.hideCriteriaForm .indicatorArrow').removeClass('downArrow');
      } else {
        $('.hideCriteriaForm .statusText').text('Show Criteria Form');
        $('.hideCriteriaForm .indicatorArrow').addClass('downArrow');
        $('.hideCriteriaForm .indicatorArrow').removeClass('upArrow');
      }
    });
}

function wireUpDatePicker(){
	
	var dpStart = Ext.get('startDate');
	var dpEnd = Ext.get('endDate');
	var date_picker = Ext.get('date_picker');
	var datePicker = null;
	var datePickerMode = "none";
	var datePickerOptions = {};
	if (!date_picker){
		return;
	}
	if (!dpStart && !dpEnd)
	{
		return ;
	} else if (!dpEnd)
	{
		datePickerMode = "single";
		MGNT.infoCenter.common.dateSingle.enabled = true;
		datePicker = MGNT.infoCenter.common.dateSingle;
		datePickerOptions = {
				renderTo: "date_picker",
		        showSubmitButton: true,
		        resetOnClose: true,
		        dateFormat: "m/d/Y",
		        alignMode: "tr-br?",
		        submitPresetName: true,
		        presetsToShow: ["today", "yesterday"]
		        };
	} else {
		datePickerMode = "range";
		MGNT.infoCenter.common.dateRange.enabled = true;
		datePicker = MGNT.infoCenter.common.dateRange;
		datePickerOptions = {
		        renderTo: "date_picker",
		        showSubmitButton: true,
		        resetOnClose: true,
		        dateFormat: "m/d/Y",
		        rangePrefix: "",
		        rangeSeparator: " - ",
		        alignMode: "tr-br?",
		        submitPresetName: true,
		        presetsToShow: ["today", "yesterday", "previous_7", "previous_30", "previous_90", "last_month", "month_to_date", "year_to_date"]
		        };
	}
	datePickerOptions.mode = datePickerMode;
	
	datePicker.startDateInput = dpStart;
	datePicker.startValue = dpStart.getValue();
	if ( datePickerMode == "range" )
	{	
		datePicker.endDateInput = dpEnd;
		datePicker.endValue = dpEnd.getValue();
	}
	MGNT.infoCenter.common.init({"start_date": datePicker.startValue, "end_date": datePicker.endValue, "datePickerOptions": datePickerOptions});
	
}

function wireUpSortHeaders()
{
	var filteredCols = [], filteredOps = [], filteredArgs = [];
	var resultsAreFiltered = false;
	if (typeof workingFilters != 'undefined'){
		resultsAreFiltered = true;
		for (var i=0;i<workingFilters.length;i++){
	    	
	    	var filter = workingFilters[i];
	    	var splits = filter.split(':',3);
	    	if (splits.length<2){
	    		break;
	    	}
	    	var col = splits[0];
	    	filteredCols.push(parseInt(col));
	    	var op = splits[1];
	    	filteredOps.push(op);
	    	var arg = splits[2];
	    	filteredArgs.push(arg);
	    	
	    }
	}
    
	//Setup sort links
	
	// Sort menu setup
	// Ascending button
	sortAscendingBtn = {
			text: 'Sort ascending',
			handler: saiFiltering.onSortMenuBtnClick,
			cls: 'xg-hmenu-sort-asc',
			sortByDirection: 'asc',
			scope: saiFiltering
	};
	// Descending button
	sortDescendingBtn = {
			text: 'Sort descending',
			handler: saiFiltering.onSortMenuBtnClick,
			cls: 'xg-hmenu-sort-desc',
			sortByDirection: 'desc',
			scope: saiFiltering
	};
	
	// Sort menu
	sortMenuItems = [
	     sortAscendingBtn,
	     sortDescendingBtn,
	     '-'
	];
	clearAllFiltersBtn = {
			text: 'Clear all filters',
			handler: saiFiltering.onClearAllFiltersBtnClick,
			scope: saiFiltering
	};
	
	// Grab sort asc and desc
	var $sort_header_cells = $('.sortHeaderRow .sortHeaderCell');
	var sortMenuBtn, btnText, iconCls = 'sortIndicatorHolder_off', iconAlign = 'left';
	var actionBtnMenuItem;
	var stringSortFilterOptMenu;
	$sort_header_cells.each( function(){
		
		// Hide existing sort header cells asc/desc buttons
		$(this).find('a:first-child').remove();
		$(this).find('a:last-child').remove();
		// Replace contents of cell with sort button
		btnText = $(this).find('.labelPositioner span').html();
		var cellWidth = $(this).outerWidth();
		var cellHeight = 50;
		$(this).css('height','50px');
		$(this).find('.labelPositioner').remove();
		$(this).html('');
		// Create filter button
		// Filter menu button
		var sortNumIdx = $(this).attr('id').indexOf('sort_') + 'sort_'.length;
		var sortIdNum = $(this).attr('id').substring(sortNumIdx);
		// Is this item currently being filtered on?
		var filteredOn = $.inArray(parseInt(sortIdNum), filteredCols);
		var currentOp = null, currentArg = null;

		var fltrChecked = false;
		var fltrBtnText = 'Filter';
		if (filteredOn != -1){
			currentOp = filteredOps[filteredOn];
			currentArg = filteredArgs[filteredOn];
			currentArg = mgntunescape(currentArg);			
			fltrChecked = true;
			//fltrBtnText = 'Filter (' + currentArg + ')';
		}
		var filterMenuItem = null;
		var stringFilterMenuItem = null;
		var stringFilterItem = null;
		var rangeFilterItem = null;
		var filterMenuSubMenu = null;
		if ($(this).hasClass('dateSortFilter')){
			filterMenuItem = null;
			if (false){
			filterMenuItem = new Ext.ux.grid.filter.DateFilter();
			filterMenuItem.text = fltrBtnText;
			filterMenuItem.sortIdNum = sortIdNum;
			filterMenuItem.sortOp = currentOp;
			filterMenuItem.sortArg = currentArg;
			filterMenuItem.checked = fltrChecked;
			filterMenuItem.sortTitle = btnText;
			filterMenuItem.value.setValue(currentArg);
			filterMenuItem.mode = 'date';
			filterMenuItem.on({'commit' : saiFiltering.onFilterMenuItemCommit, 'beforecheckchange' : saiFiltering.onBeforeFilterMenuCheckChange,scope:saiFiltering});
			}
		} else if ($(this).hasClass('numericSortFilter')){
			filterMenuItem = new Ext.ux.menu.RangeFilterMenuItem();
			rangeFilterItem = filterMenuItem.rangeFilter;
			rangeFilterItem.text = fltrBtnText;
			rangeFilterItem.sortIdNum = sortIdNum;
			// Iterate filteredCols, determine
			var testCol = 0;
			for (var i = 0; i < filteredCols.length; i++){
				testCol = filteredCols[i];
				if (parseInt(sortIdNum) == parseInt(testCol)){
					currentOp = filteredOps[i];
					if (currentOp == 'EQ'){
						rangeFilterItem.menu.fields.eq.setValue(filteredArgs[i]);
					} else if (currentOp == 'GT'){
						rangeFilterItem.menu.fields.gt.setValue(filteredArgs[i]);
					} else if (currentOp == 'LT'){
						rangeFilterItem.menu.fields.lt.setValue(filteredArgs[i]);
					}
				}
			}
			
			rangeFilterItem.sortOp = currentOp;
			rangeFilterItem.sortArg = currentArg;
			//filterMenuItem.checked = fltrChecked;
			rangeFilterItem.sortTitle = btnText;
			filterMenuItem.mode = rangeFilterItem.mode = 'numeric';
			// filterMenuItem.setValue( { 'gt' : '2', 'lt' : '1', **OR** 'eq' : '0' } );
			rangeFilterItem.on({'commit' : saiFiltering.onFilterMenuItemCommit, 'beforecheckchange' : saiFiltering.onBeforeFilterMenuCheckChange,scope:saiFiltering});
		} else if ($(this).hasClass('noSortFilter')){
			filterMenuItem = null;
		} else {
			// String filter
			filterMenuItem = new Ext.ux.menu.StringFilterMenuItem();
			stringFilterItem = filterMenuItem.stringFilter;
			//stringFilterItem = new Ext.ux.grid.filter.StringFilter();
			stringFilterItem.text = fltrBtnText;
			stringFilterItem.sortIdNum = sortIdNum;
			stringFilterItem.sortOp = (currentOp != null) ? currentOp : "CONTIC";
			stringFilterItem.sortArg = currentArg;
			stringFilterItem.sortTitle = btnText;
			//stringFilterItem.checked = fltrChecked;
			stringFilterItem.value.setValue(currentArg);
			stringFilterItem.icon = null;
			filterMenuItem.mode = stringFilterItem.mode = 'string';
			stringFilterItem.on({'commit' : saiFiltering.onFilterMenuItemCommit, 'beforecheckchange' : saiFiltering.onBeforeFilterMenuCheckChange, scope:saiFiltering});
			//filterMenuItem = stringFilterItem;
		}
		// Create copy of sortMenuItems
		var sortMenuItemsForBtn = sortMenuItems.slice();
		// Add to sortMenuItems
		if(filterMenuItem!=null){
			
			var clearThisFilterBtn = {
				text: 'Clear this filter',
				handler: saiFiltering.onClearThisFilterBtnClick,
				scope:saiFiltering,
				sortOp: null
			};
			
			if (filterMenuItem.mode == 'string'){
				
				actionBtnMenuItem = new Ext.ux.menu.ActionButtonsItem();
				actionBtnMenuItem.associatedFilterItem = stringFilterItem;
				actionBtnMenuItem.on({'commit':saiFiltering.onActionBtnMenuItemCommit,scope:saiFiltering});
				actionBtnMenuItem.on({'cancel':saiFiltering.onActionBtnMenuItemCancel,scope:saiFiltering});
				
				stringSortFilterOptMenu = new Ext.ux.menu.StringFilterOptionsItem();
				
				stringSortFilterOptMenu.associatedFilterItem = stringFilterItem;
				clearThisFilterBtn.associatedFilterItem = stringFilterItem;
				Ext.each(stringSortFilterOptMenu.menuItems.items, function(value,index){
					if ( stringFilterItem.sortOp == value.optName){
						stringSortFilterOptMenu.selectedOption = value.optName;
						value.checked = true;
					} else {
						value.checked = false;
					}
					value.listeners = {
							beforecheckchange : {
								fn:saiFiltering.onFilterOptCommit,			
								scope:saiFiltering
							}
					};
					value.group = 'stringSortFilterOptGroup'+sortIdNum;
		    		value.hideOnClick = false;
					value.associatedFilterItem = stringFilterItem;
				}, saiFiltering);
				
				sortMenuItemsForBtn.push(clearThisFilterBtn);
				sortMenuItemsForBtn.push(clearAllFiltersBtn);
				sortMenuItemsForBtn.push('-');
				sortMenuItemsForBtn.push(stringFilterItem.value);
				sortMenuItemsForBtn.push('-');
				sortMenuItemsForBtn.push(stringSortFilterOptMenu.menuItems.items);
				sortMenuItemsForBtn.push('-');
				sortMenuItemsForBtn.push(actionBtnMenuItem);
				
			} else if (filterMenuItem.mode == 'numeric') {
				actionBtnMenuItem = new Ext.ux.menu.ActionButtonsItem();
				actionBtnMenuItem.associatedFilterItem = rangeFilterItem;
				actionBtnMenuItem.on({'commit':saiFiltering.onActionBtnMenuItemCommit,scope:saiFiltering});
				actionBtnMenuItem.on({'cancel':saiFiltering.onActionBtnMenuItemCancel,scope:saiFiltering});
				
				clearThisFilterBtn.associatedFilterItem = rangeFilterItem;
				sortMenuItemsForBtn.push(clearThisFilterBtn);
				sortMenuItemsForBtn.push(clearAllFiltersBtn);
				sortMenuItemsForBtn.push('-');
				sortMenuItemsForBtn.push(rangeFilterItem.menu.fields.gt);
				sortMenuItemsForBtn.push(rangeFilterItem.menu.fields.lt);
				sortMenuItemsForBtn.push('-');
				sortMenuItemsForBtn.push(rangeFilterItem.menu.fields.eq);
				sortMenuItemsForBtn.push('-');
				sortMenuItemsForBtn.push(actionBtnMenuItem);
			} else {
				clearThisFilterBtn.associatedFilterItem = filterMenuItem;
				sortMenuItemsForBtn.push(clearThisFilterBtn);
				sortMenuItemsForBtn.push(clearAllFiltersBtn);
				sortMenuItemsForBtn.push('-');
				sortMenuItemsForBtn.push(filterMenuItem);
			}
			
		}
		// Create sort header cell menu
		sortHeaderCellMenu = new Ext.menu.Menu({
			items: sortMenuItemsForBtn,
			listeners: {
				'show' : function(){
					sortMenuShowing = true;
					//return true;
				},
				'hide' : function(){
					sortMenuShowing = false;
					//return true;
				},
				'mouseover' : function(menu) {
					// Reset focus on mouseover of each elements to the input field
					setFocusElement(menu);
				}
			}
		});
		if (stringFilterItem){
			stringFilterItem.menu = sortHeaderCellMenu;
		} else if (rangeFilterItem){
			rangeFilterItem.parentMenu = sortHeaderCellMenu;
		}
		if ( $(this).attr('id') == ('sort_' + $('#sortByColumnID').val())){
			if ( fltrChecked ){
				iconCls = 'sortFilterIndicatorHolder';
			} else {
				iconCls = 'sortIndicatorHolder';
			}
			iconAlign = 'top';
		} else if ( fltrChecked ) {
			iconCls = 'filteredIndicatorHolder';
			iconAlign = 'top';
		} else {
			iconCls = null;
			iconAlign = null;
		}
		// Set the column that's selected
	    $('#sort_' + $('#sortByColumnID').val()).addClass('sortedBy ' + $('#sortOrder').val());
	    // Set the sort dir for the btn
		var sortDir = 'desc';
		if ( $(this).hasClass('asc') ){
			sortDir = 'desc';
		} else if ( $(this).hasClass('desc') ){
			sortDir = 'asc';
		}
		
		sortMenuBtn = new Ext.SplitButton({
			renderTo: Ext.get(this),
			text: btnText,
			cls:'sortBtn',
			overCls: 'sortBtnOver',
			iconCls: iconCls,
			iconAlign: iconAlign,
			width: '100%',
			focusOnToFront : false,
			height: cellHeight,
			handler: saiFiltering.sortHeaderCellBtnHandler,
			scope:saiFiltering,
			listeners: {
				'menushow' : function(btn,menu){
					
					sortMenuCurrentSortById = btn.sortById;
					
					// If menu is being shown and the ENTER key is pressed, submit current fields
					// for filter operations
					
					menu.getEl().on('keyup', function(e) {
						if( e.getKey() == e.ENTER ) {
							this.onActionBtnMenuItemCommit(actionBtnMenuItem);
						}
					}, saiFiltering);
					
					setFocusElement(menu);
					
				},
				'render' : function(btn){
					var parentEl = btn.getEl().dom.parentNode;
				}
			},
			sortById: $(this).attr('id'),
			sortByDirection: sortDir,
			menu: sortHeaderCellMenu
		});
		
	});
};

var mgntunescape = function (str)
{
	str = "" + str;
	while (true)
	{
		var i = str . indexOf ('+');
		if (i < 0)
			break;
		str = str . substring (0, i) + '%20' +
			str . substring (i + 1, str . length);
	}
	return unescape (str);
};

var mgntescape = function (str)
{
	str = "" + str;

	str = escape (str);
	
	// Escape + signs before escaping blanks
	while (true)
	{
		var i = str.indexOf ('+');
		if (i < 0) {
			break;
		}
		str = str.substring (0, i) + '%2B' +
			str.substring (i + 1, str.length);
	}
	
	// Lastly escaping blanks
	while (true)
	{
		var i = str.indexOf (' ');
		if (i < 0) {
			break;
		}
		str = str.substring (0, i) + '+' +
			str.substring (i + 1, str.length);
	}
	
	return str;
};

$(window).load(function()
{
	resizePageWrapper();
});

// Unblock when AJAX activity stops
$(document).ajaxStop($.unblockUI);

$(document).ready(function(){					
	$('.hideCriteriaForm').click( function(){
		hideCriteriaFormClick();
		return false;
	});
	
	$('button[name=cancel]').click(function(){
		history.go(-1);
		return false;
	});
	
	wireUpSortHeaders();
	wireUpInPagePopup();
	wireUpBlockUI();
	
	resizePageWrapper();
	$(window).resize(function() { resizePageWrapper(); });			
});

function resizePageWrapper(){
	var $criteriaFormInner = $('#criteriaFormInner');
	var $pageWrapper = $('.pageWrapper')[0];
	var $windowWidth = $(window).width();
	$($criteriaFormInner).width($windowWidth);
	
	return;
	
	  var $resultsTbl = $('.resultsTable')[0];
	  if ($resultsTbl) {
	    var $pageWrapper = $('.pageWrapper')[0];
	    var $ftr = $('#footer')[0];
	    var resultsTblW = $($resultsTbl).width();
	    if ( (resultsTblW + 60) > $($pageWrapper).width()) {
	     $($pageWrapper).width(resultsTblW + 100);
	     $($ftr).width(resultsTblW + 100);
	    }
	  }
}

function wireUpInPagePopup(){
	var percentWidth = 0.90, percentHeight = 0.90;
	var checkDetailsPopInSize = { width: 980, height: null, percentWidth: null, percentHeight: percentHeight };
	var shipmentDetailsPopInSize = { width: 460, height: null, percentWidth: null, percentHeight: percentHeight };
	var poDetailsPopInSize = { width: 460, height: null, percentWidth: null, percentHeight: percentHeight };
	var ticketDetailsPopInSize = { width: 600, height: null, percentWidth: null, percentHeight: percentHeight };
	var currentTicketDetailsPopInSize = ticketDetailsPopInSize;
	var inPagePopupHeader = "<div class='inPagePopupHeader clearfix'><div class='DOMWindowHdrBtnContainer clearfix'><a id='printDOMWindowBtn' href='#' class='printDOMWindow DOMWindowHdrBtn replaced'>Print</a><a id='closeDOMWindowBtn' href='#' class='closeDOMWindow DOMWindowHdrBtn replaced'>Close</a></div></div>";
	$('a.domWindow').each(function(){
		var href = $(this).attr('href');
		if (href.indexOf('ticket.html') != -1){
			currentTicketDetailsPopInSize = ticketDetailsPopInSize;
		} else if (href.indexOf('shipmentdetail.html') != -1){
			currentTicketDetailsPopInSize = shipmentDetailsPopInSize;
		} else if (href.indexOf('podetail.html') != -1){
			currentTicketDetailsPopInSize = poDetailsPopInSize;
		} else if (href.indexOf('check.html') != -1){
			currentTicketDetailsPopInSize = checkDetailsPopInSize;
		} else {
			currentTicketDetailsPopInSize = ticketDetailsPopInSize;
		}
		
		$(this).openDOMWindow({
			height: currentTicketDetailsPopInSize.height,
			width: currentTicketDetailsPopInSize.width,
			percentWidth: currentTicketDetailsPopInSize.percentWidth,
			percentHeight: currentTicketDetailsPopInSize.percentHeight,
			eventType:'click',
			loader:1,
			loaderImagePath:'../img/ajax-activity-indicator.gif',
			headerHtml:inPagePopupHeader,
			headerHeight: 24,
			windowSource: 'iframe',
			windowPadding: 0
		});
	});
}

function wireUpPaginationComboBox(){
	var showRowsCB = Ext.get('showRows');
	if(!showRowsCB){
		return;
	}
	var paginationComboBox = new Ext.form.ComboBox({
		typeAhead: true,
	    triggerAction: 'all',
	    transform:'showRows',
	    width:60,
	    forceSelection:false,
	    itemId:'showRowsCB'
	});
	if (paginationResultsPerPage != null){
		paginationComboBox.setValue( paginationResultsPerPage );
	}
	paginationComboBox.on("select", paginationComboBoxClick, this);
	paginationComboBox.on("specialkey", paginationComboBoxKeyup, this);
	
}

function paginationComboBoxClick(c,r,i){
	executeShowRows(c);
}

function paginationComboBoxKeyup(o,e){
	if (e.getKey() == e.ENTER){
		o.setValue(o.lastQuery);
		executeShowRows(o);
	}
}

function wireUpTooltips(){
	$('a').filter(function(){
		return $(this).attr('data-helpTooltip');
	}).each(function(){
		// Create tooltip
		var titleTxt = $(this).attr('data-helpTooltip');
		var tt = new Ext.ToolTip({
			target: this,
			title: titleTxt,
			plain: true,
			showDelay: 0,
			hideDelay: 1,
			trackMouse: true,
			autoWidth: false,
			boxMaxWidth: 320,
			boxMinWidth: 140
		});
	}).click(function(){
		return false;
	});
}

//function wireUpSupplierComboBox(){
//	var supplierComboBox = new Ext.form.ComboBox({
//		typeAhead: true,
//		triggerAction: 'all',
//		width: 240,
//		forceSelection: false,
//		itemId:'supplierCB',
//		hideTrigger: true
//	});
//}

function wireUpBlockUI(){
	$.blockUI.defaults = { 
		    // message displayed when blocking (use null for no message) 
		    message:  $('#ajaxDomMessage'),
		    css: { 
		        padding:        0, 
		        margin:         0, 
		        width:          '30%', 
		        top:            '40%', 
		        left:           '35%', 
		        textAlign:      'center', 
		        color:          '#000', 
		        border:         'none', 
		        backgroundColor:'transparent', 
		        cursor:         'wait' 
		    }, 
		    overlayCSS:  { 
		        backgroundColor: '#000', 
		        opacity:         0.7
		    }, 
		    growlCSS: { 
		        width:    '350px', 
		        top:      '10px', 
		        left:     '', 
		        right:    '10px', 
		        border:   'none', 
		        padding:  '5px', 
		        opacity:   0.6, 
		        cursor:    null, 
		        color:    '#fff', 
		        backgroundColor: '#000', 
		        '-webkit-border-radius': '10px', 
		        '-moz-border-radius':    '10px' 
		    }, 
		    iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', 
		    forceIframe: false, 
		    baseZ: 1000,  
		    centerX: true, // <-- only effects element blocking (page block controlled via css above) 
		    centerY: true, 
		    allowBodyStretch: true, 
		    bindEvents: true,  
		    constrainTabKey: true, 
		    fadeIn:  200, 
		    fadeOut:  400,
		    timeout: 0, 
		    showOverlay: true,
		    focusInput: true,
		    applyPlatformOpacityRules: true, 
		    onUnblock: null, 
		    quirksmodeOffsetHack: 4 
	};
	
	$('#ajaxreplace').ajaxStart($.blockUI);
}

function wireUpUsersSearch(){
	var usersSelectBox = Ext.get('searchBySelect');
	var usernameLike = Ext.get('usernameLike');
	var supplierNoLike = Ext.get('supplierNoLike');
	var searchForUserInput = Ext.get('searchForUser');
	if (!usersSelectBox || !usernameLike || !supplierNoLike || !searchForUserInput){
		return;
	}
	if (usernameLike.getValue() != ''){
		$('#searchBySelect').val('username');
		supplierNoLike.set({value : ''});
		searchForUserInput.set({value:usernameLike.getValue()});
	} else if (supplierNoLike.getValue() != ''){
		$('#searchBySelect').val('supplierNo');
		usernameLike.set({value : ''});
		searchForUserInput.set({value:supplierNoLike.getValue()});
	}
	if (usersSelectBox){
		usersSelectBox.on({'change':this.onWireUpUsersSelectBoxChange,scope:this});
	}
	if (searchForUserInput){
		searchForUserInput.on({'change':this.onSearchForUserInputUpdate,scope:this});
	}
	
}
function onSearchForUserInputUpdate(e,i){
	setSearchByValue();
}
function onWireUpUsersSelectBoxChange(e,sb,f){
	setSearchByValue();
}
function setSearchByValue(){
	var usernameLike = Ext.get('usernameLike');
	var supplierNoLike = Ext.get('supplierNoLike');
	var usersSelectBox = Ext.get('searchBySelect');
	var searchForUserInput = Ext.get('searchForUser');
	var selectedValue = usersSelectBox.getValue();
	if (selectedValue == 'username'){
		usernameLike.set({value : searchForUserInput.getValue()});
		supplierNoLike.set({value : ''});
	} else if (selectedValue == 'supplierNo'){
		usernameLike.set({value : ''});
		supplierNoLike.set({value : searchForUserInput.getValue()});
	}
}

Ext.onReady(function(){
	
	wireUpDatePicker();
	wireUpPaginationComboBox();
	wireUpTooltips();
	wireUpUsersSearch();

});
