jQuery(function($) {
	var grid_selector = "#grid-table";
	var pager_selector = "#grid-pager";

	// resize to fit page size
	$(window).on('resize.jqGrid', function() {
		$(grid_selector).jqGrid('setGridWidth', $(".page-content").width());
	})
	// resize on sidebar collapse/expand
	var parent_column = $(grid_selector).closest('[class*="col-"]');
	$(document).on('settings.ace.jqGrid', function(ev, event_name, collapsed) {
		if (event_name === 'sidebar_collapsed' || event_name === 'main_container_fixed') {
			// setTimeout is for webkit only to give time for DOM changes and then redraw!!!
			setTimeout(function() {
				$(grid_selector).jqGrid('setGridWidth', parent_column.width());
			}, 0);
		}
	});
	
	$(document).keydown(function(event) {
		var key = window.event ? event.keyCode : event.which;
		if (key == 13) {
			$("#searchd").click();
		}
	});

	/*搜索框  主要对Jquery grid进行刷新 带参数刷新    */
	$("#searchd").click(function(){
		var adState =$("#adState").val();
		var keyword =$("#keyword").val();
    	myGrid.setGridParam({data:'json',url : contextPath + '/am/bc/getBcs?adState='+adState+'&keyword='+keyword}).trigger('reloadGrid');
	});
	
    myGrid=	jQuery(grid_selector).jqGrid({
		subGrid : false,
		url : contextPath + "/am/bc/getBcs",
		datatype : "json",
		height : 450,
		colNames : ['接口代码', '状态','广告图片地址','广告文本','图片名','跳转地址','跳转类型','广告类型','序号','版本号','跳转页面','弹窗出现间隔天数','弹窗当天允许次数','操作'],
		colModel : [{name : 'code',
			index : 'code',
			width : 100,
			search : false,	
			editable : false
		},{	name : 'ad',
			index : 'ad',
			width : 100,
			editable : false,
			formatter : adFormatter
		},{	name : 'adPic',
			index : 'adPic',
			width : 200,
			editable : false
		},{	name : 'adText',
			index : 'adText',
			width : 200,
			search : false,	
			editable : false,
		},{
			name : 'picName',
			index : 'picName',
			width : 120,
			editable : false
			
		},{
			name : 'adLink',
			index : 'adLink',
			width : 200,
			editable : false,
		},{
			name : 'adType',
			index : 'adType',
			width : 100,
			editable : false
		},{
			name : 'type',
			index : 'type',
			width : 100,
			editable : false
		},{
			name : 'sort',
			index : 'sort',
			width : 100,
			editable : false
			
		},{
			name : 'version',
			index : 'version',
			width : 100,
			editable : false
        },{
            name : 'redirectUrl',
            index : 'redirectUrl',
            width : 100,
            editable : false
        },{
            name : 'intervalDays',
            index : 'intervalDays',
            width : 100,
            editable : false
        },{
            name : 'numberOfDay',
            index : 'numberOfDay',
            width : 100,
            editable : false
		},{	name : 'id',
			index : '',
			label : '操作',
			width : 100,
			editable : false,
			search : false,
			sortable : false,
			fixed:true,
			formatter : optionFormatter
		}],
		//scroll : 1, // set the scroll property to 1 to enable paging with scrollbar - virtual loading of records
		sortname : "code",
		sortorder : "asc",
		viewrecords : true,
		rowNum : 10,
		rowList : [ 10, 20, 30 ],
		pager : pager_selector,
		altRows : true,
		multiselect : true,
		loadComplete : function() {
			var table = this;
			setTimeout(function(){
				styleCheckbox(table);
				updateActionIcons(table);
				updatePagerIcons(table);
				enableTooltips(table);
			}, 0);
		}
		//caption : "用户管理列表",
		//autowidth : true,
		/**
		grouping : true, 
		groupingView : { 
			 groupField : ['name'],
			 groupDataSorted : true,
			 plusicon : 'fa fa-chevron-down bigger-110',
			 minusicon : 'fa fa-chevron-up bigger-110'
		},
		*/
	});

	function adFormatter(cellvalue, options, cell) {
		var result = '禁用';
		if('true' == cellvalue){
			result = '启用';
		}
		return result;
	}
	
	function optionFormatter(cellvalue, options, cell) {
		var template = "<button data-toggle='modal' onclick='editBc("+cell.id+")' class='btn btn-minier btn-grey'>修改</button>";
		template += "&nbsp;|&nbsp;<button data-toggle='modal' onclick='deleteBc(\""+cellvalue+"\")' class='btn btn-minier btn-success'>删除</button>";
		return template;
	}
	
	$(window).triggerHandler('resize.jqGrid');// trigger window resize to make the grid get the correct size
	
	// enable search/filter toolbar
	// jQuery(grid_selector).jqGrid('filterToolbar',{defaultSearch:true,stringResult:true})
	// jQuery(grid_selector).filterToolbar({});
	// switch element when editing inline
	function aceSwitch(cellvalue, options, cell) {
		setTimeout(function() {
			$(cell).find('input[type=checkbox]').addClass('ace ace-switch ace-switch-5').after('<span class="lbl"></span>');
		}, 0);
	}
	
	// navButtons
	jQuery(grid_selector).jqGrid('navGrid', pager_selector,  { // navbar options
		edit : false,
		editicon : 'ace-icon fa fa-pencil blue',
		add : false,
		addicon : 'ace-icon fa fa-plus-circle purple',
		del : false,
		delicon : 'ace-icon fa fa-trash-o red',
		search : false,
		searchicon : 'ace-icon fa fa-search orange',
		refresh : false,
		refreshicon : 'ace-icon fa fa-refresh blue',
		view : false,
		viewicon : 'ace-icon fa fa-search-plus grey'
	}).jqGrid('navButtonAdd', pager_selector,{
		caption:"",
	    title : "新增广告配置",
		buttonicon:"ui-icon ace-icon fa fa-plus-circle purple",
		onClickButton: function(){
			addBc();
		},
		position:"last"
	}).jqGrid('navButtonAdd', pager_selector,{
		caption:"",
	    title : "删除广告配置",
		buttonicon:"ui-icon ace-icon fa ui-icon-trash blue",
		onClickButton: function(){
			var selectedIds = myGrid.jqGrid("getGridParam", "selarrrow");
			if(selectedIds.length < 1){
				showMsg('请选择记录');
				return;
			}
			deleteBcs(selectedIds);
		},
		position:"last"
	});
	
	function style_edit_form(form) {
		// form.find('input[name=statusCn]').addClass('ace ace-switch ace-switch-5').after('<span class="lbl"></span>');
		// don't wrap inside a label element, the checkbox value won't be submitted (POST'ed)
		// .addClass('ace ace-switch ace-switch-5').wrap('<label class="inline" />').after('<span class="lbl"></span>');

		// update buttons classes
		var buttons = form.next().find('.EditButton .fm-button');
		buttons.addClass('btn btn-sm').find('[class*="-icon"]').hide();// ui-icon, s-icon
		buttons.eq(0).addClass('btn-primary').prepend('<i class="ace-icon fa fa-check"></i>');
		buttons.eq(1).prepend('<i class="ace-icon fa fa-times"></i>')

		buttons = form.next().find('.navButton a');
		buttons.find('.ui-icon').hide();
		buttons.eq(0).append('<i class="ace-icon fa fa-chevron-left"></i>');
		buttons.eq(1).append('<i class="ace-icon fa fa-chevron-right"></i>');
	}

	function beforeEditCallback(e) {
		var form = $(e[0]);
		form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
		style_edit_form(form);
	}

	// it causes some flicker when reloading or navigating grid
	// it may be possible to have some custom formatter to do this as the grid is being created to prevent this
	// or go back to default browser checkbox styles for the grid
	function styleCheckbox(table) {
		/**
		 * $(table).find('input:checkbox').addClass('ace') .wrap('<label />') .after('<span class="lbl align-top" />') $('.ui-jqgrid-labels th[id*="_cb"]:first-child')
		 * .find('input.cbox[type=checkbox]').addClass('ace') .wrap('<label />').after('<span class="lbl align-top" />');
		 */
	}

	// unlike navButtons icons, action icons in rows seem to be hard-coded
	// you can change them like this in here if you want
	function updateActionIcons(table) {
		/**
		 * var replacement = { 'ui-ace-icon fa fa-pencil' : 'ace-icon fa fa-pencil blue', 'ui-ace-icon fa fa-trash-o' : 'ace-icon fa fa-trash-o red', 'ui-icon-disk' : 'ace-icon fa fa-check green', 'ui-icon-cancel' :
		 * 'ace-icon fa fa-times red' }; $(table).find('.ui-pg-div span.ui-icon').each(function(){ var icon = $(this); var $class = $.trim(icon.attr('class').replace('ui-icon', '')); if($class in replacement)
		 * icon.attr('class', 'ui-icon '+replacement[$class]); })
		 */
	}

	// replace icons with FontAwesome icons like above
	function updatePagerIcons(table) {
		var replacement = {
			'ui-icon-seek-first' : 'ace-icon fa fa-angle-double-left bigger-140',
			'ui-icon-seek-prev' : 'ace-icon fa fa-angle-left bigger-140',
			'ui-icon-seek-next' : 'ace-icon fa fa-angle-right bigger-140',
			'ui-icon-seek-end' : 'ace-icon fa fa-angle-double-right bigger-140'
		};
		$('.ui-pg-table:not(.navtable) > tbody > tr > .ui-pg-button > .ui-icon').each(function() {
			var icon = $(this);
			var $class = $.trim(icon.attr('class').replace('ui-icon', ''));

			if ($class in replacement)
				icon.attr('class', 'ui-icon ' + replacement[$class]);
		})
	}

	function enableTooltips(table) {
		$('.navtable .ui-pg-button').tooltip({
			container : 'body'
		});
		$(table).find('.ui-pg-div').tooltip({
			container : 'body'
		});
	}

	$(document).one('ajaxloadstart.page', function(e) {
		$(grid_selector).jqGrid('GridUnload');
		$('.ui-jqdialog').remove();
	});

	$('#mod-bc-picBtn').click(function(event) {
		document.getElementById('picform').reset();
		$('#mod-pic').modal('toggle');
	});

	$('#mod-bc-submit').click(function(event) {
		submitBc();
	});

	$('#mod-pic-submit').click(function(event) {
		submitPic();
	});
	
	appServer = url_b + '/oss/token?name=b';
});