window.I = {}
var basic=getpath();
pagesize=15;
var modelview=function() {
	var self=this;
	self.filter=ko.observable();
	self.modules=ko.observableArray();
	self.module={
		id:ko.observable(0),
		name:ko.observable(''),
		note:ko.observable('')
	};
	self.cmodule=null;
	self.rm=function(item){
		jQuery.post(basic+'/admin/modulecon/rm.htm', {id:item.id}, function(data, textStatus, xhr) {
			if(data==null)
				return;
			if(data.code==0)
			{
				self.modules.remove(item);
			}else{
				alert(data.hint);
			}
		},'json');
	};
	self.edit=function(item){
		self.cmodule=item;
		self.module.id(item.id());
		self.module.name(item.name());
		self.module.note(item.note());
		$("#edit-ress").show();
		$("#new-ress").hide();
		$('#modal1').modal('show');
	};
};

jQuery(document).ready(function($) {
	md=new modelview();
	ko.applyBindings(md);
	modules(0,pagesize,1,null);
	var fm1=$('#fm1');
	fm1.validate({
		rules:{
			'name':{
				required:true
			}
		},
		messages:{
			'name':{
				required:'不能为空'
			}
		}
	});
	$('#searcha').click(function(){
		modules(0,pagesize,1,md.filter());
	});

	$('#ctbtn').click(function(){
		md.cmodule=null;
		md.module.id(0);
		md.module.name('');
		md.module.note('');
		$('#modal1').modal('show');
	});
	$('#tjbtn').click(function(){
		if(fm1.valid()==false)
			return;
		if(window.save==1)
			return;
		window.save=1;
		var tt=md.module;
		var module=ko.mapping.toJS(tt);
		jQuery.post(basic+'/admin/modulecon/save.htm', module, function(data, textStatus, xhr) {
			$('#modal1').modal('hide');
			window.save=0;
			if(data==null)
				return;
			if(data.code>0)
			{
				alert("无法保存!");
			}else{
				if(module.id==0){
					window.md.modules.push(ko.mapping.fromJS(data.item));
				}else{
					md.cmodule.name(tt.name());
					md.cmodule.note(tt.note());
				}
			}
		},'json');
	});
});

function modules(page,pagesize,pages,filter){
	jQuery.post(basic+'/admin/modulecon/modules.htm', {page:page,pagesize:pagesize,filter:filter,pages:pages}, function(data, textStatus, xhr) {
		if(data==null)
			return;
		if(pages>0)
		{
			$('#pagdiv').unbind('page').empty();
			if(data.pages>1)
			{
				$('#pagdiv').bootpag({total:data.pages,maxVisible:10,page:page+1}).on('page',function(event,num){
		  			modules(num-1,pagesize,0,filter);
				});
			}
		}
		window.md.modules.removeAll();
		if(data.items!=null)
		{
			jQuery.each(data.items, function(index, val) {
				var res=ko.mapping.fromJS(val);
				window.md.modules.push(res);	
			});
		}

	},'json');
}