/**
 * 诉讼阶段初始化
 */
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 keywordTitle =$("#keywordTitle").val();
		var keywordTjl =$("#keywordTjl").val();
		var keywordDll =$("#keywordDll").val();
		var caseState =$("#caseState").val();
    	myGrid.setGridParam({data:'json',url : contextPath + '/ssrz/ssrzOrder/getOrders?state=3&title='+keywordTitle+'&tjl='+keywordTjl+'&dll='+keywordDll+'&caseState='+caseState}).trigger('reloadGrid');
	});
	
    myGrid=	jQuery(grid_selector).jqGrid({
		subGrid : false,
		url : contextPath + "/ssrz/ssrzOrder/getOrders?state=3",
		datatype : "json",
		height : 450,
		colNames : ['创建时间', '案件编号','案件名称','推荐律师','代理律师','融资金额','融资完成时间','案件进度','操作'],
		colModel : [{name : 'createDate',
			index : 'createDate',
			width : 100,
			search : false,	
			editable : false
		},{	name : 'orderId',
			index : 'orderId',
			width : 120,
			editable : false
		},{	name : 'title',
			index : 'title',
			width : 120,
			editable : false
		},{	name : 'tjLawyer',
			index : 'tjLawyer',
			width : 100,
			search : false,	
			editable : false,
		},{
			name : 'dlLawyer',
			index : 'dlLawyer',
			width : 100,
			editable : false
			
		},{
			name : 'moneyPc',
			index : 'moneyPc',
			width : 100,
			editable : false,
		},{
			name : 'dateFinanc',
			index : 'dateFinanc',
			width : 100,
			editable : false
			
		},{
			name : 'caseState',
			index : 'caseState',
			width : 100,
			editable : false
			
		},{	name : 'orderState',
			index : '',
			label : '操作',
			width : 250,
			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 : "createDate",
		sortorder : "desc",
		viewrecords : true,
		rowNum : 10,
		rowList : [ 10, 20, 30 ],
		pager : pager_selector,
		altRows : 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 optionFormatter(cellvalue, options, cell) {
		var template = "<button data-toggle='modal' onclick='getOrderDetail(\""+cell.orderId+"\")' class='btn btn-minier btn-grey'>详细</button>";
		template += "<shiro:hasPermission name='${ROLE_KEY}:ssrzOrder3:edit'>&nbsp;|&nbsp;<button data-toggle='modal' onclick='changeStatus(\""+cell.orderId+"\",\""+cellvalue+"\")' class='btn btn-minier btn-success'>进入回款中</button></shiro:hasPermission>";
		template += "<shiro:hasPermission name='${ROLE_KEY}:ssrzOrder2:edit'>&nbsp;|&nbsp;<button data-toggle='modal' onclick='dkjlShow(\""+cell.orderId+"\")' class='btn btn-minier btn-info'>打款记录</button></shiro:hasPermission>";
		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 : true,
		refreshicon : 'ace-icon fa fa-refresh blue',
		view : false,
		viewicon : 'ace-icon fa fa-search-plus grey'
	}, {
		// edit record form
		// closeAfterEdit: true,
		// width: 700,
		recreateForm : true,
		beforeShowForm : function(e) {
			var form = $(e[0]);
			form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
			style_edit_form(form);
		},
		errorTextFormat: function (response) {
			var result = eval('('+response.responseText+')');
		    return result.message;
		}
	})
	
	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'
		});
	}

	// var selr = jQuery(grid_selector).jqGrid('getGridParam','selrow');

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