
var kg = {};

//手机号码检测： 是否是1[3584]这两位开头
//手机号码正则
// @param: telnum 为传进需要检测的手机号码
// return: 返回检测的结果
kg.isTelCode = function (telnum) {
	var reg = /^((0\d{2,3}-\d{7,8})|(1[35678]\d{9}))$/;
	return reg.test(telnum);
}

//邮箱检测：是否为一个合法的邮箱
//邮箱正则：
// @param: email 为传进需要检测的邮箱
// return: 返回检测的结果
kg.isEmail = function (email) {
	var reg = /^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
	return reg.test(email);
}

//用户名检测：由5 - 20个字符组成，只能使用数字、字母和下划线组成，且必须以字母开头
// @param: name_str 为传进需要检测的用户名
// return: 返回检测的结果
kg.isLetter = function (name_str) {
	var reg = /^[a-zA-Z][0-9a-zA-Z_]{4,19}$/;
	return reg.test(name_str);
}

//密码检测：由5 - 20个字符组成，只能使用数字、字母和下划线组成，
// @param: pwd_str 为传进需要检测的密码
// return: 返回检测的结果
kg.IsPwd = function (pwd_str) {
	var reg = /^[0-9a-zA-Z_]{5,19}$/;
	return reg.test(pwd_str);
}

// $(function () {
// 	//用于设置左侧导航栏， 被选中的项的背景颜色
// 	var url_str = window.location.href;//获取地址栏URL
// 	$(".ngco-enjs ul").each(function () {
// 		var a_box = $(this).find("a");
// 		var href_str = $(a_box).attr("href");
// 		$(a_box).removeClass('p_AFSelected');
// 		path = url_str.split('/')
// 		if (href_str == path[path.length - 1]) {
// 			$(a_box).addClass('p_AFSelected');
// 			return false;
// 		}
// 	});
// })

//全选/取消全选，对指定表单内的复选框进行全选或取消。例:<input name="all" type="checkbox" onclick="kg.select_all(this.form);">
kg.select_all = function (form) {
	for (var i = 0; i < form.elements.length; i++) {
		var e = form.elements[i];
		if (e.Name != "all" && e.disabled != true && e.type == 'checkbox') {
			e.checked = form.all.checked;
		}
	}
};

// 按比例调整图像大小，获取源图片大小，按比例缩小至指定大小，保证图片缩小不变形。该方法无需Jq支持
// 注意必须加一个外围容器指定同当前图片大小，并隐藏超出部分。img标签中须定义 width 和 height，此方法会自动获取该值
// @param object a：this
// @example：<img onload="mle.img_auto_size(this)" src="{:$p['picture'][1]:}" width="400" height="400" />
kg.img_auto_size = function (a) {
	// alert(a.src + "\r\n" + a.width + "\r\n" + a.height);
	if (!isNaN(a.width) && !isNaN(a.height)) { // 获取缩略图规格成功
		// 获取源图片实际规格
		var img = new Image();
		// img 标签中的 onload 事件不符合 W3C 标准，可能有部分浏览器不支持，
		// 这里使用 img.onload 事件很有必要，确保图片下载完毕以获取源图片实际规格
		img.onload = function () {
			if (!isNaN(img.width) && !isNaN(img.height)) { // 源图片规格获取成功
				var offset = 0; // 多余边缘偏移值初始化，单位：px
				var narrow_w = img.width / a.width; // 宽度需要缩小的倍数
				var narrow_h = img.height / a.height; // 高度需要缩小的倍数
				// 重新调整图片大小并浮动
				if (narrow_w <= narrow_h) {
					// 高度有超出，超出部分上下各隐藏 50%，保持图片中心点
					offset = 0 - Math.round((img.height / narrow_w - a.height) / 2);
					a.style.width = a.width + 'px'; // 固定宽度
					a.style.height = 'auto'; // 自动高度
					if (offset < 0) a.style.marginTop = offset + 'px'; // 高度有超出，超出部分上下各隐藏 50%
				} else {
					// 宽度有超出，超出部分左右各隐藏 50%，保持图片中心点
					offset = 0 - Math.round((img.width / narrow_h - a.width) / 2);
					a.style.width = 'auto'; // 自动宽度
					a.style.height = a.height + 'px'; // 固定高度
					if (offset < 0) a.style.marginLeft = offset + 'px'; // 高度有超出，超出部分上下各隐藏 50%
				}
			}
		}
		img.src = a.src; // 要获取的源图片 URL
	}
};


//裁剪图片上传
function selectImg(file, edit_this) {
	if (!file.files || !file.files[0]) {
		return;
	}
	var file = file.files[0];
	if (file) {
		var reader = new FileReader();
		var formData = new FormData();
		reader.readAsDataURL(file);
		reader.onloadend = function (even) {
			var loading = layer.open({ type: 3, shadeClose: false, icon: 2, }); // 初始化loading
			// 必须项,不可修改
			formData.append("action", "upload");
			// 图片数据'file'为必须的命名不可更改,第二个参数为图片数据
			formData.append("file", file);  // 添加自定义属性(name)
			// formData.append("file", this_[0].files[0]);
			// 图片存放路径,第一个参数'dir'不可更改,第二个为upload文件夹下的文件夹名称,没有的话自动创建
			formData.append("dir", "vote_sys");
			// 图片保存名称,可有,没有则按年月日命名
			// formData.append("filename", "my_file_name");
			$.ajax({
				scriptCharset: 'UTF-8',
				type: 'POST', // 请求方式
				url: '/api/admin_process', // 必须的请求路径
				data: formData, // 参数
				cache: false,
				processData: false,
				contentType: false,
				dataType: 'json', // 数据类型
				success: function (data) {  // 请求成功后的回调函
					// 失败
					if (data.state == "FAILURE") {
						// 打印错误信息
						layer.msg(data.msg, { time: 1000 });
					} else {
						edit_this.parents(".upload-group").find("img.img").attr("origin-url", data.url);
						$('#tailoringImg').cropper('replace', data.url, false); //默认false，适应高度，不失真
					}
				},
				error: function () { // 请求失败后的回调函数
					layer.msg('上传失败', { time: 1000 });
				},
				complete: function () {  // 结束执行
					layer.close(loading); // 关闭loading
				},
			})
		}
	}
}
//关闭裁剪框
function closeTailor() {
	$(".tailoring-container").toggle();
}

$(function () {
	// 初始化
	App.init();
	// 左侧栏跳转样式
	$(".sidebar_ul>.has-sub").each(function () {
		$this = $(this);
		if ($this.children("a")[0].href == String(window.location)) {
			$this.addClass("active");
		}
	});
	// 右侧内容高度小于窗口大小时
	if ($("#content").outerHeight(true) < $(window).height()) {
		$("#content").css({
			"min-height": $(window).height() - $("#header").outerHeight(true),
		})
	}
	// 窗口宽度小于1100时左侧栏不显示
	if($(window).width()<1100){
		$("#main-content").addClass("margin-left-0");
		$.cookie('mini_sidebar',1)
	}else{
		if($.cookie('mini_sidebar')!='1'){
			$("#main-content").removeClass("margin-left-0");
		}
	}
	$(window).resize(function () {
		if ($("#content").outerHeight(true) < $(window).height()) {
			$("#content").css({
				"min-height": $(window).height() - $("#header").outerHeight(true),
			})
		}
		// 拖动时窗口宽度小于1100左侧栏不显示
		if($(window).width()<1100){
			$("#main-content").addClass("margin-left-0");
		}else{
			$("#main-content").removeClass("margin-left-0");
		}
	})
})
